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