Function at 0x1401e1020
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm9
mov rsi, rcx
mov rdx, qword [0x140302380]
cmp dword [rdx + 0x2b8], 0
jbe 0x1401e106a
cmp dword [rdx + 0x2b4], 0
je 0x1401e10a3
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rdx + 0x2c0]
jb 0x1401e10a3
mov eax, dword [rdx + 0x2b0]
test eax, eax
je 0x1401e10a3
dec eax
movss xmm0, dword [rdx + 0x30]
comiss xmm0, dword [rdx + rax*4 + 0x2e8]
jb 0x1401e10a3
comiss xmm0, dword [0x1402c80fc]
jb 0x1401e10a3
mov al, 1
jmp 0x1401e10a5
xor al, al
mov byte [rcx + 8], al
cmp dword [rdx + 0x320], 0
jbe 0x1401e10ba
cmp dword [rdx + 0x31c], 0
je 0x1401e10fc
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rdx + 0x328]
jb 0x1401e10fc
mov eax, dword [rdx + 0x318]
test eax, eax
je 0x1401e10fc
dec eax
movss xmm0, dword [rdx + 0x30]
comiss xmm0, dword [rdx + rax*4 + 0x350]
jb 0x1401e10fc
mov eax, dword [rdx + 0x318]
dec eax
comiss xmm0, dword [rcx + rax*4 + 0x88]
jb 0x1401e10fc
mov al, 1
jmp 0x1401e10fe
xor al, al
mov byte [rcx + 9], al
cmp dword [rdx + 0x388], 0
jbe 0x1401e1113
cmp dword [rdx + 0x384], 0
je 0x1401e114c
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rdx + 0x390]
jb 0x1401e114c
mov eax, dword [rdx + 0x380]
test eax, eax
je 0x1401e114c
dec eax
movss xmm0, dword [rdx + 0x30]
comiss xmm0, dword [rdx + rax*4 + 0x3b8]
jb 0x1401e114c
comiss xmm0, dword [0x1402c80c8]
jb 0x1401e114c
mov al, 1
jmp 0x1401e114e
xor al, al
mov byte [rcx + 0xa], al
cmp dword [rdx + 0x3f0], 0
jbe 0x1401e1163
cmp dword [rdx + 0x3ec], 0
je 0x1401e119c
movss xmm0, dword [0x1403021a4]
comiss xmm0, dword [rdx + 0x3f8]
jb 0x1401e119c
mov eax, dword [rdx + 0x3e8]
test eax, eax
je 0x1401e119c
dec eax
movss xmm0, dword [rdx + 0x30]
comiss xmm0, dword [rdx + rax*4 + 0x420]
jb 0x1401e119c
comiss xmm0, dword [0x1402c8140]
jb 0x1401e119c
mov al, 1
jmp 0x1401e119e
xor al, al
mov byte [rcx + 0xb], al
cmp byte [0x140302199], 0
jne 0x1401e1bdf
cmp byte [0x140302198], 0
jne 0x1401e1bdf
lea rbx, [rdx + 0x170]
mov al, 0x78
mov dword [rsp + 0x20], 0x61796178
mov dword [rsp + 0x24], 0x7268
movzx eax, al
mov r8d, 0x811c9dc5
xor eax, r8d
imul edx, eax, 0x1000193
lea rcx, [rsp + 0x21]
call fcn.14002b8c0
mov r8d, eax
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1400627e0
movzx r12d, byte [rax + 0x4e]
lea rcx, [rbp + 0x50]
call fcn.14002c1e0
mov rax, qword [0x140302380]
cmp byte [rax + 0xa7], 0
je 0x1401e1bdf
mov rax, qword [rsi + 0xb8]
cmp byte [rax + 0x2b0], 0
je 0x1401e123c
cmp byte [rsi + 0xb], 0
je 0x1401e123c
call fcn.1401e3230
mov rax, qword [0x1403022e0]
mov rcx, qword [rax + 8]
movss xmm9, dword [0x1402c81d0]
movss xmm7, dword [0x1402c8110]
cmp byte [rcx + 0x2b2], 0
je 0x1401e1349
test r12b, r12b
jne 0x1401e1349
mov rcx, rsi
call fcn.1401e29a0
cmp byte [rsi + 9], r12b
je 0x1401e1306
mov rax, qword [rsi + 0xa8]
cmp byte [rax + 0x2b0], r12b
je 0x1401e1306
mov rax, qword [0x140302380]
movss xmm1, dword [rax + 0xd4]
comiss xmm1, xmm9
jbe 0x1401e12a8
movaps xmm1, xmm7
addss xmm1, dword [rax + 0x4c]
call fcn.1401cc040
mov rbx, rax
test rax, rax
je 0x1401e1306
cmp byte [rax + 0xa7], 0
je 0x1401e1306
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x1401e1306
cmp byte [rbx + 0xa5], al
je 0x1401e1306
cmp byte [rbx + 0xa4], al
je 0x1401e1306
mov rdx, rbx
mov rcx, qword [0x140302380]
call fcn.14006c120
test al, al
je 0x1401e1306
call fcn.140146b10
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rax
call fcn.14006eba0
cmp byte [rsi + 0xa], 0
je 0x1401e1349
mov rax, qword [rsi + 0xb0]
cmp byte [rax + 0x2b0], 0
je 0x1401e1349
mov rdx, qword [rsi + 0xc0]
mov edx, dword [rdx + 0x2b0]
mov rcx, rsi
call fcn.1401e2d50
test al, al
je 0x1401e1349
call fcn.140146b10
xor r8d, r8d
lea edx, [r8 + 2]
mov rcx, rax
call fcn.14006eba0
mov rax, qword [0x1403022e0]
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x2b2], 0
je 0x1401e161a
test r12b, r12b
jne 0x1401e161a
cmp byte [rsi + 8], r12b
je 0x1401e1549
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x2b0], r12b
je 0x1401e1549
movss xmm1, dword [0x1402c8284]
call fcn.1401cc040
mov rbx, rax
test rax, rax
je 0x1401e1549
cmp byte [rax + 0xa7], r12b
je 0x1401e1549
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x1401e1549
cmp byte [rbx + 0xa5], al
je 0x1401e1549
cmp byte [rbx + 0xa4], al
je 0x1401e1549
movaps xmm0, xmmword [0x1402f92a0]
movaps xmmword [rbp], xmm0
movaps xmm1, xmmword [0x1402f92b0]
movaps xmmword [rbp + 0x10], xmm1
movaps xmm0, xmmword [0x1402f92c0]
movaps xmmword [rbp + 0x20], xmm0
movaps xmm1, xmmword [0x1402f92d0]
movaps xmmword [rbp + 0x30], xmm1
lea r9, [rbp]
mov r8, rbx
lea rdx, [rbp - 0x50]
mov rcx, qword [0x1403022d8]
call fcn.140165680
movss xmm0, dword [rbp - 0x10]
ucomiss xmm0, dword [0x140302828]
jp 0x1401e144a
jne 0x1401e144a
movss xmm0, dword [rbp - 0xc]
ucomiss xmm0, dword [0x14030282c]
jp 0x1401e144a
jne 0x1401e144a
movss xmm0, dword [rbp - 8]
ucomiss xmm0, dword [0x140302830]
jp 0x1401e144a
je 0x1401e1549
cmp dword [rbp - 4], 5
jl 0x1401e1549
call fcn.140146b10
mov r15, rax
mov rcx, qword [0x1403022c0]
cmp byte [rcx + 0x6c], 0
jne 0x1401e1549
mov r14, qword [0x140302380]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
mov rdx, qword [0x140305598]
sub rdx, qword [0x140305590]
je 0x1401e14ca
lea rcx, [rsp + 0x50]
call fcn.140012ed0
mov rdi, qword [rsp + 0x50]
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 + 0x58], rax
lea rdx, [rsp + 0x50]
lea rcx, [r14 + 0x170]
call fcn.140062670
test al, al
jne 0x1401e1549
mov rax, qword [0x1403022e0]
cmp dword [rax + 0x15c], 1
je 0x1401e1549
mov rcx, qword [0x1403027b8]
test rcx, rcx
jne 0x1401e151c
mov ecx, 0x36e490
call fcn.14022f7fc
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.1401debe0
mov rcx, rax
mov qword [0x1403027b8], rax
movsd xmm0, qword [rbp - 0x10]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rbp - 8]
mov dword [rsp + 0x48], eax
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x68]
call fcn.1401de270
mov r8, qword [rax]
xor edx, edx
mov rcx, r15
call fcn.14006eb00
cmp byte [rsi + 9], 0
je 0x1401e15dd
mov rax, qword [rsi + 0x18]
cmp byte [rax + 0x2b0], 0
je 0x1401e15dd
mov rax, qword [0x140302380]
movss xmm1, dword [rax + 0xd4]
comiss xmm1, xmm9
jbe 0x1401e1578
movaps xmm1, xmm7
mov rax, qword [0x140302380]
addss xmm1, dword [rax + 0x4c]
call fcn.1401cc040
mov rbx, rax
test rax, rax
je 0x1401e15dd
cmp byte [rax + 0xa7], 0
je 0x1401e15dd
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x1401e15dd
cmp byte [rbx + 0xa5], al
je 0x1401e15dd
cmp byte [rbx + 0xa4], al
je 0x1401e15dd
mov rdx, rbx
mov rcx, qword [0x140302380]
call fcn.14006c120
test al, al
je 0x1401e15dd
call fcn.140146b10
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rax
call fcn.14006eba0
cmp byte [rsi + 0xa], 0
je 0x1401e161a
mov rax, qword [rsi + 0x20]
cmp byte [rax + 0x2b0], 0
je 0x1401e161a
mov rdx, qword [rsi + 0x28]
mov edx, dword [rdx + 0x2b0]
mov rcx, rsi
call fcn.1401e2d50
test al, al
je 0x1401e161a
call fcn.140146b10
xor r8d, r8d
lea edx, [r8 + 2]
mov rcx, rax
call fcn.14006eba0
mov rcx, qword [0x1403022e0]
mov rax, qword [rcx + 0x20]
cmp byte [rax + 0x2b2], 0
je 0x1401e1bdf
test r12b, r12b
jne 0x1401e1bdf
mov rax, qword [rsi + 0x80]
cmp byte [rax + 0x2b2], r12b
je 0x1401e1bdf
cmp byte [rsi + 8], r12b
je 0x1401e1841
mov rax, qword [rsi + 0x30]
cmp byte [rax + 0x2b0], r12b
je 0x1401e1841
cmp byte [rcx + 0x18b], r12b
jne 0x1401e1841
movss xmm2, dword [0x1402c8284]
mov rdx, qword [0x1403022e8]
mov edx, dword [rdx + 0x74]
call fcn.1401cbcf0
mov rbx, rax
test rax, rax
je 0x1401e1841
cmp byte [rax + 0xa7], r12b
je 0x1401e1841
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x1401e1841
cmp byte [rbx + 0xa5], al
je 0x1401e1841
cmp byte [rbx + 0xa4], al
je 0x1401e1841
mov eax, dword [rbx + 0x208]
cmp eax, 0x53ab5f0b
je 0x1401e1749
cmp eax, 0x35751117
je 0x1401e1749
cmp eax, 0x6b0c5c0
je 0x1401e1749
cmp eax, 0x1f46a4b2
je 0x1401e1749
cmp eax, 0x1ff0ebfd
je 0x1401e1749
cmp eax, 0x2148eea5
je 0x1401e1749
cmp eax, 0x3886caef
je 0x1401e1749
cmp eax, 0x3a6b38ce
je 0x1401e1749
cmp eax, 0x530117c0
je 0x1401e1749
cmp eax, 0xd11193b9
je 0x1401e1749
cmp eax, 0x6c413dfd
je 0x1401e1749
cmp eax, 0xb87bb4c7
je 0x1401e1749
cmp eax, 0xc44285a2
je 0x1401e1749
cmp eax, 0xd1bbdb04
je 0x1401e1749
cmp eax, 0xd86ea814
je 0x1401e1749
cmp eax, 0xea51b9f6
jne 0x1401e1841
call fcn.140146b10
mov r15, rax
movsd xmm6, qword [rbx + 8]
mov r12d, dword [rbx + 0x10]
mov rcx, qword [0x1403022c0]
cmp byte [rcx + 0x6c], 0
jne 0x1401e1841
mov r14, qword [0x140302380]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], 0
mov rdx, qword [0x140305598]
sub rdx, qword [0x140305590]
je 0x1401e17c8
lea rcx, [rsp + 0x68]
call fcn.140012ed0
mov rdi, qword [rsp + 0x68]
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 + 0x70], rax
lea rdx, [rsp + 0x68]
lea rcx, [r14 + 0x170]
call fcn.140062670
test al, al
jne 0x1401e1841
mov rax, qword [0x1403022e0]
cmp dword [rax + 0x15c], 1
je 0x1401e1841
mov rax, qword [0x1403027b8]
test rax, rax
jne 0x1401e1818
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 + 0x40], xmm6
mov dword [rsp + 0x48], r12d
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.1401de270
mov r8, qword [rax]
xor edx, edx
mov rcx, r15
call fcn.14006eb00
cmp byte [rsi + 9], 0
je 0x1401e1971
mov rax, qword [rsi + 0x38]
cmp byte [rax + 0x2b0], 0
je 0x1401e1971
mov rax, qword [0x140302380]
movss xmm2, dword [rax + 0xd4]
comiss xmm2, xmm9
jbe 0x1401e1874
movaps xmm2, xmm7
mov rax, qword [0x140302380]
addss xmm2, dword [rax + 0x4c]
mov rax, qword [0x1403022e8]
mov edx, dword [rax + 0x74]
call fcn.1401cbcf0
mov rbx, rax
test rax, rax
je 0x1401e1971
cmp byte [rax + 0xa7], 0
je 0x1401e1971
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x1401e1971
cmp byte [rbx + 0xa5], al
je 0x1401e1971
cmp byte [rbx + 0xa4], al
je 0x1401e1971
mov rdx, rbx
mov rcx, qword [0x140302380]
call fcn.14006c120
test al, al
je 0x1401e1971
mov eax, dword [rbx + 0x208]
cmp eax, 0x53ab5f0b
je 0x1401e195d
cmp eax, 0x35751117
je 0x1401e195d
cmp eax, 0x6b0c5c0
je 0x1401e195d
cmp eax, 0x1f46a4b2
je 0x1401e195d
cmp eax, 0x1ff0ebfd
je 0x1401e195d
cmp eax, 0x2148eea5
je 0x1401e195d
cmp eax, 0x3886caef
je 0x1401e195d
cmp eax, 0x3a6b38ce
je 0x1401e195d
cmp eax, 0x530117c0
je 0x1401e195d
cmp eax, 0xd11193b9
je 0x1401e195d
cmp eax, 0x6c413dfd
je 0x1401e195d
cmp eax, 0xb87bb4c7
je 0x1401e195d
cmp eax, 0xc44285a2
je 0x1401e195d
cmp eax, 0xd1bbdb04
je 0x1401e195d
cmp eax, 0xd86ea814
je 0x1401e195d
cmp eax, 0xea51b9f6
jne 0x1401e1971
call fcn.140146b10
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rax
call fcn.14006eba0
cmp byte [rsi + 8], 0
je 0x1401e1afb
mov rax, qword [rsi + 0x30]
cmp byte [rax + 0x2b0], 0
je 0x1401e1afb
mov rax, qword [0x1403022e0]
cmp byte [rax + 0x18b], 0
jne 0x1401e1afb
movss xmm2, dword [0x1402c8284]
mov rdx, qword [0x1403022e8]
mov edx, dword [rdx + 0x74]
call fcn.1401cbcf0
mov rbx, rax
test rax, rax
je 0x1401e1afb
cmp byte [rax + 0xa7], 0
je 0x1401e1afb
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x1401e1afb
cmp byte [rbx + 0xa5], al
je 0x1401e1afb
cmp byte [rbx + 0xa4], al
je 0x1401e1afb
mov rcx, rbx
call fcn.14006b170
test al, al
je 0x1401e1afb
call fcn.140146b10
mov r15, rax
movsd xmm6, qword [rbx + 8]
mov r12d, dword [rbx + 0x10]
mov rcx, qword [0x1403022c0]
cmp byte [rcx + 0x6c], 0
jne 0x1401e1afb
mov r14, qword [0x140302380]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], 0
mov rdx, qword [0x140305598]
sub rdx, qword [0x140305590]
je 0x1401e1a82
lea rcx, [rbp - 0x80]
call fcn.140012ed0
mov rdi, qword [rbp - 0x80]
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 [rbp - 0x78], rax
lea rdx, [rbp - 0x80]
lea rcx, [r14 + 0x170]
call fcn.140062670
test al, al
jne 0x1401e1afb
mov rax, qword [0x1403022e0]
cmp dword [rax + 0x15c], 1
je 0x1401e1afb
mov rax, qword [0x1403027b8]
test rax, rax
jne 0x1401e1ad1
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], xmm6
mov dword [rsp + 0x38], r12d
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.1401de270
mov r8, qword [rax]
xor edx, edx
mov rcx, r15
call fcn.14006eb00
cmp byte [rsi + 9], 0
je 0x1401e1bac
mov rax, qword [rsi + 0x48]
cmp byte [rax + 0x2b0], 0
je 0x1401e1bac
mov rax, qword [0x140302380]
movss xmm0, dword [rax + 0xd4]
comiss xmm0, xmm9
ja 0x1401e1b2e
movaps xmm7, xmm0
mov rax, qword [0x140302380]
addss xmm7, dword [rax + 0x4c]
mov rax, qword [0x1403022e8]
movaps xmm2, xmm7
mov edx, dword [rax + 0x74]
call fcn.1401cbcf0
mov rbx, rax
test rax, rax
je 0x1401e1bac
cmp byte [rax + 0xa7], 0
je 0x1401e1bac
mov rcx, rax
call fcn.14006b660
test al, al
jne 0x1401e1bac
cmp byte [rbx + 0xa5], al
je 0x1401e1bac
cmp byte [rbx + 0xa4], al
je 0x1401e1bac
mov rcx, rbx
call fcn.14006b170
test al, al
je 0x1401e1bac
mov rdx, rbx
mov rcx, qword [0x140302380]
call fcn.14006c120
test al, al
je 0x1401e1bac
call fcn.140146b10
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rax
call fcn.14006eba0
cmp byte [rsi + 0xa], 0
je 0x1401e1bdf
mov rax, qword [rsi + 0x50]
cmp byte [rax + 0x2b0], 0
je 0x1401e1bdf
mov rcx, rsi
call fcn.1401e2f90
test al, al
je 0x1401e1bdf
call fcn.140146b10
xor r8d, r8d
lea edx, [r8 + 2]
mov rcx, rax
call fcn.14006eba0
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret