.section .text .global main main: push %rbp mov %rsp, %rbp sub $256, %rsp movb $72, -32(%rbp) movb $101, -31(%rbp) movb $108, -30(%rbp) movb $108, -29(%rbp) movb $111, -28(%rbp) movb $32, -27(%rbp) movb $119, -26(%rbp) movb $111, -25(%rbp) movb $114, -24(%rbp) movb $108, -23(%rbp) movb $100, -22(%rbp) movb $33, -21(%rbp) movb $10, -20(%rbp) lea -32(%rbp), %rax mov %rax, -48(%rbp) mov $14, %rax mov %rax, -40(%rbp) mov -40(%rbp), %rax push %rax pop %rdi call malloc mov %rax, -56(%rbp) mov -56(%rbp), %rcx mov $0, %rax push %rax mov $13, %rax mov %rax, %rdx pop %rax mov %rdx, %r8 sub %rax, %r8 inc %r8 add %rcx, %rax mov %rax, -88(%rbp) mov %r8, -80(%rbp) lea -88(%rbp), %rax mov (%rax), %rcx mov 8(%rax), %rdx mov %rcx, -72(%rbp) mov %rdx, -64(%rbp) mov $0, %rax mov %rax, -96(%rbp) .L0: mov -96(%rbp), %rax mov %rax, %rcx mov -40(%rbp), %rax cmp %rax, %rcx setl %al movzx %al, %rax test %rax, %rax jz .L1 mov -72(%rbp), %rcx mov -96(%rbp), %rax add %rcx, %rax push %rax mov -48(%rbp), %rcx mov -96(%rbp), %rax add %rcx, %rax movzbl (%rax), %eax pop %rcx mov %al, (%rcx) mov -96(%rbp), %rax mov %rax, %rcx mov $1, %rax add %rcx, %rax mov %rax, -96(%rbp) jmp .L0 .L1: mov $1, %rax push %rax mov -72(%rbp), %rax push %rax mov -64(%rbp), %rax push %rax pop %rdx pop %rsi pop %rdi call write mov $0, %rax mov %rbp, %rsp pop %rbp ret mov %rbp, %rsp pop %rbp ret