// File: nataly-enne[P]pet-fera/pet_fera_consulta_p_func.cpp
// Function: consulta_p_func(std::map<int, VETERINARIO, std::less<int>, std::allocator<std::pair<int const, VETERINARIO>>>&, std::map<int, TRATADOR, std::less<int>, std::allocator<std::pair<int const, TRATADOR>>>&, std::map<int, ANFIBIO_NATIVO, std::less<int>, std::allocator<std::pair<int const, ANFIBIO_NATIVO>>>&, std::map<int, ANFIBIO_EXOTICO, std::less<int>, std::allocator<std::pair<int const, ANFIBIO_EXOTICO>>>&, std::map<int, MAMIFERO_NATIVO, std::less<int>, std::allocator<std::pair<int const, MAMIFERO_NATIVO>>>&, std::map<int, MAMIFERO_EXOTICO, std::less<int>, std::allocator<std::pair<int const, MAMIFERO_EXOTICO>>>&, std::map<int, REPTIL_NATIVO, std::less<int>, std::allocator<std::pair<int const, REPTIL_NATIVO>>>&, std::map<int, REPTIL_EXOTICO, std::less<int>, std::allocator<std::pair<int const, REPTIL_EXOTICO>>>&, std::map<int, AVE_NATIVO, std::less<int>, std::allocator<std::pair<int const, AVE_NATIVO>>>&, std::map<int, AVE_EXOTICO, std::less<int>, std::allocator<std::pair<int const, AVE_EXOTICO>>>&)
void consulta_p_func(map <int, VETERINARIO> &vets, map <int, TRATADOR>  &tratadores, map <int, ANFIBIO_NATIVO> &anfibios_nat, map <int, ANFIBIO_EXOTICO> &anfibios_ex, map <int, MAMIFERO_NATIVO> &mamiferos_nat, map <int, MAMIFERO_EXOTICO> &mamiferos_ex, map <int, REPTIL_NATIVO> &repteis_nat, map <int, REPTIL_EXOTICO> &repteis_ex, map <int, AVE_NATIVO> &aves_nat, map <int, AVE_EXOTICO> &aves_ex){
	char cargo, continuar;

	do{
		cout << "Deseja consultar por tratador ou veterinario: \n v - Veterinario \n t - Tratador" << endl;
		cin >> cargo;
		if(cargo != 'v' && cargo != 't'){
			cout << "Cargo inexistente!! Tente novamente." << endl << endl;
		}
		else if(cargo == 't'){
			consulta_p_tratador(tratadores, anfibios_nat, anfibios_ex, mamiferos_nat, mamiferos_ex, repteis_nat, repteis_ex, aves_nat, aves_ex);
		}
		else{
			consulta_p_veterinario(vets, anfibios_nat, anfibios_ex, mamiferos_nat, mamiferos_ex, repteis_nat, repteis_ex, aves_nat, aves_ex);
		}
	
		cout << "Deseja consultar novamente? \n s - SIM \n n - NÃO" << endl;
		cin >> continuar;
			
	}while(continuar == 's');	
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq 0x28(%rbp), %rax
movq 0x20(%rbp), %rax
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq 0x14fc1(%rip), %rdi     # 0x50fb8
leaq 0x64d4(%rip), %rsi      # 0x424d2
callq 0x3240
movq %rax, %rdi
movq 0x14f93(%rip), %rsi     # 0x50fa0
callq 0x3280
movq 0x14fbf(%rip), %rdi     # 0x50fd8
leaq -0x31(%rbp), %rsi
callq 0x32e0
movsbl -0x31(%rbp), %eax
cmpl $0x76, %eax
je 0x3c067
movsbl -0x31(%rbp), %eax
cmpl $0x74, %eax
je 0x3c067
movq 0x14f7d(%rip), %rdi     # 0x50fb8
leaq 0x64df(%rip), %rsi      # 0x42521
callq 0x3240
movq %rax, %rdi
movq 0x14f4f(%rip), %rsi     # 0x50fa0
callq 0x3280
movq %rax, %rdi
movq 0x14f40(%rip), %rsi     # 0x50fa0
callq 0x3280
jmp 0x3c0e2
movsbl -0x31(%rbp), %eax
cmpl $0x74, %eax
jne 0x3c0a9
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq 0x10(%rbp), %r9
movq 0x18(%rbp), %r11
movq 0x20(%rbp), %r10
movq 0x28(%rbp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x3c130
jmp 0x3c0e0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq 0x10(%rbp), %r9
movq 0x18(%rbp), %r11
movq 0x20(%rbp), %r10
movq 0x28(%rbp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x3c4f0
jmp 0x3c0e2
movq 0x14ecf(%rip), %rdi     # 0x50fb8
leaq 0x6456(%rip), %rsi      # 0x42546
callq 0x3240
movq %rax, %rdi
movq 0x14ea1(%rip), %rsi     # 0x50fa0
callq 0x3280
movq 0x14ecd(%rip), %rdi     # 0x50fd8
leaq -0x32(%rbp), %rsi
callq 0x32e0
movsbl -0x32(%rbp), %eax
cmpl $0x73, %eax
je 0x3bff0
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)