// File: /workspace/github_cpp_makefile_star2_O2/viniciu21[P]PetLolja/./src/MamiferoExotico.cpp
// Function: MamiferoExotico::imprimeDados(std::ostream&) const
ostream &MamiferoExotico::imprimeDados(ostream &o) const {
    o << std::endl
      << "============== Mamifero_Exotico ==============" << std::endl
      << "ID                    | " << this->id << std::endl
      << "Classe                | Mamifero" << std::endl
      << "Nome                  | " << this->nome << std::endl
      << "Nome Cientifico       | " << this->especie << std::endl
      << "Sexo                  | " << (this->genero == F ? "Femea" : "Macho") << std::endl
      << "Temperatura           | " << this->tipo_temperatura << std::endl
      << "Pele                  | " << this->tipo_pele << std::endl
      << "Fecundacao            | " << this->tipo_fecundacao << std::endl
      << "Troca de Pele         | " << (this->troca_pele == true ? "sim" : "nao") << std::endl
      << "Material Eliminado    | " << this->material_eliminidado << std::endl
      << "Aquatico/Terrestre    | " << this->aquatico_terrestre << std::endl
      << "Registro Ibama        | " << this->registro_ibama << std::endl
      << "Territorio Brasileiro | " << this->territorio_brasileiro << std::endl
      << "Ameacado Extinsao     | " << (this->extincao == ameacado ? "Ameacado" : "Nao_Ameacado") << std::endl
      << "Pais Origem           | " << this->pais_origem << std::endl
      << "Dentes                | " << (this->tem_dentes ? "Possui dentes" : "Não possui dentes") << std::endl
      << "Pelagem               | " << (this->pelagem == 0 ? "Ausente" : this->pelagem == 1 ? "Reduzido" : "Normal") << std::endl
      << "Tipo gestacao         | " << (this->tipo_gestacao == 0 ? "Marsupial" : "Placentario") << std::endl<< ".";

    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq %rsi, %rdi
callq 0x40f0
leaq 0x4de3(%rip), %rsi      # 0x21aab
movq %rax, %rdi
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
leaq 0x273e(%rip), %rsi      # 0x1f41d
movq %rax, %rdi
callq 0x41a0
movl 0x8(%r14), %esi
movq %rax, %rdi
callq 0x42b0
movq %rax, %rdi
callq 0x40f0
leaq 0x4cc2(%rip), %rsi      # 0x219c4
movq %rax, %rdi
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
leaq 0x2739(%rip), %rsi      # 0x1f452
movq %rax, %rdi
callq 0x41a0
leaq 0x30(%r14), %rsi
movq %rax, %rdi
callq 0x4190
movq %rax, %rdi
callq 0x40f0
leaq 0x272f(%rip), %rsi      # 0x1f46b
movq %rax, %rdi
callq 0x41a0
leaq 0x10(%r14), %rsi
movq %rax, %rdi
callq 0x4190
movq %rax, %rdi
callq 0x40f0
leaq 0x2725(%rip), %rsi      # 0x1f484
movq %rax, %rdi
callq 0x41a0
cmpl $0xb, 0x50(%r14)
leaq 0x2379(%rip), %rcx      # 0x1f0ec
leaq 0x2378(%rip), %rsi      # 0x1f0f2
cmoveq %rcx, %rsi
movq %rax, %rdi
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
leaq 0x2708(%rip), %rsi      # 0x1f49d
movq %rax, %rdi
callq 0x41a0
leaq 0x78(%r14), %rsi
movq %rax, %rdi
callq 0x4190
movq %rax, %rdi
callq 0x40f0
leaq 0x26fe(%rip), %rsi      # 0x1f4b6
movq %rax, %rdi
callq 0x41a0
leaq 0x98(%r14), %rsi
movq %rax, %rdi
callq 0x4190
movq %rax, %rdi
callq 0x40f0
leaq 0x26f1(%rip), %rsi      # 0x1f4cf
movq %rax, %rdi
callq 0x41a0
leaq 0xb8(%r14), %rsi
movq %rax, %rdi
callq 0x4190
movq %rax, %rdi
callq 0x40f0
leaq 0x26e4(%rip), %rsi      # 0x1f4e8
movq %rax, %rdi
callq 0x41a0
leaq 0x2333(%rip), %rcx      # 0x1f146
leaq 0x2330(%rip), %rsi      # 0x1f14a
cmpb $0x0, 0xd8(%r14)
cmovneq %rcx, %rsi
movq %rax, %rdi
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
leaq 0x26c4(%rip), %rsi      # 0x1f501
movq %rax, %rdi
callq 0x41a0
leaq 0xe0(%r14), %rsi
movq %rax, %rdi
callq 0x4190
movq %rax, %rdi
callq 0x40f0
leaq 0x23dd(%rip), %rsi      # 0x1f240
movq %rax, %rdi
callq 0x41a0
leaq 0x110(%r14), %rsi
movq %rax, %rdi
callq 0x4190
movq %rax, %rdi
callq 0x40f0
leaq 0x23d0(%rip), %rsi      # 0x1f259
movq %rax, %rdi
callq 0x41a0
movzbl 0x130(%r14), %esi
movq %rax, %rdi
callq 0x42a0
movq %rax, %rdi
callq 0x40f0
leaq 0x2707(%rip), %rsi      # 0x1f5b7
movq %rax, %rdi
callq 0x41a0
movzbl 0x131(%r14), %esi
movq %rax, %rdi
callq 0x42a0
movq %rax, %rdi
callq 0x40f0
leaq 0x23b4(%rip), %rsi      # 0x1f28b
movq %rax, %rdi
callq 0x41a0
cmpl $0x0, 0x134(%r14)
leaq 0x23ba(%rip), %rcx      # 0x1f2a8
leaq 0x23af(%rip), %rsi      # 0x1f2a4
cmoveq %rcx, %rsi
movq %rax, %rdi
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
leaq 0x23a1(%rip), %rsi      # 0x1f2b1
movq %rax, %rdi
callq 0x41a0
leaq 0x138(%r14), %rsi
movq %rax, %rdi
callq 0x4190
movq %rax, %rdi
callq 0x40f0
leaq 0x4ae2(%rip), %rsi      # 0x21a18
movq %rax, %rdi
callq 0x41a0
leaq 0x4aec(%rip), %rcx      # 0x21a31
leaq 0x4af3(%rip), %rsi      # 0x21a3f
cmpb $0x0, 0x100(%r14)
cmovneq %rcx, %rsi
movq %rax, %rdi
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
leaq 0x4ae3(%rip), %rsi      # 0x21a52
movq %rax, %rdi
callq 0x41a0
movl 0x104(%r14), %ecx
cmpl $0x1, %ecx
leaq 0x3cbb(%rip), %rdx      # 0x20c43
leaq 0x4adc(%rip), %rdi      # 0x21a6b
cmoveq %rdx, %rdi
testl %ecx, %ecx
leaq 0x3c9f(%rip), %rsi      # 0x20c3b
cmovneq %rdi, %rsi
movq %rax, %rdi
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
leaq 0x4abb(%rip), %rsi      # 0x21a72
movq %rax, %rdi
callq 0x41a0
cmpl $0x0, 0x108(%r14)
leaq 0x3c7e(%rip), %rcx      # 0x20c4c
leaq 0x4ab6(%rip), %rsi      # 0x21a8b
cmoveq %rcx, %rsi
movq %rax, %rdi
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
leaq 0x21fb(%rip), %rsi      # 0x1f1eb
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rax
popq %rbx
popq %r14
popq %rbp
retq