MiDereferenceDataSubsections

LONG __fastcall MiDereferenceDataSubsections(__int64 a1, unsigned __int64 *a2, __int64 a3, int a4, int a5){
  __int64 *v9; 
  unsigned __int64 v10; 
  bool v11; 
  unsigned int v12; 
  _SUBSECTION *SubsectionNode; 
  UINT64 v15; 
  v15 = 0i64;
  v9 = (__int64 *)MiOffsetToProtos((_CONTROL_AREA *)a1, *a2, &v15);
  v10 = a3 + v15;
  v11 = a5 != 0;
  a5 = -a5;
  v12 = v11 ? 0xFFFFFF80 : 0;
  if( a4 )
  {
    SubsectionNode = MiLocateSubsectionNode((_CONTROL_AREA *)a1, (a3 << 12) + *a2 - 1, 0i64);
    MiDecrementLargeSubsections(v9, (__int64)SubsectionNode);
  }
  return MiRemoveViewsFromSectionWithPfn((ULONG_PTR)v9, v10, v12 + 264);
}

Referenced by:

MiInsertInSystemSpace