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