MiPageHasRelocations
NTSTATUS __stdcall MiPageHasRelocations(_CONTROL_AREA *ControlArea, UINT64 ImagePteIndex){
__int64 *NumberOfPfnReferences;
__int64 v3;
int v4;
int v5;
int v6;
NumberOfPfnReferences = (__int64 *)ControlArea->NumberOfPfnReferences;
v3 = *NumberOfPfnReferences;
if( (unsigned int)ImagePteIndex >= (unsigned __int64)NumberOfPfnReferences[7] )
return 0;
ImagePteIndex = (unsigned int)ImagePteIndex;
while( !*(_QWORD *)(v3 + 8i64 * (unsigned int)ImagePteIndex) )
{
LOBYTE(v4) = MiDoesPageRequireRetpolineFixups((INT64)(NumberOfPfnReferences + 9), ImagePteIndex);
if( v4 )
break;
ImagePteIndex = (unsigned int)(v5 + 1);
if( (_DWORD)ImagePteIndex != v6 )
return 0;
}
return 1;
}Referenced by:
MiRevertRelocatedImagePfn
MiWalkEntireImage