// File: /workspace/github_cpp_makefile_star2_O2/brashi[P]PetFera/src/animal/mapeador_animal.cpp
// Function: MapeadorAnimal::MapeadorAnimal()
MapeadorAnimal::MapeadorAnimal() {
    aMap["aveD"] = []() { 
        return make_shared<AveDomestica>(); 
    };

    aMap["aveN"] = []() { 
        return make_shared<AveNativa>(); 
    };

    aMap["aveE"] = []() { 
        return make_shared<AveExotica>(); 
    };


    aMap["anfD"] = []() { 
        return make_shared<AnfibioDomestico>(); 
    };

    aMap["anfN"] = []() { 
        return make_shared<AnfibioNativo>(); 
    };

    aMap["anfE"] = []() { 
        return make_shared<AnfibioExotico>(); 
    };

    
    aMap["repD"] = []() { 
        return make_shared<ReptilDomestico>(); 
    };

    aMap["repN"] = []() { 
        return make_shared<ReptilNativo>(); 
    };

    aMap["repE"] = []() { 
        return make_shared<ReptilExotico>(); 
    };


    aMap["mamD"] = []() { 
        return make_shared<MamiferoDomestico>(); 
    };

    aMap["mamN"] = []() { 
        return make_shared<MamiferoNativo>(); 
    };

    aMap["mamE"] = []() { 
        return make_shared<MamiferoExotico>(); 
    };
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
leaq 0x8(%rdi), %rax
andl $0x0, 0x8(%rdi)
andq $0x0, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
andq $0x0, 0x28(%rdi)
leaq 0x6d52(%rip), %rsi      # 0x1918b
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x8a7(%rip), %rcx       # 0x12d1c
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x860(%rip), %rcx       # 0x12ce8
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6cee(%rip), %rsi      # 0x19190
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x88a(%rip), %rcx       # 0x12d68
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x843(%rip), %rcx       # 0x12d34
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6c8a(%rip), %rsi      # 0x19195
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x86d(%rip), %rcx       # 0x12db4
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x826(%rip), %rcx       # 0x12d80
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6c26(%rip), %rsi      # 0x1919a
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x850(%rip), %rcx       # 0x12e00
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x809(%rip), %rcx       # 0x12dcc
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6bc2(%rip), %rsi      # 0x1919f
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x833(%rip), %rcx       # 0x12e4c
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x7ec(%rip), %rcx       # 0x12e18
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6b5e(%rip), %rsi      # 0x191a4
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x816(%rip), %rcx       # 0x12e98
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x7cf(%rip), %rcx       # 0x12e64
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6afa(%rip), %rsi      # 0x191a9
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x7f9(%rip), %rcx       # 0x12ee4
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x7b2(%rip), %rcx       # 0x12eb0
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6a96(%rip), %rsi      # 0x191ae
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x7dc(%rip), %rcx       # 0x12f30
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x795(%rip), %rcx       # 0x12efc
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6a32(%rip), %rsi      # 0x191b3
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x7bf(%rip), %rcx       # 0x12f7c
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x778(%rip), %rcx       # 0x12f48
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x69ce(%rip), %rsi      # 0x191b8
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x7a2(%rip), %rcx       # 0x12fc8
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x75b(%rip), %rcx       # 0x12f94
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x696a(%rip), %rsi      # 0x191bd
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x785(%rip), %rcx       # 0x13014
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x73e(%rip), %rcx       # 0x12fe0
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
leaq 0x6906(%rip), %rsi      # 0x191c2
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x8226
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x8130
movups (%rax), %xmm0
leaq 0x30(%rsp), %rdi
movaps %xmm0, (%rdi)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%rdi)
leaq 0x768(%rip), %rcx       # 0x13060
movq %rcx, 0x10(%rax)
movq 0x18(%rax), %rcx
movq %rcx, 0x18(%rdi)
leaq 0x721(%rip), %rcx       # 0x1302c
movq %rcx, 0x18(%rax)
callq 0x844a
leaq 0x10(%rsp), %rdi
callq 0x54c8
addq $0x58, %rsp
popq %rbx
popq %r14
retq
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
jmp 0x12952
jmp 0x12961
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x54c8
jmp 0x12964
movq %rax, %r14
movq %rbx, %rdi
callq 0x83d0
movq %r14, %rdi
callq 0x5430