// File: /workspace/github_cpp_makefile_star2_O1/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 0x1f76c(%rip), %r14     # 0x3afd0
leaq 0x12eda(%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 0x1f73a(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f726(%rip), %r14     # 0x3afd0
leaq 0x12eab(%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 0x1f6f4(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f6e0(%rip), %r14     # 0x3afd0
leaq 0x12e93(%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 0x1f6ae(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f69a(%rip), %r14     # 0x3afd0
leaq 0x12e6a(%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 0x1f668(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f654(%rip), %r14     # 0x3afd0
leaq 0x12e3f(%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 0x1f622(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f60e(%rip), %r14     # 0x3afd0
leaq 0x12cde(%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 0x1f5dc(%rip), %rdi     # 0x3afd0
callq 0x4030
movq %rax, %rdi
callq 0x4120
movq 0x1f5d8(%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 0x1bb21
leaq 0x11e15(%rip), %rcx     # 0x2d86c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x1f569(%rip), %rdi     # 0x3afd0
leaq 0x12d6e(%rip), %rsi     # 0x2e7dc
movl $0x19, %edx
callq 0x4210
movq 0x1f551(%rip), %rdi     # 0x3afd0
leaq 0x11fab(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1398a
jmp 0x1bb89
movq 0x1f52c(%rip), %rdi     # 0x3afd0
leaq 0x12d63(%rip), %rsi     # 0x2e80e
movl $0x16, %edx
callq 0x4210
movq 0x1f514(%rip), %rdi     # 0x3afd0
leaq 0x11f6e(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x14fc4
jmp 0x1bb89
movq %rbx, %rdi
callq 0x112ba
jmp 0x1bb89
movq 0x1f4e2(%rip), %rdi     # 0x3afd0
leaq 0x12d01(%rip), %rsi     # 0x2e7f6
movl $0x17, %edx
callq 0x4210
movq 0x1f4ca(%rip), %rdi     # 0x3afd0
leaq 0x11f24(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1458c
jmp 0x1bb89
movq 0x1f4a8(%rip), %rdi     # 0x3afd0
leaq 0x121f1(%rip), %rsi     # 0x2dd20
movl $0x7, %edx
callq 0x4210
movq 0x1f490(%rip), %rdi     # 0x3afd0
leaq 0x12bd9(%rip), %rsi     # 0x2e720
movl $0x24, %edx
callq 0x4210
movq 0x1f478(%rip), %rdi     # 0x3afd0
leaq 0x121ef(%rip), %rsi     # 0x2dd4e
movl $0x4, %edx
callq 0x4210
movq 0x1f460(%rip), %rdi     # 0x3afd0
leaq 0x11eba(%rip), %rsi     # 0x2da31
movl $0x1, %edx
callq 0x4210
movq %rbx, %rdi
callq 0x1b836
movq 0x1f418(%rip), %rsi     # 0x3afa8
leaq -0x1c8(%rbp), %rdi
callq 0x4150
leaq -0x148(%rbp), %rdi
callq 0x40a0
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x1bbbd
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x41d0
addq $0x1b8, %rsp            # imm = 0x1B8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1bbf1
movq %rax, %rbx
movq 0x1f3d1(%rip), %rsi     # 0x3afa8
leaq -0x1c8(%rbp), %rdi
callq 0x4150
leaq -0x148(%rbp), %rdi
callq 0x40a0
jmp 0x1bbf4
movq %rax, %rbx
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x1bc09
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x41d0
movq %rbx, %rdi
callq 0x42f0
nop