// File: viniciu21[P]PetLolja/./src/PetFera.cpp
// Function: Petfera::pegarVeterinario()
std::shared_ptr<Funcionario> Petfera::pegarVeterinario()
{
	std::shared_ptr<Funcionario> novo;

	int id;
	cout << "O IBAMA nos obriga a escolher um veterinario para cuidar do animal"
			 << "\n";

	cout << "Para continuar o cadastro escolha pelo ID um dos tratadores que temos na loja"
			 << "\n";

	for (auto &funcionario : funcionarioStore)
	{
		if (funcionario->getClassicicacao() == Veterinario)
		{
			cout << *(funcionario) << "\n";
		}
	}

	cout << "Escolha um veterinario (Utilizando o ID por favor)"
			 << "\n";

	cin >> id;

	for (auto &funcionario : funcionarioStore)
	{
		if (funcionario->getId() == id)
		{
			novo = funcionario;
		}
	}
	return novo;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x88(%rbp)
movq %rdi, %rax
movq %rax, -0x80(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x7900
movq 0x48b1f(%rip), %rdi     # 0x5bfc8
leaq 0x33813(%rip), %rsi     # 0x46cc3
callq 0x41c0
movq %rax, -0x70(%rbp)
jmp 0x134bb
movq -0x70(%rbp), %rdi
leaq 0x334db(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x134cd
movq 0x48af4(%rip), %rdi     # 0x5bfc8
leaq 0x3382b(%rip), %rsi     # 0x46d06
callq 0x41c0
movq %rax, -0x90(%rbp)
jmp 0x134e9
movq -0x90(%rbp), %rdi
leaq 0x334aa(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x134fe
movq -0x78(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x20840
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
callq 0x20870
movq %rax, -0x40(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x208a0
testb $0x1, %al
jne 0x1353a
jmp 0x135d0
leaq -0x38(%rbp), %rdi
callq 0x208e0
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0x7950
movq %rax, %rdi
callq 0xab30
movl %eax, -0x94(%rbp)
jmp 0x13560
movl -0x94(%rbp), %eax
cmpl $0x0, %eax
jne 0x135c0
movq -0x48(%rbp), %rdi
callq 0x20900
movq %rax, %rsi
movq 0x48a4a(%rip), %rdi     # 0x5bfc8
callq 0xac90
movq %rax, -0xa0(%rbp)
jmp 0x1358c
movq -0xa0(%rbp), %rdi
leaq 0x33407(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x135a1
jmp 0x135c0
movq -0x88(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x5010
jmp 0x136bd
jmp 0x135c2
leaq -0x38(%rbp), %rdi
callq 0x20930
jmp 0x13524
movq 0x489f1(%rip), %rdi     # 0x5bfc8
leaq 0x33776(%rip), %rsi     # 0x46d54
callq 0x41c0
movq %rax, -0xa8(%rbp)
jmp 0x135ec
movq -0xa8(%rbp), %rdi
leaq 0x333a7(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x13601
movq 0x489d8(%rip), %rdi     # 0x5bfe0
leaq -0x18(%rbp), %rsi
callq 0x4130
jmp 0x13613
movq -0x78(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x20840
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rdi
callq 0x20870
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x208a0
testb $0x1, %al
jne 0x1364c
jmp 0x1369a
leaq -0x58(%rbp), %rdi
callq 0x208e0
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x7950
movq %rax, %rdi
callq 0xaab0
movl %eax, -0xac(%rbp)
jmp 0x13672
movl -0xac(%rbp), %eax
cmpl -0x18(%rbp), %eax
jne 0x1368d
movq -0x88(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x7920
jmp 0x1368f
leaq -0x58(%rbp), %rdi
callq 0x20930
jmp 0x13639
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x136b0
movq -0x88(%rbp), %rdi
callq 0x5010
movq -0x80(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x4320
nopw %cs:(%rax,%rax)