// File: 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
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x2f90
cmpl $0x0, %eax
jle 0x26ff
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0xbc(%rbp)
movq -0x18(%rbp), %rdi
callq 0x2f90
movl %eax, %ecx
movl -0xbc(%rbp), %eax
cmpl %ecx, %eax
jge 0x26f9
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x2fb0
movq %rax, %rsi
leaq -0x60(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x3fc0
movq -0xb8(%rbp), %rdi
movq -0xc8(%rbp), %rsi
callq 0x2bb0
movb %al, -0xbd(%rbp)
jmp 0x2573
movb -0xbd(%rbp), %al
xorb $-0x1, %al
movb %al, -0xc9(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x135f0
movb -0xc9(%rbp), %al
testb $0x1, %al
jne 0x2599
jmp 0x26e9
movq 0x17a30(%rip), %rdi     # 0x19fd0
leaq 0x12e6b(%rip), %rsi     # 0x15412
callq 0x2130
movq %rax, -0xe8(%rbp)
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x2fb0
movq %rax, %rsi
leaq -0x90(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x13620
movq -0xe8(%rbp), %rdi
movq -0xe0(%rbp), %rsi
callq 0x2110
movq %rax, -0xd8(%rbp)
jmp 0x25f1
movq -0xd8(%rbp), %rdi
leaq 0x13242(%rip), %rsi     # 0x15841
callq 0x2130
movq %rax, -0xf0(%rbp)
jmp 0x260d
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x2fb0
movq %rax, -0xf8(%rbp)
jmp 0x2622
movq -0xf8(%rbp), %rsi
leaq -0xb0(%rbp), %rdi
callq 0x13670
jmp 0x2637
movq -0xf0(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x2110
movq %rax, -0x100(%rbp)
jmp 0x2653
movq -0x100(%rbp), %rdi
leaq 0x129a3(%rip), %rsi     # 0x15004
callq 0x2130
movq %rax, -0x108(%rbp)
jmp 0x266f
movq -0x108(%rbp), %rdi
movq 0x1793b(%rip), %rsi     # 0x19fb8
callq 0x2150
jmp 0x2684
leaq -0xb0(%rbp), %rdi
callq 0x20b0
leaq -0x90(%rbp), %rdi
callq 0x20b0
jmp 0x26e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x135f0
jmp 0x2711
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x26db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x20b0
leaq -0x90(%rbp), %rdi
callq 0x20b0
jmp 0x2711
jmp 0x26eb
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x2517
movb $0x1, -0x1(%rbp)
jmp 0x2703
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
movq -0x68(%rbp), %rdi
callq 0x2200
nopw (%rax,%rax)