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