Function at 0x111bb9f0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1ec
mov eax, dword [0x11279148]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x1127ff60], 0
push esi
jne 0x111bbc6d
push 0x1127ff60
mov dword [0x1127ff60], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x1127ff64], 6
jne 0x111bbc6d
cmp dword [0x1127ff68], 2
jne 0x111bbc6d
lea eax, [ebp - 0x1d0]
push eax
push 1
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x1d0], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x111bbc6d
xor ecx, ecx
push 0xfe
push ecx
lea edx, [ebp - 0x1ca]
push edx
mov word [ebp - 0x1cc], cx
call sub.MSVCR100.dll_memset
mov edx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x1ec]
push eax
lea ecx, [ebp - 0x1cc]
push ecx
push 0
push 0
push str.CSDVersion
push edx
mov dword [ebp - 0x1ec], 0x100
call fcn.111b8970
mov edx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x2c]
push ecx
push 0
push 0
push str.CurrentVersion
push edx
mov dword [ebp - 0x1dc], 0x28
call fcn.111b8970
add esp, 0x3c
test eax, eax
jne 0x111bbc60
push ebx
lea eax, [ebp - 0x2c]
push edi
push eax
call dword [sym.imp.MSVCR100.dll__wtoi]
movzx ecx, word [ebp - 0x2c]
mov ebx, dword [sym.imp.MSVCR100.dll_isdigit]
push ecx
mov edi, eax
lea esi, [ebp - 0x2c]
call ebx
add esp, 8
test eax, eax
je 0x111bbb21
nop
movzx edx, word [esi + 2]
add esi, 2
push edx
call ebx
add esp, 4
test eax, eax
jne 0x111bbb10
cmp word [esi], 0
je 0x111bbb2a
add esi, 2
mov ebx, dword [sym.imp.MSVCR100.dll__wtoi]
push esi
call ebx
add esp, 4
mov esi, eax
cmp edi, 6
jl 0x111bbc5e
push 0x7f
lea eax, [ebp - 0x1cc]
push eax
push 0x1127ff74
mov dword [0x1127ff64], edi
mov dword [0x1127ff68], esi
call dword [sym.imp.MSVCR100.dll_wcsncpy]
add esp, 0xc
cmp edi, 6
jne 0x111bbc5e
cmp esi, 3
jne 0x111bbc5e
mov eax, dword [ebp - 0x1d0]
lea ecx, [ebp - 0x1e4]
push ecx
lea edx, [ebp - 0x1d4]
push edx
push 0
push 0
push str.CurrentMajorVersionNumber
mov esi, 4
push eax
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1e4], esi
call fcn.111b8970
mov eax, dword [ebp - 0x1d0]
lea ecx, [ebp - 0x1d8]
push ecx
lea edx, [ebp - 0x1e0]
push edx
push 0
push 0
push str.CurrentMinorVersionNumber
push eax
mov dword [ebp - 0x1d8], esi
call fcn.111b8970
mov eax, dword [ebp - 0x1d4]
add esp, 0x30
test eax, eax
je 0x111bbbf5
mov ecx, dword [ebp - 0x1e0]
mov dword [0x1127ff64], eax
mov dword [0x1127ff68], ecx
xor edx, edx
push 0x9e
push edx
lea eax, [ebp - 0xca]
push eax
mov word [ebp - 0xcc], dx
call sub.MSVCR100.dll_memset
mov eax, dword [ebp - 0x1d0]
lea ecx, [ebp - 0x1e8]
push ecx
lea edx, [ebp - 0xcc]
push edx
push 0
push 0
push str.CurrentBuild
push eax
mov dword [ebp - 0x1e8], 0xa0
call fcn.111b8970
add esp, 0x24
test eax, eax
jne 0x111bbc5e
cmp word [ebp - 0xcc], ax
je 0x111bbc5e
lea ecx, [ebp - 0xcc]
push ecx
call ebx
add esp, 4
mov dword [0x1127ff6c], eax
pop edi
pop ebx
mov edx, dword [ebp - 0x1d0]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [0x1127ff70], 2
jne 0x111bbcb5
mov eax, dword [ebp + 8]
mov ecx, dword [0x1127ff64]
cmp ecx, eax
jb 0x111bbcb5
jne 0x111bbcf1
mov eax, dword [ebp + 0xc]
mov ecx, dword [0x1127ff68]
cmp ecx, eax
jb 0x111bbcb5
jne 0x111bbcf1
mov esi, dword [ebp + 0x10]
test esi, esi
jle 0x111bbcf1
push 0
push 0
push 0xa
call fcn.111bb9f0
add esp, 0xc
test eax, eax
je 0x111bbcc6
cmp dword [0x1127ff6c], esi
jae 0x111bbcf1
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret
push 0xc
push str.Service_Pack
push 0x1127ff74
call dword [sym.imp.MSVCR100.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x111bbcb5
push 0x1127ff8e
call dword [sym.imp.MSVCR100.dll__wtoi]
add esp, 4
cmp eax, esi
jl 0x111bbcb5
mov ecx, dword [ebp - 4]
xor ecx, ebp
mov eax, 1
pop esi
call fcn.111d9022
mov esp, ebp
pop ebp
ret