MiFlushRelease
VOID __stdcall MiFlushRelease(_CONTROL_AREA *ControlArea, _SUBSECTION *Subsection, _SUBSECTION *LastSubsection){
UINT64 v6;
volatile INT64 *v7;
KIRQL v8;
UINT64 v9;
v6 = 0i64;
v7 = *(volatile INT64 **)(qword_140C4E388 + 8i64 * (*((_WORD *)ControlArea + 30) & 0x3FF));
v8 = ExAcquireSpinLockExclusive((PEX_SPIN_LOCK)ControlArea + 18);
if( Subsection )
{
v9 = MiDecrementSubsections(Subsection, Subsection, 0i64);
v6 = MiDecrementSubsections(LastSubsection, LastSubsection, 0i64) + v9;
}
--*((_QWORD *)ControlArea + 5);
MiCheckControlArea(ControlArea, v8);
if( v6 )
MiReturnCrossPartitionSectionCharges(v7, 1i64, v6);
}Referenced by:
MiAllocateVirtualMemory
MiFreeOverlappedFlushEntry
MmFlushSection
MmFlushVirtualMemory
MmTrimSection