Function at 0x424ac0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46a753
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x4a5590]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov bl, dl
mov byte [ebp - 0x8d], bl
mov esi, ecx
mov dword [ebp - 0x9c], esi
mov dword [ebp - 4], 1
call fcn.0041f8f0
mov al, byte [0x4acbf1]
cmp esi, 7
mov esi, dword [ebp + 0x1c]
jne 0x424bc4
test al, al
je 0x424bc4
test esi, esi
jne 0x424b30
cmp dword [ebp + 0x34], esi
jbe 0x424bc4
push str.UPDATE
lea ecx, [ebp - 0x2c]
call fcn.0040a200
push 0
push 0x64
push str.false
sub esp, 8
mov edx, 4
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
call fcn.0042c6d0
add esp, 0x14
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.00409560
mov byte [ebp - 4], 2
cmp dword [ebp - 0x78], 8
jb 0x424b89
push dword [ebp - 0x8c]
call fcn.0044d5f9
add esp, 4
cmp dword [ebp - 0x18], 8
mov ecx, dword [ebp - 0x2c]
jae 0x424b95
lea ecx, [ebp - 0x2c]
call fcn.0042cc70
cmp dword [ebp - 0x18], 8
jb 0x424bab
push dword [ebp - 0x2c]
call fcn.0044d5f9
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jmp 0x424f92
test bl, bl
jne 0x424c28
test esi, esi
jne 0x424c28
call fcn.0041f760
test eax, eax
jne 0x424c1d
sub esp, 0x18
mov ecx, esp
push 0xffffffffffffffff
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], eax
push 0x4a6fec
mov word [ecx], ax
call fcn.00409d90
lea ecx, [esi + 2]
call fcn.00443420
add esp, 0x18
cmp eax, 6
je 0x424d45
lea ecx, [ebp + 0xc]
call fcn.0040a2c0
lea ecx, [ebp + 0x24]
call fcn.0040a2c0
jmp 0x424fc4
cmp eax, 2
jne 0x424d45
jmp 0x424c08
test al, al
je 0x424c75
cmp byte [ebp + 8], 0
je 0x424c75
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x4a6fec
mov word [ecx], ax
call fcn.00409d90
mov ecx, 3
call fcn.00443420
add esp, 0x18
cmp eax, 6
je 0x424c75
call fcn.0041fd90
xor ecx, ecx
call fcn.0041fe90
push 0x15
xor eax, eax
push str.SoftwareTuneUpSetup
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
call fcn.0040a100
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.0042e1e0
cmp dword [eax + 0x14], 8
jb 0x424cb2
mov eax, dword [eax]
push 0
lea ecx, [ebp - 0x98]
push ecx
push 0
push 0x2001f
push 0
push 0
push 0
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
sete bl
cmp dword [ebp - 0x78], 8
jb 0x424ced
push dword [ebp - 0x8c]
call fcn.0044d5f9
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], 8
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
mov word [ebp - 0x8c], ax
jb 0x424d19
push dword [ebp - 0x2c]
call fcn.0044d5f9
add esp, 4
test bl, bl
je 0x424d45
push 4
push 0x47be44
push 1
push 0
push str.AutoUninst
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00424730
call fcn.0041f460
call fcn.0041f350
call fcn.0041fa60
xor eax, eax
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
mov word [ebp - 0x74], ax
push 5
push str.de_DE
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call fcn.0040a100
cmp dword [0x4acbe0], 0
je 0x424db5
xor esi, esi
jmp 0x424d90
mov ecx, dword [esi + 0x4a6af4]
lea eax, [ebp - 0x74]
push eax
push str.UILanguage
xor edx, edx
call fcn.0042e950
add esp, 8
test al, al
jne 0x424db5
add esi, 4
cmp esi, 8
jb 0x424d90
mov edi, dword [sym.imp.msi.dll_MsiSetPropertyW]
push 0
push 3
call edi
cmp dword [ebp + 0x1c], 0
ja 0x424dd3
cmp dword [ebp + 0x34], 0
ja 0x424dd3
push 0
push 3
jmp 0x424dd7
push 0
push 2
call edi
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 6
cmp byte [0x4acbf2], al
jne 0x424e03
cmp byte [0x4a99e2], al
je 0x424e12
push 0xf
push str._MAJORUPGRADE1
lea ecx, [ebp - 0x5c]
call fcn.004092b0
push 0x16
xor eax, eax
push str._REBOOTReallySuppress
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], ax
call fcn.0040a100
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call fcn.00409560
cmp dword [ebp - 0x48], 8
mov ecx, dword [ebp - 0x5c]
jae 0x424e55
lea ecx, [ebp - 0x5c]
cmp dword [0x4a7000], 8
mov eax, dword [0x4a6fec]
jae 0x424e68
mov eax, 0x4a6fec
push ecx
push 2
push 0
push eax
call dword [sym.imp.msi.dll_MsiGetFileVersionA]
mov esi, eax
test esi, esi
je 0x424ed9
cmp esi, 0x669
je 0x424ed9
cmp esi, 0xbc2
je 0x424ed9
cmp byte [ebp - 0x8d], 0
je 0x424ed2
cmp dword [ebp - 0x9c], 3
jne 0x424ed2
cmp esi, 0x642
jne 0x424ed2
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [ebp - 0x74]
push eax
call fcn.00409d90
xor cl, cl
call fcn.004231e0
add esp, 0x18
call fcn.0041f400
jmp 0x424f12
cmp dword [ebp + 0x1c], 0
ja 0x424ef8
cmp dword [ebp + 0x34], 0
ja 0x424ef8
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x424ef1
lea eax, [ebp - 0x44]
mov edx, 3
jmp 0x424f09
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x424f04
lea eax, [ebp - 0x44]
mov edx, 2
push eax
call fcn.004240c0
add esp, 4
call fcn.00424880
mov ecx, esi
call fcn.00423510
push 0
push ebx
call edi
cmp dword [ebp - 0x30], 8
jb 0x424f34
push dword [ebp - 0x44]
call fcn.0044d5f9
add esp, 4
xor eax, eax
cmp dword [ebp - 0x48], 8
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
mov word [ebp - 0x44], ax
jb 0x424f59
push dword [ebp - 0x5c]
call fcn.0044d5f9
add esp, 4
xor eax, eax
cmp dword [ebp - 0x60], 8
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
jb 0x424f7e
push dword [ebp - 0x74]
call fcn.0044d5f9
add esp, 4
xor eax, eax
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
mov word [ebp - 0x74], ax
cmp dword [ebp + 0x20], 8
jb 0x424fa3
push dword [ebp + 0xc]
call fcn.0044d5f9
add esp, 4
xor eax, eax
cmp dword [ebp + 0x38], 8
mov word [ebp + 0xc], ax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], 7
jb 0x424fc4
push dword [ebp + 0x24]
call fcn.0044d5f9
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044c2ed
mov esp, ebp
pop ebp
ret