HalpMceBarrierWait

CHAR __fastcall HalpMceBarrierWait(_DWORD *a1, INT64 a2, INT64 a3){
  unsigned __int64 v3; 
  unsigned __int64 v4; 
  unsigned __int64 v5; 
  unsigned __int64 v6; 
  if( !(_DWORD)a3 || HalpMceBarrierTimeoutDisabled )
  {
    while( *a1 < (int)a2 )
      _mm_pause();
  }
  else
  {
    v3 = (int)a3 * *((_QWORD *)KeGetPcr() + 24) / 0x3E8ui64;
    v4 = __rdtsc();
    v5 = v4;
    while( *a1 < (int)a2 )
    {
      v6 = __rdtsc();
      if( v6 - v5 <= v3 >> 1 )
      {
        if( v6 - v4 > v3 )
          return 0;
      }
      else
      {
        v4 = v6;
      }
      v5 = v6;
      _mm_pause();
    }
  }
  return 1;
}

Referenced by:

HalpMceHandlerWithRendezvous