Function at 0x140172340
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x140283740]
xor rax, rsp
mov qword [rbp + 0x27], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
movups xmmword [rbp + 0x17], xmm0
mov dword [rbp - 0x19], 0
xor esi, esi
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], rsi
lea ecx, [rsi + 0x18]
call fcn.1401d5b30
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x11], rax
mov qword [rbp - 1], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], 7
mov qword [rbp + 0x1f], 8
mov dword [rbp - 0x19], 0x3f800000
mov r8, rax
lea edx, [rsi + 0x10]
lea rcx, [rbp - 1]
call fcn.14010ca00
nop
mov edx, esi
mov r8, qword [0x1402976d0]
mov ebx, dword [0x1402976c8]
test ebx, ebx
js 0x140172414
lea rcx, [r8 + 8]
mov eax, dword [rcx]
cmp dword [rcx - 8], eax
jne 0x14017250b
mov eax, dword [rcx + 4]
cmp dword [rcx - 4], eax
jne 0x14017250b
inc edx
add rcx, 0x10
cmp edx, ebx
jle 0x1401723f3
mov dword [rbp - 0x21], ebx
test ebx, ebx
jle 0x140172472
mov ecx, ebx
mov eax, ebx
nop
movsxd rdx, eax
add rdx, rdx
movsxd rcx, ecx
add rcx, rcx
mov eax, dword [r8 + rcx*8 + 8]
cmp dword [r8 + rdx*8 - 8], eax
jne 0x14017245f
mov eax, dword [r8 + rcx*8 + 0xc]
cmp dword [r8 + rdx*8 - 4], eax
jne 0x14017245f
lea r8, [rbp - 0x21]
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x19]
call fcn.140174150
mov ebx, dword [rbp - 0x21]
mov r8, qword [0x1402976d0]
dec ebx
mov eax, ebx
mov dword [rbp - 0x21], ebx
mov ecx, ebx
test ebx, ebx
jg 0x140172420
mov ebx, dword [0x1402976c8]
mov dword [rbp - 0x21], ebx
cmp ebx, 0xffffffff
jle 0x1401726e2
movabs rdi, 0x100000001b3
movabs r14, 0xcbf29ce484222325
mov rdx, qword [rbp - 0x11]
mov r9, qword [0x1402976d8]
nop dword [rax]
movzx ecx, bl
xor rcx, r14
imul rcx, rdi
movzx eax, byte [rbp - 0x20]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x1f]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x1e]
xor rcx, rax
imul rcx, rdi
mov rax, qword [rbp + 0x17]
and rax, rcx
add rax, rax
mov r10, qword [rbp - 1]
mov rcx, qword [r10 + rax*8 + 8]
cmp rcx, rdx
je 0x140172686
mov rax, qword [r10 + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x140172689
cmp rcx, rax
je 0x140172686
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x1401724f4
jmp 0x140172689
mov dword [rbp - 0x21], ebx
test ebx, ebx
jle 0x140172472
mov r9d, ebx
mov edi, ebx
nop dword [rax + rax]
movsxd rax, ebx
shl rax, 4
mov qword [rbp - 0x49], rax
lea rdx, [r8 - 0x10]
add rdx, rax
lea rsi, [rdx + 8]
mov ecx, dword [rdx]
mov r10d, dword [rsi]
cmp ecx, r10d
jne 0x140172549
mov eax, dword [rsi + 4]
cmp dword [rdx + 4], eax
mov r9d, edi
setg r11b
mov rax, rdx
test r11b, r11b
cmove rax, rsi
mov r15, qword [rax]
mov r12, r15
shr r12, 0x20
movsxd r9, r9d
shl r9, 4
add r9, r8
lea rdi, [r9 + 8]
mov r11d, dword [r9]
mov ebx, dword [rdi]
cmp r11d, ebx
jne 0x140172580
mov eax, dword [rdi + 4]
cmp dword [r9 + 4], eax
setg r14b
mov rax, rdi
test r14b, r14b
cmovne rax, r9
mov rax, qword [rax]
mov r14, rax
shr r14, 0x20
cmp r15d, eax
je 0x1401725a3
setg r13b
jmp 0x1401725aa
cmp r12d, r14d
setge r13b
cmp ecx, r10d
jne 0x1401725b5
mov eax, dword [rdx + 0xc]
cmp dword [rdx + 4], eax
setg r14b
mov rax, rsi
test r14b, r14b
cmovne rax, rdx
mov r15, qword [rax]
mov r14, r15
shr r14, 0x20
cmp r11d, ebx
jne 0x1401725da
mov eax, dword [r9 + 0xc]
cmp dword [r9 + 4], eax
setl r12b
mov rax, rdi
test r12b, r12b
cmovne rax, r9
mov rax, qword [rax]
mov r12, rax
shr r12, 0x20
cmp r15d, eax
jne 0x1401725fa
cmp r14d, r12d
setg al
test r13b, r13b
je 0x140172608
lea rdx, [rbp - 0x31]
jmp 0x140172656
test al, al
je 0x14017266a
cmp ecx, r10d
jne 0x140172617
mov eax, dword [rdx + 0xc]
cmp dword [rdx + 4], eax
setl al
mov rcx, rsi
test al, al
cmovne rcx, rdx
mov rcx, qword [rcx]
cmp r11d, ebx
jne 0x140172633
mov eax, dword [r9 + 0xc]
cmp dword [r9 + 4], eax
setg al
test al, al
cmovne rdi, r9
mov rax, qword [rdi]
mov qword [rsi], rax
mov rax, qword [0x1402976d0]
mov rdx, qword [rbp - 0x49]
mov qword [rdx + rax - 0x10], rcx
lea rdx, [rbp - 0x41]
lea r8, [rbp - 0x21]
lea rcx, [rbp - 0x19]
call fcn.140174150
mov r8, qword [0x1402976d0]
mov ebx, dword [rbp - 0x21]
dec ebx
mov dword [rbp - 0x21], ebx
mov r9d, ebx
mov edi, ebx
test ebx, ebx
jg 0x140172520
xor esi, esi
jmp 0x14017246c
mov rcx, rsi
mov rax, rdx
test rcx, rcx
cmovne rax, rcx
cmp rax, rdx
je 0x1401726ce
movsxd rcx, ebx
shl rcx, 4
add rcx, r8
lea rdx, [rcx + 0x10]
sub r9, rdx
mov r8, r9
call sub.VCRUNTIME140.dll_memmove
mov r9, qword [0x1402976d8]
sub r9, 0x10
mov qword [0x1402976d8], r9
mov rdx, qword [rbp - 0x11]
mov r8, qword [0x1402976d0]
dec ebx
mov dword [rbp - 0x21], ebx
cmp ebx, 0xffffffff
jg 0x1401724a0
mov ebx, dword [0x1402976c8]
sub ebx, dword [rbp - 9]
mov dword [0x1402976c8], ebx
lea rcx, [rbp - 0x19]
call fcn.14016cf90
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1401d5b10
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret