KeSetPagePrivilege

int __fastcall KeSetPagePrivilege(__int64 a1, __int128 *a2, __int16 a3){
  char v3; 
  INT16 v6; 
  int ProtectedPageExecutable; 
  __int128 v8; 
  INT64 result[2]; 
  __int128 v10; 
  v3 = a3;
  if( (a3 & 0x100) != 0 )
  {
    memset((INT64)result, 0i64);
    v6 = 245;
LABEL_11:
    v8 = *a2;
    result[1] = a1;
    v10 = v8;
    return VslpEnterIumSecureMode(2u, v6, 0i64, (INT64)result);
  }
  if( (a3 & 0x400) != 0 )
  {
    memset((INT64)result, 0i64);
    v6 = 246;
    goto LABEL_11;
  }
  if( (a3 & 6) == 0 )
  {
    memset((INT64)result, 0i64);
    v6 = 243;
    goto LABEL_11;
  }
  ProtectedPageExecutable = 0;
  if( (a3 & 2) == 0
    || (ProtectedPageExecutable = VslMakeProtectedPageExecutable(a1, a2, a3 & 0x800), ProtectedPageExecutable >= 0) )
  {
    if( (v3 & 4) != 0 )
      return(unsigned int)VslMakeProtectedPageWritable((_PREFIX_TABLE *)a1, (_STRING *)a2);
  }
  return ProtectedPageExecutable;
}

Referenced by:

ExpRevokeBootLoaderPagePrivileges
MiAllocateWsle
MiClearPfnImageVerified
MiCopyPage
MiDbgWriteCheck
MiDeletePerSessionProtos
MiInsertPageInFreeOrZeroedList
MiLockDriverPageRange
MiMarkPfnVerified