PopUpdatePdcSystemIdleState

__int64 __fastcall PopUpdatePdcSystemIdleState(char a1){
  __int64 v2; 
  __int64 result; 

  PopAcquirePowerRequestPushLock(1u);
  if( *(&stru_140C23628 + 5659) != a1 )
  {
    *(&stru_140C23628 + 5659) = a1;
    if( a1 )
    {
      *(&stru_140C23628 + 708) = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
      PopSetExecutionRequiredTimer();
    }
    else
    {
      *(&stru_140C23628 + 708) = 0i64;
      KeCancelTimer((INT64)&stru_140C23628 + 5688);
    }
    PopHandleExecutionRequiredEnablementUpdate();
  }
  PopReleaseRwLock((_POP_RW_LOCK *)((char *)&stru_140C23628 + 5864));
  result = 3221225474i64;
  if( qword_140C54130 )
  {
    LOBYTE(v2) = a1;
    return((__int64(__fastcall *)(__int64))qword_140C54130)(v2);
  }
  return result;
}

Referenced by:

PopExecuteSystemIdleAction