Function at 0x418e26
Capabilities:
Check os version

Disassembly:
movzx eax, byte [ebp + eax]
add esi, 8
shl eax, cl
add edi, eax
test ecx, 0x80000000
jb 0x42010b
mov ebp, ebp
jne 0x43f977
je 0x404d53
stc
cpuid
ret
add ax, 0
add esi, 4
add ah, 0x76
sub ah, 0x76
popfd
jmp dword [esi - 4]
cmpsb byte [esi], byte es:[edi]
movsd dword es:[edi], dword [esi]
mov dl, dl
lea ecx, [ecx]
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax]
mov ebx, dword [esi + 8]
jmp 0x430ef1
invalid
cmp cx, 0x12c
je 0x4305e0
jne 0x408a95
pop eax
cpuid
ret
test bx, bx
jb 0x405eb6
je 0x41ada1
jne 0x408aa8
loope 0x408a2c
mov ax, ax
mov edi, dword [edi]
call fcn.004364e8
xor al, 0x71
push 0x416dd1
ret
sub al, 0x87
jne 0x411ef4
je 0x40975b
jno 0x4097cd
invalid
je 0x411ef4
pop dword [esp - 4]
push ebp
pop ebp
mov eax, dword [esi + 4]
js 0x41f7c8
jns 0x409776
or eax, 0xf7328da
mov dword [eax + 1], ecx
add bh, al
mov dword [ebx + 0x568b445d], ecx
or byte [edi - 0x17347827], al
inc eax
dec ebx
add dword [eax], eax
jns 0x41f7c8
invalid
add byte [0x411d1355], ah
add byte [ebp - 0x2ffbe2c], dl
inc edx
add bl, ah
xchg edi, eax
inc eax
add byte [esi + 0x26fde77c], ch
inc edx
add byte [ebp + 0x340041d4], dl
fmul dword [ebx + 0x5e8b0446]
or byte [ebx + 0x20e6c100], cl
lea esi, [esi + 0xc]
sbb dword [ebp + ebx], eax
shr al, 0x40
shl edx, 0x20
jmp dword [esi]
pop edi
pop esi
jmp 0x439221
loope 0x40a9df
shr bl, 0x40
push esi
mov esi, ebx
mov dword [ebp + 0x40], esp
jmp dword [esi]
out dx, eax
inc eax
shr cl, 0x40
mov word [esi + 0xbc], dx
call fcn.004095f5
jne 0x41a138
je 0x40a9fc
inc edx
in eax, dx
test byte [edi + ecx - 0x7c], bl
test dword ss:[eax], 0x66bc0500
xchg ebp, edx
je 0x41a138
add eax, 0xd58766bc
xchg dx, bp
push str.netbios
ja 0x416599
jbe 0x40aa1b
loope 0x40aa02
adc byte [edi], cl
jbe 0x416599
fidivr dword [ebp - 0x75]
inc esi
add al, 0x66
shl ebx, 0x20
jne 0x43ee42
je 0x40aa35
je 0x43ee42
add eax, 0x2415ff89
rol byte [ebp], 0x89
ret
pop ebp
ret
mov eax, dword [edi]
mov si, si
lea ecx, [ebp - 4]
mov dl, dl
jno 0x431336
jo 0x40aefd
jge 0x40af1d
xchg ecx, eax
jo 0x411334
jo 0x431336
add al, byte [eax]
xor eax, 0x24448f86
cld
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, 0x46b20d
mov dword [ebp - 0xc], 1
mov al, byte [edi + 0x16]
inc edi
push ss
mov dword [ebp - 8], ebx
push eax
mov dword [ebp - 4], 0x46ac04
mov esi, 0x46b5d8
call int.00413a25
or al, al
add esp, 4
test eax, eax
jb 0x43793a
je 0x40af6e
jne 0x40af52
sbb esp, dword [esi - 0x39]
test eax, edi
invalid
mov dword [ebp - 8], 0x46b20e
mov dword [ebp - 4], 0x46ac08
mov ebx, dword [ebp - 8]
mov esi, 0x46b6e0
cmp dword [edi + 8], 0x6873686c
push 0x41ae0a
ret
push edx
pop edx
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x46ab51]
test eax, eax
jb 0x41b70e
jne 0x419b91
je 0x40c14b
cmpsb byte [esi], byte es:[edi]
cpuid
ret
je 0x419b91
push ebp
mov ebx, ebx
mov ebp, esp
jmp 0x40c157
push esi
jmp 0x40c15a
push edi
mov edi, dword [ebp + 8]
xor esi, esi
jb 0x419c96
mov al, byte [edi]
cmc
test al, al
jb 0x40974d
push edi
pop edi
mov byte [ebp + 8], al
lea ebp, [ebp]
je 0x40c1ce
jne 0x40c186
cpuid
ret
mov eax, dword [ebp + 8]
push eax
call fcn.00429e6d
cmp dh, dh
add esp, 4
test eax, eax
jb 0x411f13
jne 0x40c1ce
mov ebp, ebp
je 0x40c1ae
xor byte [edi + 0x448ac97c], dl
add dword ds:[esi - 0x7c], eax
ror byte [edi], 0x82
cmc
mov bl, 0
add byte [eax - 0x3e99f7bb], cl
call 0xbec5d105
invalid
mov al, byte [esi + edi + 1]
inc esi
test al, al
jb 0x4175b0
mov byte [ebp + 8], al
shr ax, 0x40
jne 0x40c186
je 0x40c1ce
cwde
push ds
add byte [ecx + ecx*4 - 0x7699a010], 0xff
mov eax, esi
pop edi
mov di, di
pop esi
jne 0x40651b
je 0x40c1e1
add al, 0xa7
lcall 0xffa3, 0x34840fff
invalid
je 0x40651b
fadd dword [ecx + 0x66]
mov eax, eax
add dword [ebp + ebx], eax
jmp dword [esi]
pop edi
pop esi
shl bp, 0x20
mov ax, 0x1e
pop ebx
mov esp, ebp
pop ebp
mov edx, edx
ret
shr ah, 0x40
mov ebx, dword [ebp + 0x18]
ja 0x4316a4
jbe 0x40df43
wait
mov ecx, 0x860fba9b
pop ebx
aaa
add al, byte [eax]
jbe 0x4316a4
fsubr dword [ecx + ebp*2]
dec eax
inc edx
add byte [edx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esi], al
push esp
inc ecx
add byte [ebx - 0x20], ah
inc eax
add byte [edi + 0x15], ah
inc ecx
add byte [eax], ah
add byte [eax], al
add byte [eax + eax], bh
add byte [eax], al
or cl, byte [eax - 0x208affbe]
inc eax
add byte [esi], dh
lodsb al, byte [esi]
aad 0xc1
inc edx
add byte [eax + eax], cl
add byte [eax], al
xor byte [eax], al
add byte [eax], al
jmp 0x40dfb1
xor al, 0
add byte [eax], al
cwde
aaa
inc ebx
add byte [edx + eax*8], dl
inc eax
add byte [edi], ch
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
sbb esi, dword [edi + 0x41000042]
add byte [eax + 0x30], al
add byte [ecx], al
add byte [eax], al
add byte [eax], ch
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax], al
out dx, eax
jae 0x40e029
add bl, ch
inc ebx
add byte [eax], cl
add byte [eax], al
xor al, 0
add byte [eax], al
inc esp
bound eax, qword [ecx]
nop
cwde
inc edx
add byte [ebp + 0xf], bl
inc ecx
add byte [eax], cl
add byte [eax], al
mov al, byte [0xd2004164]
test bl, bl
xor eax, 0x34
inc esp
bound eax, qword [ecx]
pop ebx
wait
inc eax
add byte [ebx], bl
mov bh, 0x42
add byte [eax], al
inc ecx
add byte [eax], al
xor al, 0
add byte [eax], al
add byte [ecx], 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 byte [eax], al
add byte [eax], al
out dx, eax
jae 0x40e07d
add byte [ebp + 0xf], bl
inc ecx
add byte [eax + eax], al
add byte [esi - 0x2f], ah
inc edx
add byte [eax], cl
add byte [eax], al
dec eax
add byte [eax], al
add byte [edx + edx*2 + 0x256c0041], dh
retf 0x40de
inc eax
add byte [edx], cl
mov byte [edx], al
mov ah, al
inc eax
add byte [edx], bl
std
sbb dl, ch
rol dword [edx], 0xc
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp + 0xf], bl
inc ecx
add byte [eax], cl
add byte [eax], al
retf 0x40de
mov cl, byte [ebp + 0xc]
lea ecx, [ebp - 0xc]
push 6
ja 0x417cee
mov bp, bp
jbe 0x40e3ca
mov bh, 0xe5
add byte [edx], dh
jbe 0x417cee
add eax, 0x24648d64
add al, 0x66
mov edi, edi
lea esi, [esi + 8]
shr byte [ebp + ebx], cl
jmp dword [esi]
push edx
call fcn.0043b396
call fcn.0040b014
fsubr dword [edi]
xchg dl, ch
xchg ch, dl
push esi
call fcn.0043e043
push 0x103
push esi
call fcn.0042410f
push 0
js 0x440a51
jns 0x40fa70
jo 0x40faaf
jns 0x440a51
xor al, 0x6d
add byte [eax], al
cwde
aaa
inc ebx
add ch, dl
stosd dword es:[edi], eax
inc edx
add ch, dl
and dword [edi + 0x383e], ebx
add byte [edx + eax*8], dl
inc eax
add ch, dl
and dword [edi + 0x383e], ebx
add byte [ebx], bl
mov bh, 0x42
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [ecx], ah
add byte [eax], al
dec esi
add byte [eax], al
add byte [eax], al
adc byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
xor byte [eax], al
add byte [eax], al
cmp eax, 0x4400423d
bound eax, qword [ecx]
into
loope 0x4113be
add byte [edx + eax*8], dl
inc eax
add byte [edi], dl
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebx], dl
lds eax, [edx]
invalid
mov cl, 6
inc edx
add byte [edx], ah
inc eax
inc esp
add byte [edx - 0x3b], al
inc ebx
add dl, dl
adc eax, dword [ecx]
nop
cpuid
ret 0xc542
mov byte [0x44458b4d], al
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
mov al, byte [eax + edx]
lea esi, [esi + 0xc]
or byte [ebp + ebx], al
jb 0x40a9a6
shl ecx, 0x20
jmp dword [esi]
push ds
retf
shr dx, 0x40
mov eax, dword [esi + 4]
mov eax, eax
mov ebx, dword [esi + 8]
lea esi, [esi + 0xc]
test dword [ebx], eax
jb 0x42db49
mov si, si
jmp 0x41759c
invalid
call fcn.004502b0
add bl, 0x9a
sub bl, 0x9a
add esp, 0x14
mov ax, ax
shl si, 0x20
mov dword [ebp - 8], eax
test eax, eax
jb 0x41ec23
mov bx, bx
jne 0x4069a9
je 0x4126e8
leave
test byte [ebp + 0x62], dl
je 0x4069a9
fimul dword [0xffc4458d]
invalid
ret 0xe897
cmp eax, 0x344d8a32
mov al, al
mov ebx, dword [esi + 4]
jno 0x40e432
jo 0x413cf2
nop
cpuid
ret 0x800f
jo 0x40e432
fnstenv [edx - 0x77]
pop ebp
cld
jne 0x413d2d
mov ecx, ecx
je 0x413d09
sti
jge 0x413d70
mov bp, bp
mov ebp, ebp
mov ecx, dword [esi]
push 0xc
push ecx
call fcn.00424c65
add esp, 8
pop edi
pop esi
pop ebx
mov si, si
mov esp, ebp
shr cx, 0x40
pop ebp
ret
lea edx, [ebp - 0x23c]
mov ax, ax
jmp 0x413d37
push ebx
push edx
call fcn.0043e043
add edi, 8
lea eax, [ebp - 0x23c]
jne 0x42927d
je 0x413d55
cmpsd dword [esi], dword es:[edi]
popfd
je 0x42927d
invalid
jmp 0x413db2
xor al, 0xe5
ja 0x404c2c
jbe 0x413d9d
cpuid
nop
ret
jbe 0x404c2c
sti
leave
inc ebx
add byte [eax + 0x6d0042ba], bl
cmp dword [edx], eax
mov al, 0xb0
inc eax
add bl, ah
mov edx, 0x39950042
inc edx
add bl, bh
add al, 0x41
add dh, al
mov al, 0x40
add byte [eax], ch
cmp eax, dword [ebx]
jmp 0x413d53
push 0x435340
ret
jno 0x41adb6
jo 0x416408
nop
cpuid
ret 0x800f
mov esp, ebp
jmp 0x41659a
pop ebp
ret
fnstcw word [ebp + 0x424648d]
lea edx, [ebp - 0x14]
xchg bx, di
xchg di, bx
push esi
lea eax, [ebp + 8]
mov ax, ax
push edx
lea ecx, [ebp - 0x130]
mov ebp, ebp
push eax
jmp 0x416eff
push ecx
call fcn.0040e6b6
add esp, 0x28
push 0x43140f
ret
fild dword [edx + 0x66]
xchg ebp, esi
xchg si, bp
mov dword [edi], ebx
jmp dword [esi]
mov ebx, 0x51b5e8a8
add al, byte [eax]
aad 0xab
inc edx
add cl, ch
add byte [eax], al
add byte [eax], cl
add byte [eax], al
mov al, byte [0x14004164]
test byte [eax], al
add byte [eax], cl
add byte [eax], al
inc esp
bound eax, qword [ecx]
aam 0x22
inc edx
add byte [edx], ch
out dx, eax
inc ecx
add byte [eax], bh
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add bl, bl
inc ebx
add byte [eax], cl
add byte [eax], al
xor al, 0
add byte [eax], al
retf 0x40de
jne 0x441201
test eax, eax
jb 0x4173ed
je 0x42e1bd
jne 0x417745
nop
cpuid
ret 0x458b
mov eax, dword [ebp - 4]
shl cx, 0x20
mov ebx, 1
mov ecx, dword [eax]
shr ah, 0x40
mov dword [0x46ab5d], ecx
mov ecx, dword [eax]
test ecx, ecx
jb 0x4173f9
jne 0x417778
je 0x417772
mov esp, 0x8bc3a20f
pop ebp
clc
mov ebx, dword [ebp - 8]
shl ebx, 0x20
jmp 0x417779
push eax
call edi
test ebx, ebx
jb 0x43c5c7
je 0x42e1bd
jne 0x41778f
sal byte [esi], 1
mov edx, dword [ebp - 0x14]
push str.GetSystemMetrics
jmp 0x417798
push edx
call esi
call fcn.004314c4
fxch st(0)
push ecx
pop ecx
jmp dword [esi]
push ecx
lea edx, [ebp - 0xc]
push 6
push edx
push 0x9c402450
push eax
mov word [ebp - 0xc], 0
mov word [ebp - 0xa], 0
call dword [0x46b308]
test eax, eax
jb 0x42b74d
jne 0x417d3a
je 0x417d21
and byte [ebx + 0xd66540e], al
invalid
or ax, 0xffff
jb 0x43e630
mov esp, ebp
shl dx, 0x20
pop ebp
ret
cmp si, si
cmp word [ebp - 0xa], 0xfafa
je 0x417d69
xchg cx, bp
xchg bp, cx
jne 0x417d53
cmc
les esp, [esi + 0xd]
invalid
or ax, 0xffff
jb 0x423735
mov esp, ebp
pop ebp
xchg dx, bx
xchg bx, dx
ret
mov di, di
mov ax, word [ebp - 8]
mov esp, ebp
mov ax, ax
pop ebp
ret
mov ecx, dword [ebp + 0xc]
xchg cx, si
xchg si, cx
push esi
mov eax, eax
push 0
jne 0x40e496
je 0x418dda
cpuid
ret
je 0x40e496
fsub dword [esi + 0x4c481]
add byte [eax], al
test eax, eax
jb 0x408e23
jne 0x418e13
add byte [eax], al
je 0x418dfc
test eax, 0x6aa027f4
push esi
push 0x2e
push esi
call fcn.00424c65
test al, 0x6d
add esp, 8
jmp loc.00431ec4
js 0x4207e8
jns 0x418e1e
fisubr dword [ebp - 0x3b76f01a]
jns 0x418e23
jns 0x4207e8
add byte [edx + 0x24448f99], al
cld
sbb byte [ecx - 0x3dbbb71], 0xf7
sti
idiv ebx
mov eax, 0x66666667
mov bl, dl
or ax, ax
imul ecx
sar edx, 2
mov ecx, edx
stc
jb 0x418e43
jno 0x418df4
fimul word [edi]
xor al, 0x9c
add dword [eax], eax
jb 0x432b39
invalid
mov eax, dword [esi + 4]
add esi, 0xc
popfd
jno 0x4200d5
xchg bp, si
xchg si, bp
jo 0x419a14
popal
outsd dx, dword [esi]
arpl word [0x66bb800f], sp
add byte [eax], al
jo 0x4200d5
add eax, 0x42c51323
add bh, bh
inc dword [eax]
add byte [eax + eax], dh
add byte [eax], al
inc esp
bound eax, qword [ecx]
frstor dword [edx]
inc edx
add byte [ebx], bl
mov bh, 0x42
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
sbb al, byte [eax]
add byte [eax], al
cwde
aaa
inc ebx
add ch, ah
pop ecx
inc ebx
add byte [eax], cl
add byte [eax], al
cmp al, 0
add byte [eax], al
in eax, 0x59
inc ebx
add byte [eax + eax], bh
add byte [eax], al
dec eax
add byte [eax], al
add byte [ebp + 0xf], bl
inc ecx
add byte [eax + eax], al
add byte [ebx + 0x220043fa], cl
salc
inc ebx
add byte [edx], cl
mov edi, 0x9a870043
inc ecx
add byte [eax - 0x40f50e94], bh
inc ebx
add byte [edx], ah
salc
inc ebx
add cl, bl
stosb byte es:[edi], al
sub eax, 3
jne 0x420219
je 0x419aa2
adc byte [edi], cl
mov byte [0x97850fc3], al
in eax, dx
add byte [eax], al
jne 0x42883f
je 0x419aac
mov al, 0x5d
je 0x42883f
fnstenv [ebp + 0x5f]
mov word [esi + 0x1a], ax
push ebx
pop ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jne 0x419bc5
je 0x419b9d
mov cs, word [eax + 0x65e8711d]
ja 0x419ba1
call fcn.00421307
test eax, eax
jb 0x41b730
add byte [ebp - 0x797df040], al
sbb eax, dword [eax]
add byte [edi], cl
test dword [0x74000000], edx
add edx, dword [ebx - 0x12]
jne 0x419bc5
je 0x419bb5
push ebx
out dx, al
invalid
clc
xor ax, ax
jb 0x41b747
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 4]
push 0
shl dl, 0x20
push eax
mov eax, dword [ebp + 8]
js 0x40e3b6
jns 0x419bdc
clc
hlt
jns 0x40e3b6
add eax, 0x2e2819e
add byte [eax], al
add byte [edi], cl
add byte [ecx - 4], 0xfe
call [ebx + 0x4a]
mov eax, edx
call fcn.0040c963
invalid
fdivr st(3)
jno 0x423b1c
jo 0x419ca4
nop
cpuid
ret
jo 0x423b1c
idiv byte [ebx + edi]
mov dword [ebp + 0x30], eax
jmp dword [esi]
mov eax, dword [ebp - 0xc]
add esp, 0x50
test eax, eax
jb 0x43fba7
je 0x43a5b4
jne 0x419f21
daa
loop 0x419ead
mov ecx, dword [edi]
xor edx, edx
jb 0x43640d
rdtsc
ror byte [edi], cl
and dl, 0xc4
add dword [eax], eax
mov dl, byte [ebx + 7]
push edi
lea ebx, [ebx]
jmp 0x419f32
push edx
mov edx, dword [ecx + 0x76]
mov ecx, dword [ebp + 0xc]
shr bl, 0x40
push edx
mov edx, dword [ebp - 0x10]
jmp 0x419f42
push ecx
mov ecx, dword [ebp - 8]
shr dl, 0x40
jne 0x426678
je 0x419f54
bnd jg 0x419f64
je 0x426678
test byte [esi], bl
mov dword [eax], 0x24448f00
pop dword [esp - 4]
add cl, al
in eax, 0x20
add esi, 0xc
js 0x41b8c9
jns 0x41a144
mov ecx, 0xf780960
mov dword [edi + 0x17], edi
add byte [eax], al
jns 0x41b8c9
invalid
xor ecx, ecx
jb 0x42e150
xor ebx, ebx
jb 0x42e15a
test edx, edx
jb 0x423937
jbe 0x41a34f
shl bh, 0x20
ja 0x41a319
sub dword [eax - 0x75], ecx
inc ebp
or al, al
loop 0x41a33f
mov eax, dword [ebp + 8]
shl dl, 0x20
mov al, byte [ecx + eax]
cmp al, 0xd
je 0x41a33e
jne 0x41a32e
cmp dword [esp + edi + 0xa], esi
cmp al, 0xa
je 0x41a33e
jne 0x41a33a
stc
les ecx, [eax + 0x41433b04]
mov byte [ebx + edi], al
inc ebx
inc ecx
cmp ecx, edx
jb 0x41a319
lea esi, [esi]
jae 0x41a34f
iretd
test bl, 3
jb 0x43929e
je 0x41a36f
jne 0x41a364
or al, 0xff
push esp
fistp word [edi + 0x5e]
pop edi
pop esi
mov ax, 0xcf
pop ebx
pop ebp
ret
lea ecx, [ebx + ebx*2]
lea ebp, [ebp]
shr ecx, 2
add ecx, 0x10
jmp 0x41a37f
push ecx
call fcn.0042c2e7
mov edx, dword [ebp + 0x10]
add esp, 4
test eax, eax
jb 0x4392a7
mov dword [edx], eax
jne 0x421b80
je 0x41a3a5
cpuid
ret
jmp 0x41a3a6
push edi
call fcn.0042c2fe
add esp, 4
jne 0x4206b8
je 0x41a3bf
mov dword [0xf34019e], eax
test bl, dh
bound eax, qword [eax]
add byte [esi + eax], dh
je 0x4206b8
xor al, 6
invalid
js 0x43923b
mov si, si
jns 0x41ac58
or eax, 0xf45bf8d
mov ebp, ebx
in eax, 1
invalid
invalid
invalid
jns 0x43923b
invalid
invalid