Function at 0x4e1551
Capabilities:
Check os version

Disassembly:
mov dword [ebp + ebx], eax
jmp dword [esi]
mov eax, dword [edi]
mov ah, ah
push 0xe
push eax
call fcn.004ba739
add esp, 4
test si, si
jb 0x4a9f05
jne 0x4c1ccb
je 0x4a839c
sbb byte [ebx], bl
cmp ax, 0x33c
daa
mov ecx, 0x40e8c166
mov cl, bl
rcr byte [edi], cl
jmp dword [esi]
and eax, 0x38850fa3
inc ebx
add dword [eax], eax
je 0x4a9f12
je 0x4be245
ror byte [edi], 0x82
pop es
adc dword [ecx], eax
add cl, ch
jno 0x4af2d1
add dword [eax], eax
lea esi, [esi]
mov al, byte [ebp + 0xb]
xchg ah, dh
xchg dh, ah
mov bh, bh
call fcn.004e5e80
xor eax, 0xef870f8f
xor dword [eax], eax
add byte [esi + 4], dh
fmul dword [edx - 0x79f0bd2a]
jecxz 0x4af2e2
add byte [eax], al
sub byte [eax + 0xf003b80], 0x84
js 0x4af25b
add al, byte [eax]
jne 0x4af2c4
mov eax, dword [0x66df5466]
shl edx, 0x20
shl dx, 0x20
push 0x100
push 0
xchg dword [ebx - 0x64], edx
invalid
mov eax, dword [0x5fee39]
or ebx, 0xffffffff
jb 0x4a9ef9
add ah, 0
cmp eax, ebx
jne 0x4e344d
push edi
pop edi
je 0x4b9576
xlatb
add ebp, eax
das
imul eax, dword [ecx], 0
call fcn.004d00aa
shr eax, 0x1e
sub eax, 3
mov eax, 0x5ff718
je 0x4cf76f
jne 0x4b9594
push edi
daa
cwde
cmp dword [eax + 0x5ff72c], 0x61d0870f
add dword [eax], eax
mov eax, 0x5ff72c
ja 0x4cf76f
jbe 0x4b95a4
call 0x865ae670
lds esp, [ecx + 1]
add dl, bl
sub eax, 0xfb21c35d
jbe 0x4cf76f
fisubr dword [0xfb21c35d]
push ebp
mov ebp, esp
sub esp, 0x24
mov cl, cl
push ebx
push esi
mov esi, dword [ebp + 8]
mov dl, dl
push edi
xchg si, dx
xchg dx, si
mov eax, dword [esi]
call fcn.004d0842
invalid
mov dl, dl
mov cl, bl
shl ah, 0x20
cmp si, 4
jne 0x4e3421
je 0x4c1cda
sub bh, cl
cmp ax, 0x350
jae 0x4e3421
jb 0x4c1ce9
add al, 0xb6
xchg edx, eax
push 3
push 0
push 3
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, ebx
mov dword [0x5fee39], eax
jne 0x4a837c
je 0x4c5e57
test eax, 0xf9870ff4
and al, 0xfe
push dword [esi + 4]
ja 0x4a8356
jbe 0x4c5e63
ljmp 0xed86:0xf032a37
jbe 0x4a8356
invalid
xchg esi, eax
xchg esi, eax
push 0
push 0
ja 0x4c5e33
jbe 0x4cf77f
add eax, 0xae860f15
invalid
jbe 0x4c5e33
js 0x4d6b45
jns 0x4cf790
push edx
nop
invalid
jns 0x4d6b45
xor al, 0xfd
jne 0x4b2f69
xchg edx, eax
xchg esi, eax
xchg esi, eax
xchg edx, eax
je 0x4d6b55
push esi
cpuid
ret
jmp fcn.004b9470
lea esp, [esp + 4]
mov byte [esi + 0xbb], 0
shl bl, 0x20
mov word [esi + 0xbc], dx
mov al, al
call fcn.004e2919
push edi
mov di, ax
pop edi
mov ah, ah
js 0x4af28f
shr al, 0x40
jns 0x4e1583
cpuid
nop
ret
jns 0x4af28f
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
movzx eax, byte [eax + edx]
lea esi, [esi + 0xc]
jne 0x4a7bd0
je 0x4e15a1
inc ebp
adc al, dl
je 0x4a7bd0
fisubr dword [ecx - 0x71]
inc esp
and al, 0xfc
je 0x4e15ed
jne 0x4e15b8
iretd
cmp ax, 0x100
je 0x4e15ed
jne 0x4e15c7
stc
invalid
cmp ax, 0x12c
xchg edx, ebx
xchg ebx, edx
je 0x4e15ed
push esi
pop esi
jne 0x4e15dd
mov edi, 0x662af420
cmp eax, 0x850f0028
cmp ax, 0x28
jne 0x4b9554
insd dword es:[edi], dx
jg 0x4e15e3
push dword [esp + eax + 0x7e]
add dword [ebp + 0x5b], edx
je 0x4e15ed
jle 0x4e15ec
push ebp
pop ebx
mov ecx, dword [edi]
push ecx
call fcn.004d2080
ja 0x4bb4c6
jbe 0x4e1602
cpuid
nop
ret
jbe 0x4bb4c6
xor al, 0x89
jmp dword [esi]