Demo entry 6321630

My code

   

Submitted by anonymous on Nov 11, 2016 at 11:20
Language: GAS. Code size: 25.6 kB.

.globl _start
_start:
A:
	movq %rsp, %r12 # Save stack pointer

	# Push <B> on to the stack.
	# 0x68 is a PUSH instruction. If you just use PUSH, instead of explicitly
	# specifying opcode 0x68, the assembler will pick either one of 0x6A or 
	# 0x68 depending on how big the value you're pushing is. Here, I choose to
	# always push 4 bytes for consistency.
	.byte 0x68, 0x05, 0x00, 0x00, 0x00
	.byte 0x68, 0x0f, 0x00, 0x00, 0x00
	.byte 0x68, 0xff, 0x00, 0x00, 0x00
	.byte 0x68, 0x31, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x3c, 0x00, 0x00, 0x00
	.byte 0x68, 0xc0, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x05, 0x00, 0x00, 0x00
	.byte 0x68, 0x0f, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0xd1, 0x00, 0x00, 0x00
	.byte 0x68, 0xc2, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x0d, 0x00, 0x00, 0x00
	.byte 0x68, 0x8c, 0x00, 0x00, 0x00
	.byte 0x68, 0xc6, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0xc0, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x11, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x0e, 0x00, 0x00, 0x00
	.byte 0x68, 0x87, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x03, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x0d, 0x00, 0x00, 0x00
	.byte 0x68, 0xb3, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0xd4, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0xd4, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x06, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x0b, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x74, 0x00, 0x00, 0x00
	.byte 0x68, 0x78, 0x00, 0x00, 0x00
	.byte 0x68, 0x65, 0x00, 0x00, 0x00
	.byte 0x68, 0x74, 0x00, 0x00, 0x00
	.byte 0x68, 0x2e, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x62, 0x00, 0x00, 0x00
	.byte 0x68, 0x61, 0x00, 0x00, 0x00
	.byte 0x68, 0x74, 0x00, 0x00, 0x00
	.byte 0x68, 0x72, 0x00, 0x00, 0x00
	.byte 0x68, 0x74, 0x00, 0x00, 0x00
	.byte 0x68, 0x73, 0x00, 0x00, 0x00
	.byte 0x68, 0x68, 0x00, 0x00, 0x00
	.byte 0x68, 0x73, 0x00, 0x00, 0x00
	.byte 0x68, 0x2e, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0xd1, 0x00, 0x00, 0x00
	.byte 0x68, 0xe9, 0x00, 0x00, 0x00
	.byte 0x68, 0xdf, 0x00, 0x00, 0x00
	.byte 0x68, 0x75, 0x00, 0x00, 0x00
	.byte 0x68, 0xe4, 0x00, 0x00, 0x00
	.byte 0x68, 0x39, 0x00, 0x00, 0x00
	.byte 0x68, 0x49, 0x00, 0x00, 0x00
	.byte 0x68, 0x5a, 0x00, 0x00, 0x00
	.byte 0x68, 0x41, 0x00, 0x00, 0x00
	.byte 0x68, 0x05, 0x00, 0x00, 0x00
	.byte 0x68, 0x0f, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0xc2, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0xe6, 0x00, 0x00, 0x00
	.byte 0x68, 0x89, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0xc0, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x05, 0x00, 0x00, 0x00
	.byte 0x68, 0x0f, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0xd7, 0x00, 0x00, 0x00
	.byte 0x68, 0xc2, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x0c, 0x00, 0x00, 0x00
	.byte 0x68, 0x71, 0x00, 0x00, 0x00
	.byte 0x68, 0xc6, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0xc0, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0xe4, 0x00, 0x00, 0x00
	.byte 0x68, 0x89, 0x00, 0x00, 0x00
	.byte 0x68, 0x49, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x08, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x04, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x04, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x20, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x0e, 0x00, 0x00, 0x00
	.byte 0x68, 0x87, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x0e, 0x00, 0x00, 0x00
	.byte 0x68, 0x87, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x05, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x02, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x03, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x02, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x38, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x0e, 0x00, 0x00, 0x00
	.byte 0x68, 0x98, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x40, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0xd4, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x3e, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x02, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0x02, 0x00, 0x00, 0x00
	.byte 0x68, 0x46, 0x00, 0x00, 0x00
	.byte 0x68, 0x4c, 0x00, 0x00, 0x00
	.byte 0x68, 0x45, 0x00, 0x00, 0x00
	.byte 0x68, 0x7f, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0xd7, 0x00, 0x00, 0x00
	.byte 0x68, 0xe9, 0x00, 0x00, 0x00
	.byte 0x68, 0xe4, 0x00, 0x00, 0x00
	.byte 0x68, 0x75, 0x00, 0x00, 0x00
	.byte 0x68, 0xc1, 0x00, 0x00, 0x00
	.byte 0x68, 0x39, 0x00, 0x00, 0x00
	.byte 0x68, 0x4d, 0x00, 0x00, 0x00
	.byte 0x68, 0x01, 0x00, 0x00, 0x00
	.byte 0x68, 0xc1, 0x00, 0x00, 0x00
	.byte 0x68, 0x83, 0x00, 0x00, 0x00
	.byte 0x68, 0x49, 0x00, 0x00, 0x00
	.byte 0x68, 0x68, 0x00, 0x00, 0x00
	.byte 0x68, 0x6a, 0x00, 0x00, 0x00
	.byte 0x68, 0x1a, 0x00, 0x00, 0x00
	.byte 0x68, 0x34, 0x00, 0x00, 0x00
	.byte 0x68, 0xff, 0x00, 0x00, 0x00
	.byte 0x68, 0x43, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x6a, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x6a, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x6a, 0x00, 0x00, 0x00
	.byte 0x68, 0x03, 0x00, 0x00, 0x00
	.byte 0x68, 0xe3, 0x00, 0x00, 0x00
	.byte 0x68, 0xc1, 0x00, 0x00, 0x00
	.byte 0x68, 0x49, 0x00, 0x00, 0x00
	.byte 0x68, 0xcb, 0x00, 0x00, 0x00
	.byte 0x68, 0x89, 0x00, 0x00, 0x00
	.byte 0x68, 0x4d, 0x00, 0x00, 0x00
	.byte 0x68, 0xe2, 0x00, 0x00, 0x00
	.byte 0x68, 0x89, 0x00, 0x00, 0x00
	.byte 0x68, 0x49, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0xc1, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x49, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x00, 0x00, 0x00, 0x00
	.byte 0x68, 0x02, 0x00, 0x00, 0x00
	.byte 0x68, 0x48, 0x00, 0x00, 0x00
	.byte 0x68, 0xc0, 0x00, 0x00, 0x00
	.byte 0x68, 0xc7, 0x00, 0x00, 0x00
	.byte 0x68, 0x49, 0x00, 0x00, 0x00

