RtlpMuiRegGetInstalledLanguageIndexByName

NTSTATUS __stdcall RtlpMuiRegGetInstalledLanguageIndexByName(
        _MUIREGISTRYINFO *RegInfo,
        const WCHAR *LanguageName,
        UINT8 TryByLangId,
        INT16 *ResultIndexRtrn){
  char v5; 
  __int64 v6; 
  int v7; 
  __int64 v8; 
  __int64 v9; 
  __int16 v10; 
  INT16 v12; 

  v12 = 0;
  v5 = 0;
  if( !RegInfo || !LanguageName )
    return -1073741811;
  v6 = *((_QWORD *)RegInfo + 3);
  if( RtlpMuiRegGetOrAddString(RegInfo, LanguageName, 0, &v12) < 0 )
    return -1073741772;
  v7 = 0;
  if( !*(_WORD *)(v6 + 6) )
    return -1073741772;
  v8 = *(_QWORD *)(v6 + 16);
  do
  {
    v9 = 28i64 * v7;
    if( *(_WORD *)(v9 + v8 + 6) == v12 )
    {
      v10 = *(_WORD *)(v9 + v8);
      if( (v10 & 0x1020) == 32 )
      {
        if( ResultIndexRtrn )
        {
          *ResultIndexRtrn = v7;
          return 0;
        }
      }
      else if( (v10 & 0x1000) != 0 )
      {
        v5 = 1;
      }
    }
    ++v7;
  }
  while( v7 < *(unsigned __int16 *)(v6 + 6) );
  if( v5 )
    return -1073741637;
  else
    return -1073741772;
}

Referenced by:

RtlpMuiRegGetInstalledLanguageIndexByLangId
RtlpRemovePendingDeleteLanguages