// File: /workspace/github_cpp_makefile_star2_O3/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 %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 0x1f6f8(%rip), %r14     # 0x3afd0
leaq 0x12e66(%rip), %rsi     # 0x2e745
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 0x1f6c6(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f6b2(%rip), %r14     # 0x3afd0
leaq 0x12e37(%rip), %rsi     # 0x2e75c
movl $0x2d, %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 0x1f680(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f66c(%rip), %r14     # 0x3afd0
leaq 0x12e1f(%rip), %rsi     # 0x2e78a
movl $0x1c, %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 0x1f63a(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f626(%rip), %r14     # 0x3afd0
leaq 0x12df6(%rip), %rsi     # 0x2e7a7
movl $0x1a, %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 0x1f5f4(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f5e0(%rip), %r14     # 0x3afd0
leaq 0x12dcb(%rip), %rsi     # 0x2e7c2
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 0x1f5ae(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f59a(%rip), %r14     # 0x3afd0
leaq 0x12c6a(%rip), %rsi     # 0x2e6a7
movl $0x23, %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 0x1f568(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f564(%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 $0x3, %eax
ja 0x1bb95
leaq 0x11da1(%rip), %rcx     # 0x2d86c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x1f4f5(%rip), %rdi     # 0x3afd0
leaq 0x12cfa(%rip), %rsi     # 0x2e7dc
movl $0x19, %edx
callq 0x4210
movq 0x1f4dd(%rip), %rdi     # 0x3afd0
leaq 0x11f37(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x13a16
jmp 0x1bbfd
movq 0x1f4b8(%rip), %rdi     # 0x3afd0
leaq 0x12cef(%rip), %rsi     # 0x2e80e
movl $0x16, %edx
callq 0x4210
movq 0x1f4a0(%rip), %rdi     # 0x3afd0
leaq 0x11efa(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1504e
jmp 0x1bbfd
movq %rbx, %rdi
callq 0x11326
jmp 0x1bbfd
movq 0x1f46e(%rip), %rdi     # 0x3afd0
leaq 0x12c8d(%rip), %rsi     # 0x2e7f6
movl $0x17, %edx
callq 0x4210
movq 0x1f456(%rip), %rdi     # 0x3afd0
leaq 0x11eb0(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x14618
jmp 0x1bbfd
movq 0x1f434(%rip), %rdi     # 0x3afd0
leaq 0x1217d(%rip), %rsi     # 0x2dd20
movl $0x7, %edx
callq 0x4210
movq 0x1f41c(%rip), %rdi     # 0x3afd0
leaq 0x12b65(%rip), %rsi     # 0x2e720
movl $0x24, %edx
callq 0x4210
movq 0x1f404(%rip), %rdi     # 0x3afd0
leaq 0x1217b(%rip), %rsi     # 0x2dd4e
movl $0x4, %edx
callq 0x4210
movq 0x1f3ec(%rip), %rdi     # 0x3afd0
leaq 0x11e46(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1b8aa
movq 0x1f3a4(%rip), %rsi     # 0x3afa8
leaq -0x1c8(%rbp), %rdi
callq 0x4150
leaq -0x148(%rbp), %rdi
callq 0x40a0
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x1bc31
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x41d0
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1bc65
movq %rax, %rbx
movq 0x1f35d(%rip), %rsi     # 0x3afa8
leaq -0x1c8(%rbp), %rdi
callq 0x4150
leaq -0x148(%rbp), %rdi
callq 0x40a0
jmp 0x1bc68
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x1bc7d
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x41d0
movq %rbx, %rdi
callq 0x42f0
nop