Function at 0x407ea0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4183e8
mov eax, dword fs:[0]
push eax
sub esp, 0x184
mov eax, dword [0x41f1f0]
xor eax, esp
mov dword [esp + 0x17c], eax
push esi
push edi
mov eax, dword [0x41f1f0]
xor eax, esp
push eax
lea eax, [esp + 0x190]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
push 0x94
lea eax, [esp + 0xf0]
push 0
push eax
call fcn.0040afd0
add esp, 0xc
lea ecx, [esp + 0xec]
push ecx
mov dword [esp + 0xf0], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [esp + 0xfc]
sub eax, 1
je 0x4080d7
sub eax, 1
je 0x407f46
push str.Unknown_OS_Version
call fcn.0040b0e0
add esp, 4
push eax
push str.Unknown_OS_Version
mov ecx, esi
call fcn.00402b30
jmp 0x4081cb
mov eax, dword [esp + 0xf0]
cmp eax, 6
jne 0x407fa0
mov edx, dword [esp + 0xf4]
push edx
push eax
lea eax, [esp + 0x108]
push eax
push str.Windows_Vista__s__NT:_d._d_
lea edi, [esp + 0x38]
call fcn.00405b90
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x1a4], 3
call fcn.00402c00
cmp dword [esp + 0x40], 0x10
jb 0x4081cb
mov ecx, dword [esp + 0x2c]
push ecx
jmp 0x4081c3
cmp eax, 5
jne 0x408080
mov eax, dword [esp + 0xf4]
cmp eax, 2
jne 0x407ff7
push eax
push 5
lea edx, [esp + 0x108]
push edx
push str.Windows_Server_2003__s__NT:_d._d_
lea edi, [esp + 0xa8]
call fcn.00405b90
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x1a4], 4
call fcn.00402c00
mov ecx, edi
call fcn.00402d70
jmp 0x4081cb
cmp eax, 1
jne 0x40803e
push eax
push 5
lea eax, [esp + 0x108]
push eax
push str.Windows_XP__s__NT:_d._d_
lea edi, [esp + 0xe0]
call fcn.00405b90
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x1a4], 5
call fcn.00402c00
mov ecx, edi
call fcn.00402d70
jmp 0x4081cb
push eax
push 5
lea ecx, [esp + 0x108]
push ecx
push str.Windows_2000__s__NT:_d._d_
lea edi, [esp + 0xc4]
call fcn.00405b90
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x1a4], 6
call fcn.00402c00
mov ecx, edi
call fcn.00402d70
jmp 0x4081cb
mov ecx, dword [esp + 0xf4]
lea edx, [esp + 0x100]
push edx
push ecx
push eax
push str.Windows_NT__d._d__s
lea edi, [esp + 0x8c]
call fcn.00405b90
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x1a4], 7
call fcn.00402c00
cmp dword [esp + 0x94], 0x10
jb 0x4081cb
mov edx, dword [esp + 0x80]
push edx
jmp 0x4081c3
mov eax, dword [esp + 0xf4]
test eax, eax
jne 0x408131
mov ecx, dword [esp + 0xf0]
lea eax, [esp + 0x100]
push eax
push 0
push ecx
push str.Windows_95__d._d__s
lea edi, [esp + 0x70]
call fcn.00405b90
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x1a4], 0
call fcn.00402c00
cmp dword [esp + 0x78], 0x10
jb 0x4081cb
mov edx, dword [esp + 0x64]
push edx
jmp 0x4081c3
cmp eax, 0x5a
jne 0x40817e
mov ecx, dword [esp + 0xf0]
lea eax, [esp + 0x100]
push eax
push 0x5a
push ecx
push str.Windows_Me__d._d__s
lea edi, [esp + 0x54]
call fcn.00405b90
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x1a4], 1
call fcn.00402c00
cmp dword [esp + 0x5c], 0x10
jb 0x4081cb
mov edx, dword [esp + 0x48]
push edx
jmp 0x4081c3
mov edx, dword [esp + 0xf0]
lea ecx, [esp + 0x100]
push ecx
push eax
push edx
push str.Windows_98__d._d__s
lea edi, [esp + 0x1c]
call fcn.00405b90
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x1a4], 2
call fcn.00402c00
cmp dword [esp + 0x24], 0x10
jb 0x4081cb
mov eax, dword [esp + 0x10]
push eax
call fcn.0040b0cd
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0x190]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x17c]
xor ecx, esp
call fcn.0040b16b
mov esp, ebp
pop ebp
ret 4