PopDeepSleepWatchdogTakeAction

VOID __fastcall PopDeepSleepWatchdogTakeAction(INT64 a1, UINT8 a2){
  UINT8 PowerSettingPending; 
  INT64 v5; 
  INT64 v6; 
  PowerSettingPending = PopPowerSettingPendingUpdateWatchdog((unsigned int)(10000 * *(_DWORD *)(a1 + 8)));
  PopDiagTraceCsDeepSleepWatchdog(
    *(unsigned int *)(a1 + 4),
    *(unsigned int *)(a1 + 12),
    *(unsigned int *)(a1 + 8),
    *(_BYTE *)(a1 + 24) != 0,
    a2,
    PowerSettingPending);
  if( !*(_BYTE *)(a1 + 24) || (a2 & 1) != 0 )
  {
    if( (_BYTE)KdDebuggerEnabled && !(_BYTE)KdDebuggerNotPresent && (a2 & 8) != 0 && *(_DWORD *)(a1 + 16) <= 0x64u )
      __debugbreak();
    v5 = 4i64;
    if( (a2 & 4) != 0 )
    {
      LODWORD(v6) = 0;
      if( PowerSettingPending )
        v5 = 5i64;
      DbgkWerCaptureLiveKernelDump(
        (WCHAR *)L"DripsWatchdog",
        351i64,
        v5,
        a1,
        *(unsigned int *)(a1 + 4),
        0i64,
        0i64,
        0i64,
        v6);
    }
  }
}

Referenced by:

PopDripsWatchdogDiagnosticWorker