// File: viniciu21[P]PetLolja/./src/ReptilExotico.cpp
// Function: ReptilExotico::imprimeDados(std::ostream&) const
ostream &ReptilExotico::imprimeDados(ostream &o) const {
    o << std::endl
      << "============== Reptil_Exotico ==============" << std::endl
      << "ID                    | " << this->id << std::endl
      << "Classe                | Reptil" << 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 Pele            | " << (this->troca_pele == true ? "Sim" : "Não") << 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<< ".";

    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq 0x16edd(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3a9c(%rip), %rsi      # 0x48b7e
callq 0x41c0
movq %rax, %rdi
movq 0x16ebf(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x131d(%rip), %rsi      # 0x4641d
callq 0x41c0
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x4310
movq %rax, %rdi
movq 0x16e92(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x39e5(%rip), %rsi      # 0x48b12
callq 0x41c0
movq %rax, %rdi
movq 0x16e74(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x1307(%rip), %rsi      # 0x46452
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x30, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x16e46(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x12f2(%rip), %rsi      # 0x4646b
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x10, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x16e18(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x12dd(%rip), %rsi      # 0x46484
callq 0x41c0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, -0x18(%rbp)
cmpl $0xb, 0x50(%rax)
jne 0x451ca
leaq 0xf28(%rip), %rax       # 0x460ec
movq %rax, -0x28(%rbp)
jmp 0x451d7
leaq 0xf21(%rip), %rax       # 0x460f2
movq %rax, -0x28(%rbp)
jmp 0x451d7
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x41c0
movq %rax, %rdi
movq 0x16dc2(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x12a0(%rip), %rsi      # 0x4649d
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x78, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x16d94(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x128b(%rip), %rsi      # 0x464b6
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x98, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x16d63(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x1273(%rip), %rsi      # 0x464cf
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0xb8, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x16d32(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x38a4(%rip), %rsi      # 0x48b31
callq 0x41c0
movq %rax, %rdi
movq -0x20(%rbp), %rax
movb 0xd8(%rax), %al
andb $0x1, %al
movzbl %al, %ecx
leaq 0x38a3(%rip), %rsi      # 0x48b4e
leaq 0x3898(%rip), %rax      # 0x48b4a
cmpl $0x1, %ecx
cmoveq %rax, %rsi
callq 0x41c0
movq %rax, %rdi
movq 0x16ce8(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x122a(%rip), %rsi      # 0x46501
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0xe0, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x16cb7(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0xf38(%rip), %rsi       # 0x46240
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x100, %rsi            # imm = 0x100
callq 0x41b0
movq %rax, %rdi
movq 0x16c86(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0xf20(%rip), %rsi       # 0x46259
callq 0x41c0
movq %rax, %rdi
movq -0x20(%rbp), %rax
movb 0x120(%rax), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x4340
movq %rax, %rdi
movq 0x16c51(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x1249(%rip), %rsi      # 0x465b7
callq 0x41c0
movq %rax, %rdi
movq -0x20(%rbp), %rax
movb 0x121(%rax), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x4340
movq %rax, %rdi
movq 0x16c1c(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0xee8(%rip), %rsi       # 0x4628b
callq 0x41c0
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x124(%rax), %ecx
leaq 0xee8(%rip), %rsi       # 0x462a4
leaq 0xee5(%rip), %rax       # 0x462a8
cmpl $0x0, %ecx
cmoveq %rax, %rsi
callq 0x41c0
movq %rax, %rdi
movq 0x16bd7(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0xec9(%rip), %rsi       # 0x462b1
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x100, %rsi            # imm = 0x100
addq $0x28, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x16ba2(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0xdce(%rip), %rsi       # 0x461eb
callq 0x41c0
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)