// File: /workspace/github_cpp_makefile_star2_O1/diegofilbal[P]YourJam/src/lista.cpp
// Function: Lista::insereFim(Lista const&)
bool Lista::insereFim(Lista const &lista_musicas){

    if(lista_musicas.getTamanho() > 0){ // Verifica se a lista não está vazia

        for(int i = 0; i < lista_musicas.getTamanho(); i++){ // Percorre cada música da lista e a adiciona ao sistema
            if(!insereFim(*lista_musicas.buscaMusicaPos(i))){ // Informa que a música atual já estava cadastrada no sistema
                std::cout << "A música " << lista_musicas.buscaMusicaPos(i)->getNome() << " de " << lista_musicas.buscaMusicaPos(i)->getArtista() << " já foi inserida!" << std::endl;
            }
        }
        return true; // Retorna código de sucesso
    }
    return false; // Lista vazia, retorna código de erro
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movl 0x10(%rsi), %eax
movl %eax, -0x2c(%rbp)
testl %eax, %eax
jle 0x25b1
movq %rsi, %rbx
movq %rdi, %r14
xorl %r13d, %r13d
leaq -0xb0(%rbp), %r12
movq (%rbx), %rax
movl %r13d, %ecx
testl %r13d, %r13d
je 0x244d
movq 0x8(%rax), %rax
decl %ecx
jne 0x2445
movq (%rax), %r15
leaq -0xa0(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x38da
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
movq 0x20(%r15), %rsi
movq 0x28(%r15), %rdx
addq %rsi, %rdx
leaq -0x90(%rbp), %rdi
callq 0x38da
movq %r14, %rdi
movq %r12, %rsi
callq 0x29ac
movl %eax, %r15d
movq %r12, %rdi
callq 0x10692
testb %r15b, %r15b
jne 0x25a4
movl $0xa, %edx
movq 0x15b13(%rip), %rdi     # 0x17fd0
leaq 0xff72(%rip), %rsi      # 0x12436
callq 0x2130
movq (%rbx), %rax
movl %r13d, %ecx
testl %r13d, %r13d
je 0x24dc
movq 0x8(%rax), %rax
decl %ecx
jne 0x24d4
movq (%rax), %rsi
leaq -0x70(%rbp), %rdi
callq 0x106c8
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
movq 0x15ad9(%rip), %rdi     # 0x17fd0
callq 0x2130
movq %rax, %r15
movl $0x4, %edx
movq %rax, %rdi
leaq 0x10357(%rip), %rsi     # 0x12865
callq 0x2130
movq (%rbx), %rax
movl %r13d, %ecx
testl %r13d, %r13d
je 0x2526
movq 0x8(%rax), %rax
decl %ecx
jne 0x251e
movq (%rax), %rsi
leaq -0x50(%rbp), %rdi
callq 0x106fe
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq %r15, %rdi
callq 0x2130
movq %rax, %r15
movl $0x12, %edx
movq %rax, %rdi
leaq 0xfab0(%rip), %rsi      # 0x12004
callq 0x2130
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2100
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2080
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x2592
callq 0x20f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x25a4
callq 0x20f0
incl %r13d
cmpl 0x10(%rbx), %r13d
jl 0x243a
cmpl $0x0, -0x2c(%rbp)
setg %al
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x25f0
movq %rax, %rbx
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
jmp 0x2612
movq %rax, %rbx
leaq -0xb0(%rbp), %rdi
callq 0x10692
jmp 0x261c
movq %rax, %rbx
jmp 0x260a
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x260a
callq 0x20f0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x261c
callq 0x20f0
movq %rbx, %rdi
callq 0x21a0