Function at 0x14012d310
Capabilities:
Hash data using fnv

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14012d4cc
mov r14, rcx
mov r8, qword [rcx + 8]
mov rcx, qword [rcx + 0x38]
shr rcx, 3
cmp rcx, rax
jbe 0x14012d34e
mov rdx, qword [r8]
mov rcx, r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
jmp 0x14012d4e0
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rdi, qword [r8]
test rdi, rdi
jne 0x14012d3fe
mov rax, qword [r14 + 8]
mov qword [rax], rax
mov rax, qword [r14 + 8]
mov qword [rax + 8], rax
mov qword [r14 + 0x10], 0
mov rax, qword [r14 + 0x18]
mov rcx, qword [r14 + 0x20]
cmp rax, rcx
je 0x14012d4cc
mov rdx, qword [r14 + 8]
mov r9, rcx
sub r9, rax
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jb 0x14012d4c0
shr r9, 3
inc r9
mov r8, r9
and r8, 0xfffffffffffffffc
movq xmm0, rdx
pshufd xmm0, xmm0, 0x44
lea rdi, [r8 - 4]
mov rsi, rdi
shr rsi, 2
inc rsi
mov ebx, esi
and ebx, 3
cmp rdi, 0xc
jae 0x14012d43d
xor edi, edi
jmp 0x14012d489
call fcn.140141034
mov edx, 0x48
mov rcx, rdi
call fcn.140141034
mov rdi, rbx
test rbx, rbx
je 0x14012d365
mov rbx, qword [rdi]
mov rax, qword [rdi + 0x38]
cmp rax, 0x10
jb 0x14012d3e5
mov rcx, qword [rdi + 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14012d3e0
mov rsi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rsi
cmp rcx, 0x20
jae 0x14012d4d6
add rax, 0x28
mov rdx, rax
mov rcx, rsi
jmp 0x14012d3e0
and rsi, 0xfffffffffffffffc
xor edi, edi
nop word cs:[rax + rax]
movdqu xmmword [rax + rdi*8], xmm0
movdqu xmmword [rax + rdi*8 + 0x10], xmm0
movdqu xmmword [rax + rdi*8 + 0x20], xmm0
movdqu xmmword [rax + rdi*8 + 0x30], xmm0
movdqu xmmword [rax + rdi*8 + 0x40], xmm0
movdqu xmmword [rax + rdi*8 + 0x50], xmm0
movdqu xmmword [rax + rdi*8 + 0x60], xmm0
movdqu xmmword [rax + rdi*8 + 0x70], xmm0
add rdi, 0x10
add rsi, 0xfffffffffffffffc
jne 0x14012d450
test rbx, rbx
je 0x14012d4b4
lea rdi, [rax + rdi*8]
add rdi, 0x10
shl rbx, 5
xor esi, esi
nop dword [rax]
movdqu xmmword [rdi + rsi - 0x10], xmm0
movdqu xmmword [rdi + rsi], xmm0
add rsi, 0x20
cmp rbx, rsi
jne 0x14012d4a0
cmp r9, r8
je 0x14012d4cc
lea rax, [rax + r8*8]
nop dword [rax]
mov qword [rax], rdx
add rax, 8
cmp rax, rcx
jne 0x14012d4c0
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.140231990
int3
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r13, rdx
cmp rdx, r8
je 0x14012d646
mov rsi, r8
mov r14, rcx
mov rax, qword [rcx + 8]
mov qword [rsp + 0x30], rax
mov rdx, qword [rcx + 0x18]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x40], rax
movzx eax, byte [r13 + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs rbp, 0x100000001b3
imul rax, rbp
movzx ecx, byte [r13 + 0x11]
xor rcx, rax
imul rcx, rbp
movzx eax, byte [r13 + 0x12]
xor rax, rcx
imul rax, rbp
movzx ecx, byte [r13 + 0x13]
xor rcx, rax
imul rcx, rbp
movzx eax, byte [r13 + 0x14]
xor rax, rcx
imul rax, rbp
movzx ecx, byte [r13 + 0x15]
xor rcx, rax
imul rcx, rbp
movzx eax, byte [r13 + 0x16]
xor rax, rcx
imul rax, rbp
movzx ecx, byte [r13 + 0x17]
xor rcx, rax
imul rcx, rbp
and rcx, qword [r14 + 0x30]
lea rax, [rcx + rcx]
lea rbp, [rcx + rcx]
inc rbp
mov qword [rsp + 0x50], rbp
shl rcx, 4
lea rbp, [rdx + rcx]
mov qword [rsp + 0x38], rbp
mov rcx, qword [rdx + rcx]
mov qword [rsp + 0x48], rcx
cmp rcx, r13
setne bpl
mov qword [rsp + 0x28], rdx
mov r15, qword [rdx + rax*8 + 8]
mov rbx, r13
nop word [rax + rax]
mov r12, qword [rbx]
mov rax, qword [rbx + 0x38]
cmp rax, 0x10
jb 0x14012d612
mov rcx, qword [rbx + 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14012d60d
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jae 0x14012d7c4
add rax, 0x28
mov rdx, rax
mov rcx, rdi
call fcn.140141034
mov edx, 0x48
mov rcx, rbx
call fcn.140141034
dec qword [r14 + 0x10]
cmp rbx, r15
je 0x14012d64e
cmp r12, rsi
setne al
or al, bpl
cmp al, 1
jne 0x14012d79b
mov rbx, r12
cmp r12, rsi
jne 0x14012d5d0
jmp 0x14012d7a4
mov rsi, r13
jmp 0x14012d7b0
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x48], r13
jne 0x14012d667
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x50]
mov qword [rcx + rdx*8], rax
cmp r12, rsi
je 0x14012d7a4
movzx eax, byte [r12 + 0x10]
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs rdx, 0x100000001b3
imul rax, rdx
movzx ecx, byte [r12 + 0x11]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [r12 + 0x12]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [r12 + 0x13]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [r12 + 0x14]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [r12 + 0x15]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [r12 + 0x16]
xor rax, rcx
imul rax, rdx
movzx ecx, byte [r12 + 0x17]
xor rcx, rax
imul rcx, rdx
and rcx, qword [r14 + 0x30]
lea rax, [rcx + rcx]
lea r15, [rcx + rcx]
inc r15
mov r13, rcx
shl r13, 4
mov rcx, qword [rsp + 0x28]
add r13, rcx
mov rbp, qword [rcx + rax*8 + 8]
mov rdi, r12
mov r12, qword [rdi]
mov rax, qword [rdi + 0x38]
cmp rax, 0x10
jb 0x14012d75e
mov rcx, qword [rdi + 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14012d759
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14012d7c4
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.140141034
mov edx, 0x48
mov rcx, rdi
call fcn.140141034
dec qword [r14 + 0x10]
cmp rdi, rbp
je 0x14012d77e
mov rdi, r12
cmp r12, rsi
jne 0x14012d720
jmp 0x14012d7a0
mov rax, qword [rsp + 0x30]
mov qword [r13], rax
mov rcx, qword [rsp + 0x28]
mov qword [rcx + r15*8], rax
cmp r12, rsi
jne 0x14012d67e
jmp 0x14012d7a4
mov r13, qword [rsp + 0x38]
mov qword [r13], rsi
mov rax, qword [rsp + 0x40]
mov qword [rax], rsi
mov qword [rsi + 8], rax
mov rax, rsi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140231990
int3