Function at 0x180006960
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xd8
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
mov rax, qword [0x18007f080]
xor rax, rsp
mov qword [rbp - 0x31], rax
movzx r11d, r9b
mov byte [rsp + 0x40], r9b
mov esi, r8d
mov r15, rdx
mov r12, rcx
mov qword [rbp - 0x71], rcx
mov dword [rbp - 0x39], r8d
mov edx, r8d
shr edx, 0x18
shr r8d, 0x10
mov eax, esi
shr eax, 8
mov r14, qword [rbp + 0x7f]
xor ebx, ebx
movzx ecx, sil
movzx r10d, byte [0x18008515c]
cmp r10b, 1
je 0x1800069de
xor r11b, r11b
mov byte [rsp + 0x40], r11b
lea rdi, [0x180085330]
lea r9, [0x180085370]
test r11b, r11b
cmovne r9, rdi
mov qword [rbp - 0x71], r9
movzx ecx, cl
movabs rdi, 0xcbf29ce484222325
xor rcx, rdi
movabs rdi, 0x100000001b3
imul rcx, rdi
movzx eax, al
xor rcx, rax
imul rcx, rdi
movzx eax, r8b
xor rcx, rax
imul rcx, rdi
movzx eax, dl
xor rcx, rax
imul rcx, rdi
mov rax, qword [r9 + 0x30]
and rax, rcx
add rax, rax
mov rcx, qword [r9 + 0x18]
mov rdi, qword [rcx + rax*8 + 8]
mov rdx, qword [r9 + 8]
cmp rdi, rdx
je 0x180006a70
mov rax, qword [rcx + rax*8]
cmp esi, dword [rdi + 0x10]
je 0x180006a73
nop dword [rax]
cmp rdi, rax
je 0x180006a70
mov rdi, qword [rdi + 8]
cmp esi, dword [rdi + 0x10]
jne 0x180006a60
jmp 0x180006a73
mov rdi, rbx
test rdi, rdi
je 0x180006b86
cmp rdi, rdx
je 0x180006b86
mov qword [rbp - 0x49], rbx
mov rcx, qword [rdi + 0x18]
test rcx, rcx
jne 0x180006a9e
mov rcx, rbx
mov qword [rbp - 0x51], rbx
mov r13, rbx
jmp 0x180006abd
mov qword [rbp - 0x61], rbx
mov rax, qword [rcx]
lea r8, [rbp - 0x61]
lea rdx, [0x180067520]
call qword [rax]
mov rcx, qword [rbp - 0x61]
mov qword [rbp - 0x51], rcx
mov r13, rcx
mov rax, qword [rcx]
lea rdx, [rbp - 0x49]
call qword [rax + 0x30]
test eax, eax
js 0x180006ecb
test r13, r13
je 0x180006add
lea rcx, [rbp - 0x51]
call fcn.180008da0
mov rax, qword [rbp - 0x49]
mov qword [rbp - 0x61], rax
mov rdx, r15
lea rcx, [rbp - 0x61]
call fcn.18000b400
movzx r13d, al
cmp qword [rbp - 0x61], 0
je 0x180006b05
lea rcx, [rbp - 0x61]
call fcn.180008da0
test r13b, r13b
je 0x180006b26
mov rcx, qword [rdi + 0x18]
mov qword [r12], rcx
test rcx, rcx
je 0x180006e8d
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
jmp 0x180006e8d
lea rcx, [0x180085330]
call fcn.180008050
lea rcx, [0x180085370]
call fcn.180008050
cmp qword [0x1800852f8], 0
je 0x180006b54
lea rcx, [0x1800852f8]
call fcn.180008da0
mov qword [0x1800852f8], rbx
cmp qword [0x1800852f0], 0
je 0x180006b71
lea rcx, [0x1800852f0]
call fcn.180008da0
mov qword [0x1800852f0], rbx
movzx r10d, byte [0x18008515c]
movzx r11d, byte [rsp + 0x40]
mov qword [rbp - 0x79], rbx
test r14, r14
je 0x180006b9c
mov esi, dword [r14 + 8]
or esi, 0xff000000
mov dword [rbp - 0x39], esi
mov r9d, esi
shr r9d, 0x10
mov r8d, esi
shr r8d, 8
mov edx, esi
shr edx, 0x18
mov byte [rbp - 0x51], dl
mov byte [rbp - 0x50], sil
mov byte [rbp - 0x4f], r8b
mov byte [rbp - 0x4e], r9b
mov edi, dword [rbp - 0x51]
mov dword [rbp - 0x51], edi
movss xmm0, dword [0x18007f0f4]
movss xmm1, dword [0x18006ec3c]
test r14, r14
je 0x180006beb
movzx eax, byte [r14 + 0xb]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
divss xmm3, xmm1
jmp 0x180006bee
movaps xmm3, xmm0
movsx ecx, r10b
test r10b, r10b
je 0x180006e39
sub ecx, 1
je 0x180006df2
sub ecx, 1
je 0x180006cd9
cmp ecx, 1
je 0x180006c9b
test r14, r14
je 0x180006c32
mov esi, dword [r14 + 8]
mov edx, esi
shr edx, 0x18
mov r8d, esi
shr r8d, 8
mov r9d, esi
shr r9d, 0x10
mov byte [rbp - 0x51], dl
mov byte [rbp - 0x50], sil
mov byte [rbp - 0x4f], r8b
mov byte [rbp - 0x4e], r9b
mov qword [rbp - 0x49], rbx
mov rcx, qword [r15]
mov rax, qword [rcx]
lea r8, [rbp - 0x49]
mov edx, dword [rbp - 0x51]
call qword [rax + 0x40]
test eax, eax
js 0x180006ec3
mov rdi, qword [rbp - 0x49]
mov qword [rbp - 0x61], rdi
test rdi, rdi
je 0x180006c85
mov qword [rbp - 0x49], rbx
mov rax, qword [rdi]
lea r8, [rbp - 0x49]
lea rdx, [0x180067550]
mov rcx, rdi
call qword [rax]
mov rbx, qword [rbp - 0x49]
mov qword [rbp - 0x79], rbx
test rdi, rdi
je 0x180006e6f
lea rcx, [rbp - 0x61]
jmp 0x180006e6a
movss xmm2, dword [0x18007f0f8]
test r14, r14
je 0x180006cb8
movzx eax, byte [r14 + 0xb]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm1
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x20], xmm0
lea r8, [rbp - 0x51]
mov rdx, r15
lea rcx, [rbp - 0x49]
call fcn.180005ff0
jmp 0x180006e49
test r14, r14
je 0x180006d1c
mov ecx, dword [0x180085858]
cmp ecx, 0x55f0
jb 0x180006d03
test byte [r14 + 4], 2
je 0x180006d03
mov eax, dword [r14]
cmp eax, 3
jne 0x180006d0e
cmp ecx, 0x55f0
ja 0x180006d13
test r14, r14
je 0x180006d1c
mov byte [rbp - 0x45], 0
jmp 0x180006d2d
cmp eax, 4
jne 0x180006d03
mov dword [rbp - 0x49], 0x3f83d70a
jmp 0x180006d29
movss xmm0, dword [0x18007f0f8]
movss dword [rbp - 0x49], xmm0
mov byte [rbp - 0x45], 1
mov rsi, qword [rbp - 0x49]
movss xmm7, dword [0x18007f0f0]
movss xmm8, dword [0x18007f0fc]
mov qword [rbp - 0x49], rsi
shr rsi, 0x20
mov dword [rbp - 0x51], edi
movd xmm6, edx
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm3
movaps xmm0, xmm6
call sub.ucrtbase.dll_roundf
cvttss2si r13d, xmm0
mov byte [rbp - 0x51], r13b
mov byte [rbp - 0x59], 0
test sil, sil
je 0x180006d83
movss xmm0, dword [rbp - 0x49]
cvtps2pd xmm0, xmm0
movsd qword [rbp - 0x61], xmm0
mov byte [rbp - 0x59], 1
movaps xmm0, xmmword [rbp - 0x61]
movdqa xmmword [rbp - 0x61], xmm0
lea rdx, [rbp - 0x61]
mov ecx, dword [rbp - 0x51]
call fcn.180004be0
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x51], edi
test sil, sil
je 0x180006da9
mov byte [rbp - 0x51], r13b
jmp 0x180006dc4
mov ecx, edi
call fcn.180004ad0
cvtps2pd xmm1, xmm6
mulsd xmm0, xmm1
call qword [sym.imp.ucrtbase.dll_round]
cvttsd2si eax, xmm0
mov byte [rbp - 0x51], al
mov eax, dword [rbp - 0x51]
mov dword [rbp - 0x51], eax
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm8
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x51]
mov rdx, r15
lea rcx, [rbp - 0x49]
call fcn.180004f90
jmp 0x180006e49
movss xmm1, dword [0x18007f0fc]
movss xmm0, dword [0x18007f0e8]
test r11b, r11b
jne 0x180006e17
mulss xmm0, dword [0x18006eba8]
addss xmm0, dword [0x18006ebb0]
movss dword [rsp + 0x38], xmm1
movss dword [rsp + 0x30], xmm0
lea r9, [rbp - 0x51]
lea r8, [rbp - 0x51]
mov rdx, r15
lea rcx, [rbp - 0x49]
call fcn.180003a70
jmp 0x180006e49
lea r8, [rbp - 0x51]
mov rdx, r15
lea rcx, [rbp - 0x49]
call fcn.180002e20
lea rcx, [rbp - 0x79]
cmp rcx, rax
je 0x180006e5f
mov rcx, qword [rax]
mov qword [rax], rbx
mov rbx, rcx
mov qword [rbp - 0x79], rcx
cmp qword [rbp - 0x49], 0
je 0x180006e6f
lea rcx, [rbp - 0x49]
call fcn.180008da0
test r14, r14
jne 0x180006e89
lea r9, [rbp - 0x79]
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x49]
mov rcx, qword [rbp - 0x71]
call fcn.180009d20
mov qword [r12], rbx
mov rax, r12
mov rcx, qword [rbp - 0x31]
xor rcx, rsp
call fcn.18003efb0
lea r11, [rsp + 0xd8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, eax
call fcn.18000d540
nop
mov ecx, eax
call fcn.18000d540
int3