PopPepArmIdleTimer

VOID __stdcall PopPepArmIdleTimer(UINT8 ArmAlways){
  unsigned __int64 v2; 

  if( (_DWORD)PopPepIdleStateTimeout )
  {
    v2 = (unsigned __int8)ExAcquireSpinLockExclusive((INT64 *)&PopIrpWorkerControlEvent + 357);
    if( ArmAlways )
      *(&PopIrpWorkerControlEvent + 2704) = 0;
    if( !*(&PopIrpWorkerControlEvent + 2704) && *(&PopIrpWorkerControlEvent + 677) > 0 )
    {
      *(&PopIrpWorkerControlEvent + 2704) = 1;
      KeSetCoalescableTimer(
        (INT64)&PopIrpWorkerControlEvent + 2720,
        -10000i64 * (unsigned int)PopPepIdleStateTimeout,
        0i64,
        (unsigned int)PopPepIdleStateTimeout,
        (INT64)&PopIrpWorkerControlEvent + 2784);
    }
    ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&PopIrpWorkerControlEvent + 357);
    __writecr8(v2);
  }
}

Referenced by:

PopPepGetComponentPreferedIdleState
PopPepIdleTimeoutDpcRoutine
PopPepIdleTimeoutRoutine