PopPowerActionWatchdog

VOID __stdcall __noreturn PopPowerActionWatchdog(){
  __int64 v0; 
  _ETHREAD *BugCheckParameter4; 

  if( dword_140C23404 == 1 )
  {
    v0 = 240i64;
  }
  else
  {
    v0 = 15i64;
    if( dword_140C23404 == 2 )
      v0 = 241i64;
  }
  PopInternalAddToDumpFile(0i64, 0i64, 0i64);
  BugCheckParameter4 = (_ETHREAD *)::BugCheckParameter4;
  if( !::BugCheckParameter4 )
  {
    BugCheckParameter4 = (_ETHREAD *)qword_140C23410;
    if( !qword_140C23410 )
    {
      BugCheckParameter4 = (_ETHREAD *)qword_140C23418;
      if( !qword_140C23418 )
      {
        BugCheckParameter4 = (_ETHREAD *)qword_140C23420;
        if( !qword_140C23420 )
        {
          BugCheckParameter4 = (_ETHREAD *)*(&PopIrpWorkerControlEvent + 237);
          if( !*(&PopIrpWorkerControlEvent + 237) )
          {
            BugCheckParameter4 = (_ETHREAD *)PopPolicyLockThread;
            if( !PopPolicyLockThread )
              BugCheckParameter4 = (_ETHREAD *)KeGetCurrentThread();
          }
        }
      }
    }
  }
  KeBugCheckEx(0xA0u, (PVOID)v0, (PVOID)(int)SystemState, (PVOID)PopSleepCheckpoint, BugCheckParameter4);
}

Referenced by:

PopSetPowerActionWatchdogState