Function at 0x410821
Capabilities:
Check os version

Disassembly:
push 0x1f4
mov eax, 0x41fc82
call fcn.0041eefb
xor ebx, ebx
mov edi, ecx
mov dword [ebp - 0x200], ebx
mov dword [ebp - 0x1fc], edi
mov dword [ebp - 0x1f8], ebx
lea eax, [ebp - 0x1f4]
push eax
push 0x20019
push ebx
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
mov dword [ebp - 4], ebx
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x1f4], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x41091c
mov eax, dword [ebp - 0x1f4]
push 0xc8
mov dword [ebp - 0x1f8], eax
lea eax, [ebp - 0xda]
push ebx
push eax
mov word [ebp - 0xdc], bx
call sub.MSVCR80.dll_memset
add esp, 0xc
push str.ProductName
lea eax, [ebp - 0x1f8]
push eax
lea esi, [ebp - 0x200]
lea edi, [ebp - 0xdc]
mov dword [ebp - 0x200], 0x64
call fcn.00411f6a
cmp dword [ebp - 0x1f4], ebx
je 0x4108dd
push dword [ebp - 0x1f4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x1f8], ebx
cmp word [ebp - 0xdc], bx
je 0x410916
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0xdc]
call fcn.004047a6
cmp dword [ebp - 0x1f8], ebx
je 0x41090b
push dword [ebp - 0x1f8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x1fc]
jmp 0x410ad8
mov edi, dword [ebp - 0x1fc]
mov eax, dword [0x432b20]
mov ecx, 0x432b20
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1f4], eax
push 0x110
lea eax, [ebp - 0x1ec]
push ebx
mov byte [ebp - 4], 1
push eax
mov dword [ebp - 0x1f0], 0x114
call sub.MSVCR80.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1f0]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp - 0x1e0]
sub eax, ebx
je 0x410a95
dec eax
je 0x410a0a
dec eax
jne 0x410aa6
cmp dword [ebp - 0x1ec], 4
ja 0x410991
push str.Microsoft_Windows_NT
jmp 0x410a9a
cmp dword [ebp - 0x1ec], 5
jne 0x4109d2
cmp dword [ebp - 0x1e8], ebx
jne 0x4109ac
push str.Microsoft_Windows_2000
jmp 0x410a9a
cmp dword [ebp - 0x1e8], 1
jne 0x4109bf
push str.Microsoft_Windows_XP
jmp 0x410a9a
cmp dword [ebp - 0x1e8], 2
jne 0x410a00
push str.Microsoft_Windows_Server_2003
jmp 0x410a9a
cmp dword [ebp - 0x1ec], 6
jne 0x410a00
cmp dword [ebp - 0x1e8], ebx
jne 0x4109ed
push str.Microsoft_Windows_Vista
jmp 0x410a9a
cmp dword [ebp - 0x1e8], 1
jne 0x410a00
push str.Microsoft_Windows_Longhorn_Server
jmp 0x410a9a
push str.Microsoft_Windows_Vista_Later
jmp 0x410a9a
cmp dword [ebp - 0x1ec], 4
jne 0x410a8e
cmp dword [ebp - 0x1e8], ebx
jne 0x410a47
push str.Microsoft_Windows_95
lea eax, [ebp - 0x1f4]
push eax
call fcn.00401445
cmp word [ebp - 0x1da], 0x43
je 0x410a40
cmp word [ebp - 0x1da], 0x42
jne 0x410aa6
push str._OSR2
jmp 0x410a70
cmp dword [ebp - 0x1e8], 0xa
jne 0x410a7e
push str.Microsoft_Windows_98
lea eax, [ebp - 0x1f4]
push eax
call fcn.00401445
cmp word [ebp - 0x1da], 0x41
jne 0x410aa6
push 0x42aa34
lea eax, [ebp - 0x1f4]
push eax
call fcn.0040485b
jmp 0x410aa6
cmp dword [ebp - 0x1e8], 0x5a
jne 0x410a8e
push str.Microsoft_Windows_Me
jmp 0x410a9a
push str.Microsoft_Windows_Me_later
jmp 0x410a9a
push str.Microsoft_Win32s
lea eax, [ebp - 0x1f4]
push eax
call fcn.00401445
mov esi, dword [ebp - 0x1f4]
add esi, 0xfffffff0
mov eax, esi
call fcn.004052e9
add eax, 0x10
mov dword [edi], eax
mov eax, esi
call fcn.00401689
cmp dword [ebp - 0x1f8], ebx
je 0x410ad6
push dword [ebp - 0x1f8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
call fcn.0041ef7e
ret