// File: /workspace/github_cpp_makefile_star2_O3/brashi[P]PetFera/src/animal/animal.cpp
// Function: Animal::printOutDetails(std::shared_ptr<Animal>)
void Animal::printOutDetails(shared_ptr<Animal> animal) {
    shared_ptr<Veterinario> vet = animal->getVeterinario();
    shared_ptr<Tratador> trt = animal->getTratador();
    string classe = Animal::getClasse(animal);
    string classificacao = Animal::getClassificacao(animal);

    cout << endl << "=-=-=-=-=- Visualização de animal -=-=-=-=-=-" << endl;
    cout << "Nome: " << animal->nome << endl;
    cout << "Espécie: " << animal->getEspecie() << endl;
    cout << "Perigoso: " << (animal->getPerigoso() ? "Sim" : "Não") << endl;
    cout << "Ameaçado por: " << animal->getAmeacadoPor() << endl;
    cout << "Veterinário: " << vet->getNome() << endl;
    cout << "  └ CRMV: " << vet->getCRMV() << endl;
    cout << "Tratador: " << trt->getNome() << endl;
    int un = trt->getUniforme();
    cout << "  └ N. Segurança: " << (un == 0? "Verde" : (un == 1 ? "Azul" : "Vermelho")) << endl;
    cout << "Categoria: " << classificacao << endl;
    if(classificacao == "Silvestre Exótico")
        cout << "  └ Habitat: " << dynamic_pointer_cast<Exotico>(animal)->getLocal() << endl;
    else if(classificacao == "Silvestre Nativo") {
        shared_ptr<Nativo> classificacao = dynamic_pointer_cast<Nativo>(animal);
        cout << "  ├ Lic. Transporte IBAMA: " << classificacao->getLicenca() << endl;
        cout << "  └ Região: " << classificacao->getRegiao() << endl;
    } else 
        cout << "  └ Adestrado: " << (dynamic_pointer_cast<Domestico>(animal)->getAdestrado() ? "Sim" : "Não") << endl;
    cout << "Classe: " << classe << endl;
    if(classe == "Ave")
        cout << "  └ Voa: " << (dynamic_pointer_cast<Ave>(animal)->getVoa() ? "Sim" : "Não") << endl;
    else if(classe == "Anfíbio") {
        shared_ptr<Anfibio> classe = dynamic_pointer_cast<Anfibio>(animal);
        cout << "  ├ Cauda: " << (classe->getCauda() ? "Sim" : "Não") << endl;
        cout << "  └ Pata: " << (classe->getPata() ? "Sim" : "Não") << endl;
    } else if(classe == "Réptil") {
        int pele = dynamic_pointer_cast<Reptil>(animal)->getPele();
        cout << "  └ Pele: " << (pele == 0? "Escama" : (pele == 1 ? "Placa" : "Carapaça")) << endl;
    } else
        cout << "  └ Gestação: " << (dynamic_pointer_cast<Mamifero>(animal)->getGestacao() ? "Sim" : "Não") << endl;
    cout << endl << "-=-=-=-=-=-=-=-=-=-= Fim =-=-=-=-=-=-=-=-=-=-" << endl << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rdi, %r15
movq (%rdi), %rax
movq 0x68(%rax), %rbp
movq 0x70(%rax), %rcx
movq %rcx, 0x30(%rsp)
testq %rcx, %rcx
je 0x1758b
movq 0x13a58(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x1757f
movq 0x30(%rsp), %rcx
incl 0x8(%rcx)
jmp 0x1758b
movq 0x30(%rsp), %rax
lock
incl 0x8(%rax)
movq (%r15), %rax
movq 0x78(%rax), %r13
movq 0x80(%rax), %rcx
movq %rcx, 0x28(%rsp)
testq %rcx, %rcx
je 0x175c2
movq 0x13a21(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x175b6
movq 0x28(%rsp), %rcx
incl 0x8(%rcx)
jmp 0x175c2
movq 0x28(%rsp), %rax
lock
incl 0x8(%rax)
movq (%r15), %rax
movq %rax, 0x48(%rsp)
movq 0x8(%r15), %rax
movq %rax, 0x50(%rsp)
testq %rax, %rax
je 0x175ea
movq 0x139ec(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x175e6
incl 0x8(%rax)
jmp 0x175ea
lock
incl 0x8(%rax)
leaq 0x58(%rsp), %rdi
leaq 0x48(%rsp), %rsi
xorl %edx, %edx
callq 0x1706e
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x1760a
callq 0x9f52
movq (%r15), %rax
movq %rax, 0x38(%rsp)
movq 0x8(%r15), %rax
movq %rax, 0x40(%rsp)
testq %rax, %rax
je 0x17635
movq 0x139a1(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x17631
incl 0x8(%rax)
jmp 0x17635
lock
incl 0x8(%rax)
leaq 0x78(%rsp), %rdi
leaq 0x38(%rsp), %rsi
xorl %edx, %edx
callq 0x16c86
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x17655
callq 0x9f52
movq 0x13974(%rip), %rdi     # 0x2afd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x13959(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq %rax, %rbx
leaq 0x994a(%rip), %rsi      # 0x20fd8
movl $0x2f, %edx
movq %rax, %rdi
callq 0x5310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x13907(%rip), %rdi     # 0x2afd0
leaq 0x9729(%rip), %rsi      # 0x20df9
movl $0x6, %edx
callq 0x5310
movq (%r15), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq 0x138e4(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x138ae(%rip), %rdi     # 0x2afd0
leaq 0x978e(%rip), %rsi      # 0x20eb7
movl $0xa, %edx
callq 0x5310
movq (%r15), %rax
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x28(%rax), %rsi
movq 0x30(%rax), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x9fc2
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x1386b(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x177ab
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
movq 0x1381e(%rip), %rdi     # 0x2afd0
leaq 0x984f(%rip), %rsi      # 0x21008
movl $0xa, %edx
callq 0x5310
movq (%r15), %rax
movzbl 0x88(%rax), %eax
leaq 0x983f(%rip), %rcx      # 0x21013
leaq 0x983c(%rip), %r12      # 0x21017
testq %rax, %rax
movq %r12, %rsi
cmovneq %rcx, %rsi
movl $0x4, %edx
subq %rax, %rdx
movq 0x137dc(%rip), %rbx     # 0x2afd0
movq %rbx, %rdi
callq 0x5310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x137b6(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x137a2(%rip), %rdi     # 0x2afd0
leaq 0x97e7(%rip), %rsi      # 0x2101c
movl $0xf, %edx
callq 0x5310
movq (%r15), %rax
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
movq 0x48(%rax), %rsi
movq 0x50(%rax), %rdx
addq %rsi, %rdx
callq 0x9fc2
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x13765(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x178b1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
movq 0x13718(%rip), %rdi     # 0x2afd0
leaq 0x976d(%rip), %rsi      # 0x2102c
movl $0xe, %edx
callq 0x5310
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x14736
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x136e9(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1792d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
movq 0x1369c(%rip), %rdi     # 0x2afd0
leaq 0x9700(%rip), %rsi      # 0x2103b
movl $0xc, %edx
callq 0x5310
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x1599a
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x1366d(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x179a9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
movq 0x13620(%rip), %rdi     # 0x2afd0
leaq 0x9691(%rip), %rsi      # 0x21048
movl $0xa, %edx
callq 0x5310
leaq 0x8(%rsp), %rdi
movq %r13, %rsi
callq 0x14736
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x135f1(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x17a25
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
movq %r13, %rdi
callq 0x14e54
movl %eax, %ebx
movq 0x1359a(%rip), %rdi     # 0x2afd0
leaq 0x9616(%rip), %rsi      # 0x21053
movl $0x15, %edx
callq 0x5310
cmpl $0x1, %ebx
leaq 0x9440(%rip), %rax      # 0x20e91
leaq 0x943e(%rip), %rcx      # 0x20e96
cmoveq %rax, %rcx
testl %ebx, %ebx
leaq 0x9426(%rip), %r13      # 0x20e8b
cmovneq %rcx, %r13
movq %r13, %rdi
callq 0x5150
movq 0x13558(%rip), %rbx     # 0x2afd0
movq %rbx, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x5310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x1352c(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x13518(%rip), %rdi     # 0x2afd0
leaq 0x95aa(%rip), %rsi      # 0x21069
movl $0xb, %edx
callq 0x5310
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
movq 0x134f3(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
leaq 0x93ea(%rip), %rsi      # 0x20efd
leaq 0x78(%rsp), %rdi
callq 0x50d0
testl %eax, %eax
je 0x17b94
leaq 0x93e8(%rip), %rsi      # 0x20f10
leaq 0x78(%rsp), %rdi
callq 0x50d0
testl %eax, %eax
je 0x17bef
movq 0x1348f(%rip), %rdi     # 0x2afd0
leaq 0x956b(%rip), %rsi      # 0x210b3
movl $0x11, %edx
callq 0x5310
movq (%r15), %rdi
leaq 0x1232c(%rip), %rsi     # 0x29e88
leaq 0x12335(%rip), %rdx     # 0x29e98
movq $-0x2, %rcx
callq 0x5300
movq 0x8(%r15), %rbx
testq %rbx, %rbx
je 0x17d27
movq 0x13445(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x17d23
incl 0x8(%rbx)
jmp 0x17d27
movq 0x13435(%rip), %rdi     # 0x2afd0
leaq 0x94d3(%rip), %rsi      # 0x21075
movl $0xf, %edx
callq 0x5310
movq (%r15), %rdi
leaq 0x122d2(%rip), %rsi     # 0x29e88
leaq 0x122eb(%rip), %rdx     # 0x29ea8
movq $-0x2, %rcx
callq 0x5300
movq 0x8(%r15), %r13
testq %r13, %r13
je 0x17d94
movq 0x133eb(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x17d8f
incl 0x8(%r13)
jmp 0x17d94
movq (%r15), %rdi
testq %rdi, %rdi
je 0x17c38
leaq 0x1228a(%rip), %rsi     # 0x29e88
leaq 0x122b3(%rip), %rdx     # 0x29eb8
movq $-0x2, %rcx
callq 0x5300
testq %rax, %rax
je 0x17c38
movq %rax, %rbp
movq 0x8(%r15), %r13
testq %r13, %r13
je 0x17c3a
movq 0x1339f(%rip), %rax     # 0x2afc8
cmpb $0x0, (%rax)
je 0x18166
incl 0x8(%r13)
jmp 0x17c3d
xorl %ebp, %ebp
xorl %r13d, %r13d
movq 0x1338c(%rip), %rdi     # 0x2afd0
leaq 0x943a(%rip), %rsi      # 0x21085
movl $0x1d, %edx
callq 0x5310
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x1afe8
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x1335d(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x17cb9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
movq 0x13310(%rip), %rdi     # 0x2afd0
leaq 0x93dc(%rip), %rsi      # 0x210a3
movl $0xf, %edx
callq 0x5310
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x1b168
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x132e1(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
jmp 0x17de1
lock
incl 0x8(%rbx)
movq %rax, %rdi
callq 0x18b78
testb %al, %al
movq %r12, %rsi
leaq 0x92d8(%rip), %rcx      # 0x21013
cmovneq %rcx, %rsi
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x1327f(%rip), %r13     # 0x2afd0
movq %r13, %rdi
callq 0x5310
movq (%r13), %rax
addq -0x18(%rax), %r13
movq %r13, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x13258(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
testq %rbx, %rbx
je 0x17e05
movq %rbx, %rdi
jmp 0x17e00
lock
incl 0x8(%r13)
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x18cf4
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x1321e(%rip), %rdi     # 0x2afd0
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x17df8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
testq %r13, %r13
je 0x17e05
movq %r13, %rdi
callq 0x9f52
movq 0x131c4(%rip), %rdi     # 0x2afd0
leaq 0x92b2(%rip), %rsi      # 0x210c5
movl $0x8, %edx
callq 0x5310
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq 0x131a2(%rip), %r13     # 0x2afd0
movq %r13, %rdi
callq 0x5310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
leaq 0x9112(%rip), %rsi      # 0x20f79
leaq 0x58(%rsp), %rdi
callq 0x50d0
testl %eax, %eax
je 0x17f00
leaq 0x90fd(%rip), %rsi      # 0x20f7d
leaq 0x58(%rsp), %rdi
callq 0x50d0
testl %eax, %eax
je 0x17f55
leaq 0x8818(%rip), %rsi      # 0x206b1
leaq 0x58(%rsp), %rdi
callq 0x50d0
testl %eax, %eax
je 0x17fab
movq 0x1311e(%rip), %rdi     # 0x2afd0
leaq 0x9260(%rip), %rsi      # 0x21119
movl $0x12, %edx
callq 0x5310
movq (%r15), %rdi
leaq 0x11fbb(%rip), %rsi     # 0x29e88
leaq 0x1203c(%rip), %rdx     # 0x29f10
xorl %ecx, %ecx
callq 0x5300
movq 0x8(%r15), %rbp
testq %rbp, %rbp
je 0x1805b
movq 0x130d9(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x18057
incl 0x8(%rbp)
jmp 0x1805b
movq 0x130c9(%rip), %rdi     # 0x2afd0
leaq 0x91c0(%rip), %rsi      # 0x210ce
movl $0xb, %edx
callq 0x5310
movq (%r15), %rdi
leaq 0x11f66(%rip), %rsi     # 0x29e88
leaq 0x11f9f(%rip), %rdx     # 0x29ec8
xorl %ecx, %ecx
callq 0x5300
movq 0x8(%r15), %rbp
testq %rbp, %rbp
je 0x17ff5
movq 0x13084(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x17ff1
incl 0x8(%rbp)
jmp 0x17ff5
movq (%r15), %rdi
testq %rdi, %rdi
je 0x17fe8
leaq 0x11f20(%rip), %rsi     # 0x29e88
leaq 0x11f71(%rip), %rdx     # 0x29ee0
xorl %ebx, %ebx
xorl %ecx, %ecx
callq 0x5300
movl $0x0, %ebp
testq %rax, %rax
je 0x18177
movq 0x8(%r15), %rbp
testq %rbp, %rbp
je 0x180bd
movq 0x1302e(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x18170
incl 0x8(%rbp)
jmp 0x18174
movq (%r15), %rdi
leaq 0x11ed3(%rip), %rsi     # 0x29e88
leaq 0x11f3c(%rip), %rdx     # 0x29ef8
xorl %ecx, %ecx
callq 0x5300
movq 0x8(%r15), %rbx
testq %rbx, %rbx
je 0x180c8
movq 0x12ff1(%rip), %rcx     # 0x2afc8
cmpb $0x0, (%rcx)
je 0x180c4
incl 0x8(%rbx)
jmp 0x180c8
xorl %ebx, %ebx
xorl %ebp, %ebp
jmp 0x18177
lock
incl 0x8(%rbp)
movq %rax, %rdi
callq 0x1b502
testb %al, %al
leaq 0x900d(%rip), %rcx      # 0x21013
cmovneq %rcx, %r12
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x12fb4(%rip), %rbx     # 0x2afd0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x5310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x12f8b(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
jmp 0x18261
lock
incl 0x8(%rbp)
movq %rax, %rdi
callq 0x1c186
testb %al, %al
leaq 0x8fa7(%rip), %rcx      # 0x21013
cmovneq %rcx, %r12
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x12f4e(%rip), %rbx     # 0x2afd0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x5310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x12f25(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
jmp 0x18261
xorl %ebp, %ebp
jmp 0x18174
lock
incl 0x8(%rbx)
movq %rax, %rdi
callq 0x1ce08
movl %eax, %ebp
testq %rbx, %rbx
je 0x180df
movq %rbx, %rdi
callq 0x9f52
movq 0x12eea(%rip), %rdi     # 0x2afd0
leaq 0x9008(%rip), %rsi      # 0x210f5
movl $0xc, %edx
callq 0x5310
cmpl $0x1, %ebp
leaq 0x9008(%rip), %rax      # 0x21109
leaq 0x9007(%rip), %rcx      # 0x2110f
cmoveq %rax, %rcx
testl %ebp, %ebp
leaq 0x8fed(%rip), %r15      # 0x21102
cmovneq %rcx, %r15
movq %r15, %rdi
callq 0x5150
movq 0x12ea8(%rip), %rbx     # 0x2afd0
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x5310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x12e7c(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
jmp 0x1826e
lock
incl 0x8(%r13)
jmp 0x17c3d
lock
incl 0x8(%rbp)
movq %rax, %rbx
movq 0x12e52(%rip), %rdi     # 0x2afd0
leaq 0x8f55(%rip), %rsi      # 0x210da
movl $0xd, %edx
callq 0x5310
movq %rbx, %rdi
callq 0x1db74
testb %al, %al
movq %r12, %rsi
leaq 0x8e70(%rip), %rcx      # 0x21013
cmovneq %rcx, %rsi
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x12e17(%rip), %r15     # 0x2afd0
movq %r15, %rdi
callq 0x5310
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x12df1(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq 0x12ddd(%rip), %rdi     # 0x2afd0
leaq 0x8eee(%rip), %rsi      # 0x210e8
movl $0xc, %edx
callq 0x5310
movq %rbx, %rdi
callq 0x1dca6
testb %al, %al
leaq 0x8dfe(%rip), %rcx      # 0x21013
cmovneq %rcx, %r12
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x12da5(%rip), %rbx     # 0x2afd0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x5310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x12d7c(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
testq %rbp, %rbp
je 0x1826e
movq %rbp, %rdi
callq 0x9f52
movq (%r13), %rax
addq -0x18(%rax), %r13
movq %r13, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x12d43(%rip), %rdi     # 0x2afd0
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq %rax, %rbx
leaq 0x8e88(%rip), %rsi      # 0x2112c
movl $0x2d, %edx
movq %rax, %rdi
callq 0x5310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51c0
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18323
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x52b0
leaq 0x68(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1833e
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x52b0
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x1834d
callq 0x9f52
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x1835c
callq 0x9f52
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x183fe
jmp 0x18379
jmp 0x18379
jmp 0x18379
movq %rax, %r15
jmp 0x183f2
jmp 0x18443
jmp 0x183d8
jmp 0x183d8
jmp 0x18443
jmp 0x18443
jmp 0x18443
jmp 0x18443
jmp 0x18443
movq %rax, %r15
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x18467
callq 0x9f52
jmp 0x18467
movq %rax, %r15
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x18482
callq 0x9f52
jmp 0x18482
jmp 0x1840b
movq %rax, %r15
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x183f2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
testq %r13, %r13
je 0x18446
movq %r13, %rdi
jmp 0x18416
jmp 0x1840b
movq %rax, %r15
testq %rbx, %rbx
je 0x18446
movq %rbx, %rdi
jmp 0x18416
movq %rax, %r15
testq %rbp, %rbp
je 0x18446
movq %rbp, %rdi
callq 0x9f52
jmp 0x18446
jmp 0x18425
jmp 0x18425
jmp 0x18425
jmp 0x18425
movq %rax, %r15
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x18446
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
jmp 0x18446
jmp 0x18443
movq %rax, %r15
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18467
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x52b0
leaq 0x68(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18482
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x52b0
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x18491
callq 0x9f52
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x184a0
callq 0x9f52
movq %r15, %rdi
callq 0x5460