MmReleaseLoadLock
void __fastcall MmReleaseLoadLock(_ETHREAD *CurrentThread){
if( dword_140C4CA20-- == 1 )
{
qword_140C4CA18 |= 1ui64;
if( (_InterlockedExchangeAdd64((volatile signed __int64 *)&qword_140C4CA10, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock((volatile INT64 *)&qword_140C4CA10);
KeAbPostRelease(&qword_140C4CA10);
KeLeaveCriticalRegionThread((__int64)CurrentThread);
}
}Referenced by:
IopLoadDriver
MiFlushDeferredRetpolineImageLoadEvents
MiFlushStrongCodeDriverLoadFailures
MiInitializeRetpoline
MiLoadHotPatch
MiLogHotPatchRundown
MiObtainSectionForDriver
MiQueryProcessActivePatches
MiReloadBootLoadedDrivers
MiSessionUnloadAllImages
MiShutdownSystem
MiUnloadHotPatch
MmAddVerifierSpecialThunks
MmAddVerifierThunks
MmBackSystemImageWithPagefile
MmChangeImageProtection
MmDiscardDriverSection
MmEnableVerifierForDriver
MmEnumerateSystemImages
MmFreeBootDriverInitializationCode
MmLoadSystemImageEx
MmMarkHypercallPageRetpolineBit
MmRegisterHotPatch
MmUnloadSystemImage
MmWriteSystemImageTracepoint
VfAddVerifierEntry