// File: 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
subq $0x240, %rsp            # imm = 0x240
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x1d8(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4280
movq 0x3fcee(%rip), %rdi     # 0x5bfc8
leaq 0x2b3f7(%rip), %rsi     # 0x476d8
callq 0x41c0
movq %rax, -0x1d0(%rbp)
jmp 0x1c2ef
movq -0x1d0(%rbp), %rdi
movq 0x3fcb3(%rip), %rsi     # 0x5bfb0
callq 0x41f0
jmp 0x1c304
movq 0x3fcbd(%rip), %rdi     # 0x5bfc8
leaq 0x2b3dd(%rip), %rsi     # 0x476ef
callq 0x41c0
movq %rax, -0x1e0(%rbp)
jmp 0x1c320
movq -0x1e0(%rbp), %rdi
movq 0x3fc82(%rip), %rsi     # 0x5bfb0
callq 0x41f0
jmp 0x1c335
movq 0x3fc8c(%rip), %rdi     # 0x5bfc8
leaq 0x2b3da(%rip), %rsi     # 0x4771d
callq 0x41c0
movq %rax, -0x1e8(%rbp)
jmp 0x1c351
movq -0x1e8(%rbp), %rdi
movq 0x3fc51(%rip), %rsi     # 0x5bfb0
callq 0x41f0
jmp 0x1c366
movq 0x3fc5b(%rip), %rdi     # 0x5bfc8
leaq 0x2b3c6(%rip), %rsi     # 0x4773a
callq 0x41c0
movq %rax, -0x1f0(%rbp)
jmp 0x1c382
movq -0x1f0(%rbp), %rdi
movq 0x3fc20(%rip), %rsi     # 0x5bfb0
callq 0x41f0
jmp 0x1c397
movq 0x3fc2a(%rip), %rdi     # 0x5bfc8
leaq 0x2b3b0(%rip), %rsi     # 0x47755
callq 0x41c0
movq %rax, -0x1f8(%rbp)
jmp 0x1c3b3
movq -0x1f8(%rbp), %rdi
movq 0x3fbef(%rip), %rsi     # 0x5bfb0
callq 0x41f0
jmp 0x1c3c8
movq 0x3fbf9(%rip), %rdi     # 0x5bfc8
leaq 0x2b264(%rip), %rsi     # 0x4763a
callq 0x41c0
movq %rax, -0x200(%rbp)
jmp 0x1c3e4
movq -0x200(%rbp), %rdi
movq 0x3fbbe(%rip), %rsi     # 0x5bfb0
callq 0x41f0
jmp 0x1c3f9
movq 0x3fbe0(%rip), %rdi     # 0x5bfe0
leaq -0x30(%rbp), %rsi
callq 0x4240
jmp 0x1c40b
leaq -0x1c8(%rbp), %rdi
callq 0x4160
jmp 0x1c419
leaq -0x1b8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x41b0
jmp 0x1c42b
leaq -0x1c8(%rbp), %rdi
leaq -0xa(%rbp), %rsi
callq 0x4050
jmp 0x1c43d
movswl -0xa(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x208(%rbp)
subl $0x3, %eax
ja 0x1c576
movq -0x208(%rbp), %rax
leaq 0x2a3cd(%rip), %rcx     # 0x46830
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x1c60d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x4170
jmp 0x1c60d
movq 0x3fb27(%rip), %rdi     # 0x5bfc8
leaq 0x2b2c7(%rip), %rsi     # 0x4776f
callq 0x41c0
movq %rax, -0x210(%rbp)
jmp 0x1c4b6
movq -0x210(%rbp), %rdi
leaq 0x2a4dd(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x1c4cb
movq -0x1d8(%rbp), %rdi
callq 0x13930
jmp 0x1c4d9
jmp 0x1c5ef
movq 0x3fae3(%rip), %rdi     # 0x5bfc8
leaq 0x2b29d(%rip), %rsi     # 0x47789
callq 0x41c0
movq %rax, -0x218(%rbp)
jmp 0x1c4fa
movq -0x218(%rbp), %rdi
leaq 0x2a499(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x1c50f
movq -0x1d8(%rbp), %rdi
callq 0x14700
jmp 0x1c51d
jmp 0x1c5ef
movq 0x3fa9f(%rip), %rdi     # 0x5bfc8
leaq 0x2b271(%rip), %rsi     # 0x477a1
callq 0x41c0
movq %rax, -0x220(%rbp)
jmp 0x1c53e
movq -0x220(%rbp), %rdi
leaq 0x2a455(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x1c553
movq -0x1d8(%rbp), %rdi
callq 0x15270
jmp 0x1c561
jmp 0x1c5ef
movq -0x1d8(%rbp), %rdi
callq 0xfcc0
jmp 0x1c574
jmp 0x1c5ef
movq 0x3fa4b(%rip), %rdi     # 0x5bfc8
leaq 0x2a70c(%rip), %rsi     # 0x46c90
callq 0x41c0
movq %rax, -0x228(%rbp)
jmp 0x1c592
movq -0x228(%rbp), %rdi
leaq 0x2b113(%rip), %rsi     # 0x476b3
callq 0x41c0
movq %rax, -0x230(%rbp)
jmp 0x1c5ae
movq -0x230(%rbp), %rdi
leaq 0x2a702(%rip), %rsi     # 0x46cbe
callq 0x41c0
movq %rax, -0x238(%rbp)
jmp 0x1c5ca
movq -0x238(%rbp), %rdi
leaq 0x2a3c9(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x1c5df
movq -0x1d8(%rbp), %rdi
callq 0x1c2b0
jmp 0x1c5ed
jmp 0x1c5ef
leaq -0x1c8(%rbp), %rdi
callq 0x4170
leaq -0x30(%rbp), %rdi
callq 0x4140
addq $0x240, %rsp            # imm = 0x240
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x4140
movq -0x38(%rbp), %rdi
callq 0x4320
nop