Function at 0x14000cc40
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 rbp, qword [r8 + 0x18]
mov r10, qword [r8 + 0x10]
mov r14, r8
mov r15, rdx
cmp rbp, 8
jb 0x14000cc77
mov r9, qword [r8]
jmp 0x14000cc7a
mov r9, r8
lea r8, [r10 + r10]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
test r8, r8
je 0x14000ccb4
movabs r11, 0x100000001b3
nop dword [rax]
movzx eax, byte [r9 + rdx]
inc rdx
xor rcx, rax
imul rcx, r11
cmp rdx, r8
jb 0x14000cca0
mov rsi, rcx
or r12, 0xffffffffffffffff
shr rsi, 0x20
xor rsi, rcx
mov rcx, qword [0x140195ef8]
and rsi, rcx
cmp qword [0x140195f00], rsi
ja 0x14000cce1
shr rcx, 1
mov rax, r12
sub rax, rcx
add rsi, rax
mov r11, qword [0x140195ee0]
mov rbx, qword [0x140195ed0]
shl rsi, 4
mov rax, qword [rsi + r11]
cmp rax, rbx
jne 0x14000cd01
mov rdi, rbx
jmp 0x14000cd09
mov rdi, qword [rsi + r11 + 8]
mov rdi, qword [rdi]
cmp rdi, rax
je 0x14000cdc0
mov rdi, qword [rdi + 8]
cmp qword [rdi + 0x28], 8
mov r9, qword [rdi + 0x20]
lea rcx, [rdi + 0x10]
jb 0x14000cd28
mov rcx, qword [rcx]
cmp rbp, 8
jb 0x14000cd33
mov rdx, qword [r14]
jmp 0x14000cd36
mov rdx, r14
cmp r10, r9
mov r8, r9
cmovb r8, r10
test r8, r8
jne 0x14000cd70
xor r8d, r8d
movsxd rax, r8d
test r8d, r8d
jne 0x14000cd5d
cmp r10, r9
jb 0x14000cd61
xor eax, eax
cmp r10, r9
setne al
test eax, eax
je 0x14000cd94
cmp rdi, qword [rsi + r11]
jne 0x14000cd12
jmp 0x14000cdc0
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x14000cd85
add rdx, 2
add rcx, 2
dec r8
jmp 0x14000cd43
cmp word [rdx], ax
mov r8d, 1
cmovb r8d, r12d
jmp 0x14000cd48
lea rcx, [rdi + 0x10]
mov rdx, r14
call fcn.14000d500
test eax, eax
je 0x14000cdb0
mov rdi, qword [rdi]
mov rbx, qword [0x140195ed0]
jmp 0x14000cdc0
mov qword [r15], rdi
mov byte [r15 + 8], 0
mov rax, r15
jmp 0x14000cec1
mov rbx, qword [rbx]
mov r9, r14
mov r8, qword [rbx + 8]
mov rdx, rbx
call fcn.14000eee0
mov rdx, qword [0x140195ed8]
movabs rcx, 0x555555555555554
sub rcx, rdx
mov r8, rax
cmp rcx, 1
jae 0x14000cdfd
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rdx
mov qword [0x140195ed8], rdx
mov qword [rbx + 8], rax
mov rax, qword [rax + 8]
mov qword [rax], r8
mov rcx, qword [0x140195ed0]
mov rbx, qword [rcx]
mov rax, qword [rbx]
cmp rdi, rax
je 0x14000ce58
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 rcx, qword [0x140195ed0]
mov rdx, qword [0x140195ee0]
add rdx, rsi
mov rax, qword [rdx]
cmp rax, rcx
jne 0x14000ce7b
mov qword [rdx], rbx
mov rax, qword [0x140195ee0]
mov qword [rsi + rax + 8], rbx
jmp 0x14000ceaa
cmp rax, rdi
jne 0x14000ce85
mov qword [rdx], rbx
jmp 0x14000ceaa
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rbx
je 0x14000ceaa
mov rdx, qword [0x140195ee0]
mov rax, qword [rdx + rsi + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rsi + 8], rcx
lea rcx, [0x140195ed0]
call fcn.14000d600
mov qword [r15], rbx
mov byte [r15 + 8], 1
mov rax, r15
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