Function at 0x180009f40
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.180033a20
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 0x18000a1a0
cmp qword [rbx], rdi
jne 0x18000a19c
add rbx, 8
cmp rbx, r13
jne 0x180009f86
mov rbx, qword [rsi + 0x38]
mov eax, dword [rsi + 0x28]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x18000a3c0
nop
cmp qword [rbx], rdi
jne 0x18000a3ba
add rbx, 8
cmp rbx, r12
jne 0x180009fb0
mov rbx, qword [rsi + 0x50]
mov eax, dword [rsi + 0x40]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x18000a5d0
nop dword [rax]
cmp qword [rbx], rdi
jne 0x18000a5ca
add rbx, 8
cmp rbx, r12
jne 0x180009fe0
mov rbx, qword [rsi + 0x68]
mov eax, dword [rsi + 0x58]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x18000a7e0
nop dword [rax]
cmp qword [rbx], rdi
jne 0x18000a7da
add rbx, 8
cmp rbx, r12
jne 0x18000a010
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x18000a036
test r14b, r14b
je 0x18000a036
call qword [0x1800bf888]
mov edi, r15d
cmp dword [rsi + 0x58], r15d
jbe 0x18000a06b
mov rbp, r15
mov rax, qword [rsi + 0x68]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x18000a060
nop
mov rbx, qword [rcx]
call fcn.18000c280
mov rcx, rbx
test rbx, rbx
jne 0x18000a050
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x58]
jb 0x18000a042
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x18000a079
call fcn.18000c280
mov qword [rsi + 0x68], r15
mov qword [rsi + 0x60], r15
mov dword [rsi + 0x58], r15d
mov ebp, r15d
cmp dword [rsi + 0x40], r15d
jbe 0x18000a0bb
mov rdi, r15
mov rax, qword [rsi + 0x50]
mov rcx, qword [rdi + rax]
test rcx, rcx
je 0x18000a0b0
nop
mov rbx, qword [rcx]
call fcn.18000c280
mov rcx, rbx
test rbx, rbx
jne 0x18000a0a0
inc ebp
add rdi, 8
cmp ebp, dword [rsi + 0x40]
jb 0x18000a091
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x18000a0c9
call fcn.18000c280
mov qword [rsi + 0x50], r15
mov qword [rsi + 0x48], r15
mov dword [rsi + 0x40], r15d
mov edi, r15d
cmp dword [rsi + 0x28], r15d
jbe 0x18000a10b
mov rbp, r15
mov rax, qword [rsi + 0x38]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x18000a100
nop
mov rbx, qword [rcx]
call fcn.18000c280
mov rcx, rbx
test rbx, rbx
jne 0x18000a0f0
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x28]
jb 0x18000a0e1
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x18000a119
call fcn.18000c280
mov qword [rsi + 0x38], r15
mov qword [rsi + 0x30], r15
mov dword [rsi + 0x28], r15d
mov edi, r15d
cmp dword [rsi + 0x10], r15d
jbe 0x18000a15b
mov rbp, r15
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x18000a150
nop
mov rbx, qword [rcx]
call fcn.18000c280
mov rcx, rbx
test rbx, rbx
jne 0x18000a140
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x10]
jb 0x18000a131
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x18000a169
call fcn.18000c280
mov rcx, rsi
mov qword [rsi + 0x20], r15
mov qword [rsi + 0x18], r15
mov dword [rsi + 0x10], r15d
call fcn.18000c280
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 0x180009f98
mov r12, qword [rsi]
mov rbp, qword [rdi + 8]
mov r9d, dword [r12 + 0x30]
mov r10, qword [r12 + 0x40]
test r9d, r9d
je 0x18000a28c
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 0x18000a279
cmp qword [rax + 8], rbp
je 0x18000a279
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a268
test rdx, rdx
je 0x18000a28c
mov rax, qword [rdx]
test rax, rax
je 0x18000a28c
mov rcx, qword [rax + 0x10]
jmp 0x18000a28f
mov rcx, r15
call fcn.18000c280
mov r11d, dword [r12 + 0x30]
mov r9, qword [r12 + 0x40]
test r11d, r11d
je 0x18000a38d
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 0x18000a361
nop dword [rax]
cmp qword [rax + 8], rbp
je 0x18000a361
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a350
test rdx, rdx
je 0x18000a38d
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000a38d
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000c280
dec qword [r12 + 0x38]
mov rdx, qword [r12 + 0x38]
lea rcx, [r12 + 0x30]
call fcn.180009660
mov rdi, qword [rdi]
test rdi, rdi
jne 0x18000a1a9
nop dword [rax]
add rbx, 8
cmp rbx, r13
je 0x18000a1a0
mov rdi, qword [rbx]
test rdi, rdi
je 0x18000a3a0
jmp 0x18000a1a0
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x180009fc2
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x18]
mov r11, qword [rbp + 0x28]
test r10d, r10d
je 0x18000a4aa
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 0x18000a497
cmp qword [rax + 8], r9
je 0x18000a497
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a486
test rdx, rdx
je 0x18000a4aa
mov rax, qword [rdx]
test rax, rax
je 0x18000a4aa
mov r13, qword [rax + 0x10]
jmp 0x18000a4ad
mov r13, r15
test r10d, r10d
je 0x18000a59a
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 0x18000a571
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x18000a571
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a560
test rdx, rdx
je 0x18000a59a
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000a59a
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000c280
dec qword [rbp + 0x20]
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x18]
call fcn.180009590
mov rcx, r13
call fcn.18000c280
mov rdi, qword [rdi]
test rdi, rdi
jne 0x18000a3c9
nop
add rbx, 8
cmp rbx, r12
je 0x18000a3c0
mov rdi, qword [rbx]
test rdi, rdi
je 0x18000a5b0
jmp 0x18000a3c0
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x180009ff2
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x48]
mov r11, qword [rbp + 0x58]
test r10d, r10d
je 0x18000a6ba
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 0x18000a6a7
cmp qword [rax + 8], r9
je 0x18000a6a7
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a696
test rdx, rdx
je 0x18000a6ba
mov rax, qword [rdx]
test rax, rax
je 0x18000a6ba
mov r13, qword [rax + 0x10]
jmp 0x18000a6bd
mov r13, r15
test r10d, r10d
je 0x18000a7aa
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 0x18000a781
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x18000a781
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a770
test rdx, rdx
je 0x18000a7aa
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000a7aa
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000c280
dec qword [rbp + 0x50]
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x48]
call fcn.180009730
mov rcx, r13
call fcn.18000c280
mov rdi, qword [rdi]
test rdi, rdi
jne 0x18000a5d9
nop
add rbx, 8
cmp rbx, r12
je 0x18000a5d0
mov rdi, qword [rbx]
test rdi, rdi
je 0x18000a7c0
jmp 0x18000a5d0
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x18000a022
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x60]
mov r11, qword [rbp + 0x70]
test r10d, r10d
je 0x18000a8ca
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 0x18000a8b7
cmp qword [rax + 8], r9
je 0x18000a8b7
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a8a6
test rdx, rdx
je 0x18000a8ca
mov rax, qword [rdx]
test rax, rax
je 0x18000a8ca
mov r13, qword [rax + 0x10]
jmp 0x18000a8cd
mov r13, r15
test r10d, r10d
je 0x18000a9ba
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 0x18000a991
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x18000a991
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000a980
test rdx, rdx
je 0x18000a9ba
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000a9ba
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000c280
dec qword [rbp + 0x68]
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp + 0x60]
call fcn.180009800
mov rcx, r13
call fcn.18000c280
mov rdi, qword [rdi]
test rdi, rdi
jne 0x18000a7e9
nop
add rbx, 8
cmp rbx, r12
je 0x18000a7e0
mov rdi, qword [rbx]
test rdi, rdi
je 0x18000a9d0
jmp 0x18000a7e0