	.section .note.GNU-stack
	.text
	.globl	mul
	.type	mul, @function
mul:
	push	%rbp
	mov	%rsp, %rbp
	push	%rbx
	push	%rsi
	push	%rdi
	sub	$0x10, %rsp
	mov	%rdi, %rax
	mov	%rax, 0x0(%rsp)
	mov	%rsi, %rax
	mov	%rax, 0x8(%rsp)
	mov	$0x0, %rax
	push	%rax
LOOP3:
	mov	0x10(%rsp), %rax
	mov	$0x0, %rdx
	cmp	%rdx, %rax
	je	LOOPEND3
	mov	0x0(%rsp), %rax
	mov	0x8(%rsp), %rdx
	add	%rdx, %rax
	mov	%rax, 0x0(%rsp)
	mov	0x10(%rsp), %rax
	mov	$0x1, %rdx
	sub	%rdx, %rax
	mov	%rax, 0x10(%rsp)
	jmp	LOOP3
LOOPEND3:
	mov	0x0(%rsp), %rax
	mov	-0x8(%rbp), %rbx
	mov	-0x10(%rbp), %rsi
	mov	-0x18(%rbp), %rdi
	leave
	ret
	.text
	.globl	line
	.type	line, @function
line:
	push	%rbp
	mov	%rsp, %rbp
	push	%rbx
	push	%rsi
	push	%rdi
	sub	$0x10, %rsp
	mov	%rdi, %rax
	mov	%rax, 0x8(%rsp)
	mov	$0x1, %rax
	mov	%rax, 0x0(%rsp)
LOOP2:
	mov	0x0(%rsp), %rax
	mov	$0x9, %rdx
	cmp	%rdx, %rax
	jg	LOOPEND2
	mov	0x0(%rsp), %rax
	mov	%rax, %rdi
	mov	0x8(%rsp), %rax
	mov	%rax, %rsi
	push	%rbx
	mov	%rsp, %rbx
	and	$0xfffffffffffffff0, %rsp
	call	mul
	mov	%rbx, %rsp
	pop	%rbx
	mov	%rax, %rbx
	mov	$.LC0, %rax
	mov	%rax, %rdi
	mov	%rbx, %rax
	mov	%rax, %rsi
	push	%rbx
	mov	%rsp, %rbx
	and	$0xfffffffffffffff0, %rsp
	call	printf
	mov	%rbx, %rsp
	pop	%rbx
	mov	0x0(%rsp), %rax
	mov	$0x1, %rdx
	add	%rdx, %rax
	mov	%rax, 0x0(%rsp)
	jmp	LOOP2
LOOPEND2:
	mov	$.LC1, %rax
	mov	%rax, %rdi
	push	%rbx
	mov	%rsp, %rbx
	and	$0xfffffffffffffff0, %rsp
	call	printf
	mov	%rbx, %rsp
	pop	%rbx
	mov	%rax, %rbx
	mov	$0x0, %rax
	mov	-0x8(%rbp), %rbx
	mov	-0x10(%rbp), %rsi
	mov	-0x18(%rbp), %rdi
	leave
	ret
	.text
	.globl	main
	.type	main, @function
main:
	push	%rbp
	mov	%rsp, %rbp
	push	%rbx
	push	%rsi
	push	%rdi
	sub	$0x8, %rsp
	mov	$0x1, %rax
	mov	%rax, 0x0(%rsp)
LOOP:
	mov	0x0(%rsp), %rax
	mov	$0x9, %rdx
	cmp	%rdx, %rax
	jg	LOOPEND
	mov	0x0(%rsp), %rax
	mov	%rax, %rdi
	push	%rbx
	mov	%rsp, %rbx
	and	$0xfffffffffffffff0, %rsp
	call	line
	mov	%rbx, %rsp
	pop	%rbx
	mov	0x0(%rsp), %rax
	mov	$0x1, %rdx
	add	%rdx, %rax
	mov	%rax, 0x0(%rsp)
	jmp	LOOP
LOOPEND:
	mov	$0x0, %rax
	mov	-0x8(%rbp), %rbx
	mov	-0x10(%rbp), %rsi
	mov	-0x18(%rbp), %rdi
	leave
	ret

	.data
.LC1:	.string	"\n"
.LC0:	.string	" %ld"
