PopArmIdlePhaseWatchdog

VOID __fastcall PopArmIdlePhaseWatchdog(INT64 rcx0){
  __int64 v1; 
  __int64 v2; 
  char v3; 
  int v4; 
  int v5; 
  int InputBuffer; 
  __int64 v7; 
  int v8; 
  int v9; 
  __int64 v10; 
  __int64 v11; 
  __int64 v12; 
  __int64 *v13; 
  INT64(__fastcall *v14)(INT64, INT64, INT64, INT64, INT64, INT64); 
  int *p_InputBuffer; 
  int a2; 
  void *a1; 
  a1 = 0i64;
  a2 = 0;
  v1 = PopPdcIdlePhaseWatchdogContext;
  v2 = (int)rcx0;
  if( PopPdcIdlePhaseWatchdogContext )
  {
    PopPdcAreAllPhasesDisengaged();
    if( v3 )
    {
      PopSnapSystemIdleContext(&a1, &a2);
      PopAcquireRwLockExclusive(&stru_140C21188);
      v4 = a2;
      qword_140C21198 = a1;
      dword_140C211A0 = a2;
      PopReleaseRwLock((UINT64)&stru_140C21188);
      if( (_DWORD)v2 == 12 || (unsigned int)(v2 - 5) <= 1 )
        v5 = PopIdleScanInterval + v4;
      else
        v5 = PopPdcIdlePhaseDefaultWatchdogTimeoutSeconds;
      memset((INT64)&InputBuffer, 0i64);
      InputBuffer = 21;
      v7 = v1;
      v9 = 160;
      v10 = 2050i64;
      v8 = 1000 * v5;
      v12 = (unsigned int)PopEventProcessorEnabled;
      v13 = &PopPdcIdlePhaseWatchdogContext;
      p_InputBuffer = &InputBuffer;
      v14 = PopIdlePhaseWatchdogCallback;
      v11 = v2;
      ZwPowerInformation(SystemPowerStateLogging|0x40, &InputBuffer, 0x60u, 0i64, 0);
    }
  }
}

Referenced by:

PopProcessSessionDisplayStateChange