HalpTscAdvSynchReadTimeStamp
UINT64 __stdcall HalpTscAdvSynchReadTimeStamp(UINT64 a1){
unsigned __int64 v2;
int v3[10];
if( (_DWORD)a1 == KeGetCurrentPrcb()->Number )
{
HalpProcessorFence();
return __rdtsc();
}
else
{
v2 = (unsigned __int64)(unsigned int)a1 << 7;
_InterlockedExchange((volatile __int32 *)(v2 + qword_140C4A418), 7);
while( *(_DWORD *)(v2 + qword_140C4A418) == 7 )
_mm_pause();
while( *(_DWORD *)(v2 + qword_140C4A418) )
_mm_pause();
_InterlockedOr(v3, 0);
return *(_QWORD *)(v2 + qword_140C4A418 + 8);
}
}Referenced by:
HalpTscAdvSynchLeader