// File: /workspace/github_cpp_makefile_star2_O3/viniciu21[P]PetLolja/./src/ReptilNativo.cpp
// Function: ReptilNativo::imprimeDados(std::ostream&) const
ostream &ReptilNativo::imprimeDados(ostream &o) const {
    o << std::endl
      << "============== Reptil_Nativo ==============" << 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<< ".";

    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 0x3474(%rip), %rsi      # 0x2fc2b
movl $0x2b, %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 0xc52(%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 0x3340(%rip), %rsi      # 0x2fb82
movl $0x1e, %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 0xbfc(%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 0xbc4(%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 0xb8c(%rip), %rsi       # 0x2d4ae
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
cmpl $0xb, 0x50(%r14)
leaq 0x7db(%rip), %rax       # 0x2d116
leaq 0x7da(%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 0xb43(%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 0xb08(%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 0xaca(%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 0x311b(%rip), %rsi      # 0x2fba1
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movzbl 0xd8(%r14), %eax
leaq 0x3118(%rip), %rcx      # 0x2fbba
leaq 0x3115(%rip), %rsi      # 0x2fbbe
testq %rax, %rax
cmovneq %rcx, %rsi
movl $0x4, %edx
subq %rax, %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 0xa3a(%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 0x722(%rip), %rsi       # 0x2d26a
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movq 0x100(%r14), %rsi
movq 0x108(%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 0x6e4(%rip), %rsi       # 0x2d283
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movzbl 0x120(%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 0x9f1(%rip), %rsi       # 0x2d5e1
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
movzbl 0x121(%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 0x674(%rip), %rsi       # 0x2d2b5
movl $0x18, %edx
movq %rax, %rdi
callq 0x4210
xorl %eax, %eax
cmpl $0x0, 0x124(%r14)
setne %al
leaq 0x670(%rip), %rcx       # 0x2d2d2
leaq 0x665(%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
leaq 0x56a(%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