MiUpdateSlabRangeProtectionHelper
__int64 __fastcall MiUpdateSlabRangeProtectionHelper(__int64 a1, __int64 *a2, _QWORD *a3){
__int64 v4;
unsigned __int64 v5;
int v6;
int v7;
__int64 v8;
if( (a2[1] & 1) != 0 )
{
v4 = *a2;
if( !*a2 )
return 0i64;
v5 = (unsigned __int64)a2 ^ v4;
}
else
{
v5 = *a2;
v4 = *a2;
}
if( v5 )
{
if( (a2[1] & 1) != 0 && v4 )
v4 ^= (unsigned __int64)a2;
v6 = a2[1] & 1;
if( v4 )
{
do
{
v7 = MiCompareSlabEntry(a3, v4);
if( v7 >= 0 )
{
if( v7 <= 0 )
break;
v8 = *(_QWORD *)(v4 + 8);
}
else
{
v8 = *(_QWORD *)v4;
}
if( v6 && v8 )
v4 ^= v8;
else
v4 = v8;
}
while( v4 );
if( v4 )
{
a3[1] = v4;
return 1i64;
}
}
}
return 0i64;
}Referenced by:
No references.