SmStoreSetProcessVaRanges

NTSTATUS __fastcall SmStoreSetProcessVaRanges(VOID *Src, INT64 a2){
  void *v2; 
  _EPROCESS *Process; 
  size_t v5; 
  VOID *v6; 
  int v7; 

  v2 = 0i64;
  Process = KeGetCurrentThread()->ApcState.Process;
  if( a2 )
  {
    v5 = 16 * a2;
    LODWORD(v6) = SSHSupportAllocateNonPaged(16 * a2, 0x52566D73u);
    v2 = v6;
    if( !v6 )
      return -1073741670;
    memmove(v6, Src, v5);
  }
  v7 = SmpKeyedStoreSetVaRanges(&KeyedStoreCtx, (UINT64)Process);
  if( v7 >= 0 )
  {
    v2 = 0i64;
    v7 = 0;
  }
  if( v2 )
    ExFreePoolWithTag(v2, 0);
  return v7;
}

Referenced by:

MmInSwapWorkingSet
MmOutSwapWorkingSet