Function at 0x180069f50
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov rbx, r8
mov r15, rdx
mov rdx, rcx
cmp r15, r8
je 0x180069100
lea r14, [rcx + 8]
mov r12, qword [r14]
mov r8, qword [rcx + 0x18]
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x28], r14
mov rax, qword [r15 + 8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r15
mov rax, qword [r15 + 8]
mov qword [rsp + 0xa0], rax
movzx ecx, byte [r15 + 0x10]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r9, 0x100000001b3
imul rcx, r9
movzx eax, byte [r15 + 0x11]
xor rcx, rax
imul rcx, r9
movzx eax, byte [r15 + 0x12]
xor rcx, rax
imul rcx, r9
movzx eax, byte [r15 + 0x13]
xor rcx, rax
imul rcx, r9
movzx eax, byte [r15 + 0x14]
xor rcx, rax
imul rcx, r9
movzx eax, byte [r15 + 0x15]
xor rcx, rax
imul rcx, r9
movzx eax, byte [r15 + 0x16]
xor rcx, rax
imul rcx, r9
movzx eax, byte [r15 + 0x17]
xor rcx, rax
imul rcx, r9
mov r13, qword [rdx + 0x30]
and r13, rcx
shl r13, 4
add r13, r8
mov rdi, qword [r13]
mov qword [rsp + 0x98], rdi
mov rbp, qword [r13 + 8]
mov rsi, qword [r15]
mov qword [rsp + 0x38], rsi
mov rdx, r15
mov rcx, r14
call fcn.180046180
dec qword [r14 + 8]
cmp r15, rbp
je 0x180068fd0
nop dword [rax]
cmp rsi, rbx
je 0x180068fde
cmp rsi, rbp
sete dil
mov rdx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov rcx, r14
call fcn.180046180
dec qword [r14 + 8]
test dil, dil
je 0x180068fa0
mov rdi, qword [rsp + 0x98]
cmp rdi, r15
jne 0x180068ff5
mov qword [r13], r12
mov rax, r12
jmp 0x180068ffd
cmp qword [rsp + 0x98], r15
jne 0x1800690f4
mov qword [r13], rsi
jmp 0x1800690f4
mov rax, qword [rsp + 0xa0]
mov qword [r13 + 8], rax
cmp rsi, rbx
je 0x1800690f4
mov r13, qword [rsp + 0x90]
movzx ecx, byte [rsi + 0x10]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rsi + 0x11]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsi + 0x12]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsi + 0x13]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsi + 0x14]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsi + 0x15]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsi + 0x16]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rsi + 0x17]
xor rcx, rax
imul rcx, rdx
mov r15, qword [r13 + 0x30]
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0xa8]
mov rbp, qword [r15 + 8]
cmp rsi, rbp
sete dil
mov rdx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov rcx, r14
call fcn.180046180
dec qword [r14 + 8]
test dil, dil
jne 0x1800690e0
cmp rsi, rbx
je 0x1800690f1
cmp rsi, rbp
sete dil
mov rdx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov rcx, r14
call fcn.180046180
dec qword [r14 + 8]
test dil, dil
je 0x1800690b8
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rsi, rbx
je 0x1800690f4
jmp 0x180069012
mov qword [r15], rsi
mov rax, qword [rsp + 0x20]
mov qword [rax], rsi
mov qword [rsi + 8], rax
mov rax, rbx
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x180069fd0
mov rax, qword [rbx + 0x38]
mov rdx, qword [rbx + 8]
shr rax, 3
mov qword [rsp + 0x38], rdi
cmp rax, rcx
jbe 0x180069f90
mov r8, rdx
mov rcx, rbx
mov rdx, qword [rdx]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
jmp 0x180068e90
lea rcx, [rbx + 8]
call fcn.1800460e0
mov rax, qword [rbx + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rbx + 8]
mov qword [rax + 8], rax
mov qword [rbx + 0x10], 0
mov rax, qword [rbx + 8]
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x18]
mov qword [rsp + 0x30], rax
call fcn.180019ab0
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret