Function at 0x43e41b
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xb20
mov eax, 0x4b4565
call fcn.0046c44c
mov esi, ecx
mov dword [ebp - 0xa40], esi
mov edi, dword [ebp + 8]
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0xa48], ebx
mov dword [ebp - 0xa74], edi
mov dword [ebp - 0xa44], eax
call fcn.00452601
push eax
lea ecx, [ebp - 0xa88]
call fcn.00402899
and dword [ebp - 4], ebx
call fcn.00452601
push eax
lea ecx, [ebp - 0xa4c]
call fcn.00402899
mov byte [ebp - 4], 1
call fcn.00452601
push eax
lea ecx, [ebp - 0xa78]
call fcn.00402899
mov byte [ebp - 4], 2
call fcn.00452601
push eax
lea ecx, [ebp - 0xa84]
call fcn.00402899
mov byte [ebp - 4], 3
call fcn.00452601
push eax
lea ecx, [ebp - 0xae4]
call fcn.00402899
mov ecx, str.A6EADE66_0000_0000_484E_7E8A45000000
mov byte [ebp - 4], 4
test edi, edi
mov eax, str.AC76BA86_0000_0000_7761_7E8A45000000_AC76BA86_0000_0000_7760_7E8A45000000_AC76BA86_0000_0000_BA7E_7E8A45000000
cmovne eax, ecx
lea ecx, [ebp - 0xa88]
push eax
call fcn.0040286d
mov ecx, str.SOFTWAREAdobeAcrobat_Reader_
test edi, edi
mov eax, str.SOFTWAREAdobeAdobe_Acrobat_
cmovne eax, ecx
lea ecx, [ebp - 0xa78]
push eax
call fcn.0040286d
mov ecx, str.SOFTWAREAdobeAdobe_ARMLegacyReader_
test edi, edi
mov eax, str.SOFTWAREAdobeAdobe_ARMLegacyAcrobat_
cmovne eax, ecx
lea ecx, [ebp - 0xa84]
push eax
call fcn.0040286d
mov ecx, 0x51ace4
test edi, edi
mov eax, 0x51ace0
cmovne eax, ecx
mov ecx, 0x51ae40
push eax
call fcn.00402e14
test edi, edi
mov ecx, 0x4cd960
mov eax, str.Acrobat
lea edi, [esi + 0x70]
cmovne eax, ecx
mov ecx, edi
push eax
call fcn.0040286d
push edi
mov ecx, esi
call fcn.0043fc76
test eax, eax
jne 0x43e550
lea ecx, [esi + 0x3c]
push edi
push dword [ecx + 8]
call fcn.00454e5c
mov eax, dword [ebp - 0xaf0]
and dword [ebp - 0xae0], 0
mov dword [ebp - 0xaf4], eax
mov eax, dword [ebp - 0xa9c]
mov dword [ebp - 0xaa0], eax
push 0x4cd070
lea ecx, [ebp - 0xab0]
call fcn.00402829
lea eax, [ebp - 0xab0]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xae0]
push eax
lea edx, [ebp - 0xa88]
lea ecx, [ebp - 0xb20]
call fcn.004415ae
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0xae4]
mov byte [ebp - 4], 6
call fcn.00402e14
mov ecx, dword [ebp - 0xb20]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xab0]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov esi, dword [ebp - 0xae4]
mov dword [ebp - 0xa7c], esi
cmp dword [esi - 0xc], 0
je 0x43f4b2
xor edi, edi
mov dword [ebp - 0xa80], edi
push 0x104
lea ecx, [ebp - 0xa4c]
call fcn.00402bd2
push eax
push edi
push 0
push esi
call dword [sym.imp.msi.dll_MsiSourceListClearAllW]
push 0xffffffffffffffff
lea ecx, [ebp - 0xa4c]
mov dword [ebp - 0xa70], eax
call fcn.0040ae39
mov edi, dword [ebp - 0xa70]
test edi, edi
jne 0x43f49e
push 0x208
lea eax, [ebp - 0x218]
push edi
push eax
call fcn.00484bc0
add esp, 0xc
mov dword [ebp - 0xa5c], 0x104
lea eax, [ebp - 0xa5c]
push eax
lea eax, [ebp - 0x218]
push eax
push str.VersionMajor
push dword [ebp - 0xa4c]
call dword [sym.imp.msi.dll_MsiGetPropertyW]
test eax, eax
je 0x43e6b3
push str.Could_not_collect_Major_Version_for_Product:
lea ecx, [ebp - 0xae8]
call fcn.00402829
lea eax, [ebp - 0xa4c]
mov byte [ebp - 4], 7
xor ecx, ecx
lea edx, [ebp - 0xae8]
push edi
push eax
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xae8]
lea ecx, [ecx - 0x10]
call fcn.00402e64
jmp 0x43f49e
push 0x208
lea eax, [ebp - 0x628]
push 0
push eax
call fcn.00484bc0
add esp, 0xc
mov dword [ebp - 0xa5c], 0x104
lea eax, [ebp - 0xa5c]
push eax
lea eax, [ebp - 0x628]
push eax
push str.VersionString
push dword [ebp - 0xa4c]
call dword [sym.imp.msi.dll_MsiGetPropertyW]
mov edi, eax
lea ecx, [ebp - 0xa60]
lea eax, [ebp - 0x628]
push eax
call fcn.00402829
mov byte [ebp - 4], 8
test edi, edi
jne 0x43f44b
mov eax, dword [ebp - 0xa60]
cmp dword [eax - 0xc], edi
je 0x43f44b
lea eax, [ebp - 0x218]
push eax
call fcn.0048cb1c
mov dword [ebp - 0xa50], eax
lea eax, [ebp - 0xa60]
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xa50]
push eax
lea eax, [ebp - 0xa4c]
push eax
call fcn.0043d943
mov edi, eax
lea eax, [ebp - 0xa4c]
push eax
lea eax, [ebp - 0xa84]
push eax
lea eax, [ebp - 0xa54]
push eax
call fcn.004024b8
add esp, 0xc
mov byte [ebp - 4], 0xa
call fcn.00452601
push eax
lea ecx, [ebp - 0xa64]
call fcn.00402899
lea eax, [ebp - 0xa58]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0xa54]
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
and dword [ebp - 0xa58], 0
push eax
lea eax, [ebp - 0xa64]
push eax
push str.ManifestURL_3
call fcn.004417f0
mov esi, dword [ebp - 0xa64]
add esp, 0xc
cmp dword [esi - 0xc], 0
jne 0x43e832
mov edx, dword [ebp - 0xa54]
lea eax, [ebp - 0xa58]
and dword [ebp - 0xa58], 0
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push eax
lea eax, [ebp - 0xa64]
push eax
push str.ManifestURL_2
call fcn.004417f0
mov esi, dword [ebp - 0xa64]
add esp, 0xc
cmp dword [esi - 0xc], 0
jne 0x43e832
mov edx, dword [ebp - 0xa54]
lea eax, [ebp - 0xa58]
and dword [ebp - 0xa58], 0
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push eax
lea eax, [ebp - 0xa64]
push eax
push str.ManifestURL
call fcn.004417f0
mov esi, dword [ebp - 0xa64]
add esp, 0xc
call fcn.00452601
push eax
lea ecx, [ebp - 0xa6c]
call fcn.00402899
lea eax, [ebp - 0xa58]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xa54]
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
and dword [ebp - 0xa58], 0
push eax
lea eax, [ebp - 0xa6c]
push eax
push str.TrackName
call fcn.004417f0
add esp, 0xc
test edi, edi
je 0x43ea29
cmp dword [esi - 0xc], 0
jne 0x43ea29
push str.Manifest_not_redirected__updates_are_not_allowed_for_pre_release_product:
lea ecx, [ebp - 0xaec]
call fcn.00402829
lea eax, [ebp - 0xa4c]
mov byte [ebp - 4], 0xd
xor ecx, ecx
lea edx, [ebp - 0xaec]
push 0
push eax
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xaec]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [0x51ae0c], 0
mov edi, dword [ebp - 0xa6c]
je 0x43e9ee
cmp dword [edi - 0xc], 0
jne 0x43e91e
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xb24]
call fcn.00402829
push 0x4d10e8
push eax
lea eax, [ebp - 0xb0c]
mov byte [ebp - 4], 0xe
or ebx, 1
push eax
mov dword [ebp - 0xa48], ebx
call fcn.00402459
add esp, 0xc
mov dword [ebp - 4], 0xf
or ebx, 2
jmp 0x43e947
lea eax, [edi - 0x10]
push eax
call fcn.00402d9f
add eax, 0x10
pop ecx
mov dword [ebp - 0xaf4], eax
mov dword [ebp - 0xaf0], eax
lea eax, [ebp - 0xaf0]
mov dword [ebp - 4], 0x10
or ebx, 4
push eax
lea eax, [ebp - 0xa78]
mov dword [ebp - 0xa48], ebx
push eax
lea eax, [ebp - 0xb1c]
push eax
call fcn.004024b8
add esp, 0xc
mov ecx, dword [ebp - 0xa40]
add ecx, 0x64
mov dword [ebp - 4], 0x11
push eax
call fcn.00402e14
mov ecx, dword [ebp - 0xb1c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
test bl, 4
je 0x43e9a4
mov ecx, dword [ebp - 0xaf4]
and ebx, 0xfffffffb
mov dword [ebp - 0xa48], ebx
lea ecx, [ecx - 0x10]
call fcn.00402e64
test bl, 2
je 0x43e9c0
mov ecx, dword [ebp - 0xb0c]
and ebx, 0xfffffffd
mov dword [ebp - 0xa48], ebx
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov dword [ebp - 4], 0xc
test bl, 1
je 0x43e9e3
mov ecx, dword [ebp - 0xb24]
and ebx, 0xfffffffe
mov dword [ebp - 0xa48], ebx
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa40]
call fcn.0043f6d3
lea ecx, [edi - 0x10]
call fcn.00402e64
lea ecx, [esi - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa54]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xa60]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov esi, dword [ebp - 0xa7c]
jmp 0x43f498
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xa50]
mov edi, dword [ebp - 0xa6c]
mov dword [ebp - 0xaa4], eax
test ecx, ecx
je 0x43ea46
cmp ecx, eax
jne 0x43e9ee
mov ecx, dword [ebp - 0xa40]
add ecx, 0x54
mov dword [ebp - 0xa58], ecx
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
je 0x43eabb
lea edx, [ebp - 0xa60]
call fcn.004432df
test eax, eax
je 0x43eab5
push str.Found_older_version___skipping_product:
lea ecx, [ebp - 0xa8c]
call fcn.00402829
lea eax, [ebp - 0xa60]
mov byte [ebp - 4], 0x12
xor ecx, ecx
lea edx, [ebp - 0xa8c]
push 0
push eax
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0xa8c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa6c]
lea ecx, [ecx - 0x10]
jmp 0x43e9f1
mov ecx, dword [ebp - 0xa58]
lea eax, [ebp - 0xa60]
push eax
call fcn.00402e14
mov eax, dword [ebp - 0xa40]
lea ecx, [ebp - 0xa4c]
add eax, 0x50
push ecx
mov ecx, eax
mov dword [ebp - 0xb10], eax
call fcn.00402e14
mov eax, dword [ebp - 0xa40]
lea ecx, [ebp - 0xa64]
add eax, 0x74
push ecx
mov ecx, eax
mov dword [ebp - 0xb18], eax
call fcn.00402e14
push 0x208
lea eax, [ebp - 0x830]
mov dword [ebp - 0xa5c], 0x104
push 0
push eax
call fcn.00484bc0
add esp, 0xc
lea eax, [ebp - 0xa5c]
push eax
lea eax, [ebp - 0x830]
push eax
push str.InstalledProductName
push dword [ebp - 0xa4c]
call dword [sym.imp.msi.dll_MsiGetPropertyW]
mov ecx, dword [ebp - 0xa40]
add ecx, 0x58
mov dword [ebp - 0xa44], ecx
test eax, eax
je 0x43eba6
push str.Missing_msi_registered_Product_Name
lea ecx, [ebp - 0xaac]
call fcn.00402829
xor ecx, ecx
mov byte [ebp - 4], 0x13
push 0
lea edx, [ebp - 0xaac]
inc ecx
call fcn.00414d4f
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xaac]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [ebp - 0xa74], 0
mov ecx, 0x4e80d4
mov eax, str.Adobe_Acrobat
cmovne eax, ecx
mov ecx, dword [ebp - 0xa44]
jmp 0x43ebac
lea eax, [ebp - 0x830]
push eax
call fcn.0040286d
mov edx, dword [ebp - 0xa54]
lea eax, [ebp - 0xa44]
and dword [ebp - 0xa68], 0
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
and dword [ebp - 0xa44], 0
push eax
lea eax, [ebp - 0xa68]
push eax
push 0x4f7d5c
call fcn.004418af
mov ecx, dword [ebp - 0xa68]
add esp, 0xc
cmp ecx, 1
jb 0x43ebfd
mov eax, dword [ebp - 0xa40]
mov dword [eax + 0xa0], ecx
mov edx, dword [ebp - 0xa54]
lea eax, [ebp - 0xa44]
and dword [ebp - 0xa68], 0
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
and dword [ebp - 0xa44], 0
push eax
lea eax, [ebp - 0xa68]
push eax
push str.CheckCU
call fcn.004418af
mov ecx, dword [ebp - 0xa68]
add esp, 0xc
mov eax, dword [ebp - 0xa40]
cmp ecx, 1
jb 0x43ec48
mov dword [eax + 0xa4], ecx
mov edx, dword [ebp - 0xa54]
lea ecx, [ebp - 0xa44]
and dword [ebp - 0xa44], 0
add eax, 0x7c
push ecx
push eax
push str.Mode
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0xa3c], eax
call fcn.004418af
add esp, 0xc
test eax, eax
jne 0x43ec8b
mov eax, dword [ebp - 0xa3c]
cmp dword [eax], 4
jbe 0x43ed73
push str.could_not_find_valid_preference_in_product_specific_registry
lea ecx, [ebp - 0xa90]
call fcn.00402829
xor ecx, ecx
mov byte [ebp - 4], 0x14
push 0
lea edx, [ebp - 0xa90]
inc ecx
call fcn.00414d4f
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xa90]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [ebp - 0xa74], 0
mov ecx, str.iCheck
mov eax, str.iCheckReader
cmove eax, ecx
lea ecx, [ebp - 0xa98]
push eax
call fcn.00402829
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0xa44]
mov edx, dword [0x51ad0c]
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
and dword [ebp - 0xa44], 0
push eax
push dword [ebp - 0xa3c]
push dword [ebp - 0xa98]
call fcn.004418af
add esp, 0xc
test eax, eax
jne 0x43ed22
mov eax, dword [ebp - 0xa3c]
cmp dword [eax], 4
jbe 0x43ed61
push str.could_not_find_valid_preference_in_default_registry__setting_to_semi_auto
lea ecx, [ebp - 0xa94]
call fcn.00402829
xor ecx, ecx
mov byte [ebp - 4], 0x16
push 0
lea edx, [ebp - 0xa94]
inc ecx
call fcn.00414d4f
pop ecx
mov ecx, dword [ebp - 0xa94]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov eax, dword [ebp - 0xa3c]
mov dword [eax], 2
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xa98]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [edi - 0xc], 0
jne 0x43edb9
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0xafc]
call fcn.00402829
push 0x4d10e8
push eax
lea eax, [ebp - 0xaf8]
mov byte [ebp - 4], 0x17
or ebx, 8
push eax
mov dword [ebp - 0xa48], ebx
call fcn.00402459
add esp, 0xc
mov dword [ebp - 4], 0x18
or ebx, 0x10
jmp 0x43ede2
lea eax, [edi - 0x10]
push eax
call fcn.00402d9f
add eax, 0x10
pop ecx
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xa9c], eax
lea eax, [ebp - 0xa9c]
mov dword [ebp - 4], 0x19
or ebx, 0x20
push eax
lea eax, [ebp - 0xa78]
mov dword [ebp - 0xa48], ebx
push eax
lea eax, [ebp - 0xb28]
mov dword [ebp - 0xa3c], ebx
push eax
call fcn.004024b8
add esp, 0xc
mov ecx, dword [ebp - 0xa40]
add ecx, 0x64
mov dword [ebp - 4], 0x1a
push eax
mov dword [ebp - 0xa44], ecx
call fcn.00402e14
mov ecx, dword [ebp - 0xb28]
lea ecx, [ecx - 0x10]
call fcn.00402e64
test bl, 0x20
je 0x43ee51
mov ecx, dword [ebp - 0xaa0]
and ebx, 0xffffffdf
mov dword [ebp - 0xa3c], ebx
mov dword [ebp - 0xa48], ebx
lea ecx, [ecx - 0x10]
call fcn.00402e64
test bl, 0x10
je 0x43ee73
mov ecx, dword [ebp - 0xaf8]
and ebx, 0xffffffef
mov dword [ebp - 0xa3c], ebx
mov dword [ebp - 0xa48], ebx
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov dword [ebp - 4], 0xc
test bl, 8
je 0x43ee9c
mov ecx, dword [ebp - 0xafc]
and ebx, 0xfffffff7
mov dword [ebp - 0xa3c], ebx
mov dword [ebp - 0xa48], ebx
lea ecx, [ecx - 0x10]
call fcn.00402e64
and dword [ebp - 0xa50], 0
lea eax, [ebp - 0xb00]
push str.Installer
push dword [ebp - 0xa44]
push eax
call fcn.00402459
mov ecx, dword [ebp - 0xa40]
lea edx, [ebp - 0xa50]
add ecx, 0x68
mov byte [ebp - 4], 0x1b
push edx
mov edx, dword [eax]
push ecx
mov dword [ebp - 0xb14], ecx
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
push str.Path
call fcn.004417f0
mov byte [ebp - 4], 0xc
add esp, 0x18
mov ecx, dword [ebp - 0xb00]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa40]
call fcn.0043f6d3
push 0x208
lea eax, [ebp - 0x420]
mov dword [ebp - 0xa5c], 0x104
push 0
push eax
call fcn.00484bc0
add esp, 0xc
lea eax, [ebp - 0xa5c]
push eax
lea eax, [ebp - 0x420]
push eax
push 0x4d1a60
push dword [ebp - 0xa4c]
call dword [sym.imp.msi.dll_MsiGetPropertyW]
push 0x208
lea eax, [ebp - 0xa38]
push 0
push eax
call fcn.00484bc0
add esp, 0xc
mov dword [ebp - 0xa5c], 0x104
lea eax, [ebp - 0xa5c]
push eax
lea eax, [ebp - 0xa38]
push eax
push str.AuthorizedLUAApp
push dword [ebp - 0xa4c]
call dword [sym.imp.msi.dll_MsiGetPropertyW]
test eax, eax
jne 0x43efc9
lea eax, [ebp - 0xa38]
push eax
lea ecx, [ebp - 0xb04]
call fcn.00402829
mov byte [ebp - 4], 0x1c
or ebx, 0x40
push str.1324
mov ecx, eax
mov dword [ebp - 0xa3c], ebx
mov dword [ebp - 0xa48], ebx
call fcn.0040ac4f
test eax, eax
jne 0x43efc9
mov dword [ebp - 0xa50], 1
jmp 0x43efd0
and dword [ebp - 0xa50], 0
mov dword [ebp - 4], 0xc
test bl, 0x40
je 0x43eff9
mov ecx, dword [ebp - 0xb04]
and ebx, 0xffffffbf
mov dword [ebp - 0xa3c], ebx
mov dword [ebp - 0xa48], ebx
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa40]
mov eax, dword [ebp - 0xa50]
mov dword [ecx + 0x80], eax
cmp dword [ebp - 0xaa4], 0xc
jb 0x43f149
mov eax, dword [0x51acd8]
add eax, 0xfffffff0
push eax
call fcn.00402d9f
add eax, 0x10
pop ecx
mov dword [ebp - 0xa3c], eax
cmp dword [ebp - 0xa74], 0
mov byte [ebp - 4], 0x1d
je 0x43f04d
push 0x4f8128
lea ecx, [ebp - 0xa3c]
call fcn.0040259d
lea eax, [edi - 0x10]
push eax
call fcn.00402d9f
add eax, 0x10
pop ecx
mov dword [ebp - 0xa50], eax
lea ecx, [ebp - 0xa50]
mov byte [ebp - 4], 0x1e
call fcn.00424e14
push 0x4f8138
lea ecx, [ebp - 0xa50]
call fcn.0040ac4f
test eax, eax
je 0x43f0c5
lea eax, [ebp - 0xa6c]
push eax
lea eax, [ebp - 0xb08]
push 0x4d0424
push eax
call fcn.004023f1
add esp, 0xc
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xa3c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004025c6
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0xb08]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa40]
lea eax, [ebp - 0xa3c]
push eax
lea ecx, [ecx + 0x60]
call fcn.00402e14
mov ecx, dword [ebp - 0xa40]
lea eax, [ebp - 0xa3c]
push eax
lea ecx, [ecx + 0x5c]
call fcn.00402e14
push str._Updater
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0xb2c]
push eax
call fcn.00402459
add esp, 0xc
push eax
mov ecx, 0x51ae40
mov byte [ebp - 4], 0x20
call fcn.00402e14
mov ecx, dword [ebp - 0xb2c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa50]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xa3c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
jmp 0x43f1ac
cmp dword [ebp - 0xa74], 0
lea ebx, [ecx + 0x60]
mov edx, 0x51acd8
mov eax, 0x51acdc
cmove eax, edx
mov ecx, ebx
push eax
call fcn.00402e14
mov eax, dword [ebp - 0xa40]
add eax, 0x5c
push ebx
mov ecx, eax
mov dword [ebp - 0xa50], eax
call fcn.00402e14
mov eax, dword [ebp - 0xaa4]
cmp eax, 0xa
jne 0x43f191
push 0x4f8154
jmp 0x43f19b
cmp eax, 0xb
jne 0x43f1a6
push 0x4f815c
mov ecx, dword [ebp - 0xa50]
call fcn.0040259d
mov ebx, dword [ebp - 0xa3c]
push str.ProductCode:
lea ecx, [ebp - 0xaa8]
call fcn.00402829
push 0
push dword [ebp - 0xb10]
xor ecx, ecx
mov byte [ebp - 4], 0x21
lea edx, [ebp - 0xaa8]
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xaa8]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.ProductName:
lea ecx, [ebp - 0xacc]
call fcn.00402829
mov eax, dword [ebp - 0xa40]
lea edx, [ebp - 0xacc]
add eax, 0x58
mov byte [ebp - 4], 0x22
xor ecx, ecx
push 0
push eax
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xacc]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.ProductVersion:
lea ecx, [ebp - 0xab4]
call fcn.00402829
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0xab4]
push 0
push dword [ebp - 0xa58]
xor ecx, ecx
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xab4]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa40]
mov edx, str.disabled
mov eax, str.enabled
cmp dword [ecx + 0x80], 0
lea ecx, [ebp - 0xabc]
cmove eax, edx
push eax
call fcn.00402829
push str.ProductUACPatching:
lea ecx, [ebp - 0xab8]
mov byte [ebp - 4], 0x24
call fcn.00402829
lea eax, [ebp - 0xabc]
mov byte [ebp - 4], 0x25
xor ecx, ecx
lea edx, [ebp - 0xab8]
push 0
push eax
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0xab8]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xabc]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.Product_UI_Language:
lea ecx, [ebp - 0xac0]
call fcn.00402829
mov eax, dword [ebp - 0xa40]
lea edx, [ebp - 0xac0]
push 0
add eax, 0x6c
mov byte [ebp - 4], 0x26
push eax
push 2
pop ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xac0]
lea ecx, [ecx - 0x10]
call fcn.00402e64
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xac8]
call fcn.00402829
push str.ProductLanguage_installed:
lea ecx, [ebp - 0xac4]
mov byte [ebp - 4], 0x27
call fcn.00402829
push 0
lea eax, [ebp - 0xac8]
mov byte [ebp - 4], 0x28
push eax
push 2
lea edx, [ebp - 0xac4]
pop ecx
call fcn.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0xac4]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xac8]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.ProductRegistry:
lea ecx, [ebp - 0xad0]
call fcn.00402829
push 0
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0xad0]
push dword [ebp - 0xa44]
push 2
pop ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xad0]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.ProductInstallDir:
lea ecx, [ebp - 0xad4]
call fcn.00402829
push 0
push dword [ebp - 0xb14]
lea edx, [ebp - 0xad4]
mov byte [ebp - 4], 0x2a
push 2
pop ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xad4]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.Manifest_URL:
lea ecx, [ebp - 0xad8]
call fcn.00402829
push 0
push dword [ebp - 0xb18]
lea edx, [ebp - 0xad8]
mov byte [ebp - 4], 0x2b
push 2
pop ecx
call fcn.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0xad8]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov dword [ebp - 0xa44], 1
jmp 0x43e9ee
push str.Could_not_collect_Version_string_for_Product:
lea ecx, [ebp - 0xadc]
call fcn.00402829
lea eax, [ebp - 0xa4c]
mov byte [ebp - 4], 9
xor ecx, ecx
lea edx, [ebp - 0xadc]
push 0
push eax
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0xadc]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xa60]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov edi, dword [ebp - 0xa70]
inc dword [ebp - 0xa80]
test edi, edi
mov edi, dword [ebp - 0xa80]
je 0x43e5f2
cmp dword [ebp - 0xae0], 0xffffffff
jne 0x43e56f
lea ecx, [esi - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa84]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa78]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [ebp - 0xa4c]
add ecx, 0xfffffff0
call fcn.00402e64
mov ecx, dword [ebp - 0xa88]
add ecx, 0xfffffff0
call fcn.00402e64
mov eax, dword [ebp - 0xa44]
call fcn.0046c3f6
ret 8