// File: /workspace/github_cpp_makefile_star2_O2/viniciu21[P]PetLolja/./src/PetFera.cpp
// Function: Petfera::cadastrarAve()
void Petfera::cadastrarAve()
{
	short escolhaSilvestre;
	string escolha_str;

	cout << "\nOpcao Escolhida: Ave\n"
			 << endl;
	cout << "Escolha abaixo o tipo de Ave para cadastro: \n"
			 << endl;
	cout << " 1 - Cadastrar Ave Domestico" << endl;
	cout << " 2 - Cadastrar Ave Exotico" << endl;
	cout << " 3 - Cadastrar Ave Nativo" << endl;
	cout << " 4 - voltar para cadastro de animal" << endl;

	cin >> escolha_str;
	stringstream ss;
	ss << escolha_str;
	ss >> escolhaSilvestre;

	switch (escolhaSilvestre)
	{
	case 1:
		cout << "Cadastrando Ave Domestico"
				 << "\n";
		cadastrarAveDomestico();
		break;
	case 2:
		cout << "Cadastrando Ave Exotico"
				 << "\n";
		cadastrarAveExotica();
		break;
	case 3:
		cout << "Cadastrando Ave Nativo"
				 << "\n";
		cadastrarAveNativa();

		break;

	case 4:

		cadastrarAnimal();

		break;

	default:

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

		break;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rdi, %rbx
leaq -0x20(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x1d360(%rip), %rdi     # 0x2efc8
leaq 0xeab6(%rip), %rsi      # 0x20725
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x1d345(%rip), %rdi     # 0x2efc8
leaq 0xeab2(%rip), %rsi      # 0x2073c
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x1d32a(%rip), %rdi     # 0x2efc8
leaq 0xeac5(%rip), %rsi      # 0x2076a
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x1d30f(%rip), %rdi     # 0x2efc8
leaq 0xeac7(%rip), %rsi      # 0x20787
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x1d2f4(%rip), %rdi     # 0x2efc8
leaq 0xeac7(%rip), %rsi      # 0x207a2
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x1d2d9(%rip), %rdi     # 0x2efc8
leaq 0xe991(%rip), %rsi      # 0x20687
callq 0x41a0
movq %rax, %rdi
callq 0x40f0
movq 0x1d2d6(%rip), %rdi     # 0x2efe0
leaq -0x30(%rbp), %rsi
callq 0x41f0
leaq -0x1b8(%rbp), %rdi
callq 0x4140
leaq -0x1a8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4190
leaq -0x1b8(%rbp), %rdi
leaq -0xa(%rbp), %rsi
callq 0x4040
movzwl -0xa(%rbp), %eax
decl %eax
cmpl $0x3, %eax
ja 0x11def
leaq 0xdaf7(%rip), %rcx      # 0x1f84c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x1d263(%rip), %rdi     # 0x2efc8
leaq 0xea50(%rip), %rsi      # 0x207bc
callq 0x41a0
leaq 0xdc99(%rip), %rsi      # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0xcd52
jmp 0x11e37
movq 0x1d234(%rip), %rdi     # 0x2efc8
leaq 0xea53(%rip), %rsi      # 0x207ee
callq 0x41a0
leaq 0xdc6a(%rip), %rsi      # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0xdbe6
jmp 0x11e37
movq %rbx, %rdi
callq 0xb296
jmp 0x11e37
movq 0x1d1fe(%rip), %rdi     # 0x2efc8
leaq 0xea05(%rip), %rsi      # 0x207d6
callq 0x41a0
leaq 0xdc34(%rip), %rsi      # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0xd57e
jmp 0x11e37
movq 0x1d1d2(%rip), %rdi     # 0x2efc8
leaq 0xdf03(%rip), %rsi      # 0x1fd00
callq 0x41a0
leaq 0xe8f7(%rip), %rsi      # 0x20700
movq %rax, %rdi
callq 0x41a0
leaq 0xdf16(%rip), %rsi      # 0x1fd2e
movq %rax, %rdi
callq 0x41a0
leaq 0xdbea(%rip), %rsi      # 0x1fa11
movq %rax, %rdi
callq 0x41a0
movq %rbx, %rdi
callq 0x11c42
leaq -0x1b8(%rbp), %rdi
callq 0x4150
leaq -0x30(%rbp), %rdi
callq 0x40e0
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %rbp
retq
jmp 0x11e69
movq %rax, %rbx
leaq -0x1b8(%rbp), %rdi
callq 0x4150
jmp 0x11e6c
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x40e0
movq %rbx, %rdi
callq 0x42c0
nop