B:
	movq $0x248, %r8	# max = 584 (No. of pushes by A)
	movq $0, %r9		# ctr = 0
	movq %rsp, %r10		# Save stack pointer again

pushloop:
	# Push <A> on to the stack.

	movq %r9, %r11		# Save ctr
	# I forget why we multiply by 8 rather than 4. I feel like 4 would make
	# sense since we've been pushing 32bits = 4bytes at a time, but maybe
	shl $3, %r11		# offset = ctr*8
	pushq $0x00
	pushq $0x00
	pushq $0x00
	pushq (%r10, %r11)	# Push the contents of sp copy + offset
	pushq $0x68
	addq $1, %r9		# increment ctr
	cmp %r8, %r9		# compare max and ctr
	jne pushloop

	jmp output_pre

pre:
	.byte 0x7f, 0x45, 0x4c, 0x46, 0x02, 0x01, 0x01, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x02, 0x00, 0x3e, 0x00, 0x01, 0x00, 0x00, 0x00
	.byte 0xd4, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x98, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x38, 0x00
	.byte 0x02, 0x00, 0x40, 0x00, 0x03, 0x00, 0x02, 0x00
	.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x87, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x87, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00 
	# Also stuff the first instruction in <A> in to this section.
	.byte 0x49, 0x89, 0xe4 # movq %rsp, %r12
	.set prelen, .-pre

output_pre:
	# Now we begin outputting. First, the "prelude".
	movq $1, %rax
	movq $1, %rdi
	movq $pre, %rsi
	movq $prelen, %rdx
	syscall

poploop:
	# Output the contents of the stack, i.e. <A> (sans its first instruction),
	# followed by <B>.
	movq $1, %rax
	movq $1, %rdi
	movq %rsp, %rsi
	movq $1, %rdx
	syscall
	popq %r10		# Doesn't matter which reg we pop to
	cmp %rsp, %r12	# Compare current sp and initial sp
	jne poploop

	jmp output_post

post:
	.byte 0x00, 0x2e, 0x73, 0x68, 0x73
	.byte 0x74, 0x72, 0x74, 0x61, 0x62, 0x00, 0x2e, 0x74
	.byte 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00
	.byte 0x0b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
	.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0xd4, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0xb3, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x87, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
	.set postlen, .-post

output_post:
	# Finally, output the "postlude".
	movq $1, %rax
	movq $1, %rdi
	movq $post, %rsi
	movq $postlen, %rdx
	syscall

	movq $60, %rax
	xorq %rdi, %rdi
	syscall

This snippet took 0.04 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).