FsRtlNotifyCompleteIrpList

VOID __stdcall FsRtlNotifyCompleteIrpList(_NOTIFY_CHANGE_LITE *Notify, NTSTATUS Status){
  unsigned int v2; 
  _NOTIFY_CHANGE_LITE *v3; 
  _QWORD *v6; 
  __int64 v7; 
  UINT64 CheckCancel; 

  v2 = Notify[26];
  v3 = Notify + 12;
  Notify[26] = 0;
  *((_WORD *)Notify + 36) &= ~2u;
  Notify[27] = 0;
  v6 = (_QWORD *)*((_QWORD *)Notify + 6);
  do
  {
    if( (_NOTIFY_CHANGE_LITE *)v6[1] != v3 || (v7 = *v6, *(_QWORD **)(*v6 + 8i64) != v6) )
      __fastfail(3u);
    *(_QWORD *)v3 = v7;
    *(_QWORD *)(v7 + 8) = v3;
    *v6 = 0i64;
    LODWORD(CheckCancel) = 1;
    FsRtlNotifyCompleteIrp((PIRP)(v6 - 21), Notify, v2, Status, CheckCancel);
    if( !Status )
      break;
    v6 = *(_QWORD **)v3;
  }
  while( *(_NOTIFY_CHANGE_LITE **)v3 != v3 );
}

Referenced by:

FsRtlCheckNotifyForDelete
FsRtlCheckNotifyForDeleteLite
FsRtlNotifyFilterReportChange
FsRtlNotifyFilterReportChangeLiteEx