Function at 0x4273f7
Capabilities:
Persist via run registry key

Disassembly:
push 0x5e8
mov eax, 0x4a350b
call fcn.00473d21
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push 1
lea eax, [ebp - 0x5d9]
push eax
xor ebx, ebx
push esi
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x5f4], ebx
call fcn.00411496
mov dword [ebp - 4], ebx
movzx eax, word [esi]
add eax, 0xffffffbf
cmp eax, 0x39
ja case.0x427442.71
movzx eax, byte [eax + 0x42820b]
jmp dword [eax*4 + 0x4281af]
push 0x4b5aac
push esi
call dword [0x4b512c]
test eax, eax
jne 0x427480
mov eax, dword [edi + 0x260]
push ebx
push ebx
push 0x4b6920
mov ecx, edi
mov byte [eax + 2], 1
call fcn.004426f7
mov eax, dword [edi + 0x260]
mov byte [eax + 2], 1
jmp 0x427610
cmp dword [edi + 0xc], 0
jne case.0x427442.71
mov ecx, edi
call fcn.004459cb
test eax, eax
je 0x4274d4
push 1
lea eax, [ebp - 0x5d9]
push eax
push str._This_setup_was_created_with_an_EVALUATION_VERSION_of__s__which_does_not_support_extraction_of_the_internal_MSI_file._The_full_version_of_InstallShield_supports_this_functionality.
lea ecx, [ebp - 0x5a8]
call fcn.00411496
mov byte [ebp - 4], 2
push eax
push 0x86d
push edi
call fcn.00428b5b
add esp, 0xc
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x5a8]
call fcn.00401b80
jmp 0x428196
fldz
lea eax, [ebp - 0x5f0]
push eax
fstp qword [ebp - 0x5f0]
mov ecx, edi
call fcn.004459d6
test eax, eax
je 0x42750c
fld qword [ebp - 0x5f0]
push ecx
push ecx
fstp qword [esp]
push 0x86f
push edi
call fcn.00428ba2
add esp, 0x10
jmp 0x428196
push ebx
push ebx
push 0x4b6a9c
mov ecx, edi
mov dword [edi + 0xc], 1
call fcn.004426f7
push esi
call dword [0x4b54f4]
push 1
lea ecx, [ebp - 0x5d9]
push ecx
push eax
lea ecx, [ebp - 0x3c8]
call fcn.00411496
mov byte [ebp - 4], 6
push ebx
lea eax, [ebp - 0x3c8]
push eax
push 0xe
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x3c8]
call fcn.00401b80
jmp 0x427610
push esi
call dword [0x4b54f4]
push 1
lea ecx, [ebp - 0x5d9]
push ecx
push eax
lea ecx, [ebp - 0x428]
call fcn.00411496
mov byte [ebp - 4], 8
push ebx
lea eax, [ebp - 0x428]
push eax
push 0xc
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x428]
jmp 0x42755b
push 1
mov ecx, edi
call fcn.00446f5b
mov dword [edi + 0x3c], 1
jmp 0x427610
push 1
lea eax, [ebp - 0x5d9]
push eax
push str.debuglog
lea ecx, [ebp - 0x278]
call fcn.00411496
mov byte [ebp - 4], 0xa
push dword [ebp - 0x264]
cmp dword [ebp - 0x260], 8
lea eax, [ebp - 0x274]
cmovae eax, dword [ebp - 0x274]
push ebx
push eax
lea ecx, [ebp - 0x244]
call fcn.00415b0a
mov ebx, eax
neg ebx
sbb bl, bl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x278]
call fcn.00401b80
inc bl
je 0x427618
xor ebx, ebx
inc ebx
jmp 0x428196
push 1
push esi
call dword [0x4b54f4]
push eax
push 0x4b6ab8
jmp 0x428183
push 1
lea eax, [ebp - 0x5d9]
push eax
push str.embed
lea ecx, [ebp - 0x2d8]
call fcn.00411496
mov byte [ebp - 4], 0xd
xor eax, eax
inc eax
mov dword [ebp - 0x5f4], eax
push dword [ebp - 0x2c4]
cmp dword [ebp - 0x2c0], 8
lea eax, [ebp - 0x2d4]
cmovae eax, dword [ebp - 0x2d4]
push ebx
push eax
lea ecx, [ebp - 0x244]
call fcn.00415b0a
test eax, eax
jne 0x4276c3
push 1
lea eax, [ebp - 0x5d9]
push eax
push 0x4b6ad0
lea ecx, [ebp - 0x548]
call fcn.00411496
mov dword [ebp - 4], 0xe
push 3
pop eax
mov dword [ebp - 0x5f4], eax
lea eax, [ebp - 0x548]
push eax
lea ecx, [ebp - 0x248]
call fcn.0042986b
mov byte [ebp - 0x5d9], 1
test al, al
jne 0x4276c9
mov byte [ebp - 0x5d9], bl
push 0xd
pop ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x5f4]
test al, 2
je 0x4276f6
and eax, 0xfffffffd
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 4], ecx
lea ecx, [ebp - 0x548]
call fcn.00401b80
mov eax, dword [ebp - 0x5f4]
mov dword [ebp - 4], ebx
test al, 1
je 0x427714
and eax, 0xfffffffe
mov dword [ebp - 0x5f4], eax
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x2d8]
call fcn.00401b80
cmp byte [ebp - 0x5d9], 0
je 0x427750
push 0xffffffffffffffff
push 5
lea eax, [ebp - 0x5d8]
push eax
lea ecx, [ebp - 0x248]
call fcn.00417143
mov byte [ebp - 4], 0x11
push ebx
push eax
push 0x10
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x5d8]
jmp 0x42755b
push esi
call dword [0x4b54f4]
mov esi, eax
push 0x4b6ad4
push esi
call dword [0x4b5128]
test eax, eax
je 0x42777b
push esi
mov esi, 0x4f1f18
push esi
call dword [0x4b52fc]
jmp 0x427830
mov dword [ebp - 0x5e8], ebx
mov dword [ebp - 0x5e4], ebx
mov dword [ebp - 0x5e0], ebx
mov byte [ebp - 4], 0x13
push 0x2001f
push str.SoftwareMicrosoftWindowsCurrentVersion
push 0x80000002
lea ecx, [ebp - 0x5e8]
call fcn.004018f0
test eax, eax
jne 0x428104
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.00474cd0
add esp, 0xc
lea eax, [ebp - 0x5ec]
push eax
lea eax, [ebp - 0x218]
push eax
push esi
lea ecx, [ebp - 0x5e8]
mov dword [ebp - 0x5ec], 0x104
call fcn.004019e0
lea eax, [ebp - 0x218]
push eax
push 0x4f1f18
call dword [0x4b52fc]
push esi
push dword [ebp - 0x5e8]
call dword [0x4b5034]
lea ecx, [ebp - 0x5e8]
call fcn.004018c0
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x5e8]
call fcn.004018c0
mov esi, 0x4f1f18
push esi
call fcn.00450d0a
mov dword [edi + 0x3c], 1
cmp dword [0x4f1e08], 8
mov eax, 0x4f1df4
cmovae eax, dword [0x4f1df4]
push eax
push esi
push 0x4f1570
call fcn.0044f2d3
push 1
lea eax, [ebp - 0x5d9]
push eax
push 0x4cb558
lea ecx, [ebp - 0x4e8]
call fcn.00402ca0
mov byte [ebp - 4], 0x15
push 1
lea eax, [ebp - 0x5d9]
push eax
push dword [0x4b590c]
lea ecx, [ebp - 0x488]
call fcn.00402ca0
mov byte [ebp - 4], 0x16
push 1
lea eax, [ebp - 0x5d9]
push eax
push dword [0x4b5908]
lea ecx, [ebp - 0x338]
call fcn.00402ca0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x4e8]
push eax
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x338]
push eax
push 5
mov ecx, edi
call fcn.0041c2bf
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x338]
call fcn.00401ac0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x488]
call fcn.00401ac0
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4e8]
call fcn.00401ac0
push 2
mov ecx, edi
call fcn.00446b0e
jmp 0x427610
push esi
call dword [0x4b54f4]
movzx eax, word [eax]
sub eax, 0x31
je 0x42796f
dec eax
je 0x427957
dec eax
je 0x427937
push ebx
push esi
mov esi, dword [0x4b54f4]
call esi
push eax
push 0x4b6b44
jmp 0x428183
push esi
mov esi, dword [0x4b54f4]
mov byte [edi + 0x25c], 1
call esi
push eax
call esi
push eax
mov ecx, edi
call fcn.00446e11
jmp 0x427610
push ebx
push esi
mov esi, dword [0x4b54f4]
call esi
push eax
call esi
push eax
push 0x4b6b3c
jmp 0x428183
push ebx
push esi
mov esi, dword [0x4b54f4]
call esi
push eax
call esi
push eax
push 0x4b6894
mov ecx, edi
call fcn.004426f7
mov dword [edi + 0x40], 1
jmp 0x427610
mov ebx, dword [0x4b512c]
push str.hide_progress
push esi
call ebx
test eax, eax
jne 0x4279ae
mov byte [edi + 0x256], 1
push str.hide_splash
push esi
call ebx
test eax, eax
jne 0x427610
mov byte [edi + 0x257], 1
jmp 0x427610
push 1
lea eax, [ebp - 0x5d9]
push eax
push str.instance
lea ecx, [ebp - 0x2a8]
call fcn.00411496
mov byte [ebp - 4], 0x1b
push dword [ebp - 0x294]
cmp dword [ebp - 0x290], 8
lea eax, [ebp - 0x2a4]
cmovae eax, dword [ebp - 0x2a4]
push ebx
push eax
lea ecx, [ebp - 0x244]
call fcn.00415b0a
mov ebx, eax
neg ebx
sbb bl, bl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2a8]
call fcn.00401b80
inc bl
je 0x427610
push 0xfffffffffffffffd
pop esi
push 0xffffffffffffffff
push 9
lea eax, [ebp - 0x308]
add edi, 0x258
push eax
lea ecx, [ebp - 0x248]
mov dword [edi], esi
call fcn.00417143
mov byte [ebp - 4], 0x1d
push str.default
lea ecx, [ebp - 0x304]
call fcn.0041cdd1
test eax, eax
jne 0x427a69
or dword [edi], 0xffffffff
jmp 0x427a7d
push 0xa
push edi
lea ecx, [ebp - 0x308]
call fcn.004299a8
test al, al
jne 0x427a7d
mov dword [edi], esi
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x308]
jmp 0x42755b
cmp dword [edi + 0xc], 0
jne case.0x427442.71
push esi
mov dword [edi + 0xc], 3
call dword [0x4b54f4]
mov esi, eax
push 1
lea eax, [ebp - 0x5d9]
push eax
push esi
lea ecx, [ebp - 0x368]
call fcn.00411496
mov byte [ebp - 4], 0x20
push ebx
lea eax, [ebp - 0x368]
push eax
push 8
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x368]
call fcn.00401b80
push ebx
push esi
push 0x4b6b70
jmp 0x428183
push edi
lea eax, [ebp - 0x5ec]
push eax
push esi
mov dword [ebp - 0x5ec], ebx
call dword [0x4b54f4]
push eax
call fcn.00428245
add esp, 0xc
test eax, eax
je case.0x427442.71
mov ecx, dword [edi + 0x260]
mov ax, word [ebp - 0x5ec]
mov word [ecx + 0x46], ax
jmp 0x427610
push esi
mov esi, dword [0x4b54f4]
call esi
movzx ecx, word [eax]
push ebx
push eax
sub ecx, 0x31
je 0x427b53
dec ecx
je 0x427b46
push 0x4b6b88
jmp 0x428183
call esi
push eax
push 0x4b6b80
jmp 0x428183
call esi
push eax
push 0x4b6b78
jmp 0x428183
push str.noscript_uninst
push esi
call fcn.004758b5
pop ecx
pop ecx
test eax, eax
jne 0x427b7d
push ebx
push ebx
push str._noscript_uninst
jmp 0x428183
push esi
call dword [0x4b54f4]
push 1
lea ecx, [ebp - 0x5d9]
push ecx
push eax
lea ecx, [ebp - 0x398]
call fcn.00411496
mov byte [ebp - 4], 0x23
push ebx
lea eax, [ebp - 0x398]
push eax
push 5
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x398]
call fcn.00401b80
push 2
mov ecx, edi
call fcn.00446b0e
jmp 0x4275aa
push esi
call dword [0x4b54f4]
push eax
push 0x4f07b0
call dword [0x4b52fc]
jmp 0x427610
mov byte [edi + 0x25d], 1
jmp 0x427610
push str.removeonly
push esi
call dword [0x4b512c]
test eax, eax
jne 0x427c0a
push ebx
push ebx
push str._removeonly
jmp 0x428183
push str.runas
push esi
call fcn.004758b5
pop ecx
pop ecx
test eax, eax
je 0x427610
push str.runfromtemp
push esi
call fcn.004758b5
pop ecx
pop ecx
test eax, eax
je 0x427610
push 6
push str.reboot
push esi
call fcn.00474ded
add esp, 0xc
test eax, eax
je 0x427610
push str.removeasmajorupgrade
push esi
call fcn.004758b5
pop ecx
pop ecx
test eax, eax
je 0x427610
push ebx
push ebx
push 0x4b6c3c
jmp 0x428183
push 0x4b6c44
push esi
call fcn.004758b5
pop ecx
pop ecx
test eax, eax
jne 0x427c8a
push ebx
push ebx
push str._SMS
jmp 0x428183
push str.show_eval_msg
push esi
call fcn.004758b5
pop ecx
pop ecx
test eax, eax
jne 0x427caa
mov eax, dword [edi + 0x260]
mov byte [eax + 0x17], 1
jmp 0x427610
push str.show_beta_msg
push esi
call fcn.004758b5
pop ecx
pop ecx
test eax, eax
jne 0x427cca
mov eax, dword [edi + 0x260]
mov byte [eax + 0x18], 1
jmp 0x427610
push str.show_reboot_msg
push esi
call fcn.004758b5
pop ecx
test eax, eax
mov eax, dword [edi + 0x260]
pop ecx
jne 0x427cea
mov byte [eax + 0x1c], 1
jmp 0x427610
push ebx
push ebx
push 0x4b6c78
mov ecx, edi
mov byte [eax + 1], 1
call fcn.004426f7
mov eax, dword [edi + 0x260]
mov byte [eax + 1], 1
jmp 0x427610
push str.tempdisk1folder
call fcn.00473c34
pop ecx
push eax
push ebx
push str.tempdisk1folder
lea ecx, [ebp - 0x244]
call fcn.00415b0a
test eax, eax
je 0x427610
push esi
call dword [0x4b54f4]
mov esi, eax
push str._IS_T_
push esi
call dword [0x4b5128]
test eax, eax
je 0x427d56
push esi
mov ecx, edi
call fcn.00446ec3
jmp 0x427e0e
mov dword [ebp - 0x5e8], ebx
mov dword [ebp - 0x5e4], ebx
mov dword [ebp - 0x5e0], ebx
mov byte [ebp - 4], 0x25
push 0x2001f
push str.SoftwareMicrosoftWindowsCurrentVersion
push 0x80000002
lea ecx, [ebp - 0x5e8]
call fcn.004018f0
test eax, eax
jne 0x428104
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.00474cd0
add esp, 0xc
lea eax, [ebp - 0x5ec]
push eax
lea eax, [ebp - 0x218]
push eax
push esi
lea ecx, [ebp - 0x5e8]
mov dword [ebp - 0x5ec], 0x104
call fcn.004019e0
lea eax, [ebp - 0x218]
push eax
call fcn.00450d0a
lea eax, [ebp - 0x218]
push eax
mov ecx, edi
call fcn.00446ec3
push esi
push dword [ebp - 0x5e8]
call dword [0x4b5034]
lea ecx, [ebp - 0x5e8]
call fcn.004018c0
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x5e8]
call fcn.004018c0
push 3
jmp 0x427bbe
push esi
call dword [0x4b54f4]
movzx eax, word [eax]
cmp eax, 0x41
je 0x427eee
cmp eax, 0x4d
je 0x427eaa
cmp eax, 0x57
je 0x427e66
cmp eax, 0x61
je 0x427eee
cmp eax, 0x6d
je 0x427eaa
cmp eax, 0x77
je 0x427e66
push str.uninst
push esi
call fcn.004758b5
pop ecx
pop ecx
test eax, eax
jne 0x427610
push ebx
push ebx
push str._uninst
jmp 0x428183
push esi
mov esi, dword [0x4b54f4]
call esi
push eax
call esi
push 1
lea ecx, [ebp - 0x5d9]
push ecx
push eax
lea ecx, [ebp - 0x3f8]
call fcn.00411496
mov byte [ebp - 4], 0x29
push ebx
lea eax, [ebp - 0x3f8]
push eax
push 0xa
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x3f8]
jmp 0x42755b
push esi
mov esi, dword [0x4b54f4]
call esi
push eax
call esi
push 1
lea ecx, [ebp - 0x5d9]
push ecx
push eax
lea ecx, [ebp - 0x458]
call fcn.00411496
mov byte [ebp - 4], 0x2b
push ebx
lea eax, [ebp - 0x458]
push eax
push 0xb
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x458]
jmp 0x42755b
push esi
mov esi, dword [0x4b54f4]
call esi
push eax
call esi
push 1
lea ecx, [ebp - 0x5d9]
push ecx
push eax
lea ecx, [ebp - 0x4b8]
call fcn.00411496
mov byte [ebp - 4], 0x27
push ebx
lea eax, [ebp - 0x4b8]
push eax
push 9
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x4b8]
jmp 0x42755b
mov dword [ebp - 0x5e8], ebx
mov dword [ebp - 0x5e4], ebx
mov dword [ebp - 0x5e0], ebx
mov byte [ebp - 4], 0x2d
push 0x2001f
push str.SoftwareMicrosoftWindowsCurrentVersionRun
push 0x80000002
lea ecx, [ebp - 0x5e8]
call fcn.004018f0
test eax, eax
jne 0x427f82
push str.ISSetup
push dword [ebp - 0x5e8]
call dword [0x4b5034]
lea ecx, [ebp - 0x5e8]
call fcn.004018c0
push 7
push str.verbose
push esi
call fcn.00474ded
add esp, 0xc
test eax, eax
je 0x42811b
push esi
call dword [0x4b54f4]
mov esi, eax
push str._IS_V_
push esi
call dword [0x4b5128]
test eax, eax
je 0x42803b
lea eax, [ebp - 0x5ec]
push eax
lea ecx, [edi + 4]
mov dword [ebp - 0x5ec], 7
call fcn.00418f1e
mov dword [ebp - 0x5ec], eax
cmp dword [eax + 0x14], ebx
je 0x427ffa
push 0x4b5a30
call fcn.00473c34
pop ecx
mov ecx, dword [ebp - 0x5ec]
push eax
push 0x4b5a30
add ecx, 4
call fcn.00420f17
push 1
lea eax, [ebp - 0x5d9]
push eax
push esi
lea ecx, [ebp - 0x578]
call fcn.00411496
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x5ec]
push eax
call fcn.00419282
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x578]
call fcn.00401b80
push 1
push esi
push 0x4b605c
jmp 0x428126
push 0x2001f
push str.SoftwareMicrosoftWindowsCurrentVersion
push 0x80000002
lea ecx, [ebp - 0x5e8]
call fcn.004018f0
test eax, eax
jne 0x428104
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.00474cd0
add esp, 0xc
lea eax, [ebp - 0x5ec]
push eax
lea eax, [ebp - 0x218]
push eax
push esi
lea ecx, [ebp - 0x5e8]
mov dword [ebp - 0x5ec], 0x104
call fcn.004019e0
push esi
push dword [ebp - 0x5e8]
call dword [0x4b5034]
lea ecx, [ebp - 0x5e8]
call fcn.004018c0
push 1
lea eax, [ebp - 0x5d9]
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x518]
call fcn.00411496
mov byte [ebp - 4], 0x30
push ebx
lea eax, [ebp - 0x518]
push eax
push 7
mov ecx, edi
call fcn.0041c26c
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x518]
call fcn.00401b80
lea esi, [ebp - 0x218]
push 1
mov eax, esi
push eax
jmp 0x428031
push edi
call fcn.004287b7
pop ecx
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x5e8]
call fcn.004018c0
jmp 0x428196
push 1
add esi, 0xe
push esi
push str._verbose
mov ecx, edi
call fcn.004426f7
test esi, esi
je 0x428144
push esi
push 0x4ee7b0
mov byte [0x4ee7a4], 1
call dword [0x4b52fc]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x5e8]
call fcn.004018c0
jmp 0x427610
mov dword [edi + 0x34], 1
jmp 0x427610
cmp dword [edi + 0xc], 0
jne case.0x427442.71
mov dword [edi + 0xc], 4
jmp 0x427610
push ebx
push esi
call dword [0x4b54f4]
push eax
push 0x4b6d70
mov ecx, edi
call fcn.004426f7
jmp 0x427610
push edi
call fcn.004287b7
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00401b80
mov eax, ebx
call fcn.00473cd0
ret