MmRemoveExecuteGrants

VOID __stdcall MmRemoveExecuteGrants(){
  INT64 v0; 
  _WORD v1[3]; 
  UINT8 v2; 
  INT64 v3; 
  __int64 v4; 
  INT64(__fastcall *v5)(INT64, INT64); 
  INT64(__stdcall *v6)(); 
  int *p_result; 
  int result; 
  __int16 result_4; 
  int v10; 
  __int64 v11; 
  __int64 v12; 
  memset((INT64)&result, 0i64);
  memset((INT64)v1, 0i64);
  v0 = *((_QWORD *)KeGetCurrentThread() + 23);
  v1[0] = -32762;
  v0 += 1664i64;
  v3 = v0;
  p_result = &result;
  result = 1;
  v5 = MiRevokeExecutePte;
  v6 = HalSystemVectorDispatchEntry;
  v4 = 0xFFFF7FFFFFFFFFFFui64;
  result_4 = 0;
  v11 = 0i64;
  v12 = 0i64;
  v10 = 20;
  v2 = MiLockWorkingSetShared(v0);
  MiWalkPageTables((INT64)v1);
  MiUnlockWorkingSetShared(v0, v2);
  MiFlushTbList((__int64)&result);
}

Referenced by:

NtSetInformationProcess