HvlpCheckTscSync

VOID __stdcall HvlpCheckTscSync(){
  _DWORD *v0; 
  _QWORD *v1; 
  __int16 v2; 
  PHYSICAL_ADDRESS v3[2]; 
  __int128 v4; 
  PHYSICAL_ADDRESS PageInfo[2]; 
  __int128 v6; 
  __int128 v7; 
  __int64 v8; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  __int64 *v10; 
  __int64 v11; 
  char StackBuffer[16]; 
  char v13[2064]; 

  v8 = 0i64;
  *(_OWORD *)&PageInfo[0].anonymous_0.LowPart = 0i64;
  v6 = 0i64;
  *(_OWORD *)&v3[0].anonymous_0.LowPart = 0i64;
  v4 = 0i64;
  v7 = 0i64;
  v0 = HvlpAcquireHypercallPage(PageInfo, 1ui64, StackBuffer, 8ui64);
  v1 = HvlpAcquireHypercallPage(v3, 2ui64, v13, 0x408ui64);
  *v0 = 14;
  HvcallInitiateHypercall();
  if( !v2 )
  {
    v7 = *(_OWORD *)v1;
    v8 = v1[2];
  }
  HvlpReleaseHypercallPage((_HVLP_HYPERCALL_PAGE_INFO *)v3);
  HvlpReleaseHypercallPage((_HVLP_HYPERCALL_PAGE_INFO *)PageInfo);
  if( BYTE1(v7) )
  {
    if( (_BYTE)v7 )
    {
      *(_QWORD *)&UserData.Size = 8i64;
      UserData.Ptr = (unsigned __int64)&v7 + 8;
      v11 = 8i64;
      v10 = &v8;
      HvlpWriteEventLog(&HV_EVENTLOG_TSC_SYNC_FAILED, 2u, &UserData);
    }
  }
}

Referenced by:

HvlPhase2Initialize
HvlpPowerStateCallback