// File: brashi[P]PetFera/src/./banco_dados.cpp
// Function: BancoDados::excluirArquivos()
void BancoDados::excluirArquivos() {
    if(fs::remove(funcArq))
        cout << "Arquivo de funcionarios foi removido." << endl;
    else
        cout << "Houve um erro ao tentar remover o arquivo de funcionarios." << endl;

    if(fs::remove(animalArq))
        cout << "Arquivo de animais foi removido." << endl;
    else
        cout << "Houve um erro ao tentar remover o arquivo de animais." << endl;

    for(auto& an : petshop->getAnimais())
        petshop->excluirAnimal(an);

    for(auto& vet : petshop->getVeterinarios())
        petshop->excluirVeterinario(vet);

    for(auto& trt : petshop->getTratadores())
        petshop->excluirTratador(trt);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rsi
movq %rsi, -0x188(%rbp)
addq $0x10, %rsi
leaq -0x30(%rbp), %rdi
movq %rdi, -0x180(%rbp)
movl $0x2, %edx
callq 0xaea0
movq -0x180(%rbp), %rdi
callq 0x62c0
movb %al, -0x171(%rbp)
jmp 0xa7e7
leaq -0x30(%rbp), %rdi
callq 0xaf80
movb -0x171(%rbp), %al
testb $0x1, %al
jne 0xa7fc
jmp 0xa83a
movq 0x587c5(%rip), %rdi     # 0x62fc8
leaq 0x35b6c(%rip), %rsi     # 0x40376
callq 0x6310
movq %rax, %rdi
movq 0x58787(%rip), %rsi     # 0x62fa0
callq 0x6360
jmp 0xa85c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xaf80
jmp 0xac71
movq 0x58787(%rip), %rdi     # 0x62fc8
leaq 0x35b54(%rip), %rsi     # 0x4039c
callq 0x6310
movq %rax, %rdi
movq 0x58749(%rip), %rsi     # 0x62fa0
callq 0x6360
movq -0x188(%rbp), %rsi
addq $0x30, %rsi
leaq -0x68(%rbp), %rdi
movq %rdi, -0x198(%rbp)
movl $0x2, %edx
callq 0xaea0
movq -0x198(%rbp), %rdi
callq 0x62c0
movb %al, -0x189(%rbp)
jmp 0xa890
leaq -0x68(%rbp), %rdi
callq 0xaf80
movb -0x189(%rbp), %al
testb $0x1, %al
jne 0xa8a5
jmp 0xa8e3
movq 0x5871c(%rip), %rdi     # 0x62fc8
leaq 0x35b24(%rip), %rsi     # 0x403d7
callq 0x6310
movq %rax, %rdi
movq 0x586de(%rip), %rsi     # 0x62fa0
callq 0x6360
jmp 0xa905
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x68(%rbp), %rdi
callq 0xaf80
jmp 0xac71
movq 0x586de(%rip), %rdi     # 0x62fc8
leaq 0x35b07(%rip), %rsi     # 0x403f8
callq 0x6310
movq %rax, %rdi
movq 0x586a0(%rip), %rsi     # 0x62fa0
callq 0x6360
movq -0x188(%rbp), %rdi
callq 0xb090
movq %rax, %rsi
leaq -0x88(%rbp), %rdi
callq 0x21800
leaq -0x88(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0xb370
movq %rax, -0x90(%rbp)
movq -0x70(%rbp), %rdi
callq 0xb3a0
movq %rax, -0x98(%rbp)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0xb3d0
testb $0x1, %al
jne 0xa973
leaq -0x88(%rbp), %rdi
callq 0xbae0
jmp 0xaa21
leaq -0x90(%rbp), %rdi
callq 0xb410
movq -0x188(%rbp), %rdi
movq %rax, -0xa0(%rbp)
callq 0xb090
movq %rax, -0x1a8(%rbp)
movq -0xa0(%rbp), %rsi
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
callq 0xb430
movq -0x1a8(%rbp), %rsi
movq -0x1a0(%rbp), %rdx
leaq -0xb0(%rbp), %rdi
callq 0x20460
jmp 0xa9cf
leaq -0xb0(%rbp), %rdi
callq 0xb460
leaq -0xc0(%rbp), %rdi
callq 0xb460
leaq -0x90(%rbp), %rdi
callq 0xbac0
jmp 0xa94b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0xb460
leaq -0x88(%rbp), %rdi
callq 0xbae0
jmp 0xac71
movq -0x188(%rbp), %rdi
callq 0xb090
movq %rax, %rsi
leaq -0xe0(%rbp), %rdi
callq 0x217a0
leaq -0xe0(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rdi
callq 0xb0b0
movq %rax, -0xe8(%rbp)
movq -0xc8(%rbp), %rdi
callq 0xb0e0
movq %rax, -0xf0(%rbp)
leaq -0xe8(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0xb110
testb $0x1, %al
jne 0xaa98
leaq -0xe0(%rbp), %rdi
callq 0xb1b0
jmp 0xab46
leaq -0xe8(%rbp), %rdi
callq 0xb150
movq -0x188(%rbp), %rdi
movq %rax, -0xf8(%rbp)
callq 0xb090
movq %rax, -0x1b8(%rbp)
movq -0xf8(%rbp), %rsi
leaq -0x118(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0xc060
movq -0x1b8(%rbp), %rsi
movq -0x1b0(%rbp), %rdx
leaq -0x108(%rbp), %rdi
callq 0x20b60
jmp 0xaaf4
leaq -0x108(%rbp), %rdi
callq 0xb4c0
leaq -0x118(%rbp), %rdi
callq 0xb4c0
leaq -0xe8(%rbp), %rdi
callq 0xb190
jmp 0xaa70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0xb4c0
leaq -0xe0(%rbp), %rdi
callq 0xb1b0
jmp 0xac71
movq -0x188(%rbp), %rdi
callq 0xb090
movq %rax, %rsi
leaq -0x138(%rbp), %rdi
callq 0x217d0
leaq -0x138(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x120(%rbp), %rdi
callq 0xb210
movq %rax, -0x140(%rbp)
movq -0x120(%rbp), %rdi
callq 0xb240
movq %rax, -0x148(%rbp)
leaq -0x140(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0xb270
testb $0x1, %al
jne 0xabbd
leaq -0x138(%rbp), %rdi
callq 0xb310
jmp 0xac68
leaq -0x140(%rbp), %rdi
callq 0xb2b0
movq -0x188(%rbp), %rdi
movq %rax, -0x150(%rbp)
callq 0xb090
movq %rax, -0x1c8(%rbp)
movq -0x150(%rbp), %rsi
leaq -0x170(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0xc090
movq -0x1c8(%rbp), %rsi
movq -0x1c0(%rbp), %rdx
leaq -0x160(%rbp), %rdi
callq 0x21260
jmp 0xac19
leaq -0x160(%rbp), %rdi
callq 0xb4a0
leaq -0x170(%rbp), %rdi
callq 0xb4a0
leaq -0x140(%rbp), %rdi
callq 0xb2f0
jmp 0xab95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x170(%rbp), %rdi
callq 0xb4a0
leaq -0x138(%rbp), %rdi
callq 0xb310
jmp 0xac71
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x6590
nopw (%rax,%rax)