MiApplyImportOptimizationToBootDrivers

NTSTATUS __stdcall MiApplyImportOptimizationToBootDrivers(INT64 a1){
  unsigned int v1; 
  INT64 v2; 
  __int64 *v3; 
  unsigned int(*v4)(void); 
  char *v5; 
  INT64 a4; 
  int updated; 
  INT64 v9[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 = (char *)v3[6];
      if( v5 != (char *)PsNtosImageBase && v5 != PsHalImageBase && !MI_IS_PHYSICAL_ADDRESS((VOID *)v3[6]) )
      {
        if( (KiSpeculationFeatures & 0x2000000) != 0 )
          a4 = v3[6] + *((_DWORD *)v3 + 16) + (v1 << 12);
        else
          a4 = 0i64;
        if( (MiFlags & 0x10000) != 0 )
        {
          memset(v9, 0i64, 0x68u);
          v9[1] = (INT64)v5;
          updated = VslpEnterIumSecureMode(2u, 222, 0i64, (INT64)v9);
        }
        else
        {
          updated = RtlUpdateImportRelocationsInImage(
                      v5,
                      (INT64)v5,
                      *((unsigned int *)v3 + 16),
                      v4,
                      a4,
                      qword_140C4C9A8,
                      0,
                      (KiSpeculationFeatures & 0x2000000) == 0);
        }
        if( updated >= 0 )
          *((_DWORD *)v3 + 26) |= 0x80u;
      }
      v3 = (__int64 *)*v3;
    }
  }
  return 0;
}

Referenced by:

MiReloadBootLoadedDrivers