Function at 0x1401faa40
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
mov rsi, rcx
mov rax, qword [rcx + 0x198]
movd xmm1, dword [rax + 0x2b0]
cvtdq2ps xmm1, xmm1
call fcn.1401cc040
mov rbx, rax
mov qword [rsi + 0xa8], rax
test rax, rax
je 0x1401fb282
cmp byte [rax + 0xa7], 0
je 0x1401fb282
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x1401fb282
cmp byte [rbx + 0xa5], al
je 0x1401fb282
cmp byte [rbx + 0xa4], al
je 0x1401fb282
mov rbx, qword [rsi + 0xa8]
test rbx, rbx
je 0x1401fb282
cmp byte [rbx + 0xa7], al
je 0x1401fb282
mov rcx, rbx
call fcn.14006b660
test al, al
jne 0x1401fb282
cmp byte [rbx + 0xa5], al
je 0x1401fb282
cmp byte [rbx + 0xa4], al
je 0x1401fb282
mov rdx, qword [0x140302380]
cmp dword [rdx + 0x3f0], 0
jbe 0x1401fab58
cmp dword [rdx + 0x3ec], 0
je 0x1401fb282
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rdx + 0x3f8]
jb 0x1401fb282
mov eax, dword [rdx + 0x3e8]
test eax, eax
je 0x1401fb282
dec eax
movss xmm0, dword [rdx + 0x30]
comiss xmm0, dword [rdx + rax*4 + 0x420]
jb 0x1401fb282
mov rax, qword [rsi + 0x110]
cmp byte [rax + 0x2b0], 0
je 0x1401fb282
mov rax, qword [rsi + 0xa8]
movsd xmm0, qword [rax + 8]
movss xmm1, dword [rdx + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm1, xmm0
movss xmm2, dword [rdx + 0x10]
subss xmm2, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401fabe6
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401fabee
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov rax, qword [rsi + 0x198]
movd xmm1, dword [rax + 0x2b0]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1401fb282
call fcn.140146640
mov r15, qword [rsi + 0xa8]
movsd xmm0, qword [r15 + 8]
movsd qword [rsp + 0x20], xmm0
mov ecx, dword [r15 + 0x10]
mov dword [rsp + 0x28], ecx
mov rbx, qword [rax + 0x18]
mov rdi, qword [rax + 0x20]
cmp rbx, rdi
je 0x1401facc7
mov r14, qword [0x140302380]
movss xmm7, dword [rsp + 0x28]
movss xmm8, dword [rsp + 0x20]
movss xmm6, dword [0x1402c8258]
cmp byte [rbx + 0xa7], 0
je 0x1401faca5
mov eax, dword [r14 + 0x1c]
cmp dword [rbx + 0x1c], eax
je 0x1401faca5
movss xmm0, dword [rbx + 8]
subss xmm0, xmm8
movss xmm1, dword [rbx + 0x10]
subss xmm1, xmm7
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1401fac98
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1401faca0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jae 0x1401facb3
add rbx, 0x230
cmp rbx, rdi
jne 0x1401fac56
jmp 0x1401facc7
mov rax, qword [rsi + 0x1a0]
cmp byte [rax + 0x2b2], 0
je 0x1401fb282
movaps xmm2, xmmword [0x1402c9280]
xor edi, edi
mov qword [rsp + 0x70], rdi
mov byte [rsp + 0x78], 1
movss xmm1, dword [0x140302828]
movss xmm3, dword [0x14030282c]
movss xmm4, dword [0x140302830]
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
mov byte [rbp - 0x68], dil
mov dword [rbp - 0x64], edi
movaps xmmword [rbp - 0x60], xmm2
movaps xmm0, xmmword [rsp + 0x70]
shufps xmm0, xmm0, 0x93
movss xmm0, xmm1
shufps xmm0, xmm0, 0x39
movaps xmmword [rbp - 0x50], xmm0
movaps xmm1, xmmword [rbp - 0x80]
movss xmm1, xmm3
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm4
shufps xmm1, xmm1, 0xe1
movaps xmmword [rbp - 0x40], xmm1
movaps xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp - 0x30], xmm0
lea r9, [rbp - 0x60]
mov r8, r15
lea rdx, [rbp - 0x20]
mov rcx, qword [0x1403022d8]
call fcn.140165680
mov rax, qword [rsi + 0x178]
movss xmm10, dword [rbp + 0x28]
movd ebx, xmm10
movss xmm11, dword [rbp + 0x24]
movss xmm12, dword [rbp + 0x20]
movaps xmm13, xmm12
unpcklps xmm13, xmm11
lea r12d, [rdi + 5]
mov r8d, dword [rbp + 0x2c]
movss xmm9, dword [0x1402c8140]
cmp byte [rax + 0x2b0], dil
je 0x1401faf89
mov rdx, qword [rsi + 0xa8]
movss xmm1, dword [rdx + 0x28]
divss xmm1, dword [rdx + 0x2c]
mulss xmm1, xmm9
mov rax, qword [rsi + 0x180]
movd xmm0, dword [rax + 0x2b0]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1401faf89
mov ecx, dword [rsi + 0x258]
test ecx, ecx
je 0x1401fadf2
sub ecx, 1
je 0x1401fadeb
sub ecx, 1
je 0x1401faddf
cmp ecx, 1
je 0x1401fade4
mov eax, r12d
jmp 0x1401fadf7
mov eax, 6
jmp 0x1401fadf7
mov eax, 4
jmp 0x1401fadf7
mov eax, 3
cmp r8d, eax
jl 0x1401faf89
cmp r8d, 1
je 0x1401faf89
mov rax, qword [0x140302380]
movsd xmm0, qword [rax + 8]
movss xmm2, dword [rdx + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm2, xmm0
movss xmm1, dword [rdx + 0x10]
subss xmm1, dword [rax + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401fae4c
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401fae54
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, xmm9
jbe 0x1401faf89
ucomiss xmm12, dword [0x140302828]
jp 0x1401fae86
jne 0x1401fae86
ucomiss xmm11, dword [0x14030282c]
jp 0x1401fae86
jne 0x1401fae86
ucomiss xmm10, dword [0x140302830]
jp 0x1401fae86
je 0x1401faf89
call fcn.140146b10
mov r15, rax
mov rcx, qword [0x1403022c0]
cmp byte [rcx + 0x6c], dil
jne 0x1401faf7c
mov r14, qword [0x140302380]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov rdx, qword [0x140305598]
sub rdx, qword [0x140305590]
je 0x1401faeff
lea rcx, [rsp + 0x40]
call fcn.140012ed0
mov rdi, qword [rsp + 0x40]
mov rbx, qword [0x140305598]
mov rdx, qword [0x140305590]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x48], rax
movd ebx, xmm10
xor edi, edi
lea rdx, [rsp + 0x40]
lea rcx, [r14 + 0x170]
call fcn.140062670
test al, al
jne 0x1401faf7c
mov rax, qword [0x1403022e0]
cmp dword [rax + 0x15c], 1
je 0x1401faf7c
mov rax, qword [0x1403027b8]
test rax, rax
jne 0x1401faf4f
mov ecx, 0x36e490
call fcn.14022f7fc
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.1401debe0
nop
mov qword [0x1403027b8], rax
movsd qword [rsp + 0x30], xmm13
mov dword [rsp + 0x38], ebx
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1401de270
mov r8, qword [rax]
mov edx, 3
mov rcx, r15
call fcn.14006eb00
movss xmm0, dword [0x140302194]
movss dword [rsi + 0x60], xmm0
mov rax, qword [rsi + 0x170]
cmp byte [rax + 0x2b0], 0
je 0x1401fb003
mov rbx, qword [0x140302380]
mov al, 0x79
mov dword [rsp + 0x30], 0x656e6f79
mov word [rsp + 0x34], 0x65
mov byte [rsp + 0x36], 0
movzx eax, al
mov edx, 0x811c9dc5
xor eax, edx
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x31]
call fcn.14002b8c0
mov edx, eax
mov rcx, qword [rbx + 0x180]
mov rax, qword [rbx + 0x188]
cmp rcx, rax
je 0x1401fb282
nop dword [rax]
cmp dword [rcx + 0x30], edx
je 0x1401fb003
add rcx, 0x50
cmp rcx, rax
jne 0x1401faff0
jmp 0x1401fb282
call fcn.140146640
mov rcx, qword [rsi + 0x198]
movd xmm6, dword [rcx + 0x2b0]
cvtdq2ps xmm6, xmm6
mov r13, qword [0x140302380]
movsd xmm0, qword [r13 + 8]
movsd qword [rsp + 0x20], xmm0
mov ecx, dword [r13 + 0x10]
mov dword [rsp + 0x28], ecx
mov r14, qword [rax + 8]
mov rbx, qword [rax]
cmp rbx, r14
je 0x1401fb0ac
mov r15d, dword [r13 + 0x1c]
movss xmm7, dword [rsp + 0x28]
movss xmm8, dword [rsp + 0x20]
cmp dword [rbx + 0x1c], r15d
je 0x1401fb0a0
cmp byte [rbx + 0xa7], 0
je 0x1401fb0a0
movss xmm0, dword [rbx + 8]
subss xmm0, xmm8
movss xmm1, dword [rbx + 0x10]
subss xmm1, xmm7
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1401fb091
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1401fb099
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jb 0x1401fb0a0
inc edi
add rbx, 0x5f0
cmp rbx, r14
jne 0x1401fb052
mov rax, qword [rsi + 0x188]
cmp edi, dword [rax + 0x2b0]
jl 0x1401fb282
mov ecx, dword [rsi + 0x258]
test ecx, ecx
je 0x1401fb0e6
sub ecx, 1
je 0x1401fb0de
sub ecx, 1
je 0x1401fb0ec
cmp ecx, 1
jne 0x1401fb0ec
lea r12d, [rcx + 5]
jmp 0x1401fb0ec
mov r12d, 4
jmp 0x1401fb0ec
mov r12d, 3
mov eax, dword [rbp + 0x2c]
cmp eax, r12d
jl 0x1401fb282
cmp eax, 1
je 0x1401fb282
mov rax, qword [rsi + 0xa8]
movsd xmm0, qword [r13 + 8]
movss xmm1, dword [rax + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm1, xmm0
movss xmm2, dword [rax + 0x10]
subss xmm2, dword [r13 + 0x10]
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1401fb145
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1401fb14d
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, xmm9
jbe 0x1401fb282
ucomiss xmm12, dword [0x140302828]
jp 0x1401fb17f
jne 0x1401fb17f
ucomiss xmm11, dword [0x14030282c]
jp 0x1401fb17f
jne 0x1401fb17f
ucomiss xmm10, dword [0x140302830]
jp 0x1401fb17f
je 0x1401fb282
call fcn.140146b10
mov r15, rax
mov rcx, qword [0x1403022c0]
cmp byte [rcx + 0x6c], 0
jne 0x1401fb275
mov r14, qword [0x140302380]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov rdx, qword [0x140305598]
sub rdx, qword [0x140305590]
je 0x1401fb1f5
lea rcx, [rsp + 0x40]
call fcn.140012ed0
mov rdi, qword [rsp + 0x40]
mov rbx, qword [0x140305598]
mov rdx, qword [0x140305590]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rdi + rbx]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
lea rcx, [r14 + 0x170]
call fcn.140062670
test al, al
jne 0x1401fb275
mov rax, qword [0x1403022e0]
cmp dword [rax + 0x15c], 1
je 0x1401fb275
mov rax, qword [0x1403027b8]
test rax, rax
jne 0x1401fb245
mov ecx, 0x36e490
call fcn.14022f7fc
mov qword [rsp + 0x20], rax
mov rcx, rax
call fcn.1401debe0
nop
mov qword [0x1403027b8], rax
movsd qword [rsp + 0x20], xmm13
movss dword [rsp + 0x28], xmm10
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1401de270
mov r8, qword [rax]
mov edx, 3
mov rcx, r15
call fcn.14006eb00
movss xmm0, dword [0x140302194]
movss dword [rsi + 0x60], xmm0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret