Function at 0x426e43
Capabilities:
Check os version

Disassembly:
fnstcw word [ecx - 0x7af7ba75]
ror byte [edi], 0x82
popal
and dword [edx], eax
add byte [edi], cl
test byte [edi], bl
scasb al, byte es:[edi]
add byte [eax], al
invalid
xor eax, 0x24448f7d
cld
push ebp
mov ebp, esp
sub esp, 0x50
jne 0x4339d9
je 0x4227c0
and dword [eax], ecx
test dword [edi], ecx
test byte [ebx], dl
adc al, byte [ecx]
add bh, al
aad 0x41
js 0x42280d
je 0x4339d9
invalid
add byte [edx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add bh, dl
mov es, word [eax + eax + 0x20]
add byte [eax], al
add byte [0xeb000000], bh
mov bl, 0x43
add byte [eax], al
inc eax
add byte [eax], al
xor byte [eax], al
add byte [eax], al
add byte [eax], 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
or al, byte [eax]
add byte [eax], al
push 0xb3004434
add al, byte [ebx]
or al, 0
add byte [eax], al
xor byte [eax], al
add byte [eax], al
sub eax, 0x4400420c
add byte [eax], al
add byte [0x4400420c], ch
add byte [eax], al
add byte [edi + ecx*2 + 0x7ed0042], al
lea esp, [esp - 0x64]
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 0x422852
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
dec ecx
jne 0x422849
mov dword [ebp + 0x40], esp
mov dword [esp], 0x422867
mov esi, 0x422885
jmp dword [esi]
pop esi
pop ebx
mov bx, bx
pop ebp
ret
mov ecx, dword [ebx]
sar ecx, 3
push ecx
push esi
call fcn.004244e3
xchg cl, bh
xchg bh, cl
mov edx, dword [edi]
push edx
push esi
call fcn.0044dd13
push 0x103
jno 0x44724e
jo 0x423145
scasb al, byte es:[edi]
out 0xf, eax
add byte [ebx], 0x41
add al, byte [eax]
jo 0x44724e
add eax, 0x4468bb7
mov ebx, dword [esi + 8]
mov bh, bh
push 0x42990e
ret
jmp 0x426dcc
push ecx
mov bp, bp
call fcn.0044b066
add esp, 0xc
mov ch, ch
jmp 0x426df9
mov edx, 0xd4d4d4d4
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xec], edx
mov edi, edi
lea eax, [ebp - 0x11c]
js 0x438e1c
jns 0x426e0d
cpuid
ret
jns 0x438e1c
and eax, 0x26c35dfb
xchg edx, eax
jmp 0x426e1a
push esi
call fcn.0045213f
mov ebx, dword [ebp + 0x10]
stc
and eax, 0xffff
jb 0x4227a5
shl eax, 3
mov ax, ax
jmp 0x426e37
push eax
mov dword [ebx], eax
shr ch, 0x40
call fcn.0043bfb7
shr bx, 0x40
mov edi, dword [ebp + 0xc]
cmc
add esp, 8
test eax, eax
jb 0x432169
mov dword [edi], eax
jne 0x42311b
je 0x426e65
xchg esi, eax
pop ebp
mov edx, dword [ebp + 0x14]
push 0xc
mov eax, dword [edx]
jmp 0x426e6d
push eax
call fcn.00434935
mov ax, word [ebp + 8]
add esp, 8
pop edi
js 0x423112
jns 0x426e8a
xlatb
sbb dword [esi + 0xf], edi
mov dword [edx + 0x34ffffc2], eax
push esi
jns 0x423112
xor al, 0x56
push edx
call fcn.0043bfce
shr bp, 0x40
push edi
call fcn.0043bfce
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
jb 0x43d627
mov cx, word [edi + 0x24]
push ecx
jmp 0x42b700
push esi
call fcn.0043e344
mov dx, word [edi + 0x1c]
push edx
push esi
call fcn.004226b8
mov ax, word [edi + 0x28]
push eax
lea edx, [edx]
mov dh, dh
push esi
call fcn.0041785e
shl bh, 0x20
mov cx, word [edi + 0x2c]
jmp 0x42b72c
push ecx
push esi
shl al, 0x20
call fcn.0042ab51
mov bp, bp
mov edx, dword [edi + 0x40]
push edx
push esi
pop esi
jmp 0x42b743
push esi
call fcn.0044dd13
add esp, 0x40
jmp 0x43d8f6
add eax, 0x558b6648
adc byte [eax + 0x56], dl
sub ch, byte [esi]
shl ah, 0x20
shr bh, 0x40
push 0x421ab9
ret
invalid
shl di, 0x20
jmp 0x4339de
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, 7
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
push edi
pop edi
mov ax, word [esi + 0x18]
xor ebx, ebx
jb 0x41dfaf
cmp ax, 0x100
push edi
mov dword [ebp - 8], ebx
call fcn.0044b54e
invalid
push eax
call fcn.0042aebf
add esp, 4
test ax, ax
jb 0x43d639
call fcn.00447980
xor eax, 0x420c2d4f
add byte [eax + eax], al
add byte [edi + ecx*2 + 0x14110042], al
ja 0x438ebc
inc edx
add byte [ebx + 0x30004167], cl
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [edi + ebx*2], dl
inc edx
add byte [esi], al
pop ebp
inc esp
add dh, dl
push eax
inc edx
add byte [ebx + 0x4c], al
inc ecx
add dl, bl
test byte [ebx], al
jo fcn.00438dfa
inc ebx
add byte [edx + 0x428c7434], dl
add byte [eax], ah
add byte [eax], al
add byte [eax + eax], bh
add byte [eax], al
movsd dword es:[edi], dword [esi]
mov esi, 0xc0043
add byte [eax], al
xor byte [eax], al
add byte [eax], al
sub eax, 0x4800420c
add byte [eax], al
add byte [esi], dh
into
inc ebx
add byte [eax + eax], dh
add byte [eax], al
xor al, 0
add byte [eax], al
into
inc ebx
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
hlt
add byte [esi - 0x7423791d], al
pop esi
or byte [edi], cl
mov bh, 0
lea esi, [esi + 0xc]
mov dword [ebp + ebx], eax
jmp dword [esi]
fcomp dword [ecx]
mov ecx, dword [esi + 4]
mov ebx, dword [ebp + ebx]
lea esi, [esi + 0xc]
mov ah, ah
shr byte [ebx], cl
jmp dword [esi]
sub ebx, esp
shl ebp, 0x20
mov ebx, dword [esi + 8]
ja 0x43ff18
jbe 0x43d64c
xchg edi, eax
sbb esi, edx
jbe 0x43ff18
fldenv [ebx + 0x83826ff]
shr ch, 0x40
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
mov al, byte [ebp + eax]
lea esi, [esi + 0xc]
adc byte [ebp + ebx], al
jmp dword [esi]
mov eax, dword [edi + 0x3c]
shl eax, 1
test al, 7
jb 0x448088
shr si, 0x40
jne 0x4324aa
xchg bl, bh
xchg bh, bl
je 0x43d917
adc eax, 0x668924cb
shr ebx, 0x40
shr bx, 0x40
jmp 0x44d3c7
pop dword [esp - 4]
mov ebx, dword [ebp + 8]
xchg di, bx
xchg bx, di
lea ecx, [ebp - 0x100]
push ebx
xchg al, cl
xchg cl, al
shr dx, 0x40
push ecx
call fcn.0043c602
lea edx, [ebp - 0x100]
js 0x436bcc
jns 0x43e0d3
sub eax, 0xf3890f0b
mov bh, bh
inc dword [0xd4850fdf]
jns 0x436bcc
add eax, 0xd4850fdf
jo 0x43e0e0
add byte [ebx + eax + 0x35], dh
sahf
outsb dx, byte [esi]
je 0x4451b5
fsubr st(5)
into
inc ebx
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
fisttp word [ecx + 0x41]
add bl, ah
rol dword [ebx], 0xff
inc dword [eax]
add byte [eax + eax], dh
add byte [eax], al
adc al, 0x5f
inc edx
add byte [ebp - 0x5c], bh
inc edx
add bl, ch
mov bl, 0x43
add byte [eax], al
inc eax
add byte [eax], al
xor al, 0
add byte [eax], al
add byte [eax], 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
dec edx
add byte [eax], al
add byte [eax + 0x34], ch
inc esp
add byte [ecx + 0x7b004303], al
or eax, 0xc2120042
inc esp
add byte [eax - 0x1f], cl
inc ebx
add byte [edi - 0x15], cl
adc al, dl
inc esp
add byte [ebx + 0xd], bh
inc edx
add byte [edx + 0x4250d688], al
push eax
inc edx
add byte [eax - 0x25ffbd38], bh
test byte [ebx], al
loope 0x43e1a4
add byte [edi + 0x4219e3e1], ch
add ah, al
int1
inc ecx
add ch, cl
and eax, dword [ebx]
jbe 0x43e153
inc ebx
add byte [ebp + 0x4323cd13], ah
add ah, al
int1
inc ecx
add byte [0x24648d94], dh
lea esp, [esp + 4]
jmp fcn.0041dfc3
adc al, 0xbb
push 2
push esi
call fcn.0043a57d
push 0x18
jmp 0x43e196
push esi
mov ah, ah
call fcn.00433ddf
xor eax, eax
jb 0x42d2e8
int1
invalid
mov ax, word [edi + 0x20]
jmp 0x43e1ac
push eax
push esi
call fcn.00422206
js 0x42b6f2
jns 0x43e1c0
nop
cpuid
ret
jns 0x42b6f2
invalid
xlatb
add byte [edi], cl
sbb byte [0xc7ffffeb], 0xa5
invalid
mov ecx, dword [esi + 4]
mov bx, bx
mov ebx, dword [ebp + ebx]
lea esi, [esi + 0xc]
shr word [ebx], cl
jmp dword [esi]
jmp 0x4451b6
push eax
jmp 0x4451b9
push esi
mov al, al
mov byte [esi + 0xba], cl
mov dh, dh
mov byte [esi + 0xbb], 0
mov word [esi + 0xbc], dx
call fcn.00434935
xchg cx, si
xchg si, cx
mov al, byte [ebp + 0xb]
jmp 0x4451e2
push esi
js 0x444112
jns 0x4451f0
out 0x77, al
jmp 0x445200
jns 0x444112
ficom dword [ecx - 0x2f88a17]
inc dword [edx + 0x66023ce1]
mov eax, eax
jne 0x44524d
add ah, byte [esi - 0x77]
ror byte [edi], 0x85
inc ebx
add byte [eax], al
add byte [esp + eax - 0xf], dh
je 0x445210
int1
out 0x65, al
cld
xor eax, eax
jb 0x41c673
mov cl, byte [ebp + eax - 8]
mov dl, byte [ebp - 0x60]
sub cl, 0x58
sub dl, 0x34
xor cl, dl
jb 0x43eb04
mov byte [ebp + eax - 0xf0], cl
inc eax
cmp eax, 8
jl 0x445218
jge 0x445246
push ss
cpuid
ret
jmp 0x426df9
test al, al
jb 0x43eb0c
jne 0x426de8
je 0x445261
nop
cpuid
ret 0x458d
lea eax, [ebp - 8]
push 8
xchg cx, bx
xchg bx, cx
lea ecx, [ebp - 0xf0]
push eax
jne 0x426dcb
je 0x44527e
mov ecx, 0x47840f36
sbb edi, esi
push dword [0x2126ffe9]
je 0x426dcb
xor eax, 0x2126ffe9
pop ebx
mov ebx, dword [ebp + 0x44]
and al, 0x64
mov ecx, dword [esp]
lea esp, [esp + edx]
mov dword [esp], ecx
ret
push esi
call fcn.00433ddf
push 0
jmp 0x447257
push esi
call fcn.0043c602
push 0
js 0x45340f
jns 0x44726b
jno 0x447219
wait
jns 0x45340f
and eax, 0x87f787f2
invalid
pop edi
pop esi
xor ax, ax
jb 0x42e344
pop ebx
pop ebp
ret
fcmovbe st(0), st(2)
push esi
call fcn.00452508
xchg bp, ax
xchg bp, ax
push esi
call fcn.0042aebf
mov esi, eax
add esp, 0x2c
cmp dl, dl
test si, si
jb 0x44a148
mov dh, dh
je 0x44856d
jne 0x453441
nop
cpuid
ret
shl bp, 0x20
mov eax, dword [edi]
push eax
call fcn.0043bfce
mov ecx, dword [ebp + 0x14]
push esi
mov edx, dword [ecx]
push edx
shl ch, 0x20
call fcn.00434935
or ch, ch
add esp, 0xc
mov ax, si
shl ecx, 0x20
pop edi
shl ah, 0x20
pop esi
pop ebx
pop ebp
ret