Function at 0x18000b350
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rdi
mov eax, 0x30
call fcn.180033a20
sub rsp, rax
cmp byte [rdx + 0x32], 0
mov rbx, rdx
mov r10, rcx
je 0x18000b377
mov r9, qword [rdx + 8]
jmp 0x18000b37a
mov r9, qword [rdx]
mov r11d, dword [rcx + 0x18]
mov rdi, qword [rcx + 0x28]
lea rbp, [rcx + 0x18]
mov qword [rsp + 0x58], rsi
test r11d, r11d
je 0x18000b496
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 r11d
mov rax, qword [rdi + rdx*8]
lea rdx, [rdi + rdx*8]
test rax, rax
je 0x18000b451
nop dword [rax]
cmp qword [rax + 8], r9
je 0x18000b451
mov rdx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000b440
test rdx, rdx
je 0x18000b496
mov rax, qword [rdx]
test rax, rax
je 0x18000b496
mov rax, qword [rax + 0x10]
cmp byte [rax], 0
je 0x18000b483
cmp byte [rbx + 0x20], 0
je 0x18000b483
mov edx, 1
mov byte [rax], dl
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret
xor edx, edx
mov byte [rax], dl
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret
mov edx, dword [r10 + 0xb8]
mov rcx, qword [r10 + 0xc8]
lea r8, [rsp + 0x60]
xor r9d, r9d
call fcn.180009aa0
test rax, rax
jne 0x18000b4ba
xor edi, edi
jmp 0x18000b4bd
mov rdi, qword [rax]
mov rdi, qword [rdi + 0x10]
mov r9, qword [rbx + 0x10]
lea rcx, [rsp + 0x50]
mov r8, qword [rdi + 8]
xor edx, edx
call qword [0x1800bf8a8]
cmp eax, 0x1f4
je 0x18000b681
test eax, eax
je 0x18000b4f9
mov ecx, eax
call fcn.180002b80
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret
cmp byte [rbx + 0x32], 0
mov rsi, qword [rbx]
je 0x18000b515
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbx + 8]
mov qword [rcx], rax
mov rax, qword [rbx + 8]
mov rsi, qword [rax]
mov ecx, 0x20
call fcn.18000c220
test rax, rax
je 0x18000b690
movzx edx, byte [rbx + 0x20]
mov r10, qword [rbx + 0x18]
mov r9, qword [rdi + 8]
mov r8, qword [rsp + 0x50]
mov byte [rax], dl
lea rdx, [rsp + 0x20]
mov rcx, rbp
mov qword [rax + 0x10], r9
mov qword [rax + 0x18], r10
mov qword [rax + 8], r8
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rax
call fcn.18000ad50
mov r8d, dword [rdi + 0x28]
test r8d, r8d
jne 0x18000b581
lea edx, [r8 + 1]
lea rcx, [rdi + 0x28]
call fcn.1800090e0
mov r8d, dword [rdi + 0x28]
test r8d, r8d
je 0x18000b690
mov r9, qword [rdi + 0x38]
test r8d, r8d
jne 0x18000b595
mov ebp, dword [rsp + 0x50]
xor ebx, ebx
jmp 0x18000b645
movzx ecx, sil
mov rdx, rsi
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 ebp, dl
xor edx, edx
imul ecx, ecx, 0x1000193
xor eax, ecx
imul eax, eax, 0x1000193
xor ebp, eax
imul ebp, ebp, 0x1000193
mov eax, ebp
div r8d
mov rax, qword [r9 + rdx*8]
lea rbx, [r9 + rdx*8]
test rax, rax
je 0x18000b645
cmp qword [rax + 8], rsi
je 0x18000b645
mov rbx, rax
mov rax, qword [rax]
test rax, rax
jne 0x18000b634
cmp qword [rbx], 0
jne 0x18000b681
mov ecx, 0x18
call fcn.18000c220
test rax, rax
je 0x18000b668
mov qword [rax], 0
mov qword [rax + 8], rsi
mov dword [rax + 0x10], ebp
mov qword [rbx], rax
test rax, rax
je 0x18000b690
inc qword [rdi + 0x30]
mov rdx, qword [rdi + 0x30]
lea rcx, [rdi + 0x28]
call fcn.1800090e0
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret
mov eax, 2
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rbp
pop rbx
ret