Function at 0x18006f230
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov r11, rsp
push rbp
push rsi
push r14
lea rbp, [r11 - 0x5f]
sub rsp, 0xe0
mov rax, qword [0x180141040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rdx
mov r14, rcx
test rdx, rdx
je 0x18006f6b1
cmp rcx, rdx
je 0x18006f6b1
mov rax, qword [0x180141ef8]
mov qword [r11 + 8], rbx
cmp dword [rax + 0x40], 6
jne 0x18006f687
mov rax, qword [0x180141ee0]
cmp dword [rax + 0x40], 0
jne 0x18006f687
mov rax, qword gs:[0x58]
movabs rbx, 0xcbf29ce484222325
mov ecx, dword [0x180141ae8]
mov qword [r11 + 0x10], rdi
xor edi, edi
mov qword [r11 + 0x18], r12
mov qword [r11 - 0x20], r13
movabs r13, 0x100000001b3
mov r12, qword [rax + rcx*8]
mov eax, dword [0x180142444]
mov edx, 4
add r12, rdx
mov qword [r11 - 0x28], r15
movabs r15, 0xd2f5b95e230585a2
cmp eax, dword [r12]
jle 0x18006f482
lea rcx, [0x180142444]
call fcn.1800d7590
mov eax, dword [0x180142444]
cmp eax, 0xffffffff
jne 0x18006f482
movabs rax, 0xb9765e3f33dd1c56
lea rdx, [rbp - 0x69]
mov qword [rbp - 0x79], rax
mov rcx, rbx
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x69], rax
movabs rax, 0x852e856da433032b
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x61], rax
movabs rax, 0xb9ee2250c28ef244
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x59], rax
movabs rax, 0x1981363e865b19bd
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x51], rax
movabs rax, 0x69a8e8e38f69981c
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x79], r15
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x41], rax
movabs rax, 0xc017326f609e4315
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 9], rax
movabs rax, 0xe46ceb1ac563714e
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 1], rax
movabs rax, 0xea807d3dfca39737
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp + 7], rax
movabs rax, 0x4ded5748ef2d6bc8
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp + 0xf], rax
movabs rax, 0x69a8e8e38f04f979
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x79], r15
mov rax, qword [rbp - 0x79]
vmovdqu xmm0, xmmword [rbp - 0x69]
vpxor xmm3, xmm0, xmmword [rbp - 9]
vmovdqu xmm0, xmmword [rbp - 0x59]
vmovdqu xmm2, xmmword [rbp - 0x49]
vpxor xmm1, xmm0, xmmword [rbp + 7]
mov qword [rbp + 0x1f], rax
vpxor xmm0, xmm2, xmmword [rbp + 0x17]
vmovq rax, xmm3
vmovdqu xmmword [rbp - 0x49], xmm0
vmovdqu xmmword [rbp - 0x69], xmm3
vmovdqu xmmword [rbp - 0x59], xmm1
test al, al
je 0x18006f43d
inc rdx
cmp byte [rdx], dil
jne 0x18006f435
lea rax, [rbp - 0x69]
mov r8, rdi
sub rdx, rax
je 0x18006f465
nop dword [rax]
movsx rax, byte [rbp + r8 - 0x69]
inc r8
xor rcx, rax
imul rcx, r13
cmp r8, rdx
jb 0x18006f450
call fcn.18006e5c0
lea rcx, [0x180142444]
mov dword [0x180142448], eax
call fcn.1800d7524
mov eax, dword [0x180142444]
cmp eax, dword [r12]
mov r12, qword [rsp + 0x110]
mov r15d, dword [0x180142448]
jle 0x18006f63f
lea rcx, [0x180142444]
call fcn.1800d7590
cmp dword [0x180142444], 0xffffffff
jne 0x18006f63f
movabs rax, 0xb9765e3f33dd1c56
movabs rcx, 0xd2f5b95e230585a2
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x39], rax
movabs rax, 0x852e856da433032b
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x31], rax
movabs rax, 0xb9ee2250c28ef244
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x29], rax
movabs rax, 0x1981363e865b19bd
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x21], rax
movabs rax, 0x69a8e8e38f69981c
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x79], rcx
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x11], rax
movabs rax, 0xc017326f609e4315
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 9], rax
movabs rax, 0xe46ceb1ac563714e
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 1], rax
movabs rax, 0xea807d3dfca39737
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp + 7], rax
movabs rax, 0x4ded5748ef2d6bc8
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp + 0xf], rax
movabs rax, 0x69a8e8e38f04f979
mov qword [rbp - 0x79], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x79], rcx
mov rax, qword [rbp - 0x79]
vmovdqu xmm0, xmmword [rbp - 0x39]
vpxor xmm3, xmm0, xmmword [rbp - 9]
vmovdqu xmm0, xmmword [rbp - 0x29]
vmovdqu xmm2, xmmword [rbp - 0x19]
vpxor xmm1, xmm0, xmmword [rbp + 7]
mov qword [rbp + 0x1f], rax
lea rax, [rbp - 0x39]
vpxor xmm0, xmm2, xmmword [rbp + 0x17]
vmovq rcx, xmm3
vmovdqu xmmword [rbp - 0x19], xmm0
vmovdqu xmmword [rbp - 0x39], xmm3
vmovdqu xmmword [rbp - 0x29], xmm1
test cl, cl
je 0x18006f5f8
nop dword [rax]
inc rax
cmp byte [rax], dil
jne 0x18006f5f0
lea rcx, [rbp - 0x39]
sub rax, rcx
je 0x18006f625
nop dword [rax]
nop word [rax + rax]
movsx rdx, byte [rbp + rdi - 0x39]
inc rdi
xor rbx, rdx
imul rbx, r13
cmp rdi, rax
jb 0x18006f610
mov rcx, rbx
call fcn.18006e5c0
lea rcx, [0x180142444]
mov dword [0x180142448], eax
call fcn.1800d7524
mov eax, dword [0x180142448]
mov r13, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x108]
mov ecx, dword [rax + rsi]
cmp dword [r15 + r14], ecx
mov r15, qword [rsp + 0xd0]
setne al
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1800d7380
add rsp, 0xe0
pop r14
pop rsi
pop rbp
ret
mov rax, qword [0x180141f00]
cmp byte [rax + 0x40], 0
je 0x18006f698
mov al, 1
jmp 0x18006f667
mov rcx, rsi
call fcn.18006f6c0
mov rcx, r14
mov ebx, eax
call fcn.18006f6c0
cmp eax, ebx
setne al
jmp 0x18006f667
xor al, al
jmp 0x18006f66f