Malicious
Malicious

Share on LinkedIn
Print
PE Executable
MD5:
Size: 0 B
application/x-dosexec
Ctrl + scroll to zoom · drag to pan

Get an AI-generated breakdown of this malware's behaviour, IOCs and recommendations.

AI analysis is available with Essential.
Unlock with Essential
File
Type
Portable Executable file
Detection
PeID
.NET executableMicrosoft Visual C# / Basic .NETMicrosoft Visual C# / Basic.NET / MS Visual Basic 2005 - ASL Microsoft Visual C# v7.0 / Basic .NETMicrosoft Visual C++ v6.0 DLLMicrosoft Visual Studio .NETUPolyX 0.3 -> delikon
Symbol obfuscation
Low
5 malicious · 814 files
EXE9b01d7354c905461fa7a8abec88fe98d
Structure
P7B[Authenticode]_c132ef78.p7b
BIN.Net Resources
BINInstaller.Properties.Resources.resources
EXEInstaller.Syncro.Installer.exe
Structure
P7B[Authenticode]_1e9bd6a1.p7b
BIN.Net Resources
BINKabuto.Installer.frmServices.resources
CERKabuto.Installer.Resources.ISRG_Root_x1.cer
ICOKabuto.Installer.Resources.syncro-logo.ico
BATKabuto.Installer.Resources.install.bat
BINcostura.autofac.dll.compressed
BINcostura.costura.dll.compressed
BINcostura.csharpfunctionalextensions.dll.compressed
BINcostura.destructurama.attributed.dll.compressed
BINcostura.fluentcommandlineparser.dll.compressed
BINcostura.flurl.dll.compressed
BINcostura.flurl.http.dll.compressed
BINcostura.system.net.ipnetwork.dll.compressed
BINcostura.jetbrains.annotations.dll.compressed
BINcostura.sharpsnmplib.dll.compressed
BINcostura.metroframework.design.dll.compressed
BINcostura.metroframework.fonts.dll.compressed
BINcostura.metroframework.dll.compressed
BINcostura.microsoft.bcl.asyncinterfaces.dll.compressed
BINcostura.microsoft.win32.registry.dll.compressed
BINcostura.newtonsoft.json.dll.compressed
BINcostura.rollbarsharp.dll.compressed
BINcostura.serilog.dll.compressed
BINcostura.serilog.formatting.compact.dll.compressed
BINcostura.serilog.sinks.console.dll.compressed
BINcostura.serilog.sinks.file.dll.compressed
BINcostura.sevenzipsharp.dll.compressed
BINcostura.icsharpcode.sharpziplib.dll.compressed
BINcostura.splat.dll.compressed
BINcostura.system.buffers.dll.compressed
BINcostura.system.diagnostics.eventlog.dll.compressed
BINcostura.system.io.pipelines.dll.compressed
BINcostura.system.memory.dll.compressed
BINcostura.system.numerics.vectors.dll.compressed
BINcostura.system.runtime.dll.compressed
BINcostura.system.runtime.compilerservices.unsafe.dll.compressed
BINcostura.system.security.accesscontrol.dll.compressed
BINcostura.system.security.cryptography.algorithms.dll.compressed
BINcostura.system.security.cryptography.encoding.dll.compressed
BINcostura.system.security.cryptography.primitives.dll.compressed
BINcostura.system.security.cryptography.x509certificates.dll.compressed
BINcostura.system.security.principal.windows.dll.compressed
BINcostura.system.serviceprocess.servicecontroller.dll.compressed
BINcostura.system.text.encodings.web.dll.compressed
BINcostura.system.text.json.dll.compressed
BINcostura.system.threading.tasks.extensions.dll.compressed
BINcostura.system.valuetuple.dll.compressed
BINcostura.urlcombinelib.dll.compressed
BINcostura.websocket-sharp.dll.compressed
BINcostura.repairtech.common.tools.dll.compressed
BINcostura.syncro.contracts.dll.compressed
BINcostura.syncro.service.exe.compressed
EXEcostura.syncro.service.exe
Structure
P7B[Authenticode]_177a478e.p7b
BIN.Net Resources
PS1Kabuto.Service.Resources.Module.psm1
PS1[PowerShell Command]
BINcostura.syncro.service.models.dll.compressed
BINcostura.syncro.service.services.dll.compressed
BINcostura.syncro.tools.dll.compressed
BINcostura.syncro.uninstaller.exe.compressed
BINcostura.syncro.service.configuration.dll.compressed
BINcostura.syncro.service.interfaces.dll.compressed
BINcostura.squirrel.dll.compressed
BINcostura.nuget.squirrel.dll.compressed
BINcostura.phoenix.dll.compressed
BINcostura.microsoft.win32.taskscheduler.dll.compressed
BINcostura.interop.wuapilib.dll.compressed
BINcostura.interop.netfwtypelib.dll.compressed
BINcostura.interop.iwshruntimelibrary.dll.compressed
BINcostura.deltacompressiondotnet.dll.compressed
BINcostura.mono.cecil.dll.compressed
BINcostura.microsoft.web.xmltransform.dll.compressed
BINcostura.en.syncro.uninstaller.resources.dll.compressed
BINcostura.ar-sa.syncro.tools.resources.dll.compressed
BINcostura.cs-cz.syncro.tools.resources.dll.compressed
BINcostura.da-dk.syncro.tools.resources.dll.compressed
BINcostura.de-de.syncro.tools.resources.dll.compressed
BINcostura.el-gr.syncro.tools.resources.dll.compressed
BINcostura.en.syncro.tools.resources.dll.compressed
BINcostura.es-es.syncro.tools.resources.dll.compressed
BINcostura.fi-fi.syncro.tools.resources.dll.compressed
BINcostura.fr-fr.syncro.tools.resources.dll.compressed
BINcostura.it-it.syncro.tools.resources.dll.compressed
BINcostura.ja-jp.syncro.tools.resources.dll.compressed
BINcostura.nl-nl.syncro.tools.resources.dll.compressed
BINcostura.pt-br.syncro.tools.resources.dll.compressed
BINcostura.ru-ru.syncro.tools.resources.dll.compressed
BINcostura.sl-si.syncro.tools.resources.dll.compressed
BINcostura.zh-chs.syncro.tools.resources.dll.compressed
BINcostura.metadata
Name Value
Info
Authenticode present at 0x56F920 size 11976 bytes
Info
PDB Path: C:\GitLab-Runner\builds\MvqzSHEmm\0\syncromsp\team-rmm-agent\kabuto-app\Installer\obj\Release\Installer.pdb
Module Name
Installer.exe
Full Name
Installer.exe
EntryPoint
System.Int32 Installer.Program::Main(System.String[])
Scope Name
Installer.exe
Scope Type
ModuleDef
Kind
Windows
Runtime Version
v4.0.30319
Tables Header Version
512
WinMD Version
<null>
Assembly Name
Installer
Assembly Version
1.0.190.17750
Assembly Culture
<null>
Has PublicKey
False
PublicKey Token
<null>
Target Framework
.NETFramework,Version=v4.0
Total Strings
172
Main Method
System.Int32 Installer.Program::Main(System.String[])
Main IL Instruction Count
483
Main IL
call System.Void Installer.Program::DebugHook()
ldarg.0 <null>
ldloca.s V_0
ldflda Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
ldloca.s V_0
ldflda System.Collections.Generic.List`1<System.String> Installer.Program/<>c__DisplayClass3_0::installerArguments
call System.Void Installer.Program::ParseArgs(System.String[],Installer.InstallerOptions&,System.Collections.Generic.List`1<System.String>&)
call System.Reflection.Assembly System.Reflection.Assembly::GetExecutingAssembly()
stloc.1 <null>
ldloc.1 <null>
callvirt System.Reflection.AssemblyName System.Reflection.Assembly::GetName()
stloc.2 <null>
ldloca.s V_0
ldloc.1 <null>
callvirt System.String System.Reflection.Assembly::get_Location()
stfld System.String Installer.Program/<>c__DisplayClass3_0::assemblyLocation
ldloc.0 <null>
ldfld System.String Installer.Program/<>c__DisplayClass3_0::assemblyLocation
call System.String System.IO.Path::GetFileName(System.String)
ldc.i4.1 <null>
newarr System.Char
dup <null>
ldc.i4.0 <null>
ldc.i4.s 46
stelem.i2 <null>
callvirt System.String[] System.String::Split(System.Char[])
call System.String System.Linq.Enumerable::FirstOrDefault<System.String>(System.Collections.Generic.IEnumerable`1<System.String>)
dup <null>
brtrue.s IL_005C: stloc.3
pop <null>
ldstr Kabuto
stloc.3 <null>
ldstr Syncro
stloc.s V_4
ldc.i4.3 <null>
newarr System.String
dup <null>
ldc.i4.0 <null>
ldloc.3 <null>
stelem.ref <null>
dup <null>
ldc.i4.1 <null>
ldstr Syncro
stelem.ref <null>
dup <null>
ldc.i4.2 <null>
ldstr Kabuto
stelem.ref <null>
stloc.s V_5
ldc.i4.0 <null>
stloc.s V_6
br.s IL_00B0: ldloc.s V_6
ldloc.s V_5
ldloc.s V_6
ldelem.ref <null>
stloc.s V_7
ldstr Installer.
ldloc.s V_7
ldstr .Installer.exe
call System.String System.String::Concat(System.String,System.String,System.String)
call System.Boolean Kabuto.ResourceManager::IsResourceExists(System.String)
brfalse.s IL_00AA: ldloc.s V_6
ldloc.s V_7
stloc.s V_4
br.s IL_00B8: ldloc.s V_4
ldloc.s V_6
ldc.i4.1 <null>
add <null>
stloc.s V_6
ldloc.s V_6
ldloc.s V_5
ldlen <null>
conv.i4 <null>
blt.s IL_0085: ldloc.s V_5
ldloc.s V_4
ldloca.s V_8
call System.Threading.Mutex RepairTech.Common.Tools.InstallerMutex::GetInstallMutex(System.String,System.Boolean&)
stloc.s V_9
ldloca.s V_10
ldloc.s V_4
call System.String Installer.Program::MakeLogFilePath(System.String)
newobj System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::.ctor(System.String)
stfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
brfalse.s IL_010A: ldloc.s V_8
call System.Boolean Installer.ConsoleUtils::EnableConsole()
brtrue.s IL_010A: ldloc.s V_8
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr Failed to initialize console, error: {0}
call System.Int32 System.Runtime.InteropServices.Marshal::GetLastWin32Error()
box System.Int32
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Error(System.String)
ldloc.s V_8
brtrue.s IL_0125: call System.String System.Environment::get_CommandLine()
ldstr Error starting the installer because another instance is running at the moment. Please try again later or contact support for assistance
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldc.i4.s -2
stloc.s V_6
leave IL_0651: ldloc.s V_6
call System.String System.Environment::get_CommandLine()
call System.String Kabuto.Installer.CommandLine::Mask(System.String)
stloc.s V_11
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr Starting {0} {1}, version {2}
ldloc.s V_4
dup <null>
brtrue.s IL_0148: ldloc.2
pop <null>
ldstr ?
ldloc.2 <null>
callvirt System.String System.Reflection.AssemblyName::get_Name()
dup <null>
brtrue.s IL_0157: ldloc.2
pop <null>
ldstr ?
ldloc.2 <null>
callvirt System.Version System.Reflection.AssemblyName::get_Version()
call System.String System.String::Format(System.String,System.Object,System.Object,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Product: '
ldloc.s V_4
ldstr '
call System.String System.String::Concat(System.String,System.String,System.String)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     ImageName: '
ldloc.0 <null>
ldfld System.String Installer.Program/<>c__DisplayClass3_0::assemblyLocation
ldstr '
call System.String System.String::Concat(System.String,System.String,System.String)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Arguments: '
ldloc.s V_11
ldstr '
call System.String System.String::Concat(System.String,System.String,System.String)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     OS Version: '{0}'
call System.OperatingSystem System.Environment::get_OSVersion()
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     OS Is64Bit: '{0}' / '{1}'
call System.Boolean System.Environment::get_Is64BitOperatingSystem()
box System.Boolean
call System.Boolean System.Environment::get_Is64BitProcess()
box System.Boolean
call System.String System.String::Format(System.String,System.Object,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Interactive: '{0}'
call System.Boolean System.Environment::get_UserInteractive()
box System.Boolean
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     ConsoleMode: '{0}'
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
box System.Boolean
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     AllowForceReboot: '{0}'
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_AllowForceReboot()
box System.Boolean
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__AssignDefaultArguments|3_2(Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ApiKey()
call System.Boolean System.StringHelper::IsNoe(System.String)
brfalse.s IL_02A0: ldloc.0
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_JwtPayload()
call System.Boolean System.StringHelper::IsNoe(System.String)
brtrue.s IL_02B2: ldstr "There was an error locating the configuration data. Please check your account and try again."
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ConfigJson()
call System.Boolean System.StringHelper::IsNoe(System.String)
brfalse.s IL_02C8: ldloc.s V_10
ldstr There was an error locating the configuration data. Please check your account and try again.
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldc.i4.1 <null>
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Auth payload v0: {0} {1} {2}
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ApiKey()
call System.Boolean System.StringHelper::IsNoe(System.String)
ldc.i4.0 <null>
ceq <null>
box System.Boolean
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_CustomerId()
call System.Boolean System.StringHelper::IsNoe(System.String)
ldc.i4.0 <null>
ceq <null>
box System.Boolean
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_PolicyId()
call System.Boolean System.StringHelper::IsNoe(System.String)
ldc.i4.0 <null>
ceq <null>
box System.Boolean
call System.String System.String::Format(System.String,System.Object,System.Object,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Auth payload v1: {0}
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_JwtPayload()
call System.Boolean System.StringHelper::IsNoe(System.String)
ldc.i4.0 <null>
ceq <null>
box System.Boolean
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ApiKey()
ldstr --key
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_PolicyId()
ldstr --policyid
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_FolderId()
ldstr --folderid
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_CustomerId()
ldstr --customerid
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_JwtPayload()
ldstr --jwt-payload
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ConfigJson()
ldstr --config-json
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
call System.Boolean Kabuto.FrameworkInstaller::IsFramework462Installed()
brfalse.s IL_03FB: ldloc.s V_10
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr .NET Framework 4.6.2 is already installed, proceeding...
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
br IL_0541: ldloc.s V_4
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr .NET Framework 4.6.2 is not installed, trying to install it...
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_AllowForceReboot()
call System.Boolean Installer.Program::AllowForceReboot(System.Boolean,System.Boolean)
brtrue.s IL_0442: nop
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr User disallowed force reboot, exiting...
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldc.i4.1 <null>
stloc.s V_6
leave IL_0651: ldloc.s V_6
nop <null>
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
newobj System.Void Kabuto.FrameworkInstaller::.ctor(RepairTech.Common.Tools.Logging.ICustomLogger)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
ldc.i4.0 <null>
ceq <null>
callvirt Kabuto.NETFrameworkInstallerReturnCode Kabuto.FrameworkInstaller::Install(System.Boolean)
stloc.s V_14
ldloc.s V_14
ldc.i4 1603
bgt.s IL_0488: ldloc.s V_14
ldloc.s V_14
brfalse IL_0502: leave.s IL_0531
ldloc.s V_14
ldc.i4 1602
beq.s IL_04D1: ldstr ".NET Framework setup has been cancelled, the installation cannot continue."
ldloc.s V_14
ldc.i4 1603
beq.s IL_04BA: ldstr ".NET Framework installer has failed with fatal error. Try to run this installer again to see if error remains"
br.s IL_04E8: ldstr "Unknown return code: {0}"
ldloc.s V_14
ldc.i4 1641
beq.s IL_0502: leave.s IL_0531
ldloc.s V_14
ldc.i4 3010
beq.s IL_0502: leave.s IL_0531
ldloc.s V_14
ldc.i4 5100
bne.un.s IL_04E8: ldstr "Unknown return code: {0}"
ldstr .NET Framework installer has reported that your computer doesn't meet system requirements. This can be due to missing updates or there's not enough space left on disk. At least 2 GB is required. Please check free disk space, Windows Update and try again
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldloc.s V_14
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldstr .NET Framework installer has failed with fatal error. Try to run this installer again to see if error remains
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldloc.s V_14
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldstr .NET Framework setup has been cancelled, the installation cannot continue.
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldloc.s V_14
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldstr Unknown return code: {0}
ldloc.s V_14
box Kabuto.NETFrameworkInstallerReturnCode
call System.String System.String::Format(System.String,System.Object)
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
leave.s IL_0531: ldloc.0
pop <null>
ldstr .NET Framework setup has been cancelled, the installation cannot continue.
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldc.i4.1 <null>
stloc.s V_6
leave IL_0651: ldloc.s V_6
callvirt System.String System.Exception::get_Message()
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldc.i4.m1 <null>
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldloc.0 <null>
ldfld System.Collections.Generic.List`1<System.String> Installer.Program/<>c__DisplayClass3_0::installerArguments
ldstr --net462
callvirt System.Void System.Collections.Generic.List`1<System.String>::Add(System.String)
ldloc.s V_4
ldstr .Installer.exe
call System.String System.String::Concat(System.String,System.String)
stloc.s V_12
call System.String System.IO.Path::GetTempPath()
ldloc.s V_12
call System.String System.IO.Path::Combine(System.String,System.String)
stloc.s V_13
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldc.i4.5 <null>
newarr System.String
dup <null>
ldc.i4.0 <null>
ldstr Next stage installer: `
stelem.ref <null>
dup <null>
ldc.i4.1 <null>
ldloc.s V_12
stelem.ref <null>
dup <null>
ldc.i4.2 <null>
ldstr `, '
stelem.ref <null>
dup <null>
ldc.i4.3 <null>
ldloc.s V_13
stelem.ref <null>
dup <null>
ldc.i4.4 <null>
ldstr '
stelem.ref <null>
call System.String System.String::Concat(System.String[])
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_13
call System.Void RepairTech.Common.Tools.FileUtils::DeleteFileIfExist(System.String)
ldstr Installer.
ldloc.s V_12
call System.String System.String::Concat(System.String,System.String)
ldloc.s V_13
call System.Void Kabuto.ResourceManager::ExtractToFile(System.String,System.String)
newobj System.Void System.Diagnostics.ProcessStartInfo::.ctor()
dup <null>
ldloc.s V_13
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_FileName(System.String)
dup <null>
ldstr  
ldloc.0 <null>
ldfld System.Collections.Generic.List`1<System.String> Installer.Program/<>c__DisplayClass3_0::installerArguments
call System.String System.String::Join(System.String,System.Collections.Generic.IEnumerable`1<System.String>)
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_Arguments(System.String)
dup <null>
call System.String System.IO.Path::GetTempPath()
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_WorkingDirectory(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr Next stage installer is starting.
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
call System.Diagnostics.Process System.Diagnostics.Process::Start(System.Diagnostics.ProcessStartInfo)
stloc.s V_15
ldloc.s V_15
callvirt System.Void System.Diagnostics.Process::WaitForExit()
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr Next stage installer returned with code {0}
ldloc.s V_15
callvirt System.Int32 System.Diagnostics.Process::get_ExitCode()
box System.Int32
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_15
callvirt System.Int32 System.Diagnostics.Process::get_ExitCode()
stloc.s V_6
leave.s IL_0651: ldloc.s V_6
ldloc.s V_13
call System.Void RepairTech.Common.Tools.FileUtils::DeleteFileIfExist(System.String)
endfinally <null>
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
brfalse.s IL_0644: endfinally
call System.Void Installer.ConsoleUtils::Exit()
endfinally <null>
ldloc.s V_9
brfalse.s IL_0650: endfinally
ldloc.s V_9
callvirt System.Void System.IDisposable::Dispose()
endfinally <null>
ldloc.s V_6
ret <null>
Module Name
Installer.exe
Full Name
Installer.exe
EntryPoint
System.Int32 Installer.Program::Main(System.String[])
Scope Name
Installer.exe
Scope Type
ModuleDef
Kind
Windows
Runtime Version
v4.0.30319
Tables Header Version
512
WinMD Version
<null>
Assembly Name
Installer
Assembly Version
1.0.190.17750
Assembly Culture
<null>
Has PublicKey
False
PublicKey Token
<null>
Target Framework
.NETFramework,Version=v4.0
Total Strings
172
Main Method
System.Int32 Installer.Program::Main(System.String[])
Main IL Instruction Count
483
Main IL
call System.Void Installer.Program::DebugHook()
ldarg.0 <null>
ldloca.s V_0
ldflda Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
ldloca.s V_0
ldflda System.Collections.Generic.List`1<System.String> Installer.Program/<>c__DisplayClass3_0::installerArguments
call System.Void Installer.Program::ParseArgs(System.String[],Installer.InstallerOptions&,System.Collections.Generic.List`1<System.String>&)
call System.Reflection.Assembly System.Reflection.Assembly::GetExecutingAssembly()
stloc.1 <null>
ldloc.1 <null>
callvirt System.Reflection.AssemblyName System.Reflection.Assembly::GetName()
stloc.2 <null>
ldloca.s V_0
ldloc.1 <null>
callvirt System.String System.Reflection.Assembly::get_Location()
stfld System.String Installer.Program/<>c__DisplayClass3_0::assemblyLocation
ldloc.0 <null>
ldfld System.String Installer.Program/<>c__DisplayClass3_0::assemblyLocation
call System.String System.IO.Path::GetFileName(System.String)
ldc.i4.1 <null>
newarr System.Char
dup <null>
ldc.i4.0 <null>
ldc.i4.s 46
stelem.i2 <null>
callvirt System.String[] System.String::Split(System.Char[])
call System.String System.Linq.Enumerable::FirstOrDefault<System.String>(System.Collections.Generic.IEnumerable`1<System.String>)
dup <null>
brtrue.s IL_005C: stloc.3
pop <null>
ldstr Kabuto
stloc.3 <null>
ldstr Syncro
stloc.s V_4
ldc.i4.3 <null>
newarr System.String
dup <null>
ldc.i4.0 <null>
ldloc.3 <null>
stelem.ref <null>
dup <null>
ldc.i4.1 <null>
ldstr Syncro
stelem.ref <null>
dup <null>
ldc.i4.2 <null>
ldstr Kabuto
stelem.ref <null>
stloc.s V_5
ldc.i4.0 <null>
stloc.s V_6
br.s IL_00B0: ldloc.s V_6
ldloc.s V_5
ldloc.s V_6
ldelem.ref <null>
stloc.s V_7
ldstr Installer.
ldloc.s V_7
ldstr .Installer.exe
call System.String System.String::Concat(System.String,System.String,System.String)
call System.Boolean Kabuto.ResourceManager::IsResourceExists(System.String)
brfalse.s IL_00AA: ldloc.s V_6
ldloc.s V_7
stloc.s V_4
br.s IL_00B8: ldloc.s V_4
ldloc.s V_6
ldc.i4.1 <null>
add <null>
stloc.s V_6
ldloc.s V_6
ldloc.s V_5
ldlen <null>
conv.i4 <null>
blt.s IL_0085: ldloc.s V_5
ldloc.s V_4
ldloca.s V_8
call System.Threading.Mutex RepairTech.Common.Tools.InstallerMutex::GetInstallMutex(System.String,System.Boolean&)
stloc.s V_9
ldloca.s V_10
ldloc.s V_4
call System.String Installer.Program::MakeLogFilePath(System.String)
newobj System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::.ctor(System.String)
stfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
brfalse.s IL_010A: ldloc.s V_8
call System.Boolean Installer.ConsoleUtils::EnableConsole()
brtrue.s IL_010A: ldloc.s V_8
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr Failed to initialize console, error: {0}
call System.Int32 System.Runtime.InteropServices.Marshal::GetLastWin32Error()
box System.Int32
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Error(System.String)
ldloc.s V_8
brtrue.s IL_0125: call System.String System.Environment::get_CommandLine()
ldstr Error starting the installer because another instance is running at the moment. Please try again later or contact support for assistance
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldc.i4.s -2
stloc.s V_6
leave IL_0651: ldloc.s V_6
call System.String System.Environment::get_CommandLine()
call System.String Kabuto.Installer.CommandLine::Mask(System.String)
stloc.s V_11
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr Starting {0} {1}, version {2}
ldloc.s V_4
dup <null>
brtrue.s IL_0148: ldloc.2
pop <null>
ldstr ?
ldloc.2 <null>
callvirt System.String System.Reflection.AssemblyName::get_Name()
dup <null>
brtrue.s IL_0157: ldloc.2
pop <null>
ldstr ?
ldloc.2 <null>
callvirt System.Version System.Reflection.AssemblyName::get_Version()
call System.String System.String::Format(System.String,System.Object,System.Object,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Product: '
ldloc.s V_4
ldstr '
call System.String System.String::Concat(System.String,System.String,System.String)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     ImageName: '
ldloc.0 <null>
ldfld System.String Installer.Program/<>c__DisplayClass3_0::assemblyLocation
ldstr '
call System.String System.String::Concat(System.String,System.String,System.String)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Arguments: '
ldloc.s V_11
ldstr '
call System.String System.String::Concat(System.String,System.String,System.String)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     OS Version: '{0}'
call System.OperatingSystem System.Environment::get_OSVersion()
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     OS Is64Bit: '{0}' / '{1}'
call System.Boolean System.Environment::get_Is64BitOperatingSystem()
box System.Boolean
call System.Boolean System.Environment::get_Is64BitProcess()
box System.Boolean
call System.String System.String::Format(System.String,System.Object,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Interactive: '{0}'
call System.Boolean System.Environment::get_UserInteractive()
box System.Boolean
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     ConsoleMode: '{0}'
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
box System.Boolean
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     AllowForceReboot: '{0}'
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_AllowForceReboot()
box System.Boolean
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__AssignDefaultArguments|3_2(Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ApiKey()
call System.Boolean System.StringHelper::IsNoe(System.String)
brfalse.s IL_02A0: ldloc.0
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_JwtPayload()
call System.Boolean System.StringHelper::IsNoe(System.String)
brtrue.s IL_02B2: ldstr "There was an error locating the configuration data. Please check your account and try again."
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ConfigJson()
call System.Boolean System.StringHelper::IsNoe(System.String)
brfalse.s IL_02C8: ldloc.s V_10
ldstr There was an error locating the configuration data. Please check your account and try again.
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldc.i4.1 <null>
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Auth payload v0: {0} {1} {2}
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ApiKey()
call System.Boolean System.StringHelper::IsNoe(System.String)
ldc.i4.0 <null>
ceq <null>
box System.Boolean
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_CustomerId()
call System.Boolean System.StringHelper::IsNoe(System.String)
ldc.i4.0 <null>
ceq <null>
box System.Boolean
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_PolicyId()
call System.Boolean System.StringHelper::IsNoe(System.String)
ldc.i4.0 <null>
ceq <null>
box System.Boolean
call System.String System.String::Format(System.String,System.Object,System.Object,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr     Auth payload v1: {0}
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_JwtPayload()
call System.Boolean System.StringHelper::IsNoe(System.String)
ldc.i4.0 <null>
ceq <null>
box System.Boolean
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ApiKey()
ldstr --key
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_PolicyId()
ldstr --policyid
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_FolderId()
ldstr --folderid
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_CustomerId()
ldstr --customerid
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_JwtPayload()
ldstr --jwt-payload
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.String Installer.InstallerOptions::get_ConfigJson()
ldstr --config-json
ldloca.s V_0
call System.Void Installer.Program::<Main>g__AppendArg|3_0(System.String,System.String,Installer.Program/<>c__DisplayClass3_0&)
call System.Boolean Kabuto.FrameworkInstaller::IsFramework462Installed()
brfalse.s IL_03FB: ldloc.s V_10
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr .NET Framework 4.6.2 is already installed, proceeding...
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
br IL_0541: ldloc.s V_4
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr .NET Framework 4.6.2 is not installed, trying to install it...
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_AllowForceReboot()
call System.Boolean Installer.Program::AllowForceReboot(System.Boolean,System.Boolean)
brtrue.s IL_0442: nop
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr User disallowed force reboot, exiting...
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldc.i4.1 <null>
stloc.s V_6
leave IL_0651: ldloc.s V_6
nop <null>
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
newobj System.Void Kabuto.FrameworkInstaller::.ctor(RepairTech.Common.Tools.Logging.ICustomLogger)
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
ldc.i4.0 <null>
ceq <null>
callvirt Kabuto.NETFrameworkInstallerReturnCode Kabuto.FrameworkInstaller::Install(System.Boolean)
stloc.s V_14
ldloc.s V_14
ldc.i4 1603
bgt.s IL_0488: ldloc.s V_14
ldloc.s V_14
brfalse IL_0502: leave.s IL_0531
ldloc.s V_14
ldc.i4 1602
beq.s IL_04D1: ldstr ".NET Framework setup has been cancelled, the installation cannot continue."
ldloc.s V_14
ldc.i4 1603
beq.s IL_04BA: ldstr ".NET Framework installer has failed with fatal error. Try to run this installer again to see if error remains"
br.s IL_04E8: ldstr "Unknown return code: {0}"
ldloc.s V_14
ldc.i4 1641
beq.s IL_0502: leave.s IL_0531
ldloc.s V_14
ldc.i4 3010
beq.s IL_0502: leave.s IL_0531
ldloc.s V_14
ldc.i4 5100
bne.un.s IL_04E8: ldstr "Unknown return code: {0}"
ldstr .NET Framework installer has reported that your computer doesn't meet system requirements. This can be due to missing updates or there's not enough space left on disk. At least 2 GB is required. Please check free disk space, Windows Update and try again
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldloc.s V_14
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldstr .NET Framework installer has failed with fatal error. Try to run this installer again to see if error remains
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldloc.s V_14
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldstr .NET Framework setup has been cancelled, the installation cannot continue.
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldloc.s V_14
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldstr Unknown return code: {0}
ldloc.s V_14
box Kabuto.NETFrameworkInstallerReturnCode
call System.String System.String::Format(System.String,System.Object)
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
leave.s IL_0531: ldloc.0
pop <null>
ldstr .NET Framework setup has been cancelled, the installation cannot continue.
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldc.i4.1 <null>
stloc.s V_6
leave IL_0651: ldloc.s V_6
callvirt System.String System.Exception::get_Message()
ldloca.s V_0
ldloca.s V_10
call System.Void Installer.Program::<Main>g__ShowErrorMessage|3_1(System.String,Installer.Program/<>c__DisplayClass3_0&,Installer.Program/<>c__DisplayClass3_1&)
ldc.i4.m1 <null>
stloc.s V_6
leave IL_0651: ldloc.s V_6
ldloc.0 <null>
ldfld System.Collections.Generic.List`1<System.String> Installer.Program/<>c__DisplayClass3_0::installerArguments
ldstr --net462
callvirt System.Void System.Collections.Generic.List`1<System.String>::Add(System.String)
ldloc.s V_4
ldstr .Installer.exe
call System.String System.String::Concat(System.String,System.String)
stloc.s V_12
call System.String System.IO.Path::GetTempPath()
ldloc.s V_12
call System.String System.IO.Path::Combine(System.String,System.String)
stloc.s V_13
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldc.i4.5 <null>
newarr System.String
dup <null>
ldc.i4.0 <null>
ldstr Next stage installer: `
stelem.ref <null>
dup <null>
ldc.i4.1 <null>
ldloc.s V_12
stelem.ref <null>
dup <null>
ldc.i4.2 <null>
ldstr `, '
stelem.ref <null>
dup <null>
ldc.i4.3 <null>
ldloc.s V_13
stelem.ref <null>
dup <null>
ldc.i4.4 <null>
ldstr '
stelem.ref <null>
call System.String System.String::Concat(System.String[])
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_13
call System.Void RepairTech.Common.Tools.FileUtils::DeleteFileIfExist(System.String)
ldstr Installer.
ldloc.s V_12
call System.String System.String::Concat(System.String,System.String)
ldloc.s V_13
call System.Void Kabuto.ResourceManager::ExtractToFile(System.String,System.String)
newobj System.Void System.Diagnostics.ProcessStartInfo::.ctor()
dup <null>
ldloc.s V_13
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_FileName(System.String)
dup <null>
ldstr  
ldloc.0 <null>
ldfld System.Collections.Generic.List`1<System.String> Installer.Program/<>c__DisplayClass3_0::installerArguments
call System.String System.String::Join(System.String,System.Collections.Generic.IEnumerable`1<System.String>)
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_Arguments(System.String)
dup <null>
call System.String System.IO.Path::GetTempPath()
callvirt System.Void System.Diagnostics.ProcessStartInfo::set_WorkingDirectory(System.String)
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr Next stage installer is starting.
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
call System.Diagnostics.Process System.Diagnostics.Process::Start(System.Diagnostics.ProcessStartInfo)
stloc.s V_15
ldloc.s V_15
callvirt System.Void System.Diagnostics.Process::WaitForExit()
ldloc.s V_10
ldfld RepairTech.Common.Tools.Logging.SimpleCustomLogger Installer.Program/<>c__DisplayClass3_1::logger
ldstr Next stage installer returned with code {0}
ldloc.s V_15
callvirt System.Int32 System.Diagnostics.Process::get_ExitCode()
box System.Int32
call System.String System.String::Format(System.String,System.Object)
callvirt System.Void RepairTech.Common.Tools.Logging.SimpleCustomLogger::Information(System.String)
ldloc.s V_15
callvirt System.Int32 System.Diagnostics.Process::get_ExitCode()
stloc.s V_6
leave.s IL_0651: ldloc.s V_6
ldloc.s V_13
call System.Void RepairTech.Common.Tools.FileUtils::DeleteFileIfExist(System.String)
endfinally <null>
ldloc.0 <null>
ldfld Installer.InstallerOptions Installer.Program/<>c__DisplayClass3_0::installerOptions
callvirt System.Boolean Installer.InstallerOptions::get_ConsoleMode()
brfalse.s IL_0644: endfinally
call System.Void Installer.ConsoleUtils::Exit()
endfinally <null>
ldloc.s V_9
brfalse.s IL_0650: endfinally
ldloc.s V_9
callvirt System.Void System.IDisposable::Dispose()
endfinally <null>
ldloc.s V_6
ret <null>
An error has occurred. This application may no longer respond until reloaded. Reload 🗙