Function at 0x140080130
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x210
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovss xmm8, dword [0x14010a964]
vmovaps xmmword [rax - 0x78], xmm9
vmovss xmm9, dword [0x14010fc14]
vmovaps xmmword [rax - 0x88], xmm10
vmovss xmm10, dword [0x14010a974]
mov r13, rcx
xor r15d, r15d
mov r14, 0xffffffffffffffff
vxorps xmm7, xmm7, xmm7
mov rcx, r13
call fcn.140083eb0
mov rcx, qword [0x1402f0ca0]
lea rdx, [rbp + 0x90]
vpxor xmm0, xmm0, xmm0
add rcx, 0x18
mov qword [rsp + 0x78], r15
vmovdqu xmmword [rsp + 0x68], xmm0
call fcn.14005a600
mov rdi, rax
movsxd rbx, dword [rax + 8]
mov eax, 8
mul rbx
cmovb rax, r14
mov rcx, rax
call fcn.1400d63ec
mov qword [rsp + 0x60], rax
mov rsi, rax
test rax, rax
je 0x140080203
test rbx, rbx
je 0x14008020b
shl rbx, 3
xor edx, edx
mov r8, rbx
mov rcx, rax
call fcn.140106870
jmp 0x14008020b
mov rsi, r15
mov qword [rsp + 0x60], r15
movsxd r9, dword [rdi + 8]
mov r8, rsi
mov rdx, qword [rdi]
mov rcx, qword [0x1402f0c90]
shl r9, 3
call fcn.14004a030
test al, al
jne 0x140080239
mov rcx, rsi
call fcn.1400d5fb0
mov rsi, r15
mov qword [rsp + 0x60], r15
mov rcx, qword [0x1402f0ca0]
lea rdx, [rbp + 0xa0]
add rcx, 0x18
call fcn.1400654f0
mov rdi, rax
movsxd rbx, dword [rax + 8]
mov eax, 8
mul rbx
cmovb rax, r14
mov rcx, rax
call fcn.1400d63ec
mov qword [rbp - 0x80], rax
mov r14, rax
test rax, rax
je 0x14008028f
test rbx, rbx
je 0x140080296
shl rbx, 3
xor edx, edx
mov r8, rbx
mov rcx, rax
call fcn.140106870
jmp 0x140080296
mov r14, r15
mov qword [rbp - 0x80], r15
movsxd r9, dword [rdi + 8]
mov r8, r14
mov rdx, qword [rdi]
mov rcx, qword [0x1402f0c90]
shl r9, 3
call fcn.14004a030
test al, al
jne 0x1400802c0
mov rcx, r14
call fcn.1400d5fb0
mov qword [rbp - 0x80], r15
mov rcx, qword [0x1402f0ca0]
lea rdx, [rbp + 0x70]
mov ebx, r15d
add rcx, 0x18
mov dword [rbp + 0x158], ebx
mov r12, r15
call fcn.14005a600
cmp dword [rax + 8], 0
jle 0x14008098b
nop word [rax + rax]
mov rdx, qword [rsi + r12*8]
test rdx, rdx
je 0x140080960
xor eax, eax
mov qword [rbp + 0x168], rdx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 8], xmm0
mov byte [rbp + 8], al
lea rcx, [rbp + 0x40]
mov dword [rbp - 0x20], eax
lea r8, [rbp + 0x160]
mov dword [rbp - 0x10], eax
mov edi, 0xf
mov word [rbp + 0x28], ax
add rdx, 0x18
mov byte [rbp + 0x2a], al
mov r9d, 8
mov rax, qword [0x1402f0c90]
mov qword [rsp + 0x20], rcx
vmovups xmmword [rbp - 0x60], xmm0
vmovss dword [rbp - 0x6c], xmm7
mov rcx, qword [rax + 0x20]
vmovss dword [rbp - 0x68], xmm7
vmovss dword [rbp - 0x64], xmm7
vmovss dword [rbp - 0x24], xmm7
vmovss dword [rbp - 0x28], xmm7
vmovss dword [rbp - 0x2c], xmm7
vmovss dword [rbp - 0x14], xmm7
vmovss dword [rbp - 0x18], xmm7
vmovss dword [rbp - 0x1c], xmm7
mov word [rbp - 0x70], 0
mov qword [rbp - 0x50], r15
mov byte [rbp - 0x60], 0
mov dword [rbp - 0x40], r15d
vmovups xmmword [rbp - 0x3c], xmm0
mov dword [rbp - 8], r15d
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], rdi
call qword [rax + 8]
lea rcx, [0x140151270]
call fcn.1400d8218
test eax, eax
jne 0x140080c96
cmp dword [0x1401512bc], 0x7fffffff
je 0x140080c81
mov rax, qword [rbp + 0x160]
movabs r8, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
movzx edx, al
xor rdx, rcx
movzx ecx, byte [rbp + 0x161]
imul rdx, r8
xor rdx, rcx
movzx ecx, byte [rbp + 0x162]
imul rdx, r8
xor rdx, rcx
movzx ecx, byte [rbp + 0x163]
imul rdx, r8
xor rdx, rcx
imul rdx, r8
mov r8, qword [0x140151208]
and rdx, qword [0x140151220]
add rdx, rdx
mov rcx, qword [r8 + rdx*8 + 8]
cmp rcx, qword [0x1401511f8]
je 0x140080450
mov r8, qword [r8 + rdx*8]
cmp eax, dword [rcx + 0x10]
je 0x140080453
nop dword [rax]
cmp rcx, r8
je 0x140080450
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x140080440
jmp 0x140080453
mov rcx, r15
test rcx, rcx
je 0x140080485
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0xb0]
lea rcx, [0x1401511f0]
call fcn.14004acd0
lea rcx, [rsp + 0x30]
mov rdx, qword [rax]
add rdx, 0x18
call fcn.14004bff0
jmp 0x14008049e
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rdi
lea rcx, [0x140151270]
call fcn.1400d8220
vmovups ymm1, ymmword [rsp + 0x30]
vextractf128 xmm0, ymm1, 1
vmovq rax, xmm0
vmovups ymmword [rbp - 0x60], ymm1
test rax, rax
jne 0x14008052a
test r15, r15
je 0x1400804db
mov rcx, r15
vzeroupper
call fcn.1400d5fb0
vmovups ymm1, ymmword [rsp + 0x30]
vextractf128 xmm0, ymm1, 1
vpextrq rdx, xmm0, 1
cmp rdx, rdi
jbe 0x140080960
inc rdx
vmovq rcx, xmm1
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008051d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140080ca1
vzeroupper
call fcn.1400d5fb0
jmp 0x140080960
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x168]
vzeroupper
call fcn.1400598f0
cmp qword [rax], 0
jne 0x14008054d
test r15, r15
je 0x1400804d5
mov rcx, r15
jmp 0x1400804d0
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x168]
call fcn.14004f2e0
vmovss xmm1, dword [rax]
vcomiss xmm1, xmm9
vmovss xmm0, dword [rax + 4]
vmovss xmm2, dword [rax + 8]
vmovss dword [rbp - 0x6c], xmm1
vmovss dword [rbp - 0x68], xmm0
vmovss dword [rbp - 0x64], xmm2
jbe 0x1400805a7
vcomiss xmm1, xmm8
jae 0x1400805a7
vcomiss xmm0, xmm9
jbe 0x1400805a7
vcomiss xmm0, xmm8
jae 0x1400805a7
vcomiss xmm2, xmm9
jbe 0x1400805a7
vcomiss xmm2, xmm8
jb 0x140080543
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x168]
call fcn.1400598f0
lea rcx, [rbp + 0x58]
mov r9d, 0x30
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x30]
mov rdx, qword [rax]
mov rax, qword [0x1402f0c90]
add rdx, 0x1d0
vmovss dword [rsp + 0x48], xmm7
vmovss dword [rsp + 0x44], xmm7
vmovss dword [rsp + 0x40], xmm7
vmovss dword [rsp + 0x58], xmm7
vmovss dword [rsp + 0x54], xmm7
vmovss dword [rsp + 0x50], xmm7
mov rcx, qword [rax + 0x20]
call qword [rax + 8]
movzx eax, byte [rsp + 0x4c]
lea rdx, [rbp + 0x60]
vmovups xmm0, xmmword [rsp + 0x30]
vmovss xmm1, dword [rsp + 0x44]
mov byte [rbp - 0x20], al
lea rcx, [rbp + 0x168]
movzx eax, byte [rsp + 0x4d]
mov r14, r15
mov byte [rbp - 0x1f], al
movzx eax, byte [rsp + 0x4e]
mov byte [rbp - 0x1e], al
movzx eax, byte [rsp + 0x4f]
mov byte [rbp - 0x1d], al
movzx eax, byte [rsp + 0x5c]
vmovups xmmword [rbp - 0x3c], xmm0
vmovss xmm0, dword [rsp + 0x40]
mov byte [rbp - 0x10], al
movzx eax, byte [rsp + 0x5d]
vmovss dword [rbp - 0x2c], xmm0
vmovss xmm0, dword [rsp + 0x48]
mov byte [rbp - 0xf], al
movzx eax, byte [rsp + 0x5e]
vmovss dword [rbp - 0x24], xmm0
vmovss xmm0, dword [rsp + 0x50]
mov byte [rbp - 0xe], al
movzx eax, byte [rsp + 0x5f]
vmovss dword [rbp - 0x28], xmm1
vmovss xmm1, dword [rsp + 0x54]
vmovss dword [rbp - 0x1c], xmm0
vmovss xmm0, dword [rsp + 0x58]
mov byte [rbp - 0xd], al
vmovss dword [rbp - 0x18], xmm1
vmovss dword [rbp - 0x14], xmm0
call fcn.1400598f0
lea rcx, [rbp + 0x68]
mov r9d, 0x20
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0x30]
mov rdx, qword [rax]
mov rax, qword [0x1402f0c90]
add rdx, 0x4e0
mov rcx, qword [rax + 0x20]
call qword [rax + 8]
cmp qword [rsp + 0x30], 0
je 0x1400806e7
cmp dword [rsp + 0x38], 0
lea rax, [rsp + 0x30]
jne 0x1400806ec
lea rax, [rsp + 0x40]
vmovups xmm6, xmmword [rax]
vpextrd r15d, xmm6, 2
mov rcx, 0xffffffffffffffff
movsxd rdi, r15d
mov eax, 0x30
mul rdi
cmovb rax, rcx
mov rcx, rax
call fcn.1400d63ec
mov rbx, rax
test rax, rax
je 0x140080749
mov rcx, rdi
test r15d, r15d
je 0x14008074b
add rax, 0x14
xor edx, edx
nop word [rax + rax]
mov qword [rax], rdx
mov dword [rax - 4], edx
mov qword [rax + 0x10], rdx
mov dword [rax + 0xc], edx
lea rax, [rax + 0x30]
sub rcx, 1
jne 0x140080730
jmp 0x14008074b
xor ebx, ebx
mov rcx, qword [0x1402f0c90]
lea rsi, [rdi + rdi*2]
shl rsi, 4
mov r8, rbx
mov r9, rsi
vmovq rdx, xmm6
call fcn.14004a030
test al, al
je 0x1400807f1
test rbx, rbx
je 0x1400807f9
mov rcx, 0xffffffffffffffff
mov eax, 0x30
mul rdi
cmovb rax, rcx
mov rcx, rax
call fcn.1400d63ec
mov r14, rax
test rax, rax
je 0x1400807c9
mov rcx, rdi
test r15d, r15d
je 0x1400807cc
add rax, 0x14
xor edx, edx
nop dword [rax]
mov qword [rax], rdx
mov dword [rax - 4], edx
mov qword [rax + 0x10], rdx
mov dword [rax + 0xc], edx
lea rax, [rax + 0x30]
sub rcx, 1
jne 0x1400807b0
jmp 0x1400807cc
xor r14d, r14d
mov rdx, r14
mov rcx, rsi
test rsi, rsi
je 0x1400807f1
mov r8, rbx
sub r8, r14
nop dword [rax]
movzx eax, byte [r8 + rdx]
mov byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x1400807e0
mov rcx, rbx
call fcn.1400d5fb0
mov rcx, 0xffffffffffffffff
mov dword [rbp - 8], r15d
mov eax, 0x30
mul rdi
cmovb rax, rcx
mov rcx, rax
call fcn.1400d63ec
mov rbx, rax
test rax, rax
je 0x140080850
test r15d, r15d
je 0x14008084b
lea rcx, [rax + 0x14]
xor r15d, r15d
nop dword [rax]
mov qword [rcx], r15
mov dword [rcx - 4], r15d
mov qword [rcx + 0x10], r15
mov dword [rcx + 0xc], r15d
lea rcx, [rcx + 0x30]
sub rdi, 1
jne 0x140080830
jmp 0x140080856
xor r15d, r15d
jmp 0x140080856
xor r15d, r15d
mov ebx, r15d
mov qword [rbp], rbx
test r15, r15
je 0x140080867
mov rcx, r15
call fcn.1400d5fb0
test rbx, rbx
je 0x140080890
test rsi, rsi
je 0x140080890
mov rdx, r14
sub rdx, rbx
nop word [rax + rax]
movzx eax, byte [rdx + rbx]
mov byte [rbx], al
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x140080880
test r14, r14
je 0x14008089d
mov rcx, r14
call fcn.1400d5fb0
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x78]
je 0x1400808c0
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.14004c1e0
add qword [rsp + 0x70], 0xb0
jmp 0x1400808d1
lea r8, [rbp - 0x70]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14004a300
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x14008090c
mov rcx, qword [rbp + 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140080907
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140080ca1
call fcn.1400d5fb0
mov rcx, qword [rbp]
test rcx, rcx
je 0x14008091a
call fcn.1400d5fb0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140080955
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140080950
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140080ca1
call fcn.1400d5fb0
mov rsi, qword [rsp + 0x60]
mov ebx, dword [rbp + 0x158]
mov rcx, qword [0x1402f0ca0]
lea rdx, [rbp + 0x70]
inc ebx
add rcx, 0x18
mov dword [rbp + 0x158], ebx
inc r12
vzeroupper
call fcn.14005a600
cmp ebx, dword [rax + 8]
jl 0x1400802f0
mov rbx, qword [rbp - 0x80]
mov rcx, rbx
call fcn.140051950
test eax, eax
je 0x1400809bb
mov rax, qword [0x1402f0ca8]
cmp byte [rax + 0xab], 0
jne 0x1400809bb
cmp byte [rax + 0xb5], 1
jne 0x1400809bb
mov byte [rax + 0xab], 1
mov rcx, rbx
call fcn.140055a70
cmp eax, 0x64
je 0x1400809e8
mov rax, qword [0x1402f0ca8]
cmp byte [rax + 0xa0], 0
jne 0x1400809e8
cmp byte [rax + 0xb4], 1
jne 0x1400809e8
mov byte [rax + 0xa0], 1
mov rcx, rbx
call fcn.14005b050
vcomiss xmm0, xmm10
jae 0x140080a17
mov rax, qword [0x1402f0ca8]
cmp byte [rax + 0xa2], 0
jne 0x140080a17
cmp byte [rax + 0xb6], 1
jne 0x140080a17
mov byte [rax + 0xa2], 1
mov rcx, rsi
call fcn.1400d5fb0
mov rcx, rbx
call fcn.1400d5fb0
mov rbx, qword [r13]
mov rdi, qword [r13 + 8]
cmp rbx, rdi
je 0x140080a50
mov rcx, rbx
call fcn.14004c760
add rbx, 0xb0
cmp rbx, rdi
jne 0x140080a34
mov rax, qword [r13]
mov qword [r13 + 8], rax
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
cmp rbx, rdi
je 0x140080bd3
add rbx, 4
nop word [rax + rax]
movzx eax, byte [rbx - 4]
lea rdx, [rbx + 0xc]
vmovsd xmm0, qword [rbx]
mov byte [rbp - 0x70], al
lea rcx, [rbp - 0x60]
movzx eax, byte [rbx - 3]
mov byte [rbp - 0x6f], al
mov eax, dword [rbx + 8]
mov dword [rbp - 0x64], eax
vmovsd qword [rbp - 0x6c], xmm0
call fcn.14004bff0
vmovups ymm0, ymmword [rbx + 0x30]
vmovups xmm1, xmmword [rbx + 0x50]
mov eax, dword [rbx + 0x2c]
lea rdx, [rbx + 0x64]
vmovups ymmword [rbp - 0x3c], ymm0
vmovups xmmword [rbp - 0x1c], xmm1
mov dword [rbp - 0x40], eax
lea rcx, [rbp - 8]
vzeroupper
call fcn.14004c120
lea rdx, [rbx + 0x74]
lea rcx, [rbp + 8]
call fcn.14004bff0
movzx eax, byte [rbx + 0x94]
mov byte [rbp + 0x28], al
movzx eax, byte [rbx + 0x95]
mov byte [rbp + 0x29], al
movzx eax, byte [rbx + 0x96]
mov byte [rbp + 0x2a], al
mov eax, dword [rbx + 0x98]
mov dword [rbp + 0x2c], eax
mov eax, dword [rbx + 0x9c]
mov dword [rbp + 0x30], eax
mov rax, qword [rbx + 0xa4]
mov qword [rbp + 0x38], rax
mov rax, qword [r13 + 8]
cmp rax, qword [r13 + 0x10]
je 0x140080b2c
lea rdx, [rbp - 0x70]
mov rcx, rax
call fcn.14004c1e0
add qword [r13 + 8], 0xb0
jmp 0x140080b3b
lea r8, [rbp - 0x70]
mov rdx, rax
mov rcx, r13
call fcn.14004a300
mov rdx, qword [rbp + 0x20]
cmp rdx, 0xf
jbe 0x140080b76
mov rcx, qword [rbp + 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140080b71
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140080ca1
call fcn.1400d5fb0
mov rcx, qword [rbp]
test rcx, rcx
je 0x140080b84
call fcn.1400d5fb0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x140080bbf
mov rcx, qword [rbp - 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140080bba
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140080ca1
call fcn.1400d5fb0
add rbx, 0xb0
lea rax, [rbx - 4]
cmp rax, rdi
jne 0x140080a70
lea rcx, [rbp + 0x158]
mov qword [rbp + 0x158], 0x1e
call fcn.14004bd30
mov rbx, qword [rsp + 0x68]
mov r14, 0xffffffffffffffff
test rbx, rbx
je 0x140080195
mov rdi, qword [rsp + 0x70]
cmp rbx, rdi
je 0x140080c29
nop dword [rax]
mov rcx, rbx
call fcn.14004c760
add rbx, 0xb0
cmp rbx, rdi
jne 0x140080c10
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
movabs rax, 0x2e8ba2e8ba2e8ba3
sub rcx, rbx
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, rbx
imul rdx, rdx, 0xb0
cmp rdx, 0x1000
jb 0x140080c74
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140080ca1
mov rcx, rbx
call fcn.1400d5fb0
jmp 0x140080195
mov ecx, 6
mov dword [0x1401512bc], 0x7ffffffe
call fcn.1400d8494
int3
mov ecx, 5
call fcn.1400d8494
int3
vzeroupper
call fcn.1400ebc08
int3