Function at 0x18006e000
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x40
call fcn.1800697b0
mov rdx, qword [0x180114f28]
mov rdi, rax
cmp rax, rdx
jbe 0x18006e02d
add rdx, qword [0x180114f30]
cmp rax, rdx
jb 0x18006e050
lea rcx, [rax - 0x10000]
movabs rax, 0x7ffffffdfffe
cmp rcx, rax
jbe 0x18006e050
xor al, al
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop rbp
ret
movabs rax, 0x8f744030b2b86575
mov qword [rsp + 0x50], rbx
mov qword [rbp - 0x20], rax
mov rcx, rdi
mov qword [rsp + 0x58], rsi
movabs rax, 0x6f9a1c3ef605a387
mov qword [rbp - 0x18], rax
movabs rsi, 0x6f9a1c3e986ad3e6
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rsp + 0x60], r14
movabs r14, 0xea232e47ddca0d21
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], rsi
pxor xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x20], xmm0
call fcn.18005f040
mov ebx, 0x84222325
mov r9d, ebx
movzx ecx, byte [rax]
test cl, cl
je 0x18006e0d8
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, r9d
imul r9d, ecx, 0x1b3
movzx ecx, byte [rax]
test cl, cl
jne 0x18006e0c0
mov r8, qword [rbp - 0x20]
lea rcx, [rbp - 0x20]
mov edx, ebx
test r8b, r8b
je 0x18006e10b
nop word [rax + rax]
movsx eax, r8b
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x18006e0f0
cmp r9d, edx
je 0x18006e28a
movabs rax, 0x8f4f4b0ab8b96c63
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x20], rax
mov rcx, rdi
movabs rax, 0x6f9a1c3e986ad383
mov qword [rbp - 8], rsi
mov qword [rbp - 0x18], rax
movdqa xmm0, xmmword [rbp - 0x20]
pxor xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x20], xmm0
call fcn.18005f040
mov r9d, ebx
movzx ecx, byte [rax]
test cl, cl
je 0x18006e178
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, r9d
imul r9d, ecx, 0x1b3
movzx ecx, byte [rax]
test cl, cl
jne 0x18006e160
mov r8, qword [rbp - 0x20]
lea rcx, [rbp - 0x20]
mov edx, ebx
test r8b, r8b
je 0x18006e1ab
nop word [rax + rax]
movsx eax, r8b
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1b3
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x18006e190
cmp r9d, edx
je 0x18006e28a
movabs rax, 0x874e4f2fb6a96c6b
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x20], rax
mov rcx, rdi
movabs rax, 0x6f9a1c3e986aa183
mov qword [rbp - 8], rsi
mov qword [rbp - 0x18], rax
movdqa xmm0, xmmword [rbp - 0x20]
pxor xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x20], xmm0
call fcn.18005f040
mov r8d, ebx
movzx ecx, byte [rax]
test cl, cl
je 0x18006e218
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, r8d
imul r8d, ecx, 0x1b3
movzx ecx, byte [rax]
test cl, cl
jne 0x18006e200
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp - 0x20]
test dl, dl
je 0x18006e249
nop dword [rax]
nop dword [rax + rax]
movsx eax, dl
lea rcx, [rcx + 1]
xor eax, ebx
imul ebx, eax, 0x1b3
movzx eax, byte [rcx]
movzx edx, al
test al, al
jne 0x18006e230
cmp r8d, ebx
je 0x18006e28a
mov qword [rbp - 0x18], rsi
lea rdx, [rbp - 0x20]
movabs rax, 0xea234b2bb9ae6c71
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x20], rax
mov rcx, rdi
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rbp - 8], rsi
pxor xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x20], xmm0
call fcn.18006dc90
test al, al
setne al
jmp 0x18006e28c
mov al, 1
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop rbp
ret