internal static void DownloadNow(BlueStacksUpdateData bstUpdateData, bool hiddenMode)
 {
     new Thread((ThreadStart)(() =>
     {
         BlueStacksUpdater.IsDownloadingInHiddenMode = hiddenMode;
         BlueStacksUpdater.SUpdateState = BlueStacksUpdater.UpdateState.DOWNLOADING;
         if (System.IO.File.Exists(bstUpdateData.UpdateDownloadLocation))
         {
             BlueStacksUpdater.DownloadComplete();
         }
         else
         {
             BlueStacksUpdater.ParentWindow.Dispatcher.Invoke((Delegate)(() =>
             {
                 BlueStacksUIBinding.Bind(BlueStacksUpdater.ParentWindow.mTopBar.mPreferenceDropDownControl.mUpgradeBluestacksStatusTextBlock, "STRING_DOWNLOADING_UPDATE", "");
                 BlueStacksUpdater.ParentWindow.mTopBar.mPreferenceDropDownControl.mUpdateDownloadProgressPercentage.Visibility = Visibility.Visible;
                 BlueStacksUpdater.ParentWindow.mTopBar.mPreferenceDropDownControl.mUpdateDownloadProgressPercentage.Content = (object)"0%";
                 BlueStacksUpdater.sUpdateDownloadProgress = new UpdateDownloadProgress();
                 BlueStacksUpdater.sUpdateDownloadProgress.mUpdateDownloadProgressPercentage.Content = (object)"0%";
                 BlueStacksUpdater.sUpdateDownloadProgress.Owner = (Window)BlueStacksUpdater.ParentWindow;
                 if (hiddenMode)
                 {
                     return;
                 }
                 BlueStacksUpdater.sUpdateDownloadProgress.Show();
             }));
             BlueStacksUpdater.DownloadUpdate(bstUpdateData);
         }
     }))
     {
         IsBackground = true
     }.Start();
 }
 private static void Downloader_DownloadFileCompleted(object sender, EventArgs args)
 {
     Logger.Info("File downloaded successfully at {0}", (object)BlueStacksUpdater.sBstUpdateData?.UpdateDownloadLocation);
     BlueStacksUpdater.DownloadComplete();
 }