// File: brashi[P]PetFera/src/./petshop.cpp
// Function: Petshop::atualizarVeterinario()
void Petshop::atualizarVeterinario() {
    string nome;
    
    shared_ptr<Veterinario> veterinario;
    //Veterinario antigovet;
    long unsigned int num;

    // Configuração do texto acima dos campos de alteração
    string updateText = "Alterar: (para não alterar mantenha em branco)";

    if(this->veterinarios.size() == 0)
        throw "Não há veterinários para remover no sistema!";

    cout << endl << "Veterinários registrados: " << endl;
    this->listarVeterinarios();
    cout << endl << "Digite o ID do veterinário a ser alterado: ";
    getline(cin, nome);
    num = stoi(nome);
    if(num >= 0 && num < this->veterinarios.size())
        veterinario = this->veterinarios[num];
    else
        throw "Veterinário não existe!";

    //antigovet = *veterinario;

    cout << endl << updateText;
    veterinario->setNome();

    cout << endl << updateText;
    veterinario->setEmail();

    cout << endl << updateText;
    veterinario->setTelefone();

    cout << endl << updateText;
    veterinario->setCRMV();

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x6480
leaq -0x38(%rbp), %rdi
callq 0x21bf0
leaq -0x61(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x65a0
movq -0x80(%rbp), %rdx
leaq 0x247c4(%rip), %rsi     # 0x416b8
leaq -0x60(%rbp), %rdi
callq 0xc1d0
jmp 0x1ceff
leaq -0x61(%rbp), %rdi
callq 0x6380
movq -0x88(%rbp), %rdi
callq 0x21b40
cmpq $0x0, %rax
jne 0x1cf7a
movl $0x8, %edi
callq 0x61e0
movq %rax, %rdi
leaq 0x247ba(%rip), %rax     # 0x416e8
movq %rax, (%rdi)
movq 0x46070(%rip), %rsi     # 0x62fa8
xorl %eax, %eax
movl %eax, %edx
callq 0x6570
jmp 0x1d1f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x61(%rbp), %rdi
callq 0x6380
jmp 0x1d1dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x6678
jmp 0x1d1dd
movq 0x46047(%rip), %rdi     # 0x62fc8
movq 0x46018(%rip), %rsi     # 0x62fa0
callq 0x6360
movq %rax, -0x90(%rbp)
jmp 0x1cf96
movq -0x90(%rbp), %rdi
leaq 0x24774(%rip), %rsi     # 0x41718
callq 0x6310
movq %rax, -0x98(%rbp)
jmp 0x1cfb2
movq -0x98(%rbp), %rdi
movq 0x45fe0(%rip), %rsi     # 0x62fa0
callq 0x6360
jmp 0x1cfc7
movq -0x88(%rbp), %rdi
callq 0x1c820
jmp 0x1cfd5
movq 0x45fec(%rip), %rdi     # 0x62fc8
movq 0x45fbd(%rip), %rsi     # 0x62fa0
callq 0x6360
movq %rax, -0xa0(%rbp)
jmp 0x1cff1
movq -0xa0(%rbp), %rdi
leaq 0x24735(%rip), %rsi     # 0x41734
callq 0x6310
jmp 0x1d006
movq 0x45fd3(%rip), %rdi     # 0x62fe0
leaq -0x28(%rbp), %rsi
callq 0x6090
jmp 0x1d018
xorl %eax, %eax
movl %eax, %esi
leaq -0x28(%rbp), %rdi
movl $0xa, %edx
callq 0xbdc0
movl %eax, -0xa4(%rbp)
jmp 0x1d032
movl -0xa4(%rbp), %eax
cltq
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
jb 0x1d089
movq -0x88(%rbp), %rdi
movq -0x40(%rbp), %rax
movq %rax, -0xb0(%rbp)
callq 0x21b40
movq %rax, %rcx
movq -0xb0(%rbp), %rax
cmpq %rcx, %rax
jae 0x1d089
movq -0x88(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0x21bb0
movq %rax, %rsi
leaq -0x38(%rbp), %rdi
callq 0x21c10
jmp 0x1d0b5
movl $0x8, %edi
callq 0x61e0
movq %rax, %rdi
leaq 0x2428b(%rip), %rax     # 0x41328
movq %rax, (%rdi)
movq 0x45f01(%rip), %rsi     # 0x62fa8
xorl %eax, %eax
movl %eax, %edx
callq 0x6570
jmp 0x1d1f8
movq 0x45f0c(%rip), %rdi     # 0x62fc8
movq 0x45edd(%rip), %rsi     # 0x62fa0
callq 0x6360
movq %rax, -0xb8(%rbp)
jmp 0x1d0d1
movq -0xb8(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x6300
jmp 0x1d0e3
leaq -0x38(%rbp), %rdi
callq 0xb170
movq %rax, %rdi
callq 0x27950
jmp 0x1d0f6
movq 0x45ecb(%rip), %rdi     # 0x62fc8
movq 0x45e9c(%rip), %rsi     # 0x62fa0
callq 0x6360
movq %rax, -0xc0(%rbp)
jmp 0x1d112
movq -0xc0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x6300
jmp 0x1d124
leaq -0x38(%rbp), %rdi
callq 0xb170
movq %rax, %rdi
callq 0x27c70
jmp 0x1d137
movq 0x45e8a(%rip), %rdi     # 0x62fc8
movq 0x45e5b(%rip), %rsi     # 0x62fa0
callq 0x6360
movq %rax, -0xc8(%rbp)
jmp 0x1d153
movq -0xc8(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x6300
jmp 0x1d165
leaq -0x38(%rbp), %rdi
callq 0xb170
movq %rax, %rdi
callq 0x27ae0
jmp 0x1d178
movq 0x45e49(%rip), %rdi     # 0x62fc8
movq 0x45e1a(%rip), %rsi     # 0x62fa0
callq 0x6360
movq %rax, -0xd0(%rbp)
jmp 0x1d194
movq -0xd0(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x6300
jmp 0x1d1a6
leaq -0x38(%rbp), %rdi
callq 0xb170
movq %rax, %rdi
callq 0x28c10
jmp 0x1d1b9
leaq -0x60(%rbp), %rdi
callq 0x6678
leaq -0x38(%rbp), %rdi
callq 0xb4c0
leaq -0x28(%rbp), %rdi
callq 0x6678
addq $0xd0, %rsp
popq %rbp
retq
leaq -0x38(%rbp), %rdi
callq 0xb4c0
leaq -0x28(%rbp), %rdi
callq 0x6678
movq -0x70(%rbp), %rdi
callq 0x6590
nopl (%rax,%rax)