main: pushq %rbp movq %rsp, %rbp subq $32, %rsp movq %fs:40, %rax movq %rax, -9(%rbp) xorl %eax, %eax leaq -20(%rbp), %rax movq %rax, %rdi call initialize movl $0, -24(%rbp) jmp .L2 .L5: movl -16(%rbp), %eax movl %eax, %edi call Less@PLT test1 %eax, %eax je .L3 movl -12(%rbp), %eax movl %eax, %edi call Less@PLT test1 %eax, %edi jne .L4 movzwl k(%rip), %eax movzwl %ax , %edx movl -16(%rbp), %eax movl %edx, %esi movl %eax, %edi call multipl@PLT addl %eax, -24(%rbp) jmp. L3 .L4: movl -12(%rbp), %edx movl -16(%rbp), %eax movl %edx, %esi movl %eax, %edi call multipl@PLT addl %eax, -24(%rbp) .L3: movl -20(%rbp), %eax subl $2, %eax movl %eax, -20(%rbp) .L2: movl -20(%rbp), %eax test1 %eax, %eax jne .L5 movl -24(%rbp), %eax movq -9(%rbp), %rcx xorq %fs:40, %rcx je .L7 .L7: leave ret initialize: pushq %rbp movq %rsp, %rbp movq %rdi, -8(%rbp) movq -8(%rbp), %rax movl $10, (%rax) movq -8(%rbp), %rax movl $20, 4(%rax) movq -8(%rbp), %rax movl $30, 8(%rax) nop popq %rbp ret