MiDecrementSubsection

NTSTATUS __stdcall MiDecrementSubsection(PVOID BugCheckParameter2){
  __int64 v1; 
  unsigned __int64 v3; 
  UINT64 v4; 
  UINT64 v5; 
  NTSTATUS result; 
  unsigned int v7; 

  v1 = *(_QWORD *)BugCheckParameter2;
  v3 = (unsigned __int8)ExAcquireSpinLockExclusive((INT64 *)(*(_QWORD *)BugCheckParameter2 + 72i64));
  LODWORD(v4) = MiDecrementSubsections((_SUBSECTION *)BugCheckParameter2, (_SUBSECTION *)BugCheckParameter2, 0i64);
  v5 = v4;
  ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)(v1 + 72));
  result = KiIrqlFlags;
  v7 = 0;
  __writecr8(v3);
  if( v5 )
  {
    LOBYTE(v7) = *(_QWORD *)(v1 + 64) != 0i64;
    MiReturnCrossPartitionSectionCharges(
      *(_MI_CROSS_PARTITION_CHARGES **)(*(&stru_140C4DB30 + 267) + 8i64 * (*(_WORD *)(v1 + 60) & 0x3FF)),
      v7,
      v5);
  }
  return result;
}

Referenced by:

MiPurgeBadFileOnlyPages
MiTrimSection
MiTrimSharedPage