MiMakeSecureExclusive

NTSTATUS __stdcall MiMakeSecureExclusive(INT64 a1){
  NTSTATUS v2; 
  __int64 *v3; 
  _EPROCESS *Process; 
  _MMSUPPORT_SHARED *SharedVm; 
  UINT8 v6; 
  __int64 *i; 

  v2 = 0;
  v3 = 0i64;
  Process = KeGetCurrentThread()->ApcState.Process;
  SharedVm = MiGetSharedVm(&Process->Vm.Instance);
  v6 = ExAcquireSpinLockExclusive((INT64 *)&SharedVm->WorkingSetLock);
  SharedVm->GoodCitizenWaiting = 0;
  for( i = *(__int64 **)(a1 + 56); i; i = (__int64 *)*i )
  {
    if( *((_DWORD *)i + 16) == 2 )
    {
      if( v3 )
        goto LABEL_8;
      v3 = i;
    }
  }
  *((_DWORD *)v3 + 2) |= 0x20u;
  v2 = 1;
LABEL_8:
  MiUnlockWorkingSetExclusive(&Process->Vm.Instance, v6);
  return v2;
}

Referenced by:

MmStoreAllocateVirtualMemory