Function at 0x4f9a2c
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4f9ecc
push dword fs:[eax]
mov dword fs:[eax], esp
or edi, 0xffffffff
or esi, 0xffffffff
xor ebx, ebx
lea eax, [ebp - 0x14c]
call fcn.004285a8
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 4]
call fcn.00420984
call fcn.0042856c
dec eax
je 0x4f9aa7
dec eax
je 0x4f9b2f
jmp case.default.0x4f9d19
call fcn.00428594
sub eax, 0xa
jb 0x4f9abd
sub eax, 0x50
jb 0x4f9ae9
je 0x4f9b28
jmp case.default.0x4f9d19
mov eax, dword [ebp - 4]
mov edx, 0x4f9ee8
call fcn.0040b3fc
je 0x4f9adb
mov eax, dword [ebp - 4]
mov edx, 0x4f9ef8
call fcn.0040b3fc
jne 0x4f9ae2
mov bl, 2
jmp case.default.0x4f9d19
mov bl, 1
jmp case.default.0x4f9d19
cmp dword [0x5e0a3c], 0x4005a
jne 0x4f9afc
mov bl, 5
jmp case.default.0x4f9d19
mov eax, dword [ebp - 4]
mov edx, 0x4f9f08
call fcn.0040b3fc
je 0x4f9b1a
mov eax, dword [ebp - 4]
mov edx, 0x4f9ee8
call fcn.0040b3fc
jne 0x4f9b21
mov bl, 4
jmp case.default.0x4f9d19
mov bl, 3
jmp case.default.0x4f9d19
mov bl, 5
jmp case.default.0x4f9d19
call fcn.00428580
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x4f9d19
jmp dword [eax*4 + 0x4f9b47]
call fcn.00428594
dec eax
je 0x4f9b7e
sub eax, 4
je 0x4f9b85
sub eax, 0x2e
je 0x4f9b8c
jmp case.default.0x4f9d19
mov bl, 6
jmp case.default.0x4f9d19
mov bl, 7
jmp case.default.0x4f9d19
mov bl, 8
jmp case.default.0x4f9d19
mov bl, 9
jmp case.default.0x4f9d19
call fcn.00428594
sub eax, 1
jb 0x4f9bae
je 0x4f9bb5
dec eax
je 0x4f9bbc
jmp case.default.0x4f9d19
mov bl, 0xa
jmp case.default.0x4f9d19
mov bl, 0xb
jmp case.default.0x4f9d19
mov dword [ebp - 0x148], 0x11c
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
call fcn.004fa3c4
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x4f9be5
mov bl, 0xe
jmp case.default.0x4f9d19
cmp word [ebp - 0x2c], 0
je 0x4f9c09
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x4f9c09
cmp byte [ebp - 0x2e], 1
jne 0x4f9c09
mov bl, 0xd
jmp case.default.0x4f9d19
mov bl, 0xc
jmp case.default.0x4f9d19
call fcn.00428594
cmp eax, 2
jne 0x4f9d07
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x4f9f18
mov edx, 0x4f9f3c
mov eax, 0x80000002
call fcn.004f7594
lea edx, [ebp - 0x150]
mov eax, dword [0x558750]
call fcn.0040f934
mov eax, dword [ebp - 0x150]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b58c
dec eax
je 0x4f9c84
lea edx, [ebp - 0x154]
mov eax, dword [0x5587b0]
call fcn.0040f934
mov eax, dword [ebp - 0x154]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b58c
dec eax
jne 0x4f9c8e
mov esi, 3
jmp 0x4f9d0e
lea edx, [ebp - 0x158]
mov eax, dword [0x5588ec]
call fcn.0040f934
mov eax, dword [ebp - 0x158]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b58c
dec eax
je 0x4f9cda
lea edx, [ebp - 0x15c]
mov eax, dword [0x558918]
call fcn.0040f934
mov eax, dword [ebp - 0x15c]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b58c
dec eax
jne 0x4f9ce1
mov esi, 2
jmp 0x4f9d0e
call fcn.004f9fc8
mov edi, eax
cmp edi, 6
jne 0x4f9cf4
mov esi, 4
jmp 0x4f9d0e
cmp edi, 0xa
jne 0x4f9cfe
or esi, 0xffffffff
jmp 0x4f9d0e
call fcn.00428594
mov esi, eax
jmp 0x4f9d0e
call fcn.00428594
mov esi, eax
mov eax, esi
cmp eax, 4
ja case.default.0x4f9d19
jmp dword [eax*4 + 0x4f9d20]
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x4f9d5b
cmp byte [ebp - 0x2e], 1
jne 0x4f9d5b
mov bl, 0xf
jmp case.default.0x4f9d19
mov bl, 0x10
jmp case.default.0x4f9d19
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x4f9d89
cmp byte [ebp - 0x2e], 1
jne 0x4f9d89
mov bl, 0x11
jmp case.default.0x4f9d19
mov bl, 0x12
jmp case.default.0x4f9d19
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x4f9db4
cmp byte [ebp - 0x2e], 1
jne 0x4f9db4
mov bl, 0x13
jmp case.default.0x4f9d19
mov bl, 0x15
jmp case.default.0x4f9d19
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x4f9ddc
cmp byte [ebp - 0x2e], 1
jne 0x4f9ddc
mov bl, 0x16
jmp case.default.0x4f9d19
mov bl, 0x18
jmp case.default.0x4f9d19
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x4f9e04
cmp byte [ebp - 0x2e], 1
jne 0x4f9e04
mov bl, 0x19
jmp case.default.0x4f9d19
mov bl, 0x1a
jmp case.default.0x4f9d19
call fcn.00428580
mov edi, eax
call fcn.00428594
mov esi, eax
cmp edi, 0xa
jl 0x4f9ea1
sub edi, 0xa
jne 0x4f9ea1
cmp esi, 0xffffffff
jne 0x4f9e30
call fcn.004fa1c0
mov esi, eax
sub esi, 1
jae 0x4f9ea1
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x4f9e59
cmp byte [ebp - 0x2e], 1
jne 0x4f9e59
mov bl, 0x19
jmp 0x4f9ea1
push 0x4f9fa4
lea eax, [ebp - 0x160]
push eax
mov ecx, 0x4f9fb4
mov edx, 0x4f9f3c
mov eax, 0x80000002
call fcn.004f7594
mov eax, dword [ebp - 0x160]
or edx, 0xffffffff
call fcn.00421634
sub eax, 0x647
je 0x4f9e97
sub eax, 0xca
je 0x4f9e9b
jmp 0x4f9e9f
mov bl, 0x1a
jmp 0x4f9ea1
mov bl, 0x1b
jmp 0x4f9ea1
mov bl, 0x1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f9ed3
lea eax, [ebp - 0x160]
mov edx, 6
call fcn.0040a47c
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040a47c
ret