// File: viniciu21[P]PetLolja/./src/AveDomestico.cpp
// Function: AveDomestico::imprimeDados(std::ostream&) const
ostream& AveDomestico::imprimeDados(ostream& o) const {
    o << std::endl
      << "============== Ave_Domestico ==============" << 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
      << "Nome Batismo          | " << this->nome_animal << std::endl
      << "Nome  dono            | " << this->nome_dono << std::endl
      << "Tamanho bico          | " << this->tamanhoDoBico << std::endl
      << "Envergadura           | " << this->envergaduraAsas << std::endl<< ".";

    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq 0x536fd(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3db2f(%rip), %rsi     # 0x463f1
callq 0x41c0
movq %rax, %rdi
movq 0x536df(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3db3d(%rip), %rsi     # 0x4641d
callq 0x41c0
movq %rax, %rdi
movq -0x20(%rbp), %rax
movl 0x8(%rax), %esi
callq 0x4310
movq %rax, %rdi
movq 0x536b2(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3db29(%rip), %rsi     # 0x46436
callq 0x41c0
movq %rax, %rdi
movq 0x53694(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3db27(%rip), %rsi     # 0x46452
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x30, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x53666(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3db12(%rip), %rsi     # 0x4646b
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x10, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x53638(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3dafd(%rip), %rsi     # 0x46484
callq 0x41c0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, -0x18(%rbp)
cmpl $0xb, 0x50(%rax)
jne 0x89aa
leaq 0x3d748(%rip), %rax     # 0x460ec
movq %rax, -0x28(%rbp)
jmp 0x89b7
leaq 0x3d741(%rip), %rax     # 0x460f2
movq %rax, -0x28(%rbp)
jmp 0x89b7
movq -0x18(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x41c0
movq %rax, %rdi
movq 0x535e2(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3dac0(%rip), %rsi     # 0x4649d
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x78, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x535b4(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3daab(%rip), %rsi     # 0x464b6
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x98, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x53583(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3da93(%rip), %rsi     # 0x464cf
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0xb8, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x53552(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3da7b(%rip), %rsi     # 0x464e8
callq 0x41c0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, -0x30(%rbp)
movb 0xd8(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x8a9a
leaq 0x3d6b2(%rip), %rax     # 0x46146
movq %rax, -0x38(%rbp)
jmp 0x8aa7
leaq 0x3d6a9(%rip), %rax     # 0x4614a
movq %rax, -0x38(%rbp)
jmp 0x8aa7
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x41c0
movq %rax, %rdi
movq 0x534f2(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3da34(%rip), %rsi     # 0x46501
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0xe0, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x534c1(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3da1c(%rip), %rsi     # 0x4651a
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x140, %rsi            # imm = 0x140
callq 0x41b0
movq %rax, %rdi
movq 0x53490(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3da04(%rip), %rsi     # 0x46533
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x140, %rsi            # imm = 0x140
addq $0x20, %rsi
callq 0x41b0
movq %rax, %rdi
movq 0x5345b(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3d9e8(%rip), %rsi     # 0x4654c
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x120, %rsi            # imm = 0x120
callq 0x41b0
movq %rax, %rdi
movq 0x5342a(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3d9d0(%rip), %rsi     # 0x46565
callq 0x41c0
movq -0x20(%rbp), %rsi
movq %rax, %rdi
addq $0x100, %rsi            # imm = 0x100
callq 0x41b0
movq %rax, %rdi
movq 0x533f9(%rip), %rsi     # 0x5bfb0
callq 0x41f0
movq %rax, %rdi
leaq 0x3d625(%rip), %rsi     # 0x461eb
callq 0x41c0
movq -0x10(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop