Function at 0x41f073
Capabilities:
Check os version

Disassembly:
call fcn.0042c5e6
fisubr dword [ecx + 0xf]
test dword [edi], eax
inc ebp
add eax, dword [eax]
mov bp, bp
je 0x40ec2a
add al, 0xc1
popfd
cmp al, al
jmp 0x41ca96
xchg ebp, ecx
xchg ecx, ebp
cli
push edx
shr bx, 0x40
mov ebx, dword [esi + 8]
jno 0x436d29
jo 0x41489d
or byte [eax - 0x3d], dh
pop es
jo 0x436d29
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
pop ebx
xchg esi, eax
shr al, 0x40
jno 0x43d09c
jo 0x417d40
jo 0x43d09c
xor eax, 0x24448f7d
cld
push ebp
mov ebp, esp
sub esp, 0x50
jne 0x42bc09
je 0x41a9f0
and dword [eax], ecx
test dword [edi], ecx
test byte [ebx], dl
adc al, byte [ecx]
add bh, al
aad 0x71
cli
inc ecx
add byte [edx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [edi], al
adc dword [eax + eax + 0x20], eax
add byte [eax], al
add byte [0x1b000000], bh
inc ebx
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
cwde
mov dh, 0x43
add bl, ah
test byte [edx], al
or al, 0
add byte [eax], al
xor byte [eax], al
add byte [eax], al
pop ebp
mov es, word [ecx]
inc esp
add byte [eax], al
add byte [ecx + edx*8 + 0x7ed0041], dh
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 0x41aa82
je 0x42bc09
invalid
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
dec ecx
jne 0x41aa79
mov dword [ebp + 0x40], esp
mov dword [esp], 0x41aa97
mov esi, 0x41aab5
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.0041c713
xchg cl, bh
xchg bh, cl
mov edx, dword [edi]
push edx
push esi
call fcn.00445f43
push 0x103
jno 0x43f47e
jo 0x41b375
scasb al, byte es:[edi]
out 0xf, eax
add byte [ebx], 0x41
add al, byte [eax]
jo 0x43f47e
add eax, 0x4468bb7
xor eax, eax
jb 0x417d30
xchg ebp, eax
xchg ebp, eax
shl eax, 0x20
jmp 0x41440f
mov edi, edi
lea eax, [ebp - 0x11c]
js 0x43104c
jns 0x41f03d
cpuid
ret
jns 0x43104c
and eax, 0x26c35dfb
xchg edx, eax
jmp 0x41f04a
push esi
call fcn.0044a36f
mov ebx, dword [ebp + 0x10]
stc
and eax, 0xffff
jb 0x41a9d5
shl eax, 3
mov ax, ax
jmp 0x41f067
push eax
mov dword [ebx], eax
shr ch, 0x40
call fcn.004341e7
shr bx, 0x40
mov edi, dword [ebp + 0xc]
cmc
add esp, 8
test eax, eax
jb 0x42a399
mov dword [edi], eax
jne 0x41b34b
je 0x41f095
xchg esi, eax
pop ebp
mov edx, dword [ebp + 0x14]
push 0xc
mov eax, dword [edx]
jmp 0x41f09d
push eax
call fcn.0042cb65
mov ax, word [ebp + 8]
add esp, 8
pop edi
js 0x41b342
jns 0x41f0ba
xlatb
sbb dword [esi + 0xf], edi
mov dword [edx + 0x34ffffc2], eax
push esi
jns 0x41b342
xor al, 0x56
push edx
call fcn.004341fe
shr bp, 0x40
push edi
call fcn.004341fe
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
sub ch, byte [esi]
shl ah, 0x20
shr bh, 0x40
push 0x419ce9
ret
invalid
shl di, 0x20
jmp 0x42bc0e
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 0x4161df
cmp ax, 0x100
push edi
mov dword [ebp - 8], ebx
call fcn.0044377e
invalid
lea esp, [esp + 4]
mov cl, byte [ebp + eax - 8]
mov dl, byte [ebp - 0x60]
sub cl, 0x58
sub dl, 0x34
xor cl, dl
jb 0x414888
mov byte [ebp + eax - 0xf0], cl
jne 0x4363f8
je 0x42c611
aam 0xa7
and al, 0xf
test cl, ah
popfd
add byte [eax], al
je 0x4363f8
push eax
call fcn.004230ef
add esp, 4
test ax, ax
jb 0x435869
call fcn.0043fbb0
xor eax, 0x418e5d4f
add byte [eax + eax], al
add byte [ecx + edx*8 + 0x14110041], dh
cmpsd dword [esi], dword es:[edi]
test byte [ecx], 0xbb
jmp 0x7310c0
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 0x438148
jbe 0x43587c
xchg edi, eax
sbb esi, edx
jbe 0x438148
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]
inc eax
cmp eax, 8
jl 0x40ec15
jge 0x43640a
nop
cpuid
ret 0x1ae9
jmp 0x41f029
jno 0x435859
shl ch, 0x20
jo 0x436d36
xlatb
add byte [edi], cl
sbb byte [0xc7ffffeb], 0xa5
jo 0x435859
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]
and al, 0x64
mov ecx, dword [esp]
lea esp, [esp + edx]
mov dword [esp], ecx
ret
push esi
call fcn.0042c00f
push 0
jmp 0x43f487
push esi
call fcn.00434832
push 0
js 0x44b63f
jns 0x43f49b
jno 0x43f449
wait
jns 0x44b63f
and eax, 0x87f787f2
invalid
pop edi
pop esi
xor ax, ax
jb 0x426574
pop ebx
pop ebp
ret
fcmovbe st(0), st(2)
push esi
call fcn.0044a738
xchg bp, ax
xchg bp, ax
push esi
call fcn.004230ef
mov esi, eax
add esp, 0x2c
cmp dl, dl
test si, si
jb 0x442378
mov dh, dh
je 0x44079d
jne 0x44b671
nop
cpuid
ret
shl bp, 0x20
mov eax, dword [edi]
push eax
call fcn.004341fe
mov ecx, dword [ebp + 0x14]
push esi
mov edx, dword [ecx]
push edx
shl ch, 0x20
call fcn.0042cb65
or ch, ch
add esp, 0xc
mov ax, si
shl ecx, 0x20
pop edi
shl ah, 0x20
pop esi
pop ebx
pop ebp
ret