SmpDirtyStoreCreate

INT64 __fastcall SmpDirtyStoreCreate(INT64 a1, UINT64 a2, INT64 a3, _DWORD *a4){
  __int64 v4; 
  int v5; 
  int v8; 
  bool v9; 
  unsigned __int64 v10; 
  INT64 Request; 
  INT64 result; 
  unsigned int v13; 
  int v14; 
  int v15; 
  int v16; 
  int v17; 
  v4 = (unsigned int)a2;
  v5 = a3;
  memset((INT64)&result, 0i64);
  v14 = 128;
  v15 = 0x20000;
  LODWORD(result) = ((v5 & 1) << 9) | 0x106;
  v8 = 0;
  if( v5 )
    v9 = (dword_140D23180 & 0xC) == 8;
  else
    v9 = (dword_140D23180 & 3) == 2;
  LOBYTE(v8) = v9;
  v10 = (8 * v4) & 0x7FFFFFFFFFFFi64;
  v13 = v13 & 0xFFF4FF00 | ((dword_140D23180 & 0x10 | 0x40) << 12) & 0xFFF5FFFF | (((16 * v8) | dword_140D23180 & 0x40) << 13);
  if( v10 >= 0x40000 )
    LODWORD(v10) = 0x40000;
  v16 = v10;
  Request = SmProcessCreateRequest(a1, (UINT64)&result, 88i64, 0);
  if( (int)Request >= 0 )
  {
    *a4 = v17;
    return 0i64;
  }
  return Request;
}

Referenced by:

SmpKeyedStoreCreate
SmpSystemStoreCreate