MiSessionUnloadAllImages

VOID __stdcall MiSessionUnloadAllImages(PVOID MemoryMap, PVOID Va, UINT64 a3){
  _ETHREAD *Lock; 
  INT64 *v4; 
  _ETHREAD *v5; 
  INT8 v6; 
  INT64 v7; 
  _ETHREAD *v8; 
  UINT64 v9; 

  Lock = MmAcquireLoadLock((INT64)MemoryMap, (INT8)Va);
  v4 = (INT64 *)PsLoadedModuleList;
  v5 = Lock;
  while( v4 != &PsLoadedModuleList )
  {
    v9 = v4[6];
    if( MiGetSystemRegionType(v9) == 1 && MiSessionLookupImage(v9) )
    {
      MmReleaseLoadLock(v5);
      MmUnloadSystemImage(v4);
      v8 = MmAcquireLoadLock(v7, v6);
      v4 = (INT64 *)PsLoadedModuleList;
      v5 = v8;
    }
    else
    {
      v4 = (INT64 *)*v4;
    }
  }
  MmReleaseLoadLock(v5);
}

Referenced by:

MiDereferenceSessionFinal