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