MiCreatePlaceholderStorage

INT64 __fastcall MiCreatePlaceholderStorage(__int64 a1){
  ULONG_PTR v2; 
  INT64 result; 
  __int64 v4; 
  __int64 v5; 
  __int64 Vad; 
  v2 = *((_QWORD *)KeGetCurrentThread() + 23);
  result = PsChargeProcessNonPagedPoolQuota(v2, 0x88ui64);
  if( (int)result >= 0 )
  {
    LODWORD(v4) = MiAllocatePool((struct _SLIST_ENTRY *)0x40);
    v5 = v4;
    if( v4 )
    {
      *(_DWORD *)(v4 + 64) = 128;
      Vad = MiAllocateVad(0i64, 0i64, 2);
      *(_QWORD *)(v5 + 8) = Vad;
      if( Vad )
      {
        MiInsertVadEvent((_MMVAD_SHORT *)a1, (_MI_VAD_EVENT_BLOCK *)v5, 0i64);
        return 0i64;
      }
      ExFreePoolWithTag((PVOID)v5, 0);
    }
    PsReturnProcessNonPagedPoolQuota(v2, 0x88ui64);
    return 3221225626i64;
  }
  return result;
}

Referenced by:

MiAllocateChildVads
MiDeletePartialVad
MiMapViewOfDataSection
MiReserveUserMemory