Function at 0x411c71
Capabilities:
Check os version

Disassembly:
push 0x194
mov eax, 0x448dfb
call fcn.004329ff
mov edi, ecx
mov dword [ebp - 0x13c], edi
push 0x453708
lea ecx, [ebp - 0x138]
call fcn.0040153f
and dword [ebp - 4], 0
lea ecx, [ebp - 0x140]
call fcn.00408979
mov byte [ebp - 4], 1
mov dword [ebp - 0x130], 0x114
mov ebx, 0x110
push ebx
push 0
lea eax, [ebp - 0x12c]
push eax
call fcn.0042e4c0
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_GetVersionExW]
call esi
cmp dword [ebp - 0x12c], 6
jne 0x411d11
cmp dword [ebp - 0x128], 0
jne 0x411d11
lea eax, [ebp - 0x140]
push eax
push str.VistaMsiUrl
mov ecx, 0x4645f8
call fcn.004223e9
test eax, eax
je 0x411d11
push str.VistaMsiUrl
jmp 0x411dbc
mov dword [ebp - 0x130], 0x114
push ebx
push 0
lea eax, [ebp - 0x12c]
push eax
call fcn.0042e4c0
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
call esi
cmp dword [ebp - 0x12c], 6
jne 0x411d69
cmp dword [ebp - 0x128], 1
jne 0x411d69
lea eax, [ebp - 0x140]
push eax
push 0x453730
mov ecx, 0x4645f8
call fcn.004223e9
test eax, eax
je 0x411d69
push 0x453730
jmp 0x411dbc
mov dword [ebp - 0x130], 0x114
push ebx
push 0
lea eax, [ebp - 0x12c]
push eax
call fcn.0042e4c0
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
call esi
cmp dword [ebp - 0x12c], 6
jne 0x411dc7
cmp dword [ebp - 0x128], 2
jne 0x411dc7
lea eax, [ebp - 0x140]
push eax
mov esi, 0x453740
push esi
mov ecx, 0x4645f8
call fcn.004223e9
test eax, eax
je 0x411dc7
push esi
lea ecx, [ebp - 0x138]
call fcn.00401648
call fcn.0040a389
test al, al
je 0x411df7
lea eax, [ebp - 0x140]
push eax
mov esi, str.x64MsiUrl
push esi
mov ecx, 0x4645f8
call fcn.004223e9
test eax, eax
je 0x411df7
push esi
lea ecx, [ebp - 0x138]
call fcn.00401648
push str.2.2.21642.48889
mov ecx, 0x46455c
call fcn.004024de
test eax, eax
jne 0x411e31
lea eax, [ebp - 0x140]
push eax
mov esi, 0x453750
push esi
mov ecx, 0x4645f8
call fcn.004223e9
test eax, eax
je 0x411e31
push esi
lea ecx, [ebp - 0x138]
call fcn.00401648
mov byte [ebp - 4], 2
or dword [ebp - 0x144], 0xffffffff
or dword [ebp - 0x150], 0xffffffff
and dword [edi + 0x14], 0
push 0x64
pop esi
mov dword [edi + 0x18], esi
push 0x19
mov ebx, 0xbb9
push ebx
push edi
call fcn.00412352
push 0x453764
push dword [ebp - 0x138]
push edi
call fcn.00411129
mov dword [ebp - 0x158], eax
lea ecx, [ebp - 0x168]
call fcn.0041ba49
mov byte [ebp - 4], 3
mov byte [ebp - 4], 4
and dword [ebp - 0x134], 0
lea eax, [ebp - 0x134]
push eax
push 0x44fb18
push 0x4645dc
call fcn.00403f47
cmp dword [ebp - 0x158], 0xffffffff
je 0x411f44
cmp dword [ebp - 0x134], 0
je 0x411f44
and dword [edi + 0x14], 0
mov dword [edi + 0x18], esi
push 0x19
push ebx
push edi
call fcn.00412352
lea ecx, [ebp - 0x134]
call fcn.00408979
mov byte [ebp - 4], 5
cmp dword [0x46454c], 2
jne 0x411eff
lea eax, [ebp - 0x134]
push eax
mov esi, str.AvgUsUrl
push esi
mov ecx, 0x4645f8
call fcn.004223e9
test eax, eax
jne 0x411f23
cmp dword [0x46454c], 1
jne 0x411f35
lea eax, [ebp - 0x134]
push eax
mov esi, str.AvgUrl
push esi
mov ecx, 0x4645f8
call fcn.004223e9
test eax, eax
je 0x411f35
push 0x45376c
push esi
push edi
call fcn.00411129
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x134]
call fcn.004089a3
mov dword [ebp - 4], 3
jmp 0x411f71
mov byte [ebp - 4], 2
call fcn.0041ba5f
lea ecx, [ebp - 0x174]
call fcn.0041ba49
mov byte [ebp - 4], 7
mov byte [ebp - 4], 8
and dword [ebp - 0x148], 0
lea eax, [ebp - 0x148]
push eax
push 0x450218
push 0x4645dc
call fcn.00403f47
cmp dword [ebp - 0x158], 0xffffffff
je 0x41201b
cmp dword [ebp - 0x148], 0
je 0x41201b
push 0x32
pop esi
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x19
push ebx
push edi
call fcn.00412352
lea ecx, [ebp - 0x148]
call fcn.00408979
mov byte [ebp - 4], 9
lea eax, [ebp - 0x148]
push eax
mov ebx, 0x44fd5c
push ebx
mov ecx, 0x4645f8
call fcn.004223e9
test eax, eax
je 0x41200a
push 0x453364
push ebx
push edi
call fcn.00411129
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x148]
call fcn.004089a3
jmp 0x41201e
push 0x32
pop esi
mov dword [ebp - 4], 7
jmp 0x412049
mov byte [ebp - 4], 2
call fcn.0041ba5f
xor eax, eax
cmp dword [ebp - 0x158], 0xffffffff
setne al
mov dword [ebp - 0x134], eax
xor eax, eax
cmp dword [ebp - 0x144], 0xffffffff
setne al
mov dword [ebp - 0x154], eax
xor eax, eax
cmp dword [ebp - 0x150], 0xffffffff
setne al
mov dword [ebp - 0x14c], eax
xor ebx, ebx
cmp dword [ebp - 0x134], ebx
je 0x4120bb
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.00412352
push str..msi
push dword [ebp - 0x158]
push edi
call fcn.00411181
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x180]
call fcn.0041ba49
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x134], ebx
je 0x412107
cmp dword [ebp - 0x154], ebx
je 0x412107
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.00412352
push str..exe
push dword [ebp - 0x144]
push edi
call fcn.00411181
mov dword [ebp - 0x154], eax
mov dword [ebp - 4], 0xb
jmp 0x412132
mov byte [ebp - 4], 2
call fcn.0041ba5f
lea ecx, [ebp - 0x18c]
call fcn.0041ba49
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x134], 0
je 0x412189
cmp dword [ebp - 0x14c], 0
je 0x412189
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.00412352
push str..exe
push dword [ebp - 0x150]
push edi
call fcn.00411181
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0xe
jmp 0x4121b4
mov byte [ebp - 4], 2
call fcn.0041ba5f
xor ebx, ebx
cmp dword [ebp - 0x134], ebx
je 0x4121f2
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.00412352
push 0x453764
push dword [ebp - 0x158]
mov ecx, edi
call fcn.00411335
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x15c]
call fcn.0041ba49
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x134], ebx
je 0x412240
cmp dword [ebp - 0x154], ebx
je 0x412240
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.00412352
push 0x45376c
push dword [ebp - 0x144]
mov ecx, edi
call fcn.00411335
mov dword [ebp - 0x154], eax
mov dword [ebp - 4], 0x11
jmp 0x41226b
mov byte [ebp - 4], 2
call fcn.0041ba5f
lea ecx, [ebp - 0x198]
call fcn.0041ba49
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x134], 0
je 0x4122c4
cmp dword [ebp - 0x14c], 0
je 0x4122c4
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.00412352
push 0x453364
push dword [ebp - 0x150]
mov ecx, edi
call fcn.00411335
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0x14
jmp 0x4122ec
mov byte [ebp - 4], 2
call fcn.0041ba5f
push 0x64
push 0xbbc
push edi
call fcn.00412352
push 0
call fcn.00411b8c
mov dword [ebp - 4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x140]
call fcn.004089a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.004089a3
call fcn.00432a5b
ret