Function at 0x4b4e92
Capabilities:
Check os version

Disassembly:
lea eax, [ebp - 0x3c]
push eax
jmp 0x491246
push ecx
mov ebx, ebx
push 0x536010
push 0
jmp 0x491252
push edi
call dword [ebp - 0x1c]
test eax, eax
jb 0x4b9921
je 0x4c01a0
jne 0x49126a
or eax, 0x3966840f
rol byte [ebp - 0x4b7df00a], cl
xchg byte [edx], al
add byte [edi], cl
test byte [eax + eax], dl
add byte [eax], al
cmp dx, dx
test esi, esi
jb 0x4b9929
je 0x49128f
jne 0x491281
loop 0x491286
call 0xffd168cb
push esi
mov bh, bh
call fcn.004aae4e
wait
add dword [eax], eax
add esp, 4
lea edx, [ebp - 4]
shl bx, 0x20
push 0
jno 0x4bf2d4
jo 0x4912a2
sbb dword [bx], ecx
sub byte [eax], 2
add byte [ebp - 0x77fbdb9c], cl
lea esp, [esp + 4]
mov byte [esi + eax + 0x24], dl
ja 0x4bcfc2
jbe 0x4912ba
jo 0x4bf2d4
out 0x1e, eax
call fcn.0049981c
and eax, 0x24448f8a
cld
jmp 0x4ac631
ret
jmp 0x49fcd3
push edi
call dword [ebp - 0x10]
test esi, esi
jb 0x499fd3
je 0x49fcf8
jne 0x49fceb
invalid
push esi
call fcn.004aae4e
add esp, 4
jmp 0x49fcf9
push ebx
shr di, 0x40
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
push esi
pop esi
ret
out dx, al
jmp 0xc1b10e22
mov ebx, eax
lea eax, [ebp - 0xc]
lea ecx, [ebp - 4]
push eax
push 0x4a3761
ret
test cl, 0x53
add esp, 4
xor esi, esi
jb 0x499fcc
js 0x49a03f
jns 0x4a2df4
cpuid
ret
jns 0x49a03f
mov dword [eax + 0x4a9725], 0
xor byte [eax], al
add byte [eax], al
or edx, dword [esi + 0x48]
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp + ecx*2 + 0x30c90049], dl
dec ecx
add byte [esi + 0x3f], dl
dec ecx
add byte [edx + 0x2e], bh
dec edx
add byte [ebx], bl
sti
dec eax
add byte [eax], al
add byte [eax], al
cmp dword [eax], eax
add byte [eax], al
pop edx
jae 0x4a2e7d
add byte [esi + ebp], bh
dec edx
add byte [0x6b2fa1e6], ah
mov byte [0x6100004a], al
add byte [eax + 0x38], al
add byte [ecx], ah
add byte [eax], al
jo 0x4a2e4e
add byte [eax], al
add byte [ecx], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], dh
add byte [eax], al
add byte [edi], bh
pop edi
dec ecx
add byte [ebp + 0x440048fa], ch
add byte [eax], al
add ah, ch
sub eax, 0x400049
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
add al, 0x3e
dec ecx
add al, al
arpl word [edi + 0x7d], dx
dec ebx
add byte [eax], ah
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add cl, al
dec cx
add byte [ecx + 0x3000cf70], bl
add byte [eax], al
add byte [edi + 0x20004900], dh
add byte [eax], al
add byte [eax + eax], cl
add byte [ebp + 0x440048fa], ch
add byte [eax], al
add bl, bl
in eax, 0x4b
add byte [ebp + 0x12], ah
dec ebx
add byte [edx - 0x56], bl
dec ebx
add byte [eax + 0x1d004a2e], bh
fcomp dword [edx - 0x56]
dec ebx
add byte [ebp + 0x12], ah
dec ebx
add byte [0x4aa26be1], al
adc cl, byte gs:[ebx]
add eax, 0x4aa26be1
add byte [eax], al
inc ecx
add byte [eax + 0x40], al
add byte [ecx], al
add byte [eax], al
add al, 0
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
aas
pop edi
dec ecx
add bl, dh
dec esp
dec ebx
add byte [esi + 0x3f], dl
dec ecx
add byte [ebx + 0x5a004b00], ah
jae 0x4a2f3f
add ch, bh
dec edx
add byte [ecx], dl
jns 0x4a2ebc
and eax, 0xc004aad
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebx - 0x5e], ch
dec edx
add byte [eax], al
inc ecx
add byte [eax + 0x30], al
add byte [ecx], al
add byte [eax], al
fidiv word [ecx]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax + eax], dh
add byte [eax], al
aas
pop edi
dec ecx
add bl, bl
in eax, 0x4b
add byte [ebp], dl
dec ebx
add byte [edx - 0x56], bl
dec ebx
add byte [ecx + 0x2f], al
dec edx
add byte [eax + ecx*2 - 0x55a5c698], dl
dec ebx
push 0x4baa5a39
add byte [ebp], dl
dec ebx
add byte [edx + 0x153968eb], al
dec esp
add bl, al
fstp dword [ebx - 0x7df0f858]
daa
ret 1
call fcn.004c1798
xor eax, 0x3f870f13
invalid
add esp, 0xc
push ebx
mov bl, bl
call fcn.004aae4e
test cl, 0xf0
add esp, 4
xor ax, ax
jb 0x49b0a5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jmp 0x4b4e68
push edi
call dword [ebp - 0x10]
push esi
call fcn.004aae4e
mov ecx, dword [ebp - 0xc]
stc
add esp, 4
jmp 0x4b4e7e
push ecx
ja 0x4c0544
jbe 0x4b4e8a
pushfd
xor al, 0xf
xchg byte [esi + esi*4 - 0x4bfb0000], dh
jbe 0x4c0544
add eax, 0x24448fb4
cld
pop edx
inc ecx
push 0x4a177a
ret
sub byte [esi + 0x63], 0xb0
dec edx
add bh, bh
inc dword [eax]
add byte [eax], dh
add byte [eax], al
add byte [ebp + ecx*2 + 0x68b20049], dl
dec ebx
add byte [ebp + 0x440048fa], ch
add byte [eax], al
add byte [esi + edi], al
dec ecx
add dh, dl
int 0xb
push esi
dec eax
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp + ecx*2 - 0x6375ffb7], dl
dec ebx
add byte [esp + edi*2 + 0x34004b], dl
add byte [eax], al
xor al, 0
add byte [eax], al
push esi
aas
dec ecx
add byte [edi - 0x49ffb583], dh
mov esp, 0x44004a
add byte [eax], al
inc esp
add byte [eax], al
add byte [edx + 0x73], bl
dec edx
add byte [ebp + 0xf004b99], cl
mov byte [0x1a3bc390], al
dec ebx
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp + ecx*2 - 0x636dffb7], dl
dec ebx
add byte [esp + edi*2 + 0x34004b], dl
add byte [eax], al
xor al, 0
add byte [eax], al
imul esp, dword [edx + 0x6100004a], 0
xor byte [eax + eax], 0
add byte [eax], al
and dword [eax], eax
add byte [edx], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add al, ch
and cl, byte [ebx]
lodsd eax, dword [esi]
cli
dec eax
add byte [eax + eax], al
add byte [esi - 0x4effb403], cl
jge 0x4b9a2a
add dl, bl
pop eax
add byte [eax], al
add byte [ebp + 3], dh
adc dl, bh
cmpsb byte [esi], byte es:[edi]
mov ecx, dword [ebp + 0xc]
shl ax, 0x20
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
add cx, 0x93f7
sub cx, 0x93f7
xor eax, eax
jb 0x4c1e2b
pop ebp
call fcn.004aec79
call fcn.0049210b
push 0x48df89
ret
jmp 0x4bf2d5
push edx
push 0
lea eax, [ebp - 0x3c]
push 0
jmp 0x4bf2df
push eax
push edi
xchg ebx, edx
xchg edx, ebx
call dword [ebp - 0x14]
mov eax, dword [ebp - 4]
push eax
mov ebx, eax
call fcn.004aae37
mov esi, eax
add esp, 4
test esi, esi
jb 0x4a1793
je 0x4c055c
jne 0x4bf310
xchg cl, al
lea ecx, [ebp - 4]
shr dx, 0x40
push 0
shl edx, 0x20
push ecx
push ebx
mov eax, eax
lea edx, [ebp - 0x3c]
push esi
shl ebx, 0x20
push edx
shl si, 0x20
push edi
mov dword [esi], 5
mov dl, dl
call dword [ebp - 0x14]
test eax, eax
jb 0x4a17ad
ja 0x4c01dc
jbe 0x4bf34d
xor byte [eax], 0xd7
jbe 0x4c01dc
xor eax, 0x24648d31
add al, 0x8d
add al, 0xb
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [ebp + 0xc]
push eax
jmp 0x4bf364
push ecx
call int.004b9ee6
or di, di
jno 0x4b3ee3
jo 0x4bf37a
nop
cpuid
ret
jo 0x4b3ee3
fidiv dword [edi]
mov esi, esi
mov bl, bl
push esi
call fcn.004aca69
add bl, 0xab
sub bl, 0xab
add esp, 4
ja 0x4a2758
jbe 0x4bf3a2
jbe 0x4a2758
jbe 0x4a2758
call dword [sym.imp.KERNEL32.DLL_GetLastError]
test edx, 0xc80a1c5a
cmp eax, 0x103
je 0x49fcd2
jne 0x4c01bd
cpuid
ret
jmp 0x4c01be
push esi
mov dx, dx
call fcn.004aae4e
ja 0x4a2dd7
jbe 0x4c01d4
cpuid
nop
ret
jbe 0x4a2dd7
or byte [ecx + 0xf], 0x84
test dword [edi + edi*8 - 1], ecx
je 0x4b4e67
jne 0x4c01e8
cpuid
nop
ret
mov eax, dword [ebp - 0x18]
xchg dl, cl
xchg cl, dl
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], eax
mov dh, dh
lea ebx, [esi + 4]
inc ecx
add eax, 0x100
push ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], eax
ja 0x4bf03a
jbe 0x4c0213
nop
cpuid
ret
jbe 0x4bf03a
xor al, 0
arpl word [eax - 0xffb6], si
add byte [eax], al
xor al, 0
add byte [eax], al
xchg esp, eax
dec ebp
dec ecx
add byte [eax + 0x50], dl
dec eax
add byte [ebx - 0x5e], ch
dec edx
add byte [eax], al
popal
add byte [eax + 0x38], 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]
cmp ebx, dword [edx]
dec ebx
add byte [eax], cl
add byte [eax], al
xor al, 0
add byte [eax], al
xchg esp, eax
dec ebp
dec ecx
add dl, al
in eax, dx
dec ecx
add byte [ebp + 0x480048fa], ch
add byte [eax], al
add byte [ebx - 0x5e], ch
dec edx
add byte [eax], al
inc eax
add byte [eax], al
xor al, 0
cli
dec eax
add byte [eax], cl
add byte [eax], al
imul esp, dword [edx + 0x4000004a], 0
add byte [eax + eax], dh
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
push eax
add byte [eax], al
add al, ch
and cl, byte [ebx]
lodsd eax, dword [esi]
cli
dec eax
add byte [eax + eax], al
add byte [esi + 0x30004abc], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esi + 0x38004abc], dh
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [esi + edi], al
dec ecx
add al, al
out dx, al
je 0x4c0268
dec edx
add byte [eax], ah
test eax, 0x9050048
lea esi, [esi + 4]
mov dword [ebp + 0x40], esp
shl si, 0x20
jmp dword [esi]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
xchg bp, ax
xchg bp, ax
pop edi
mov ah, ah
pop esi
pop ebx
mov bx, bx
mov esp, ebp
pop ebp
ret
push edi
call dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
xchg ch, dl
xchg dl, ch
push edx
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ja 0x49fccf
jbe 0x4c0581
je 0x4c05f8
xchg byte [edi + ecx - 0x208b77a], al
inc dword [edx + 0xc60e8de]
std
jbe 0x49fccf
sbb dh, 0xe8
pushal
or al, 0xfd
inc edi
sahf
loopne 0x4c061a
and byte [esp + eax + 0xf], bh
mov byte [0x768dc390], al
or byte [edi], cl
and dword [0x51fffc33], 0x3027059
push cs
lea esp, [esp + 4]
mov ecx, dword [ebp - 8]
jne 0x491240
je 0x4c17ab
jmp 0x4c1828
je 0x491240
or edx, dword [esi + 0x48]
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp + ecx*2 + 0x435f0049], dl
dec eax
add byte [esi + 0x3f], dl
dec ecx
add byte [ebp + 0x5a0048c4], bl
jae 0x4c181a
add bh, dl
pop ss
dec esp
add cl, cl
fsub qword [0xc004aad]
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp + 0x480048fa], ch
add byte [eax], al
add byte [esi + 0x30004abc], dh
add byte [eax], al
mov dh, 0xbc
dec edx
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
arpl word [eax - 0xffb6], si
add byte [eax], al
xor al, 0
add byte [eax], al
xchg esp, eax
dec ebp
dec ecx
add byte [ebx + eax*2 + 0x48], dh
add byte [ebx + 8], ah
dec ecx
add byte [ebx - 0x3c], ch
dec eax
add byte [ebp + 0x12], cl
dec edx
add byte [edi], bl
sbb byte [eax + eax - 0x70], cl
cpuid
ret 0x124d
add byte [eax + 0x4dc2a20f], dl
adc cl, byte [edx]
imul eax, esp, 0x48
add byte [0x493e0465], dh
add al, 0x3e
dec ecx
add bl, ch
jle 0x4c17e9
xor ecx, dword [edx]
add al, byte [eax]
add byte [eax], al
xor byte [eax], al
add byte [eax], al
push esi
aas
dec ecx
add byte [ecx], bl
sbb dword [eax + eax + 0x5a], ecx
jae 0x4c1890
add byte [edi + 0x18], cl
dec esp
add ch, bl
push 0xa26b643f
dec edx
add byte [eax], al
popal
add byte [eax + 0x34], 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
xor byte [eax], al
add byte [eax], al
call 0x404c6396
popfd
dec eax
add byte [eax - 0x66], cl
add byte [eax], al
cmp al, 0
add byte [eax], al
imul esp, dword [edx + 0x6100004a], 0
xor byte [eax + eax], 0
add byte [eax], al
and dword [eax], eax
add byte [edx], cl
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ebp - 0x6bffb5d8], cl
dec ebp
dec ecx
add ah, bl
cli
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
lea ebp, [eax]
dec edx
add byte [ebp + ecx*2 - 0x523ffb7], dl
dec eax
add byte [eax + edx*8], dl
dec eax
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [eax], al
invalid
fnstenv [edi - 0x78]