Function at 0x4d8d02
Capabilities:
Check os version

Disassembly:
lea eax, [ebp - 0x3c]
push eax
jmp 0x4b50b6
push ecx
mov ebx, ebx
push 0x5ca010
push 0
jmp 0x4b50c2
push edi
call dword [ebp - 0x1c]
test eax, eax
jb 0x4dd791
je 0x4e4010
jne 0x4b50da
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 0x4dd799
je 0x4b50ff
jne 0x4b50f1
loop 0x4b50f6
call 0xffd3a73b
push esi
mov bh, bh
call fcn.004cecbe
wait
add dword [eax], eax
add esp, 4
lea edx, [ebp - 4]
shl bx, 0x20
push 0
jno 0x4e3144
jo 0x4b5112
sbb dword [bx], ecx
sub byte [eax], 2
add byte [ebp - 0x77fbdb9c], cl
lea esp, [esp + 4]
mov byte [esi + eax + 0x24], dl
ja 0x4e0e32
jbe 0x4b512a
jo 0x4e3144
ret
jmp 0x4c3b43
push edi
call dword [ebp - 0x10]
test esi, esi
jb 0x4bde43
je 0x4c3b68
jne 0x4c3b5b
invalid
push esi
call fcn.004cecbe
add esp, 4
out dx, al
jmp 0xc1b34c92
test cl, 0x53
add esp, 4
add esp, 0xc
push ebx
mov bl, bl
call fcn.004cecbe
test cl, 0xf0
add esp, 4
xor ax, ax
jb 0x4bef15
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jmp 0x4d8cd8
push edi
call dword [ebp - 0x10]
push esi
call fcn.004cecbe
mov ecx, dword [ebp - 0xc]
stc
add esp, 4
jmp 0x4d8cee
push ecx
ja 0x4e43b4
jbe 0x4d8cfa
pushfd
xor al, 0xf
xchg byte [esi + esi*4 - 0x4bfb0000], dh
jbe 0x4e43b4
add eax, 0x24448fb4
cld
pop edx
sub byte [esi - 0x2d], 0xee
dec esp
add bh, bh
inc dword [eax]
add byte [eax], dh
add byte [eax], al
add byte [esp + ecx*4], al
dec ebx
add byte [edx], ah
cmpsd dword [esi], dword es:[edi]
dec ebp
add byte [0x44004b39], bl
add byte [eax], al
add byte [esp + edi*2 + 0x4b], dh
add dh, dl
int 0x7b
xchg esp, eax
dec edx
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esp + ecx*4], al
dec ebx
add dl, bh
fimul dword [ebp]
add al, 0xbb
dec ebp
add byte [eax + eax], dh
add byte [eax], al
xor al, 0
add byte [eax], al
invalid
call fcn.004b5f7b
push 0x4b1df9
ret
jmp 0x4e3145
push edx
push 0
lea eax, [ebp - 0x3c]
push 0
jmp 0x4e314f
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.004ceca7
mov esi, eax
add esp, 4
test esi, esi
jb 0x4c5603
je 0x4e43cc
jne 0x4e3180
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 0x4c561d
ja 0x4e404c
jbe 0x4e31bd
xor byte [eax], 0xd7
jbe 0x4e404c
xor eax, 0x24648d31
add al, 0x8d
add al, 0xb
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [ebp + 0xc]
push eax
jmp 0x4e31d4
push ecx
call fcn.004ddd56
or di, di
jno 0x4d7d53
jo 0x4e31ea
nop
cpuid
ret
jo 0x4d7d53
fidiv dword [edi]
call dword [sym.imp.KERNEL32.dll_GetLastError]
test edx, 0xc80a1c5a
cmp eax, 0x103
je 0x4c3b42
jne 0x4e402d
cpuid
ret
jmp 0x4e402e
push esi
mov dx, dx
call fcn.004cecbe
ja 0x4c6c47
jbe 0x4e4044
cpuid
nop
ret
jbe 0x4c6c47
or byte [ecx + 0xf], 0x84
test dword [edi + edi*8 - 1], ecx
je 0x4d8cd7
jne 0x4e4058
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 0x4e2eaa
jbe 0x4e4083
nop
cpuid
ret
jbe 0x4e2eaa
xor al, 0
shr esi, cl
dec esp
add bh, bh
inc dword [eax]
add byte [eax + eax], dh
add byte [eax], al
add al, 0x8c
dec ebx
add al, al
mov cs, word [edx]
feni8087_nop
dec esp
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 byte [eax + 0x61], bl
dec ebp
add byte [ebx + 0x48004d58], ch
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
add al, 0x8c
dec ebx
add byte [edx], dh
sub al, 0x4c
add byte [0x48004b39], bl
add byte [eax], al
add bl, bl
loopne 0x4e412e
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
push eax
add byte [eax], al
add byte [eax + 0x61], bl
dec ebp
add byte [0x44004b39], bl
add byte [eax], al
add byte [esi], ah
sti
dec esp
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esi], ah
sti
dec esp
add byte [eax], bh
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add byte [esp + edi*2 + 0x4b], dh
add al, al
out dx, al
in al, 0xeb
dec esp
add byte [eax + 0x5004ae7], dl
or dword [ebp + 0x65890476], ecx
inc eax
out 0x4a, eax
add byte [0x4768d09], al
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 0x4c3b3f
jbe 0x4e43f1
je 0x4e4468
xchg byte [edi + ecx - 0x208b77a], al
inc dword [edx + 0xc60e8de]
std
jbe 0x4c3b3f
sbb dh, 0xe8
pushal
or al, 0xfd
inc edi
sahf
loopne 0x4e448a
and byte [esp + eax + 0xf], bh
mov byte [0x768dc390], al
or byte [edi], cl
and dword [0x51fffc33], 0x3027059
push cs
cpuid
ret 0xed89
lea esp, [esp + 4]
mov ecx, dword [ebp - 8]
jne 0x4b50b0
je 0x4e561b
jmp 0x4e5698
je 0x4b50b0
jnp 0x4e55b7
dec edx
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esp + ecx*4], al
dec ebx
add bh, cl
or dword [edx], 0x4b7dc6
or eax, 0xca004b03
mov cl, 0x4c
add byte [edi + 0x56], al
dec esi
add cl, cl
fcom qword [ebp + 0xc004ceb]
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [0x48004b39], bl
add byte [eax], al
add byte [esi], ah
sti
dec esp
add byte [eax], dh
add byte [eax], al
add byte [eax + eax], dh
add byte [eax], al
shr esi, cl
dec esp
add bh, bh
inc dword [eax]
add byte [eax + eax], dh
add byte [eax], al
add al, 0x8c
dec ebx
add ah, ah
or dword [edx], 0x4b46d3
fild dword [edx]
dec ebx
add byte [ebp - 0x70ffb3b0], bh
push esi
dec esi
add byte [eax - 0x423d5df1], dl
push eax
dec esp
add bl, bl
add cl, byte [ebx]
xor eax, 0x4b7c7465
je 0x4e5717
dec ebx
add bl, ch
jle 0x4e56c9
jb 0x4e56ee
add byte [edx], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add dh, al
jge 0x4e56f9
add byte [ecx - 0x35ffb1a9], cl
mov cl, 0x4c
add byte [edi - 0x22ffb1aa], bh
push 0xe0db643f
dec esp
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [eax], 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
pop eax
popal
dec ebp
add byte [eax + 0x48004adb], dh
lcall 0, 0x3c0000
feni8087_nop
dec esp
add bl, bl
loopne 0x4e573e
add byte [eax], al
popal
add byte [eax + 0x34], al
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
dec edx
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
std
dec sp
add byte [esp + ecx*4], al
dec ebx
add byte [ecx + edi + 0x4b], cl
add byte [esi + ecx + 0x4b], al
add byte [eax], al
dec eax
add byte [eax], al
add byte [eax - 0x72], ah
dec ebx
add byte [0x30000084], al
dec esp
cmp dword [ebx], ecx
test byte [esi], cl
dec ebx
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [eax], al
pushal
mov cs, word [ebx]
add eax, 0x30000084
add byte [eax], al
add byte [esp + ecx*4], al
dec ebx
add ah, cl
movsb byte es:[edi], byte [esi]
dec edx
add byte [ebp + 0x35004cd5], dl
jg 0x4e5742
add byte [0x3000007f], dh
add byte [eax], dh
add byte [eax], al
add bl, dl
out dx, al
dec esp
add bh, bh
inc dword [eax]
add byte [eax], dh
add byte [eax], al
add byte [esp + ecx*4], al
dec ebx
add byte [ecx], al
and cl, byte [esi]
pushal
mov cs, word [ebx]
xor dword [ecx], edx
add byte [eax], dh
add byte [eax], al
add byte [esp + ecx*4], al
dec ebx
add byte [esi], cl
and cl, byte [esi]
mov cl, byte [eax]
dec ebx
add byte [ecx], dh
add byte [eax], al
add byte [ecx], dh
add byte [eax], al
add byte [0x44004b39], bl
add byte [eax], al
add byte [esp + edi*2 + 0x4b], dh
add byte [0x4a947b1e], dh
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [esp + ecx*4], al
dec ebx
add bl, dl
dec eax
dec ebp
add dh, al
jge 0x4e57eb
add byte [ebx], dh
pop eax
dec esi
add byte [ebx + edi*4], al
dec ebp
add byte [eax + eax], dh
add byte [eax], al
xor al, 0
add byte [eax], al
retf 0x4cb1
add byte [eax], al
xor byte [eax], al
add byte [eax], al
pop eax
popal
dec ebp
add byte [0x44004b39], bl
add byte [eax], al
add byte [ebp + 0x44004d83], ah
add byte [eax], al
add byte [eax + eax], bh
add byte [eax], al
movsd dword es:[edi], dword [esi]
or dword [ebp], 0x3c
add byte [eax], al
add byte [eax + eax], al
add byte [esp + edi*2 + 0x4b], dh
add bh, dh
add esp, dword [ebp + 0x30004d83]
add byte [eax], al
add byte [eax + eax], bh
add byte [eax], al
movsd dword es:[edi], dword [esi]
or dword [ebp], 0x3c
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [ecx], dh
movsd dword es:[edi], dword [esi]
dec ebx
add byte [ecx], cl
add eax, dword [eax]
add byte [eax], dh
add byte [eax], al
add byte [0x44004b39], bl
add byte [eax], al
add ah, ah
jmp 0x4e5896
dec eax
add byte [eax], al
add bl, bl
loopne 0x4e58e9
add byte [eax], al
popal
add byte [eax + 0x38], al
add byte [ecx], ah
add byte [eax], al
mov edx, 0
adc al, byte [eax]
add byte [eax], al
inc edx
add byte [eax], al
xor byte [eax], al
add byte [eax], al
hlt
retf