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

Disassembly:
add byte [ecx], al
add byte [eax], al
add byte [eax], ah
dec eax
sub dword [eax], eax
or byte [eax + 0x29], cl
add byte [eax], al
add byte [eax], al
add bh, al
or byte [ebx + 0x75], al
xor ch, byte [esi]
xor eax, 0x2e39322e
xor dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp + 0x78], dl
fcom dword [edx]
add byte [eax], al
add byte [esi + 2], cl
add dword [eax], eax
add byte [eax], al
call 0xa8e25b84
dec eax
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
movsd dword es:[edi], dword [esi]
das
inc ebx
jne 0x70e2326b
xor eax, 0x2e39322e
xor esi, dword [0]
add byte [eax], al
add byte [edi + 0x78], bl
fcom dword [edx]
add byte [eax], al
add byte [esi + 2], cl
add dword [eax], eax
add byte [eax], al
and byte [eax + 0x29], bl
add byte [eax + 0x48], ch
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
loopne 0x70e232a9
add byte [ecx], al
add byte [eax], al
add byte [eax], ah
pop eax
sub dword [eax], eax
push 0x2948
add byte [eax], al
add bl, dh
loopne 0x70e232a9
jne 0x70e2329b
xor eax, 0x2e39322e
xor dword [eax + eax], esi
xor bh, byte cs:[ecx]
xor dword cs:[eax + eax], esi
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop ecx
js 0x70e23253
adc al, byte [eax]
add byte [eax], al
mov es, word [edx]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax - 0x67ffd6a8], dl
dec eax
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
in eax, dx
fld dword [edx + 0x75]
xor ch, byte [esi]
xor eax, 0x2e39322e
xor dword [0], esi
xor bh, byte cs:[ecx]
xor dword cs:[0], esi
add byte [eax], al
add byte [ebx + 0x78], al
fcom dword [edx]
add byte [eax], al
add byte [edi + 2], cl
add dword [eax], eax
add byte [eax], al
loopne 0x70e23302
js 0x70e23283
adc al, byte [eax]
add byte [eax], al
pop dword [edx]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add al, ah
dec eax
sub dword [eax], eax
enter 0x2948, 0
add byte [eax], al
add byte [eax], al
sti
add al, byte [ebx + 0x75]
xor ch, byte [esi]
xor eax, 0x2e39322e
xor al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp + 0x78], cl
fcom dword [edx]
add byte [eax], al
add byte [edi + 2], cl
add dword [eax], eax
add byte [eax], al
adc byte [ecx + 0x29], cl
add al, bh
dec eax
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
inc byte [edx + 0x75]
xor ch, byte [esi]
xor eax, 0x2e39322e
xor al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi + 0x78], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
ja 0x70e23382
fcom dword [edx]
add byte [eax], al
add byte [esi + 2], cl
add dword [eax], eax
add byte [eax], al
inc eax
dec ecx
sub dword [eax], eax
sub byte [ecx + 0x29], cl
add byte [eax], al
add byte [eax], al
add byte [eax], bl
and al, 0x43
jne 0x70e2335b
xor eax, 0x2e39322e
xor esi, dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x78], dh
fcom dword [edx]
add byte [eax], al
add byte [esi + 2], cl
add dword [eax], eax
add byte [eax], al
call 0xc8e25cac
dec ecx
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
sbb byte [ebx + eax*2], ah
jne 0x70e2338b
xor eax, 0x2e39322e
xor al, 0x36
xor bh, byte cs:[ecx]
xor al, 0x36
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + 0x1b], al
jle 0x70e233c7
idiv dl
add byte [2], cl
add dword [eax], eax
add byte [eax], al
mov eax, 0x90002949
sub dword [eax], eax
nop
dec ecx
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
sti
add bl, bh
mov al, byte [0x2e307542]
cmp dword [esi], ebp
xor dh, byte [ebx]
xor al, 0x32
xor dword cs:[ecx], edi
xor dh, byte [eax]
xor byte [ebx], dh
xor byte [eax], dh
xor dword cs:[eax], esi
xor byte [esi], ch
xor dword [esi], ebp
xor dh, byte [0]
add byte [eax], al
dec ebp
sbb edi, dword [esi + 0x5c]
invalid
add byte [eax], al
add byte [eax], al
add bl, bh
mov al, byte [0x2e317542]
xor ch, byte [esi]
cmp byte [eax + esi], dh
xor dword cs:[ecx], esi
xor esi, dword [0x312e3934]
cmp dword cs:[esi], ebp
xor dh, byte [eax]
add byte [eax], al
add byte [ebp + 0x1b], cl
jle 0x70e23448
int1
sti
add byte [edx], cl
add al, byte [eax]
add byte [eax], al
add dword [eax], eax
add byte [eax], al
jo 0x70e23440
sub dword [eax], eax
or byte [edx + 0x29], cl
add byte [eax], al
add byte [eax], al
add bl, bh
mov al, byte [0x2e317542]
xor ch, byte [esi]
cmp byte [eax + esi], dh
xor dword cs:[ecx], esi
xor esi, dword [0x312e3934]
cmp dword cs:[esi], ebp
xor dh, byte [ecx]
add byte [eax], al
add byte [esi + 0x1b], al
jle 0x70e2347b
int1
sti
add byte [ecx + eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, dh
cmp al, 0x29
add byte [ecx], al
add byte [eax], al
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + ecx*2 + 0x29], al
add byte [ebx], bl
inc eax
jne 0x70e233d4
inc esp
dec edx
sub dword [eax], eax
sbb eax, dword [eax + 0x3e]
jne 0x70e233d4
mov esi, dword [0x5e1d7541]
xor eax, 0x5e1d7541
inc ecx
jne 0x70e234a2
out dx, eax
cmp al, 0x75
jmp 0x70e23441
movsb byte es:[edi], byte [esi]
inc ecx
jne 0x70e23405
sbb al, 0x3d
jne 0x70e234a8
cmp bh, byte [0x41b2fb75]
sti
mov dl, 0x41
jne 0x70e23477
jmp 0x70e234b3
jne 0x70e23465
movsb byte es:[edi], byte [esi]
inc ecx
jne 0x70e2347d
add byte [eax], al
add byte [eax + 0x1b], dl
jle 0x70e234c5
cli
sti
add byte [ecx + eax], cl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x4b], bl
add byte [eax], al
pop eax
dec ebx
sub dword [eax], eax
add dword [eax], eax
add byte [eax], al
sub al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
movsb byte es:[edi], byte [esi]
dec edx
sub dword [eax], eax
jg 0x70e2347f
jne 0x70e234a2
stc
cmovb esi, dword [ebp + 0x6c]
adc dword [edx + 0x75], eax
and ebp, ebx
jne 0x70e2344e
jne 0x70e2344e
cdq
loop 0x70e234f5
jne 0x70e234d9
adc byte [edi], bh
jne 0x70e2350e
sbb edi, dword [edi]
jne 0x70e234c3
jne 0x70e23501
jne 0x70e2348e
adc eax, 0x17347542
inc edx
jne 0x70e234ca
sbb byte [edx + 0x75], al
ljmp 0x421b
or edi, dword [edi]
jne 0x70e23470
adc bh, byte [edi]
jne 0x70e23528
or eax, 0x3414753f
inc edx
jne 0x70e23562
xor al, 0x42
jne 0x70e234c5
hlt
inc ecx
jne 0x70e23479
adc eax, dword [edx + 0x75]
mov dl, 0xa
aas
jne 0x70e234f2
xor dword [edx + 0x75], eax
jo 0x70e23511
invalid
aas
jne 0x70e2352d
sub dl, bl
jne 0x70e23517
fidivr dword [esi]
jne 0x70e23517
sbb eax, 0x21f27542
inc edx
jne 0x70e2357f
and al, byte [edx + 0x75]
cmpsb byte [esi], byte es:[edi]
das
inc edx
jne 0x70e2358d
xor byte [edx + 0x75], al
jo 0x70e23534
inc edx
jne 0x70e23504
pop ds
inc edx
jne 0x70e234fa
xor byte [edx + 0x75], al
xor dword [ebx], esi
inc edx
jne 0x70e234b4
and byte [edx + 0x75], al
adc ecx, dword [eax]
aas
jne 0x70e234e7
mov dl, 0x39
inc edx
jne 0x70e2357b
cmp dword [edx + 0x75], eax
inc edx
and eax, dword [edx + 0x75]
push ss
and al, 0x42
jne 0x70e235a0
and eax, 0x2d3c7542
inc edx
jne 0x70e23565
inc edx
jne 0x70e2354d
add byte [eax], al
add byte [edi + 0x1b], bl
jle 0x70e235a2
in al, dx
sti
add byte [ecx + eax], cl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add al, dh
insb byte es:[edi], dx
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
invalid
sub dword [eax], eax
add byte cs:[eax], al
add byte [eax], al
add byte [ebp], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
je 0x70e235bd
sub dword [eax], eax
pop ds
cmp eax, dword [edx + 0x75]
mov eax, 0xa4754226
jne 0x70e23521
cmp eax, dword [edx + 0x75]
sub byte [edx + 0x41], al
jne 0x70e235a9
inc edx
inc ecx
jne 0x70e235c2
daa
inc edx
jne 0x70e2352b
or edi, dword [edi]
aas
jne 0x70e235c7
sub al, byte [edx + 0x75]
inc edx
jne 0x70e2356e
fnstsw word [0x42037542]
cmp eax, 0x42037542
inc edx
jne 0x70e23598
inc edx
inc edx
jne 0x70e23522
mov dword [eax + 0x42], eax
inc eax
inc edx
jne 0x70e23592
inc ebx
inc edx
jne 0x70e2360b
push 0x45
inc ebp
inc edx
jne 0x70e235dd
inc esi
inc edx
jne 0x70e23590
dec esp
inc edx
jne 0x70e23534
dec esi
inc edx
jne 0x70e2359e
dec edi
inc edx
jne 0x70e23600
push edx
inc edx
jne 0x70e23558
lahf
push ebx
inc edx
jne 0x70e23621
or al, 0x3f
jne 0x70e23593
popfd
aas
jne 0x70e2358e
leave
cmpsb byte [esi], byte es:[edi]
aas
jne 0x70e235d4
pop eax
inc edx
jne 0x70e23606
pop ecx
inc edx
jne 0x70e235e6
pop ebx
inc edx
jne 0x70e235ef
sbb ch, byte [edx + 0x42]
push 0x42
jne 0x70e2358a
insd dword es:[edi], dx
inc edx
jne 0x70e235b8
adc al, 0x42
jne 0x70e235dd
outsd dx, dword [esi]
inc edx
jne 0x70e23633
jo 0x70e23629
inc edx
jne 0x70e235ff
push ss
jno 0x70e2362d
jne 0x70e235e8
sti
jae 0x70e23631
jne 0x70e235c4
sub eax, dword [edx + 0x75]
add byte [eax], al
add byte [eax], al
push eax
jne 0x70e235f5
add byte [eax], al
add byte [eax + 0x1b], dl
jle 0x70e2363d
sbb edi, dword [esi + 0x41]
jecxz 0x70e235f9
add byte [ecx + eax], cl
or al, 1
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add al, dl
add byte [eax], al
ror byte [ecx + ebp], 1
dec esp
sub dword [eax], eax
add byte [ecx], al
add byte [eax], al
add byte [edx], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esp + ecx*2], bl
add dword [eax], eax
add byte [eax], al
sub al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb al, 0x4c
sub dword [eax], eax
jge 0x70e23661
cmp eax, 0x3d020975
jne 0x70e235cb
add bh, byte [0x3da2a675]
jne 0x70e23658
mov byte [0x132f753d], al
inc edx
jne 0x70e235db
adc eax, dword [edx + 0x75]
scasb al, byte es:[edi]
jbe 0x70e2366d
jne 0x70e235b8
xchg dword [eax], edx
adc byte [edi], bh
aas
jne 0x70e23632
hlt
scasd eax, dword es:[edi]
jne 0x70e23612
sbb byte [edx + 0x75], al
xor ebx, dword [ebx]
inc edx
jne 0x70e235ec
inc esi
jne 0x70e2362f
jne 0x70e2362f
sbb al, 0x42
jne 0x70e236a5
sar dword [0x3dedf275], cl
jne 0x70e236d3
jp 0x70e23630
salc
cmp eax, 0x3ed48575
jne 0x70e236db
inc edx
jne 0x70e23609
mov dl, 0x3d
jne 0x70e235f5
cmp eax, 0x3df48c75
jne 0x70e235f3
hlt
adc al, 0x42
inc edx
jne 0x70e2366e
or bh, byte [edi]
jne 0x70e2367a
xor eax, dword [edx + 0x75]
hlt
aas
jne 0x70e236c5
xor byte [edx + 0x75], al
push esp
sar dword [0x42224275], cl
jne 0x70e2369f
and eax, dword [edx + 0x75]
shr dword [edi], cl
inc edx
jne 0x70e2367a
les edi, [edi]
jne 0x70e236ca
pop esi
cmp eax, 0x3e913e75
jne 0x70e23666
xor dword [edx + 0x75], eax
call 0x9b5778d8
jne 0x70e23689
xor eax, dword [edx + 0x75]
sub dl, byte [edx - 0x275d8ac2]
cmp eax, 0x3e6ea375
xchg edx, eax
jne 0x70e2364b
fdivr dword [0x3e6ea375]
outsb dx, byte [esi]
jne 0x70e2369b
jne 0x70e2369b
and eax, dword [edx + 0x75]
xor esp, dword [0x268c7542]
inc edx
jne 0x70e236ad
sub eax, 0x2f7a7542
inc edx
jne 0x70e236c5
add byte [eax], al
add byte [edi + 0x1b], bl
jle 0x70e2371a
in al, dx
sti
add byte [ecx + eax], cl
or al, 1
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [ecx], al
add byte [eax], al
add byte [eax], bl
jp 0x70e23704
add byte [eax], al
sbb byte [edx + 0x29], bh
add byte [esi], ch
add byte [eax], al
add byte [ebp], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
in al, dx
dec esp
sub dword [eax], eax
sbb dword [eax + 0x4a6b7542], eax
aas
jne 0x70e236e2
invalid
mov dword [0xaf753e6e], eax
sub dword [edx + 0x75], eax
push esp
sar dword [0x422ba775], cl
jne 0x70e236cf
cmpsd dword [esi], dword es:[edi]
sub eax, dword [edx + 0x75]
invalid
inc edx
jne 0x70e236d6
inc ebx
inc edx
jne 0x70e236e8
inc ecx
inc edx
jne 0x70e23753
inc ebp
inc edx
jne 0x70e23725
inc esi
inc edx
jne 0x70e236f5
fadd dword [edi + 0x42]
inc edi
inc edx
jne 0x70e2377c
dec esi
inc edx
jne 0x70e236e6
dec edi
inc edx
jne 0x70e23748
push edx
inc edx
jne 0x70e237a0
push ebx
inc edx
jne 0x70e236f8
invalid
push esp
inc edx
jne 0x70e237aa
or dword [edi], edi
jne 0x70e23730
push ebp
inc edx
jne 0x70e2371c
push edi
inc edx
jne 0x70e2374e
pop ecx
inc edx
jne 0x70e2372e
pop edx
inc edx
jne 0x70e237a8
pop edi
pop edi
inc edx
jne 0x70e236d2
insd dword es:[edi], dx
inc edx
jne 0x70e23721
outsd dx, dword [esi]
inc edx
jne 0x70e23790
push ecx
aas
jne 0x70e23777
dec ebx
aas
jne 0x70e23747
jo 0x70e237a1
jne 0x70e23730
jae 0x70e237a5
jne 0x70e237c6
jbe 0x70e237a9
jne 0x70e23779
sub eax, 0x7542
add byte [eax], al
inc edx
sbb edi, dword [esi + 0x53]
jecxz 0x70e23771
add byte [esi], cl
push cs
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], ch
insd dword es:[edi], dx
sub dword [eax], eax
nop
dec ebp
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
mov bh, 0x1f
inc edx
jne 0x70e237c3
add dword [eax], eax
add byte [eax], al
sub byte [ebp + 0x29], ch
add byte [eax + 0x294d], dl
add byte [eax], al
add byte [edi + 0x3275421f], dh
xor ch, byte [esi]
xor dword [esi], esi
xor dword cs:[esi], esi
cmp byte cs:[eax + esi], dh
xor dword cs:[esi], ebp
xor dword [ecx], esi
xor esi, dword [edi]
xor esi, dword [ebx]
xor ebp, dword [esi]
xor dword [esi], ebp
xor dword cs:[esi], ebp
aaa
xor dword cs:[esi], ebp
xor dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx + 0x1b], al
jle 0x70e23807
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc edx
sbb edi, dword [esi + 0x53]
invalid
add al, dl
dec ebp
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
xchg ecx, eax
jne 0x70e23802
xor ebp, dword cs:[esi]
xor dword cs:[esi], ebp
xor al, 0x2e
xor dword [esi], ebp
xor esi, dword [ecx]
xor dword [esi], ebp
xor dword [eax], esi
xor dword cs:[ecx], esi
cmp byte cs:[0], dh
add byte [eax], al
add byte [eax], al
inc ecx
sbb edi, dword [esi + 0x50]
invalid
sub byte [eax], al
lock sub byte ss:[eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x65], al
jb 0x70e23898
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebx
jb 0x70e23898
inc esp
insb byte es:[edi], dx
insb byte es:[edi], dx
push esi
jb 0x70e23894
jns 0x70e23871
jb 0x70e238a5
imul esp, dword [esi + 0x69], 0x65746163
inc ebx
push 0x506e6961
outsd dx, dword [esi]
insb byte es:[edi], dx
imul esp, dword [ebx + 0x79], 0
add byte [ecx + 0x1b], al
jle 0x70e2389c
std
sti
add byte [0x294df8], cl
js 0x70e238a4
sub dword [eax], eax
dec eax
aas
sub dword [eax], eax
dec eax
aas
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebx
jb 0x70e238f4
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x72], al
jns 0x70e238ec
jo 0x70e238f1
je 0x70e238cb
dec ebp
jae 0x70e238e7
inc esp
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ebx
dec esi
inc edi
inc edi
outsb dx, byte gs:[esi]
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x70e238f3
outsb dx, byte [esi]
je 0x70e238d6
outsb dx, byte [esi]
arpl word [edx + 0x79], si
jo 0x70e2390b
jns 0x70e23906
je 0x70e238e3
dec ebx
jns 0x70e2389b
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x1b], al
inc ecx
sbb edi, dword [esi + 0x50]
add byte [eax], al
add byte [eax], al
std
sti
add byte [edx], cl
test al, 0xe4
sub dword [eax], eax
ror byte [esi + 0x29], 1
add al, ch
jg 0x70e238dc
add al, ch
jg 0x70e238e0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x72], al
jns 0x70e23944
je 0x70e23923
jae 0x70e2393f
inc esp
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ebx
dec esi
inc edi
dec ecx
insd dword es:[edi], dx
jo 0x70e23951
je 0x70e23928
je 0x70e2393e
jns 0x70e238f6
sub dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al