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