Function at 0x14000daa0
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], r9
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r12, qword [r8 + 0x18]
mov r11, qword [r8 + 0x10]
mov rdi, r9
mov r10, r8
mov r15, rdx
mov r14, rcx
cmp r12, 8
jb 0x14000dae0
mov r9, qword [r8]
jmp 0x14000dae3
mov r9, r8
lea r8, [r11 + r11]
xor edx, edx
movabs rcx, 0xcbf29ce484222325
test r8, r8
je 0x14000db24
movabs rbx, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + r9]
inc rdx
xor rcx, rax
imul rcx, rbx
cmp rdx, r8
jb 0x14000db10
mov rdx, qword [r14 + 0x28]
mov rsi, rcx
or r13, 0xffffffffffffffff
shr rsi, 0x20
xor rsi, rcx
and rsi, rdx
cmp qword [r14 + 0x30], rsi
ja 0x14000db4b
shr rdx, 1
mov rax, r13
sub rax, rdx
add rsi, rax
mov rax, qword [r14 + 0x10]
mov rbx, qword [r14]
shl rsi, 4
mov rbp, qword [rsi + rax]
cmp rbx, rbp
je 0x14000dc4f
mov rbx, qword [rsi + rax + 8]
mov rbx, qword [rbx]
cmp rbx, rbp
je 0x14000dc4f
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rbx + 8]
cmp qword [rbx + 0x28], 8
mov r9, qword [rbx + 0x20]
lea rcx, [rbx + 0x10]
jb 0x14000db96
mov rcx, qword [rcx]
cmp r12, 8
jb 0x14000dba1
mov rdx, qword [r10]
jmp 0x14000dba4
mov rdx, r10
cmp r11, r9
mov r8, r9
cmovb r8, r11
test r8, r8
jne 0x14000dbd6
xor r8d, r8d
movsxd rax, r8d
test r8d, r8d
jne 0x14000dbcb
cmp r11, r9
jb 0x14000dbcf
xor eax, eax
cmp r11, r9
setne al
test eax, eax
je 0x14000dbfa
cmp rbx, rbp
jne 0x14000db80
jmp 0x14000dc4f
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x14000dbeb
add rdx, 2
add rcx, 2
dec r8
jmp 0x14000dbb1
cmp word [rdx], ax
mov r8d, 1
cmovb r8d, r13d
jmp 0x14000dbb6
lea rcx, [rbx + 0x10]
mov rdx, r10
call fcn.14000d500
mov rdi, qword [rsp + 0x68]
test eax, eax
je 0x14000dc14
mov rbx, qword [rbx]
jmp 0x14000dc4f
mov rdx, qword [rdi + 8]
mov rax, qword [rdi]
lea rcx, [rdi + 0x10]
mov qword [rdx], rax
mov rdx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rdx + 8], rax
dec qword [r14 + 8]
call fcn.14000ebf0
mov rcx, rdi
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [r15], rbx
mov byte [r15 + 8], 0
mov rax, r15
jmp 0x14000dce0
mov rax, qword [rdi]
cmp rbx, rax
je 0x14000dc84
mov rcx, qword [rdi + 8]
mov qword [rcx], rax
mov rcx, qword [rax + 8]
mov qword [rcx], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov rcx, qword [rax + 8]
mov rdx, qword [rbx + 8]
mov qword [rbx + 8], rcx
mov rcx, qword [rdi + 8]
mov qword [rax + 8], rcx
mov qword [rdi + 8], rdx
mov rdx, qword [r14 + 0x10]
add rdx, rsi
mov rax, qword [rdx]
cmp rax, qword [r14]
jne 0x14000dca1
mov qword [rdx], rdi
mov rax, qword [r14 + 0x10]
mov qword [rsi + rax + 8], rdi
jmp 0x14000dccd
cmp rax, rbx
jne 0x14000dcab
mov qword [rdx], rdi
jmp 0x14000dccd
mov rax, qword [rdx + 8]
mov rcx, qword [rax]
mov qword [rdx + 8], rcx
cmp rcx, rdi
je 0x14000dccd
mov rdx, qword [r14 + 0x10]
mov rax, qword [rdx + rsi + 8]
mov rcx, qword [rax + 8]
mov qword [rdx + rsi + 8], rcx
mov rcx, r14
call fcn.14000e4e0
mov qword [r15], rdi
mov byte [r15 + 8], 1
mov rax, r15
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret