Function at 0x41b658
Capabilities:
Delete file

Disassembly:
push ebp
sub esp, 0x50
push 0x1e0
mov eax, 0x47fc22
call fcn.00460309
mov dword [ebp - 0x4c], ecx
xor edi, edi
mov dword [ebp + 0x4c], edi
mov dword [ebp - 4], edi
mov byte [ebp + 0x53], 1
call fcn.0043deb6
push eax
lea ecx, [ebp + 0x18]
call fcn.0042debc
mov byte [ebp - 4], 1
call fcn.0043deb6
push eax
lea ecx, [ebp - 0xe0]
call fcn.0042debc
push edi
mov byte [ebp - 4], 2
call fcn.00462106
push eax
call fcn.00462fc9
pop ecx
pop ecx
call fcn.00462fdb
push 0x64
pop ecx
cdq
idiv ecx
mov esi, str.name
push esi
lea ecx, [ebp - 0x90]
inc edx
mov dword [ebp + 0xc], edx
call fcn.0040c87f
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x74]
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 3
mov dword [ebp + 0x4c], 1
call fcn.00406cf4
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
lea ecx, [ebp + 0x28]
push ecx
mov ecx, eax
call fcn.00405320
test al, al
jne 0x419689
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 4
mov dword [ebp + 0x4c], 3
call fcn.00414930
mov ecx, dword [eax]
call fcn.00434879
test al, al
je 0x419689
mov bl, 1
jmp 0x41968b
xor bl, bl
test byte [ebp + 0x4c], 2
je 0x4196a0
and dword [ebp + 0x4c], 0xfffffffd
push edi
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
test byte [ebp + 0x4c], 1
mov dword [ebp - 4], 2
je 0x4196bf
and dword [ebp + 0x4c], 0xfffffffe
push edi
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x419728
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 5
call fcn.00414930
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [eax]
call fcn.00434c37
push 8
pop edi
mov byte [ebp - 4], 6
cmp dword [eax + 0x18], edi
jb 0x4196fb
mov eax, dword [eax + 4]
jmp 0x4196fe
add eax, 4
push eax
lea ecx, [ebp + 0x18]
call fcn.00408259
push 0
push 1
lea ecx, [ebp - 0x134]
call fcn.004072ee
push 0
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 2
call fcn.004072ee
jmp 0x41972b
push 8
pop edi
mov esi, str.admin_required
push esi
lea ecx, [ebp - 0x90]
call fcn.0040c87f
or dword [ebp + 0x4c], 4
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x74]
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 7
call fcn.00406cf4
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
lea ecx, [ebp + 0x28]
push ecx
mov ecx, eax
call fcn.00405320
test al, al
jne 0x41979f
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], edi
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], edi
call fcn.00414930
mov ecx, dword [eax]
call fcn.00434879
test al, al
je 0x41979f
mov bl, 1
jmp 0x4197a1
xor bl, bl
test byte [ebp + 0x4c], 8
je 0x4197b7
and dword [ebp + 0x4c], 0xfffffff7
push 0
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
test byte [ebp + 0x4c], 4
mov dword [ebp - 4], 2
je 0x4197d7
and dword [ebp + 0x4c], 0xfffffffb
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x41989a
call fcn.0043deb6
push eax
lea ecx, [ebp + 0x34]
call fcn.0042debc
push esi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 9
call fcn.0040c87f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0xa
call fcn.00414930
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [eax]
call fcn.00434c37
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x18], edi
jb 0x419826
mov eax, dword [eax + 4]
jmp 0x419829
add eax, 4
push eax
lea ecx, [ebp + 0x34]
call fcn.00408259
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x134]
call fcn.004072ee
push esi
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 9
call fcn.004072ee
push esi
push 0x4893bc
lea ecx, [ebp + 0x34]
call fcn.0040364d
cmp eax, 0xffffffff
setg al
test al, al
je 0x419885
cmp byte [0x4b1732], 0
jne 0x419885
push str.Admin_required__not_local_admin
push dword [ebp + 0x7c]
mov byte [ebp + 0x53], 0
call fcn.00425808
pop ecx
pop ecx
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.00401240
cmp byte [ebp + 0x53], 0
je 0x419913
mov esi, str.nonadmin_required
push esi
lea ecx, [ebp - 0x90]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x10
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x74]
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0xc
call fcn.00406cf4
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
lea ecx, [ebp + 0x28]
push ecx
mov ecx, eax
call fcn.00405320
test al, al
jne 0x419918
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x20
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 0xd
call fcn.00414930
mov ecx, dword [eax]
call fcn.00434879
test al, al
je 0x419918
mov bl, 1
jmp 0x41991a
mov esi, str.nonadmin_required
xor bl, bl
test byte [ebp + 0x4c], 0x20
je 0x419930
and dword [ebp + 0x4c], 0xffffffdf
push 0
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
test byte [ebp + 0x4c], 0x10
mov dword [ebp - 4], 2
je 0x419950
and dword [ebp + 0x4c], 0xffffffef
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x419a0d
call fcn.0043deb6
push eax
lea ecx, [ebp + 0x34]
call fcn.0042debc
push esi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xe
call fcn.0040c87f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0xf
call fcn.00414930
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [eax]
call fcn.00434c37
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x18], edi
jb 0x41999f
mov eax, dword [eax + 4]
jmp 0x4199a2
add eax, 4
push eax
lea ecx, [ebp + 0x34]
call fcn.00408259
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x134]
call fcn.004072ee
push esi
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xe
call fcn.004072ee
push esi
push 0x4893bc
lea ecx, [ebp + 0x34]
call fcn.0040364d
cmp eax, 0xffffffff
setg al
test al, al
je 0x4199fe
cmp byte [0x4b1732], 0
je 0x4199fe
push str.Non_admin_required__is_admin
push dword [ebp + 0x7c]
mov byte [ebp + 0x53], 0
call fcn.00425808
pop ecx
pop ecx
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.00401240
cmp byte [ebp + 0x53], 0
je 0x419a43
push 0
push str.lesstab
lea ecx, [ebp + 0x18]
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x419a43
cmp byte [0x4b1732], 0
jne 0x419a43
push str.Offer_has_lesstab_in_it__not_admin
push dword [ebp + 0x7c]
mov byte [ebp + 0x53], 0
call fcn.00425808
pop ecx
pop ecx
push str.brand_whitelist
sub esp, 0x20
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.00411fcb
lea eax, [ebp - 0x70]
push eax
call fcn.0042964a
add esp, 0x28
xor edi, edi
cmp byte [ebp + 0x53], 0
mov byte [ebp - 4], 0x11
je 0x419ae2
mov eax, dword [ebp - 0x70]
cmp dword [eax - 0xc], edi
jle 0x419ae2
push ecx
lea eax, [ebp - 0x70]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00428d60
pop ecx
test al, al
jne 0x419ae2
push dword [ebp - 0x70]
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
push str.Premium_Installer
call fcn.00404279
lea eax, [ebp + 0x24]
push edi
push eax
call fcn.00427627
add esp, 0xc
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.00403890
push dword [eax]
push str.The_brand___s__not_in_whitelist:___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x24]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x11
call fcn.00401240
mov byte [ebp + 0x53], 0
push str.brand_blacklist
sub esp, 0x20
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.00411fcb
lea eax, [ebp - 0x74]
push eax
call fcn.0042964a
add esp, 0x28
cmp byte [ebp + 0x53], 0
mov byte [ebp - 4], 0x13
je 0x419b7f
mov eax, dword [ebp - 0x74]
cmp dword [eax - 0xc], edi
jle 0x419b7f
push ecx
lea eax, [ebp - 0x74]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00428efb
pop ecx
test al, al
je 0x419b7f
push dword [ebp - 0x74]
push ecx
mov ecx, esp
mov dword [ebp + 0x1c], esp
push str.Premium_Installer
call fcn.00404279
lea eax, [ebp + 0x24]
push edi
push eax
call fcn.00427627
add esp, 0xc
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.00403890
push dword [eax]
push str.The_brand___s__in_blacklist:___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x24]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x13
call fcn.00401240
mov byte [ebp + 0x53], 0
push str.adprovider_whitelist
sub esp, 0x20
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.00411fcb
lea eax, [ebp - 0x60]
push eax
call fcn.0042964a
add esp, 0x28
cmp byte [ebp + 0x53], 0
mov byte [ebp - 4], 0x15
je 0x419c0f
mov eax, dword [ebp - 0x60]
cmp dword [eax - 0xc], edi
jle 0x419c0f
push ecx
lea eax, [ebp - 0x60]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00429096
pop ecx
test al, al
jne 0x419c0f
lea eax, [ebp + 0x24]
push 0x9c
push eax
call fcn.00425b7d
pop ecx
pop ecx
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.00403890
push dword [ebp - 0x60]
push dword [eax]
push str.The_adprovider___s__not_in_whitelist:___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x24]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x15
call fcn.00401240
mov byte [ebp + 0x53], 0
push str.adprovider_blacklist
sub esp, 0x20
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.00411fcb
lea eax, [ebp - 0x6c]
push eax
call fcn.0042964a
add esp, 0x28
cmp byte [ebp + 0x53], 0
mov byte [ebp - 4], 0x17
je 0x419c9f
mov eax, dword [ebp - 0x6c]
cmp dword [eax - 0xc], edi
jle 0x419c9f
push ecx
lea eax, [ebp - 0x6c]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00429224
pop ecx
test al, al
je 0x419c9f
lea eax, [ebp + 0x24]
push 0x9c
push eax
call fcn.00425b7d
pop ecx
pop ecx
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.00403890
push dword [ebp - 0x6c]
push dword [eax]
push str.The_adprovider___s__in_blacklist:___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x24]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x17
call fcn.00401240
mov byte [ebp + 0x53], 0
push str.source_blacklist
sub esp, 0x20
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.00411fcb
lea eax, [ebp - 0x64]
push eax
call fcn.0042964a
add esp, 0x28
cmp byte [ebp + 0x53], 0
mov byte [ebp - 4], 0x19
je 0x419d2f
mov eax, dword [ebp - 0x64]
cmp dword [eax - 0xc], edi
jle 0x419d2f
push ecx
lea eax, [ebp - 0x64]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.004293b2
pop ecx
test al, al
je 0x419d2f
lea eax, [ebp + 0x24]
push 0x91
push eax
call fcn.00425b7d
pop ecx
pop ecx
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.00403890
push dword [ebp - 0x64]
push dword [eax]
push str.The_source___s__in_blacklist:___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x24]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x19
call fcn.00401240
mov byte [ebp + 0x53], 0
push str.source_whitelist
sub esp, 0x20
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.00411fcb
lea eax, [ebp - 0x68]
push eax
call fcn.0042964a
add esp, 0x28
cmp byte [ebp + 0x53], 0
mov byte [ebp - 4], 0x1b
je 0x419e45
mov eax, dword [ebp - 0x68]
cmp dword [eax - 0xc], edi
jle 0x419dc3
push ecx
lea eax, [ebp - 0x68]
mov dword [ebp + 0x1c], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00428bd2
pop ecx
test al, al
jne 0x419dc3
lea eax, [ebp + 0x24]
push 0x91
push eax
call fcn.00425b7d
pop ecx
pop ecx
mov ecx, eax
mov byte [ebp - 4], 0x1c
call fcn.00403890
push dword [ebp - 0x68]
push dword [eax]
push str.The_source___s__not_in_whitelist:___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x24]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x1b
call fcn.00401240
mov byte [ebp + 0x53], 0
cmp byte [ebp + 0x53], 0
je 0x419e45
mov esi, 0x4901f8
push esi
lea ecx, [ebp - 0x90]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x40
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x74]
lea ecx, [ebp + 0x28]
mov byte [ebp - 4], 0x1d
call fcn.00406cf4
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
lea ecx, [ebp + 0x28]
push ecx
mov ecx, eax
call fcn.00405320
test al, al
jne 0x419e45
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x80
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 0x1e
call fcn.00414930
mov ecx, dword [eax]
call fcn.0043488b
test al, al
je 0x419e45
mov bl, 1
jmp 0x419e4c
xor bl, bl
mov esi, 0x4901f8
test byte [ebp + 0x4c], 0x80
je 0x419e64
and dword [ebp + 0x4c], 0xffffff7f
push edi
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
test byte [ebp + 0x4c], 0x40
mov dword [ebp - 4], 0x1b
je 0x419e83
and dword [ebp + 0x4c], 0xffffffbf
push edi
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x41ad46
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x1f
call fcn.00414930
lea ecx, [ebp - 0xd8]
push ecx
mov ecx, dword [eax]
call fcn.00434fa5
push edi
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x21
call fcn.004072ee
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xcc]
mov dword [ebp - 0x28], edi
sar eax, 2
test eax, eax
jbe 0x41ad37
mov edi, 0x100
push dword [ebp - 0x28]
lea ecx, [ebp - 0xd8]
call fcn.0040525e
lea ecx, [ebp - 0xb0]
push ecx
mov ecx, dword [eax]
call fcn.0043512a
push str.type
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x22
call fcn.00411fcb
lea eax, [ebp + 0x44]
push eax
call fcn.0042964a
add esp, 0x28
push 0x48f318
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x23
call fcn.00411fcb
lea eax, [ebp + 0x48]
push eax
call fcn.0042964a
add esp, 0x28
push str.name
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x24
call fcn.00411fcb
lea eax, [ebp + 0x40]
push eax
call fcn.0042964a
add esp, 0x28
push 0x48f6c4
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x25
call fcn.00411fcb
lea eax, [ebp - 0x118]
push eax
call fcn.0042964a
add esp, 0x28
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.00403890
push eax
lea ecx, [ebp + 0x24]
call fcn.004036f7
mov ecx, dword [ebp - 0x118]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x28
call fcn.00401240
mov ebx, 0x48a538
push ebx
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00403ad2
mov byte [ebp - 4], 0x29
lea ecx, [ebp + 0x48]
push ecx
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.00403a7b
add esp, 0x18
mov esi, 0x4b18d8
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2a
call fcn.004039fe
mov ecx, dword [ebp - 0xe8]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0xf0]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x28
call fcn.00401240
mov eax, dword [ebp + 0x40]
cmp dword [eax - 0xc], 0
je 0x41a068
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp - 0xec]
push ebx
push eax
call fcn.00403b2a
add esp, 0xc
mov eax, dword [eax]
push dword [eax - 0xc]
mov ecx, esi
push eax
mov byte [ebp - 4], 0x2b
call fcn.004038fe
mov ecx, dword [ebp - 0xec]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x28
call fcn.00401240
mov esi, dword [ebp + 0x24]
cmp dword [esi - 0xc], 0
je 0x41a0ab
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp - 0xe4]
push ebx
push eax
call fcn.00403b2a
add esp, 0xc
mov eax, dword [eax]
push dword [eax - 0xc]
mov ecx, 0x4b18d8
push eax
mov byte [ebp - 4], 0x2c
call fcn.004038fe
mov ecx, dword [ebp - 0xe4]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x28
call fcn.00401240
push str.skip_if_exists
sub esp, 0x20
lea eax, [ebp - 0xb0]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
mov bl, 1
call fcn.00411fcb
lea eax, [ebp + 0x3c]
push eax
call fcn.0042964a
push 0x4893b4
push dword [ebp + 0x3c]
mov byte [ebp - 4], 0x2d
call fcn.0046178c
add esp, 0x30
test eax, eax
jne 0x41a0e9
xor bl, bl
push str.process_whitelist
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a135
push ecx
lea eax, [ebp + 0x48]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00427b18
pop ecx
test al, al
jne 0x41ab7c
push dword [ebp + 0x48]
push str.process___s__not_running
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0xc
mov byte [ebp + 0x53], 0
jmp 0x41acf4
push str.process_blacklist
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a16f
push ecx
lea eax, [ebp + 0x48]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00427b18
pop ecx
test al, al
je 0x41ab7c
push dword [ebp + 0x48]
push str.process___s__running
jmp 0x41a121
push str.service_whitelist
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a1ac
push ecx
lea eax, [ebp + 0x48]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00427c1f
pop ecx
test al, al
jne 0x41ab7c
push dword [ebp + 0x48]
push str.service___s__not_running
jmp 0x41a121
push str.service_blacklist
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a1e9
push ecx
lea eax, [ebp + 0x48]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.00427c1f
pop ecx
test al, al
je 0x41ab7c
push dword [ebp + 0x48]
push str.service___s__running
jmp 0x41a121
push str.registry
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a255
push eax
push eax
push dword [ebp + 0x48]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0042c9e0
add esp, 0x10
cmp eax, 1
je 0x41a240
push edi
push 0
push dword [ebp + 0x48]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0042c9e0
add esp, 0x10
cmp eax, 1
je 0x41a240
test bl, bl
jne 0x41ab7c
push dword [ebp + 0x48]
push str.Registry_key_not_found:___s_
jmp 0x41a121
test bl, bl
je 0x41ab7c
push dword [ebp + 0x48]
push str.Registry_key_found:___s_
jmp 0x41a121
push str.registry_localmachine
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a2c1
push eax
push eax
push dword [ebp + 0x48]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0042c9e0
add esp, 0x10
cmp eax, 1
je 0x41a2ac
push edi
push 0
push dword [ebp + 0x48]
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0042c9e0
add esp, 0x10
cmp eax, 1
je 0x41a2ac
test bl, bl
jne 0x41ab7c
push dword [ebp + 0x48]
push str.Registry_lm_key_not_found:___s_
jmp 0x41a121
test bl, bl
je 0x41ab7c
push dword [ebp + 0x48]
push str.Registry_lm_key_found:___s_
jmp 0x41a121
push str.registry_currentuser
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a32d
push eax
push eax
push dword [ebp + 0x48]
push SysReAllocStringLen
call fcn.0042c9e0
add esp, 0x10
cmp eax, 1
je 0x41a318
push edi
push 0
push dword [ebp + 0x48]
push SysReAllocStringLen
call fcn.0042c9e0
add esp, 0x10
cmp eax, 1
je 0x41a318
test bl, bl
jne 0x41ab7c
push dword [ebp + 0x48]
push str.Registry_cu_key_not_found:___s_
jmp 0x41a121
test bl, bl
je 0x41ab7c
push dword [ebp + 0x48]
push str.Registry_cu_key_found:___s_
jmp 0x41a121
push str.registry_currentuser_key
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a40f
push eax
push dword [ebp + 0x40]
lea eax, [ebp - 0x1c]
push dword [ebp + 0x48]
push SysReAllocStringLen
push eax
call fcn.0042cdc0
push 0
push dword [ebp + 0x40]
lea eax, [ebp + 4]
push dword [ebp + 0x48]
mov byte [ebp - 4], 0x2e
push SysReAllocStringLen
push eax
call fcn.0042cdc0
add esp, 0x28
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x2f
call fcn.00403890
lea ecx, [ebp + 4]
call fcn.00403890
push 0
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41a3cc
test bl, bl
je 0x41a3fc
push esi
push dword [ebp - 0x1c]
push str.Registry_cuk_key___s__found___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 4]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp + 0x53], 0
call fcn.00401240
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
jmp 0x41acef
mov eax, dword [ebp + 4]
cmp dword [eax - 0xc], 0
je 0x41a3f4
push 0
push esi
lea ecx, [ebp + 4]
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41a3fc
test bl, bl
je 0x41a3fc
push esi
push dword [ebp - 0x1c]
push str.Registry_cuk_key_found:___s___n
jmp 0x41a3a7
test bl, bl
je 0x41abdf
mov ecx, dword [ebp + 4]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x1c]
jmp 0x41ab74
push str.registry_localmachine_key
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a4ed
push eax
push dword [ebp + 0x40]
lea eax, [ebp]
push dword [ebp + 0x48]
push reloc.OLEAUT32.dll_SysReAllocString
push eax
call fcn.0042cdc0
push edi
push dword [ebp + 0x40]
lea eax, [ebp + 0x30]
push dword [ebp + 0x48]
mov byte [ebp - 4], 0x30
push reloc.OLEAUT32.dll_SysReAllocString
push eax
call fcn.0042cdc0
add esp, 0x28
lea ecx, [ebp]
mov byte [ebp - 4], 0x31
call fcn.00403890
lea ecx, [ebp + 0x30]
call fcn.00403890
push 0
push esi
lea ecx, [ebp]
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41a4aa
test bl, bl
je 0x41a4da
push esi
push dword [ebp]
push str.Registry_lmk_key___s__found___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x30]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp + 0x53], 0
call fcn.00401240
mov ecx, dword [ebp]
jmp 0x41a3c4
mov eax, dword [ebp + 0x30]
cmp dword [eax - 0xc], 0
je 0x41a4d2
push 0
push esi
lea ecx, [ebp + 0x30]
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41a4da
test bl, bl
je 0x41a4da
push esi
push dword [ebp]
push str.Registry_LMK_key_found:___s___n
jmp 0x41a488
test bl, bl
je 0x41abed
mov ecx, dword [ebp + 0x30]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp]
jmp 0x41ab74
push str.registry_classesroot
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a559
push eax
push eax
push dword [ebp + 0x48]
push SysReAllocStringLen
call fcn.0042c9e0
add esp, 0x10
cmp eax, 1
je 0x41a544
push edi
push 0
push dword [ebp + 0x48]
push SysReAllocStringLen
call fcn.0042c9e0
add esp, 0x10
cmp eax, 1
je 0x41a544
test bl, bl
jne 0x41ab7c
push dword [ebp + 0x48]
push str.Registry_cr_key_not_found:___s_
jmp 0x41a121
test bl, bl
je 0x41ab7c
push dword [ebp + 0x48]
push str.Registry_cr_key_found:___s_
jmp 0x41a121
push str.upgrade_code
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a5d5
push 0x27
call fcn.0043bdd0
pop ecx
push eax
push 0
push 0
push dword [ebp + 0x48]
call sub.msi.dll_MsiSourceListClearAllA
test eax, eax
je 0x41abfb
cmp eax, 0x103
je 0x41ab7c
cmp eax, 8
je 0x41a5bd
cmp eax, 0x57
je 0x41a5b3
cmp eax, 0x64a
jne 0x41ab7c
push dword [ebp + 0x48]
push str.Upgrade_code:_Corrupt_config:___s_
jmp 0x41a5c5
push dword [ebp + 0x48]
push str.Upgrade_code:_Invalid_parameter:___s_
jmp 0x41a5c5
push dword [ebp + 0x48]
push str.Upgrade_code:_Not_enough_memory:___s_
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0xc
jmp 0x41ab7c
push str.directory
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a61a
lea eax, [ebp + 0x48]
push eax
call fcn.0042527d
lea eax, [ebp + 0x48]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.0042cbf1
pop ecx
test al, al
je 0x41ab7c
push dword [ebp + 0x48]
push str.Directory_found:___s_
jmp 0x41a121
push str.file
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a65f
lea eax, [ebp + 0x48]
push eax
call fcn.0042527d
lea eax, [ebp + 0x48]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
call fcn.004036f7
call fcn.0042ca99
pop ecx
test al, al
je 0x41ab7c
push dword [ebp + 0x48]
push str.File_found:___s_
jmp 0x41a121
push str.file_contents
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a70a
lea eax, [ebp + 0x48]
push eax
call fcn.0042527d
lea ecx, [ebp - 0x18]
mov dword [esp], 0x488c50
call fcn.00404279
push ecx
lea eax, [ebp + 0x48]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x32
call fcn.004036f7
call fcn.0042ca99
pop ecx
test al, al
je 0x41a702
push ecx
lea eax, [ebp + 0x48]
mov dword [ebp + 0x20], esp
mov ecx, esp
push eax
call fcn.004036f7
lea eax, [ebp - 0xdc]
push eax
call fcn.0042868f
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x33
call fcn.004039fe
mov ecx, dword [ebp - 0xdc]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x32
call fcn.00401240
push 0
push esi
lea ecx, [ebp - 0x18]
call fcn.00403890
mov ecx, eax
call fcn.0040364d
cmp eax, 0xffffffff
jg 0x41ac08
mov ecx, dword [ebp - 0x18]
jmp 0x41ab74
push str.browser
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a77a
lea eax, [ebp + 0x14]
push 0x96
push eax
call fcn.00425b7d
pop ecx
pop ecx
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 0x34
call fcn.00403890
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp - 0x24]
call fcn.004036f7
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x35
call fcn.00403890
push 0
push dword [ebp + 0x14]
lea ecx, [ebp - 0x24]
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41ac25
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x14]
jmp 0x41ab74
push str.defaultbrowser
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a89b
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp - 0x20]
call fcn.004036f7
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x36
call fcn.00403890
call fcn.0043deb6
push eax
lea ecx, [ebp + 0x38]
call fcn.0042debc
lea ecx, [ebp - 0x114]
mov eax, 0x400
push ecx
push eax
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x37
mov dword [ebp - 0x114], eax
call fcn.0040779b
push eax
push str.Open
push str..htm
push 2
xor ebx, ebx
push ebx
call dword [sym.imp.SHLWAPI.dll_AssocQueryStringA]
or edi, 0xffffffff
push edi
lea ecx, [ebp + 0x38]
call fcn.004066b5
lea ecx, [ebp + 0x38]
call fcn.00403890
push ebx
push str.yabrowser
lea ecx, [ebp + 0x38]
call fcn.0040364d
cmp eax, edi
lea ecx, [ebp + 0x38]
jle 0x41a81c
push 0x48fe04
jmp 0x41a86c
push ebx
push str.chrome
call fcn.0040364d
cmp eax, edi
lea ecx, [ebp + 0x38]
jle 0x41a835
push 0x48fdf8
jmp 0x41a86c
push ebx
push str.firefox
call fcn.0040364d
cmp eax, edi
lea ecx, [ebp + 0x38]
jle 0x41a84e
push 0x48fdec
jmp 0x41a86c
push ebx
push str.iexplore
call fcn.0040364d
cmp eax, edi
lea ecx, [ebp + 0x38]
jle 0x41a867
push 0x48fddc
jmp 0x41a86c
push 0x48fdd8
call fcn.00403a4b
mov edi, dword [ebp + 0x38]
push 0
push edi
lea ecx, [ebp - 0x20]
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41ac52
lea ecx, [edi - 0x10]
call fcn.00401240
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
jmp 0x41a966
push str.net_version
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a8da
lea eax, [ebp - 0x14]
push eax
call fcn.0042d54a
pop ecx
push 0
push dword [ebp - 0x14]
lea ecx, [ebp + 0x48]
mov byte [ebp - 4], 0x38
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41ac78
mov ecx, dword [ebp - 0x14]
jmp 0x41ab74
push 0x48fdc8
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41a975
lea eax, [ebp - 0xbc]
push eax
call fcn.004258d9
pop ecx
mov ecx, eax
mov byte [ebp - 4], 0x39
call fcn.00403890
push eax
lea ecx, [ebp - 0xb4]
call fcn.004036f7
mov ecx, dword [ebp - 0xbc]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x3b
call fcn.00401240
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp + 0x34]
call fcn.004036f7
mov edi, dword [ebp - 0xb4]
push 0
push edi
lea ecx, [ebp + 0x34]
mov byte [ebp - 4], 0x3c
call fcn.00403890
mov ecx, eax
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41ac9a
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [edi - 0x10]
call fcn.00401240
mov edi, 0x100
jmp 0x41ab7c
push str.nonadmin
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
je 0x41ab7c
push str.homepage_whitelist
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41aa7f
lea ecx, [ebp + 0x48]
call fcn.00403890
push eax
lea ecx, [ebp - 0x54]
call fcn.004036f7
mov eax, dword [0x4b18d0]
cmp dword [eax - 0xc], 0
mov byte [ebp - 4], 0x3d
jne 0x41a9f0
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x20], esp
push 0x96
push eax
call fcn.00425b7d
pop ecx
pop ecx
lea eax, [ebp - 0xb8]
push eax
call fcn.0042a068
add esp, 0xc
or dword [ebp + 0x4c], edi
mov byte [ebp - 4], 0x3e
jmp 0x41a9f5
mov eax, 0x4b18d0
push eax
lea ecx, [ebp - 0x48]
call fcn.004036f7
mov dword [ebp - 4], 0x40
test dword [ebp + 0x4c], edi
je 0x41aa1f
mov ecx, dword [ebp - 0xb8]
and dword [ebp + 0x4c], 0xfffffeff
add ecx, 0xfffffff0
call fcn.00401240
push ecx
mov ecx, esp
mov dword [ebp + 0x20], esp
push str.Homepage_Whitelist
call fcn.00404279
push ecx
lea eax, [ebp - 0x54]
mov ecx, esp
mov dword [ebp - 0x58], esp
push eax
mov byte [ebp - 4], 0x41
call fcn.0040373f
push ecx
lea eax, [ebp - 0x48]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x42
call fcn.0040373f
mov byte [ebp - 4], 0x40
call fcn.00428a26
add esp, 0xc
mov byte [ebp + 0x53], al
test al, al
je 0x41acb7
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x54]
jmp 0x41ab74
push str.homepage_blacklist
push dword [ebp + 0x44]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41ab7c
lea ecx, [ebp + 0x48]
call fcn.00403890
push eax
lea ecx, [ebp - 0x50]
call fcn.0040373f
mov eax, dword [0x4b18d0]
cmp dword [eax - 0xc], 0
mov byte [ebp - 4], 0x43
jne 0x41aae4
push 0
push ecx
mov eax, esp
mov dword [ebp + 0x2c], esp
push 0x96
push eax
call fcn.00425b7d
pop ecx
pop ecx
lea eax, [ebp + 0x1c]
push eax
call fcn.0042a068
add esp, 0xc
or dword [ebp + 0x4c], 0x200
mov byte [ebp - 4], 0x44
jmp 0x41aae9
mov eax, 0x4b18d0
push eax
lea ecx, [ebp + 0x10]
call fcn.0040373f
test dword [ebp + 0x4c], 0x200
mov dword [ebp - 4], 0x46
je 0x41ab14
mov ecx, dword [ebp + 0x1c]
and dword [ebp + 0x4c], 0xfffffdff
add ecx, 0xfffffff0
call fcn.00401240
push ecx
mov ecx, esp
mov dword [ebp + 0x2c], esp
push str.Homepage_Blacklist
call fcn.00404279
push ecx
lea eax, [ebp - 0x50]
mov ecx, esp
mov dword [ebp - 0x58], esp
push eax
mov byte [ebp - 4], 0x47
call fcn.0040373f
push ecx
lea eax, [ebp + 0x10]
mov ecx, esp
mov dword [ebp + 0x20], esp
push eax
mov byte [ebp - 4], 0x48
call fcn.0040373f
mov byte [ebp - 4], 0x46
call fcn.00428a26
add esp, 0xc
test al, al
sete byte [ebp + 0x53]
cmp byte [ebp + 0x53], 0
je 0x41accd
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x3c]
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [esi - 0x10]
call fcn.00401240
mov ecx, dword [ebp + 0x40]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x48]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x44]
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x21
call fcn.0041156b
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xcc]
inc dword [ebp - 0x28]
sar eax, 2
cmp dword [ebp - 0x28], eax
jb 0x419ee0
jmp 0x41ad37
push esi
push dword [ebp - 0x1c]
push str.Registry_cuk_key___s__not_found___s_
jmp 0x41a3a7
push esi
push dword [ebp]
push str.Registry_lmk_key___s__not_found___s_
jmp 0x41a488
push dword [ebp + 0x48]
push str.Upgrade_code_found:___s_
jmp 0x41a121
push esi
push str.File_Contents_found:___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov byte [ebp + 0x53], 0
jmp 0x41a3c4
push dword [ebp + 0x48]
push dword [ebp + 0x14]
push str.Current_browser:_found___s__need___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp - 0x24]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp + 0x53], 0
call fcn.00401240
mov ecx, dword [ebp + 0x14]
jmp 0x41a3c4
mov ebx, dword [ebp - 0x20]
push ebx
push edi
push str.Default_browser:_found___s___need___s_
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0x10
lea ecx, [edi - 0x10]
mov byte [ebp + 0x53], 0
call fcn.00401240
lea ecx, [ebx - 0x10]
jmp 0x41acef
push dword [ebp + 0x48]
push dword [ebp - 0x14]
push str.Incompatible_.NET_version:_found___s__need___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov byte [ebp + 0x53], 0
jmp 0x41a3c4
push dword [ebp + 0x34]
push edi
push str.Incompatible_OS:_found___s___need___s_
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x34]
add esp, 0x10
mov byte [ebp + 0x53], 0
jmp 0x41ace4
mov edi, dword [ebp - 0x54]
push edi
push str.Homepage_not_in_whitelist__s
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp - 0x48]
jmp 0x41ace1
mov edi, dword [ebp - 0x50]
push edi
push str.Homepage_in_blacklist__s
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x10]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [edi - 0x10]
call fcn.00401240
mov ecx, dword [ebp + 0x3c]
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [esi - 0x10]
call fcn.00401240
mov ecx, dword [ebp + 0x40]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x48]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x44]
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x21
call fcn.0041156b
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x1b
call fcn.00407dcc
cmp byte [ebp + 0x53], 0
je 0x41afc2
sub esp, 0x20
lea eax, [ebp + 0x5c]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0041241f
mov ecx, dword [ebp - 0x4c]
call fcn.00414b19
lea ecx, [ebp - 0x90]
test al, al
je 0x41ae45
mov esi, str.bundlescreen_offer_visibility_threshold
push esi
call fcn.0040c87f
lea eax, [ebp + 0x28]
mov edi, 0x400
or dword [ebp + 0x4c], edi
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x49
call fcn.00407dde
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
mov ecx, eax
call fcn.00405e0e
test al, al
je 0x41adeb
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x800
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 0x4a
call fcn.00414930
mov ecx, dword [eax]
call fcn.00434882
test al, al
je 0x41adeb
mov bl, 1
jmp 0x41aded
xor bl, bl
test dword [ebp + 0x4c], 0x800
je 0x41ae09
and dword [ebp + 0x4c], 0xfffff7ff
push 0
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
mov dword [ebp - 4], 0x1b
test dword [ebp + 0x4c], edi
je 0x41ae2b
and dword [ebp + 0x4c], 0xfffffbff
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x41af59
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
mov byte [ebp - 4], 0x4b
jmp 0x41af0a
mov esi, str.offer_visibility_threshold
push esi
call fcn.0040c87f
lea eax, [ebp + 0x28]
mov edi, 0x1000
or dword [ebp + 0x4c], edi
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x4c
call fcn.00407dde
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
mov ecx, eax
call fcn.00405e0e
test al, al
je 0x41aeb9
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x2000
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 0x4d
call fcn.00414930
mov ecx, dword [eax]
call fcn.00434882
test al, al
je 0x41aeb9
mov bl, 1
jmp 0x41aebb
xor bl, bl
test dword [ebp + 0x4c], 0x2000
je 0x41aed7
and dword [ebp + 0x4c], 0xffffdfff
push 0
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
mov dword [ebp - 4], 0x1b
test dword [ebp + 0x4c], edi
je 0x41aef9
and dword [ebp + 0x4c], 0xffffefff
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x41af59
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00414930
mov ecx, dword [eax]
call fcn.0043489d
call fcn.00462e30
push 0
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1b
mov esi, eax
call fcn.004072ee
cmp esi, 0xffffffff
jle 0x41af59
cmp dword [ebp + 0xc], esi
jle 0x41af59
push esi
push dword [ebp + 0xc]
push dword [ebp + 0x18]
push str.offerName___s__threshold___lu__VisibleThreshold___lu_
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0x14
mov byte [ebp + 0x53], 0
cmp byte [ebp + 0x53], 0
je 0x41afc2
cmp byte [0x4b18ab], 0
jne 0x41afc2
push dword [0x4b18f0]
lea ecx, [ebp + 0x18]
call fcn.004033ca
test eax, eax
jne 0x41afc2
mov ebx, dword [ebp - 0x4c]
xor esi, esi
cmp dword [ebx + 0xc10], esi
mov byte [ebp + 0x53], al
jle 0x41afb3
lea edi, [ebx + 0xc08]
push dword [ebp + 0x18]
mov ecx, edi
push esi
call fcn.00436fab
mov ecx, eax
call fcn.004033ca
test eax, eax
je 0x41b094
inc esi
cmp esi, dword [ebx + 0xc10]
jl 0x41af90
push 0x488c50
mov ecx, 0x4b18f0
call fcn.00403d57
mov eax, dword [0x4b18f0]
xor edi, edi
cmp dword [eax - 0xc], edi
jle 0x41b00d
push edi
push str._optin
lea ecx, [ebp + 0x18]
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41b00d
push dword [0x4b18f0]
lea ecx, [ebp + 0x18]
call fcn.004033ca
test eax, eax
je 0x41b00d
push dword [0x4b18f0]
push str.OptIn_offer___s__does_not_match_offer
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0xc
mov byte [ebp + 0x53], 0
mov eax, dword [0x4b18f0]
mov esi, str.is_optin
cmp dword [eax - 0xc], edi
jne 0x41b0cb
push esi
lea ecx, [ebp - 0x90]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x4000
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x4f
call fcn.00407dde
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
mov ecx, eax
call fcn.00405e0e
test al, al
je 0x41b0cb
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x8000
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 0x50
call fcn.00414930
mov ecx, dword [eax]
call fcn.00434879
test al, al
je 0x41b0cb
mov bl, 1
jmp 0x41b0cd
push esi
mov ecx, edi
mov byte [ebp + 0x53], 1
mov byte [0x4b18ad], 1
mov byte [0x4b18ab], 1
call fcn.00436fab
push 1
push dword [ebp + 0x18]
push dword [eax]
push esi
push str.m_offerNames.GetAt__lu____s__offerName___s__blnShouldShowOffer___lu_
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0x18
jmp 0x41afc2
xor bl, bl
test dword [ebp + 0x4c], 0x8000
je 0x41b0e8
and dword [ebp + 0x4c], 0xffff7fff
push edi
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
test dword [ebp + 0x4c], 0x4000
mov dword [ebp - 4], 0x1b
je 0x41b10d
and dword [ebp + 0x4c], 0xffffbfff
push edi
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x41b1a7
lea ecx, [ebp + 0xc]
call fcn.004036e3
push esi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x51
call fcn.0040c87f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x52
call fcn.00414930
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [eax]
call fcn.00434c37
mov ecx, eax
mov byte [ebp - 4], 0x53
call fcn.00405e00
push eax
lea ecx, [ebp + 0xc]
call fcn.00408259
push edi
push 1
lea ecx, [ebp - 0x134]
call fcn.004072ee
push edi
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x51
call fcn.004072ee
mov esi, dword [ebp + 0xc]
push 0x4893bc
push esi
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41b19b
lea eax, [ebp + 0x18]
push eax
mov ecx, 0x4b18f0
call fcn.00403ba0
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0x1b
call fcn.00401240
cmp byte [ebp + 0x53], 0
je 0x41b295
mov edi, dword [ebp - 0x4c]
xor ebx, ebx
cmp dword [edi + 0xc2c], ebx
jle 0x41b214
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp + 0x10]
call fcn.0040373f
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x54
call fcn.00403890
push ebx
lea eax, [ebp + 0x10]
lea esi, [edi + 0xc20]
push eax
mov ecx, esi
call fcn.00406ed4
test eax, eax
jne 0x41b20c
sub esp, 0x1c
push 7
pop ecx
mov edi, esp
push dword [ebp + 0x18]
mov byte [ebp + 0x53], al
push str.__s__not_found_in_whitelist___s_
push dword [ebp + 0x7c]
rep movsd dword es:[edi], dword [esi]
call fcn.00425808
add esp, 0x28
mov ecx, dword [ebp + 0x10]
jmp 0x41b447
mov esi, str.whitelist
push esi
lea ecx, [ebp - 0x90]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x10000
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x55
call fcn.00407dde
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
mov ecx, eax
call fcn.00405e0e
test al, al
je 0x41b29a
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x20000
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 0x56
call fcn.00414930
mov ecx, dword [eax]
call fcn.00434879
test al, al
je 0x41b29a
cmp dword [edi + 0xc2c], ebx
jne 0x41b29a
mov bl, 1
jmp 0x41b29c
mov esi, str.whitelist
xor bl, bl
test dword [ebp + 0x4c], 0x20000
je 0x41b2b8
and dword [ebp + 0x4c], 0xfffdffff
push 0
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
test dword [ebp + 0x4c], 0x10000
mov dword [ebp - 4], 0x1b
je 0x41b2de
and dword [ebp + 0x4c], 0xfffeffff
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x41b453
lea ecx, [ebp + 0x30]
call fcn.004036e3
push esi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x57
call fcn.0040c87f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x58
call fcn.00414930
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [eax]
call fcn.00434c37
mov ecx, eax
mov byte [ebp - 4], 0x59
call fcn.00405e00
push eax
lea ecx, [ebp + 0x30]
call fcn.00408259
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x134]
call fcn.004072ee
push esi
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x57
call fcn.004072ee
mov eax, dword [ebp + 0x30]
cmp dword [eax - 0xc], esi
je 0x41b444
push 0
mov esi, 0x48faa8
push esi
lea ecx, [ebp + 0x30]
xor bl, bl
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41b37f
push 0x488c50
push esi
lea ecx, [ebp + 0x30]
inc bl
call fcn.00407be0
push ecx
lea eax, [ebp + 0x30]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0040373f
mov edi, dword [ebp - 0x4c]
mov ecx, edi
call fcn.0040e1d8
mov eax, dword [edi + 0xc10]
test eax, eax
jle 0x41b444
test bl, bl
jne 0x41b444
xor esi, esi
test eax, eax
jle 0x41b444
test esi, esi
jle 0x41b401
push esi
lea ecx, [edi + 0xc08]
call fcn.00436fab
push eax
lea ecx, [ebp + 0x34]
call fcn.0040373f
lea ecx, [ebp + 0x34]
mov byte [ebp - 4], 0x5a
call fcn.00403890
push 0
lea eax, [ebp + 0x34]
push eax
lea ecx, [edi + 0xc20]
call fcn.00406ed4
test eax, eax
je 0x41b40c
mov ecx, dword [ebp + 0x34]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x57
call fcn.00401240
inc esi
cmp esi, dword [edi + 0xc10]
jl 0x41b3b8
jmp 0x41b444
lea ecx, [edi + 0xc20]
call fcn.0040805a
push esi
lea ecx, [edi + 0xc08]
mov byte [ebp + 0x53], 0
call fcn.00436fab
push dword [eax]
push str.__s__not_found_in_offer_whitelist
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0x34]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x30]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x1b
call fcn.00401240
lea eax, [ebp - 0xc0]
push 0x9a
push eax
call fcn.00425b7d
pop ecx
pop ecx
mov byte [ebp - 4], 0x5b
call fcn.0042ba22
test al, al
jne 0x41b47c
call fcn.0042ba93
test al, al
je 0x41b497
push 0
push str.test
lea ecx, [ebp - 0xc0]
call fcn.0040364d
cmp eax, 0xffffffff
jg 0x41b497
mov al, 1
jmp 0x41b499
xor al, al
cmp byte [ebp + 0x53], 0
je 0x41b51c
test al, al
je 0x41b51c
mov esi, str.checkboxes
push esi
lea ecx, [ebp - 0x90]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x40000
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x5c
call fcn.00407dde
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
mov ecx, eax
call fcn.00405e0e
test al, al
je 0x41b521
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x80000
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 0x5d
call fcn.00414930
mov ecx, dword [eax]
call fcn.0043488b
test al, al
je 0x41b521
mov bl, 1
jmp 0x41b523
mov esi, str.checkboxes
xor bl, bl
test dword [ebp + 0x4c], 0x80000
je 0x41b53f
and dword [ebp + 0x4c], 0xfff7ffff
push 0
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
test dword [ebp + 0x4c], 0x40000
mov dword [ebp - 4], 0x5b
je 0x41b565
and dword [ebp + 0x4c], 0xfffbffff
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x41b658
push esi
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x5e
call fcn.0040c87f
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x5f
call fcn.00414930
lea ecx, [ebp - 0xd8]
push ecx
mov ecx, dword [eax]
call fcn.00434fa5
push 0
push 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x61
call fcn.004072ee
xor esi, esi
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xcc]
sar eax, 2
cmp esi, eax
jae 0x41b646
push esi
lea ecx, [ebp - 0xd8]
call fcn.0040525e
lea ecx, [ebp - 0x110]
push ecx
mov ecx, dword [eax]
call fcn.0043512a
push 0x48f7e0
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x62
call fcn.0041241f
lea eax, [ebp + 0xc]
push eax
call fcn.0042964a
add esp, 0x28
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
mov byte [ebp - 4], 0x63
jle 0x41b6db
push dword [ebp + 0x18]
mov byte [ebp + 0x53], 0
push str.Not_showing_bundled_offer___s____VM
push dword [ebp + 0x7c]
call fcn.00425808
mov ecx, dword [ebp + 0xc]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x61
call fcn.0041156b
lea ecx, [ebp - 0xd8]
call fcn.00407dcc
mov dword [ebp - 4], 0x5b
cmp byte [ebp + 0x53], 0
mov esi, 0x48fa24
je 0x41b705
push esi
lea ecx, [ebp - 0x90]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x100000
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x65
call fcn.00407dde
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 0x5c]
call fcn.00409ed4
mov ecx, eax
call fcn.00405e0e
test al, al
je 0x41b705
push esi
lea ecx, [ebp - 0x44]
call fcn.0040c87f
or dword [ebp + 0x4c], 0x200000
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp - 4], 0x66
call fcn.00414930
mov ecx, dword [eax]
call fcn.0043488b
test al, al
je 0x41b705
mov bl, 1
jmp 0x41b707
lea ecx, [eax - 0x10]
call fcn.00401240
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x61
call fcn.0041156b
inc esi
jmp 0x41b5aa
xor bl, bl
xor edi, edi
test dword [ebp + 0x4c], 0x200000
je 0x41b724
and dword [ebp + 0x4c], 0xffdfffff
push edi
push 1
lea ecx, [ebp - 0x44]
call fcn.004072ee
test dword [ebp + 0x4c], 0x100000
mov dword [ebp - 4], 0x5b
je 0x41b749
and dword [ebp + 0x4c], 0xffefffff
push edi
push 1
lea ecx, [ebp - 0x90]
call fcn.004072ee
test bl, bl
je 0x41bf48
push esi
lea ecx, [ebp - 0x150]
call fcn.0040c87f
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp + 0x5c]
mov byte [ebp - 4], 0x67
call fcn.00414930
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, dword [eax]
call fcn.00434fa5
push edi
push 1
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x69
call fcn.004072ee
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x8c]
sar eax, 2
cmp dword [ebp - 0x18], eax
jae 0x41bf43
push dword [ebp - 0x18]
call fcn.0040525e
lea ecx, [ebp - 0x110]
push ecx
mov ecx, dword [eax]
call fcn.0043512a
push str.type
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x6a
call fcn.0041241f
lea eax, [ebp + 4]
push eax
call fcn.0042964a
add esp, 0x28
cmp byte [ebp + 0x53], 0
mov byte [ebp - 4], 0x6b
je 0x41befd
push 0x48fa20
push dword [ebp + 4]
call fcn.0046178c
pop ecx
pop ecx
test eax, eax
jne 0x41befd
push 0x48f618
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0041241f
lea eax, [ebp + 0x30]
push eax
call fcn.0042964a
add esp, 0x28
push str.exe_name
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x6c
call fcn.0041241f
lea eax, [ebp + 0x38]
push eax
call fcn.0042964a
add esp, 0x28
push str.cache_name
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x6d
call fcn.0041241f
lea eax, [ebp - 0x24]
push eax
call fcn.0042964a
add esp, 0x28
push str.exe_switches
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x6e
call fcn.0041241f
lea eax, [ebp - 0x28]
push eax
call fcn.0042964a
add esp, 0x28
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 0x6f
call fcn.0040b1ae
push str.result_code
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0041241f
lea eax, [ebp - 0x54]
push eax
call fcn.0042964a
add esp, 0x28
push str.dot_net_version
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x70
call fcn.0041241f
lea eax, [ebp - 0x48]
push eax
call fcn.0042964a
add esp, 0x28
mov esi, str.exe_wait_time
push esi
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x71
call fcn.0041241f
lea eax, [ebp - 0xb8]
push eax
call fcn.0042964a
add esp, 0x28
mov eax, dword [eax]
cmp dword [eax - 0xc], edi
mov byte [ebp - 4], 0x72
jle 0x41b979
push esi
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0041241f
lea eax, [ebp + 0x1c]
push eax
call fcn.0042964a
push dword [eax]
or dword [ebp + 0x4c], 0x400000
call fcn.00461c7f
add esp, 0x2c
mov dword [ebp + 0xc], eax
jmp 0x41b980
mov dword [ebp + 0xc], 0xbb8
test dword [ebp + 0x4c], 0x400000
je 0x41b99b
mov ecx, dword [ebp + 0x1c]
and dword [ebp + 0x4c], 0xffbfffff
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0xb8]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x71
call fcn.00401240
push str.ok_if_exceeds_wait_time
sub esp, 0x20
lea eax, [ebp - 0x110]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0041241f
lea eax, [ebp + 0x14]
push eax
call fcn.0042964a
add esp, 0x28
or dword [ebp + 0x34], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004036e3
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x74
cmp dword [eax - 0xc], edi
je 0x41ba4f
lea ecx, [ebp - 0x20]
push ecx
mov ecx, dword [0x4b1878]
push eax
call fcn.0040a1e9
test eax, eax
je 0x41ba4f
push ecx
lea eax, [ebp + 0x14]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0040373f
push dword [ebp - 0x54]
call fcn.00461c7f
pop ecx
push eax
push dword [ebp - 0x20]
call fcn.00461c7f
pop ecx
mov ecx, dword [ebp - 0x4c]
push eax
call fcn.004071d4
mov byte [ebp + 0x53], al
test al, al
jne 0x41bea5
push dword [ebp - 0x20]
push dword [ebp + 0x38]
push str.Pre_Install_exe___s__result_failed___s_
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0x10
jmp 0x41bea5
push ecx
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0040373f
mov ecx, dword [0x4b1880]
call fcn.0040aadc
lea eax, [ebp - 0x50]
push eax
call fcn.0042d54a
pop ecx
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x75
call fcn.00405dc6
push eax
lea ecx, [ebp - 0x134]
call fcn.004023de
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x76
call fcn.00405dc6
push eax
lea ecx, [ebp - 0x16c]
call fcn.004023de
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x16c]
push eax
mov byte [ebp - 4], 0x77
call fcn.004288e1
pop ecx
pop ecx
xor esi, esi
push edi
inc esi
push esi
lea ecx, [ebp - 0x16c]
mov bl, al
call fcn.0040190a
push edi
push esi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x75
call fcn.0040190a
test bl, bl
je 0x41bb0e
lea ecx, [ebp - 0x48]
call fcn.00405dc6
push eax
lea ecx, [ebp - 0x50]
call fcn.00405dc6
push eax
push str.Current.Net_version___s__less_than_required___s_
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0x10
mov byte [ebp + 0x53], 0
jmp 0x41be9a
lea eax, [ebp - 0xb4]
push str.TEMPPATH
push eax
call fcn.0042d41c
lea ecx, [ebp + 0x38]
push ecx
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x78
call fcn.00403a7b
add esp, 0x14
mov ecx, dword [ebp - 0xb4]
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x7b
call fcn.0042c466
push edi
push edi
push ecx
lea eax, [ebp + 0x38]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
mov byte [ebp - 4], 0x7c
call fcn.0040373f
push ecx
lea eax, [ebp + 0x30]
mov ecx, esp
mov dword [ebp - 0x58], esp
push eax
mov byte [ebp - 4], 0x7d
call fcn.0040373f
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x7c
call fcn.0042c76a
lea ecx, [ebp + 0x10]
mov bl, al
call fcn.004036e3
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x7e
call fcn.0042c48f
push ecx
push ecx
fstp qword [esp]
push dword [ebp + 0x30]
lea eax, [ebp + 0x10]
push str._s_download_took__.4f_seconds
push eax
call fcn.00403a68
add esp, 0x14
push ecx
lea eax, [ebp + 0x10]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0040373f
push ecx
lea eax, [ebp + 0x18]
mov ecx, esp
mov dword [ebp - 0x58], esp
push eax
mov byte [ebp - 4], 0x7f
call fcn.0040373f
push ecx
mov ecx, esp
mov dword [ebp + 0x20], esp
push str.precheck_download_time
mov byte [ebp - 4], 0x80
call fcn.00404279
mov byte [ebp - 4], 0x7e
mov ecx, dword [0x4b187c]
call fcn.0042c118
test bl, bl
jne 0x41bc60
push ecx
lea eax, [ebp + 0x30]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0040373f
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
push str.i_temp.temp
mov byte [ebp - 4], 0x81
call fcn.00404279
push ecx
mov eax, esp
mov dword [ebp + 0x20], esp
push str._precheck_download_error
lea ecx, [ebp + 0x18]
push ecx
push eax
mov byte [ebp - 4], 0x82
call fcn.00403ad2
add esp, 0xc
mov byte [ebp - 4], 0x7e
call fcn.00425123
add esp, 0xc
push dword [ebp + 0x30]
mov byte [ebp + 0x53], bl
push str.Precheck_EXE_url___s__download_failure
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0xc
jmp 0x41be4d
push 0x4b18bc
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00403a7b
add esp, 0xc
lea ecx, [ebp - 0x28]
push ecx
push eax
lea eax, [ebp + 0x24]
push eax
mov byte [ebp - 4], 0x83
call fcn.00403a7b
add esp, 0xc
mov ecx, dword [ebp - 0xbc]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x85
call fcn.00401240
lea ecx, [ebp + 0xb]
call fcn.0043df2d
push edi
lea eax, [ebp - 0xd0]
push eax
push dword [ebp + 0x24]
lea ecx, [ebp + 0xb]
mov byte [ebp - 4], 0x86
call fcn.00436dc5
push dword [ebp + 0xc]
push dword [ebp - 0xd0]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp + 0x34]
push eax
push dword [ebp - 0xd0]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x41bd3d
mov eax, dword [ebp + 0x14]
cmp dword [eax - 0xc], edi
je 0x41bd21
push edi
push 0x4893bc
lea ecx, [ebp + 0x14]
call fcn.0040364d
cmp eax, 0xffffffff
setg al
test al, al
jne 0x41bdf9
push dword [ebp + 0x38]
push str.EXE___s__exceeded_wait_time
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0xc
mov byte [ebp + 0x53], 0
jmp 0x41bdf9
push dword [ebp + 0x38]
mov byte [ebp + 0x53], 0
push str.EXE___s__exceeded_wait_time
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0xc
jmp 0x41bdf9
push ecx
lea eax, [ebp + 0x14]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0040373f
push dword [ebp - 0x54]
call fcn.00461c7f
pop ecx
mov ecx, dword [ebp - 0x4c]
push eax
push dword [ebp + 0x34]
call fcn.004071d4
mov byte [ebp + 0x53], al
test al, al
jne 0x41bd7e
push dword [ebp + 0x34]
push dword [ebp + 0x38]
push str.Pre_Install_exe___s__result_failed___d_
push dword [ebp + 0x7c]
call fcn.00425808
add esp, 0x10
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], edi
je 0x41bdf9
push esi
push 2
lea ecx, [ebp - 0x1ec]
call fcn.00411593
push dword [ebp + 0x34]
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0x87
call fcn.00411dfb
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0040a9e0
mov ecx, eax
mov byte [ebp - 4], 0x88
call fcn.00401564
push ecx
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.00404279
push dword [ebp - 0x24]
mov ecx, dword [0x4b1878]
call fcn.004149cc
push edi
push esi
lea ecx, [ebp - 0xac]
call fcn.0040190a
lea ecx, [ebp - 0x1ec]
mov byte [ebp - 4], 0x86
call fcn.004071ba
cmp byte [ebp + 0x53], 0
je 0x41be20
lea ecx, [ebp + 0x38]
call fcn.00403890
push edi
push 0x48f850
mov ecx, eax
call fcn.0040364d
cmp eax, 0xffffffff
jle 0x41be20
mov byte [0x4b1956], 1
push dword [ebp - 0xd0]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0xcc]
call esi
lea ecx, [ebp + 0xb]
mov byte [ebp - 4], 0x85
call fcn.00441f9d
mov ecx, dword [ebp + 0x24]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x7b
call fcn.0042c478
mov dword [ebp - 4], 0x7a
push ecx
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp + 0x2c], esp
push eax
call fcn.0040373f
call fcn.0042ca99
pop ecx
test al, al
je 0x41be8d
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401240
xor edi, edi
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x14]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x38]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x30]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 4]
add ecx, 0xfffffff0
call fcn.00401240
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x69
call fcn.0041156b
inc dword [ebp - 0x18]
jmp 0x41b793
call fcn.00407dcc
mov ecx, dword [ebp - 0xc0]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x6c]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp - 0xe0]
add ecx, 0xfffffff0
call fcn.00401240
mov ecx, dword [ebp + 0x18]
add ecx, 0xfffffff0
call fcn.00401240
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x5c]
call fcn.0041156b
mov al, byte [ebp + 0x53]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add ebp, 0x54
leave
ret 0x24