MiCreateForkWsles

VOID __stdcall MiCreateForkWsles(){
  _MMPTE *PteBase; 
  _MMSUPPORT_FULL *p_Vm; 
  _MMPTE *v2; 
  __int64 v3; 
  _MMPTE *v4; 
  _MMSUPPORT_SHARED *SharedVm; 
  UINT8 v6; 
  UINT8 v7; 
  UINT64 PagingLevel; 

  PteBase = MmGetPteBase();
  p_Vm = &KeGetCurrentThread()->ApcState.Process->Vm;
  v2 = PteBase;
  v3 = 3i64;
  v4 = PteBase + 0x7FFFFFFFFi64;
  do
  {
    v2 = (_MMPTE *)((char *)PteBase + (((unsigned __int64)v2 >> 9) & 0x7FFFFFFFF8i64));
    v4 = (_MMPTE *)((char *)PteBase + (((unsigned __int64)v4 >> 9) & 0x7FFFFFFFF8i64));
    --v3;
  }
  while( v3 );
  SharedVm = MiGetSharedVm(&p_Vm->Instance);
  v6 = ExAcquireSpinLockExclusive((INT64 *)&SharedVm->WorkingSetLock);
  SharedVm->GoodCitizenWaiting = 0;
  LODWORD(PagingLevel) = 3;
  v7 = v6;
  MiCreateForkWsle(&p_Vm->Instance, v6, v2, v4, PagingLevel);
  MiUnlockWorkingSetExclusive(&p_Vm->Instance, v7);
}

Referenced by:

MiCloneProcessAddressSpace