MiApplyImportOptimizationToRuntimeDriver
INT64 __fastcall MiApplyImportOptimizationToRuntimeDriver(INT64 a1, UINT64 a2){
INT64 v4;
INT64 v5;
__int64 v6;
char v7;
int v8;
void *v10;
INT64 v11;
UINT64 Size;
v4 = 0i64;
if( !MiIsImportOptimizationEnabled()
|| !MiDoesControlAreaRequireRetpolineFixups(v5)
|| *(_QWORD *)(*(_QWORD *)v6 + 32i64) != *(_QWORD *)(a1 + 48)
|| (v7 & 1) != 0
|| VfIsDriverSuspect((PCUNICODE_STRING)(a1 + 88)) )
{
return 0;
}
if( (MiFlags & 0x10000) != 0 )
{
v10 = *(void **)(a1 + 48);
LODWORD(Size) = 0;
LODWORD(v11) = RtlImageDirectoryEntryToData(v10, 1u, 0xCu, &Size);
if( v11 )
{
v8 = VslCaptureSecureImageIat((INT64)v10, v11, (unsigned int)Size);
if( v8 < 0 )
return(unsigned int)v8;
}
}
else
{
v4 = MiReservePtes((INT64)&qword_140C4EC80, 1ui64);
if( !v4 )
return(unsigned int)-1073741670;
v8 = MiCaptureRetpolineImportInfo(a1, a2);
if( v8 < 0 )
goto LABEL_12;
}
MiWalkEntireImage(a2, v4, 16, 0xFFFFFFFF);
if( (MiFlags & 0x10000) == 0 )
MiUpdateImportRelocationsOnDriverPrivatePages(a1, a2, v4);
*(_DWORD *)(a1 + 104) |= 0x80u;
v8 = 0;
LABEL_12:
if( v4 )
MiReleasePtes((INT64)&qword_140C4EC80, v4, 1ui64);
return(unsigned int)v8;
}Referenced by:
MmLoadSystemImageEx