MiMarkNonPagedHiberPhasePte
INT64 __fastcall MiMarkNonPagedHiberPhasePte(INT64 a1, INT64 a2, INT64 a3){
int v3;
unsigned __int64 v4;
char v5;
__int64 v6;
UINT64 v7;
__int64 v8;
char *v9;
__int64 v10;
UINT64 Tag;
UINT64 v13;
v3 = a3;
v4 = MI_READ_PTE_LOCK_FREE(a2);
v13 = v4;
v5 = v4;
if( (v4 & 1) != 0 )
{
v6 = (v4 >> 12) & 0xFFFFFFFFFi64;
if( (unsigned int)MiIsPfn(v6) )
{
if( v5 >= 0 )
{
if( v3 )
return 0i64;
v9 = (char *)MmGetPfnDb() + 48 * v6;
if( *((_WORD *)v9 + 16) <= 1u && (unsigned int)MiIsPfnTradable((BYTE *)v9) && (*(_BYTE *)(v10 + 35) & 8) == 0 )
return 0i64;
v7 = 1i64;
}
else
{
v7 = 512i64;
if( v3 <= 1 )
{
LABEL_14:
LODWORD(Tag) = 1818521678;
PoSetHiberRange(0i64, 0x14000ui64, (VOID *)v6, v7, Tag);
return 0i64;
}
v8 = (unsigned int)(v3 - 1);
do
{
v7 <<= 9;
--v8;
}
while( v8 );
}
if( v7 )
goto LABEL_14;
}
}
return 0i64;
}Referenced by:
No references.