Function at 0x459a28
Capabilities:
Check os version

Disassembly:
push 0x1f8
mov eax, 0x7258e1
call fcn.0054dced
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x13c], edi
lea ecx, [ebx + 4]
mov dword [ebp - 0x138], ebx
mov dword [ebx], edi
call fcn.00406ecb
lea ecx, [ebx + 0x20]
call fcn.00406ecb
lea ecx, [ebx + 0x3c]
call fcn.00406ecb
xor esi, esi
lea eax, [ebp - 0x128]
mov dword [ebp - 4], edi
inc esi
push eax
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x128], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x459eb5
cmp dword [ebp - 0x118], esi
movzx edx, word [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
jne 0x459bc2
cmp eax, 4
jne 0x459cc1
cmp ecx, 0xa
jae 0x459b31
mov eax, edx
cmp eax, 0x3b6
jne 0x459ae9
push 0x7b8ba8
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], esi
jmp 0x459cc1
lea edx, [eax - 0x3b7]
cmp edx, 0x81
ja 0x459b0f
push str.Windows_95_SP1
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 2
jmp 0x459cc1
cmp eax, 0x438
jbe 0x459b2e
push str.Windows_95_OSR2
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 3
jmp 0x459cc1
cmp ecx, 0xa
jne 0x459ba1
mov eax, dword [ebp - 0x12c]
cmp eax, 0x7ce
jne 0x459b58
push str.Windows_98
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 4
jmp 0x459cc1
lea ecx, [eax - 0x7cf]
cmp ecx, 0xb7
ja 0x459b7e
push str.Windows_98_SP1
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 5
jmp 0x459cc1
cmp eax, 0x887
jb 0x459cc1
push str.Windows_98_SE
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 6
jmp 0x459cc1
cmp ecx, 0x5a
jne 0x459cc1
push str.Windows_ME
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 7
jmp 0x459cc1
cmp dword [ebp - 0x118], 2
jne 0x459ca5
cmp eax, 3
jne 0x459bf5
cmp ecx, 0x33
jne 0x459cc1
push str.Windows_NT_3.51
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 0x65
jmp 0x459cc1
cmp eax, 4
jne 0x459c1a
cmp ecx, edi
jne 0x459cc1
push str.Windows_NT_4
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 0x66
jmp 0x459cc1
cmp eax, 5
jne 0x459c6e
cmp ecx, edi
jne 0x459c3b
push str.Windows_2000
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 0x67
jmp 0x459cc1
cmp ecx, esi
jne 0x459c54
push str.Windows_XP
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 0x68
jmp 0x459cc1
cmp ecx, 2
jne 0x459cc1
push str.Windows_2003_Server
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 0x69
jmp 0x459cc1
cmp eax, 6
jne 0x459cc1
cmp ecx, edi
jne 0x459c8c
push str.Windows_Vista
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 0x6a
jmp 0x459cc1
cmp ecx, esi
jne 0x459cc1
push str.Windows_7
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 0x6b
jmp 0x459cc1
cmp dword [ebp - 0x118], 3
jne 0x459cc1
push str.Windows_CE
lea ecx, [ebx + 4]
call fcn.0040184f
mov dword [ebx], 0xc9
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x1ac]
push eax
call fcn.0044e940
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x134]
push eax
lea eax, [ebp - 0x174]
push eax
mov dword [ebp - 4], esi
call fcn.0044e940
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.0044e940
mov ebx, 0x7b8544
push ebx
push eax
lea eax, [ebp - 0x158]
push eax
mov byte [ebp - 4], 3
call fcn.0040710d
add esp, 0x24
mov byte [ebp - 4], 4
push dword [ebp - 0x134]
push eax
lea eax, [ebp - 0x1e4]
push eax
call fcn.0042c91b
add esp, 0xc
push ebx
push eax
lea eax, [ebp - 0x1c8]
push eax
mov byte [ebp - 4], 5
call fcn.0040710d
add esp, 0xc
mov byte [ebp - 4], 6
push dword [ebp - 0x12c]
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.0042c91b
add esp, 0xc
push 0xffffffffffffffff
mov byte [ebp - 4], 7
mov ebx, dword [ebp - 0x138]
push edi
push eax
lea ecx, [ebx + 0x20]
call fcn.00401ebc
push edi
push esi
lea ecx, [ebp - 0x200]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x1c8]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x1e4]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x158]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x190]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x174]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x1ac]
call fcn.00401f4f
lea eax, [ebx + 0x20]
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.0044e730
mov dword [ebp - 0x130], eax
push 0x7b8d4c
lea eax, [ebx + 4]
push eax
lea eax, [ebp - 0x190]
push eax
mov dword [ebp - 4], 8
call fcn.0040710d
add esp, 0x14
mov byte [ebp - 4], 9
push dword [ebp - 0x130]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.0042c91b
add esp, 0xc
push 0x7b2e40
push eax
lea eax, [ebp - 0x1ac]
push eax
mov byte [ebp - 4], 0xa
call fcn.0040710d
add esp, 0xc
push 0xffffffffffffffff
push edi
add ebx, 0x3c
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.00401ebc
push edi
push esi
lea ecx, [ebp - 0x1ac]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x174]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x190]
call fcn.00401f4f
push edi
push esi
lea ecx, [ebp - 0x158]
call fcn.00401f4f
mov ebx, dword [ebp - 0x138]
mov eax, ebx
call fcn.0054dd70
ret