HearthBuddy DONOTDELETE.bin

 

namespace Hearthbuddy
{
    // Token: 0x02000022 RID: 34
    public class App : System.Windows.Application

// Hearthbuddy.App
// Token: 0x0600012B RID: 299 RVA: 0x00086C08 File Offset: 0x00084E08
protected override void OnStartup(StartupEventArgs e)
{
    string text = "";
    try
    {
        this.method_1();
    }
    catch (Exception exception)
    {
        App.ilog_0.Error("An exception occurred", exception);
        try
        {
            this.method_2();
        }
        catch (Exception exception2)
        {
            App.ilog_0.Error("An exception occurred", exception2);
            Logger.OpenLogFile();
            Application.Current.Shutdown();
            return;
        }
    }
    try
    {
        App.ilog_0.Info("Now setting up JitProfiles...");
        string text2 = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "JitProfiles");
        if (!Directory.Exists(text2))
        {
            Directory.CreateDirectory(text2);
        }
        ProfileOptimization.SetProfileRoot(text2);
        ProfileOptimization.StartProfile("JitProfile.jpf");
        App.ilog_0.Info("JitProfiles successfully setup!");
    }
    catch (Exception exception3)
    {
        App.ilog_0.Error("An exception occurred", exception3);
    }
    base.Dispatcher.UnhandledException += this.method_4;
    AppDomain.CurrentDomain.UnhandledException += this.method_3;
    Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
    Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture;
    App.ilog_0.Info("Now beginning pre-start tasks.");
    try
    {
        App.ilog_0.Info("Now checking prerequisites...");
        this.method_0();
        App.ilog_0.Info("Prerequisite check complete!");
    }
    catch (Exception arg)
    {
        App.ilog_0.ErrorFormat("{0}", arg);
        Logger.OpenLogFile();
        base.Shutdown(1);
        return;
    }
    try
    {
        if (!File.Exists("DONOTDELETE.bin"))
        {
            App.ilog_0.Error("The file [DONOTDELETE.bin] does not exist. Please reinstall Hearthbuddy.");
            Logger.OpenLogFile();
            base.Shutdown(1);
            return;
        }
        if (!Class7.smethod_4(out text))
        {
            App.ilog_0.Error("GetImageFileName failed.");
            Logger.OpenLogFile();
            base.Shutdown(1);
            return;
        }
        if (new Uri(text).IsUnc)
        {
            App.ilog_0.Error("Hearthbuddy can no longer be ran from an UNC path. Please install Hearthbuddy to the current PC.");
            Logger.OpenLogFile();
            base.Shutdown(1);
            return;
        }
        File.ReadAllBytes(text);
        File.ReadAllBytes("DONOTDELETE.bin");
        App.smethod_0(text);
    }
    catch (Exception arg2)
    {
        App.ilog_0.ErrorFormat("{0}", arg2);
        Logger.OpenLogFile();
        base.Shutdown(1);
        return;
    }
    try
    {
        Class6 @class = new Class7().method_0("Hearthbuddy");
        switch (@class.Enum1_0)
        {
        case Enum1.Success:
            CodeCompiler.smethod_0(@class.String_0);
            break;
        case Enum1.Relaunch:
            if (CommandLine.Arguments.Exists("noautolaunch"))
            {
                App.ilog_0.Info("Now exiting for manual relaunch.");
                base.Shutdown(1);
            }
            else
            {
                App.ilog_0.Info("Now relaunching.");
                Process.Start(@class.String_1, string.Join(" ", Environment.GetCommandLineArgs().Skip(1).Select(new Func<string, string>(App.Class11.Instance9.method_1))));
                base.Shutdown(1);
            }
            return;
        case Enum1.Error:
            App.ilog_0.ErrorFormat("An error was encountered: {0}", @class.String_2);
            Logger.OpenLogFile();
            base.Shutdown(1);
            return;
        }
    }
    catch (Exception arg3)
    {
        App.ilog_0.ErrorFormat("Could not rename ourself on startup: {0}", arg3);
        Logger.OpenLogFile();
        base.Shutdown(1);
        return;
    }
    try
    {
        if (!App.smethod_1(text))
        {
            App.ilog_0.ErrorFormat("An error occurred while trying to replace the process.", Array.Empty<object>());
            Logger.OpenLogFile();
            base.Shutdown(1);
            return;
        }
    }
    catch (Exception arg4)
    {
        App.ilog_0.ErrorFormat("Could not replace ourself on startup: {0}", arg4);
        Logger.OpenLogFile();
        base.Shutdown(1);
        return;
    }
    App.ilog_0.Info("Pre-start tasks successfully completed.");
    base.OnStartup(e);
}

 

Guess you like

Origin www.cnblogs.com/chucklu/p/11300703.html