[bits 32]
;	syscall ; not supported by edisassm
;	sysret  ; not supported by edisassm
;	salc	; not supported by edisassm

	mov eax, 0xdeadbeef
	jmp eax

	and    eax,0xffff
	
	mul al
	mul ebx
	
	movups xmm0, xmm1
	movups xmm0, [eax]

	movsb
	movsw
	movsd

	enter 0, 0
	pushf
	pusha
	sub edx, 2
	add ebx, 2
	call label
	popa
	popf
	mov dword [ebp-0x20], 0xffffffff
	leave
	ret
label:
	ret
	
	pop ebx
	jmp ebx
	
	xor ecx, dword [ebx+0x44890843]
	xor ecx, dword [ebx-0x44890843]
	xor ecx, dword [ebx+0xffff]
	xor ecx, dword [ebx-0xffff]
	xor ecx, dword [ebx-0xff]
	inc dword [0xfffffff0]
	movzx eax, ax
	and esp, 0xfffffffc
	and esp, byte 0xfc

	insb
	insd
	insw
	outsb
	outsd
	outsw
	aaa
	aad 16
	aam 16
	aas
	mov eax, [esp+ebp*2+4]
	adc eax, 0x10000
	add [0xffffffff], eax
	add al, 16
	add eax, ebx
	and [eax], al
	and esp, 0xfc
	andnpd xmm1, xmm0
	andnps xmm1, xmm0
	andpd xmm1, xmm0
	andps xmm1, xmm0
	bound ax, [ecx]
	bound eax, [eax]
	bsf eax, [bx+si]
	bsr ax, ax
	bswap eax
	bt [eax], ax
	bt [eax], eax
	btc ebx, 16
	btr [eax], eax
	btr ax, 16
	bts word [ebx], 16
	call ax
	call dword 16:0x10000
	call dword far [bp+si]
	call dword near [eax+ecx]
	call eax
	call word 16:256
	call word far [eax]
	call word near [bx+si]
	cbw
	cdq
	clc
	cld
	clflush [eax]
	cli
	clts
	cmc
	cmova eax, [bx]
	cmovae eax, [bx]
	cmovb eax, [eax]
	cmovbe eax, [bx]
	cmovno eax, [bx]
	cmovnz eax, [eax]
	cmovo eax, [eax]
	cmovz eax, ebx
	cmp eax, ebx
	cmp ecx, [bx]
	cmpsb
	cmpsd
	cmpss xmm0, [eax], 1
	cmpsw
	cmpxchg [eax], ax
	cmpxchg [eax], eax
	cmpxchg8b [ebx]
	cpuid
	cvtsi2ss xmm1, dword [eax]
	cwd
	cwde
	daa
	das
	dec byte [si]
	dec eax
	dec ebp
	dec ebx
	dec ecx
	dec edi
	dec edx
	dec esi
	dec esp
	emms
	fadd dword [eax]
	fadd qword [eax+ebx*2+0x1]
	fadd st5, st0
	fcomip st0, st7
	fdiv st7, st0
	fdivr st2, st0
	ffree st0
	fiadd word [1]
	fiadd word [256]
	ficom word [eax+ebx+16]
	ficom word [eax]
	fidivr word [eax]
	fild word [16]
	fimul word [ebx]
	fisttp qword [edx+256]
	fisub word [ecx]
	fld qword [bx+si]
	fldcw word [256]
	fldenv [0x123]
	fldenv [16]
	fmul st0, st0
	fnstcw word [16]        ; decodes as fstcw word [256]
	fnstsw ax
	fnstsw word [256]       ; decodes as fstsw word [256]
	fnstsw word [eax]       ; decodes as fstsw word [256]
	frstor [256]
	frstor [ebx]
	fst st1
	fstp st3
	fstp tword [16]
	fsub st4, st0
	fsubr st6, st0
	fucom st5
	fucomip st0, st1
	fucomp st4
	fxsave [eax]
	hlt
	imul eax, [eax], 0xf6
	in al, 16
	in al, dx
	in ax, 16
	in eax, 16
	in eax, dx
	inc ax
	inc dword [edx+256]
	inc eax
	inc ebp
	inc ebx
	inc ecx
	inc edi
	inc edx
	inc esi
	inc esp
	inc word [ecx]
	int 16
	int3
	into
	iret
	iretd
	iretw
	lahf
	lar eax, [eax]
	lds ax, [eax]
	lea ax, [eax]
	lea eax, [bx+si]
	leave
	les eax, [ebx]
	lgdt [0x221]
	lidt [eax+0x333]
	lldt [256]
	lldt ax
	lock xchg ebx, eax
	lodsb
	lodsd
	lodsw
	lsl ax, [bx]
	lss eax, [eax]
	ltr bx
	mov [0x1000], bx
	mov [16], ax
	mov [eax+0x1000], ebx
	mov [eax+16], ax
	mov [eax+eax*2], eax
	mov [eax], es
	mov [ebp+eax+0x0], esi
	mov [ebp+edi+0x100000], esp
	mov [ebx+ecx], cs
	mov [edx+esi*8], ebp
	mov al, byte [eax]
	mov ax, [16]
	mov ax, es
	mov ax, word [eax]
	mov bx, ds
	mov byte [bx+si+16], 16
	mov byte [bx+si], 16
	mov byte [cs:0x100000], 16
	mov byte [eax], al
	mov byte [esp], 16
	mov cs, [ebx+ecx]
	mov cr0, eax
	mov dr0, eax
	mov dword [bx+16], 0x1000
	mov dword [eax], eax
	mov dword [ebx+ecx*4], 256
	mov dword [ecx*4+0x0], 256
	mov dword [si+16], 16
	mov eax, dword [eax]
	mov word [bp+0x0], 16
	mov word [bp+di+16], 16
	mov word [bx+0x1000], 0x1000
	mov word [di+16], 16
	mov word [eax+16], 16
	mov word [eax], ax
	movd dword [eax], mm0
	movmskpd eax, xmm0
	movmskps eax, xmm0
	movnti [eax], eax
	movsb
	movsd
	movsldup xmm0, [eax]
	movzx eax, word [eax]
	nop
	orpd xmm1, xmm0
	orps xmm1, xmm0
	out 0x0, al
	out dx, al
	out dx, eax
	packsswb mm0, mm1
	packsswb xmm0, xmm1
	packuswb mm0, mm1
	packuswb xmm0, xmm1
	pause
	pcmpeqb mm0, mm1
	pcmpeqb xmm0, xmm1
	pcmpeqd mm0, mm1
	pcmpeqd xmm0, xmm1
	pcmpeqw mm0, mm1
	pcmpeqw xmm0, xmm1
	pcmpgtb mm0, mm1
	pcmpgtb xmm0, xmm1
	pcmpgtd mm0, mm1
	pcmpgtd xmm0, xmm1
	pcmpgtw mm0, mm1
	pcmpgtw xmm0, xmm1
	pop ds
	pop dword [eax]
	pop eax
	pop ebp
	pop ebx
	pop ecx
	pop edi
	pop edx
	pop es
	pop esi
	pop esp
	pop fs
	pop ss
	popa
	popfd
	prefetch [bx+si]        ; decodes as nop [eax]
	pshufd xmm0, xmm1, 16
	pshufhw xmm0, xmm1, 16
	pshuflw xmm0, xmm1, 16
	pshufw mm0, mm1, 16
	psllw xmm2, 0x23
	psraw xmm7, 0x1
	psrldq xmm0, 16
	psrlq xmm0, 16
	psrlw mm0, 16
	psrlw xmm1, 16
	punpcklbw mm0, [eax]
	punpcklbw xmm0, [eax]
	punpckldq mm0, mm1
	punpckldq xmm0, xmm1
	punpcklwd mm0, mm1
	punpcklwd xmm0, xmm1
	push ax
	push cs
	push ds
	push eax
	push ebp
	push ebx
	push ecx
	push edi
	push edx
	push es
	push esi
	push esp
	push fs
	push ss
	push word [16]
	pusha
	pushad
	pushfd
	pushfw
	rcpps xmm1, xmm0
	rcpss xmm1, xmm0
	rdmsr
	rdpmc
	rdtsc
	rep mov eax, 16
	repne mov eax, ebx
	ret
	ret 16
	retf
	retf 16
	rsqrtps xmm1, xmm0
	rsqrtss xmm1, xmm0
	sahf
	scasb
	scasd
	setno [bx]
	seto [eax]
	setz [es:eax+ecx*2+256]
	sgdt [0x443]
	shld [eax], bx, cl
	shld eax, ebx, 16
	sldt [0x233]
	sldt ax
	str bx
	str eax
	sqrtpd xmm1, xmm0
	sqrtps xmm2, xmm3
	sqrtsd xmm5, xmm4
	sqrtss xmm6, xmm7
	stc
	std
	sti
	stosb
	stosd
	sysenter
	sysexit
	test [eax], bl
	test [eax], bx
	test [eax], ebx
	test al, bl
	verr cx
	verw dx
	wait
	wrmsr
	xchg ebp, eax
	xchg ebx, eax
	xchg ecx, eax
	xchg edi, eax
	xchg edx, eax
	xchg esi, eax
	xchg esp, eax
	xlat
	xorpd xmm1, xmm0
	xorps xmm1, xmm0
