Function at 0x5de3b3
Capabilities:
Check for vm using instruction vpcext
Encode data using xor

Disassembly:
lodsd eax, dword [esi]
sub al, 0xa0
cdq
add eax, 0xac660026
sub al, 0xcf
mov edi, 0x7474265a
or al, 0xb2
insb byte es:[edi], dx
clc
movsd dword es:[edi], dword [esi]
jno 0x5de230
xchg ebp, eax
add eax, 0x82999126
xrelease xchg dword [esi - 3], edi
clc
lahf
ljmp 0xbf05
pop eax
invalid
mov ch, 0x99
jbe 0x5de19e
lea ebx, [ecx + 0x29412605]
push cs
pushal
xchg ecx, eax
cdq
push es
mov al, 0x7b
xchg ebp, eax
popfd
xor ecx, esp
invalid
cmp cl, ah
add eax, 0x45669126
xor ebx, dword [esi + 0x30]
push 0xfffffffffffffff6
add dword [ebx], esp
add eax, 0xacc69126
in al, 0x54
xor byte [esi - 5], dh
add al, byte [ecx + 6]
xchg ecx, eax
je 0x5de1db
lodsb al, byte [esi]
clc
outsb dx, byte [esi]
enter 0x2605, 0xffffffffffffff91
mov ah, 0xe4
push esp
push 0xffffffffffffffac
stc
and ch, bl
jbe 0x5de1e8
nop
cdq
add eax, 0xdf591126
or byte [ebp - 0x15], 5
sti
cmp bh, ch
add eax, 0xfc669126
in al, 2
popal
mov esi, ecx
dec ebp
jmp 0x5de210
fsubr dword [edi + 0x26]
cmp byte [ebp - 0x4b], 0x28
xchg ecx, eax
cdq
cli
stosd dword es:[edi], eax
pushfd
in al, dx
jbe 0x5de22e
jp 0x5de217
add eax, 0xf6666b26
mov al, bl
outsd dx, dword [esi]
mov edi, 0xd1606339
mov ch, 0xec
cmp al, ch
sal byte [eax], 1
imul edx, ecx, 0xffffffb5
ljmp 0xa505
aad 0xc1
mov ah, 0xf8
clc
pushfd
loope 0x5de2bf
invalid
cdq
push edx
and byte [edi - 0x7702ab08], ch
jg 0x5de354
xchg ecx, eax
xchg ecx, eax
cdq
loopne 0x5de2bb
and al, 0x6a
sar byte [edx], 0x2c
jmp 0x5de26d
xchg byte [0xfaa7c5a6], ah
lahf
ljmp 0xef05
lds esp, [edi - 0x26156006]
call [edi - 0x2f10fa67]
push esp
je 0x5de2d5
mov ch, 0xea
in al, dx
cmp edx, dword [ecx - 0x3640fa67]
xor byte [ebx - 0x2f], ch
mov ch, 0xa2
lodsd eax, dword [esi]
clc
lahf
cdq
js 0x5de33e
push 0x66
test byte [esi + ecx], bh
daa
jbe 0x5de307
mov dword [0xbb75fa3a], eax
cli
jne 0x5de2e0
cdq
add eax, 0x197e9126
sub dword [esi], ecx
aas
outsb dx, byte [esi]
mov edi, 0x7c40e973
or eax, 0xd1ad7e27
pop edi
pop ebp
cmc
mov ch, 0x99
jbe 0x5de2f2
mov edi, 0x5e260599
push 0xffffffffffffffc0
cmp ch, byte [ebx + ebp*8]
jbe 0x5de2f5
sbb dword [ecx + 0x370e2605], 0x76
mov edi, 0xffe0cd43
outsb dx, byte [esi]
inc byte [0xb4669126]
inc ebx
int 0xe0
jmp [esi - 2]
test byte [esi], cl
js 0x5de322
mov word [ebp + esi*2 + 0x2e999126], ss
movsb byte es:[edi], byte [esi]
invalid
xchg ecx, eax
cdq
cwde
mov ebp, 0x7720e97b
mov ah, 0x99
cmp ah, 0x23
in eax, 0x9c
adc byte [eax + 0x7c260599], ah
insb byte es:[edi], dx
adc al, 0x65
inc ebp
and ebp, dword [eax - 0x4f]
cmp esp, edi
mov edx, 0xf874b5f2
and byte [eax + 0x57410599], ah
push edi
pop ecx
cmp al, byte [edx + 0xf]
inc edx
setg byte [ebx + 0x456687f3]
xor ecx, dword [esi]
sub al, 0x6e
jne 0x5de377
loope 0x5de3b8
mov ecx, 0x9cfb9f0f
mov ebx, 0x8bf3e739
pop bp
mov dl, 0x73
xchg ecx, eax
add byte [eax - 0x7c], 0x74
movsb byte es:[edi], byte [esi]
sub al, 0xf9
xor byte [edx + 0x2d], bh
xchg ecx, eax
cdq
add eax, 0x2ee17bbf
movsb byte es:[edi], byte [esi]
xchg ebx, eax
in al, dx
add eax, 0xc67e9126
jbe 0x5de35f
fsubr dword [edi + 0x26]
cmp byte [ebp + 0x6b], 0x26
xchg ecx, eax
cdq
mov ch, 0xbd
pushal
loope 0x5de3a0
adc byte [eax], ah
xchg edi, eax
push es
invalid