PopRemoveReasonRecordByReasonCode

VOID __stdcall PopRemoveReasonRecordByReasonCode(UINT64 ReasonCode){
  _QWORD *ReasonListByReasonCode; 
  __int64 v2; 
  _QWORD *v3; 

  ReasonListByReasonCode = (_QWORD *)PopGetReasonListByReasonCode(ReasonCode);
  if( ReasonListByReasonCode )
  {
    v2 = *ReasonListByReasonCode;
    if( *(_QWORD **)(*ReasonListByReasonCode + 8i64) != ReasonListByReasonCode
      || (v3 = (_QWORD *)ReasonListByReasonCode[1], (_QWORD *)*v3 != ReasonListByReasonCode) )
    {
      __fastfail(3u);
    }
    *v3 = v2;
    *(_QWORD *)(v2 + 8) = v3;
    ExFreePoolWithTag(ReasonListByReasonCode, 0x66756263u);
  }
}

Referenced by:

PopEnableHiberFile
PopLogDisabledSleepReason
PopUpdateUpgradeInProgress