Function at 0x412bde
Capabilities:
Print debug messages
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x553cbd
mov eax, dword fs:[0]
push eax
mov eax, 0x1028
call fcn.0052a310
mov eax, dword [0x5aff20]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallMagicPlus
lea esi, [ebp - 0x102c]
mov edi, ecx
call fcn.0040829d
cmp dword [ebp - 0x1018], 8
mov eax, dword [ebp - 0x102c]
jae 0x412c33
mov eax, esi
lea ecx, [ebp - 0x1030]
push ecx
push 0x20006
xor ebx, ebx
push ebx
push eax
mov esi, reloc.OLEAUT32.dll_SysReAllocString
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x412cb5
cmp dword [ebp - 0x1018], 8
mov eax, dword [ebp - 0x102c]
jae 0x412c68
lea eax, [ebp - 0x102c]
lea ecx, [ebp - 0x1030]
push ecx
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
je 0x412cb5
push str.WriteKey_error
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
or dword [ebp - 4], 0xffffffff
push 1
xor edi, edi
lea esi, [ebp - 0x102c]
call fcn.00409659
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005220b2
leave
ret
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x1010], ax
lea eax, [ebp - 0x100e]
push eax
mov dword [ebp - 0x1034], 1
call fcn.00527ca0
push 0x586cbc
mov ebx, 0x400
lea eax, [ebp - 0x1010]
push ebx
push eax
call fcn.005264c3
lea eax, [ebp - 0x1010]
add esp, 0x18
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x412cfd
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
sub eax, ecx
sar eax, 1
add eax, eax
push eax
lea eax, [ebp - 0x1010]
push eax
push 1
push 0
push str.DisplayName
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412d38
and dword [ebp - 0x1034], 0
cmp dword [edi + 0x14], 8
jb 0x412d42
mov eax, dword [edi]
jmp 0x412d44
mov eax, edi
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x10]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.AuthorizedCDFPrefix
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412d7e
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x412d89
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x2c]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.Comments
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412dc3
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x38]
cmp dword [eax + 0x14], 8
jb 0x412dce
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x48]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.Contact
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412e08
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x54]
cmp dword [eax + 0x14], 8
jb 0x412e13
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x64]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.DisplayIcon
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412e4d
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x8c]
cmp dword [eax + 0x14], 8
jb 0x412e5b
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x9c]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.DisplayVersion
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412e98
and dword [ebp - 0x1034], 0
lea eax, [edi + 0xac]
cmp dword [eax + 0x14], 8
jb 0x412ea6
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0xbc]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.HelpLink
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412ee3
and dword [ebp - 0x1034], 0
lea eax, [edi + 0xc8]
cmp dword [eax + 0x14], 8
jb 0x412ef1
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0xd8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.HelpTelephone
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412f2e
and dword [ebp - 0x1034], 0
lea eax, [edi + 0xe4]
cmp dword [eax + 0x14], 8
jb 0x412f3c
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0xf4]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.InstallDate
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412f79
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x100]
cmp dword [eax + 0x14], 8
jb 0x412f87
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x110]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.InstallLocation
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x412fc4
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x11c]
cmp dword [eax + 0x14], 8
jb 0x412fd2
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x12c]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.InstallSource
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x41300f
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x13c]
cmp dword [eax + 0x14], 8
jb 0x41301d
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x14c]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.LocalPackage
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x41305a
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x178]
cmp dword [eax + 0x14], 8
jb 0x413068
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x188]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.Publisher
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x4130a5
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x194]
cmp dword [eax + 0x14], 8
jb 0x4130b3
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x1a4]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.Readme
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x4130f0
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x1b0]
cmp dword [eax + 0x14], 8
jb 0x4130fe
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x1c0]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.Size
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x41313b
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x1e8]
cmp dword [eax + 0x14], 8
jb 0x413149
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x1f8]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.URLInfoAbout
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x413186
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x204]
cmp dword [eax + 0x14], 8
jb 0x413194
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x214]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 1
push 0
push str.URLUpdateInfo
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x4131d1
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x158]
cmp dword [eax + 0x14], 8
jb 0x4131df
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x168]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 2
push 0
push str.ModifyPath
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x41321c
and dword [ebp - 0x1034], 0
lea eax, [edi + 0x1cc]
cmp dword [eax + 0x14], 8
jb 0x41322a
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.005264c3
mov eax, dword [edi + 0x1dc]
add esp, 0xc
add eax, eax
push eax
lea eax, [ebp - 0x810]
push eax
push 2
push 0
push str.UninstallString
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x413267
and dword [ebp - 0x1034], 0
push 4
pop ebx
push ebx
lea eax, [edi + 0xa8]
push eax
push ebx
push 0
push str.EstimatedSize
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x41328d
and dword [ebp - 0x1034], 0
push ebx
lea eax, [edi + 0x138]
push eax
push ebx
push 0
push str.Language
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x4132b0
and dword [ebp - 0x1034], 0
push ebx
lea eax, [edi + 0x174]
push eax
push ebx
push 0
push str.NoRepair
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x4132d3
and dword [ebp - 0x1034], 0
push ebx
lea eax, [edi + 0x220]
push eax
push ebx
push 0
push str.Version
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x4132f6
and dword [ebp - 0x1034], 0
push ebx
lea eax, [edi + 0x224]
push eax
push ebx
push 0
push str.VersionMajor
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x413319
and dword [ebp - 0x1034], 0
push ebx
lea eax, [edi + 0x228]
push eax
push ebx
push 0
push str.VersionMinor
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x41333c
and dword [ebp - 0x1034], 0
push ebx
add edi, 0x22c
push edi
push ebx
push 0
push str.WindowsInstaller
push dword [ebp - 0x1030]
call esi
test eax, eax
je 0x41335f
and dword [ebp - 0x1034], 0
push dword [ebp - 0x1030]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [ebp - 0x1034]
jmp 0x412c86