KiSetPageAttributesTable
VOID __stdcall KiSetPageAttributesTable(){
int v0;
bool v1;
unsigned int v2;
__int64 v3;
char v4;
int v5;
int v6;
unsigned __int64 v7;
unsigned __int64 v8;
int v9;
v7 = 0x7010600070106i64;
v0 = 0;
_disable();
v1 = (v9 & 0x200) != 0;
v2 = 0;
v8 = __readmsr(0x277u);
v3 = 0i64;
while( 1 )
{
v4 = *((_BYTE *)&v8 + v3);
if( v4 == 6 && *((_BYTE *)&v7 + v3) != 6 )
break;
v5 = v0 | 1;
if( v4 == *((_BYTE *)&v7 + v3) )
v5 = v0;
++v2;
++v3;
v0 = v5;
if( v2 >= 8 )
goto LABEL_6;
}
v0 = 3;
LABEL_6:
if( v0 )
{
v6 = v0 & 2;
if( v6 )
__wbinvd();
KeFlushCurrentTbImmediately();
__writemsr(0x277u, v7);
if( v6 )
__wbinvd();
KeFlushCurrentTbImmediately();
}
if( v1 )
_enable();
}Referenced by:
KeRestoreProcessorSpecificFeatures
KiInitializeKernel