MiLoadImportDll

INT64 __stdcall MiLoadImportDll(
        UNICODE_STRING *DllToLoad,
        UNICODE_STRING *NamePrefix,
        UINT64 LoadFlags,
        PVOID *ImageHandle,
        PVOID *ImageBaseAddress){
  char v6; 
  int SystemImage; 
  VOID *v8; 
  _KLDR_DATA_TABLE_ENTRY *v9; 
  ULONG_PTR BugCheckParameter2; 
  void *v12; 
  BugCheckParameter2 = 0i64;
  v12 = 0i64;
  v6 = LoadFlags;
  SystemImage = MmLoadSystemImageEx(
                  DllToLoad,
                  NamePrefix,
                  0i64,
                  (unsigned int)LoadFlags | 8,
                  (INT64)&BugCheckParameter2,
                  (INT64)&v12);
  if( SystemImage >= 0 )
  {
    v8 = (VOID *)BugCheckParameter2;
    v9 = (_KLDR_DATA_TABLE_ENTRY *)BugCheckParameter2;
    *(_DWORD *)(BugCheckParameter2 + 104) |= 0x4000000u;
    SystemImage = MmCallDllInitialize(v9, (_LIST_ENTRY *)&PsLoadedModuleList);
    if( SystemImage < 0 )
    {
      MmUnloadSystemImage(v8);
    }
    else
    {
      if( (v6 & 1) == 0 )
        MiFreeDriverInitialization((__int64)v8);
      *ImageHandle = (PVOID)BugCheckParameter2;
      *ImageBaseAddress = v12;
    }
  }
  return(unsigned int)SystemImage;
}

Referenced by:

MiResolveImageReferences