UINT64 __fastcall MiAdjustFaultList(_QWORD *a1){
_QWORD *v1;
UINT64 result;
unsigned __int64 v3;
__int64 v4;
v1 = (_QWORD *)(a1[2] & 0xFFFFFFFFFFFFFFFEui64);
result = v1[3];
if( result < v1[2] )
{
v3 = *a1 & 0xFFFFFFFFFFFFF000ui64;
result = v1[1] + 16 * result;
v4 = *(_QWORD *)result;
if( v3 >= *(_QWORD *)result && v3 < v4 + *(_QWORD *)(result + 8) )
v1[4] = (v3 - (v4 & 0xFFFFFFFFFFFFF000ui64)) >> 12;
}
return result;
}