Function at 0x40a3a0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x526b25
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x587730]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xfc], ecx
push str.Compsetupstarter
lea ecx, [ebp - 0x14]
call fcn.00406480
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 8]
mov dword [eax + 0x44], 0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 0xfc]
cmp dword [edx + 0xe4], 1
jne 0x40a421
push 0x53b194
mov ecx, dword [ebp + 8]
add ecx, 0x5c
call fcn.00406540
jmp 0x40a461
push 0x53b188
mov ecx, dword [ebp + 8]
add ecx, 0x5c
call fcn.00406540
push 0x53abfc
mov eax, dword [ebp - 0xfc]
add eax, 0x2f4
push eax
call fcn.0040b500
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40a461
push 0x53b184
mov ecx, dword [ebp + 8]
add ecx, 0x5c
call fcn.00405600
mov edx, dword [ebp + 8]
add edx, 0x68
push edx
mov eax, dword [str.Client]
push eax
push str.SOFTWARESIEMENSShared_ToolsCompSetup
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004042d0
add esp, 0x10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x68]
push edx
push str.__Clientname_from_registry:__s
lea ecx, [ebp - 0x14]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov ecx, dword [ebp + 8]
add ecx, 0x68
call fcn.00405e50
movzx eax, al
test eax, eax
je 0x40a899
mov ecx, dword [ebp - 0xfc]
cmp dword [ecx + 0xf0], 1
jne 0x40a4eb
push str._ADSCOMMANDLINE__FORCEINTERNAL__NODIALOG
mov ecx, dword [ebp + 8]
add ecx, 0x130
call fcn.00405600
mov edx, dword [ebp + 8]
mov dword [edx + 0x44], 1
jmp 0x40a859
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 0xec], 1
jne 0x40a654
push str.__nur_zum_Test
lea ecx, [ebp - 0xc8]
call fcn.00406480
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xbc]
call fcn.004158b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xbc]
push ecx
push 0
mov ecx, dword [ebp + 8]
call fcn.00410c10
cmp eax, 2
jne 0x40a595
lea edx, [ebp - 0xbd]
push edx
lea eax, [ebp - 0xc9]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0xec], esp
lea edx, [ebp - 0xc8]
push edx
call fcn.00406460
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0xc4]
push eax
mov ecx, dword [ebp + 8]
call fcn.0040db20
cmp dword [ebp - 0xc4], 1
jb 0x40a595
push str._ADSCOMMANDLINE__UPDATE__NODIALOG
mov ecx, dword [ebp + 8]
add ecx, 0x130
call fcn.00405600
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x44], 1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x44], 0
jne 0x40a631
lea ecx, [ebp - 0xd0]
call fcn.00406440
mov byte [ebp - 4], 3
push str._Internal_mode_activated__Internal_messages_only_in_English:__n_n
lea ecx, [ebp - 0xd0]
call fcn.00406540
push str.Update_mode_not_possible___Component_not_installed_for_a_regular_client._n
lea ecx, [ebp - 0xd0]
call fcn.00405600
push str.Please_use_correct_input_parameters._n
lea ecx, [ebp - 0xd0]
call fcn.00405600
push 0x30
push str.setup.exe
lea ecx, [ebp - 0xd0]
call fcn.00406580
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x539920
mov ecx, dword [ebp - 0xfc]
add ecx, 0x148
call fcn.0040ecc0
push 0xfffffc0e
mov ecx, dword [ebp - 0xfc]
call fcn.0040ae50
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd0]
call fcn.00406500
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xbc]
call fcn.00415960
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc8]
call fcn.00406500
jmp 0x40a859
lea ecx, [ebp - 0xe0]
call fcn.00406440
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd8]
call fcn.00406440
mov byte [ebp - 4], 5
lea eax, [ebp - 0xdc]
push eax
push 0x20019
push 0
mov ecx, dword [str.SoftwareSIEMENSShared_Tools_]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40a83b
mov dword [ebp - 0xd4], 0x800
lea edx, [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xd4]
push eax
lea ecx, [ebp - 0xd8]
call fcn.004065b0
push eax
lea ecx, [ebp - 0xe4]
push ecx
push 0
push 0x53af00
mov edx, dword [ebp - 0xdc]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x40a825
push 0xffffffffffffffff
lea ecx, [ebp - 0xd8]
call fcn.00406600
lea ecx, [ebp - 0xd8]
call fcn.004065e0
test eax, eax
jle 0x40a823
push 0x53aefc
lea eax, [ebp - 0xd8]
push eax
push str._ADSCOMMANDLINE_
lea ecx, [ebp - 0xf0]
push ecx
call fcn.00405d20
add esp, 0xc
mov dword [ebp - 0x104], eax
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x108]
push eax
lea ecx, [ebp - 0xf4]
push ecx
call fcn.00405c70
add esp, 0xc
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x110], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x130
call fcn.0040b480
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xf4]
call fcn.00406500
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xf0]
call fcn.00406500
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
add ecx, 0x130
call fcn.00406600
mov ecx, dword [ebp + 8]
add ecx, 0x130
call fcn.00405920
mov ecx, dword [ebp + 8]
add ecx, 0x130
push ecx
lea ecx, [ebp - 0xe8]
call fcn.00406460
push 0
push str._FORCEINTERNAL
lea ecx, [ebp - 0xe8]
call fcn.00405850
cmp eax, 0xffffffff
jg 0x40a80e
push 0
push str._UPDATE
lea ecx, [ebp - 0xe8]
call fcn.00405850
cmp eax, 0xffffffff
jg 0x40a80e
push 0
push str._AUTO
lea ecx, [ebp - 0xe8]
call fcn.00405850
cmp eax, 0xffffffff
jle 0x40a818
mov edx, dword [ebp + 8]
mov dword [edx + 0x44], 1
lea ecx, [ebp - 0xe8]
call fcn.00406500
jmp 0x40a82e
mov eax, dword [ebp - 0x10]
or eax, 0xfffffffe
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xdc]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd8]
call fcn.00406500
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xe0]
call fcn.00406500
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x130]
push eax
push str.__Commandline_until_now:__s
lea ecx, [ebp - 0x14]
call fcn.00406580
push eax
push 0xa
push 0x588f50
call fcn.00416d20
add esp, 0x14
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x44], 0
je 0x40a899
push str.__INTERNAL_CLIENT
mov ecx, dword [ebp + 8]
add ecx, 0x68
call fcn.00406540
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00406500
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0050c838
mov esp, ebp
pop ebp
ret 4