Function at 0x4f51ec
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff4c
push ebx
xor edx, edx
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4f5526
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], eax
mov dword [ebp - 0xa0], 0x9c
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_GetVersionExA
test eax, eax
je 0x4f527b
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x98]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x94]
and eax, 0xffff
mov dword [ebx + 0x18], eax
lea eax, [ebx + 0x1c]
lea edx, [ebp - 0x8c]
mov ecx, 0x80
call fcn.00404f44
jmp 0x4f528a
xor eax, eax
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x10]
sub eax, 4
je 0x4f52a1
dec eax
je 0x4f52d7
dec eax
je 0x4f5337
jmp 0x4f54a1
mov eax, dword [ebx + 0x14]
sub eax, 0xa
je 0x4f52b3
sub eax, 0x50
je 0x4f52c5
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f553c
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f5548
call fcn.00404d28
jmp 0x4f54ae
mov eax, dword [ebx + 0x14]
sub eax, 1
jb 0x4f52e9
je 0x4f52fb
dec eax
je 0x4f530d
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f5554
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f5564
call fcn.00404d28
jmp 0x4f54ae
cmp byte [ebp - 6], 1
jne 0x4f5325
lea eax, [ebx + 4]
mov edx, 0x4f5564
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f5570
call fcn.00404d28
jmp 0x4f54ae
mov eax, dword [ebx + 0x14]
sub eax, 1
jb 0x4f5350
je 0x4f5362
dec eax
je 0x4f5374
dec eax
je 0x4f547d
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f5580
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f5590
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f559c
call fcn.00404d28
lea edx, [ebp - 0xa4]
mov eax, ebx
call fcn.004f5164
mov edx, dword [ebp - 0xa4]
mov eax, 0x4f55a8
call fcn.004052d8
dec eax
jne 0x4f53cb
cmp byte [ebp - 6], 1
jne 0x4f53b9
lea eax, [ebx + 4]
mov edx, 0x4f55b4
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f55c0
call fcn.00404d28
jmp 0x4f54ae
lea edx, [ebp - 0xa8]
mov eax, ebx
call fcn.004f5164
mov edx, dword [ebp - 0xa8]
mov eax, 0x4f55d0
call fcn.004052d8
dec eax
jne 0x4f5415
cmp byte [ebp - 6], 1
jne 0x4f5403
lea eax, [ebx + 4]
mov edx, 0x4f55dc
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f55dc
call fcn.00404d28
jmp 0x4f54ae
lea edx, [ebp - 0xac]
mov eax, ebx
call fcn.004f5164
mov edx, dword [ebp - 0xac]
mov eax, 0x4f55e8
call fcn.004052d8
dec eax
jne 0x4f5459
cmp byte [ebp - 6], 1
jne 0x4f544a
lea eax, [ebx + 4]
mov edx, 0x4f55dc
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f55dc
call fcn.00404d28
jmp 0x4f54ae
cmp byte [ebp - 6], 1
jne 0x4f546e
lea eax, [ebx + 4]
mov edx, 0x4f559c
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f55f8
call fcn.00404d28
jmp 0x4f54ae
cmp byte [ebp - 6], 1
jne 0x4f5492
lea eax, [ebx + 4]
mov edx, 0x4f55b4
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f55c0
call fcn.00404d28
jmp 0x4f54ae
lea eax, [ebx + 4]
mov edx, 0x4f5608
call fcn.00404d28
mov byte [ebx + 0xc], 0
mov eax, dword [ebx + 0x10]
cmp eax, 4
jle 0x4f54da
cmp eax, 6
jge 0x4f54da
lea edx, [ebp - 0xb0]
mov eax, ebx
call fcn.004f4da4
mov edx, dword [ebp - 0xb0]
lea eax, [ebx + 8]
call fcn.00404d28
cmp dword [ebx + 0x10], 5
jle 0x4f54fb
lea edx, [ebp - 0xb4]
mov eax, ebx
call fcn.004f41c0
mov edx, dword [ebp - 0xb4]
lea eax, [ebx + 8]
call fcn.00404d28
cmp dword [ebx + 0x10], 4
jle 0x4f5508
mov eax, ebx
call fcn.004f5614
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f552d
lea eax, [ebp - 0xb4]
mov edx, 5
call fcn.00404cf8
ret