RtlpMuiRegCreateStringPool

_MUISTRINGPOOL *__stdcall RtlpMuiRegCreateStringPool(INT64 InitialStringsSize, INT64 InitialPoolSize){
  unsigned int v2; 
  unsigned int v3; 
  _MUISTRINGPOOL *result; 
  _WORD *v5; 
  UINT64 v6; 
  UINT64 v7; 

  LODWORD(v7) = 0;
  v2 = 4;
  LODWORD(v6) = 2;
  if( (int)InitialStringsSize >= 1 )
    v2 = InitialStringsSize;
  v3 = 40;
  if( (int)InitialPoolSize >= 1 )
    v3 = InitialPoolSize;
  result = (_MUISTRINGPOOL *)SafeAllocBlob(0x20ui64, v2, 2ui64, v3, v6, &v7);
  if( result )
  {
    *result = v7;
    *((_QWORD *)result + 2) = result + 8;
    *((_WORD *)result + 4) = v3;
    *((_WORD *)result + 2) = v2;
    v5 = (_WORD *)result + (unsigned __int16)v2 + 16;
    *((_QWORD *)result + 3) = v5;
    *v5 = 0;
    *((_WORD *)result + 5) = 1;
    **((_WORD **)result + 2) = 0;
    *((_WORD *)result + 3) = 1;
  }
  return result;
}

Referenced by:

RtlpMuiRegLoadInstalled
RtlpMuiRegResizeStringPool