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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbx, qword [r8 + 0x18]
mov r10, qword [r8 + 0x10]
mov r14, r8
mov rbp, rdx
mov r15, rcx
cmp rbx, 8
jb 0x14000cf1a
mov r9, qword [r8]
jmp 0x14000cf1d
mov r9, r8
lea r8, [r10 + r10]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
test r8, r8
je 0x14000cf54
movabs r11, 0x100000001b3
nop dword [rax]
movzx eax, byte [r9 + rdx]
inc rdx
xor rcx, rax
imul rcx, r11
cmp rdx, r8
jb 0x14000cf40
mov rdx, qword [r15 + 0x28]
mov rsi, rcx
or r12, 0xffffffffffffffff
shr rsi, 0x20
xor rsi, rcx
and rsi, rdx
cmp qword [r15 + 0x30], rsi
ja 0x14000cf7b
shr rdx, 1
mov rax, r12
sub rax, rdx
add rsi, rax
mov rax, qword [r15 + 0x10]
mov rdi, qword [r15]
shl rsi, 4
mov r11, qword [rsi + rax]
cmp rdi, r11
je 0x14000d04f
mov rdi, qword [rsi + rax + 8]
mov rdi, qword [rdi]
cmp rdi, r11
je 0x14000d04f
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [rdi + 8]
cmp qword [rdi + 0x28], 8
mov r9, qword [rdi + 0x20]
lea rcx, [rdi + 0x10]
jb 0x14000cfc6
mov rcx, qword [rcx]
cmp rbx, 8
jb 0x14000cfd1
mov rdx, qword [r14]
jmp 0x14000cfd4
mov rdx, r14
cmp r10, r9
mov r8, r9
cmovb r8, r10
test r8, r8
jne 0x14000d006
xor r8d, r8d
movsxd rax, r8d
test r8d, r8d
jne 0x14000cffb
cmp r10, r9
jb 0x14000cfff
xor eax, eax
cmp r10, r9
setne al
test eax, eax
je 0x14000d02a
cmp rdi, r11
jne 0x14000cfb0
jmp 0x14000d04f
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x14000d01b
add rdx, 2
add rcx, 2
dec r8
jmp 0x14000cfe1
cmp word [rdx], ax
mov r8d, 1
cmovb r8d, r12d
jmp 0x14000cfe6
lea rcx, [rdi + 0x10]
mov rdx, r14
call fcn.14000d500
test eax, eax
je 0x14000d03f
mov rdi, qword [rdi]
jmp 0x14000d04f
mov qword [rbp], rdi
mov byte [rbp + 8], 0
mov rax, rbp
jmp 0x14000d135
mov rax, qword [r15]
mov r9, r14
mov rbx, qword [rax]
mov rdx, rbx
mov r8, qword [rbx + 8]
call fcn.14000ef80
movabs rcx, 0x555555555555554
mov rdx, rax
mov rax, qword [r15 + 8]
sub rcx, rax
cmp rcx, 1
jae 0x14000d08c
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rax
mov qword [r15 + 8], rax
mov qword [rbx + 8], rdx
mov rax, qword [rdx + 8]
mov qword [rax], rdx
mov rbx, qword [r15]
mov rbx, qword [rbx]
mov rax, qword [rbx]
cmp rdi, rax
je 0x14000d0d9
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rdi
mov rcx, qword [rdi + 8]
mov qword [rcx], rbx
mov rcx, qword [rax + 8]
mov rdx, qword [rdi + 8]
mov qword [rdi + 8], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov qword [rbx + 8], rdx
mov rdx, qword [r15 + 0x10]
add rdx, rsi
mov rax, qword [rdx]
cmp rax, qword [r15]
jne 0x14000d0f6
mov qword [rdx], rbx
mov rax, qword [r15 + 0x10]
mov qword [rsi + rax + 8], rbx
jmp 0x14000d122
cmp rax, rdi
jne 0x14000d100
mov qword [rdx], rbx
jmp 0x14000d122
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rbx
je 0x14000d122
mov rdx, qword [r15 + 0x10]
mov rax, qword [rdx + rsi + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rsi + 8], rcx
mov rcx, r15
call fcn.14000d600
mov qword [rbp], rbx
mov byte [rbp + 8], 1
mov rax, rbp
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret