Function at 0x1800500a0
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 0x180050311
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.18004a360
dec qword [r14 + 8]
cmp r15, rbp
je 0x1800501e0
nop dword [rax]
cmp rsi, rbx
je 0x1800501ee
cmp rsi, rbp
sete dil
mov rdx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov rcx, r14
call fcn.18004a360
dec qword [r14 + 8]
test dil, dil
je 0x1800501b0
mov rdi, qword [rsp + 0x98]
cmp rdi, r15
jne 0x180050205
mov qword [r13], r12
mov rax, r12
jmp 0x18005020d
cmp qword [rsp + 0x98], r15
jne 0x180050305
mov qword [r13], rsi
jmp 0x180050305
mov rax, qword [rsp + 0xa0]
mov qword [r13 + 8], rax
cmp rsi, rbx
je 0x180050305
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.18004a360
dec qword [r14 + 8]
test dil, dil
jne 0x1800502f0
cmp rsi, rbx
je 0x180050302
cmp rsi, rbp
sete dil
mov rdx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov rcx, r14
call fcn.18004a360
dec qword [r14 + 8]
test dil, dil
je 0x1800502c8
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rsi, rbx
jne 0x180050222
jmp 0x180050305
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 0x18007a950
mov rax, qword [rbx + 0x38]
mov rdx, qword [rbx + 8]
shr rax, 3
mov qword [rsp + 0x38], rdi
cmp rax, rcx
jbe 0x18007a910
mov r8, rdx
mov rcx, rbx
mov rdx, qword [rdx]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
jmp 0x1800500a0
lea rcx, [rbx + 8]
call fcn.1800587b0
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.180023d40
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret