RtlpGetNameFromLangInfoNode

NTSTATUS __stdcall RtlpGetNameFromLangInfoNode(
        _MUIREGISTRYINFO *RegInfo,
        _MUILANGINFO *LangInfoNode,
        _UNICODE_STRING *uString){
  NTSTATUS v3; 
  __int64 LangNameIndex; 
  __int64 v6; 
  unsigned __int16 Length; 
  INT64 LangId; 
  _UNICODE_STRING DestinationString; 

  v3 = 0;
  if( RegInfo && LangInfoNode && uString )
  {
    LangNameIndex = LangInfoNode->LangNameIndex;
    if( (__int16)LangNameIndex <= 0 )
    {
      LangId = LangInfoNode->LangId;
      if( (((_WORD)LangId - 4096) & 0xFBFF) != 0 && RtlLCIDToCultureName(LangId, (INT64)uString) )
        return v3;
    }
    else
    {
      v6 = *((_QWORD *)RegInfo + 4);
      DestinationString = 0i64;
      RtlInitUnicodeString(
        &DestinationString,
        (PCWSTR)(*(_QWORD *)(v6 + 24) + 2i64 * *(__int16 *)(*(_QWORD *)(v6 + 16) + 2 * LangNameIndex)));
      Length = DestinationString.Length;
      if( DestinationString.Length <= uString->MaximumLength
        && RtlStringCbCopyW(uString->Buffer, uString->MaximumLength, DestinationString.Buffer) >= 0 )
      {
        uString->Length = Length;
        return v3;
      }
    }
    return -1073741595;
  }
  return -1073741811;
}

Referenced by:

RtlpMuiRegValidateInstalled