private static void Main(string[] args)
        {
            new LocalizedString("Workaround for bug # 72378");
            int num = Privileges.RemoveAllExcept(AssistantsService.requiredPrivileges);

            if (num != 0)
            {
                Environment.Exit(num);
            }
            ExWatson.Register();
            ExWatson.RegisterReportAction(new WatsonRegKeyReportAction("HKLM\\SYSTEM\\CurrentControlSet\\Services\\MSExchangeIS\\ImagePath"), WatsonActionScope.Process);
            AssistantsService.ReadRegParams();
            Globals.InitializeMultiPerfCounterInstance("MSExchMbxAsst");
            ResourceHealthMonitorManager.Initialize(ResourceHealthComponent.Assistants);
            AssistantsService service = new AssistantsService();

            if (Environment.UserInteractive && args.Length >= 1 && string.Compare(args[0], "-crash", true) == 0)
            {
                throw new Exception("Startup crash to test ExWatson stuff");
            }
            if (Environment.UserInteractive && args.Length >= 1 && string.Compare(args[0], "-console", true) == 0)
            {
                AssistantsService.TracerPfd.TracePfd <int>(3L, "PFD IWS {0} Starting the Mailbox Assistants Service in Console Mode", 28055);
                ExServiceBase.RunAsConsole(service);
                return;
            }
            ServiceBase.Run(service);
        }
        // Token: 0x06000003 RID: 3 RVA: 0x000021A0 File Offset: 0x000003A0
        XElement IDiagnosable.GetDiagnosticInfo(DiagnosableParameters parameters)
        {
            ArgumentValidator.ThrowIfNull("parameters", parameters);
            DiagnosticsProcessor diagnosticsProcessor;

            try
            {
                diagnosticsProcessor = new DiagnosticsProcessor(parameters);
            }
            catch (DiagnosticArgumentException exception)
            {
                return(DiagnosticsFormatter.FormatErrorElement(exception));
            }
            XElement xelement = diagnosticsProcessor.Process(this.databaseManager.TimeBasedDriverManager.TimeBasedAssistantControllerArray);

            AssistantsService.GetAssistantsSpecificDiagnostics(diagnosticsProcessor.Arguments, xelement);
            return(xelement);
        }