RtlpMuiRegGetOrAddString

__int64 __fastcall RtlpMuiRegGetOrAddString(__int64 a1, const wchar_t *a2, char a3, __int16 *a4){
  __int16 v4; 
  int v9; 
  char v10; 
  INT64 v11; 
  __int64 result; 
  CHAR *v13; 
  INT64 v14; 
  v4 = -1;
  LODWORD(v14) = 0;
  if( !a1 || !a2 || !*a2 )
    goto LABEL_12;
  v9 = *(_DWORD *)a1 & 2;
  if( !a3 || (v10 = 1, !v9) )
    v10 = 0;
  v4 = RtlpMuiRegGetOrAddStringToPool(*(_QWORD *)(a1 + 32), a2, v10, &v14);
  if( v4 >= 0 )
    goto LABEL_7;
  if( a3 )
  {
    v13 = RtlpMuiRegGrowStringPool(*(UINT16 **)(a1 + 32), v11, (unsigned int)v14, v9 == 0);
    if( v13 )
    {
      *(_DWORD *)a1 |= 2u;
      *(_QWORD *)(a1 + 32) = v13;
      v4 = RtlpMuiRegGetOrAddStringToPool((__int64)v13, a2, 1, 0i64);
      if( v4 >= 0 )
      {
LABEL_7:
        result = 0i64;
        goto LABEL_8;
      }
    }
    result = 3221225495i64;
  }
  else
  {
LABEL_12:
    result = 3221225485i64;
  }
LABEL_8:
  if( a4 )
    *a4 = v4;
  return result;
}

Referenced by:

RtlMuiRegAddLIPParent
RtlpLoadPolicyLanguageSpec
RtlpMuiRegGetInstalledLanguageIndexByName
RtlpMuiRegGetLanguageSpec
RtlpMuiRegInitAnyLanguage
RtlpMuiRegValidateInstalled