Function at 0x14000cc50
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rdi
mov eax, 0x30
call fcn.1401bb880
sub rsp, rax
cmp byte [rdx + 0x32], 0
mov rbx, rdx
mov r10, rcx
je 0x14000cc77
mov r9, qword [rdx + 8]
jmp 0x14000cc7a
mov r9, qword [rdx]
mov r11d, dword [rcx + 0x18]
mov rdi, qword [rcx + 0x28]
lea rbp, [rcx + 0x18]
mov qword [rsp + 0x58], rsi
test r11d, r11d
je 0x14000cd96
movzx ecx, r9b
mov r8, r9
xor ecx, 0x811c9dc5
shr r8, 8
movzx eax, r8b
shr r8, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, r8b
shr r8, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, r8b
shr r8, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, r8b
shr r8, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, r8b
shr r8, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, r8b
shr r8, 8
movzx edx, r8b
shr r8, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, r8b
imul ecx, ecx, 0x1000193
xor edx, ecx
imul edx, edx, 0x1000193
xor eax, edx
xor edx, edx
imul eax, eax, 0x1000193
div r11d
mov rax, qword [rdi + rdx*8]
lea rdx, [rdi + rdx*8]
test rax, rax
je 0x14000cd51
nop dword [rax]
cmp qword [rax + 8], r9
je 0x14000cd51
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x14000cd40
test rdx, rdx
je 0x14000cd96
mov rax, qword [rdx]
test rax, rax
je 0x14000cd96
mov rax, qword [rax + 0x10]
cmp byte [rax], 0
je 0x14000cd83
cmp byte [rbx + 0x20], 0
je 0x14000cd83
mov edx, 1
mov byte [rax], dl
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret
xor edx, edx
mov byte [rax], dl
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret
mov edx, dword [r10 + 0xb8]
mov rcx, qword [r10 + 0xc8]
lea r8, [rsp + 0x60]
xor r9d, r9d
call fcn.14000b0e0
test rax, rax
jne 0x14000cdba
xor edi, edi
jmp 0x14000cdbd
mov rdi, qword [rax]
mov rdi, qword [rdi + 0x10]
mov r9, qword [rbx + 0x10]
lea rcx, [rsp + 0x50]
mov r8, qword [rdi + 8]
xor edx, edx
call qword [0x1402d2b30]
cmp eax, 0x1f4
je 0x14000cf81
test eax, eax
je 0x14000cdf9
mov ecx, eax
call fcn.1400036f0
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret
cmp byte [rbx + 0x32], 0
mov rsi, qword [rbx]
je 0x14000ce15
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rax, qword [rbx + 8]
mov rsi, qword [rax]
mov ecx, 0x20
call fcn.14000db20
test rax, rax
je 0x14000cf90
movzx edx, byte [rbx + 0x20]
mov r10, qword [rbx + 0x18]
mov r9, qword [rdi + 8]
mov r8, qword [rsp + 0x50]
mov byte [rax], dl
lea rdx, [rsp + 0x20]
mov rcx, rbp
mov qword [rax + 0x10], r9
mov qword [rax + 0x18], r10
mov qword [rax + 8], r8
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rax
call fcn.14000c650
mov r8d, dword [rdi + 0x28]
test r8d, r8d
jne 0x14000ce81
lea edx, [r8 + 1]
lea rcx, [rdi + 0x28]
call fcn.14000a720
mov r8d, dword [rdi + 0x28]
test r8d, r8d
je 0x14000cf90
mov r9, qword [rdi + 0x38]
test r8d, r8d
jne 0x14000ce95
mov ebp, dword [rsp + 0x50]
xor ebx, ebx
jmp 0x14000cf45
movzx ecx, sil
mov rdx, rsi
xor ecx, 0x811c9dc5
shr rdx, 8
movzx eax, dl
shr rdx, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, dl
shr rdx, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, dl
shr rdx, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, dl
shr rdx, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, dl
shr rdx, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, dl
shr rdx, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, dl
shr rdx, 8
movzx ebp, dl
xor edx, edx
imul ecx, ecx, 0x1000193
xor eax, ecx
imul eax, eax, 0x1000193
xor ebp, eax
imul ebp, ebp, 0x1000193
mov eax, ebp
div r8d
mov rax, qword [r9 + rdx*8]
lea rbx, [r9 + rdx*8]
test rax, rax
je 0x14000cf45
cmp qword [rax + 8], rsi
je 0x14000cf45
mov rbx, rax
mov rax, qword [rax]
test rax, rax
jne 0x14000cf34
cmp qword [rbx], 0
jne 0x14000cf81
mov ecx, 0x18
call fcn.14000db20
test rax, rax
je 0x14000cf68
mov qword [rax], 0
mov qword [rax + 8], rsi
mov dword [rax + 0x10], ebp
mov qword [rbx], rax
test rax, rax
je 0x14000cf90
inc qword [rdi + 0x30]
mov rdx, qword [rdi + 0x30]
lea rcx, [rdi + 0x28]
call fcn.14000a720
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret
mov eax, 2
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret