private static string CreateRequestUrlAndDownloadJsonData()
        {
            string urlOriginal = RegistryManager.Instance.Host + "/bs4/getmultiinstancebuild?";

            try
            {
                string osName             = string.Empty;
                string str1               = "app_player";
                string str2               = "w" + SystemUtils.GetOSArchitecture().ToString();
                string userSelectedLocale = RegistryManager.Instance.UserSelectedLocale;
                SystemUtils.GetOSInfo(out osName, out string _, out string _);
                string urlOverideParams = "app_player_win_version=" + osName + "&source=" + str1 + "&app_player_os_arch=" + str2 + "&app_player_language=" + userSelectedLocale;
                urlOriginal = HTTPUtils.MergeQueryParams(urlOriginal, urlOverideParams, true);
            }
            catch (Exception ex)
            {
                Logger.Error("Failed to create url err: {0}", (object)ex.Message);
            }
            return(urlOriginal);
        }
        public static string GetUrlWithParams(
            string url,
            string clientVer  = null,
            string engVer     = null,
            string userLocale = null)
        {
            string str1          = "bgp";
            string str2          = clientVer ?? RegistryManager.Instance.ClientVersion;
            string str3          = engVer ?? RegistryManager.Instance.Version;
            string userGuid      = RegistryManager.Instance.UserGuid;
            string str4          = userLocale ?? RegistryManager.Instance.UserSelectedLocale;
            string partner       = RegistryManager.Instance.Partner;
            string campaignMd5   = RegistryManager.Instance.CampaignMD5;
            string str5          = RegistryManager.Instance.InstallationType.ToString();
            string pkgName       = GameConfig.Instance.PkgName;
            string webAppVersion = RegistryManager.Instance.WebAppVersion;
            string str6          = "oem=" + str1 + "&prod_ver=" + str2 + "&eng_ver=" + str3 + "&guid=" + userGuid + "&locale=" + str4 + "&launcher_version=" + webAppVersion;

            if (!string.IsNullOrEmpty(partner))
            {
                str6 += "&partner=";
            }
            string str7 = str6 + partner;

            if (!string.IsNullOrEmpty(campaignMd5))
            {
                str7 += "&campaign_md5=";
            }
            string str8 = str7 + campaignMd5;
            Uri    uri  = new Uri(url);

            if (uri.Host.Equals(WebHelper.sDefaultCloudHost.Host, StringComparison.InvariantCultureIgnoreCase) || uri.Host.Equals(WebHelper.sRegistryHost.Host, StringComparison.InvariantCultureIgnoreCase))
            {
                string registeredEmail = RegistryManager.Instance.RegisteredEmail;
                if (!string.IsNullOrEmpty(registeredEmail))
                {
                    str8 += "&email=";
                }
                string str9  = str8 + registeredEmail;
                string token = RegistryManager.Instance.Token;
                if (!string.IsNullOrEmpty(token))
                {
                    str9 += "&token=";
                }
                str8 = str9 + token;
            }
            string str10 = str8 + "&installation_type=" + str5;

            if (!string.IsNullOrEmpty(pkgName))
            {
                str10 += "&gaming_pkg_name=";
            }
            string urlOverideParams = str10 + pkgName;

            if (url != null && !url.Contains("://"))
            {
                url = "http://" + url;
            }
            url = HTTPUtils.MergeQueryParams(url, urlOverideParams, true);
            Logger.Debug("Returning updated URL: {0}", (object)url);
            return(url);
        }