Function at 0x1400a1540
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x1404e1800]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov r15, rcx
mov qword [rbp - 0x58], rdx
test rdx, rdx
je 0x1400a1b6c
cmp byte [r15 + 8], 0
je 0x1400a18a1
lea r13, [r15 + 0xf0]
mov rcx, r13
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockShared]
nop dword [rax + rax]
mov qword [rbp - 0x40], r13
mov rdi, qword [r15 + 0x70]
mov rbx, qword [rdi]
lea r12, [method.sense::sensorHub::SecureEtwHandler.virtual_64]
cmp rbx, rdi
je 0x1400a1744
mov rsi, qword [rbx + 0x10]
mov rax, qword [rsi]
mov rax, qword [rax + 0x40]
mov r14, qword [rbp - 0x58]
cmp rax, r12
jne 0x1400a18d6
mov rcx, r14
call fcn.1400a1bb0
mov r12d, eax
mov dword [rbp - 0x60], r12d
movups xmm6, xmmword [r14 + 0x18]
lea r14, [rsi + 0x290]
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockShared]
nop dword [rax + rax]
movups xmmword [rbp - 0x38], xmm6
movq rcx, xmm6
mov rax, rcx
shr rax, 0x20
movzx r8d, ax
mov rax, rcx
shr rax, 0x30
xor r8, rax
mov eax, ecx
xor r8, rax
movzx ecx, r12b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp - 0x5f]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp - 0x5e]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp - 0x5d]
xor rcx, rax
imul rcx, rdx
mov rax, r8
shl rax, 6
mov rdx, r8
shr rdx, 2
add rcx, rax
mov eax, 0x9e3779b9
add rax, rdx
add rcx, rax
xor r8, rcx
mov r9, qword [rsi + 0x2d8]
and r9, r8
mov r10, qword [rsi + 0x2c0]
mov rax, r9
add rax, rax
mov r8, qword [r10 + rax*8]
mov rcx, r8
add r9, r9
mov rdx, qword [rsi + 0x2b0]
mov r11, qword [rbp - 0x38]
cmp r8, rdx
je 0x1400a1af8
mov rax, qword [r10 + r9*8 + 8]
mov rax, qword [rax]
cmp rcx, rax
sete al
test al, al
jne 0x1400a1af0
mov rax, qword [rcx + 0x10]
sub rax, r11
jne 0x1400a16d9
mov rax, qword [rcx + 0x18]
sub rax, qword [rbp - 0x30]
test rax, rax
sete al
test al, al
je 0x1400a1b36
cmp dword [rcx + 0x20], r12d
jne 0x1400a1b36
mov al, 1
test al, al
je 0x1400a18ce
sub r11, qword [rcx + 0x10]
jne 0x1400a1709
mov r11, qword [rbp - 0x30]
sub r11, qword [rcx + 0x18]
test r11, r11
sete al
test al, al
je 0x1400a1b3d
cmp r12d, dword [rcx + 0x20]
jne 0x1400a1b3d
mov al, 1
test al, al
je 0x1400a1af0
cmp rcx, rdx
je 0x1400a1ad0
test r14, r14
jne 0x1400a1b76
lea r12, [method.sense::sensorHub::SecureEtwHandler.virtual_64]
cmp rbx, qword [r15 + 0x70]
je 0x1400a1b28
lea rcx, [rbp - 0x60]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTimeAsFileTime]
nop dword [rax + rax]
mov rax, qword [rbp - 0x60]
mov r14, rax
shr r14, 0x20
shl r14, 0x20
mov ecx, eax
add r14, rcx
mov rcx, r14
mov rax, qword [rbp - 0x58]
sub rcx, qword [rax + 0x10]
xorps xmm6, xmm6
js 0x1400a1b52
cvtsi2sd xmm6, rcx
mulsd xmm6, qword [0x1403aa3e0]
mov rsi, qword [r15 + 0x30]
lea rdi, [rsi + 8]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockExclusive]
nop dword [rax + rax]
xor edx, edx
movsd xmm0, qword [0x1403aa3e8]
comisd xmm6, xmm0
jb 0x1400a17d1
subsd xmm6, xmm0
comisd xmm6, xmm0
jae 0x1400a17d1
movabs rax, 0x8000000000000000
mov rdx, rax
cvttsd2si rax, xmm6
add rax, rdx
add qword [rsi + 0x60], rax
test rdi, rdi
je 0x1400a17f1
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockExclusive]
nop dword [rax + rax]
mov ecx, 0xd8
call fcn.140112a2c
mov rsi, rax
mov qword [rbp - 0x60], rax
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj_class_sense::sensorHub::EtwEventData_.0
mov qword [rsi], rax
mov r8, r14
mov rdx, qword [rbp - 0x58]
lea rcx, [rsi + 0x10]
call fcn.1400a1c50
nop
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov r8, rsi
lea rdx, [rsi + 0x10]
lea rcx, [rbp - 0x50]
call fcn.1400718e8
nop
cmp rbx, qword [r15 + 0x70]
jne 0x1400a18f2
mov rbx, qword [r15 + 0x30]
lea rdi, [rbx + 8]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockExclusive]
nop dword [rax + rax]
inc qword [rbx + 0x30]
test rdi, rdi
je 0x1400a187e
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockExclusive]
nop dword [rax + rax]
nop
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x1400a188d
call fcn.14007e3e0
nop
test r13, r13
je 0x1400a18a1
mov rcx, r13
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.140112420
mov rbx, qword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rcx]
jmp 0x1400a16a9
mov rdx, r14
mov rcx, rsi
call qword [case.0x1400ae9d9.0]
test al, al
jne 0x1400a1744
mov rbx, qword [rbx]
jmp 0x1400a15b0
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp - 0x50]
mov rax, qword [rax + 0x20]
call qword [case.0x1400ae9d9.0]
mov rdi, qword [r15 + 0x70]
mov rbx, qword [rbx]
cmp rbx, rdi
sete al
test al, al
jne 0x1400a1a9c
mov rsi, qword [rbx + 0x10]
mov rax, qword [rsi]
mov rax, qword [rax + 0x40]
mov r14, qword [rbp - 0x58]
cmp rax, r12
jne 0x1400a1ab0
mov rcx, r14
call fcn.1400a1bb0
mov r12d, eax
mov dword [rbp - 0x60], r12d
movups xmm6, xmmword [r14 + 0x18]
lea r14, [rsi + 0x290]
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockShared]
nop dword [rax + rax]
movups xmmword [rbp - 0x38], xmm6
movq rcx, xmm6
mov rax, rcx
shr rax, 0x20
movzx r8d, ax
mov rax, rcx
shr rax, 0x30
xor r8, rax
mov eax, ecx
xor r8, rax
movzx ecx, r12b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp - 0x5f]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp - 0x5e]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp - 0x5d]
xor rcx, rax
imul rcx, rdx
mov rax, r8
shl rax, 6
mov rdx, r8
shr rdx, 2
add rcx, rax
mov r9d, 0x9e3779b9
add r9, rdx
add r9, rcx
xor r9, r8
and r9, qword [rsi + 0x2d8]
mov r8, qword [rsi + 0x2c0]
mov rax, r9
add rax, rax
mov rax, qword [r8 + rax*8]
mov rdx, qword [rsi + 0x2b0]
mov rcx, r9
add rcx, rcx
mov r10, qword [r8 + rcx*8]
add r9, r9
mov r11, qword [rbp - 0x38]
cmp r10, rdx
je 0x1400a1b20
mov rcx, qword [r8 + r9*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
sete cl
test cl, cl
jne 0x1400a1a8a
mov rcx, qword [rax + 0x10]
sub rcx, r11
jne 0x1400a1a3d
mov rcx, qword [rax + 0x18]
sub rcx, qword [rbp - 0x30]
test rcx, rcx
sete cl
test cl, cl
je 0x1400a1b44
cmp dword [rax + 0x20], r12d
jne 0x1400a1b44
mov cl, 1
test cl, cl
je 0x1400a1aa8
sub r11, qword [rax + 0x10]
jne 0x1400a1a69
mov r11, qword [rbp - 0x30]
sub r11, qword [rax + 0x18]
test r11, r11
sete cl
test cl, cl
je 0x1400a1b4b
cmp r12d, dword [rax + 0x20]
jne 0x1400a1b4b
mov cl, 1
test cl, cl
je 0x1400a1a8a
mov rdx, rax
cmp rdx, qword [rsi + 0x2b0]
je 0x1400a1b00
test r14, r14
jne 0x1400a1b8a
lea r12, [method.sense::sensorHub::SecureEtwHandler.virtual_64]
jmp 0x1400a1844
mov rax, qword [rax]
jmp 0x1400a1a11
mov rdx, r14
mov rcx, rsi
call qword [case.0x1400ae9d9.0]
test al, al
je 0x1400a190b
lea r12, [method.sense::sensorHub::SecureEtwHandler.virtual_64]
jmp 0x1400a1844
test r14, r14
je 0x1400a1ae4
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
lea r12, [method.sense::sensorHub::SecureEtwHandler.virtual_64]
jmp 0x1400a18ea
mov rcx, rdx
jmp 0x1400a172b
mov rax, rdx
jmp 0x1400a16ba
test r14, r14
je 0x1400a1b14
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
lea r12, [method.sense::sensorHub::SecureEtwHandler.virtual_64]
jmp 0x1400a190b
mov rcx, rdx
jmp 0x1400a1a22
mov rcx, qword [r15 + 0x30]
call fcn.1400a24cc
jmp 0x1400a188d
xor al, al
jmp 0x1400a16f3
xor al, al
jmp 0x1400a1723
xor cl, cl
jmp 0x1400a1a57
xor cl, cl
jmp 0x1400a1a83
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2sd xmm6, rax
addsd xmm6, xmm6
jmp 0x1400a178b
call fcn.14007e73c
jmp 0x1400a157d
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
jmp 0x1400a173d
mov rcx, r14
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
jmp 0x1400a1a9c