MiBootImageRelocated

INT64 __fastcall MiBootImageRelocated(INT64 a1, INT64 a2, UINT64 a3, INT64 a4, INT64 a5, INT64 a6){
  UINT64 v8; 
  INT64 result; 
  *(_QWORD *)(a2 + 48) = a4;
  v8 = a4 - a3 + a5;
  *(_QWORD *)(v8 + 48) = a4;
  MiUpdateThunks((_LOADER_PARAMETER_BLOCK *)a1, (PVOID)a3, (PVOID)a4, *(unsigned int *)(a2 + 64));
  *(_DWORD *)(a2 + 104) |= 0x1000000u;
  *(_QWORD *)(a2 + 56) = a4 + *(unsigned int *)(v8 + 40);
  result = (unsigned int)((_DWORD)a6 << 12);
  *(_DWORD *)(a2 + 64) = result;
  if( (MiFlags & 0x8000) != 0 )
    return VslReserveProtectedPages(0i64, a3, 0i64, 2ui64);
  return result;
}

Referenced by:

MiHandleBootImage