MmReleaseLoadLock
VOID __stdcall MmReleaseLoadLock(_ETHREAD *CurrentThread){
if( dword_140C4CA20-- == 1 )
{
qword_140C4CA18 |= 1ui64;
if( (_InterlockedExchangeAdd64(&stru_140C4CA10._bf_0, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock(&stru_140C4CA10);
KeAbPostRelease(&stru_140C4CA10);
KeLeaveCriticalRegionThread(&CurrentThread->Tcb);
}
}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