ExpRevokeBootLoaderPagePrivileges
VOID **__fastcall ExpRevokeBootLoaderPagePrivileges(INT64 a1){
VOID **result;
INT64 v2;
__int64 *i;
_PREFIX_TABLE *v4;
unsigned __int64 v5;
_STRING FullName;
void *retaddr;
result = &retaddr;
FullName.Buffer = 0i64;
v2 = a1 + 32;
*(_QWORD *)&FullName.Length = 0i64;
for( i = *(__int64 **)(a1 + 32); i != (__int64 *)v2; i = (__int64 *)*i )
{
if( *((_DWORD *)i + 4) == 4 )
{
v4 = (_PREFIX_TABLE *)i[3];
v5 = (unsigned __int64)&v4[-1].NextPrefixTree + i[4] + 7;
while( (unsigned __int64)v4 <= v5 )
{
result = (VOID **)KeSetPagePrivilege(v4, &FullName, 16);
v4 = (_PREFIX_TABLE *)((char *)v4 + 1);
}
}
}
return result;
}Referenced by:
InitBootProcessor