Function at 0x4860aa
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.004968c9
add esp, 4
test si, si
jb 0x486095
jne 0x49de5b
je 0x48452c
sbb byte [ebx], bl
cmp ax, 0x33c
jne 0x48f060
je 0x48453b
enter 0xffffffffffffee36, 0xf
test byte [edi], bl
stosd dword es:[edi], eax
add byte [eax], al
je 0x48f060
shl dword [esi + 0x49], 0
arpl word [eax], ax
add byte [eax], al
xor byte [eax], al
add byte [eax], al
invalid
daa
mov ecx, 0x40e8c166
mov cl, bl
rcr byte [edi], cl
jmp dword [esi]
and eax, 0x38850fa3
inc ebx
add dword [eax], eax
je 0x4860a2
cwde
movsb byte es:[edi], byte [esi]
in al, 0xf
test byte [0xda000143], ch
xor cl, byte [ebp - 0x74fbdb9c]
lea esp, [esp + 4]
mov ecx, dword [esi]
je 0x49a3d5
fidiv dword [edx]
jmp 0x487216
push edx
lea esi, [esi]
mov al, byte [ebp + 0xb]
xchg ah, dh
xchg dh, ah
mov bh, bh
call fcn.004c2010
xor eax, 0xef870f8f
xor dword [eax], eax
add byte [esi + 4], dh
fmul dword [edx - 0x79f0bd2a]
jecxz 0x48b472
add byte [eax], al
jb 0x49de79
shl si, 0x20
jae 0x48f06e
mov ebx, 0x53ee994
add eax, dword [eax]
mov esi, dword [esi + 4]
mov esi, dword [ebp + esi]
call fcn.004bb8cd
xor al, 0x87
lea esp, [esp + 4]
jne 0x4bb666
jmp 0x4bf5b1
je 0x48f08f
rcl ebx, 0xf
test cl, dl
lds eax, [edx]
add dl, bl
xor bh, byte [ecx]
inc esp
sbb eax, 0x5d26ff00
je 0x4bb666
fidiv dword [edx]
jmp 0x49405a
push ecx
push 0x26
push ebx
pop ebx
push edx
call fcn.004a37b5
add esp, 8
pop edi
pop esi
mov ebx, ebx
pop ebx
xchg dx, ax
xchg dx, ax
mov esp, ebp
shr di, 0x40
pop ebp
mov cl, cl
ret
mov eax, dword [0x556089]
or ebx, 0xffffffff
jb 0x486089
add ah, 0
cmp eax, ebx
jne 0x4bf5dd
push edi
pop edi
je 0x495706
xlatb
add ebp, eax
das
imul eax, dword [ecx], 0
call fcn.004ac23a
shr eax, 0x1e
sub eax, 3
mov eax, 0x556968
je 0x4ab8ff
jne 0x495724
push edi
daa
cwde
cmp dword [eax + 0x55697c], 0x61d0870f
add dword [eax], eax
mov eax, 0x55697c
ja 0x4ab8ff
jbe 0x495734
call 0x8658a800
lds esp, [ecx + 1]
add dl, bl
sub eax, 0xfb21c35d
jbe 0x4ab8ff
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.004ac9d2
invalid
add esp, 4
cmp bl, bl
test al, 1
jb 0x4aa66e
jne 0x4956e4
shr edi, 0x40
je 0x497673
fsubr st(5), st(0)
push 0
call fcn.0048a867
add esp, 4
test eax, eax
jb 0x4aa675
je 0x4956e4
jne 0x497694
cpuid
cmpsd dword [esi], dword es:[edi]
ret
mov edx, dword [edi]
ja 0x4956bc
jbe 0x4976a0
rcr eax, 0xf
xchg byte [esi], dl
loopne 0x4976a4
jbe 0x4956bc
invalid
push dword [ecx + ecx]
xor al, 9
mov dl, dl
mov cl, bl
shl ah, 0x20
rcr dword [edi], cl
jmp dword [esi]
cmp si, 4
jne 0x4bf5b1
je 0x49de6a
sub bh, cl
cmp ax, 0x350
jae 0x4bf5b1
jb 0x49de79
add al, 0xb6
xchg edx, eax
mov ecx, dword [0x556089]
js 0x494059
jns 0x49de89
fiadd word [edi]
jns 0x494059
xor al, 0x5d
imul esp, dword [edx + 0x6100004a], 0
cmp byte [eax], 0
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
mov esp, 0
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
dec eax
add byte [eax], al
add al, ch
and cl, byte [ebx]
add edx, esi
dec ecx
add byte [ebx], dl
or byte [ebx], 0x92
mov al, 0x4b
add bh, al
fimul word [ecx]
sahf
invalid
push 3
push 0
push 3
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
cmp eax, ebx
mov dword [0x556089], eax
jne 0x48450c
je 0x4a1fe7
test eax, 0xf9870ff4
and al, 0xfe
push dword [esi + 4]
ja 0x4844e6
jbe 0x4a1ff3
ljmp 0xed86:0xf032a37
jbe 0x4844e6
invalid
cmc
test eax, eax
jb 0x4860a8
je 0x4a46c0
jne 0x4a46a6
or byte [edi + 0x3d687d8c], ah
imul edx, dword [ebp], 0x623105c7
push ebp
add byte [eax], al
add byte [eax], al
add al, ch
push es
movsd dword es:[edi], dword [esi]
add al, byte [eax]
push 0x55693d
mov dword [0x556231], 0
call fcn.004cebc0
add esp, 4
push 0x55693d
lea eax, [ebp + 8]
push 2
push eax
call fcn.004ceb70
mov ecx, dword [ebp + 8]
mov ch, ch
mov edx, dword [edi]
shr ah, 0x40
push ecx
push 2
ja 0x487215
jbe 0x4a46e8
push ds
outsb dx, byte [esi]
jbe 0x487215
xor al, 0x47
lea esi, [esi + 0xc]
shl dx, 0x20
sar dword [ebp + ebx], cl
mov bx, bx
jmp dword [esi]
sub dword [0xfdba06e8], esi
inc dword [0x895e40ea]
add eax, 0x895e40ea
in al, dx
xchg esi, eax
xchg esi, eax
push 0
push 0
ja 0x4a1fc3
jbe 0x4ab90f
add eax, 0xae860f15
invalid
jbe 0x4a1fc3
js 0x4b2cd5
jns 0x4ab920
push edx
nop
invalid
jns 0x4b2cd5
xor al, 0xfd
mov dh, dh
jmp dword [esi]
lea esp, [esp + 4]
mov byte [esi + 0xbb], 0
shl bl, 0x20
mov word [esi + 0xbc], dx
mov al, al
call fcn.004beaa9
push edi
mov di, ax
pop edi
mov ah, ah
js 0x48b41f
shr al, 0x40
jns 0x4bd713
cpuid
nop
ret
jns 0x48b41f
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
movzx eax, byte [eax + edx]
lea esi, [esi + 0xc]
jne 0x483d60
je 0x4bd731
inc ebp
adc al, dl
je 0x483d60
fisubr dword [ecx - 0x71]
inc esp
and al, 0xfc
je 0x4bd77d
jne 0x4bd748
iretd
cmp ax, 0x100
je 0x4bd77d
jne 0x4bd757
stc
invalid
cmp ax, 0x12c
xchg edx, ebx
xchg ebx, edx
je 0x4bd77d
push esi
pop esi
jne 0x4bd76d
mov edi, 0x662af420
cmp eax, 0x850f0028
cmp ax, 0x28
jne 0x4956e4
insd dword es:[edi], dx
jg 0x4bd773
push dword [esp + eax + 0x7e]
add dword [ebp + 0x5b], edx
je 0x4bd77d
jle 0x4bd77c
push ebp
pop ebx
mov ecx, dword [edi]
push ecx
call fcn.004ae210
ja 0x497656
jbe 0x4bd792
cpuid
nop
ret
jbe 0x497656
xor al, 0x89
jmp dword [esi]
mov eax, dword [0x556089]
push eax
call fcn.004b9319
add esp, 4
test eax, eax
jb 0x48609f
shr cl, 0x40
shl ecx, 0x20
je 0x49de79
jne 0x4bf5dd
cpuid
ret
xchg di, si
xchg si, di
mov eax, dword [0x556231]
add ecx, 0
jno 0x4bf5f1
ljmp 0x9a81:0xfc3a20f
jno 0x4a4691
and eax, 0xbe89668a
mov esp, 0xe8000000
cli
cmp bh, ch
invalid