Function at 0x18000d160
Capabilities:
Hash data using fnv

Disassembly:
push r12
push r13
push r14
mov eax, 0x40
call fcn.180060d60
sub rsp, rax
xor r14d, r14d
mov r12, rcx
mov r8, rcx
mov qword [rdx], r14
mov rax, qword [rcx]
mov r13, rdx
lea rcx, [rsp + 0x68]
xor edx, edx
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x60], r14d
call qword [rax + 0x10]
test eax, eax
jne 0x18000d1b8
mov rax, qword [rsp + 0x68]
mov qword [r13], rax
xor eax, eax
add rsp, 0x40
pop r14
pop r13
pop r12
ret
lea rcx, [rsp + 0x70]
call qword [0x1800864e0]
test eax, eax
je 0x18000d1d9
mov ecx, eax
call fcn.180002560
add rsp, 0x40
pop r14
pop r13
pop r12
ret
lea rcx, [rsp + 0x60]
call qword [0x180086510]
test eax, eax
jne 0x18000d1c7
call fcn.1800074e0
mov r8d, dword [rsp + 0x60]
lea rdx, [rsp + 0x78]
mov rcx, qword [rax + 0x28]
call fcn.1800067f0
test eax, eax
jne 0x18000d2cf
mov ecx, 0xf8
call fcn.18000b800
test rax, rax
je 0x18000d485
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov rcx, rax
call fcn.180009170
mov r8, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x18000d485
mov rcx, qword [r12 + 0x20]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbp
mov rbx, qword [rcx + 0x10]
mov ecx, dword [rcx]
mov qword [rsp + 0x28], rsi
lea rsi, [rbx + rcx*8]
mov qword [rsp + 0x20], rdi
mov rdi, r14
cmp rbx, rsi
je 0x18000d2e0
nop dword [rax]
cmp qword [rbx], rdi
jne 0x18000d2da
add rbx, 8
cmp rbx, rsi
jne 0x18000d270
mov rax, qword [r12]
lea r9, [0x18000d110]
mov rdx, r12
xor ecx, ecx
call qword [rax]
mov edi, eax
test eax, eax
je 0x18000d336
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x18000d2b4
mov rcx, rbx
call fcn.180008fc0
mov rcx, rbx
call fcn.18000b860
mov ecx, edi
call fcn.180002560
mov rsi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
add rsp, 0x40
pop r14
pop r13
pop r12
ret
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x18000d27e
mov rdx, qword [rdi + 0x10]
mov rcx, r8
call fcn.180009fd0
mov ebp, eax
test eax, eax
jne 0x18000d318
mov rdi, qword [rdi]
test rdi, rdi
jne 0x18000d311
nop
add rbx, 8
cmp rbx, rsi
je 0x18000d311
mov rdi, qword [rbx]
test rdi, rdi
je 0x18000d300
mov r8, qword [rsp + 0x68]
jmp 0x18000d2e0
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x18000d332
mov rcx, rbx
call fcn.180008fc0
mov rcx, rbx
call fcn.18000b860
mov eax, ebp
jmp 0x18000d2bb
mov r9d, dword [r12 + 8]
test r9d, r9d
jne 0x18000d35c
lea edx, [r9 + 1]
lea rcx, [r12 + 8]
call fcn.18000c820
mov r9d, dword [r12 + 8]
test r9d, r9d
je 0x18000d47b
mov r10, qword [r12 + 0x18]
mov r8, qword [rsp + 0x68]
test r9d, r9d
jne 0x18000d377
mov esi, dword [rsp + 0x60]
mov rbx, r14
jmp 0x18000d427
movzx ecx, r8b
mov rdx, r8
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 esi, dl
xor edx, edx
imul ecx, ecx, 0x1000193
xor eax, ecx
imul eax, eax, 0x1000193
xor esi, eax
imul esi, esi, 0x1000193
mov eax, esi
div r9d
mov rax, qword [r10 + rdx*8]
lea rbx, [r10 + rdx*8]
test rax, rax
je 0x18000d427
cmp qword [rax + 8], r8
je 0x18000d427
mov rbx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000d416
cmp qword [rbx], r14
jne 0x18000d470
mov ecx, 0x18
call fcn.18000b800
test rax, rax
je 0x18000d44c
mov qword [rax], r14
mov rcx, qword [rsp + 0x68]
mov dword [rax + 0x10], esi
mov qword [rax + 8], rcx
jmp 0x18000d44f
mov rax, r14
mov qword [rbx], rax
test rax, rax
je 0x18000d47b
inc qword [r12 + 0x10]
mov rdx, qword [r12 + 0x10]
lea rcx, [r12 + 8]
call fcn.18000c820
mov r8, qword [rsp + 0x68]
mov qword [r13], r8
xor eax, eax
jmp 0x18000d2bb
mov eax, 2
jmp 0x18000d2bb
mov eax, 2
add rsp, 0x40
pop r14
pop r13
pop r12
ret