Function at 0x411ab3
Capabilities:
Check os version

Disassembly:
push 0x194
mov eax, 0x448c22
call fcn.0043285f
mov edi, ecx
mov dword [ebp - 0x13c], edi
push 0x453690
lea ecx, [ebp - 0x138]
call fcn.0040153f
and dword [ebp - 4], 0
lea ecx, [ebp - 0x140]
call fcn.00401ae0
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.0042e320
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 0x411b53
cmp dword [ebp - 0x128], 0
jne 0x411b53
lea eax, [ebp - 0x140]
push eax
push str.VistaMsiUrl
mov ecx, 0x4645f8
call fcn.004222c2
test eax, eax
je 0x411b53
push str.VistaMsiUrl
jmp 0x411bfe
mov dword [ebp - 0x130], 0x114
push ebx
push 0
lea eax, [ebp - 0x12c]
push eax
call fcn.0042e320
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
call esi
cmp dword [ebp - 0x12c], 6
jne 0x411bab
cmp dword [ebp - 0x128], 1
jne 0x411bab
lea eax, [ebp - 0x140]
push eax
push 0x4536b8
mov ecx, 0x4645f8
call fcn.004222c2
test eax, eax
je 0x411bab
push 0x4536b8
jmp 0x411bfe
mov dword [ebp - 0x130], 0x114
push ebx
push 0
lea eax, [ebp - 0x12c]
push eax
call fcn.0042e320
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
call esi
cmp dword [ebp - 0x12c], 6
jne 0x411c09
cmp dword [ebp - 0x128], 2
jne 0x411c09
lea eax, [ebp - 0x140]
push eax
mov esi, 0x4536c8
push esi
mov ecx, 0x4645f8
call fcn.004222c2
test eax, eax
je 0x411c09
push esi
lea ecx, [ebp - 0x138]
call fcn.00401648
call fcn.0040a192
test al, al
je 0x411c39
lea eax, [ebp - 0x140]
push eax
mov esi, str.x64MsiUrl
push esi
mov ecx, 0x4645f8
call fcn.004222c2
test eax, eax
je 0x411c39
push esi
lea ecx, [ebp - 0x138]
call fcn.00401648
push str.2.2.21642.48889
mov ecx, 0x46455c
call fcn.00402483
test eax, eax
jne 0x411c73
lea eax, [ebp - 0x140]
push eax
mov esi, str.AvgMsiUrl
push esi
mov ecx, 0x4645f8
call fcn.004222c2
test eax, eax
je 0x411c73
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 0x32
pop esi
mov dword [edi + 0x18], esi
push 0x19
mov ebx, 0xbb9
push ebx
push edi
call fcn.0041219c
push 0x4536ec
push dword [ebp - 0x138]
push edi
call fcn.00410f6b
mov dword [ebp - 0x158], eax
lea ecx, [ebp - 0x168]
call fcn.0041b8a9
mov byte [ebp - 4], 3
mov byte [ebp - 4], 4
and dword [ebp - 0x134], 0
lea eax, [ebp - 0x134]
push eax
push 0x44fb08
push 0x4645dc
call fcn.00403db7
cmp dword [ebp - 0x158], 0xffffffff
je 0x411d93
cmp dword [ebp - 0x134], 0
je 0x411d93
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x19
push ebx
push edi
call fcn.0041219c
lea ecx, [ebp - 0x134]
call fcn.00401ae0
mov byte [ebp - 4], 5
cmp dword [0x46454c], 2
jne 0x411d4b
lea eax, [ebp - 0x134]
push eax
push str.AvgUsUrl
mov ecx, 0x4645f8
call fcn.004222c2
test eax, eax
je 0x411d4b
push 0x4536f4
push str.AvgUsUrl
jmp 0x411d78
cmp dword [0x46454c], 1
jne 0x411d84
lea eax, [ebp - 0x134]
push eax
push 0x4536fc
mov ecx, 0x4645f8
call fcn.004222c2
test eax, eax
je 0x411d84
push 0x4536f4
push 0x4536fc
push edi
call fcn.00410f6b
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x134]
call fcn.00401b17
mov dword [ebp - 4], 3
jmp 0x411dc3
mov byte [ebp - 4], 2
call fcn.0041b8bf
lea ecx, [ebp - 0x174]
call fcn.0041b8a9
mov byte [ebp - 4], 7
mov byte [ebp - 4], 8
and dword [ebp - 0x148], 0
lea eax, [ebp - 0x148]
push eax
push 0x450208
push 0x4645dc
call fcn.00403db7
cmp dword [ebp - 0x158], 0xffffffff
je 0x411e68
cmp dword [ebp - 0x148], 0
je 0x411e68
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x19
push ebx
push edi
call fcn.0041219c
lea ecx, [ebp - 0x148]
call fcn.00401ae0
mov byte [ebp - 4], 9
lea eax, [ebp - 0x148]
push eax
mov ebx, str.BackupUrl
push ebx
mov ecx, 0x4645f8
call fcn.004222c2
test eax, eax
je 0x411e59
push 0x45337c
push ebx
push edi
call fcn.00410f6b
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x148]
call fcn.00401b17
mov dword [ebp - 4], 7
jmp 0x411e93
mov byte [ebp - 4], 2
call fcn.0041b8bf
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 0x411f05
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.0041219c
push str..msi
push dword [ebp - 0x158]
push edi
call fcn.00410fc3
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x180]
call fcn.0041b8a9
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x134], ebx
je 0x411f51
cmp dword [ebp - 0x154], ebx
je 0x411f51
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.0041219c
push str..exe
push dword [ebp - 0x144]
push edi
call fcn.00410fc3
mov dword [ebp - 0x154], eax
mov dword [ebp - 4], 0xb
jmp 0x411f7c
mov byte [ebp - 4], 2
call fcn.0041b8bf
lea ecx, [ebp - 0x18c]
call fcn.0041b8a9
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x134], 0
je 0x411fd3
cmp dword [ebp - 0x14c], 0
je 0x411fd3
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.0041219c
push str..exe
push dword [ebp - 0x150]
push edi
call fcn.00410fc3
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0xe
jmp 0x411ffe
mov byte [ebp - 4], 2
call fcn.0041b8bf
xor ebx, ebx
cmp dword [ebp - 0x134], ebx
je 0x41203c
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.0041219c
push 0x4536ec
push dword [ebp - 0x158]
mov ecx, edi
call fcn.00411177
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x15c]
call fcn.0041b8a9
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x134], ebx
je 0x41208a
cmp dword [ebp - 0x154], ebx
je 0x41208a
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.0041219c
push 0x4536f4
push dword [ebp - 0x144]
mov ecx, edi
call fcn.00411177
mov dword [ebp - 0x154], eax
mov dword [ebp - 4], 0x11
jmp 0x4120b5
mov byte [ebp - 4], 2
call fcn.0041b8bf
lea ecx, [ebp - 0x198]
call fcn.0041b8a9
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x134], 0
je 0x41210e
cmp dword [ebp - 0x14c], 0
je 0x41210e
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.0041219c
push 0x45337c
push dword [ebp - 0x150]
mov ecx, edi
call fcn.00411177
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0x14
jmp 0x412136
mov byte [ebp - 4], 2
call fcn.0041b8bf
push 0x64
push 0xbbc
push edi
call fcn.0041219c
push 0
call fcn.004119ce
mov dword [ebp - 4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x140]
call fcn.00401b17
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.00401b17
call fcn.004328bb
ret