Function at 0x4074a0
Capabilities:
Check os version
Create directory
Delete registry value
Get common file path
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5269b4
mov eax, dword fs:[0]
push eax
sub esp, 0x3a0
mov eax, dword [0x587730]
xor eax, ebp
mov dword [ebp - 0x98], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2b0], ecx
push str.Compsetupstarter
lea ecx, [ebp - 0x48]
call fcn.00406480
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.00406440
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
call fcn.00406440
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44]
call fcn.00406440
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x54]
call fcn.00406440
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x60]
call fcn.00406440
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x78]
call fcn.00406400
mov byte [ebp - 0x61], 0
mov eax, dword [ebp - 0x2b0]
add eax, 0xb8
push eax
mov ecx, dword [ebp - 0x2b0]
call fcn.0041aa8f
mov ecx, dword [ebp - 0x2b0]
add ecx, 0xb8
call fcn.0040c0e0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0xb8
call fcn.0040c190
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x108
push ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x2a4
call fcn.00406520
mov edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2b0]
mov cl, byte [eax + 0x104]
mov byte [edx + 0x28c], cl
mov edx, dword [ebp - 0x2b0]
add edx, 0x10c
push edx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x2a8
call fcn.00406520
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x2b0]
mov dl, byte [ecx + 0x120]
mov byte [eax + 0x2ac], dl
push 0x800
push 0x800
lea ecx, [ebp - 0x58]
call fcn.004065b0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x14], eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x58]
call fcn.00406600
lea ecx, [ebp - 0x58]
call fcn.00406580
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00403360
add esp, 8
mov byte [ebp - 4], 6
push 0x5c
lea ecx, [ebp - 0x58]
call fcn.004058d0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jg 0x40764d
push 0x10
push str.setup.exe
push str.Fatal_error_during_initialization:_n_nCannot_locate_own_module_directory___nWill_abort..
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0xffffd8f1
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x110
call fcn.00406580
push eax
push 3
call fcn.004017a0
add esp, 8
cmp eax, 1
jne 0x407685
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x110
push ecx
lea ecx, [ebp - 0x38]
call fcn.00406520
jmp 0x4076cf
mov edx, dword [ebp - 0x14]
add edx, 1
push edx
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x58]
call fcn.00405b40
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2b8], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x2b8]
push edx
lea ecx, [ebp - 0x38]
call fcn.00406520
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1fc]
call fcn.00406500
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x27c
call fcn.00406520
push str.version.ini
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x200]
push edx
call fcn.00405c70
add esp, 0xc
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x2c0]
push ecx
lea ecx, [ebp - 0x44]
call fcn.00406520
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x200]
call fcn.00406500
push ecx
mov ecx, esp
mov dword [ebp - 0x204], esp
lea edx, [ebp - 0x44]
push edx
call fcn.00406460
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x148
call fcn.00411250
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x30]
call fcn.00406400
lea ecx, [ebp - 0x50]
call fcn.00406440
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x20c]
push ecx
call fcn.004099f0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
push str._Y__m__d____H:_M:_S
lea ecx, [ebp - 0x210]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00409a30
mov dword [ebp - 0x2cc], eax
mov edx, dword [ebp - 0x2cc]
mov dword [ebp - 0x2d0], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x50]
call fcn.00406520
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x210]
call fcn.00406500
lea ecx, [ebp - 0x28]
call fcn.00406440
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1d4
push ecx
mov edx, dword [ebp - 0x2b0]
add edx, 0x288
push edx
lea eax, [ebp - 0x214]
push eax
call fcn.00405bc0
add esp, 0xc
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d8], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x2d8]
push edx
lea ecx, [ebp - 0x28]
call fcn.00406520
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x214]
call fcn.00406500
lea ecx, [ebp - 0x28]
call fcn.00405e50
movzx eax, al
test eax, eax
je 0x40786c
lea ecx, [ebp - 0x28]
push ecx
call fcn.00404c40
add esp, 4
push str.CompTemp_Log.txt
lea ecx, [ebp - 0x28]
call fcn.00405600
push 0xb
lea ecx, [ebp - 0x28]
call fcn.00406580
push eax
mov ecx, 0x588f50
call fcn.00416560
push 0xb
lea ecx, [ebp - 0x28]
call fcn.00406580
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x16c
mov edx, dword [ebp - 0x2b0]
mov eax, dword [edx + 0x16c]
mov edx, dword [eax + 0x68]
call edx
cmp dword [ebp - 0x14], 0
je 0x4079b3
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x2a8
call fcn.00405e50
movzx eax, al
test eax, eax
je 0x4079b3
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x2dc], ecx
cmp dword [ebp - 0x2dc], 0xfffffffc
je 0x407979
cmp dword [ebp - 0x2dc], 0xfffffffe
je 0x4078f3
jmp 0x40798f
push 0x10
push str.setup.exe
push str._nWill_abort..
lea edx, [ebp - 0x44]
push edx
push str.Fatal_error_during_initialization__n_nversion.ini_file_not_found:
lea eax, [ebp - 0x218]
push eax
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x2e0], eax
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0x2e4], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x2e4]
push edx
lea eax, [ebp - 0x21c]
push eax
call fcn.00405c70
add esp, 0xc
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x2e8]
call fcn.00406580
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x21c]
call fcn.00406500
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x218]
call fcn.00406500
jmp 0x4079a3
push 0x10
push str.setup.exe
push str.Fatal_error_during_initialization:_n_nNo_Setupclass_Component_detected_in_version.ini___nWill_abort..
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4079a3
push 0x10
push str.setup.exe
push str.Fatal_error_during_initialization:_n_nversion.ini_not_complete_and_damned__nWill_abort..
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0xffffd8fa
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
cmp dword [ebp - 0x14], 0
je 0x407cf4
mov ecx, dword [ebp - 0x2b0]
mov dword [ecx + 0x144], 1
mov edx, dword [ebp - 0x2b0]
add edx, 0x2a8
push edx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1bc
call fcn.00406520
push 0x536e60
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
push 0x53a478
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov eax, dword [ebp - 0x50]
push eax
push str.__Start_temp_LogFile_from_s7ecompx64.exe____s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
push 0x53a478
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ecx + 0x124]
push edx
push str.__FullCommandLine:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
push str.__Start_without_Version.ini
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x10
lea ecx, [ebp - 0x80]
call fcn.00406440
mov byte [ebp - 4], 0xe
mov eax, dword [str.SoftwareSIEMENSShared_Tools_]
push eax
lea ecx, [ebp - 0x80]
call fcn.00406540
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1bc
push ecx
push 0x536ec8
lea edx, [ebp - 0x220]
push edx
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2f0]
push ecx
lea ecx, [ebp - 0x80]
call fcn.0040b480
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x220]
call fcn.00406500
lea edx, [ebp - 0x58]
push edx
push str.Win_ProductCode
lea ecx, [ebp - 0x80]
call fcn.00406580
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004042d0
add esp, 0x10
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1c8
call fcn.00406520
mov ecx, dword [ebp - 0x58]
push ecx
push str.__ReadReg__Win_ProductCode__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
lea edx, [ebp - 0x58]
push edx
push str.Version
lea ecx, [ebp - 0x80]
call fcn.00406580
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004042d0
add esp, 0x10
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1d0
call fcn.00406520
mov ecx, dword [ebp - 0x58]
push ecx
push str.__ReadReg__Version__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
lea edx, [ebp - 0x58]
push edx
push str.Release
lea ecx, [ebp - 0x80]
call fcn.00406580
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004042d0
add esp, 0x10
lea ecx, [ebp - 0x58]
call fcn.00406580
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1dc
call fcn.00415af0
mov eax, dword [ebp - 0x58]
push eax
push str.ReadReg__Release__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
lea ecx, [ebp - 0x58]
push ecx
push str.LogFile
lea ecx, [ebp - 0x80]
call fcn.00406580
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004042d0
add esp, 0x10
mov edx, dword [ebp - 0x58]
push edx
push str.ReadReg__LogFile__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
push 0x5c
lea ecx, [ebp - 0x58]
call fcn.004058d0
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0xffffffff
jle 0x407cc4
lea ecx, [ebp - 0x58]
call fcn.004065e0
mov ecx, dword [ebp - 0x7c]
add ecx, 1
sub eax, ecx
push eax
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x58]
call fcn.00405ab0
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2f8], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x2f8]
push ecx
lea ecx, [ebp - 0x58]
call fcn.00406520
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x224]
call fcn.00406500
lea edx, [ebp - 0x58]
push edx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1d4
call fcn.00406520
mov eax, dword [ebp - 0x2b0]
mov byte [eax + 0x284], 1
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x80]
call fcn.00406500
jmp 0x407d04
mov ecx, dword [ebp - 0x2b0]
mov dword [ecx + 0x144], 0
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0xfc], 1
jne 0x4082c0
lea eax, [ebp - 0x22c]
push eax
call fcn.004099f0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
push str._Y__m__d
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x78]
call fcn.00409a30
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
mov dword [ebp - 0x300], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x300]
push edx
lea ecx, [ebp - 0x60]
call fcn.00406520
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x230]
call fcn.00406500
push 0x536e60
push 0x536e60
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
push 0x53a478
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov eax, dword [ebp - 0x60]
push eax
push str.__START_LOGFILE_from_MSI_Caller____s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
push 0x53a478
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
lea ecx, [ebp - 0x8c]
call fcn.00406440
mov byte [ebp - 4], 0x12
mov ecx, dword [str.SoftwareSIEMENSShared_Tools_]
push ecx
lea ecx, [ebp - 0x8c]
call fcn.00406540
mov edx, dword [ebp - 0x2b0]
add edx, 0x1bc
push edx
push 0x536ec8
lea eax, [ebp - 0x234]
push eax
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x308], ecx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x308]
push edx
lea ecx, [ebp - 0x8c]
call fcn.0040b480
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x234]
call fcn.00406500
push str.Clients
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x238]
push ecx
call fcn.00405c70
add esp, 0xc
mov dword [ebp - 0x30c], eax
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x310], edx
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x310]
call fcn.00406580
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00405150
add esp, 8
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x238]
call fcn.00406500
push str.Dependency1
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x23c]
push ecx
call fcn.00405c70
add esp, 0xc
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x314]
mov dword [ebp - 0x318], edx
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x318]
call fcn.00406580
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00405150
add esp, 8
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x23c]
call fcn.00406500
push str.SoftwareClassesInstallerProducts
lea ecx, [ebp - 0x8c]
call fcn.00406540
mov eax, dword [ebp - 0x2b0]
add eax, 0x1c8
push eax
lea ecx, [ebp - 0x84]
call fcn.00406460
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x84]
call fcn.00405e50
movzx ecx, al
test ecx, ecx
jne 0x4080e5
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1c8
call fcn.00406580
push eax
lea edx, [ebp - 0x240]
push edx
call fcn.004046d0
add esp, 8
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x320], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x320]
push ecx
push 0x536ec8
lea edx, [ebp - 0x244]
push edx
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x328]
push ecx
lea ecx, [ebp - 0x8c]
call fcn.0040b480
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x244]
call fcn.00406500
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x240]
call fcn.00406500
lea edx, [ebp - 0x88]
push edx
push 0x30007
push 0
push 0
lea ecx, [ebp - 0x8c]
call fcn.00406590
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40808e
push 0x53a1b0
mov eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x408061
push 0
lea ecx, [ebp - 0x8c]
call fcn.00406590
push eax
push str.Couldn
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
jmp 0x40808c
push 0
lea ecx, [ebp - 0x8c]
call fcn.00406590
push eax
push str.Clients_deleted_successfully_at:_HKLM_s_
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
jmp 0x4080e5
push 0
lea ecx, [ebp - 0x8c]
call fcn.00406590
push eax
lea ecx, [ebp - 0x90]
call fcn.00406480
mov byte [ebp - 4], 0x19
push 0
lea ecx, [ebp - 0x8c]
call fcn.00406590
push eax
push 0x53a098
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x90]
call fcn.00406500
push 0x12c
call fcn.00404cb0
add esp, 4
test eax, eax
je 0x40810f
push 0x10
push str.setup.exe
push str.Deinstall_could_not_be_started_because_of_other_running_MSI_setup_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4081fe
push ecx
mov ecx, esp
mov dword [ebp - 0x248], esp
push 0x536e60
call fcn.00406480
mov dword [ebp - 0x32c], eax
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x148
call fcn.004131b0
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0xe4], 1
je 0x4081fe
cmp dword [ebp - 0x14], 0
jne 0x4081b1
push 0
push str.setup.exe
mov eax, dword [ebp - 0x2b0]
add eax, 0x1bc
push eax
push str.Deinstall_was_performed_for:
lea ecx, [ebp - 0x24c]
push ecx
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x334]
call fcn.00406580
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x24c]
call fcn.00406500
jmp 0x4081fe
push 0x10
push str.setup.exe
mov edx, dword [ebp - 0x2b0]
add edx, 0x1bc
push edx
push str.Deinstall_was_not_performed_for:
lea eax, [ebp - 0x250]
push eax
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x338]
call fcn.00406580
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x250]
call fcn.00406500
lea ecx, [ebp - 0x258]
push ecx
call fcn.004099f0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
push str._Y__m__d
lea ecx, [ebp - 0x25c]
push ecx
lea ecx, [ebp - 0x78]
call fcn.00409a30
mov dword [ebp - 0x33c], eax
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x340], edx
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x340]
push eax
lea ecx, [ebp - 0x60]
call fcn.00406520
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x25c]
call fcn.00406500
mov ecx, dword [ebp - 0x60]
push ecx
push str._END_LOGFILE__MSI_Caller____s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
push str._n
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
push 0
call fcn.0050d70d
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x84]
call fcn.00406500
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x8c]
call fcn.00406500
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x29c
call fcn.004065e0
cmp eax, 2
jge 0x4082fa
push 0x10
push str.setup.exe
push str.Fatal_error_during_initialization:_n_nCannot_locate_operating_system_directory___nWill_abort..
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0xffffd904
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x288
call fcn.00406d10
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0x100], 0
jne 0x40832a
mov eax, dword [ebp - 0x2b0]
mov dword [eax + 0x190], 0
mov ecx, dword [ebp - 0x2b0]
cmp dword [ecx + 0xf8], 1
jne 0x40837a
mov edx, dword [ebp - 0x2b0]
mov byte [edx + 0x284], 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1d4
call fcn.00406d10
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x278
call fcn.00406d10
mov eax, dword [ebp - 0x2b0]
mov byte [eax + 0x28c], 0
jmp 0x408850
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1d4
call fcn.004065e0
cmp eax, 3
jle 0x408850
mov ecx, dword [ebp - 0x2b0]
cmp dword [ecx + 0x144], 0
jne 0x408641
mov edx, dword [ebp - 0x2b0]
add edx, 0x1d4
push edx
mov eax, dword [ebp - 0x2b0]
add eax, 0x29c
push eax
lea ecx, [ebp - 0x260]
push ecx
call fcn.00405bc0
add esp, 0xc
mov dword [ebp - 0x344], eax
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x348], edx
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x348]
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x288
call fcn.00406520
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x260]
call fcn.00406500
lea ecx, [ebp - 0x58]
call fcn.00406d10
lea ecx, [ebp - 0x94]
call fcn.00406440
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x1bc], 0x11c
lea ecx, [ebp - 0x1bc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x408630
cmp dword [ebp - 0x1b8], 6
jb 0x408630
mov dword [ebp - 0x18], 0x400
push 0x105
lea ecx, [ebp - 0x94]
call fcn.00406590
push eax
push 0
push 0
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x94]
call fcn.00406600
push 0x536ec8
lea ecx, [ebp - 0x94]
call fcn.00405a00
push 0
lea ecx, [ebp - 0x94]
call fcn.00406580
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x536ec8
push 1
lea edx, [ebp - 0x268]
push edx
lea ecx, [ebp - 0x94]
call fcn.00405ab0
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
push eax
call fcn.00405dd0
add esp, 8
mov byte [ebp - 0x261], al
lea ecx, [ebp - 0x268]
call fcn.00406500
movzx ecx, byte [ebp - 0x261]
test ecx, ecx
je 0x408500
push 0x536ec8
lea ecx, [ebp - 0x94]
call fcn.00405600
push str.Siemens
lea ecx, [ebp - 0x94]
call fcn.00405600
push 0
lea ecx, [ebp - 0x94]
call fcn.00406580
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x539dd0
lea ecx, [ebp - 0x94]
call fcn.00405600
push 0
lea ecx, [ebp - 0x94]
call fcn.00406580
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push str.Logfiles
lea ecx, [ebp - 0x94]
call fcn.00405600
push 0
lea ecx, [ebp - 0x94]
call fcn.00406580
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x539dac
lea ecx, [ebp - 0x94]
call fcn.00405600
push 0
lea ecx, [ebp - 0x94]
call fcn.00406580
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x536ec8
lea ecx, [ebp - 0x94]
call fcn.00405600
mov edx, dword [ebp - 0x2b0]
add edx, 0x1d4
push edx
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x26c]
push ecx
call fcn.00405bc0
add esp, 0xc
mov dword [ebp - 0x350], eax
mov edx, dword [ebp - 0x350]
mov dword [ebp - 0x354], edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x354]
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x288
call fcn.00406520
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x26c]
call fcn.00406500
lea ecx, [ebp - 0x94]
push ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x2a0
call fcn.00406520
lea edx, [ebp - 0x94]
push edx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x29c
call fcn.00406520
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x94]
call fcn.00406500
jmp 0x40865e
mov eax, dword [ebp - 0x2b0]
add eax, 0x1d4
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x288
call fcn.00406520
mov ecx, dword [ebp - 0x2b0]
movzx edx, byte [ecx + 0x104]
test edx, edx
je 0x40867c
mov eax, dword [ebp - 0x2b0]
mov byte [eax + 0x28c], 1
mov dword [ebp - 0x5c], 0xa
mov ecx, dword [ebp - 0x2b0]
movzx edx, byte [ecx + 0x28c]
test edx, edx
je 0x4086a0
mov dword [ebp - 0x5c], 0xb
jmp 0x408766
push str.SOFTWARESiemensAUTSWGlobal
lea ecx, [ebp - 0x1c4]
call fcn.00406480
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x1c0]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x1c4]
call fcn.00406580
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jne 0x40874a
mov dword [ebp - 0x18], 0x400
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x18]
push edx
lea ecx, [ebp - 0x58]
call fcn.004065b0
push eax
lea eax, [ebp - 0x1cc]
push eax
push 0
push str.LOGGINGLEVEL
mov ecx, dword [ebp - 0x1c0]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x40874a
push 0xffffffffffffffff
lea ecx, [ebp - 0x58]
call fcn.00406600
lea ecx, [ebp - 0x58]
call fcn.00406580
push eax
call fcn.0050d47f
add esp, 4
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 8
jge 0x40874a
mov dword [ebp - 0x5c], 8
mov edx, dword [ebp - 0x1c0]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1c4]
call fcn.00406500
mov eax, dword [ebp - 0x2b0]
movzx ecx, byte [eax + 0x284]
test ecx, ecx
je 0x4087cc
mov edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x288
call fcn.00406580
push eax
mov ecx, 0x588f50
call fcn.00416560
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x288
call fcn.00406580
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x16c
mov edx, dword [ebp - 0x2b0]
mov eax, dword [edx + 0x16c]
mov edx, dword [eax + 0x68]
call edx
jmp 0x408825
push 9
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x288
call fcn.00406580
push eax
mov ecx, 0x588f50
call fcn.00416560
push 9
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x288
call fcn.00406580
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x16c
mov eax, dword [ebp - 0x2b0]
mov edx, dword [eax + 0x16c]
mov eax, dword [edx + 0x68]
call eax
mov ecx, 0x588f50
call fcn.00416680
push 0x539d88
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x280
push ecx
call fcn.0040b4a0
add esp, 8
movzx edx, al
test edx, edx
je 0x408850
mov ecx, 0x588f50
call fcn.00416680
lea eax, [ebp - 0x274]
push eax
call fcn.004099f0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
push str._Y__m__d
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x78]
call fcn.00409a30
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x35c], ecx
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x35c]
push edx
lea ecx, [ebp - 0x60]
call fcn.00406520
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x278]
call fcn.00406500
push 0x536e60
push 0x536e60
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
push 0x53a478
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov eax, dword [ebp - 0x60]
push eax
push str.__START_LOGFILE_from_MSI_Caller____s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
push 0x53a478
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov ecx, dword [ebp - 0x2b0]
cmp dword [ecx + 0x144], 0
jne 0x408987
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0x1a0], 0
je 0x408964
mov eax, dword [ebp - 0x34]
push eax
push str.MSI_Caller:__Setup64.exe___Fileversion:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
jmp 0x408985
mov ecx, dword [ebp - 0x34]
push ecx
push str.MSI_Caller:__Setup.exe___Fileversion:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
jmp 0x4089a8
mov edx, dword [ebp - 0x34]
push edx
push str.MSI_Caller:__Setup64.exe___Fileversion:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax + 0x124]
push ecx
push str.__FullCommandLine:___s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov ecx, 0x588f50
call fcn.004165a0
push eax
push str.__LoggingLevel:__d
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0x144], 0
jne 0x408b68
push str.__Read_from_Version.ini
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1c4
call fcn.00405e50
movzx eax, al
test eax, eax
jne 0x408a6c
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ecx + 0x1c4]
push edx
push str.___LanguagePack__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax + 0x1bc]
push ecx
push str.____RegKey________s___Name_
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov edx, dword [ebp - 0x2b0]
mov eax, dword [edx + 0x1c0]
push eax
push str.____Name__________s___NameDispl_
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ecx + 0x1c8]
push edx
push str.____ProductCode___s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax + 0x1cc]
push ecx
push str.____UpgradeCode___s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov edx, dword [ebp - 0x2b0]
mov eax, dword [edx + 0x1d0]
push eax
push str.____Version_______s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ecx + 0x1d8]
push edx
push str.____Release_______s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
lea ecx, [ebp - 0x70]
call fcn.00406440
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x70]
push eax
call fcn.00404080
add esp, 4
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x408bac
mov ecx, dword [ebp - 0x70]
push ecx
push str.__found_OS:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
jmp 0x408bc9
push str.__read_OP_info_faultily
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov ecx, dword [ebp - 0x2b0]
call fcn.00409b00
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xfffffffc
jne 0x408bea
push 0xfffffffffffffffe
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
lea ecx, [ebp - 0x20]
call fcn.00406440
mov byte [ebp - 4], 0x21
mov edx, dword [str.SoftwareSIEMENSShared_Tools_]
push edx
lea ecx, [ebp - 0x20]
call fcn.00406540
push 1
lea ecx, [ebp - 0x20]
call fcn.00406580
push eax
call fcn.00405280
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x408c2e
push 0xfffffffffffffffd
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
push 0
push str.CompSetup
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x27c]
push ecx
call fcn.00405c70
add esp, 0xc
mov dword [ebp - 0x360], eax
mov edx, dword [ebp - 0x360]
mov dword [ebp - 0x364], edx
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x364]
call fcn.00406580
push eax
call fcn.00405280
add esp, 8
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x27c]
call fcn.00406500
cmp dword [ebp - 0x14], 0
jge 0x408c97
push 0xfffffffffffffffd
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov eax, dword [ebp - 0x2b0]
add eax, 0x1bc
push eax
push 0x536ec8
lea ecx, [ebp - 0x280]
push ecx
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x368], eax
mov edx, dword [ebp - 0x368]
mov dword [ebp - 0x36c], edx
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x20]
call fcn.0040b480
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x280]
call fcn.00406500
push 0
lea ecx, [ebp - 0x20]
call fcn.00406580
push eax
call fcn.00405280
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x408d14
push 0xfffffffffffffffd
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
push str.Clients
lea ecx, [ebp - 0x20]
call fcn.00405600
push 0
lea ecx, [ebp - 0x20]
call fcn.00406580
push eax
call fcn.00405280
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x408d4a
push 0xfffffffffffffffd
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1c4
call fcn.00405e50
movzx ecx, al
test ecx, ecx
jne 0x408d7f
push str.test_if_LP_setup_has_not_the_same_ProductCode_as_main_setup
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov edx, dword [ebp - 0x2b0]
add edx, 0x148
push edx
mov ecx, dword [ebp - 0x2b0]
call fcn.0040a3a0
mov eax, dword [ebp - 0x2b0]
add eax, 0x148
push eax
mov ecx, dword [ebp - 0x2b0]
call fcn.0040a8e0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x408dd8
mov ecx, dword [ebp - 0x14]
push ecx
push str.Returncode_of_ReadAndSetInputParams:__d
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1b0
call fcn.00405e50
movzx edx, al
test edx, edx
je 0x408f90
lea ecx, [ebp - 0x1d0]
call fcn.00406440
mov byte [ebp - 4], 0x24
push str.This_shared_component_cannot_be_used_alone
lea ecx, [ebp - 0x1d0]
call fcn.00406540
lea ecx, [ebp - 0x1d0]
call fcn.00406580
push eax
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x298
call fcn.00405e50
movzx eax, al
test eax, eax
jne 0x408f5b
push str.4600
lea ecx, [ebp - 0x284]
push ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x148
call fcn.0040c9f0
mov dword [ebp - 0x370], eax
mov edx, dword [ebp - 0x370]
mov dword [ebp - 0x374], edx
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x374]
push eax
lea ecx, [ebp - 0x1d0]
call fcn.00406520
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x284]
call fcn.00406500
lea ecx, [ebp - 0x1d4]
call fcn.00406440
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x1d0]
push ecx
lea edx, [ebp - 0x288]
push edx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1dc
call fcn.00416460
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x37c], eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x37c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax + 0x1d0]
push ecx
push str.Version:__s_nRelease:__s_n_n_s
lea edx, [ebp - 0x1d4]
push edx
call fcn.00407220
add esp, 0x14
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x288]
call fcn.00406500
push 0x30
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1c0
call fcn.00406580
push eax
lea ecx, [ebp - 0x1d4]
call fcn.00406580
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x1d4]
call fcn.00406500
push 0x539920
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x148
call fcn.0040ecc0
push 0xfffffc18
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x1d0]
call fcn.00406500
push 0x12c
call fcn.00404cb0
add esp, 4
test eax, eax
je 0x408fae
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov eax, dword [ebp - 0x2b0]
add eax, 0x290
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x2f4
push ecx
call fcn.0040b4c0
add esp, 8
movzx edx, al
test edx, edx
je 0x4090ef
mov eax, dword [ebp - 0x2b0]
add eax, 0x148
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
lea edx, [ebp - 0x38]
push edx
call fcn.00406460
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x2b0]
call fcn.00409f20
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0xbc2
jne 0x40904a
push str.MSI_install_OK._Reboot_required
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov byte [ebp - 0x61], 1
jmp 0x409096
cmp dword [ebp - 0x1d8], 0
je 0x409079
mov ecx, dword [ebp - 0x1d8]
push ecx
push str.MSI_install:_Unexpected_return_value_from_InstallMSI:__d
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 1
push 0x588f50
call fcn.00416d20
add esp, 0x14
jmp 0x409096
push str.MSI_install_OK._No_Reboot_required
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov ecx, dword [ebp - 0x2b0]
call fcn.00409b00
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jge 0x4090b7
push 0xfffffffffffffffe
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov edx, dword [ebp - 0x2b0]
add edx, 0x290
push edx
mov eax, dword [ebp - 0x2b0]
add eax, 0x2f4
push eax
call fcn.0040b4c0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4090ef
push 0xffffff39
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov edx, dword [ebp - 0x2b0]
add edx, 0x1ac
push edx
mov eax, dword [ebp - 0x2b0]
add eax, 0x27c
push eax
lea ecx, [ebp - 0x6c]
push ecx
call fcn.00405bc0
add esp, 0xc
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x10]
call fcn.00406440
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x10]
push edx
call fcn.00404c40
add esp, 4
push 0x536ec8
mov eax, dword [ebp - 0x2b0]
add eax, 0x1c8
push eax
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x290]
push edx
call fcn.00405bc0
add esp, 0xc
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x38c], eax
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x38c]
push ecx
lea edx, [ebp - 0x40]
push edx
call fcn.00405c70
add esp, 0xc
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x290]
call fcn.00406500
push 0
lea ecx, [ebp - 0x40]
call fcn.00406580
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [ebp - 0x40]
call fcn.00406580
push eax
push 3
call fcn.004017a0
add esp, 8
cmp eax, 1
jne 0x4091c3
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x10]
call fcn.00406520
jmp 0x4091e0
lea ecx, [ebp - 0x40]
call fcn.00406580
push eax
push str.path_for_stream_out_not_found:__s
push 2
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov ecx, dword [str.Properties.ini]
push ecx
lea ecx, [ebp - 0x10]
call fcn.00405600
mov edx, dword [ebp - 0x6c]
push edx
push str.__Stream_out_from:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xb
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov eax, dword [ebp - 0x10]
push eax
push str.__Stream_out_to:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 0xb
push 0x588f50
call fcn.00416d20
add esp, 0x14
lea ecx, [ebp - 0x10]
call fcn.00406580
push eax
mov ecx, dword [str.Properties.ini]
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00406580
push eax
mov ecx, dword [ebp - 0x2b0]
call fcn.0040b040
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x40927f
mov edx, dword [ebp - 0x3c]
push edx
push str.Stream_return:__d
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
lea ecx, [ebp - 0x68]
call fcn.00406440
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x68]
push eax
push str.OperatingSystem
push str.Suppositions
lea ecx, [ebp - 0x10]
call fcn.00406580
push eax
call fcn.00404460
add esp, 0x10
lea ecx, [ebp - 0x1c]
call fcn.00406440
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1c]
push ecx
push str.TimeOutWaitingForAppl
push str.Special
lea ecx, [ebp - 0x10]
call fcn.00406580
push eax
call fcn.00404460
add esp, 0x10
mov edx, dword [ebp - 0x1c]
push edx
push str.__TimeOut_from_Properties.ini:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax + 0x2a4]
push ecx
push str.__TimeOut_from_Commandline:__s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x2a4
call fcn.00405e50
movzx edx, al
test edx, edx
je 0x40935c
lea ecx, [ebp - 0x1c]
call fcn.00405e50
movzx eax, al
test eax, eax
jne 0x40935c
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x2a4
call fcn.00406520
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x2a4
call fcn.00405e50
movzx edx, al
test edx, edx
jne 0x40939e
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax + 0x2a4]
push ecx
push 0x539628
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x14
push 0x539624
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x10
push str.Test__D_e_i_n_s_t_a_l_l_a_t_i_o_n
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
push 0x12c
call fcn.00404cb0
add esp, 4
test eax, eax
je 0x4093f8
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
jmp 0x409440
push ecx
mov ecx, esp
mov dword [ebp - 0x294], esp
push 0x536e60
call fcn.00406480
mov dword [ebp - 0x390], eax
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x148
call fcn.00412410
mov dword [ebp - 0x394], eax
cmp dword [ebp - 0x394], 0xfffffff3
jne 0x409440
push 0xfffffffffffffff3
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0x19c], 0
je 0x40948e
mov eax, dword [ebp - 0x2b0]
cmp dword [eax + 0xf0], 1
jne 0x40948e
push 0
push 0
push str.A_first_installation_of_Shared_Components_MSI_with_forceinternal_isnt_supported_any_more.
call fcn.0041dcac
push str.A_first_installation_of_Shared_Components_MSI_with_forceinternal_isnt_supported_any_more.
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 1
push 0x588f50
call fcn.00416d20
add esp, 0x10
jmp 0x40954b
mov ecx, dword [ebp - 0x2b0]
cmp dword [ecx + 0xf4], 1
jne 0x4094ab
push 0
push 0
push str.Pausing_before_the_install_...
call fcn.0041dcac
push 0x536e60
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 9
push 0x588f50
call fcn.00416d20
add esp, 0x10
push str.Test__I_n_s_t_a_l_l_a_t_i_o_n
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
push 0x12c
call fcn.00404cb0
add esp, 4
test eax, eax
je 0x409505
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
jmp 0x40951b
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x148
call fcn.00414c90
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0xf4], 1
jne 0x409538
push 0
push 0
push str.Pausing_before_end_of_setup.exe_...
call fcn.0041dcac
cmp dword [ebp - 0x14], 0xfffffff5
jne 0x40954b
push 0xfffffffffffffff5
mov ecx, dword [ebp - 0x2b0]
call fcn.0040ae50
push 1
mov ecx, 0x588f50
call fcn.004099a0
mov eax, dword [ebp - 0x2b0]
cmp dword [eax + 0x1a0], 0
je 0x409585
push str._setup64.exe__finished
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
jmp 0x4095a2
push str._setup.exe__finished
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
lea ecx, [ebp - 0x29c]
push ecx
call fcn.004099f0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
push str._Y__m__d
lea ecx, [ebp - 0x2a0]
push ecx
lea ecx, [ebp - 0x78]
call fcn.00409a30
mov dword [ebp - 0x398], eax
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], edx
mov byte [ebp - 4], 0x2f
mov eax, dword [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x60]
call fcn.00406520
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2a0]
call fcn.00406500
mov ecx, dword [ebp - 0x60]
push ecx
push str._END_LOGFILE__MSI_Caller____s
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x14
push str._n
lea ecx, [ebp - 0x48]
call fcn.00406580
push eax
push 7
push 0x588f50
call fcn.00416d20
add esp, 0x10
mov dword [ebp - 0x4c], 0
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0xf0], 1
jne 0x409661
mov dword [ebp - 0x4c], 1
jmp 0x4097a6
lea ecx, [ebp - 0x1e0]
call fcn.00406440
mov byte [ebp - 4], 0x30
mov eax, dword [str.SoftwareSIEMENSShared_Tools_]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.00406540
push str.Clients
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1bc
push ecx
push 0x536ec8
lea edx, [ebp - 0x2a4]
push edx
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], eax
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x3a4]
push ecx
lea edx, [ebp - 0x2a8]
push edx
call fcn.00405c70
add esp, 0xc
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3ac], eax
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x3ac]
push ecx
lea ecx, [ebp - 0x1e0]
call fcn.0040b480
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x2a8]
call fcn.00406500
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2a4]
call fcn.00406500
lea edx, [ebp - 0x1dc]
push edx
push 0x2001f
push 0
push 0
lea ecx, [ebp - 0x1e0]
call fcn.00406590
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x409797
push 0
push 0
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [ebp - 0x1e8]
push ecx
lea edx, [ebp - 0x1ec]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x1dc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x40978a
cmp dword [ebp - 0x1ec], 0
jne 0x40978a
mov dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x1dc]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1e0]
call fcn.00406500
cmp dword [ebp - 0x4c], 0
je 0x4098a3
mov edx, dword [ebp - 0x2b0]
cmp dword [edx + 0xe4], 1
je 0x4098a3
lea ecx, [ebp - 0x1f8]
call fcn.00406440
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x1f4]
call fcn.00406440
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x1f0]
call fcn.00406440
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x1f4]
push eax
push str.MsiReturn
push str.SOFTWARESIEMENSShared_ToolsCompSetup
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004042d0
add esp, 0x10
lea ecx, [ebp - 0x1f0]
push ecx
push str.SetupSucceeded
push str.SOFTWARESIEMENSShared_ToolsCompSetup
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004042d0
add esp, 0x10
mov edx, dword [ebp - 0x1f0]
push edx
mov eax, dword [ebp - 0x1f4]
push eax
push str.Component_Setup_installation_finished__n_n_szMsiReturn__s__n_SetupSucceeded__s
lea ecx, [ebp - 0x1f8]
push ecx
call fcn.00407220
add esp, 0x10
push 0
mov ecx, dword [ebp - 0x2b0]
add ecx, 0x1c0
call fcn.00406580
push eax
lea ecx, [ebp - 0x1f8]
call fcn.00406580
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x1f0]
call fcn.00406500
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x1f4]
call fcn.00406500
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1f8]
call fcn.00406500
mov dword [ebp - 0x2ac], 0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1c]
call fcn.00406500
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x68]
call fcn.00406500
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x40]
call fcn.00406500
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x10]
call fcn.00406500
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x6c]
call fcn.00406500
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x20]
call fcn.00406500
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x70]
call fcn.00406500
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00406500
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x50]
call fcn.00406500
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x34]
call fcn.00406500
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x60]
call fcn.00406500
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x54]
call fcn.00406500
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44]
call fcn.00406500
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
call fcn.00406500
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.00406500
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.00406500
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x98]
xor ecx, ebp
call fcn.0050c838
mov esp, ebp
pop ebp
ret