MiGetSubsectionCharges

NTSTATUS __stdcall MiGetSubsectionCharges(UINT8 FreePhysicalPages){
  INT64 v1; 
  UINT64 v2; 
  __int64 v3; 
  _MI_CROSS_PARTITION_CHARGES *v4; 
  NTSTATUS result; 
  NTSTATUS v6; 
  v2 = v1;
  v3 = *(_QWORD *)(*(_QWORD *)FreePhysicalPages + 64i64);
  v4 = *(_MI_CROSS_PARTITION_CHARGES **)(qword_140C4E388
                                       + 8i64 * (*(_WORD *)(*(_QWORD *)FreePhysicalPages + 60i64) & 0x3FF));
  result = MiGetCrossPartitionCharges((INT64)v4, 0i64, v3 != 0, v1);
  if( result >= 0 )
  {
    if( v3 && !(unsigned int)MiChargeCommit((_MI_PARTITION *)v4, v2, 0i64) )
    {
      v6 = -1073741523;
LABEL_9:
      MiReturnCrossPartitionCharges(v4, 0i64);
      return v6;
    }
    if( !(unsigned int)MiChargeResident(&v4->CurrentCharges, v2, 0i64) )
    {
      if( v3 )
        MiReturnCommit((_MI_PARTITION *)v4, v2);
      v6 = -1073741801;
      goto LABEL_9;
    }
    return 0;
  }
  return result;
}

Referenced by:

MiChargeSegmentCommit
MiCreatePrototypePtes
MiExtendSection
MiReferenceActiveSubsection
MiUpdateLastSubsectionSize