HalpTscFallback

VOID __stdcall HalpTscFallback(PVOID Argument){
  int v2; 
  int v3[8]; 
  int v4; 

  _disable();
  v2 = v4 & 0x200;
  if( _InterlockedExchangeAdd((volatile signed __int32 *)Argument, 0xFFFFFFFF) == 1 )
  {
    *((_QWORD *)Argument + 1) = KeQueryPerformanceCounter(0i64);
    HalpTimerSelectFallbackPerformanceCounter();
    KUSER_SHARED_DATA.QpcBypassEnabled = 0;
    _InterlockedDecrement((volatile signed __int32 *)Argument);
  }
  else
  {
    do
      _mm_pause();
    while( *(_DWORD *)Argument != -1 );
    _InterlockedOr(v3, 0);
  }
  HalCalibratePerformanceCounter((INT32 *)Argument + 1, *((_QWORD *)Argument + 1));
  if( v2 )
    _enable();
}

Referenced by:

No references.