Result [link]

AC

Code [DL]

        .file   "sample.c"
        .text
        .globl  is_all_zero
        .type   is_all_zero, @function
is_all_zero:
.LFB0:
        .cfi_startproc
        pushl   %ebp
        .cfi_def_cfa_offset 8
        .cfi_offset 5, -8
        movl    %esp, %ebp
        .cfi_def_cfa_register 5
        subl    $16, %esp
        movl    $0, -4(%ebp)
        jmp     .L2
.L5:
        movl    8(%ebp), %edx
        movl    -4(%ebp), %eax
        addl    %edx, %eax
        movzbl  (%eax), %eax
        testb   %al, %al
        je      .L3
        movl    $0, %eax
        jmp     .L4
.L3:
        addl    $1, -4(%ebp)
.L2:
        cmpl    $99, -4(%ebp)
        jbe     .L5
        movl    $1, %eax
.L4:
        leave
        .cfi_restore 5
        .cfi_def_cfa 4, 4
        ret
        .cfi_endproc
.LFE0:
        .size   is_all_zero, .-is_all_zero
        .globl  main
        .type   main, @function
main:
.LFB1:
        .cfi_startproc
        leal    4(%esp), %ecx
        .cfi_def_cfa 1, 0
        andl    $-16, %esp
        pushl   -4(%ecx)
        pushl   %ebp
        .cfi_escape 0x10,0x5,0x2,0x75,0
        movl    %esp, %ebp
        pushl   %ecx
        .cfi_escape 0xf,0x3,0x75,0x7c,0x6
        subl    $372, %esp
        movl    $0, -12(%ebp)
        movl    stdin, %eax
        subl    $4, %esp
        pushl   %eax
        pushl   $101
        leal    -233(%ebp), %eax
        pushl   %eax
        call    fgets
        addl    $16, %esp
        movl    $0, -16(%ebp)
        jmp     .L7
.L8:
        leal    -233(%ebp), %edx
        movl    -16(%ebp), %eax
        addl    %edx, %eax
        movzbl  (%eax), %eax
        movsbl  %al, %eax
        subl    $48, %eax
        testl   %eax, %eax
        setne   %dl
        leal    -132(%ebp), %ecx
        movl    -16(%ebp), %eax
        addl    %ecx, %eax
        movb    %dl, (%eax)
        addl    $1, -16(%ebp)
.L7:
        cmpl    $99, -16(%ebp)
        jbe     .L8
        movl    $0, -20(%ebp)
        jmp     .L9
.L12:
        movl    $0, -24(%ebp)
        movl    $0, -28(%ebp)
        jmp     .L10
.L11:
        sall    -24(%ebp)
        leal    -132(%ebp), %edx
        movl    -28(%ebp), %eax
        addl    %edx, %eax
        movzbl  (%eax), %eax
        movzbl  %al, %eax
        addl    %eax, -24(%ebp)
        movl    -24(%ebp), %ecx
        movl    $1717986919, %edx
        movl    %ecx, %eax
        imull   %edx
        sarl    $2, %edx
        movl    %ecx, %eax
        sarl    $31, %eax
        subl    %eax, %edx
        movl    %edx, %eax
        testl   %eax, %eax
        setne   %dl
        leal    -132(%ebp), %ecx
        movl    -28(%ebp), %eax
        addl    %ecx, %eax
        movb    %dl, (%eax)
        movl    -24(%ebp), %ecx
        movl    $1717986919, %edx
        movl    %ecx, %eax
        imull   %edx
        sarl    $2, %edx
        movl    %ecx, %eax
        sarl    $31, %eax
        subl    %eax, %edx
        movl    %edx, %eax
        sall    $2, %eax
        addl    %edx, %eax
        addl    %eax, %eax
        subl    %eax, %ecx
        movl    %ecx, %eax
        movl    %eax, -24(%ebp)
        addl    $1, -28(%ebp)
.L10:
        cmpl    $99, -28(%ebp)
        jbe     .L11
        movl    -20(%ebp), %eax
        movl    -24(%ebp), %edx
        movl    %edx, -368(%ebp,%eax,4)
        movl    -20(%ebp), %eax
        addl    $1, %eax
        movl    %eax, -12(%ebp)
        addl    $1, -20(%ebp)
.L9:
        subl    $12, %esp
        leal    -132(%ebp), %eax
        pushl   %eax
        call    is_all_zero
        addl    $16, %esp
        xorl    $1, %eax
        testb   %al, %al
        jne     .L12
        movl    $0, -32(%ebp)
        jmp     .L13
.L14:
        movl    -12(%ebp), %eax
        subl    -32(%ebp), %eax
        subl    $1, %eax
        movl    -368(%ebp,%eax,4), %eax
        addl    $48, %eax
        subl    $12, %esp
        pushl   %eax
        call    putchar
        addl    $16, %esp
        addl    $1, -32(%ebp)
.L13:
        movl    -12(%ebp), %eax
        cmpl    %eax, -32(%ebp)
        jb      .L14
        movl    $0, %eax
        movl    -4(%ebp), %ecx
        .cfi_def_cfa 1, 0
        leave
        .cfi_restore 5
        leal    -4(%ecx), %esp
        .cfi_def_cfa 4, 4
        ret
        .cfi_endproc

stdin

1000101101001010011010111110000001011110000000101101011100111000111110001000010000001100100001111101

stdout

689734180926032001661703080061

stderr

strace