Function at 0x411c70
Capabilities:
Check os version
Identify system language via api

Disassembly:
push 0x194
mov eax, 0x448e6b
call fcn.00432a6f
mov edi, ecx
mov dword [ebp - 0x140], edi
push 0x4536e8
lea ecx, [ebp - 0x138]
call fcn.0040153f
and dword [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.00401b04
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.0042e530
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 0x411d10
cmp dword [ebp - 0x128], 0
jne 0x411d10
lea eax, [ebp - 0x13c]
push eax
push str.VistaMsiUrl
mov ecx, 0x4645f8
call fcn.00422487
test eax, eax
je 0x411d10
push str.VistaMsiUrl
jmp 0x411dbb
mov dword [ebp - 0x130], 0x114
push ebx
push 0
lea eax, [ebp - 0x12c]
push eax
call fcn.0042e530
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
call esi
cmp dword [ebp - 0x12c], 6
jne 0x411d68
cmp dword [ebp - 0x128], 1
jne 0x411d68
lea eax, [ebp - 0x13c]
push eax
push 0x453710
mov ecx, 0x4645f8
call fcn.00422487
test eax, eax
je 0x411d68
push 0x453710
jmp 0x411dbb
mov dword [ebp - 0x130], 0x114
push ebx
push 0
lea eax, [ebp - 0x12c]
push eax
call fcn.0042e530
add esp, 0xc
lea eax, [ebp - 0x130]
push eax
call esi
cmp dword [ebp - 0x12c], 6
jne 0x411dc6
cmp dword [ebp - 0x128], 2
jne 0x411dc6
lea eax, [ebp - 0x13c]
push eax
mov esi, 0x453720
push esi
mov ecx, 0x4645f8
call fcn.00422487
test eax, eax
je 0x411dc6
push esi
lea ecx, [ebp - 0x138]
call fcn.00401648
call fcn.0040a39e
test al, al
je 0x411df6
lea eax, [ebp - 0x13c]
push eax
mov esi, str.x64MsiUrl
push esi
mov ecx, 0x4645f8
call fcn.00422487
test eax, eax
je 0x411df6
push esi
lea ecx, [ebp - 0x138]
call fcn.00401648
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov ebx, 0x453730
mov esi, 0x4645f8
cmp ax, 0x407
jne 0x411e2b
lea eax, [ebp - 0x13c]
push eax
push ebx
mov ecx, esi
call fcn.00422487
test eax, eax
je 0x411e2b
push ebx
lea ecx, [ebp - 0x138]
call fcn.00401648
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
cmp ax, 0x40c
jne 0x411e5a
lea eax, [ebp - 0x13c]
push eax
push ebx
mov ecx, esi
call fcn.00422487
test eax, eax
je 0x411e5a
push 0x453744
lea ecx, [ebp - 0x138]
call fcn.00401648
push str.2.2.21642.48889
mov ecx, 0x46455c
call fcn.00402497
test eax, eax
jne 0x411e91
lea eax, [ebp - 0x13c]
push eax
mov ebx, 0x453758
push ebx
mov ecx, esi
call fcn.00422487
test eax, eax
je 0x411e91
push ebx
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.004123b2
push 0x45376c
push dword [ebp - 0x138]
push edi
call fcn.00411128
mov dword [ebp - 0x158], eax
lea ecx, [ebp - 0x168]
call fcn.0041bab9
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.00403f27
cmp dword [ebp - 0x158], 0xffffffff
je 0x411fa4
cmp dword [ebp - 0x134], 0
je 0x411fa4
and dword [edi + 0x14], 0
mov dword [edi + 0x18], esi
push 0x19
push ebx
push edi
call fcn.004123b2
lea ecx, [ebp - 0x134]
call fcn.00401b04
mov byte [ebp - 4], 5
cmp dword [0x46454c], 2
jne 0x411f5f
lea eax, [ebp - 0x134]
push eax
mov esi, str.AvgUsUrl
push esi
mov ecx, 0x4645f8
call fcn.00422487
test eax, eax
jne 0x411f83
cmp dword [0x46454c], 1
jne 0x411f95
lea eax, [ebp - 0x134]
push eax
mov esi, str.AvgUrl
push esi
mov ecx, 0x4645f8
call fcn.00422487
test eax, eax
je 0x411f95
push 0x453774
push esi
push edi
call fcn.00411128
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x134]
call fcn.004088d8
mov dword [ebp - 4], 3
jmp 0x411fd1
mov byte [ebp - 4], 2
call fcn.0041bacf
lea ecx, [ebp - 0x174]
call fcn.0041bab9
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.00403f27
cmp dword [ebp - 0x158], 0xffffffff
je 0x41207b
cmp dword [ebp - 0x148], 0
je 0x41207b
push 0x32
pop esi
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x19
push ebx
push edi
call fcn.004123b2
lea ecx, [ebp - 0x148]
call fcn.00401b04
mov byte [ebp - 4], 9
lea eax, [ebp - 0x148]
push eax
mov ebx, 0x44fd5c
push ebx
mov ecx, 0x4645f8
call fcn.00422487
test eax, eax
je 0x41206a
push 0x453344
push ebx
push edi
call fcn.00411128
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x148]
call fcn.004088d8
jmp 0x41207e
push 0x32
pop esi
mov dword [ebp - 4], 7
jmp 0x4120a9
mov byte [ebp - 4], 2
call fcn.0041bacf
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 0x41211b
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.004123b2
push str..msi
push dword [ebp - 0x158]
push edi
call fcn.00411180
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x180]
call fcn.0041bab9
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x134], ebx
je 0x412167
cmp dword [ebp - 0x154], ebx
je 0x412167
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.004123b2
push str..exe
push dword [ebp - 0x144]
push edi
call fcn.00411180
mov dword [ebp - 0x154], eax
mov dword [ebp - 4], 0xb
jmp 0x412192
mov byte [ebp - 4], 2
call fcn.0041bacf
lea ecx, [ebp - 0x18c]
call fcn.0041bab9
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x134], 0
je 0x4121e9
cmp dword [ebp - 0x14c], 0
je 0x4121e9
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push esi
push 0xbba
push edi
call fcn.004123b2
push str..exe
push dword [ebp - 0x150]
push edi
call fcn.00411180
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0xe
jmp 0x412214
mov byte [ebp - 4], 2
call fcn.0041bacf
xor ebx, ebx
cmp dword [ebp - 0x134], ebx
je 0x412252
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.004123b2
push 0x45376c
push dword [ebp - 0x158]
mov ecx, edi
call fcn.00411334
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x15c]
call fcn.0041bab9
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x134], ebx
je 0x4122a0
cmp dword [ebp - 0x154], ebx
je 0x4122a0
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.004123b2
push 0x453774
push dword [ebp - 0x144]
mov ecx, edi
call fcn.00411334
mov dword [ebp - 0x154], eax
mov dword [ebp - 4], 0x11
jmp 0x4122cb
mov byte [ebp - 4], 2
call fcn.0041bacf
lea ecx, [ebp - 0x198]
call fcn.0041bab9
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x134], 0
je 0x412324
cmp dword [ebp - 0x14c], 0
je 0x412324
mov dword [edi + 0x14], esi
mov dword [edi + 0x18], esi
push 0x4b
push 0xbbb
push edi
call fcn.004123b2
push 0x453344
push dword [ebp - 0x150]
mov ecx, edi
call fcn.00411334
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0x14
jmp 0x41234c
mov byte [ebp - 4], 2
call fcn.0041bacf
push 0x64
push 0xbbc
push edi
call fcn.004123b2
push 0
call fcn.00411b8b
mov dword [ebp - 4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x13c]
call fcn.004088d8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.004088d8
call fcn.00432acb
ret