Function at 0x4eee67
Capabilities:
Check os version

Disassembly:
push esi
push ebp
pop ebp
mov byte [esi + 0xba], bl
push ebp
pop ebp
mov byte [esi + 0xbb], al
shr dx, 0x40
mov word [esi + 0xbc], di
jne 0x4ee261
je 0x4b7029
mov ebp, 0x32840f50
jb 0x4b7031
je 0x4ee261
add byte [0x4468b62], al
add eax, 0x4468b62
mov eax, dword [esi + 4]
pop esi
lea esp, [esp + eax]
mov dword [ebp + 0x40], esp
jmp dword [esi]
cmp ecx, eax
jne 0x4d6173
je 0x4c4718
xchg edx, eax
ret
cmp dword [ebp - 0x10], eax
jne 0x4d6173
je 0x4c4726
sub dword [esi + esi*2 + 0x39], 0xd289ec45
cmp dword [ebp - 0x14], eax
mov edx, edx
jne 0x4d6173
je 0x4c4737
cpuid
ret
mov eax, dword [esi]
push 0
xchg cx, ax
xchg cx, ax
jmp 0x4c4740
push eax
ja 0x4f5e76
jbe 0x4c474e
mov edx, 0xf029420
xchg byte [edx], ah
pop ss
add eax, dword [eax]
jbe 0x4f5e76
shl ch, 0x20
lea ecx, [ecx]
call fcn.004bc47d
mov al, byte [ebp + 0xb]
shl cx, 0x20
jno 0x4b7003
jo 0x4c4771
cpuid
nop
ret
jo 0x4b7003
fmul st(5)
inc ebx
call 0x14b47cc
add byte [eax], al
xor al, 0
add byte [eax], al
je 0x4c470c
dec esp
add byte [edi], ah
mov edi, 0xda4b004b
dec ebp
add byte [eax], al
inc edx
add byte [eax], al
xor al, 0
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [ecx], ah
cmp byte [eax], 0
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
push edx
add byte [eax], al
add byte [esp + ebp*8 + 0x4b], ah
add byte [ebp + 0x44004c32], cl
add byte [eax], al
add ah, ah
jne 0x4c4808
add byte [0x4cb2d49a], bl
add byte [eax], ah
add byte [eax], al
add byte [eax + eax], bh
add byte [eax], al
cli
add dword [eax + eax + 0x3c], ecx
add byte [eax], al
add byte [eax + eax], bh
add byte [eax], al
mov eax, dword [0x66004c9e]
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [edi + esi*2], dh
dec esp
add byte [ebx], bh
inc ebx
dec esp
add byte [edx], bh
stosd dword es:[edi], eax
dec ebp
add bh, dh
inc edi
dec esp
add byte [edi], cl
mov byte [0xab3ac390], al
dec ebp
add byte [ebx], bh
inc ebx
dec esp
add byte [0x66f6ff6f], ah
mov eax, eax
mov dh, dh
mov byte [esi + 0xba], cl
jno 0x4c9d57
jo 0x4c481a
cpuid
nop
ret
jo 0x4c9d57
xor eax, 0x87e8d91
call fcn.004f0ec1
xor al, 0x96
pop esi
pop ebp
mov ecx, ecx
ret
jne 0x4d61d1
je 0x4cb502
pop eax
pop ebx
je 0x4d61d1
add eax, 0xcc48162
add byte [eax], al
add byte [ecx], dh
ror byte [edi], 0x82
jmp 0x674cb469
mov eax, 0x81
call fcn.004f2b88
xor al, 0x10
inc eax
add ebx, 0xc
cmp eax, ecx
mov dx, dx
jb 0x4bb22d
jae 0x4e42f5
mov dword [ecx + ebp*8 + 9], edx
xchg esi, eax
outsb dx, byte [esi]
jmp fcn.004e4303
mov dword [ebp - 8], 1
mov ah, ah
jmp 0x4e42d3
xchg esi, eax
scasb al, byte es:[edi]
std
inc edi
cmpsb byte [esi], byte es:[edi]
js 0x4c4754
jns 0x4eee5f
call 0xff90b26
mov edi, ebp
pop eax
std
push dword [eax + ebx]
jns 0x4c4754
xor al, 0x18
pop dword [esp - 4]
xchg di, cx
xchg cx, di
lea ebx, [ebx]
jne 0x4edf24
je 0x4eee7e
dec ebp
rcr dword [edi], 0xc0
out 0x20, al
shl dh, 0x20
xchg ah, dh
xchg dh, ah
ja 0x4cb4f8
jbe 0x4eee91
mov al, byte [0xf004afe]
xchg byte [ecx - 0x3a], ah
std
push dword [0x4bd963eb]
jbe 0x4cb4f8
xor eax, 0x4bd963eb
add byte [0x38000000], bh
add byte [eax], al
add byte [ebx - 0x27], ah
dec ebx
add byte [eax], bh
add byte [eax], al
add byte [0x8d000000], bh
xor cl, byte [eax + eax + 0x44]
add byte [eax], al
add ah, ah
jne 0x4eef08
add byte [esi], dh
jp 0x4eee4d
and al, 0x9c
push ebp
lea ebp, [esp + 8]
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], edi
pop dword [ebp + 0x44]
lea esi, [esp + 0x68]
lea edi, [esp + 4]
mov ecx, 4
or ecx, ecx
je 0x4eeef3
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
dec ecx
jne 0x4eeeea
mov dword [ebp + 0x40], esp
mov dword [esp], 0x4eef08
mov esi, 0x4eef26
jmp dword [esi]
mov eax, dword [ebp + 0x30]
mov ebx, dword [ebp + 0x3c]
mov esi, dword [ebp + 0x48]
mov edi, dword [ebp + 0x4c]
mov ebp, dword [ebp + 0x44]
pop edx
lea esp, [esp + 0x60]
mov ecx, dword [esp]
lea esp, [esp + edx]
mov dword [esp], ecx
ret