PopRecordLongPowerButtonPressDetected
VOID __fastcall PopRecordLongPowerButtonPressDetected(CHAR a1){
struct EX_RUNDOWN_REF *v1;
INT64 v2;
RtlBootStatusDisableFlushing(0i64, v1, v2);
PopAcquireRwLockExclusive(&PopBsdUpdateLock);
*((_BYTE *)&PopBsdPhysicalPowerButtonInfo + 15) ^= (*((_BYTE *)&PopBsdPhysicalPowerButtonInfo + 15) ^ (4 * a1)) & 4;
BYTE1(PopBsdPowerTransitionExtension) = PnpSetupInProgress & 1 | BYTE1(PopBsdPowerTransitionExtension) & 0xFC | (2 * (PnpSetupOOBEInProgress & 1));
RtlSetSystemBootStatus(14i64, (INT64)&PopBsdPhysicalPowerButtonInfo, 48i64, 0i64);
RtlSetSystemBootStatus(16i64, (INT64)&PopBsdPowerTransitionExtension, 32i64, 0i64);
PopReleaseRwLock((UINT64)&PopBsdUpdateLock);
}Referenced by:
PoClearTransitionMarker
PopDiagTracePowerButtonBugcheck