Function at 0x14000b580
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14000b67c
mov rsi, rcx
mov r8, qword [rcx + 8]
mov rcx, qword [rcx + 0x38]
shr rcx, 3
cmp rcx, rax
jbe 0x14000b5b8
mov rdx, qword [r8]
mov rcx, rsi
add rsp, 0x28
pop rdi
pop rsi
jmp 0x140013ab0
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rcx, qword [r8]
test rcx, rcx
je 0x14000b5e5
nop dword [rax + rax]
mov rdi, qword [rcx]
mov edx, 0x20
call fcn.14009ad64
mov rcx, rdi
test rdi, rdi
jne 0x14000b5d0
mov rax, qword [rsi + 8]
mov qword [rax], rax
mov rax, qword [rsi + 8]
mov qword [rax + 8], rax
mov qword [rsi + 0x10], 0
mov rdx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
cmp rdx, rax
je 0x14000b67c
mov rcx, qword [rsi + 8]
mov r9, rax
sub r9, rdx
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jae 0x14000b622
mov r8, rdx
jmp 0x14000b670
shr r9, 3
inc r9
mov r10, r9
and r10, 0xfffffffffffffffc
lea r8, [rdx + r10*8]
movq xmm0, rcx
pshufd xmm0, xmm0, 0x44
xor r11d, r11d
nop word cs:[rax + rax]
movdqu xmmword [rdx + r11*8], xmm0
movdqu xmmword [rdx + r11*8 + 0x10], xmm0
add r11, 4
cmp r10, r11
jne 0x14000b650
cmp r9, r10
je 0x14000b67c
nop dword [rax + rax]
mov qword [r8], rcx
add r8, 8
cmp r8, rax
jne 0x14000b670
add rsp, 0x28
pop rdi
pop rsi
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rbx, rdx
cmp rdx, r8
je 0x140013bcd
mov rsi, r8
mov rdi, rcx
movabs rcx, 0xcbf29ce484222325
movabs rdx, 0x100000001b3
mov rax, qword [rdi + 8]
mov qword [rsp + 0x30], rax
mov r8, qword [rdi + 0x18]
movzx eax, byte [rbx + 0x10]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [rbx + 0x11]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x12]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [rbx + 0x13]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x14]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [rbx + 0x15]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x16]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [rbx + 0x17]
xor rcx, rax
imul rcx, rdx
and rcx, qword [rdi + 0x30]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x38], rax
lea rax, [rcx + rcx]
lea rdx, [rcx*2 + 1]
mov qword [rsp + 0x40], rdx
shl rcx, 4
lea r15, [r8 + rcx]
mov rbp, qword [r8 + rcx]
mov qword [rsp + 0x28], r8
mov r12, qword [r8 + rax*8 + 8]
mov r13, rbx
jmp 0x140013b95
cmp r13, rsi
je 0x140013bbf
mov r14, r13
mov r13, qword [r13]
mov edx, 0x20
mov rcx, r14
call fcn.14009ad64
dec qword [rdi + 0x10]
cmp r14, r12
je 0x140013be4
cmp r13, rsi
jne 0x140013b90
cmp rbp, rbx
jne 0x140013b90
mov qword [r15], rsi
mov rax, qword [rsp + 0x38]
mov qword [rax], rsi
mov qword [rsi + 8], rax
jmp 0x140013bd0
mov rsi, rbx
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x38]
cmp rbp, rbx
jne 0x140013bf6
mov rax, qword [rsp + 0x30]
mov qword [r15], rax
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
mov qword [rcx + rdx*8], rax
cmp r13, rsi
je 0x140013bbf
movzx eax, byte [r13 + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs rdx, 0x100000001b3
imul rax, rdx
movzx ecx, byte [r13 + 0x11]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [r13 + 0x12]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [r13 + 0x13]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [r13 + 0x14]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [r13 + 0x15]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [r13 + 0x16]
xor rax, rcx
imul rax, rdx
movzx r15d, byte [r13 + 0x17]
xor r15, rax
imul r15, rdx
and r15, qword [rdi + 0x30]
lea rax, [r15 + r15]
lea r14, [r15*2 + 1]
shl r15, 4
mov rcx, qword [rsp + 0x28]
add r15, rcx
mov r12, qword [rcx + rax*8 + 8]
nop
mov rbx, r13
mov r13, qword [r13]
mov edx, 0x20
mov rcx, rbx
call fcn.14009ad64
dec qword [rdi + 0x10]
cmp rbx, r12
je 0x140013cc7
cmp r13, rsi
jne 0x140013ca0
jmp 0x140013bbc
mov rax, qword [rsp + 0x30]
mov qword [r15], rax
mov rcx, qword [rsp + 0x28]
mov qword [rcx + r14*8], rax
cmp r13, rsi
jne 0x140013c09
jmp 0x140013bbf