Function at 0x18006f640
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r15
mov rbp, rsp
sub rsp, 0x60
movabs rax, 0x8f4f4b0ab8b96c63
movabs r15, 0xea232e47ddca0d21
mov qword [rbp - 0x40], rax
movabs r12, 0x6f9a1c3e986ad3e6
movabs rax, 0x6f9a1c3e986ad383
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x38], rax
mov rdi, rcx
movdqa xmm0, xmmword [rbp - 0x40]
mov qword [rbp - 0x18], r12
pxor xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.18005f040
mov ebx, 0x84222325
mov r9d, ebx
movzx ecx, byte [rax]
test cl, cl
je 0x18006f6cc
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, r9d
imul r9d, ecx, 0x1b3
movzx ecx, byte [rax]
test cl, cl
jne 0x18006f6b4
mov r8, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
mov edx, ebx
test r8b, r8b
je 0x18006f6fb
nop dword [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 0x18006f6e0
cmp r9d, edx
je 0x18006fa71
movabs rax, 0x8f744030b2b86575
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x40], rax
mov rcx, rdi
movabs rax, 0x6f9a1c3ef605a387
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x38], rax
movdqa xmm0, xmmword [rbp - 0x40]
pxor xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.18005f040
mov r9d, ebx
movzx ecx, byte [rax]
test cl, cl
je 0x18006f768
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 0x18006f750
mov r8, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
mov edx, ebx
test r8b, r8b
je 0x18006f79b
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 0x18006f780
cmp r9d, edx
je 0x18006fa71
movabs rax, 0x8b46792fbeb86275
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
movabs rax, 0x6f9a1c3e9804bc96
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x38], rax
mov rcx, rdi
movdqa xmm0, xmmword [rbp - 0x40]
pxor xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.18006dc90
test al, al
jne 0x18006fa71
mov rcx, rdi
call fcn.1800697b0
mov rdi, rax
mov rax, qword [0x180114f28]
cmp rdi, rax
jbe 0x18006f811
mov rdx, qword [0x180114f30]
add rdx, rax
cmp rdi, rdx
jb 0x18006f82b
lea rcx, [rdi - 0x10000]
movabs rax, 0x7ffffffdfffe
cmp rcx, rax
ja 0x18006fa71
movabs rax, 0x804c5c17b8b96c63
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x40], rax
mov rcx, rdi
movabs rax, 0x6f9a7952f11eb083
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x38], rax
movdqa xmm0, xmmword [rbp - 0x40]
pxor xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.18005f040
mov r8d, ebx
movzx ecx, byte [rax]
test cl, cl
je 0x18006f888
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, r8d
imul r8d, ecx, 0x1b3
movzx ecx, byte [rax]
test cl, cl
jne 0x18006f870
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x40]
test dl, dl
je 0x18006f8b9
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 0x18006f8a0
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], r14
cmp r8d, ebx
je 0x18006fa6d
movabs rax, 0x85534f228abd6263
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
movabs rax, 0x6f9a1c3e986ad388
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x38], rax
mov rcx, rdi
movdqa xmm0, xmmword [rbp - 0x40]
pxor xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.18006dc90
test al, al
jne 0x18006fa6d
movabs rax, 0x8e4d5b28ada76262
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x20]
movabs rax, 0xea7d5bcf1dbca4
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x18], rax
movabs rbx, 0x8943ea386c0cfc88
movdqa xmm0, xmmword [rbp - 0x20]
movabs rsi, 0x1c2ee3a18235df95
pxor xmm0, xmmword [rbp - 0x40]
movabs r14, 0x1c2ee3a18235dffb
mov qword [rbp - 0x10], rsi
mov rcx, rdi
mov qword [rbp - 8], rbx
movdqa xmm1, xmmword [rbp - 0x10]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], rbx
pxor xmm1, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x10], xmm1
call fcn.18006dc90
test al, al
jne 0x18006fa6d
movabs rax, 0x9d4c4c34aea57f62
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
movabs rax, 0x6f9a7251e80bb6b1
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x38], rax
mov rcx, rdi
movdqa xmm0, xmmword [rbp - 0x40]
pxor xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x40], xmm0
call fcn.18006dc90
test al, al
jne 0x18006fa6d
mov qword [rbp - 0x10], rsi
lea rdx, [rbp - 0x20]
mov qword [rbp - 8], rbx
movabs rax, 0x98577d33b3a36167
movdqa xmm1, xmmword [rbp - 0x10]
mov rcx, rdi
mov qword [rbp - 0x20], rax
movabs rax, 0xea7d5bcf0fb88f
mov qword [rbp - 0x18], rax
movdqa xmm0, xmmword [rbp - 0x20]
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], r12
pxor xmm0, xmmword [rbp - 0x40]
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], rbx
pxor xmm1, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x10], xmm1
call fcn.18006dc90
test al, al
setne al
mov rsi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r12
pop rbp
ret
mov al, 1
jmp 0x18006fa47
xor al, al
jmp 0x18006fa57