Function at 0x180009ad0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x20
call fcn.18002da40
sub rsp, rax
mov rbx, qword [rcx + 0x20]
mov eax, dword [rcx + 0x10]
xor r15d, r15d
lea r13, [rbx + rax*8]
movzx r14d, dl
mov rsi, rcx
mov edi, r15d
cmp rbx, r13
je 0x180009d30
cmp qword [rbx], rdi
jne 0x180009d2c
add rbx, 8
cmp rbx, r13
jne 0x180009b16
mov rbx, qword [rsi + 0x38]
mov eax, dword [rsi + 0x28]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x180009f50
nop
cmp qword [rbx], rdi
jne 0x180009f4a
add rbx, 8
cmp rbx, r12
jne 0x180009b40
mov rbx, qword [rsi + 0x50]
mov eax, dword [rsi + 0x40]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x18000a160
nop dword [rax]
cmp qword [rbx], rdi
jne 0x18000a15a
add rbx, 8
cmp rbx, r12
jne 0x180009b70
mov rbx, qword [rsi + 0x68]
mov eax, dword [rsi + 0x58]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x18000a370
nop dword [rax]
cmp qword [rbx], rdi
jne 0x18000a36a
add rbx, 8
cmp rbx, r12
jne 0x180009ba0
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x180009bc6
test r14b, r14b
je 0x180009bc6
call qword [0x1800af2f0]
mov edi, r15d
cmp dword [rsi + 0x58], r15d
jbe 0x180009bfb
mov rbp, r15
mov rax, qword [rsi + 0x68]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x180009bf0
nop
mov rbx, qword [rcx]
call fcn.18000be10
mov rcx, rbx
test rbx, rbx
jne 0x180009be0
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x58]
jb 0x180009bd2
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x180009c09
call fcn.18000be10
mov qword [rsi + 0x68], r15
mov qword [rsi + 0x60], r15
mov dword [rsi + 0x58], r15d
mov ebp, r15d
cmp dword [rsi + 0x40], r15d
jbe 0x180009c4b
mov rdi, r15
mov rax, qword [rsi + 0x50]
mov rcx, qword [rdi + rax]
test rcx, rcx
je 0x180009c40
nop
mov rbx, qword [rcx]
call fcn.18000be10
mov rcx, rbx
test rbx, rbx
jne 0x180009c30
inc ebp
add rdi, 8
cmp ebp, dword [rsi + 0x40]
jb 0x180009c21
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x180009c59
call fcn.18000be10
mov qword [rsi + 0x50], r15
mov qword [rsi + 0x48], r15
mov dword [rsi + 0x40], r15d
mov edi, r15d
cmp dword [rsi + 0x28], r15d
jbe 0x180009c9b
mov rbp, r15
mov rax, qword [rsi + 0x38]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x180009c90
nop
mov rbx, qword [rcx]
call fcn.18000be10
mov rcx, rbx
test rbx, rbx
jne 0x180009c80
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x28]
jb 0x180009c71
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x180009ca9
call fcn.18000be10
mov qword [rsi + 0x38], r15
mov qword [rsi + 0x30], r15
mov dword [rsi + 0x28], r15d
mov edi, r15d
cmp dword [rsi + 0x10], r15d
jbe 0x180009ceb
mov rbp, r15
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x180009ce0
nop
mov rbx, qword [rcx]
call fcn.18000be10
mov rcx, rbx
test rbx, rbx
jne 0x180009cd0
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x10]
jb 0x180009cc1
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x180009cf9
call fcn.18000be10
mov rcx, rsi
mov qword [rsi + 0x20], r15
mov qword [rsi + 0x18], r15
mov dword [rsi + 0x10], r15d
call fcn.18000be10
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
xor eax, eax
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rdi, qword [rbx]
nop
test rdi, rdi
je 0x180009b28
mov r12, qword [rsi]
mov rbp, qword [rdi + 8]
mov r9d, dword [r12 + 0x30]
mov r10, qword [r12 + 0x40]
test r9d, r9d
je 0x180009e1c
movzx ecx, bpl
mov r8, rbp
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 r9d
mov rax, qword [r10 + rdx*8]
lea rdx, [r10 + rdx*8]
test rax, rax
je 0x180009e09
cmp qword [rax + 8], rbp
je 0x180009e09
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009df8
test rdx, rdx
je 0x180009e1c
mov rax, qword [rdx]
test rax, rax
je 0x180009e1c
mov rcx, qword [rax + 0x10]
jmp 0x180009e1f
mov rcx, r15
call fcn.18000be10
mov r11d, dword [r12 + 0x30]
mov r9, qword [r12 + 0x40]
test r11d, r11d
je 0x180009f1d
movzx ecx, bpl
mov r8, rbp
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 [r9 + rdx*8]
lea rdx, [r9 + rdx*8]
test rax, rax
je 0x180009ef1
nop dword [rax]
cmp qword [rax + 8], rbp
je 0x180009ef1
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009ee0
test rdx, rdx
je 0x180009f1d
mov rcx, qword [rdx]
test rcx, rcx
je 0x180009f1d
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000be10
dec qword [r12 + 0x38]
mov rdx, qword [r12 + 0x38]
lea rcx, [r12 + 0x30]
call fcn.1800091f0
mov rdi, qword [rdi]
test rdi, rdi
jne 0x180009d39
nop dword [rax]
add rbx, 8
cmp rbx, r13
je 0x180009d30
mov rdi, qword [rbx]
test rdi, rdi
je 0x180009f30
jmp 0x180009d30
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x180009b52
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x18]
mov r11, qword [rbp + 0x28]
test r10d, r10d
je 0x18000a03a
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 r10d
mov rax, qword [r11 + rdx*8]
lea rdx, [r11 + rdx*8]
test rax, rax
je 0x18000a027
cmp qword [rax + 8], r9
je 0x18000a027
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a016
test rdx, rdx
je 0x18000a03a
mov rax, qword [rdx]
test rax, rax
je 0x18000a03a
mov r13, qword [rax + 0x10]
jmp 0x18000a03d
mov r13, r15
test r10d, r10d
je 0x18000a12a
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 r10d
mov rax, qword [r11 + rdx*8]
lea rdx, [r11 + rdx*8]
test rax, rax
je 0x18000a101
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x18000a101
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a0f0
test rdx, rdx
je 0x18000a12a
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000a12a
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000be10
dec qword [rbp + 0x20]
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x18]
call fcn.180009120
mov rcx, r13
call fcn.18000be10
mov rdi, qword [rdi]
test rdi, rdi
jne 0x180009f59
nop
add rbx, 8
cmp rbx, r12
je 0x180009f50
mov rdi, qword [rbx]
test rdi, rdi
je 0x18000a140
jmp 0x180009f50
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x180009b82
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x48]
mov r11, qword [rbp + 0x58]
test r10d, r10d
je 0x18000a24a
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 r10d
mov rax, qword [r11 + rdx*8]
lea rdx, [r11 + rdx*8]
test rax, rax
je 0x18000a237
cmp qword [rax + 8], r9
je 0x18000a237
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a226
test rdx, rdx
je 0x18000a24a
mov rax, qword [rdx]
test rax, rax
je 0x18000a24a
mov r13, qword [rax + 0x10]
jmp 0x18000a24d
mov r13, r15
test r10d, r10d
je 0x18000a33a
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 r10d
mov rax, qword [r11 + rdx*8]
lea rdx, [r11 + rdx*8]
test rax, rax
je 0x18000a311
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x18000a311
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a300
test rdx, rdx
je 0x18000a33a
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000a33a
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000be10
dec qword [rbp + 0x50]
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x48]
call fcn.1800092c0
mov rcx, r13
call fcn.18000be10
mov rdi, qword [rdi]
test rdi, rdi
jne 0x18000a169
nop
add rbx, 8
cmp rbx, r12
je 0x18000a160
mov rdi, qword [rbx]
test rdi, rdi
je 0x18000a350
jmp 0x18000a160
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x180009bb2
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x60]
mov r11, qword [rbp + 0x70]
test r10d, r10d
je 0x18000a45a
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 r10d
mov rax, qword [r11 + rdx*8]
lea rdx, [r11 + rdx*8]
test rax, rax
je 0x18000a447
cmp qword [rax + 8], r9
je 0x18000a447
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a436
test rdx, rdx
je 0x18000a45a
mov rax, qword [rdx]
test rax, rax
je 0x18000a45a
mov r13, qword [rax + 0x10]
jmp 0x18000a45d
mov r13, r15
test r10d, r10d
je 0x18000a54a
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 r10d
mov rax, qword [r11 + rdx*8]
lea rdx, [r11 + rdx*8]
test rax, rax
je 0x18000a521
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x18000a521
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a510
test rdx, rdx
je 0x18000a54a
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000a54a
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000be10
dec qword [rbp + 0x68]
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp + 0x60]
call fcn.180009390
mov rcx, r13
call fcn.18000be10
mov rdi, qword [rdi]
test rdi, rdi
jne 0x18000a379
nop
add rbx, 8
cmp rbx, r12
je 0x18000a370
mov rdi, qword [rbx]
test rdi, rdi
je 0x18000a560
jmp 0x18000a370