Function at 0x14012c710
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 0x14012c8cc
mov r14, rcx
mov r8, qword [rcx + 8]
mov rcx, qword [rcx + 0x38]
shr rcx, 3
cmp rcx, rax
jbe 0x14012c74e
mov rdx, qword [r8]
mov rcx, r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
jmp 0x14012c8e0
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rdi, qword [r8]
test rdi, rdi
jne 0x14012c7fe
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 0x14012c8cc
mov rdx, qword [r14 + 8]
mov r9, rcx
sub r9, rax
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jb 0x14012c8c0
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 0x14012c83d
xor edi, edi
jmp 0x14012c889
call fcn.140141034
mov edx, 0x40
mov rcx, rdi
call fcn.140141034
mov rdi, rbx
test rbx, rbx
je 0x14012c765
mov rbx, qword [rdi]
mov rax, qword [rdi + 0x30]
cmp rax, 0x10
jb 0x14012c7e5
mov rcx, qword [rdi + 0x18]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14012c7e0
mov rsi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rsi
cmp rcx, 0x20
jae 0x14012c8d6
add rax, 0x28
mov rdx, rax
mov rcx, rsi
jmp 0x14012c7e0
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 0x14012c850
test rbx, rbx
je 0x14012c8b4
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 0x14012c8a0
cmp r9, r8
je 0x14012c8cc
lea rax, [rax + r8*8]
nop dword [rax]
mov qword [rax], rdx
add rax, 8
cmp rax, rcx
jne 0x14012c8c0
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 0x14012ca46
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 + 0x30]
cmp rax, 0x10
jb 0x14012ca12
mov rcx, qword [rbx + 0x18]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14012ca0d
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jae 0x14012cbc4
add rax, 0x28
mov rdx, rax
mov rcx, rdi
call fcn.140141034
mov edx, 0x40
mov rcx, rbx
call fcn.140141034
dec qword [r14 + 0x10]
cmp rbx, r15
je 0x14012ca4e
cmp r12, rsi
setne al
or al, bpl
cmp al, 1
jne 0x14012cb9b
mov rbx, r12
cmp r12, rsi
jne 0x14012c9d0
jmp 0x14012cba4
mov rsi, r13
jmp 0x14012cbb0
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x48], r13
jne 0x14012ca67
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 0x14012cba4
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 + 0x30]
cmp rax, 0x10
jb 0x14012cb5e
mov rcx, qword [rdi + 0x18]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14012cb59
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x14012cbc4
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.140141034
mov edx, 0x40
mov rcx, rdi
call fcn.140141034
dec qword [r14 + 0x10]
cmp rdi, rbp
je 0x14012cb7e
mov rdi, r12
cmp r12, rsi
jne 0x14012cb20
jmp 0x14012cba0
mov rax, qword [rsp + 0x30]
mov qword [r13], rax
mov rcx, qword [rsp + 0x28]
mov qword [rcx + r15*8], rax
cmp r12, rsi
jne 0x14012ca7e
jmp 0x14012cba4
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