.file "xmas.c"
.text
.section .rodata
.LC0:
.string "\033[1;31m"
.text
.globl red
.type red, @function
red:
.LFB6:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
leaq .LC0(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE6:
.size red, .-red
.section .rodata
.LC1:
.string "\033[1;33m"
.text
.globl yellow
.type yellow, @function
yellow:
.LFB7:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
leaq .LC1(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE7:
.size yellow, .-yellow
.section .rodata
.LC2:
.string "\033[0;37m"
.text
.globl white
.type white, @function
white:
.LFB8:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
leaq .LC2(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE8:
.size white, .-white
.section .rodata
.LC3:
.string "\033[0;32m"
.text
.globl green
.type green, @function
green:
.LFB9:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
leaq .LC3(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE9:
.size green, .-green
.section .rodata
.LC4:
.string "\033[0;34m"
.text
.globl blue
.type blue, @function
blue:
.LFB10:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
leaq .LC4(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE10:
.size blue, .-blue
.section .rodata
.LC5:
.string "\033[0;35m"
.text
.globl purple
.type purple, @function
purple:
.LFB11:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
leaq .LC5(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE11:
.size purple, .-purple
.section .rodata
.LC6:
.string "\033[0;36m"
.text
.globl cyan
.type cyan, @function
cyan:
.LFB12:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
leaq .LC6(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE12:
.size cyan, .-cyan
.section .rodata
.LC7:
.string "\033[0m"
.text
.globl reset
.type reset, @function
reset:
.LFB13:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
leaq .LC7(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
nop
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE13:
.size reset, .-reset
.section .rodata
.LC8:
.string "%Y"
.LC9:
.string " *\n "
.LC10:
.string " ***"
.LC11:
.string " *****"
.LC12:
.string " *******"
.LC13:
.string " *********"
.LC14:
.string " ***********"
.LC15:
.string " ||"
.LC16:
.string " ----"
.LC17:
.string "Merry "
.LC18:
.string "Christmas"
.LC19:
.string "Happy New Year "
.LC20:
.string "%d\n"
.text
.globl main
.type main, @function
main:
.LFB14:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $48, %rsp
movl $0, %edi
call time@PLT
movq %rax, -16(%rbp)
leaq -16(%rbp), %rax
movq %rax, %rdi
call localtime@PLT
movq %rax, %rdx
leaq -48(%rbp), %rax
movq %rdx, %rcx
leaq .LC8(%rip), %rdx
movl $20, %esi
movq %rax, %rdi
call strftime@PLT
movl $0, %eax
call red
leaq .LC9(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
movl $0, %eax
call green
leaq .LC10(%rip), %rax
movq %rax, %rdi
call puts@PLT
leaq .LC11(%rip), %rax
movq %rax, %rdi
call puts@PLT
leaq .LC12(%rip), %rax
movq %rax, %rdi
call puts@PLT
leaq .LC13(%rip), %rax
movq %rax, %rdi
call puts@PLT
leaq .LC14(%rip), %rax
movq %rax, %rdi
call puts@PLT
movl $0, %eax
call white
leaq .LC15(%rip), %rax
movq %rax, %rdi
call puts@PLT
movl $0, %eax
call blue
leaq .LC16(%rip), %rax
movq %rax, %rdi
call puts@PLT
movl $0, %eax
call yellow
leaq .LC17(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
movl $0, %eax
call red
leaq .LC18(%rip), %rax
movq %rax, %rdi
call puts@PLT
leaq .LC19(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
movl $0, %eax
call yellow
leaq -48(%rbp), %rax
movq %rax, %rdi
call atoi@PLT
movl %eax, -4(%rbp)
movl -4(%rbp), %eax
addl $1, %eax
movl %eax, %esi
leaq .LC20(%rip), %rax
movq %rax, %rdi
movl $0, %eax
call printf@PLT
movl $0, %eax
call reset
movl $10, %edi
call sleep@PLT
movl $0, %eax
leave
.cfi_def_cfa 7, 8
ret
.cfi_endproc
.LFE14:
.size main, .-main
.ident "GCC: (Debian 12.2.0-14) 12.2.0"
.section .note.GNU-stack,"",@progbits