MiApplyImportOptimizationToBootDrivers

INT64 __fastcall MiApplyImportOptimizationToBootDrivers(INT64 a1){
  unsigned int v1; 
  INT64 v2; 
  __int64 *v3; 
  unsigned int(*v4)(void); 
  PVOID v5; 
  __int64 v6; 
  int updated; 
  INT64 result[14]; 
  v1 = ((unsigned int)dword_140C4C9F0 >> 12) + ((dword_140C4C9F0 & 0xFFF) != 0);
  if( (KiSpeculationFeatures & 0x4000000) != 0 )
  {
    v2 = a1 + 16;
    v3 = *(__int64 **)(a1 + 16);
    v4 = (unsigned int(*)(void))((unsigned __int64)MiIsTargetFullyRetpolined & -(__int64)((KiSpeculationFeatures & 0x2000000) != 0));
    while( v3 != (__int64 *)v2 )
    {
      v5 = (PVOID)v3[6];
      if( v5 != (PVOID)PsNtosImageBase && v5 != PsHalImageBase && !(unsigned int)MI_IS_PHYSICAL_ADDRESS((PVOID)v3[6]) )
      {
        if( (KiSpeculationFeatures & 0x2000000) != 0 )
          v6 = v3[6] + *((_DWORD *)v3 + 16) + (v1 << 12);
        else
          v6 = 0i64;
        if( (MiFlags & 0x10000) != 0 )
        {
          memset((INT64)result, 0i64);
          result[1] = (INT64)v5;
          updated = VslpEnterIumSecureMode(2u, 222, 0i64, (INT64)result);
        }
        else
        {
          updated = RtlUpdateImportRelocationsInImage(
                      v5,
                      (__int64)v5,
                      *((unsigned int *)v3 + 16),
                      v4,
                      v6,
                      (__int64)Base,
                      0,
                      (KiSpeculationFeatures & 0x2000000) == 0);
        }
        if( updated >= 0 )
          *((_DWORD *)v3 + 26) |= 0x80u;
      }
      v3 = (__int64 *)*v3;
    }
  }
  return 0i64;
}

Referenced by:

MiReloadBootLoadedDrivers