Function at 0x424af0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46a793
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.0041f930
mov al, byte [0x4acbf1]
cmp esi, 7
mov esi, dword [ebp + 0x1c]
jne 0x424bf4
test al, al
je 0x424bf4
test esi, esi
jne 0x424b60
cmp dword [ebp + 0x34], esi
jbe 0x424bf4
push str.UPDATE
lea ecx, [ebp - 0x2c]
call fcn.0040a210
push 0
push 0x64
push str.false
sub esp, 8
mov edx, 4
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
call fcn.0042c710
add esp, 0x14
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.00409570
mov byte [ebp - 4], 2
cmp dword [ebp - 0x78], 8
jb 0x424bb9
push dword [ebp - 0x8c]
call fcn.0044d639
add esp, 4
cmp dword [ebp - 0x18], 8
mov ecx, dword [ebp - 0x2c]
jae 0x424bc5
lea ecx, [ebp - 0x2c]
call fcn.0042ccb0
cmp dword [ebp - 0x18], 8
jb 0x424bdb
push dword [ebp - 0x2c]
call fcn.0044d639
add esp, 4
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
jmp 0x424fc2
test bl, bl
jne 0x424c58
test esi, esi
jne 0x424c58
call fcn.0041f7a0
test eax, eax
jne 0x424c4d
sub esp, 0x18
mov ecx, esp
push 0xffffffffffffffff
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], eax
push 0x4a6ffc
mov word [ecx], ax
call fcn.00409da0
lea ecx, [esi + 2]
call fcn.00443450
add esp, 0x18
cmp eax, 6
je 0x424d75
lea ecx, [ebp + 0xc]
call fcn.0040a2d0
lea ecx, [ebp + 0x24]
call fcn.0040a2d0
jmp 0x424ff4
cmp eax, 2
jne 0x424d75
jmp 0x424c38
test al, al
je 0x424ca5
cmp byte [ebp + 8], 0
je 0x424ca5
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x4a6ffc
mov word [ecx], ax
call fcn.00409da0
mov ecx, 3
call fcn.00443450
add esp, 0x18
cmp eax, 6
je 0x424ca5
call fcn.0041fdd0
xor ecx, ecx
call fcn.0041fed0
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.0040a110
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 4
call fcn.0042e220
cmp dword [eax + 0x14], 8
jb 0x424ce2
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 0x424d1d
push dword [ebp - 0x8c]
call fcn.0044d639
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 0x424d49
push dword [ebp - 0x2c]
call fcn.0044d639
add esp, 4
test bl, bl
je 0x424d75
push 4
push 0x47bcf4
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.00424760
call fcn.0041f4a0
call fcn.0041f390
call fcn.0041faa0
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.0040a110
cmp dword [0x4acbe0], 0
je 0x424de5
xor esi, esi
jmp 0x424dc0
mov ecx, dword [esi + 0x4a6b08]
lea eax, [ebp - 0x74]
push eax
push str.UILanguage
xor edx, edx
call fcn.0042e990
add esp, 8
test al, al
jne 0x424de5
add esi, 4
cmp esi, 8
jb 0x424dc0
mov edi, dword [sym.imp.msi.dll_MsiSetPropertyW]
push 0
push 3
call edi
cmp dword [ebp + 0x1c], 0
ja 0x424e03
cmp dword [ebp + 0x34], 0
ja 0x424e03
push 0
push 3
jmp 0x424e07
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 0x424e33
cmp byte [0x4a99e2], al
je 0x424e42
push 0xf
push str._MAJORUPGRADE1
lea ecx, [ebp - 0x5c]
call fcn.004092c0
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.0040a110
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call fcn.00409570
cmp dword [ebp - 0x48], 8
mov ecx, dword [ebp - 0x5c]
jae 0x424e85
lea ecx, [ebp - 0x5c]
cmp dword [0x4a7010], 8
mov eax, dword [0x4a6ffc]
jae 0x424e98
mov eax, 0x4a6ffc
push ecx
push 2
push 0
push eax
call dword [sym.imp.msi.dll_MsiGetFileVersionA]
mov esi, eax
test esi, esi
je 0x424f09
cmp esi, 0x669
je 0x424f09
cmp esi, 0xbc2
je 0x424f09
cmp byte [ebp - 0x8d], 0
je 0x424f02
cmp dword [ebp - 0x9c], 3
jne 0x424f02
cmp esi, 0x642
jne 0x424f02
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.00409da0
xor cl, cl
call fcn.00423220
add esp, 0x18
call fcn.0041f440
jmp 0x424f42
cmp dword [ebp + 0x1c], 0
ja 0x424f28
cmp dword [ebp + 0x34], 0
ja 0x424f28
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x424f21
lea eax, [ebp - 0x44]
mov edx, 3
jmp 0x424f39
cmp dword [ebp - 0x30], 8
mov eax, dword [ebp - 0x44]
jae 0x424f34
lea eax, [ebp - 0x44]
mov edx, 2
push eax
call fcn.004240f0
add esp, 4
call fcn.004248b0
mov ecx, esi
call fcn.00423550
push 0
push ebx
call edi
cmp dword [ebp - 0x30], 8
jb 0x424f64
push dword [ebp - 0x44]
call fcn.0044d639
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 0x424f89
push dword [ebp - 0x5c]
call fcn.0044d639
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 0x424fae
push dword [ebp - 0x74]
call fcn.0044d639
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 0x424fd3
push dword [ebp + 0xc]
call fcn.0044d639
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 0x424ff4
push dword [ebp + 0x24]
call fcn.0044d639
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.0044c32d
mov esp, ebp
pop ebp
ret