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

	int id;
	cout << "O IBAMA nos obriga a escolher um tratador 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() == Tratador)
		{
			cout << *(funcionario) << "\n";
		}
	}

	cout << "Escolha um tratador (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 0x488bf(%rip), %rdi     # 0x5bfc8
leaq 0x33677(%rip), %rsi     # 0x46d87
callq 0x41c0
movq %rax, -0x70(%rbp)
jmp 0x1371b
movq -0x70(%rbp), %rdi
leaq 0x3327b(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x1372d
movq 0x48894(%rip), %rdi     # 0x5bfc8
leaq 0x335cb(%rip), %rsi     # 0x46d06
callq 0x41c0
movq %rax, -0x90(%rbp)
jmp 0x13749
movq -0x90(%rbp), %rdi
leaq 0x3324a(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x1375e
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 0x1379a
jmp 0x13830
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 0x137c0
movl -0x94(%rbp), %eax
cmpl $0x1, %eax
jne 0x13820
movq -0x48(%rbp), %rdi
callq 0x20900
movq %rax, %rsi
movq 0x487ea(%rip), %rdi     # 0x5bfc8
callq 0xac90
movq %rax, -0xa0(%rbp)
jmp 0x137ec
movq -0xa0(%rbp), %rdi
leaq 0x331a7(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x13801
jmp 0x13820
movq -0x88(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x5010
jmp 0x1391d
jmp 0x13822
leaq -0x38(%rbp), %rdi
callq 0x20930
jmp 0x13784
movq 0x48791(%rip), %rdi     # 0x5bfc8
leaq 0x33589(%rip), %rsi     # 0x46dc7
callq 0x41c0
movq %rax, -0xa8(%rbp)
jmp 0x1384c
movq -0xa8(%rbp), %rdi
leaq 0x33147(%rip), %rsi     # 0x469a1
callq 0x41c0
jmp 0x13861
movq 0x48778(%rip), %rdi     # 0x5bfe0
leaq -0x18(%rbp), %rsi
callq 0x4130
jmp 0x13873
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 0x138ac
jmp 0x138fa
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 0x138d2
movl -0xac(%rbp), %eax
cmpl -0x18(%rbp), %eax
jne 0x138ed
movq -0x88(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x7920
jmp 0x138ef
leaq -0x58(%rbp), %rdi
callq 0x20930
jmp 0x13899
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x13910
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)