Function at 0x140006cc0
Capabilities:
Hash data using fnv

Disassembly:
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140006d97
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x140006cfa
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov r8, rdx
mov rdx, qword [rdx]
add rsp, 0x20
pop rdi
jmp 0x1400070e0
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x38], rbx
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rbx, qword [rcx]
test rbx, rbx
je 0x140006d60
mov qword [rsp + 0x40], rsi
nop dword [rax + rax]
mov rcx, qword [rbx + 0xb8]
mov rsi, qword [rbx]
test rcx, rcx
je 0x140006d34
call fcn.140053564
lea rcx, [rbx + 0x68]
call fcn.140007f40
lea rcx, [rbx + 0x20]
call fcn.140007f40
mov edx, 0xd0
mov rcx, rbx
call fcn.140047cd4
mov rbx, rsi
test rsi, rsi
jne 0x140006d20
mov rsi, qword [rsp + 0x40]
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x30]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x30], rax
call fcn.140007c40
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
push rbp
push rsi
push r15
sub rsp, 0x50
mov rbp, r8
mov r15, rdx
mov rsi, rcx
cmp rdx, r8
je 0x14000721f
mov rdx, qword [rcx + 0x18]
movabs r8, 0x100000001b3
mov rax, qword [r15 + 8]
mov qword [rsp + 0x78], rax
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x70], rbx
mov rbx, r15
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r12
mov r12, qword [rsi + 0x30]
mov qword [rsp + 0x38], r13
mov r13, qword [rcx + 8]
movzx ecx, byte [r15 + 0x10]
xor rcx, rax
mov qword [rsp + 0x30], r14
movzx eax, byte [r15 + 0x11]
imul rcx, r8
mov qword [rsp + 0x20], rdx
xor rcx, rax
movzx eax, byte [r15 + 0x12]
imul rcx, r8
xor rcx, rax
movzx eax, byte [r15 + 0x13]
imul rcx, r8
xor rcx, rax
imul rcx, r8
and r12, rcx
shl r12, 4
add r12, rdx
mov rax, qword [r12]
mov qword [rsp + 0x80], rax
mov rax, qword [r12 + 8]
mov qword [rsp + 0x88], rax
nop dword [rax + rax]
mov rdi, rbx
mov r14, rbx
mov rbx, qword [rbx]
mov rcx, qword [rdi + 0xb8]
test rcx, rcx
je 0x1400071ba
call fcn.140053564
lea rcx, [rdi + 0x68]
call fcn.140007f40
lea rcx, [rdi + 0x20]
call fcn.140007f40
mov edx, 0xd0
mov rcx, rdi
call fcn.140047cd4
dec qword [rsi + 0x10]
cmp r14, qword [rsp + 0x88]
je 0x14000722b
cmp rbx, rbp
jne 0x1400071a0
cmp qword [rsp + 0x80], r15
jne 0x1400071fa
mov qword [r12], rbx
mov rax, qword [rsp + 0x78]
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x30]
mov qword [rax], rbx
mov qword [rbx + 8], rax
mov rbx, qword [rsp + 0x70]
mov rax, rbp
add rsp, 0x50
pop r15
pop rsi
pop rbp
ret
cmp qword [rsp + 0x80], r15
jne 0x14000723e
mov qword [r12], r13
mov rax, r13
jmp 0x140007243
mov rax, qword [rsp + 0x78]
mov qword [r12 + 8], rax
cmp rbx, rbp
je 0x1400071fa
nop dword [rax]
movzx ecx, byte [rbx + 0x10]
movabs rdx, 0x100000001b3
mov r12, qword [rsi + 0x30]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movzx eax, byte [rbx + 0x11]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x12]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rbx + 0x13]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
and r12, rcx
shl r12, 4
add r12, qword [rsp + 0x20]
mov r15, qword [r12 + 8]
nop word [rax + rax]
mov rdi, rbx
mov r14, rbx
mov rbx, qword [rbx]
mov rcx, qword [rdi + 0xb8]
test rcx, rcx
je 0x1400072ca
call fcn.140053564
lea rcx, [rdi + 0x68]
call fcn.140007f40
lea rcx, [rdi + 0x20]
call fcn.140007f40
mov edx, 0xd0
mov rcx, rdi
call fcn.140047cd4
dec qword [rsi + 0x10]
cmp r14, r15
je 0x1400072fc
cmp rbx, rbp
jne 0x1400072b0
jmp 0x1400071f6
mov qword [r12], r13
mov qword [r12 + 8], r13
cmp rbx, rbp
jne 0x140007250
jmp 0x1400071fa