Function at 0x18000ac20
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
mov eax, 0x30
call fcn.18002da60
sub rsp, rax
mov r9d, dword [rcx + 0x30]
mov r8, qword [rdx]
mov r10, qword [rcx + 0x40]
mov rbx, rdx
mov r12, rcx
test r9d, r9d
je 0x18000ad20
movzx ecx, r8b
mov rdi, r8
xor ecx, 0x811c9dc5
shr rdi, 8
movzx eax, dil
shr rdi, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, dil
shr rdi, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, dil
shr rdi, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, dil
shr rdi, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, dil
shr rdi, 8
imul ecx, ecx, 0x1000193
xor eax, ecx
movzx ecx, dil
shr rdi, 8
movzx edx, dil
shr rdi, 8
imul eax, eax, 0x1000193
xor ecx, eax
movzx eax, dil
imul ecx, ecx, 0x1000193
xor edx, ecx
imul edx, edx, 0x1000193
xor eax, edx
xor edx, edx
imul eax, eax, 0x1000193
div r9d
mov rax, qword [r10 + rdx*8]
lea rdx, [r10 + rdx*8]
test rax, rax
je 0x18000ad11
nop dword [rax]
cmp qword [rax + 8], r8
je 0x18000ad11
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000ad00
test rdx, rdx
je 0x18000ad20
cmp qword [rdx], 0
jne 0x18000adf8
mov rbp, qword [rbx + 0x10]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasb al, byte [rdi]
not rcx
lea rdi, [rcx - 1]
call fcn.18000bdb0
mov rsi, rax
test rax, rax
je 0x18000aebe
lea r8, [rdi + 1]
mov rdx, rbp
mov rcx, rax
call fcn.18003e890
mov ecx, 0x10
call fcn.18000bdb0
xor ebp, ebp
mov rdi, rax
test rax, rax
je 0x18000ad76
mov qword [rax], rsi
mov dword [rax + 8], 1
jmp 0x18000ad79
mov rdi, rbp
test rdi, rdi
je 0x18000ad9b
inc dword [rdi + 8]
test rdi, rdi
je 0x18000ad9b
dec dword [rdi + 8]
jne 0x18000ad9b
mov rcx, qword [rdi]
call fcn.18000be10
mov rcx, rdi
call fcn.18000be10
mov edx, dword [r12 + 0xb8]
mov rcx, qword [r12 + 0xc8]
lea r8, [rsp + 0x70]
xor r9d, r9d
call fcn.180007430
test rax, rax
je 0x18000adc0
mov rbp, qword [rax]
mov rsi, qword [rbp + 0x10]
mov r8, qword [rbx + 8]
lea rcx, [rsp + 0x60]
mov rdx, qword [rsi + 8]
call qword [0x1800b4420]
cmp eax, 0x1f4
jne 0x18000ae0b
test rdi, rdi
je 0x18000adf8
dec dword [rdi + 8]
jne 0x18000adf8
mov rcx, qword [rdi]
call fcn.18000be10
mov rcx, rdi
call fcn.18000be10
xor eax, eax
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test eax, eax
je 0x18000ae45
mov ecx, eax
call fcn.1800028d0
mov ebx, eax
test rdi, rdi
je 0x18000ae32
dec dword [rdi + 8]
jne 0x18000ae32
mov rcx, qword [rdi]
call fcn.18000be10
mov rcx, rdi
call fcn.18000be10
mov eax, ebx
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x18
call fcn.18000bdb0
test rax, rax
je 0x18000aea4
mov edx, dword [rbx + 0x18]
mov r9, qword [rbx + 0x10]
mov r8, qword [rsp + 0x60]
mov dword [rax], edx
mov qword [rax + 8], r8
mov qword [rax + 0x10], r9
mov rdx, qword [rbx]
lea rcx, [r12 + 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x20]
call fcn.18000a9b0
lea rcx, [rsi + 0x10]
xor r8d, r8d
mov rdx, rbx
call fcn.1800097d0
mov ebx, eax
test eax, eax
je 0x18000adde
jmp 0x18000ae18
test rdi, rdi
je 0x18000aebe
dec dword [rdi + 8]
jne 0x18000aebe
mov rcx, qword [rdi]
call fcn.18000be10
mov rcx, rdi
call fcn.18000be10
mov eax, 2
mov rbx, qword [rsp + 0x68]
add rsp, 0x30
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret