MiLockSectionControlArea
__int64 __fastcall MiLockSectionControlArea(_QWORD *a1, int a2, KIRQL *a3){
KIRQL v6;
unsigned __int64 v7;
__int64 v8;
unsigned __int64 v10;
while( 1 )
{
v6 = ExAcquireSpinLockExclusive(&dword_140C4C6C0);
v7 = v6;
*a3 = v6;
v8 = a2 == 1 ? *a1 : a1[2];
if( !v8 )
break;
if( (unsigned int)ExTryAcquireSpinLockExclusiveAtDpcLevel((INT64 *)(v8 + 72)) )
{
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&dword_140C4C6C0);
return v8;
}
v10 = *a3;
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&dword_140C4C6C0);
__writecr8(v10);
}
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&dword_140C4C6C0);
__writecr8(v7);
return 0i64;
}Referenced by:
MiComputeFlushRange
MiFlushDataSection
MiReferenceExistingControlArea
MmDisableModifiedWriteOfSection
MmEnoughMemoryForWrite
MmGetImageFileSignatureInformation
MmOnlySystemCacheViewsPresent
MmUpdateSectionIoAttribution