RtlpMuiRegLoadInstalled

NTSTATUS __stdcall RtlpMuiRegLoadInstalled(
        VOID *ParentDescriptor,
        VOID *ExplicitDescriptor,
        VOID **NewDescriptor,
        _GUID *ObjectType,
        UINT8 IsDirectoryObject,
        UINT64 AutoInheritFlags,
        _SECURITY_SUBJECT_CONTEXT *SubjectContext,
        _GENERIC_MAPPING *GenericMapping,
        _POOL_TYPE PoolType){
  int InstallUILanguage; 
  _MUILANGUAGES *Languages; 
  _MUISTRINGPOOL *StringPool; 
  BOOL v13; 
  WCHAR v14; 
  const WCHAR *v15; 
  NTSTATUS result; 

  InstallUILanguage = 0;
  if( !ParentDescriptor )
    return -1073741811;
  if( PsUILanguageComitted )
  {
    InstallUILanguage = ZwQueryInstallUILanguage((UINT16 *)ParentDescriptor + 2);
    if( InstallUILanguage < 0 || ((*((_WORD *)ParentDescriptor + 2) - 4096) & 0xFBFF) == 0 )
      goto LABEL_12;
    RtlpLoadInstallLanguageFallback(
      (_MUIREGISTRYINFO *)ParentDescriptor,
      (UINT16 *)ParentDescriptor + 3,
      (UINT16 *)ParentDescriptor + 4);
  }
  RtlpMuiRegFreeRegistryInfo((_MUIREGISTRYINFO *)ParentDescriptor, 0x3FFui64);
  Languages = RtlpMuiRegCreateLanguages();
  *((_QWORD *)ParentDescriptor + 3) = Languages;
  if( !Languages )
  {
    InstallUILanguage = -1073741801;
LABEL_12:
    RtlpMuiRegFreeRegistryInfo((_MUIREGISTRYINFO *)ParentDescriptor, 0x3FFui64);
    return InstallUILanguage;
  }
  *(_DWORD *)ParentDescriptor |= 1u;
  StringPool = RtlpMuiRegCreateStringPool(0xFFFFFFFFi64, 0xFFFFFFFFi64);
  *((_QWORD *)ParentDescriptor + 4) = StringPool;
  if( !StringPool )
    goto LABEL_12;
  *(_DWORD *)ParentDescriptor |= 2u;
  v13 = IsMachineLanguageListInMutableLocation();
  v15 = L"\\Registry\\Machine\\OSDATA\\System\\CurrentControlSet\\Control\\MUI\\UILanguages";
  if( !v13 )
    v15 = L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\MUI\\UILanguages";
  InstallUILanguage = RtlpMuiRegLoadInstalledFromKey((_MUIREGISTRYINFO *)ParentDescriptor, v15, v14);
  if( InstallUILanguage < 0 )
    goto LABEL_12;
  result = RtlpMuiRegValidateInstalled((_MUIREGISTRYINFO *)ParentDescriptor);
  InstallUILanguage = result;
  if( result < 0 )
    goto LABEL_12;
  return result;
}

Referenced by:

No references.