MiSystemImageHasPrivateFixups
unsigned __int64 __fastcall MiSystemImageHasPrivateFixups(unsigned __int64 a1, _QWORD *a2, _DWORD *a3){
int SystemRegionType;
unsigned __int64 v7;
KIRQL v8;
__int64 *v9;
unsigned __int64 v10;
unsigned __int64 v11;
unsigned __int64 v12;
*a3 = 0;
*a2 = 0i64;
if( (__int64 *)qword_140C4CA00 == &qword_140C4CA00 )
return 0i64;
SystemRegionType = MiGetSystemRegionType(a1);
if( SystemRegionType != 12 && SystemRegionType != 1 )
return 0i64;
v7 = 0i64;
v8 = ExAcquireSpinLockShared(&dword_140C4CA24);
v9 = (__int64 *)qword_140C4CA00;
v10 = v8;
while( v9 != &qword_140C4CA00 )
{
v11 = v9[2];
if( a1 >= v11 && a1 <= v9[3] )
{
v12 = (a1 - v11) >> 12;
if( _bittest(*(const signed __int32 **)(v9[5] + 8), v12) )
{
v7 = v11 - v9[4];
*a2 = v9[6];
*a3 = v12;
}
break;
}
v9 = (__int64 *)*v9;
}
ExReleaseSpinLockSharedFromDpcLevel(&dword_140C4CA24);
__writecr8(v10);
return v7;
}Referenced by:
MiCompleteProtoPteFault