PopUpdatePdcSystemIdleState

INT64 __fastcall PopUpdatePdcSystemIdleState(CHAR a1){
  __int64 v2; 
  INT64 result; 
  PopAcquirePowerRequestPushLock(1);
  if( BYTE3(PopExecutionRequiredContext) != a1 )
  {
    BYTE3(PopExecutionRequiredContext) = a1;
    if( a1 )
    {
      *((_QWORD *)&PopExecutionRequiredContext + 1) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
      PopSetExecutionRequiredTimer();
    }
    else
    {
      *((_QWORD *)&PopExecutionRequiredContext + 1) = 0i64;
      KeCancelTimer((PKTIMER)&PopExecutionRequiredTimer);
    }
    PopHandleExecutionRequiredEnablementUpdate();
  }
  PopReleaseRwLock((UINT64)&PopPowerRequestLock);
  result = 3221225474i64;
  if( qword_140C54130 )
  {
    LOBYTE(v2) = a1;
    return((__int64(__fastcall *)(__int64))qword_140C54130)(v2);
  }
  return result;
}

Referenced by:

PopExecuteSystemIdleAction