Function at 0x18004ed60
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 0x18004efd1
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.18004a020
dec qword [r14 + 8]
cmp r15, rbp
je 0x18004eea0
nop dword [rax]
cmp rsi, rbx
je 0x18004eeae
cmp rsi, rbp
sete dil
mov rdx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov rcx, r14
call fcn.18004a020
dec qword [r14 + 8]
test dil, dil
je 0x18004ee70
mov rdi, qword [rsp + 0x98]
cmp rdi, r15
jne 0x18004eec5
mov qword [r13], r12
mov rax, r12
jmp 0x18004eecd
cmp qword [rsp + 0x98], r15
jne 0x18004efc5
mov qword [r13], rsi
jmp 0x18004efc5
mov rax, qword [rsp + 0xa0]
mov qword [r13 + 8], rax
cmp rsi, rbx
je 0x18004efc5
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.18004a020
dec qword [r14 + 8]
test dil, dil
jne 0x18004efb0
cmp rsi, rbx
je 0x18004efc2
cmp rsi, rbp
sete dil
mov rdx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov rcx, r14
call fcn.18004a020
dec qword [r14 + 8]
test dil, dil
je 0x18004ef88
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rsi, rbx
jne 0x18004eee2
jmp 0x18004efc5
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 0x180079a60
mov rax, qword [rbx + 0x38]
mov rdx, qword [rbx + 8]
shr rax, 3
mov qword [rsp + 0x38], rdi
cmp rax, rcx
jbe 0x180079a20
mov r8, rdx
mov rcx, rbx
mov rdx, qword [rdx]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
jmp 0x18004ed60
lea rcx, [rbx + 8]
call fcn.1800578c0
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.180023a20
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret