MiDereferenceDataSubsections

VOID __stdcall MiDereferenceDataSubsections(_CONTROL_AREA *ControlArea, UINT64 *a2, INT64 a3, INT64 a4, INT64 a5){
  int v7; 
  _SUBSECTION *v9; 
  UINT64 v10; 
  _SUBSECTION *SubsectionNode; 
  UINT64 v12; 

  v12 = 0i64;
  v7 = a4;
  v9 = MiOffsetToProtos(ControlArea, *a2, &v12);
  v10 = a3 + v12;
  LODWORD(a5) = -(int)a5;
  if( v7 )
  {
    SubsectionNode = MiLocateSubsectionNode(ControlArea, (a3 << 12) + *a2 - 1, 0i64);
    MiDecrementLargeSubsections(&v9->ControlArea, (INT64)SubsectionNode);
  }
  MiRemoveViewsFromSectionWithPfn(v9, v10);
}

Referenced by:

MiInsertInSystemSpace