// File: /workspace/github_cpp_makefile_star2_O1/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 0x29ce8(%rip), %r14     # 0x3afd0
leaq 0x1d1e1(%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 0x29cb6(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29ca2(%rip), %r14     # 0x3afd0
leaq 0x1d1b5(%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 0x29c70(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29c5c(%rip), %r14     # 0x3afd0
leaq 0x1d1a0(%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 0x29c2a(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29c16(%rip), %r14     # 0x3afd0
leaq 0x1d171(%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 0x29be4(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29bd0(%rip), %r14     # 0x3afd0
leaq 0x1d143(%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 0x29b9e(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29b8a(%rip), %r14     # 0x3afd0
leaq 0x1d110(%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 0x29b58(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29b44(%rip), %r14     # 0x3afd0
leaq 0x1d0e0(%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 0x29b12(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x29b0e(%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 0x11628
leaq 0x1c317(%rip), %rcx     # 0x2d838
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x29a9f(%rip), %rdi     # 0x3afd0
leaq 0x1d053(%rip), %rsi     # 0x2e58b
movl $0x13, %edx
callq 0x4210
movq 0x29a87(%rip), %rdi     # 0x3afd0
leaq 0x1c4e1(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1b190
jmp 0x11690
movq %rbx, %rdi
callq 0x10be2
jmp 0x11690
movq 0x29a55(%rip), %rdi     # 0x3afd0
leaq 0x1d032(%rip), %rsi     # 0x2e5b4
movl $0xf, %edx
callq 0x4210
movq 0x29a3d(%rip), %rdi     # 0x3afd0
leaq 0x1c497(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1b836
jmp 0x11690
movq 0x29a18(%rip), %rdi     # 0x3afd0
leaq 0x1d005(%rip), %rsi     # 0x2e5c4
movl $0x12, %edx
callq 0x4210
movq 0x29a00(%rip), %rdi     # 0x3afd0
leaq 0x1c45a(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1bc12
jmp 0x11690
movq 0x299db(%rip), %rdi     # 0x3afd0
leaq 0x1cfa3(%rip), %rsi     # 0x2e59f
movl $0x14, %edx
callq 0x4210
movq 0x299c3(%rip), %rdi     # 0x3afd0
leaq 0x1c41d(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1b566
jmp 0x11690
movq 0x299a1(%rip), %rdi     # 0x3afd0
leaq 0x1c6ea(%rip), %rsi     # 0x2dd20
movl $0x7, %edx
callq 0x4210
movq 0x29989(%rip), %rdi     # 0x3afd0
leaq 0x1cf89(%rip), %rsi     # 0x2e5d7
movl $0x24, %edx
callq 0x4210
movq 0x29971(%rip), %rdi     # 0x3afd0
leaq 0x1c6e8(%rip), %rsi     # 0x2dd4e
movl $0x4, %edx
callq 0x4210
movq 0x29959(%rip), %rdi     # 0x3afd0
leaq 0x1c3b3(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x112ba
movq 0x29911(%rip), %rsi     # 0x3afa8
leaq -0x1c8(%rbp), %rdi
callq 0x4150
leaq -0x148(%rbp), %rdi
callq 0x40a0
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x116c4
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x41d0
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x116f8
movq %rax, %rbx
movq 0x298ca(%rip), %rsi     # 0x3afa8
leaq -0x1c8(%rbp), %rdi
callq 0x4150
leaq -0x148(%rbp), %rdi
callq 0x40a0
jmp 0x116fb
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x11710
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x41d0
movq %rbx, %rdi
callq 0x42f0