FsRtlpRemoveAndCompleteReadOnlyIrp

VOID __stdcall FsRtlpRemoveAndCompleteReadOnlyIrp(_LIST_ENTRY *Link, INT64 CompletionStatus, UINT64 NewOplockLevel){
  _LIST_ENTRY *Flink; 
  _IRP *p_Blink; 
  int v5; 
  unsigned int v7; 
  INT64 v8; 
  INT64 v9; 
  _LIST_ENTRY *v10; 
  _LIST_ENTRY *Blink; 
  _LIST_ENTRY *v12; 
  __int64 v13; 
  bool v14; 
  int v15; 
  NTSTATUS IsEnabled; 
  _CCHAR v17; 

  Flink = Link[1].Flink;
  p_Blink = (_IRP *)&Link[-11].Blink;
  v5 = CompletionStatus;
  v7 = NewOplockLevel;
  ObfDereferenceObjectWithTag(Flink[3].Flink, 0x746C6644ui64);
  BYTE5(Link[-7].Blink) = KeAcquireQueuedSpinLock(7i64, v8, v9);
  _InterlockedExchange64((volatile __int64 *)&Link[-4], 0i64);
  KeReleaseQueuedSpinLock(LockQueueIoCancelLock, BYTE5(Link[-7].Blink));
  v10 = Link->Flink;
  if( Link->Flink->Blink != Link || (Blink = Link->Blink, Blink->Flink != Link) )
    __fastfail(3u);
  Blink->Flink = v10;
  v10->Blink = Blink;
  if( LODWORD(Flink[1].Blink) == 590400 )
  {
    if( BYTE4(Link[-7].Blink) )
    {
      v14 = Feature_Servicing_39887415__private_IsEnabled() == 0;
      v15 = -1073741536;
      v13 = 0i64;
      if( v14 )
        v15 = v5;
      v5 = v15;
    }
    else
    {
      v12 = Link[-9].Flink;
      v13 = 24i64;
      *(_LIST_ENTRY **)((char *)&v12->Blink + 4) = 0i64;
      HIDWORD(v12[1].Flink) = 0;
      LODWORD(v12->Flink) = 1572865;
      LODWORD(v12->Blink) = (v7 >> 12) & 7;
      HIDWORD(v12->Flink) = 1;
    }
  }
  else
  {
    if( Feature_Servicing_39887415__private_IsEnabled() && BYTE4(Link[-7].Blink) )
      v5 = -1073741536;
    v13 = 8i64;
  }
  Link[-7].Flink = (_LIST_ENTRY *)v13;
  IsEnabled = Feature_Servicing_39887415__private_IsEnabled();
  LOBYTE(v17) = 1;
  if( !IsEnabled && BYTE4(Link[-7].Blink) )
    v5 = -1073741536;
  LODWORD(Link[-8].Blink) = v5;
  IofCompleteRequest(p_Blink, v17);
}

Referenced by:

FsRtlCheckUpperOplock
FsRtlpCancelReadOnlyOplockIrp
FsRtlpOplockBreakByCacheFlags
FsRtlpOplockBreakToNone
FsRtlpOplockCleanup
FsRtlpRequestExclusiveOplock
FsRtlpRequestShareableOplock