Function at 0x46c800
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x595c60]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
push edi
push str.Windows_Unknown
push esi
call fcn.00410590
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersionExA]
add esp, 0xc
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x98], 0x94
call ebx
test eax, eax
je 0x46cb10
mov eax, dword [ebp - 0x88]
sub eax, 0
je 0x46cb01
sub eax, 1
je 0x46ca88
sub eax, 1
jne 0x46cb10
mov eax, dword [ebp - 0x94]
cmp eax, 6
jne 0x46c96f
lea ecx, [ebp - 0x134]
push ecx
mov dword [ebp - 0x134], 0x9c
call ebx
test eax, eax
je 0x46cb10
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x46c903
cmp byte [ebp - 0x9a], 1
mov eax, 0x570fc8
jne 0x46c8d9
cmp byte [ebp - 0x84], 0
jne 0x46c8bd
mov eax, 0x56a375
lea edx, [ebp - 0x84]
push edx
push eax
push str.Windows_Vista_s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
cmp byte [ebp - 0x84], 0
jne 0x46c8e7
mov eax, 0x56a375
lea ecx, [ebp - 0x84]
push ecx
push eax
push str.Windows_Server__Longhorn__s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
cmp eax, 1
jne 0x46c937
cmp byte [ebp - 0x84], 0
mov eax, 0x570fc8
jne 0x46c91b
mov eax, 0x56a375
lea edx, [ebp - 0x84]
push edx
push eax
push str.Windows_7_s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
cmp eax, 2
jne 0x46cb10
cmp byte [ebp - 0x84], 0
mov eax, 0x570fc8
jne 0x46c953
mov eax, 0x56a375
lea ecx, [ebp - 0x84]
push ecx
push eax
push str.Windows_8_s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
cmp eax, 5
jne 0x46ca1c
mov eax, dword [ebp - 0x90]
cmp eax, 2
jne 0x46c9b2
cmp byte [ebp - 0x84], 0
mov eax, 0x570fc8
jne 0x46c996
mov eax, 0x56a375
lea edx, [ebp - 0x84]
push edx
push eax
push str.Windows_Server_2003_s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
cmp eax, 1
jne 0x46c9e6
cmp byte [ebp - 0x84], 0
mov eax, 0x570fc8
jne 0x46c9ca
mov eax, 0x56a375
lea ecx, [ebp - 0x84]
push ecx
push eax
push str.Windows_XP_s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
test eax, eax
jne 0x46cb10
cmp byte [ebp - 0x84], al
mov eax, 0x570fc8
jne 0x46ca00
mov eax, 0x56a375
lea edx, [ebp - 0x84]
push edx
push eax
push str.Windows_2000_s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
cmp eax, 4
jne 0x46ca50
cmp byte [ebp - 0x84], 0
mov eax, 0x570fc8
jne 0x46ca34
mov eax, 0x56a375
lea ecx, [ebp - 0x84]
push ecx
push eax
push str.Windows_NT_4.0_s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
cmp eax, 3
jne 0x46cb10
cmp byte [ebp - 0x84], 0
mov eax, 0x570fc8
jne 0x46ca6c
mov eax, 0x56a375
lea edx, [ebp - 0x84]
push edx
push eax
push str.Windows_NT_3.51_s_s
push edi
push esi
call fcn.00410530
add esp, 0x14
jmp 0x46cb10
cmp dword [ebp - 0x94], 4
jne 0x46cb10
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x46cac5
mov al, byte [ebp - 0x83]
cmp al, 0x42
je 0x46caae
cmp al, 0x43
mov eax, 0x56a375
jne 0x46cab3
mov eax, str._OSR2
push eax
push str.Windows_95_s
push edi
push esi
call fcn.00410530
add esp, 0x10
jmp 0x46cb10
cmp eax, 0xa
jne 0x46caf4
mov al, byte [ebp - 0x83]
cmp al, 0x41
je 0x46cadd
cmp al, 0x42
mov eax, 0x56a375
jne 0x46cae2
mov eax, 0x55e3e8
push eax
push str.Windows_98_s
push edi
push esi
call fcn.00410530
add esp, 0x10
jmp 0x46cb10
cmp eax, 0x5a
jne 0x46cb10
push edi
push str.Windows_Millenium
jmp 0x46cb07
push edi
push str.Windows_3.x
push esi
call fcn.00410590
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.00506c7d
mov esp, ebp
pop ebp
ret