// File: /workspace/github_cpp_makefile_star2_O1/brashi[P]PetFera/src/animal/animal.cpp
// Function: Animal::printOutDados(std::ostream&, std::shared_ptr<Animal>) const
ostream& Animal::printOutDados(ostream& o, shared_ptr<Animal> animal) const {

    o  << right
    << setfill(' ') << setw(23) << ((this->nome.length() > 17) ? (this->nome.substr(0, 17) + "...") : this->nome)
    << setfill(' ') << setw(23) << ((this->especie.length() > 17) ? (this->especie.substr(0, 17) + "...") : this->especie)
    << setfill(' ') << setw(23) << ((this->ameacadoPor.length() > 17) ? (this->ameacadoPor.substr(0, 17) + "...") : this->ameacadoPor)
    << setfill(' ') << setw(23) << (this->perigoso? "Sim" : "Não")
    << endl;

    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq -0x18(%rax), %rcx
movl $0xffffff4f, %edx       # imm = 0xFFFFFF4F
andl 0x18(%rsi,%rcx), %edx
orl $0x80, %edx
movl %edx, 0x18(%rsi,%rcx)
movq -0x18(%rax), %rax
leaq (%rsi,%rax), %r15
cmpb $0x0, 0xe1(%rsi,%rax)
jne 0x199bd
movq %r15, %rdi
movl $0x20, %esi
callq 0x6280
movb %al, 0xe0(%r15)
movb $0x1, 0xe1(%r15)
movb $0x20, 0xe0(%r15)
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq $0x17, 0x10(%rbx,%rax)
leaq 0x8(%r14), %rsi
movq 0x10(%r14), %r13
cmpq $0x12, %r13
movq %r13, 0x10(%rsp)
jb 0x19a35
leaq 0xb8(%rsp), %r15
movl $0x11, %ecx
movq %r15, %rdi
xorl %edx, %edx
callq 0x62d0
leaq 0x9548(%rip), %rsi      # 0x22f4e
movq %r15, %rdi
callq 0x64b0
leaq 0x68(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x19a51
movq %rsi, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
jmp 0x19a57
leaq 0x68(%rsp), %rax
movq %rax, -0x10(%rax)
movq (%rsi), %rsi
leaq (%rsi,%r13), %rdx
leaq 0x58(%rsp), %rdi
callq 0xb010
jmp 0x19a6f
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq %rbx, %rdi
callq 0x6310
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq %r15, %r12
addq %rax, %r12
cmpb $0x0, 0xe1(%r15,%rax)
jne 0x19aba
movq %r12, %rdi
movl $0x20, %esi
callq 0x6280
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq (%r15), %rax
movq -0x18(%rax), %rax
movq $0x17, 0x10(%r15,%rax)
leaq 0x28(%r14), %rsi
movq 0x30(%r14), %rbp
cmpq $0x12, %rbp
setae 0xf(%rsp)
jb 0x19b35
leaq 0x98(%rsp), %rdi
movl $0x11, %ecx
xorl %edx, %edx
callq 0x62d0
leaq 0x944d(%rip), %rsi      # 0x22f4e
leaq 0x98(%rsp), %rdi
callq 0x64b0
leaq 0x48(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x19b51
movq %rsi, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0x19b57
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
movq (%rsi), %rsi
leaq (%rsi,%rbp), %rdx
leaq 0x38(%rsp), %rdi
callq 0xb010
jmp 0x19b6f
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq %r15, %rdi
callq 0x6310
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq %r15, %r12
addq %rax, %r12
cmpb $0x0, 0xe1(%r15,%rax)
jne 0x19bba
movq %r12, %rdi
movl $0x20, %esi
callq 0x6280
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq (%r15), %rax
movq -0x18(%rax), %rax
movq $0x17, 0x10(%r15,%rax)
leaq 0x48(%r14), %rsi
movq 0x50(%r14), %r13
cmpq $0x12, %r13
setae 0xe(%rsp)
jb 0x19c2f
leaq 0x78(%rsp), %rdi
movl $0x11, %ecx
xorl %edx, %edx
callq 0x62d0
leaq 0x9350(%rip), %rsi      # 0x22f4e
leaq 0x78(%rsp), %rdi
callq 0x64b0
leaq 0x28(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x19c4b
movq %rsi, 0x18(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x28(%rsp)
jmp 0x19c51
leaq 0x28(%rsp), %rax
movq %rax, -0x10(%rax)
movq (%rsi), %rsi
leaq (%rsi,%r13), %rdx
leaq 0x18(%rsp), %rdi
callq 0xb010
jmp 0x19c69
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x20(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq %r15, %rdi
callq 0x6310
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rax
movq %r15, %r12
addq %rax, %r12
cmpb $0x0, 0xe1(%r15,%rax)
jne 0x19cb4
movq %r12, %rdi
movl $0x20, %esi
callq 0x6280
movb %al, 0xe0(%r12)
movb $0x1, 0xe1(%r12)
movb $0x20, 0xe0(%r12)
movq (%r15), %rax
movq -0x18(%rax), %rax
movq $0x17, 0x10(%r15,%rax)
movzbl 0x88(%r14), %eax
leaq 0x9337(%rip), %rcx      # 0x23013
leaq 0x9334(%rip), %rsi      # 0x23017
testq %rax, %rax
cmovneq %rcx, %rsi
movl $0x4, %edx
subq %rax, %rdx
movq %r15, %rdi
callq 0x6310
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %r15, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19d3c
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x62b0
cmpq $0x12, %r13
movq 0x10(%rsp), %r14
jb 0x19d68
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19d68
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x62b0
leaq 0x48(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19d83
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x62b0
cmpq $0x12, %rbp
jb 0x19daa
leaq 0xa8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19daa
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x62b0
leaq 0x68(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19dc5
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x62b0
cmpq $0x12, %r14
jb 0x19dec
leaq 0xc8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19dec
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x62b0
movq %rbx, %rax
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movb $0x1, 0xe(%rsp)
jmp 0x19e81
movq %rax, %rbx
movb $0x1, 0xf(%rsp)
jmp 0x19ecd
movq %rax, %rbx
jmp 0x19e55
movq %rax, %rbx
jmp 0x19ea1
movq %rax, %rbx
jmp 0x19eed
movq %rax, %rbx
jmp 0x19e86
movq %rax, %rbx
jmp 0x19ed2
movq %rax, %rbx
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19e55
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x62b0
cmpq $0x12, %r13
jb 0x19e81
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
movb $0x1, 0xe(%rsp)
cmpq %rax, %rdi
je 0x19e81
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x62b0
cmpb $0x0, 0xe(%rsp)
leaq 0x48(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19ea1
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x62b0
cmpq $0x12, %rbp
jb 0x19ecd
leaq 0xa8(%rsp), %rax
movq -0x10(%rax), %rdi
movb $0x1, 0xf(%rsp)
cmpq %rax, %rdi
je 0x19ecd
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x62b0
cmpb $0x0, 0xf(%rsp)
leaq 0x68(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19eed
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x62b0
cmpq $0x12, 0x10(%rsp)
jb 0x19f02
leaq 0xb8(%rsp), %rdi
callq 0x656a
movq %rbx, %rdi
callq 0x6460