MmFreeBootDriverInitializationCode
VOID __stdcall MmFreeBootDriverInitializationCode(){
INT8 v0;
INT64 v1;
_ETHREAD *Lock;
INT64 v3;
_KLDR_DATA_TABLE_ENTRY *i;
Lock = MmAcquireLoadLock(v1, v0);
--Lock->Tcb.KernelApcDisable;
ExAcquireResourceExclusiveLite((UINT64)&PsLoadedModuleResource, 1, v3);
for( i = (_KLDR_DATA_TABLE_ENTRY *)PsLoadedModuleList;
i != (_KLDR_DATA_TABLE_ENTRY *)&PsLoadedModuleList;
i = (_KLDR_DATA_TABLE_ENTRY *)i->InLoadOrderLinks.Flink )
{
if( (i->Flags & 0x40000000) == 0 )
MiFreeDriverInitialization(i);
}
ExReleaseResourceLite(&PsLoadedModuleResource);
KeLeaveCriticalRegionThread(&Lock->Tcb);
MmReleaseLoadLock(Lock);
}Referenced by:
Phase1Initialization