MmUnloadSystemImage

INT64 __fastcall MmUnloadSystemImage(VOID *ImageHandle){
  _EJOB *v2; 
  char v3; 
  _ETHREAD *Lock; 
  _EJOB *v6; 
  v2 = 0i64;
  v3 = 0;
  if( *((_BYTE *)PsGetCurrentServerSiloGlobals() + 1176) )
  {
    v6 = (_EJOB *)HalSystemVectorDispatchEntry();
    v2 = PsAttachSiloToCurrentThread(v6);
    v3 = 1;
  }
  Lock = MmAcquireLoadLock();
  MiUnloadSystemImage(ImageHandle, 0xFFFFFFFFui64);
  MmReleaseLoadLock(Lock);
  if( v3 )
    PsDetachSiloFromCurrentThread(v2);
  return 0i64;
}

Referenced by:

IopDeleteDriver
IopLoadDriver
MiLoadImportDll
MiSessionUnloadAllImages
NtSetSystemInformation
PnprLoadPluginDriver