MiUpdateControlAreaCommitCount
INT64 __fastcall MiUpdateControlAreaCommitCount(INT64 a1, UINT64 a2){
INT64 *v4;
unsigned __int64 v5;
INT64 v6;
_InterlockedExchangeAdd64(
(volatile signed __int64 *)(*(_QWORD *)(qword_140C4E388 + 8i64 * (*(_WORD *)(a1 + 60) & 0x3FF)) + 7624i64),
a2);
if( *(_QWORD *)(a1 + 64) )
{
*(_QWORD *)(*(_QWORD *)a1 + 16i64) += a2;
return 0i64;
}
else
{
v4 = (INT64 *)(a1 + 72);
v5 = ExAcquireSpinLockExclusive((PEX_SPIN_LOCK)(a1 + 72));
*(_QWORD *)(a1 + 120) ^= (*(_QWORD *)(a1 + 120) ^ (*(_QWORD *)(a1 + 120) + a2)) & 0xFFFFFFFFFi64;
v6 = *(_DWORD *)(MiGetSubsectionHoldingCrossPartitionReferences(a1 + 128) + 48) & 0x3FFFFFFF;
ExReleaseSpinLockExclusiveFromDpcLevel(v4);
__writecr8(v5);
return v6;
}
}Referenced by:
MiChargeSegmentCommit
MiCreatePagingFileMap
MiRelocateImage
MiSetPagesModified