Function at 0x4011f0
Capabilities:
Contain obfuscated stackstrings
Delete registry key
Get installed programs
Parse pe header
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x413f6d
mov eax, dword fs:[0]
push eax
sub esp, 0x1a4
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x1a8]
push eax
push 0x20019
push 0
push str.SoftwareClientsStartMenuInternet
push 0x80000001
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1ac], 0
call esi
mov ebx, eax
lea eax, [ebp - 0x1ac]
push eax
push 0x20019
push 0
push str.SoftwareClientsStartMenuInternet
push 0x80000002
mov dword [ebp - 0x1b0], ebx
call esi
mov edi, eax
mov dword [ebp - 0x19c], edi
test edi, edi
je 0x401288
test ebx, ebx
jne 0x4046ab
mov edx, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
xor eax, eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1a4], 0x64
test ebx, ebx
jne 0x40330c
nop
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1a4]
push ecx
lea ecx, [ebp - 0xd8]
push ecx
push eax
push dword [ebp - 0x1a8]
call edx
test eax, eax
jne 0x4032fa
lea eax, [ebp - 0xd8]
push 0x419e80
push eax
call fcn.0040854a
add esp, 8
test eax, eax
jne 0x40130b
lea eax, [ebp - 0xd8]
push str.Supemium
push eax
call fcn.0040854a
add esp, 8
test eax, eax
je 0x4032d8
push str.CapabilitiesFileAssociations
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x108]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 1
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 2
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 3
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x4013dc
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4013d2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x40143d
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401433
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10c]
cmp ecx, 7
jbe 0x401481
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401477
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 0x110], 0
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x4014e1
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4014d7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x401545
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40153b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str.CapabilitiesStartmenu
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 5
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 6
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 7
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x401616
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40160c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x401677
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40166d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x4016bb
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4016b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x40171c
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401712
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x401780
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401776
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str.CapabilitiesURLAssociations
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 8
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 9
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xa
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0xb
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x401851
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401847
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x4018b2
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4018a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x4018f6
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4018ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x401957
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40194d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x4019bb
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4019b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str.Capabilities
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0xd
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xe
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0xf
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x401a8c
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401a82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x401aed
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401ae3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x401b31
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401b27
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x401b92
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401b88
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x401bf6
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401bec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push 0x419fb8
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x11
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x12
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x13
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x401cc7
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401cbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x401d28
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401d1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x401d6c
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401d62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x401dcd
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401dc3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x401e31
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401e27
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str.InstallInfo
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x15
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x16
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x17
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x401f02
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401ef8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x401f63
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401f59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x401fa7
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401f9d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x402008
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401ffe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x40206c
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402062
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str._shellopencommand
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x19
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x1a
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x1b
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x40213d
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402133
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x40219e
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402194
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x4021e2
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4021d8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x402243
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402239
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x4022a7
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40229d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str._shellopen
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x1d
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x1e
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x1f
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x402378
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40236e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x4023d9
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4023cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x40241d
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402413
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x40247e
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402474
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x4024e2
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4024d8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str._shell
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x21
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x22
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x23
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x4025b3
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4025a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x402614
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40260a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x402658
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40264e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x4026b9
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4026af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x40271d
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402713
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0x24
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x25
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x4027bb
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4027b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x40281c
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402812
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x402880
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402876
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push 0x419fb8
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x27
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x28
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x29
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x402951
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402947
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x4029b2
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4029a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x4029f6
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4029ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x402a57
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402a4d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x402abb
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402ab1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str._shellopencommand
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x2a
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x2b
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x2c
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x2d
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x402b8c
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402b82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x402bed
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402be3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x402c31
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402c27
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x402c92
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402c88
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x402cf6
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402cec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str._shellopen
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x2f
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x30
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x31
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x402dc7
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402dbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x402e28
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402e1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x402e6c
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402e62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x402ecd
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402ec3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x402f31
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402f27
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str._shell
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x32
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x33
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x34
call fcn.00406f90
push ebx
lea eax, [ebp - 0x150]
mov byte [ebp - 4], 0x35
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x403002
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402ff8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x403063
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403059
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x4030a7
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40309d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x403108
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4030fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x40316c
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403162
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x138]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0x36
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x37
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000001
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x40320a
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403200
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x40326b
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403261
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x4032cf
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4032c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov eax, dword [ebp - 0x1a0]
dec eax
jmp 0x4032de
mov eax, dword [ebp - 0x1a0]
mov edx, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
inc eax
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1a4], 0x64
jmp 0x4012b0
mov edx, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov ebx, dword [ebp - 0x1b0]
mov edi, dword [ebp - 0x19c]
xor eax, eax
mov dword [ebp - 0x1a4], 0x64
mov dword [ebp - 0x1a0], eax
test edi, edi
jne 0x404681
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1a4]
push ecx
lea ecx, [ebp - 0xd8]
push ecx
push eax
push dword [ebp - 0x1ac]
call edx
test eax, eax
jne 0x404675
lea eax, [ebp - 0xd8]
push 0x419e80
push eax
call fcn.0040854a
add esp, 8
test eax, eax
jne 0x403381
lea eax, [ebp - 0xd8]
push str.Supemium
push eax
call fcn.0040854a
add esp, 8
test eax, eax
je 0x404653
push str.CapabilitiesFileAssociations
lea ecx, [ebp - 0x168]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x39
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x3a
call fcn.00406f90
push ebx
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 0x3b
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000002
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x403452
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403448
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x4034b3
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4034a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x4034f7
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4034ed
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x403558
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40354e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x4035bc
mov edx, dword [ebp - 0x168]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4035b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str.CapabilitiesStartmenu
lea ecx, [ebp - 0x168]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x3d
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x3e
call fcn.00406f90
push ebx
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 0x3f
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000002
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x40368d
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403683
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x4036ee
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4036e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x403732
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403728
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x403793
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403789
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x4037f7
mov edx, dword [ebp - 0x168]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4037ed
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str.CapabilitiesURLAssociations
lea ecx, [ebp - 0x168]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x40
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x41
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x42
call fcn.00406f90
push ebx
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 0x43
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000002
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x4038c8
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4038be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x403929
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40391f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x40396d
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403963
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x40
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x4039ce
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4039c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x403a32
mov edx, dword [ebp - 0x168]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403a28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push str.Capabilities
lea ecx, [ebp - 0x168]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x44
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x45
call fcn.00406bd0
push edi
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x46
call fcn.00406f90
push ebx
lea eax, [ebp - 0x138]
mov byte [ebp - 4], 0x47
push eax
push dword [ebp - 0x19c]
lea ecx, [ebp - 0xf0]
call fcn.00406f90
cmp dword [ebp - 0xdc], 7
lea eax, [ebp - 0xf0]
cmova eax, dword [ebp - 0xf0]
push eax
push 0x80000002
call esi
mov ecx, dword [ebp - 0xdc]
cmp ecx, 7
jbe 0x403b03
mov edx, dword [ebp - 0xf0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403af9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 7
mov word [ebp - 0xf0], ax
cmp ecx, 7
jbe 0x403b64
mov edx, dword [ebp - 0x138]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403b5a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
mov byte [ebp - 4], 0x45
mov ecx, dword [ebp - 0xf4]
cmp ecx, 7
jbe 0x403ba8
mov edx, dword [ebp - 0x108]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403b9e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 7
mov word [ebp - 0x108], ax
cmp ecx, 7
jbe 0x403c09
mov edx, dword [ebp - 0x120]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403bff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 7
mov word [ebp - 0x120], ax
cmp ecx, 7
jbe 0x403c6d
mov edx, dword [ebp - 0x168]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x403c63
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
push 0x419fb8
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x48
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x49
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0x138]
call fcn.00406e60
push ebx
mov edx, eax
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str.InstallInfo
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x4c
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x4d
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x138]
call fcn.00406e60
push ebx
mov edx, eax
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shellopencommand
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x50
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x51
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x138]
call fcn.00406e60
push ebx
mov edx, eax
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shellopen
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x54
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x55
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x138]
call fcn.00406e60
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x168]
push ebx
mov edx, eax
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shell
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x58
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x59
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x138]
call fcn.00406e60
push ebx
mov edx, eax
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x108]
call fcn.00406bd0
mov edi, eax
push str.SOFTWAREClientsStartMenuInternet_
lea ecx, [ebp - 0x138]
mov dword [ebp - 4], 0x5c
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 4
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push 0x419fb8
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x5f
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x138]
call fcn.00406e60
push ebx
mov edx, eax
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shellopencommand
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x62
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x63
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x138]
call fcn.00406e60
mov byte [ebp - 4], 0x65
push ebx
mov edx, eax
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shellopen
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x66
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x67
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x138]
call fcn.00406e60
push ebx
mov edx, eax
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shell
lea ecx, [ebp - 0xf0]
call fcn.00406bd0
mov ebx, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x6a
push eax
lea ecx, [ebp - 0x120]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x6b
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x138]
call fcn.00406e60
push ebx
mov edx, eax
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 8
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
call fcn.00406b70
lea ecx, [ebp - 0x120]
call fcn.00406b70
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x108]
call fcn.00406bd0
mov edi, eax
push str.SoftwareClasses_
lea ecx, [ebp - 0x138]
mov dword [ebp - 4], 0x6e
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 4
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000002
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push 0x419fb8
lea ecx, [ebp - 0x108]
call fcn.00406bd0
mov edi, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x70
push eax
lea ecx, [ebp - 0x138]
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 4
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000000
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shellopencommand
lea ecx, [ebp - 0x108]
call fcn.00406bd0
mov edi, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x72
push eax
lea ecx, [ebp - 0x138]
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 4
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000000
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shellopen
lea ecx, [ebp - 0x108]
call fcn.00406bd0
mov edi, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x74
push eax
lea ecx, [ebp - 0x138]
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0x168]
call fcn.00406e60
add esp, 4
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000000
call esi
lea ecx, [ebp - 0x168]
call fcn.00406b70
lea ecx, [ebp - 0x138]
call fcn.00406b70
lea ecx, [ebp - 0x108]
mov dword [ebp - 4], 0xffffffff
call fcn.00406b70
push str._shell
lea ecx, [ebp - 0x150]
call fcn.00406bd0
mov edi, eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 0x76
push eax
lea ecx, [ebp - 0x180]
call fcn.00406bd0
push edi
mov edx, eax
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x198]
call fcn.00406e60
add esp, 4
mov ecx, eax
call fcn.00406b60
push eax
push 0x80000000
call esi
lea ecx, [ebp - 0x198]
call fcn.00406b70
mov byte [ebp - 4], 0x76
mov ecx, dword [ebp - 0x16c]
cmp ecx, 7
jbe 0x4045bb
mov edx, dword [ebp - 0x180]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4045b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 7
mov word [ebp - 0x180], ax
cmp ecx, 7
jbe 0x40461f
mov edx, dword [ebp - 0x150]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404615
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4046c7
push ecx
push edx
call fcn.0040732b
add esp, 8
xor eax, eax
mov dword [ebp - 0x140], 0
mov word [ebp - 0x150], ax
lea eax, [ebp - 0xd8]
push eax
push 0x80000000
mov dword [ebp - 0x13c], 7
call esi
mov eax, dword [ebp - 0x1a0]
dec eax
jmp 0x404659
mov eax, dword [ebp - 0x1a0]
mov edx, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
inc eax
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1a4], 0x64
jmp 0x403326
mov ebx, dword [ebp - 0x1b0]
mov edi, dword [ebp - 0x19c]
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallSupermium
push 0x80000002
call esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test ebx, ebx
jne 0x40469f
push dword [ebp - 0x1a8]
call esi
test edi, edi
jne 0x4046ab
push dword [ebp - 0x1ac]
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004072ed
mov esp, ebp
pop ebp
ret
call fcn.0040a93c
int3