Function at 0x180009520
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.180050e60
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 0x180009780
cmp qword [rbx], rdi
jne 0x18000977c
add rbx, 8
cmp rbx, r13
jne 0x180009566
mov rbx, qword [rsi + 0x38]
mov eax, dword [rsi + 0x28]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x1800099a0
nop
cmp qword [rbx], rdi
jne 0x18000999a
add rbx, 8
cmp rbx, r12
jne 0x180009590
mov rbx, qword [rsi + 0x50]
mov eax, dword [rsi + 0x40]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x180009bb0
nop dword [rax]
cmp qword [rbx], rdi
jne 0x180009baa
add rbx, 8
cmp rbx, r12
jne 0x1800095c0
mov rbx, qword [rsi + 0x68]
mov eax, dword [rsi + 0x58]
mov rdi, r15
lea r12, [rbx + rax*8]
cmp rbx, r12
je 0x180009dc0
nop dword [rax]
cmp qword [rbx], rdi
jne 0x180009dba
add rbx, 8
cmp rbx, r12
jne 0x1800095f0
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x180009616
test r14b, r14b
je 0x180009616
call qword [0x1800742e0]
mov edi, r15d
cmp dword [rsi + 0x58], r15d
jbe 0x18000964b
mov rbp, r15
mov rax, qword [rsi + 0x68]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x180009640
nop
mov rbx, qword [rcx]
call fcn.18000b860
mov rcx, rbx
test rbx, rbx
jne 0x180009630
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x58]
jb 0x180009622
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x180009659
call fcn.18000b860
mov qword [rsi + 0x68], r15
mov qword [rsi + 0x60], r15
mov dword [rsi + 0x58], r15d
mov ebp, r15d
cmp dword [rsi + 0x40], r15d
jbe 0x18000969b
mov rdi, r15
mov rax, qword [rsi + 0x50]
mov rcx, qword [rdi + rax]
test rcx, rcx
je 0x180009690
nop
mov rbx, qword [rcx]
call fcn.18000b860
mov rcx, rbx
test rbx, rbx
jne 0x180009680
inc ebp
add rdi, 8
cmp ebp, dword [rsi + 0x40]
jb 0x180009671
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x1800096a9
call fcn.18000b860
mov qword [rsi + 0x50], r15
mov qword [rsi + 0x48], r15
mov dword [rsi + 0x40], r15d
mov edi, r15d
cmp dword [rsi + 0x28], r15d
jbe 0x1800096eb
mov rbp, r15
mov rax, qword [rsi + 0x38]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x1800096e0
nop
mov rbx, qword [rcx]
call fcn.18000b860
mov rcx, rbx
test rbx, rbx
jne 0x1800096d0
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x28]
jb 0x1800096c1
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x1800096f9
call fcn.18000b860
mov qword [rsi + 0x38], r15
mov qword [rsi + 0x30], r15
mov dword [rsi + 0x28], r15d
mov edi, r15d
cmp dword [rsi + 0x10], r15d
jbe 0x18000973b
mov rbp, r15
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + rbp]
test rcx, rcx
je 0x180009730
nop
mov rbx, qword [rcx]
call fcn.18000b860
mov rcx, rbx
test rbx, rbx
jne 0x180009720
inc edi
add rbp, 8
cmp edi, dword [rsi + 0x10]
jb 0x180009711
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x180009749
call fcn.18000b860
mov rcx, rsi
mov qword [rsi + 0x20], r15
mov qword [rsi + 0x18], r15
mov dword [rsi + 0x10], r15d
call fcn.18000b860
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 0x180009578
mov r12, qword [rsi]
mov rbp, qword [rdi + 8]
mov r9d, dword [r12 + 0x30]
mov r10, qword [r12 + 0x40]
test r9d, r9d
je 0x18000986c
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 0x180009859
cmp qword [rax + 8], rbp
je 0x180009859
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009848
test rdx, rdx
je 0x18000986c
mov rax, qword [rdx]
test rax, rax
je 0x18000986c
mov rcx, qword [rax + 0x10]
jmp 0x18000986f
mov rcx, r15
call fcn.18000b860
mov r11d, dword [r12 + 0x30]
mov r9, qword [r12 + 0x40]
test r11d, r11d
je 0x18000996d
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 0x180009941
nop dword [rax]
cmp qword [rax + 8], rbp
je 0x180009941
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009930
test rdx, rdx
je 0x18000996d
mov rcx, qword [rdx]
test rcx, rcx
je 0x18000996d
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000b860
dec qword [r12 + 0x38]
mov rdx, qword [r12 + 0x38]
lea rcx, [r12 + 0x30]
call fcn.180008c40
mov rdi, qword [rdi]
test rdi, rdi
jne 0x180009789
nop dword [rax]
add rbx, 8
cmp rbx, r13
je 0x180009780
mov rdi, qword [rbx]
test rdi, rdi
je 0x180009980
jmp 0x180009780
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x1800095a2
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x18]
mov r11, qword [rbp + 0x28]
test r10d, r10d
je 0x180009a8a
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 0x180009a77
cmp qword [rax + 8], r9
je 0x180009a77
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009a66
test rdx, rdx
je 0x180009a8a
mov rax, qword [rdx]
test rax, rax
je 0x180009a8a
mov r13, qword [rax + 0x10]
jmp 0x180009a8d
mov r13, r15
test r10d, r10d
je 0x180009b7a
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 0x180009b51
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x180009b51
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009b40
test rdx, rdx
je 0x180009b7a
mov rcx, qword [rdx]
test rcx, rcx
je 0x180009b7a
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000b860
dec qword [rbp + 0x20]
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x18]
call fcn.180008b70
mov rcx, r13
call fcn.18000b860
mov rdi, qword [rdi]
test rdi, rdi
jne 0x1800099a9
nop
add rbx, 8
cmp rbx, r12
je 0x1800099a0
mov rdi, qword [rbx]
test rdi, rdi
je 0x180009b90
jmp 0x1800099a0
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x1800095d2
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x48]
mov r11, qword [rbp + 0x58]
test r10d, r10d
je 0x180009c9a
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 0x180009c87
cmp qword [rax + 8], r9
je 0x180009c87
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009c76
test rdx, rdx
je 0x180009c9a
mov rax, qword [rdx]
test rax, rax
je 0x180009c9a
mov r13, qword [rax + 0x10]
jmp 0x180009c9d
mov r13, r15
test r10d, r10d
je 0x180009d8a
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 0x180009d61
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x180009d61
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009d50
test rdx, rdx
je 0x180009d8a
mov rcx, qword [rdx]
test rcx, rcx
je 0x180009d8a
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000b860
dec qword [rbp + 0x50]
mov rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x48]
call fcn.180008d10
mov rcx, r13
call fcn.18000b860
mov rdi, qword [rdi]
test rdi, rdi
jne 0x180009bb9
nop
add rbx, 8
cmp rbx, r12
je 0x180009bb0
mov rdi, qword [rbx]
test rdi, rdi
je 0x180009da0
jmp 0x180009bb0
mov rdi, qword [rbx]
nop dword [rax]
test rdi, rdi
je 0x180009602
mov rbp, qword [rsi]
mov r9, qword [rdi + 8]
mov r10d, dword [rbp + 0x60]
mov r11, qword [rbp + 0x70]
test r10d, r10d
je 0x180009eaa
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 0x180009e97
cmp qword [rax + 8], r9
je 0x180009e97
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009e86
test rdx, rdx
je 0x180009eaa
mov rax, qword [rdx]
test rax, rax
je 0x180009eaa
mov r13, qword [rax + 0x10]
jmp 0x180009ead
mov r13, r15
test r10d, r10d
je 0x180009f9a
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 0x180009f71
nop dword [rax + rax]
cmp qword [rax + 8], r9
je 0x180009f71
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x180009f60
test rdx, rdx
je 0x180009f9a
mov rcx, qword [rdx]
test rcx, rcx
je 0x180009f9a
mov rax, qword [rcx]
mov qword [rdx], rax
call fcn.18000b860
dec qword [rbp + 0x68]
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp + 0x60]
call fcn.180008de0
mov rcx, r13
call fcn.18000b860
mov rdi, qword [rdi]
test rdi, rdi
jne 0x180009dc9
nop
add rbx, 8
cmp rbx, r12
je 0x180009dc0
mov rdi, qword [rbx]
test rdi, rdi
je 0x180009fb0
jmp 0x180009dc0