Function at 0x463437
Capabilities:
Check os version

Disassembly:
jmp 0x42c4fe
push eax
mov eax, dword [0x5d21a9]
push ecx
push ebp
pop ebp
push edx
push edi
push 0x9c402458
push eax
call dword [0x5d28a8]
jmp 0x42c519
push edi
push 0x466207
ret
cmp word [ebx], 0
jne 0x4588cc
xchg esi, ebx
xchg ebx, esi
je 0x42f812
xchg ebx, eax
xchg ebx, eax
clc
test dword [eax - 0x51], ebp
mov byte [ebp], al
push 0x4588af
ret
jg 0x42fc3c
push esi
pop esi
xchg al, dl
xchg dl, al
ja 0x43591e
jbe 0x42fbcf
jbe 0x43591e
jne 0x44968e
je 0x42fc48
push cs
xchg ebp, eax
or dword ds:[edi], ecx
test byte [eax - 0x66], al
add dword [eax], eax
je 0x44968e
fidivr dword [edx - 0x7f]
les ecx, [eax]
add byte [eax], al
add byte [edi + 0x5e], bl
pop ebx
jne 0x44ceda
je 0x42fc64
aam 0x97
mov bh, 0xf
test byte [eax - 0x2e], dh
add dword [eax], eax
je 0x44ceda
xor al, 0x9d
or dword [ebx], eax
jb 0x45e0ae
jmp dword [esi]
lea esi, [esi + 0xc]
and dword [ebx], eax
jb 0x449dd3
jmp dword [esi]
jno 0x436e9e
jo 0x431eec
or ecx, dword [ebx - 0x7ff09d2f]
lodsb al, byte [esi]
dec edi
add byte [eax], al
jo 0x436e9e
add eax, 0x74820f61
mov eax, 0x473ffff
and ebp, esp
cmp al, 0x61
jb 0x431f20
mov edx, edx
jae 0x431f10
adc esi, dword [ecx + 0x3e]
cmc
stc
cmp al, 0x66
ja 0x431f20
jbe 0x431f1e
salc
add eax, 0xfe0042d
xchg ecx, edi
out 0, al
add byte [esi + 3], dh
add al, 0xe0
ja 0x44061f
jbe 0x431f2b
insb byte es:[edi], dx
fild dword [esi + 0xf]
xchg dh, ch
out 0, al
add cl, bl
outsd dx, dword [esi]
jmp 0x45019c
jbe 0x44061f
fldcw word [edi - 0x17]
loop 0x431f38
add byte [ebx], dh
xor al, 0x63
shl dl, 0x20
call fcn.004536dc
mov dl, dl
mov esi, eax
add esp, 0x18
test si, si
jb 0x449582
je 0x4497d6
jmp 0x43cffd
jne 0x43ee22
je 0x43466d
xchg esi, eax
add byte [edi], cl
test byte [edi - 0x26ffff59], ch
sub byte [ebx + 0x5d], bl
je 0x43ee22
ret
push 0x43b391
ret
sbb al, 0xcb
jbe 0x4453dc
add eax, 0x58c28029
jno 0x4643c5
jo 0x435ef0
ret
jo 0x4643c5
and eax, 0x24448f77
cld
mov ecx, dword [esi]
add esi, 4
test ecx, 0x1000
jb 0x45ea07
jne 0x43b4aa
je 0x435f1c
in eax, dx
imul dword [edi + 0x3440e990]
add eax, dword [eax]
jmp fcn.00469361
mov ch, 0x54
shr al, 0x40
push 0x42fc8f
ret
push esi
mov ah, ah
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax]
add esi, 8
shl eax, cl
add edi, eax
jmp 0x463a15
mov dl, byte [ebp + eax - 0x10]
xchg cl, al
mov bh, bh
xchg al, cl
mov cl, byte [esi + 0xbc]
stc
add esi, 0
push eax
movsx eax, word [0x44fb1b]
xchg al, al
pop eax
jno 0x43d022
cpuid
push esi
ret
jno 0x446584
xor al, 0x5e
mov ax, word [edi + 0x24]
mov di, di
jmp 0x43d032
push eax
jmp 0x450fcb
xor eax, 0x818668cb
inc esi
add bl, al
invalid
invalid
jmp 0x43ee70
push eax
call fcn.0044b565
add esp, 0xc
pop edi
pop esi
xchg cl, ah
xchg ah, cl
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
test eax, eax
jb 0x44db75
je 0x45f636
shl bp, 0x20
jne 0x43eea5
mov esi, 0xfb151b1
xchg dword [ebx + 0x76000085], edi
add ch, byte [ebx + esi*8 + 0xf]
xchg byte [ecx + 0x5000085], dh
inc ecx
ja 0x447466
jbe 0x43eeaf
insb byte es:[edi], dx
jbe 0x447466
jbe 0x447466
add eax, 0x1b85e41
add byte [eax], al
add byte [ebx + 0x5d], bl
pop esi
mov eax, 1
pop ebx
pop ebp
ret
jne 0x44a7a1
je 0x43fad2
pop eax
pop ebx
je 0x44a7a1
add eax, 0xcc48162
add byte [eax], al
add byte [ecx], dh
ror byte [edi], 0x82
jmp 0x6743fa39
inc ebx
sub eax, 0x1e890f43
cwde
add byte [eax], al
push edi
call fcn.0043eec2
mov ecx, dword [ebp + 0x24]
jne 0x44564c
je 0x444354
nop
cpuid
ret
je 0x44564c
xor eax, 0xdd850f65
sar esi, 1
push dword [edx + eax + 0x3c]
das
je 0x43153f
rcl ecx, cl
invalid
fmul dword [edi - 0x75]
push esi
add al, 0x8a
dec ebp
xor al, 0x8d
jbe 0x44437f
shr byte [ebx + edx], cl
jmp 0x46706c
add eax, 0xeb1d68fd
inc edx
add bl, al
push edi
add al, byte [ebx]
cmp byte [eax], al
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
imul esi, dword [ecx + 0x20044], 0x300000
add byte [eax], al
push es
mov ebp, 0x43ae0043
inc ebx
add byte [edx + edi*8 + 0x45], al
add byte [eax + eax], al
add byte [eax + eax], al
add byte [edx], cl
int1
inc esp
add byte [edi + 0x63004443], bh
mov al, byte [0x2ad5d93b]
inc ebp
add byte [eax + eax], cl
add byte [eax], al
xor byte [eax], al
add byte [eax], al
movzx eax, byte [edx]
jmp 0x444368
push edi
mov bh, bh
mov eax, dword [esi + 4]
mov eax, dword [ebp + eax]
js 0x437f6e
jns 0x445404
mov edx, dword [ebp + 0x20]
shl ah, 0x20
mov eax, dword [ebp + 0x1c]
clc
add esp, 4
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
jne 0x42c4fd
push esi
pop esi
je 0x445673
or eax, 0xf24ef46
test byte [esi + ebp*2 + 0x7f82fffe], al
sbb esp, dword [eax]
je 0x42c4fd
cmp byte [edi + 0x1b], 0x20
inc ebp
add byte [eax], al
inc ecx
add byte [eax], al
xor byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], ah
xor byte [eax + eax], 0
add byte [eax], al
and dword [eax], eax
add byte [edx], dl
add byte [eax], al
add bh, ch
fadd qword [ebx]
adc eax, dword [esi + 0x47ff0043]
inc ebp
add ch, bh
pop dword [eax + eax - 0x4f]
push esi
inc esp
add byte [ebp + 0x448ffd65], cl
add bh, bh
inc edi
inc ebp
add byte [0x3e9c185], ah
and ecx, 7
jb 0x4453ef
jno 0x45e2c5
mov ch, ch
jo 0x4456d8
cpuid
nop
ret
jo 0x45e2c5
xor byte [esi - 0x2b], 0x2a
inc ebp
add byte [eax + eax], cl
add byte [eax], al
xor byte [eax], al
add byte [eax], al
pop ebp
js 0x445732
add byte [eax], cl
add byte [eax], al
cmp al, byte [ebp]
xor byte [eax], al
add byte [eax], al
xor al, 0
add byte [eax], al
adc ebp, dword [esi]
inc ebp
add bh, bh
inc dword [eax]
add byte [eax + eax], dh
add byte [eax], al
inc esp
retf
add byte [eax + 0x38], al
add byte [ecx], ah
add byte [eax], al
add byte ds:[eax], al
add byte [eax - 0x35ffba60], bl
inc edi
inc ebx
add byte [0x3d000000], bh
add byte [eax], al
add byte [ebp + 0x78], bl
inc ebx
add byte [eax + eax], al
add byte [esi], bh
jnp 0x4457a1
add byte [edi + ecx*4 + 0x44], cl
add bh, al
std
add edi, eax
test ecx, 0x80000000
jb 0x435ed9
shr si, 0x40
jne 0x44b0ba
je 0x44577e
invalid
shr ax, 0x40
mov esi, esi
mov bx, bx
mov ecx, dword [esi]
or ah, ah
add esi, 8
test ecx, 0x1000
jb 0x435ee1
mov al, al
jne 0x43a91e
jns 0x4457f4
invalid
je 0x4457ab
outsd dx, dword [esi]
sbb cl, 0x5c
clc
popfd
jmp dword [esi - 4]
add byte [eax], al
mov bh, bh
jl 0x432e13
jge 0x445804
mov dword [0x687485b1], eax
movsd dword es:[edi], dword [esi]
inc ebp
add bl, al
and eax, 0x5f5d552d
push 0x45a5f2
ret
mov ch, ch
jmp fcn.0042e293
mov ecx, dword [ebp - 0x28]
mov ax, word [ebp + eax]
mov ax, ax
mov eax, eax
lea esi, [esi + 0xc]
adc word [ebp + ebx], ax
jmp dword [esi]
mov eax, ecx
and eax, 0xffff
jb 0x42fbd5
jmp fcn.0045e03a
jecxz 0x44db74
jecxz 0x44db74
js 0x469486
jns 0x44db83
aaa
cpuid
ret
jns 0x469486
cmp edx, edx
add esi, 4
test cx, 0xe2a1
or ecx, ecx
jno 0x452590
fld dword [edx + 0x66]
or edi, edi
xor eax, ecx
jb 0x431c86
clc
push edx
sub dx, 0x973f
pop edx
xor eax, 0x8436
jb 0x42fbbd
mov dh, dh
js 0x431ee0
jns 0x4574e6
pop ebx
mov ebp, 0xa9f4890f
std
jmp dword [0x4468bad]
jns 0x431ee0
and eax, 0x4468bad
shr dh, 0x40
mov ebx, dword [esi + 8]
ja 0x448a76
jbe 0x457502
insb byte es:[edi], dx
mov bh, 0xcf
jbe 0x448a76
fsqrt
shr di, 0x40
mov byte [esi + 0xba], bl
shl edi, 0x20
push 0x450b83
ret
mov eax, 0x81
call fcn.00467158
xor al, 0x10
inc eax
add ebx, 0xc
cmp eax, ecx
mov dx, dx
jb 0x42f7fd
jae 0x4588c5
mov dword [ecx + ebp*8 + 9], edx
xchg esi, eax
outsb dx, byte [esi]
jmp 0x4588d3
mov dword [ebp - 8], 1
shr bx, 0x40
lea edx, [ebp - 4]
push esi
push edx
push 0
lea eax, [ebp - 0x2c]
push 6
mov cl, cl
lea ecx, [ebp - 0x130]
shl edi, 0x20
push eax
push ecx
call fcn.0045f1ad
mov ch, ch
mov edi, eax
add esp, 0x18
test di, di
jb 0x444335
je 0x43ee8a
jne 0x458917
fstp dword [edx]
and al, 0xe3
mov edx, dword [ebp + 8]
push edx
call fcn.00452bfe
mov eax, dword [esi]
jmp 0x458924
push edi
jne 0x43ee6f
je 0x458931
stosb byte es:[edi], al
cmp dword [ebx + 0xf], ecx
test byte [eax], bh
invalid
je 0x43ee6f
xor eax, 0x43785dfa
add byte [eax + eax], al
add byte [eax - 0x7f], ah
inc ebp
add byte [eax], al
add byte [eax], al
dec esp
add byte [eax], al
add byte [ebx + edi*4 - 0x2c57ffbd], dh
jnp 0x45899c
add byte [ebx], bh
xor dword [ebp], eax
and eax, 0xfc66ff7f
pop gs
push ecx
pop ecx
shr ax, 0x40
clc
test ecx, 0x100
jb 0x4574ba
jne 0x439e36
je 0x45897f
invalid
and dx, dx
test ecx, 0x200
jb 0x43d303
jne 0x463a4b
shr edx, 0x40
je 0x45899b
mov cl, 0xd6
shr si, 0x40
shr esi, 0x40
mov eax, dword [esi + 4]
movzx eax, word [ebp + eax]
add esi, 8
mov bp, bp
shl eax, cl
add edi, eax
push 0x439e0c
ret
mov eax, ebx
cmp ecx, 3
mov eax, dword [esi]
push 0
push eax
call fcn.0044b565
shr dh, 0x40
mov ecx, dword [ebp + 8]
shr bp, 0x40
push ecx
call fcn.00452bfe
mov edx, dword [ebp - 4]
push edx
call fcn.00452bfe
add esp, 0x10
push 0x447117
ret
mov ah, ah
jmp 0x4588a3
pop dword [esp - 4]
xchg di, cx
xchg cx, di
lea ebx, [ebx]
jne 0x4624f4
je 0x46344e
dec ebp
rcr dword [edi], 0xc0
out 0x20, al
shl dh, 0x20
xchg ah, dh
xchg dh, ah
ja 0x43fac8
jbe 0x463461
mov al, byte [0xf004afe]
xchg byte [ecx - 0x3a], ah
std
push dword [0x431f33eb]
jbe 0x43fac8
xor eax, 0x431f33eb
add byte [0x38000000], bh
add byte [eax], al
add byte [ebx], dh
pop ds
inc ebx
add byte [eax], bh
add byte [eax], al
add byte [0x5d000000], bh
js 0x4634c7
add byte [eax + eax], al
add byte [ebx + edi*4 + 0x7a360043], dh
test byte [eax + eax], ah
add byte [eax], al
add al, bl
xor al, 0x46
add byte [esi + 0x4634f6], bh
jmp dword [esi]
mov eax, dword [esi + 4]
movzx eax, byte [ebp + eax]
add esi, 8
shl eax, cl
add edi, eax
test ecx, 0x80000000
jb 0x468197
jne 0x4501f5
invalid
push ecx
pop ecx
je 0x463a76
lodsd eax, dword [esi]
mov dword [0x20e3c02d], eax
shl bl, 0x20
ja 0x45257d
jbe 0x463a84
pop eax
das
test eax, 0xeaf3860f
invalid
jbe 0x45257d
ficom dword [ebx + 0x1b]
and byte [ebp], al
add byte [ecx], ah
xor byte [eax + eax], 0
add byte [eax], al
and dword [eax], eax
add byte [eax + eax + 0x10000000], bh
add byte [eax], al
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [eax + 0x1b0045a0], bl
and byte [ebp], al
add byte [ecx], al
xor byte [eax], 0
add byte [eax], al
add byte [ecx], al
add byte [eax], al
popfd
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
inc ecx
add byte [eax], al
dec eax
add byte [eax], al
add bh, ch
fadd qword [ebx]
jmp 0x463a6d
jmp dword [esi]
invalid
invalid
shr bh, 0x40
shl si, 0x20
mov eax, dword [esi + 4]
shl dx, 0x20
mov eax, dword [ebp + eax]
mov ebx, dword [esi + 8]
jno 0x434663
jo 0x4694a5
mov ch, 0xc3
jo 0x434663
xor eax, 0x1b85ecf
add byte [eax], al
add byte [ebx + 0x5d], bl
ret