PopSetExecutionRequiredTimer

UINT8 __stdcall PopSetExecutionRequiredTimer(){
  unsigned __int64 v0; 
  _LARGE_INTEGER v1; 
  UINT8 result; 
  if( BYTE3(PopExecutionRequiredContext) && *(_DWORD *)PopExecutionRequiredTimeout )
  {
    v0 = 10000000i64 * *(unsigned int *)PopExecutionRequiredTimeout;
    if( *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart - *((_QWORD *)&PopExecutionRequiredContext + 1) < v0 )
      v1.QuadPart = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart
                  - *((_QWORD *)&PopExecutionRequiredContext + 1)
                  - v0;
    else
      v1.QuadPart = -10000000i64;
    KiSetTimerEx((_KTIMER *)&PopExecutionRequiredTimer, v1, 0i64, 0, &PopExecutionRequiredTimeoutDpc);
  }
  return result;
}

Referenced by:

PopExecutionRequiredSettingCallback
PopUpdatePdcSystemIdleState