// File: /workspace/github_cpp_makefile_star2_O1/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), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x189d4
movq 0x1560c(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x189cb
movq 0x30(%rsp), %rax
incl 0x8(%rax)
jmp 0x189d4
movq 0x30(%rsp), %rax
lock
incl 0x8(%rax)
movq (%r15), %rax
movq 0x78(%rax), %r13
movq 0x80(%rax), %rax
movq %rax, 0x28(%rsp)
testq %rax, %rax
je 0x18a0b
movq 0x155d5(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x18a02
movq 0x28(%rsp), %rax
incl 0x8(%rax)
jmp 0x18a0b
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 0x18a36
movq 0x155a0(%rip), %rcx     # 0x2dfc8
cmpb $0x0, (%rcx)
je 0x18a32
incl 0x8(%rax)
jmp 0x18a36
lock
incl 0x8(%rax)
leaq 0x58(%rsp), %rdi
leaq 0x48(%rsp), %rsi
xorl %edx, %edx
callq 0x18458
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x18a56
callq 0xafa0
movq (%r15), %rax
movq %rax, 0x38(%rsp)
movq 0x8(%r15), %rax
movq %rax, 0x40(%rsp)
testq %rax, %rax
je 0x18a81
movq 0x15555(%rip), %rcx     # 0x2dfc8
cmpb $0x0, (%rcx)
je 0x18a7d
incl 0x8(%rax)
jmp 0x18a81
lock
incl 0x8(%rax)
leaq 0x78(%rsp), %rdi
leaq 0x38(%rsp), %rsi
xorl %edx, %edx
callq 0x18036
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x18aa1
callq 0xafa0
movq 0x15528(%rip), %rdi     # 0x2dfd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x1550d(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq %rax, %rbx
leaq 0xa4fe(%rip), %rsi      # 0x22fd8
movl $0x2f, %edx
movq %rax, %rdi
callq 0x6310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x154bb(%rip), %rdi     # 0x2dfd0
leaq 0xa2dd(%rip), %rsi      # 0x22df9
movl $0x6, %edx
callq 0x6310
movq (%r15), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq 0x15498(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x15462(%rip), %rdi     # 0x2dfd0
leaq 0xa342(%rip), %rsi      # 0x22eb7
movl $0xa, %edx
callq 0x6310
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 0xb010
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x1541f(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x18bf7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
movq 0x153d2(%rip), %rdi     # 0x2dfd0
leaq 0xa403(%rip), %rsi      # 0x23008
movl $0xa, %edx
callq 0x6310
movq (%r15), %rax
movzbl 0x88(%rax), %eax
leaq 0xa3f3(%rip), %rcx      # 0x23013
leaq 0xa3f0(%rip), %r12      # 0x23017
testq %rax, %rax
movq %r12, %rsi
cmovneq %rcx, %rsi
movl $0x4, %edx
subq %rax, %rdx
movq 0x15390(%rip), %rbx     # 0x2dfd0
movq %rbx, %rdi
callq 0x6310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x1536a(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x15356(%rip), %rdi     # 0x2dfd0
leaq 0xa39b(%rip), %rsi      # 0x2301c
movl $0xf, %edx
callq 0x6310
movq (%r15), %rax
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
movq 0x48(%rax), %rsi
movq 0x50(%rax), %rdx
addq %rsi, %rdx
callq 0xb010
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x15319(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x18cfd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
movq 0x152cc(%rip), %rdi     # 0x2dfd0
leaq 0xa321(%rip), %rsi      # 0x2302c
movl $0xe, %edx
callq 0x6310
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x159d2
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x1529d(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x18d79
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
movq 0x15250(%rip), %rdi     # 0x2dfd0
leaq 0xa2b4(%rip), %rsi      # 0x2303b
movl $0xc, %edx
callq 0x6310
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x16caa
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x15221(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x18df5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
movq 0x151d4(%rip), %rdi     # 0x2dfd0
leaq 0xa245(%rip), %rsi      # 0x23048
movl $0xa, %edx
callq 0x6310
leaq 0x8(%rsp), %rdi
movq %r13, %rsi
callq 0x159d2
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x151a5(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x18e71
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
movq %r13, %rdi
callq 0x160d4
movl %eax, %ebx
movq 0x1514e(%rip), %rdi     # 0x2dfd0
leaq 0xa1ca(%rip), %rsi      # 0x23053
movl $0x15, %edx
callq 0x6310
cmpl $0x1, %ebx
leaq 0x9ff4(%rip), %rax      # 0x22e91
leaq 0x9ff2(%rip), %rcx      # 0x22e96
cmoveq %rax, %rcx
testl %ebx, %ebx
leaq 0x9fda(%rip), %r13      # 0x22e8b
cmovneq %rcx, %r13
movq %r13, %rdi
callq 0x6150
movq 0x1510c(%rip), %rbx     # 0x2dfd0
movq %rbx, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x6310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x150e0(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x150cc(%rip), %rdi     # 0x2dfd0
leaq 0xa15e(%rip), %rsi      # 0x23069
movl $0xb, %edx
callq 0x6310
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
movq 0x150a7(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
leaq 0x9f9e(%rip), %rsi      # 0x22efd
leaq 0x78(%rsp), %rdi
callq 0x60d0
testl %eax, %eax
je 0x18fc9
leaq 0x9f9c(%rip), %rsi      # 0x22f10
leaq 0x78(%rsp), %rdi
callq 0x60d0
testl %eax, %eax
je 0x19008
movq 0x15043(%rip), %rdi     # 0x2dfd0
leaq 0xa11f(%rip), %rsi      # 0x230b3
movl $0x11, %edx
callq 0x6310
movq (%r15), %rdi
testq %rdi, %rdi
je 0x19036
leaq 0x13e9f(%rip), %rsi     # 0x2ce50
leaq 0x13ea8(%rip), %rdx     # 0x2ce60
movq $-0x2, %rcx
callq 0x6300
movq %rax, %rdi
jmp 0x19038
movq 0x15000(%rip), %rdi     # 0x2dfd0
leaq 0xa09e(%rip), %rsi      # 0x23075
movl $0xf, %edx
callq 0x6310
movq (%r15), %rdi
testq %rdi, %rdi
je 0x19052
leaq 0x13e60(%rip), %rsi     # 0x2ce50
leaq 0x13e79(%rip), %rdx     # 0x2ce70
movq $-0x2, %rcx
callq 0x6300
movq %rax, %rsi
jmp 0x19054
movq (%r15), %rdi
testq %rdi, %rdi
je 0x190dd
leaq 0x13e35(%rip), %rsi     # 0x2ce50
leaq 0x13e5e(%rip), %rdx     # 0x2ce80
movq $-0x2, %rcx
callq 0x6300
movq %rax, %rbp
jmp 0x190df
xorl %edi, %edi
movq 0x8(%r15), %rbx
testq %rbx, %rbx
je 0x1907d
movq 0x14f80(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x19079
incl 0x8(%rbx)
jmp 0x1907d
xorl %esi, %esi
movq 0x8(%r15), %rbx
testq %rbx, %rbx
je 0x19115
movq 0x14f60(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x19111
incl 0x8(%rbx)
jmp 0x19115
lock
incl 0x8(%rbx)
callq 0x1a098
testb %al, %al
movq %r12, %rsi
leaq 0x9f85(%rip), %rcx      # 0x23013
cmovneq %rcx, %rsi
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x14f2c(%rip), %r13     # 0x2dfd0
movq %r13, %rdi
callq 0x6310
movq (%r13), %rax
addq -0x18(%rax), %r13
movq %r13, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x14f05(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
jmp 0x19176
xorl %ebp, %ebp
testq %rbp, %rbp
je 0x1910a
movq 0x8(%r15), %r13
testq %r13, %r13
je 0x1918c
movq 0x14ed0(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x19187
incl 0x8(%r13)
jmp 0x1918c
xorl %ebp, %ebp
xorl %r13d, %r13d
jmp 0x1918c
lock
incl 0x8(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x1a214
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x14ea0(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %r13, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x19176
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
testq %rbx, %rbx
je 0x19291
movq %rbx, %rdi
jmp 0x1928c
lock
incl 0x8(%r13)
movq 0x14e3d(%rip), %rdi     # 0x2dfd0
leaq 0x9eeb(%rip), %rsi      # 0x23085
movl $0x1d, %edx
callq 0x6310
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x1c960
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x14e0e(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x19208
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
movq 0x14dc1(%rip), %rdi     # 0x2dfd0
leaq 0x9e8d(%rip), %rsi      # 0x230a3
movl $0xf, %edx
callq 0x6310
leaq 0x8(%rsp), %rdi
movq %rbp, %rsi
callq 0x1cae0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x14d92(%rip), %rdi     # 0x2dfd0
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x19284
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
testq %r13, %r13
je 0x19291
movq %r13, %rdi
callq 0xafa0
movq 0x14d38(%rip), %rdi     # 0x2dfd0
leaq 0x9e26(%rip), %rsi      # 0x230c5
movl $0x8, %edx
callq 0x6310
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq 0x14d16(%rip), %r13     # 0x2dfd0
movq %r13, %rdi
callq 0x6310
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
leaq 0x9c86(%rip), %rsi      # 0x22f79
leaq 0x58(%rsp), %rdi
callq 0x60d0
testl %eax, %eax
je 0x19374
leaq 0x9c75(%rip), %rsi      # 0x22f7d
leaq 0x58(%rsp), %rdi
callq 0x60d0
testl %eax, %eax
je 0x193ae
leaq 0x9390(%rip), %rsi      # 0x226b1
leaq 0x58(%rsp), %rdi
callq 0x60d0
testl %eax, %eax
je 0x193d4
movq 0x14c96(%rip), %rdi     # 0x2dfd0
leaq 0x9dd8(%rip), %rsi      # 0x23119
movl $0x12, %edx
callq 0x6310
movq (%r15), %rdi
testq %rdi, %rdi
je 0x19419
leaq 0x13af2(%rip), %rsi     # 0x2ce50
leaq 0x13b73(%rip), %rdx     # 0x2ced8
xorl %ecx, %ecx
callq 0x6300
movq %rax, %rdi
jmp 0x1941b
movq 0x14c55(%rip), %rdi     # 0x2dfd0
leaq 0x9d4c(%rip), %rsi      # 0x230ce
movl $0xb, %edx
callq 0x6310
movq (%r15), %rdi
testq %rdi, %rdi
je 0x193fd
leaq 0x13ab5(%rip), %rsi     # 0x2ce50
leaq 0x13aee(%rip), %rdx     # 0x2ce90
xorl %ecx, %ecx
callq 0x6300
movq %rax, %rdi
jmp 0x193ff
movq (%r15), %rdi
testq %rdi, %rdi
je 0x19440
leaq 0x13a8f(%rip), %rsi     # 0x2ce50
leaq 0x13ae0(%rip), %rdx     # 0x2cea8
xorl %ecx, %ecx
callq 0x6300
movq %rax, %rbx
jmp 0x19442
movq (%r15), %rdi
testq %rdi, %rdi
je 0x1953b
leaq 0x13a69(%rip), %rsi     # 0x2ce50
leaq 0x13ad2(%rip), %rdx     # 0x2cec0
xorl %ecx, %ecx
callq 0x6300
movq %rax, %rdi
jmp 0x1953d
xorl %edi, %edi
movq 0x8(%r15), %rbp
testq %rbp, %rbp
je 0x19479
movq 0x14bb9(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x19475
incl 0x8(%rbp)
jmp 0x19479
xorl %edi, %edi
movq 0x8(%r15), %rbp
testq %rbp, %rbp
je 0x194dc
movq 0x14b99(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x194d8
incl 0x8(%rbp)
jmp 0x194dc
xorl %ebx, %ebx
testq %rbx, %rbx
je 0x1946c
movq 0x8(%r15), %rbp
testq %rbp, %rbp
je 0x19566
movq 0x14b6d(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x19562
incl 0x8(%rbp)
jmp 0x19566
xorl %ebx, %ebx
xorl %ebp, %ebp
jmp 0x19566
lock
incl 0x8(%rbp)
callq 0x1ce7a
testb %al, %al
leaq 0x9b8c(%rip), %rcx      # 0x23013
cmovneq %rcx, %r12
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x14b33(%rip), %rbx     # 0x2dfd0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x6310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x14b0a(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
jmp 0x19650
lock
incl 0x8(%rbp)
callq 0x1dafe
testb %al, %al
leaq 0x9b29(%rip), %rcx      # 0x23013
cmovneq %rcx, %r12
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x14ad0(%rip), %rbx     # 0x2dfd0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x6310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x14aa7(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
jmp 0x19650
xorl %edi, %edi
movq 0x8(%r15), %rbx
testq %rbx, %rbx
je 0x1966a
movq 0x14a77(%rip), %rax     # 0x2dfc8
cmpb $0x0, (%rax)
je 0x19666
incl 0x8(%rbx)
jmp 0x1966a
lock
incl 0x8(%rbp)
movq 0x14a63(%rip), %rdi     # 0x2dfd0
leaq 0x9b66(%rip), %rsi      # 0x230da
movl $0xd, %edx
callq 0x6310
movq %rbx, %rdi
callq 0x1f4ec
testb %al, %al
movq %r12, %rsi
leaq 0x9a81(%rip), %rcx      # 0x23013
cmovneq %rcx, %rsi
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x14a28(%rip), %r15     # 0x2dfd0
movq %r15, %rdi
callq 0x6310
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x14a02(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq 0x149ee(%rip), %rdi     # 0x2dfd0
leaq 0x9aff(%rip), %rsi      # 0x230e8
movl $0xc, %edx
callq 0x6310
movq %rbx, %rdi
callq 0x1f61e
testb %al, %al
leaq 0x9a0f(%rip), %rcx      # 0x23013
cmovneq %rcx, %r12
movzbl %al, %eax
movl $0x4, %edx
subq %rax, %rdx
movq 0x149b6(%rip), %rbx     # 0x2dfd0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x6310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x1498d(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
testq %rbp, %rbp
je 0x19700
movq %rbp, %rdi
callq 0xafa0
jmp 0x19700
lock
incl 0x8(%rbx)
callq 0x1e780
movl %eax, %ebp
testq %rbx, %rbx
je 0x1967e
movq %rbx, %rdi
callq 0xafa0
movq 0x1494b(%rip), %rdi     # 0x2dfd0
leaq 0x9a69(%rip), %rsi      # 0x230f5
movl $0xc, %edx
callq 0x6310
cmpl $0x1, %ebp
leaq 0x9a69(%rip), %rax      # 0x23109
leaq 0x9a68(%rip), %rcx      # 0x2310f
cmoveq %rax, %rcx
testl %ebp, %ebp
leaq 0x9a4e(%rip), %r15      # 0x23102
cmovneq %rcx, %r15
movq %r15, %rdi
callq 0x6150
movq 0x14909(%rip), %rbx     # 0x2dfd0
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x6310
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x148dd(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq (%r13), %rax
addq -0x18(%rax), %r13
movq %r13, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x148b1(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq %rax, %rbx
leaq 0x99f6(%rip), %rsi      # 0x2312c
movl $0x2d, %edx
movq %rax, %rdi
callq 0x6310
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x61c0
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x197b5
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x62b0
leaq 0x68(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x197d0
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x62b0
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x197df
callq 0xafa0
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x197ee
callq 0xafa0
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x198b4
jmp 0x1980e
jmp 0x1980e
jmp 0x198b4
movq %rax, %r15
jmp 0x19834
jmp 0x198f9
jmp 0x1981a
movq %rax, %r15
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x19834
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
testq %r13, %r13
je 0x198fc
movq %r13, %rdi
jmp 0x198cc
jmp 0x198f9
jmp 0x198f9
jmp 0x198f9
jmp 0x198f9
jmp 0x198f9
movq %rax, %r15
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x1991d
callq 0xafa0
jmp 0x1991d
movq %rax, %r15
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x19938
callq 0xafa0
jmp 0x19938
jmp 0x198c1
movq %rax, %r15
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x198b7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
jmp 0x198b7
jmp 0x198c1
movq %rax, %r15
testq %rbx, %rbx
je 0x198fc
movq %rbx, %rdi
jmp 0x198cc
movq %rax, %r15
testq %rbp, %rbp
je 0x198fc
movq %rbp, %rdi
callq 0xafa0
jmp 0x198fc
jmp 0x198db
jmp 0x198db
jmp 0x198db
jmp 0x198db
movq %rax, %r15
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x198fc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x62b0
jmp 0x198fc
jmp 0x198f9
movq %rax, %r15
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1991d
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x62b0
leaq 0x68(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x19938
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x62b0
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x19947
callq 0xafa0
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19956
callq 0xafa0
movq %r15, %rdi
callq 0x6460