RtlpMuiRegGrowStringPool

CHAR *__fastcall RtlpMuiRegGrowStringPool(UINT16 *a1, INT64 a2, INT64 a3, CHAR a4){
  UINT16 *v5; 
  int v6; 
  unsigned int v7; 
  unsigned int v8; 
  int v9; 
  unsigned int v10; 
  int v11; 
  int v12; 
  v5 = a1;
  if( a1 )
  {
    v6 = 16;
    v7 = a1[3] + 1;
    if( (int)a3 >= 0 )
      v6 = a3;
    v8 = a1[2];
    v9 = a1[5] + v6;
    v10 = v8;
    if( v7 >= v8 )
      v10 = v7;
    v11 = v5[4];
    v12 = v11;
    if( v9 >= v11 )
      v12 = v9;
    if( a4 || v10 != v8 || v12 != v11 )
      return RtlpMuiRegResizeStringPool((const VOID **)v5, v10, v12, a4);
  }
  return(CHAR *)v5;
}

Referenced by:

RtlpMuiRegGetOrAddString