Function at 0x14003d500
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14003d5b1
mov rax, qword [rbx + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x14003d54d
mov rdx, qword [rbx + 8]
mov r8, rdx
mov rdx, qword [rdx]
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14003fd80
mov rcx, qword [rbx + 8]
mov rax, qword [rcx + 8]
xor esi, esi
mov qword [rax], rsi
mov rcx, qword [rcx]
test rcx, rcx
je 0x14003d577
mov rdi, qword [rcx]
mov edx, 0x20
call fcn.1400ff054
mov rcx, rdi
test rdi, rdi
jne 0x14003d562
mov rax, qword [rbx + 8]
mov qword [rax], rax
mov rax, qword [rbx + 8]
mov qword [rax + 8], rax
mov qword [rbx + 0x10], rsi
mov rdi, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
sub rcx, rdi
add rcx, 7
shr rcx, 3
cmp rdi, qword [rbx + 0x20]
cmova rcx, rsi
test rcx, rcx
je 0x14003d5b1
mov rax, qword [rbx + 8]
rep stosq qword [rdi], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
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 rbp, rdx
mov rdx, rcx
cmp rbp, r8
je 0x14003fe83
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 [rbp + 8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rax
mov rsi, rbp
mov qword [rsp + 0x38], rbp
mov rax, qword [rbp + 8]
mov qword [rsp + 0xa0], rax
movzx ecx, byte [rbp + 0x10]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r9, 0x100000001b3
imul rcx, r9
movzx eax, byte [rbp + 0x11]
xor rcx, rax
imul rcx, r9
movzx eax, byte [rbp + 0x12]
xor rcx, rax
imul rcx, r9
movzx eax, byte [rbp + 0x13]
xor rcx, rax
imul rcx, r9
mov r15, qword [rdx + 0x30]
and r15, rcx
shl r15, 4
add r15, r8
mov rax, qword [r15]
mov qword [rsp + 0x98], rax
mov r13, qword [r15 + 8]
nop
cmp rsi, r13
sete dil
mov rcx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov edx, 0x20
call fcn.1400ff054
dec qword [r14 + 8]
test dil, dil
jne 0x14003fe97
cmp rsi, rbx
jne 0x14003fe40
cmp qword [rsp + 0x98], rbp
jne 0x14003fe77
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
cmp qword [rsp + 0x98], rbp
jne 0x14003fea9
mov qword [r15], r12
mov rax, r12
jmp 0x14003feb1
mov rax, qword [rsp + 0xa0]
mov qword [r15 + 8], rax
cmp rsi, rbx
je 0x14003fe77
mov r13, qword [rsp + 0x90]
nop dword [rax]
nop word [rax + rax]
movzx r15d, byte [rsi + 0x10]
movabs rax, 0xcbf29ce484222325
xor r15, rax
movabs rdx, 0x100000001b3
imul r15, rdx
movzx eax, byte [rsi + 0x11]
xor r15, rax
imul r15, rdx
movzx eax, byte [rsi + 0x12]
xor r15, rax
imul r15, rdx
movzx eax, byte [rsi + 0x13]
xor r15, rax
imul r15, rdx
and r15, qword [r13 + 0x30]
shl r15, 4
add r15, qword [rsp + 0xa8]
mov rbp, qword [r15 + 8]
nop word [rax + rax]
cmp rsi, rbp
sete dil
mov rcx, rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x38], rsi
mov edx, 0x20
call fcn.1400ff054
dec qword [r14 + 8]
test dil, dil
jne 0x14003ff5f
cmp rsi, rbx
jne 0x14003ff30
jmp 0x14003fe74
mov qword [r15], r12
mov qword [r15 + 8], r12
cmp rsi, rbx
jne 0x14003fed0
jmp 0x14003fe77