// File: /workspace/github_cpp_makefile_star2_O3/viniciu21[P]PetLolja/./src/PetFera.cpp
// Function: Petfera::cadastrarAnimal()
void Petfera::cadastrarAnimal()
{
	short escolhaTipo;
	string escolha_str;

	cout << "\nOpcao Escolhida: Animal\n"
			 << endl;
	cout << "Escolha abaixo o tipo de animal para cadastro: \n"
			 << endl;
	cout << " 1 - Cadastrar Anfibio" << endl;
	cout << " 2 - Cadastrar Mamifero" << endl;
	cout << " 3 - Cadastrar Ave" << endl;
	cout << " 4 - Cadastrar Reptil" << endl;
	cout << " 5 - Voltar para o menu" << endl;

	cin >> escolha_str;
	stringstream ss;
	ss << escolha_str;
	ss >> escolhaTipo;

	switch (escolhaTipo)
	{
	case 1:
		cout << "cadastrando Anfibio"
				 << "\n";
		cadastrarAnfibio();
		break;
	case 2:
		cout << "cadastrando Mamifero"
				 << "\n";
		cadastrarMamifero();
		break;
	case 3:
		cout << "cadastrando Ave"
				 << "\n";
		cadastrarAve();
		break;
	case 4:
		cout << "cadastrando Reptil"
				 << "\n";
		cadastrarReptil();
		break;

	case 5:

		inicio();

		break;

	default:

		cout << "\033[1;33m"
				 << "Nao temos essa Opcao, Escolha de 1-5"
				 << "\033[0m"
				 << "\n";
		cadastrarAnimal();

		break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rdi, %rbx
leaq -0x30(%rbp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
movq 0x29c7c(%rip), %r14     # 0x3afd0
leaq 0x1d175(%rip), %rsi     # 0x2e4d0
movl $0x19, %edx
movq %r14, %rdi
callq 0x4210
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq 0x29c4a(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29c36(%rip), %r14     # 0x3afd0
leaq 0x1d149(%rip), %rsi     # 0x2e4ea
movl $0x30, %edx
movq %r14, %rdi
callq 0x4210
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq 0x29c04(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29bf0(%rip), %r14     # 0x3afd0
leaq 0x1d134(%rip), %rsi     # 0x2e51b
movl $0x16, %edx
movq %r14, %rdi
callq 0x4210
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq 0x29bbe(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29baa(%rip), %r14     # 0x3afd0
leaq 0x1d105(%rip), %rsi     # 0x2e532
movl $0x17, %edx
movq %r14, %rdi
callq 0x4210
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq 0x29b78(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29b64(%rip), %r14     # 0x3afd0
leaq 0x1d0d7(%rip), %rsi     # 0x2e54a
movl $0x12, %edx
movq %r14, %rdi
callq 0x4210
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq 0x29b32(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29b1e(%rip), %r14     # 0x3afd0
leaq 0x1d0a4(%rip), %rsi     # 0x2e55d
movl $0x15, %edx
movq %r14, %rdi
callq 0x4210
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq 0x29aec(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29ad8(%rip), %r14     # 0x3afd0
leaq 0x1d074(%rip), %rsi     # 0x2e573
movl $0x17, %edx
movq %r14, %rdi
callq 0x4210
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x41b0
movsbl %al, %esi
movq 0x29aa6(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29aa2(%rip), %rdi     # 0x3afe0
leaq -0x40(%rbp), %rsi
callq 0x4220
leaq -0x1c8(%rbp), %rdi
callq 0x4130
leaq -0x1b8(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0x4210
leaq -0x1c8(%rbp), %rdi
leaq -0x1a(%rbp), %rsi
callq 0x4050
movzwl -0x1a(%rbp), %eax
decl %eax
cmpl $0x4, %eax
ja 0x11694
leaq 0x1c2ab(%rip), %rcx     # 0x2d838
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x29a33(%rip), %rdi     # 0x3afd0
leaq 0x1cfe7(%rip), %rsi     # 0x2e58b
movl $0x13, %edx
callq 0x4210
movq 0x29a1b(%rip), %rdi     # 0x3afd0
leaq 0x1c475(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1b204
jmp 0x116fc
movq %rbx, %rdi
callq 0x10c4e
jmp 0x116fc
movq 0x299e9(%rip), %rdi     # 0x3afd0
leaq 0x1cfc6(%rip), %rsi     # 0x2e5b4
movl $0xf, %edx
callq 0x4210
movq 0x299d1(%rip), %rdi     # 0x3afd0
leaq 0x1c42b(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1b8aa
jmp 0x116fc
movq 0x299ac(%rip), %rdi     # 0x3afd0
leaq 0x1cf99(%rip), %rsi     # 0x2e5c4
movl $0x12, %edx
callq 0x4210
movq 0x29994(%rip), %rdi     # 0x3afd0
leaq 0x1c3ee(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1bc86
jmp 0x116fc
movq 0x2996f(%rip), %rdi     # 0x3afd0
leaq 0x1cf37(%rip), %rsi     # 0x2e59f
movl $0x14, %edx
callq 0x4210
movq 0x29957(%rip), %rdi     # 0x3afd0
leaq 0x1c3b1(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1b5da
jmp 0x116fc
movq 0x29935(%rip), %rdi     # 0x3afd0
leaq 0x1c67e(%rip), %rsi     # 0x2dd20
movl $0x7, %edx
callq 0x4210
movq 0x2991d(%rip), %rdi     # 0x3afd0
leaq 0x1cf1d(%rip), %rsi     # 0x2e5d7
movl $0x24, %edx
callq 0x4210
movq 0x29905(%rip), %rdi     # 0x3afd0
leaq 0x1c67c(%rip), %rsi     # 0x2dd4e
movl $0x4, %edx
callq 0x4210
movq 0x298ed(%rip), %rdi     # 0x3afd0
leaq 0x1c347(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x11326
movq 0x298a5(%rip), %rsi     # 0x3afa8
leaq -0x1c8(%rbp), %rdi
callq 0x4150
leaq -0x148(%rbp), %rdi
callq 0x40a0
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x11730
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x41d0
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x11764
movq %rax, %rbx
movq 0x2985e(%rip), %rsi     # 0x3afa8
leaq -0x1c8(%rbp), %rdi
callq 0x4150
leaq -0x148(%rbp), %rdi
callq 0x40a0
jmp 0x11767
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x1177c
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x41d0
movq %rbx, %rdi
callq 0x42f0