Function at 0x14002e920
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x130
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x140190040]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rsi, qword [rsp + 0x198]
movaps xmm8, xmm2
movss xmm7, dword [rsp + 0x1a0]
mov rdi, rdx
mov rbx, qword [rsp + 0x190]
mov rbp, rcx
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], rsi
test rsi, rsi
jne 0x14002e9a8
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rbx + rsi], 0
jne 0x14002e997
add rsi, rbx
mov qword [rsp + 0x50], rsi
cvttss2si eax, dword [r9]
mov r14, qword [rsp + 0x188]
movd xmm14, eax
cvttss2si eax, dword [r9 + 4]
cvtdq2ps xmm14, xmm14
movd xmm15, eax
cvtdq2ps xmm15, xmm15
comiss xmm15, dword [r14 + 0xc]
ja 0x14002f312
mov qword [rsp + 0x120], r15
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm6
movaps xmm6, xmm14
movaps xmmword [rsp + 0xe0], xmm9
movss xmm9, dword [rcx + 0x14]
divss xmm8, xmm9
comiss xmm7, xmm0
movss xmm0, dword [r14 + 4]
mulss xmm9, xmm8
seta r15b
movss dword [rsp + 0x3c], xmm6
movss dword [rsp + 0x34], xmm8
movaps xmm1, xmm9
movss dword [rsp + 0x48], xmm9
addss xmm1, xmm15
mov byte [rsp + 0x30], r15b
comiss xmm0, xmm1
jbe 0x14002eace
cmp rbx, rsi
jae 0x14002eace
mov r8, rsi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test r15b, r15b
je 0x14002eaa5
test rax, rax
movss dword [rsp + 0x20], xmm7
mov r9, rsi
mov r8, rbx
cmovne r9, rax
movaps xmm1, xmm8
mov rcx, rbp
call fcn.14002e570
mov rbx, rax
cmp rax, rsi
jae 0x14002ea9b
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14002ea93
cmp al, 9
jne 0x14002ea9b
inc rbx
cmp rbx, rsi
jb 0x14002ea88
cmp byte [rbx], 0xa
jne 0x14002eab1
inc rbx
jmp 0x14002eab1
lea rbx, [rax + 1]
test rax, rax
jne 0x14002eab1
mov rbx, rsi
movss xmm0, dword [r14 + 4]
addss xmm15, xmm9
movaps xmm1, xmm9
addss xmm1, xmm15
comiss xmm0, xmm1
ja 0x14002ea40
mov rax, rsi
sub rax, rbx
cmp rax, 0x2710
jle 0x14002eb37
test r15b, r15b
jne 0x14002eb37
movss xmm7, dword [r14 + 0xc]
mov rax, rbx
comiss xmm7, xmm15
movaps xmm6, xmm15
jbe 0x14002eb23
cmp rax, rsi
jae 0x14002eb23
mov r8, rsi
mov edx, 0xa
sub r8, rax
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14002eb16
inc rax
jmp 0x14002eb19
mov rax, rsi
addss xmm6, xmm9
comiss xmm7, xmm6
ja 0x14002eaf4
movss xmm6, dword [rsp + 0x3c]
mov rsi, rax
movss xmm7, dword [rsp + 0x40]
mov qword [rsp + 0x50], rax
cmp rbx, rsi
je 0x14002f2f9
mov eax, dword [rdi + 0x10]
mov r8d, esi
sub r8d, ebx
mov qword [rsp + 0x178], r12
mov rcx, rdi
mov qword [rsp + 0x128], r13
lea edx, [r8 + r8*2]
shl edx, 2
lea r8d, [r8*8]
add eax, edx
mov dword [rsp + 0x44], eax
call fcn.1400293c0
mov eax, dword [rsp + 0x180]
mov r8, rdi
mov rdi, qword [rdi + 0x40]
or eax, 0xffffff
xor r13d, r13d
mov dword [rsp + 0x38], eax
mov r15, qword [r8 + 0x48]
mov r12d, dword [r8 + 0x34]
cmp rbx, rsi
jae 0x14002f296
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm11
movaps xmmword [rsp + 0xb0], xmm12
movaps xmmword [rsp + 0xa0], xmm13
movss xmm13, dword [rsp + 0x44]
nop dword [rax]
cmp byte [rsp + 0x30], 0
je 0x14002ec4b
test r13, r13
jne 0x14002ec06
movaps xmm1, xmm14
movaps xmm0, xmm7
subss xmm1, xmm6
mov r9, rsi
mov r8, rbx
mov rcx, rbp
subss xmm0, xmm1
movaps xmm1, xmm8
movss dword [rsp + 0x20], xmm0
call fcn.14002e570
mov r13, rax
cmp rbx, r13
jb 0x14002ec4b
addss xmm15, xmm9
movaps xmm14, xmm6
comiss xmm15, dword [r14 + 0xc]
ja 0x14002f26d
xor r13d, r13d
cmp rbx, rsi
jae 0x14002ec3a
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14002ec32
cmp al, 9
jne 0x14002ec3a
inc rbx
cmp rbx, rsi
jb 0x14002ec27
cmp byte [rbx], 0xa
jne 0x14002f251
inc rbx
jmp 0x14002f251
movsx ecx, byte [rbx]
mov dword [rsp + 0x70], ecx
cmp ecx, 0x80
jae 0x14002ec5f
inc rbx
jmp 0x14002ec79
mov r8, rsi
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.14000d460
movsxd rcx, eax
add rbx, rcx
mov ecx, dword [rsp + 0x70]
cmp ecx, 0x20
jae 0x14002eca5
cmp ecx, 0xa
jne 0x14002ec9c
addss xmm15, xmm9
movaps xmm14, xmm6
comiss xmm15, dword [r14 + 0xc]
ja 0x14002f26d
jmp 0x14002f251
cmp ecx, 0xd
je 0x14002f251
movabs r8, 0x100000001b3
movzx edx, cl
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movzx eax, byte [rsp + 0x71]
imul rdx, r8
xor rdx, rax
movzx eax, byte [rsp + 0x72]
imul rdx, r8
xor rdx, rax
movzx eax, byte [rsp + 0x73]
imul rdx, r8
xor rdx, rax
imul rdx, r8
mov r8, qword [0x140191228]
and rdx, qword [0x140191240]
add rdx, rdx
mov rax, qword [r8 + rdx*8 + 8]
cmp rax, qword [0x140191218]
je 0x14002ed20
mov r8, qword [r8 + rdx*8]
cmp ecx, dword [rax + 0x10]
je 0x14002ed22
nop
cmp rax, r8
je 0x14002ed20
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x14002ed10
jmp 0x14002ed22
xor eax, eax
test rax, rax
jne 0x14002ef87
movsxd rax, dword [rbp + 0x18]
mov edx, ecx
cmp rdx, rax
jb 0x14002ed3c
mov rax, qword [rbp + 0x38]
jmp 0x14002ed5a
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + rdx*4]
cmp ecx, 0xffffffff
jne 0x14002ed4e
mov rax, qword [rbp + 0x38]
jmp 0x14002ed5a
mov rax, qword [rbp + 0x30]
lea rcx, [rcx + rcx*4]
lea rax, [rax + rcx*8]
test rax, rax
je 0x14002f251
mov ecx, dword [rax]
movaps xmm13, xmm8
mulss xmm13, dword [rax + 4]
test cl, 2
je 0x14002f245
movss xmm12, dword [r14 + 8]
movaps xmm6, xmm8
mulss xmm6, dword [rax + 8]
movaps xmm3, xmm8
mulss xmm3, dword [rax + 0x10]
movaps xmm5, xmm8
mulss xmm5, dword [rax + 0xc]
addss xmm6, xmm14
movaps xmm4, xmm8
addss xmm3, xmm14
mulss xmm4, dword [rax + 0x14]
comiss xmm12, xmm6
addss xmm5, xmm15
addss xmm4, xmm15
jb 0x14002f245
movss xmm7, dword [r14]
comiss xmm3, xmm7
jb 0x14002f245
cmp byte [rsp + 0x1a8], 0
movss xmm10, dword [rax + 0x18]
movss xmm11, dword [rax + 0x1c]
movss xmm8, dword [rax + 0x20]
movss xmm9, dword [rax + 0x24]
je 0x14002eed8
comiss xmm7, xmm6
jbe 0x14002ee2c
movss xmm1, dword [0x140185944]
movaps xmm0, xmm3
subss xmm0, xmm6
movaps xmm2, xmm3
subss xmm2, xmm7
movaps xmm6, xmm7
divss xmm2, xmm0
movaps xmm0, xmm8
subss xmm0, xmm10
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm10, xmm1
movss xmm7, dword [r14 + 4]
comiss xmm7, xmm5
jbe 0x14002ee6a
movss xmm1, dword [0x140185944]
movaps xmm0, xmm4
subss xmm0, xmm5
movaps xmm2, xmm4
subss xmm2, xmm7
movaps xmm5, xmm7
divss xmm2, xmm0
movaps xmm0, xmm9
subss xmm0, xmm11
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm11, xmm1
comiss xmm3, xmm12
jbe 0x14002ee9b
movaps xmm0, xmm8
subss xmm3, xmm6
movaps xmm1, xmm12
subss xmm0, xmm10
subss xmm1, xmm6
divss xmm1, xmm3
movaps xmm3, xmm12
movaps xmm8, xmm1
mulss xmm8, xmm0
addss xmm8, xmm10
movss xmm2, dword [r14 + 0xc]
comiss xmm4, xmm2
jbe 0x14002eecf
movaps xmm0, xmm9
subss xmm4, xmm5
movaps xmm1, xmm2
subss xmm0, xmm11
subss xmm1, xmm5
divss xmm1, xmm4
movaps xmm4, xmm2
movaps xmm9, xmm1
mulss xmm9, xmm0
addss xmm9, xmm11
comiss xmm5, xmm4
jae 0x14002f245
mov eax, dword [rsp + 0x180]
test cl, 1
movss dword [rdi], xmm6
cmovne eax, dword [rsp + 0x38]
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x24], eax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x4c], eax
lea eax, [r12 + 1]
movss dword [rdi + 4], xmm5
movss dword [rdi + 8], xmm10
movss dword [rdi + 0xc], xmm11
movss dword [rdi + 0x14], xmm3
movss dword [rdi + 0x18], xmm5
movss dword [rdi + 0x1c], xmm8
movss dword [rdi + 0x20], xmm11
movss dword [rdi + 0x28], xmm3
movss dword [rdi + 0x2c], xmm4
movss dword [rdi + 0x30], xmm8
movss dword [rdi + 0x34], xmm9
movss dword [rdi + 0x3c], xmm6
movss dword [rdi + 0x40], xmm4
movss dword [rdi + 0x44], xmm10
movss dword [rdi + 0x48], xmm9
add rdi, 0x50
mov word [r15 + 2], ax
lea eax, [r12 + 2]
mov word [r15 + 4], ax
mov word [r15 + 8], ax
lea eax, [r12 + 3]
mov word [r15], r12w
mov word [r15 + 6], r12w
add r12d, 4
mov word [r15 + 0xa], ax
add r15, 0xc
jmp 0x14002f245
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
call fcn.1400303b0
xor r8d, r8d
mov r9, qword [rax]
mov rax, qword [r9 + 0x20]
sub rax, qword [r9 + 0x18]
sar rax, 2
test rax, rax
je 0x14002f245
mov r10d, dword [rsp + 0x70]
mov esi, dword [rsp + 0x38]
nop word [rax + rax]
movsxd rax, dword [rbp + 0x18]
lea ecx, [r8 + r10]
cmp rcx, rax
jb 0x14002efd3
mov rax, qword [rbp + 0x38]
jmp 0x14002eff1
mov rax, qword [rbp + 0x20]
mov edx, dword [rax + rcx*4]
cmp edx, 0xffffffff
jne 0x14002efe5
mov rax, qword [rbp + 0x38]
jmp 0x14002eff1
mov rax, qword [rbp + 0x30]
lea rcx, [rdx + rdx*4]
lea rax, [rax + rcx*8]
test rax, rax
je 0x14002f228
mov ecx, dword [rax]
movaps xmm13, xmm8
mulss xmm13, dword [rax + 4]
test cl, 2
je 0x14002f228
movaps xmm7, xmm8
movaps xmm3, xmm8
mulss xmm7, dword [rax + 8]
movaps xmm6, xmm8
mulss xmm3, dword [rax + 0x10]
movaps xmm4, xmm8
mulss xmm6, dword [rax + 0xc]
addss xmm7, xmm14
mulss xmm4, dword [rax + 0x14]
addss xmm3, xmm14
movss xmm8, dword [r14 + 8]
addss xmm6, xmm15
comiss xmm8, xmm7
addss xmm4, xmm15
jb 0x14002f221
movss xmm5, dword [r14]
comiss xmm3, xmm5
jb 0x14002f221
cmp byte [rsp + 0x1a8], 0
movss xmm11, dword [rax + 0x18]
movss xmm12, dword [rax + 0x1c]
movss xmm9, dword [rax + 0x20]
movss xmm10, dword [rax + 0x24]
je 0x14002f175
comiss xmm5, xmm7
jbe 0x14002f0c3
movss xmm1, dword [0x140185944]
movaps xmm0, xmm3
subss xmm0, xmm7
movaps xmm2, xmm3
subss xmm2, xmm5
movaps xmm7, xmm5
divss xmm2, xmm0
movaps xmm0, xmm9
subss xmm0, xmm11
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm11, xmm1
movss xmm5, dword [r14 + 4]
comiss xmm5, xmm6
jbe 0x14002f101
movss xmm1, dword [0x140185944]
movaps xmm0, xmm4
subss xmm0, xmm6
movaps xmm2, xmm4
subss xmm2, xmm5
movaps xmm6, xmm5
divss xmm2, xmm0
movaps xmm0, xmm10
subss xmm0, xmm12
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm12, xmm1
comiss xmm3, xmm8
jbe 0x14002f132
movaps xmm0, xmm9
subss xmm3, xmm7
movaps xmm1, xmm8
subss xmm0, xmm11
subss xmm1, xmm7
divss xmm1, xmm3
movaps xmm3, xmm8
movaps xmm9, xmm1
mulss xmm9, xmm0
addss xmm9, xmm11
movss xmm2, dword [r14 + 0xc]
comiss xmm4, xmm2
jbe 0x14002f166
movaps xmm0, xmm10
subss xmm4, xmm6
movaps xmm1, xmm2
subss xmm0, xmm12
subss xmm1, xmm6
divss xmm1, xmm4
movaps xmm4, xmm2
movaps xmm10, xmm1
mulss xmm10, xmm0
addss xmm10, xmm12
comiss xmm6, xmm4
jb 0x14002f175
addss xmm14, xmm13
jmp 0x14002f221
test cl, 1
je 0x14002f17e
mov eax, esi
jmp 0x14002f186
mov rax, qword [r9 + 0x18]
mov eax, dword [rax + r8*4]
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x24], eax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x4c], eax
lea eax, [r12 + 1]
movss dword [rdi], xmm7
movss dword [rdi + 4], xmm6
movss dword [rdi + 8], xmm11
movss dword [rdi + 0xc], xmm12
movss dword [rdi + 0x14], xmm3
movss dword [rdi + 0x18], xmm6
movss dword [rdi + 0x1c], xmm9
movss dword [rdi + 0x20], xmm12
movss dword [rdi + 0x28], xmm3
movss dword [rdi + 0x2c], xmm4
movss dword [rdi + 0x30], xmm9
movss dword [rdi + 0x34], xmm10
movss dword [rdi + 0x3c], xmm7
movss dword [rdi + 0x40], xmm4
movss dword [rdi + 0x44], xmm11
movss dword [rdi + 0x48], xmm10
add rdi, 0x50
mov word [r15 + 2], ax
lea eax, [r12 + 2]
mov word [r15 + 4], ax
mov word [r15 + 8], ax
lea eax, [r12 + 3]
mov word [r15], r12w
mov word [r15 + 6], r12w
add r12d, 4
mov word [r15 + 0xa], ax
add r15, 0xc
movss xmm8, dword [rsp + 0x34]
mov rax, qword [r9 + 0x20]
inc r8
sub rax, qword [r9 + 0x18]
sar rax, 2
cmp r8, rax
jb 0x14002efc0
mov rsi, qword [rsp + 0x50]
movss xmm8, dword [rsp + 0x34]
addss xmm14, xmm13
movss xmm9, dword [rsp + 0x48]
movss xmm6, dword [rsp + 0x3c]
movss xmm7, dword [rsp + 0x40]
cmp rbx, rsi
jb 0x14002ebd0
mov r8, qword [rsp + 0x58]
movaps xmm13, xmmword [rsp + 0xa0]
movaps xmm12, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
mov r13, qword [rsp + 0x128]
mov rcx, rdi
sub rcx, qword [r8 + 0x28]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, dword [r8]
mov dword [r8 + 0x20], edx
mov rdx, r15
sub rdx, qword [r8 + 0x18]
sar rdx, 1
mov dword [r8 + 0x10], edx
sub edx, dword [rsp + 0x44]
imul rcx, rax, 0x38
mov rax, qword [r8 + 8]
add dword [rcx + rax - 0x18], edx
mov dword [r8 + 0x34], r12d
mov r12, qword [rsp + 0x178]
mov qword [r8 + 0x40], rdi
mov qword [r8 + 0x48], r15
movaps xmm6, xmmword [rsp + 0x110]
mov r15, qword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0xe0]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400593d0
lea r11, [rsp + 0x130]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm14, xmmword [r11 - 0xa0]
movaps xmm15, xmmword [r11 - 0xb0]
mov rsp, r11
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret