// File: /workspace/github_cpp_makefile_star2_O3/viniciu21[P]PetLolja/./src/AveExotica.cpp
// Function: AveExotica::imprimeDados(std::ostream&) const
ostream& AveExotica::imprimeDados(ostream& o) const {
    o << std::endl
      << "============== Ave_Exotico ==============" << std::endl
      << "ID                    | " << this->id << std::endl
      << "Classe                | Ave" << 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
      << "Tamanho bico          | " << this->tamanhoDoBico << std::endl
      << "Envergadura           | " << this->envergaduraAsas << std::endl<< ".";

    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq -0x18(%rax), %rdi
addq %rsi, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23eb0(%rip), %rsi     # 0x2d5b7
movl $0x29, %edx
movq %rax, %rdi
callq 0x4210
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23d02(%rip), %rsi     # 0x2d447
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movl 0x8(%r14), %esi
movq %r15, %rdi
callq 0x42e0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23cce(%rip), %rsi     # 0x2d460
movl $0x1b, %edx
movq %rax, %rdi
callq 0x4210
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23cac(%rip), %rsi     # 0x2d47c
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x30(%r14), %rsi
movq 0x38(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23c74(%rip), %rsi     # 0x2d495
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x10(%r14), %rsi
movq 0x18(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23c3c(%rip), %rsi     # 0x2d4ae
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
cmpl $0xb, 0x50(%r14)
leaq 0x2388b(%rip), %rax     # 0x2d116
leaq 0x2388a(%rip), %rsi     # 0x2d11c
cmoveq %rax, %rsi
movl $0x5, %edx
movq %r15, %rdi
callq 0x4210
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23bf3(%rip), %rsi     # 0x2d4c7
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x78(%r14), %rsi
movq 0x80(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23bb8(%rip), %rsi     # 0x2d4e0
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x98(%r14), %rsi
movq 0xa0(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23b7a(%rip), %rsi     # 0x2d4f9
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0xb8(%r14), %rsi
movq 0xc0(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23b3c(%rip), %rsi     # 0x2d512
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
leaq 0x23786(%rip), %rax     # 0x2d170
leaq 0x23783(%rip), %rsi     # 0x2d174
cmpb $0x0, 0xd8(%r14)
cmovneq %rax, %rsi
movl $0x3, %edx
movq %r15, %rdi
callq 0x4210
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23af0(%rip), %rsi     # 0x2d52b
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0xe0(%r14), %rsi
movq 0xe8(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x237d8(%rip), %rsi     # 0x2d26a
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x140(%r14), %rsi
movq 0x148(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x2379a(%rip), %rsi     # 0x2d283
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movzbl 0x160(%r14), %esi
movq %r15, %rdi
callq 0x42d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23aa7(%rip), %rsi     # 0x2d5e1
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movzbl 0x161(%r14), %esi
movq %r15, %rdi
callq 0x42d0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x2372a(%rip), %rsi     # 0x2d2b5
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
xorl %eax, %eax
cmpl $0x0, 0x164(%r14)
setne %al
leaq 0x23726(%rip), %rcx     # 0x2d2d2
leaq 0x2371b(%rip), %rsi     # 0x2d2ce
cmoveq %rcx, %rsi
leaq 0x8(,%rax,4), %rdx
movq %r15, %rdi
callq 0x4210
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x236e3(%rip), %rsi     # 0x2d2db
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x168(%r14), %rsi
movq 0x170(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x23927(%rip), %rsi     # 0x2d576
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x120(%r14), %rsi
movq 0x128(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq %rax, %r15
leaq 0x238e9(%rip), %rsi     # 0x2d58f
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x100(%r14), %rsi
movq 0x108(%r14), %rdx
movq %r15, %rdi
callq 0x4210
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4030
movq %rax, %rdi
callq 0x4120
leaq 0x2351b(%rip), %rsi     # 0x2d215
movl $0x1, %edx
movq %rax, %rdi
callq 0x4210
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)