Function at 0x14002b390
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 [0x1401be040]
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 0x14002b418
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [rbx + rsi], 0
jne 0x14002b407
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 0x14002bd82
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 0x14002b53e
cmp rbx, rsi
jae 0x14002b53e
mov r8, rsi
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test r15b, r15b
je 0x14002b515
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.14002afe0
mov rbx, rax
cmp rax, rsi
jae 0x14002b50b
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14002b503
cmp al, 9
jne 0x14002b50b
inc rbx
cmp rbx, rsi
jb 0x14002b4f8
cmp byte [rbx], 0xa
jne 0x14002b521
inc rbx
jmp 0x14002b521
lea rbx, [rax + 1]
test rax, rax
jne 0x14002b521
mov rbx, rsi
movss xmm0, dword [r14 + 4]
addss xmm15, xmm9
movaps xmm1, xmm9
addss xmm1, xmm15
comiss xmm0, xmm1
ja 0x14002b4b0
mov rax, rsi
sub rax, rbx
cmp rax, 0x2710
jle 0x14002b5a7
test r15b, r15b
jne 0x14002b5a7
movss xmm7, dword [r14 + 0xc]
mov rax, rbx
comiss xmm7, xmm15
movaps xmm6, xmm15
jbe 0x14002b593
cmp rax, rsi
jae 0x14002b593
mov r8, rsi
mov edx, 0xa
sub r8, rax
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14002b586
inc rax
jmp 0x14002b589
mov rax, rsi
addss xmm6, xmm9
comiss xmm7, xmm6
ja 0x14002b564
movss xmm6, dword [rsp + 0x3c]
mov rsi, rax
movss xmm7, dword [rsp + 0x40]
mov qword [rsp + 0x50], rax
cmp rbx, rsi
je 0x14002bd69
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.140025f10
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 0x14002bd06
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 0x14002b6bb
test r13, r13
jne 0x14002b676
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.14002afe0
mov r13, rax
cmp rbx, r13
jb 0x14002b6bb
addss xmm15, xmm9
movaps xmm14, xmm6
comiss xmm15, dword [r14 + 0xc]
ja 0x14002bcdd
xor r13d, r13d
cmp rbx, rsi
jae 0x14002b6aa
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14002b6a2
cmp al, 9
jne 0x14002b6aa
inc rbx
cmp rbx, rsi
jb 0x14002b697
cmp byte [rbx], 0xa
jne 0x14002bcc1
inc rbx
jmp 0x14002bcc1
movsx ecx, byte [rbx]
mov dword [rsp + 0x70], ecx
cmp ecx, 0x80
jae 0x14002b6cf
inc rbx
jmp 0x14002b6e9
mov r8, rsi
lea rcx, [rsp + 0x70]
mov rdx, rbx
call fcn.14000adc0
movsxd rcx, eax
add rbx, rcx
mov ecx, dword [rsp + 0x70]
cmp ecx, 0x20
jae 0x14002b715
cmp ecx, 0xa
jne 0x14002b70c
addss xmm15, xmm9
movaps xmm14, xmm6
comiss xmm15, dword [r14 + 0xc]
ja 0x14002bcdd
jmp 0x14002bcc1
cmp ecx, 0xd
je 0x14002bcc1
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 [0x1401c3978]
and rdx, qword [0x1401c3990]
add rdx, rdx
mov rax, qword [r8 + rdx*8 + 8]
cmp rax, qword [0x1401c3968]
je 0x14002b790
mov r8, qword [r8 + rdx*8]
cmp ecx, dword [rax + 0x10]
je 0x14002b792
nop
cmp rax, r8
je 0x14002b790
mov rax, qword [rax + 8]
cmp ecx, dword [rax + 0x10]
jne 0x14002b780
jmp 0x14002b792
xor eax, eax
test rax, rax
jne 0x14002b9f7
movsxd rax, dword [rbp + 0x18]
mov edx, ecx
cmp rdx, rax
jb 0x14002b7ac
mov rax, qword [rbp + 0x38]
jmp 0x14002b7ca
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + rdx*4]
cmp ecx, 0xffffffff
jne 0x14002b7be
mov rax, qword [rbp + 0x38]
jmp 0x14002b7ca
mov rax, qword [rbp + 0x30]
lea rcx, [rcx + rcx*4]
lea rax, [rax + rcx*8]
test rax, rax
je 0x14002bcc1
mov ecx, dword [rax]
movaps xmm13, xmm8
mulss xmm13, dword [rax + 4]
test cl, 2
je 0x14002bcb5
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 0x14002bcb5
movss xmm7, dword [r14]
comiss xmm3, xmm7
jb 0x14002bcb5
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 0x14002b948
comiss xmm7, xmm6
jbe 0x14002b89c
movss xmm1, dword [0x1401ade6c]
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 0x14002b8da
movss xmm1, dword [0x1401ade6c]
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 0x14002b90b
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 0x14002b93f
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 0x14002bcb5
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 0x14002bcb5
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
call fcn.14002ccb0
xor r8d, r8d
mov r9, qword [rax]
mov rax, qword [r9 + 0x20]
sub rax, qword [r9 + 0x18]
sar rax, 2
test rax, rax
je 0x14002bcb5
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 0x14002ba43
mov rax, qword [rbp + 0x38]
jmp 0x14002ba61
mov rax, qword [rbp + 0x20]
mov edx, dword [rax + rcx*4]
cmp edx, 0xffffffff
jne 0x14002ba55
mov rax, qword [rbp + 0x38]
jmp 0x14002ba61
mov rax, qword [rbp + 0x30]
lea rcx, [rdx + rdx*4]
lea rax, [rax + rcx*8]
test rax, rax
je 0x14002bc98
mov ecx, dword [rax]
movaps xmm13, xmm8
mulss xmm13, dword [rax + 4]
test cl, 2
je 0x14002bc98
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 0x14002bc91
movss xmm5, dword [r14]
comiss xmm3, xmm5
jb 0x14002bc91
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 0x14002bbe5
comiss xmm5, xmm7
jbe 0x14002bb33
movss xmm1, dword [0x1401ade6c]
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 0x14002bb71
movss xmm1, dword [0x1401ade6c]
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 0x14002bba2
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 0x14002bbd6
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 0x14002bbe5
addss xmm14, xmm13
jmp 0x14002bc91
test cl, 1
je 0x14002bbee
mov eax, esi
jmp 0x14002bbf6
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 0x14002ba30
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 0x14002b640
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.140072850
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