Function at 0x1401caad0
Capabilities:
Hash data using fnv

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov qword [rsp + 0xb8], rbx
mov r9d, edx
mov r14, rcx
xor edi, edi
mov dword [rbp + 0x40], edi
lea rbx, [rcx + 0x158]
mov rdx, qword [rbx + 8]
cmp qword [rbx + 0x10], rdx
je 0x1401cab1c
mov dword [rdx], r9d
add qword [rbx + 8], 4
jmp 0x1401cab2c
lea r8, [rbp + 0x48]
mov rcx, rbx
call fcn.1401c84c0
mov r9d, dword [rbp + 0x48]
mov r8, qword [rbx]
mov r10d, dword [r8]
cmp r10d, r9d
jne 0x1401cab6c
mov rdx, qword [r14 + 0x160]
mov rcx, rdx
sub rcx, r8
sar rcx, 2
mov eax, dword [r14 + 0x1c8]
inc eax
cmp rcx, rax
je 0x1401cab6c
cmp rcx, 1
jbe 0x1401cab6c
lea rax, [rdx - 4]
mov qword [r14 + 0x160], rax
jmp 0x1401cae7a
mov rdx, qword [r14 + 0x160]
mov rcx, rdx
sub rcx, r8
sar rcx, 2
mov eax, dword [r14 + 0x1c8]
inc eax
cmp rcx, rax
jne 0x1401cad3b
cmp r10d, r9d
jne 0x1401cae72
mov qword [rbp - 0x20], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
movzx r9d, byte [rbp + 0x48]
lea rcx, [rbp - 0x20]
call fcn.1401c91e0
nop
mov qword [rbp - 0x38], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov ebx, 1
mov dword [rbp + 0x40], ebx
mov rsi, qword [rbp - 0x18]
mov r15, qword [rbp - 0x20]
sub rsi, r15
sar rsi, 2
lea r12, [rsi - 1]
test r12, r12
je 0x1401cac75
lea rdi, [r15 + 4]
movabs r13, 0x100000001
mov rdx, qword [rbp - 0x30]
mov ecx, dword [rdi - 4]
cmp ecx, 0x20000000
jae 0x1401cac1e
cmp rsi, rbx
jbe 0x1401cae9e
mov r8d, dword [rdi]
sub r8d, 0x20000000
shl r8, 0x21
add ecx, ecx
add r8, rcx
jmp 0x1401cac3d
cmp rsi, rbx
jbe 0x1401caea4
lea r8d, [rcx - 0x20000000]
shl r8, 0x21
mov eax, dword [rdi]
lea ecx, [rax + rax]
add r8, rcx
or r8, r13
cmp qword [rbp - 0x28], rdx
mov qword [rbp + 0x50], r8
je 0x1401cac54
mov qword [rdx], r8
add rdx, 8
mov qword [rbp - 0x30], rdx
jmp 0x1401cac65
lea r8, [rbp + 0x50]
lea rcx, [rbp - 0x38]
call fcn.140058a30
mov rdx, qword [rbp - 0x30]
inc rbx
add rdi, 4
lea rax, [rbx - 1]
cmp rax, r12
jb 0x1401cabf5
test r15, r15
je 0x1401cacba
mov rax, qword [rbp - 0x10]
sub rax, r15
sar rax, 2
lea rdx, [rax*4]
mov rax, r15
cmp rdx, 0x1000
jb 0x1401cacb2
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401cae98
mov rcx, r15
call fcn.140177360
mov rax, qword [r14 + 0x1d8]
cmp qword [r14 + 0x1e0], rax
je 0x1401cace0
lea rdx, [rbp - 0x38]
mov rcx, rax
call fcn.140047da0
add qword [r14 + 0x1d8], 0x18
jmp 0x1401cacf4
lea r8, [rbp - 0x38]
mov rdx, rax
lea rcx, [r14 + 0x1d0]
call fcn.1401c8660
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x1401cae72
mov rdx, qword [rbp - 0x28]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401cad31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401cae92
call fcn.140177360
jmp 0x1401cae72
movzx ecx, r9b
movabs r15, 0xcbf29ce484222325
xor rcx, r15
movabs rsi, 0x100000001b3
imul rcx, rsi
movzx eax, byte [rbp + 0x49]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbp + 0x4a]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbp + 0x4b]
xor rcx, rax
imul rcx, rsi
mov rdx, qword [r14 + 0x70]
and rdx, rcx
add rdx, rdx
mov rcx, qword [r14 + 0x58]
mov r10, qword [rcx + rdx*8]
mov rax, r10
mov r8, qword [r14 + 0x48]
lea r11, [rcx + rdx*8]
cmp r10, r8
jne 0x1401cada2
mov rcx, r8
jmp 0x1401cada9
mov rcx, qword [r11 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401cadb9
cmp dword [rax + 0x10], r9d
je 0x1401cadbc
mov rax, qword [rax]
jmp 0x1401cad98
mov rax, r8
cmp rax, r8
je 0x1401cae72
mov rdi, qword [rax + 0x20]
mov rbx, qword [rax + 0x18]
cmp rbx, rdi
je 0x1401cae72
nop word [rax + rax]
movzx ecx, byte [rbx]
xor rcx, r15
imul rcx, rsi
movzx eax, byte [rbx + 1]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbx + 2]
xor rcx, rax
imul rcx, rsi
movzx eax, byte [rbx + 3]
xor rcx, rax
imul rcx, rsi
mov rdx, qword [r14 + 0xb0]
and rdx, rcx
add rdx, rdx
mov rcx, qword [r14 + 0x98]
mov r9, qword [rcx + rdx*8]
mov rax, r9
mov r8, qword [r14 + 0x88]
lea r10, [rcx + rdx*8]
cmp r9, r8
jne 0x1401cae3b
mov rcx, r8
jmp 0x1401cae42
mov rcx, qword [r10 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401cae53
mov ecx, dword [rbx]
cmp dword [rax + 0x10], ecx
je 0x1401cae56
mov rax, qword [rax]
jmp 0x1401cae31
mov rax, r8
cmp rax, r8
je 0x1401cae65
mov edx, dword [rbx]
mov rcx, r14
call fcn.1401caad0
add rbx, 4
cmp rbx, rdi
jne 0x1401cade0
add qword [r14 + 0x160], 0xfffffffffffffffc
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14019862c
nop
call fcn.14019862c
nop
call fcn.14003e4d0
int3
call fcn.14003e4d0
int3