// File: /workspace/github_cpp_makefile_star2_O1/brashi[P]PetFera/src/./banco_dados.cpp
// Function: BancoDados::BancoDados(std::shared_ptr<Petshop>)
BancoDados::BancoDados(shared_ptr<Petshop> petshop):
                        petshop(petshop) {
                            diretorio = "dados/";
                            if(!fs::exists(diretorio)) {
                                cout << "Criando diretório dados/" << endl;
                                fs::create_directory(diretorio);
                            }
                            funcArq = diretorio + "funcionarios.csv";
                            animalArq = diretorio + "animais.csv";
                        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x168, %rsp            # imm = 0x168
movq %rdi, %rbx
movq (%rsi), %rax
movq %rax, (%rdi)
movq 0x8(%rsi), %rax
movq %rax, 0x8(%rdi)
testq %rax, %rax
je 0x6af8
movq 0x274de(%rip), %rcx     # 0x2dfc8
cmpb $0x0, (%rcx)
je 0x6af4
incl 0x8(%rax)
jmp 0x6af8
lock
incl 0x8(%rax)
leaq 0x10(%rbx), %rax
movq %rax, 0x38(%rsp)
leaq 0x20(%rbx), %rax
movq %rax, 0x28(%rsp)
movq %rax, 0x10(%rbx)
xorl %eax, %eax
movq %rax, 0x18(%rbx)
movb %al, 0x20(%rbx)
leaq 0x30(%rbx), %rcx
movq %rcx, 0x30(%rsp)
leaq 0x40(%rbx), %rcx
movq %rcx, 0x20(%rsp)
movq %rcx, 0x30(%rbx)
movq %rax, 0x38(%rbx)
movb %al, 0x40(%rbx)
leaq 0x50(%rbx), %r12
leaq 0x60(%rbx), %rcx
movq %rcx, 0x18(%rsp)
movq %rcx, 0x50(%rbx)
movq %rax, 0x58(%rbx)
movb %al, 0x60(%rbx)
leaq 0x70(%rbx), %r13
movq %r13, %rdi
callq 0x1a740
leaq 0x60(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1c445(%rip), %rsi     # 0x22fad
leaq 0x1c441(%rip), %rdx     # 0x22fb0
leaq 0x50(%rsp), %rdi
movq %r13, 0x48(%rsp)
callq 0xadd8
leaq 0x78(%rsp), %r14
movb $0x41, -0x8(%r14)
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1a485(%rip), %rsi     # 0x21020
leaq 0x1a481(%rip), %rdx     # 0x21023
movq %r14, %rdi
callq 0xadd8
leaq 0xa0(%rsp), %r14
movb $0x46, -0x8(%r14)
leaq 0xb0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1a45a(%rip), %rsi     # 0x21024
leaq 0x1a456(%rip), %rdx     # 0x21027
movq %r14, %rdi
callq 0xadd8
leaq 0xc8(%rsp), %r14
movb $0x4d, -0x8(%r14)
leaq 0xd8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1a42f(%rip), %rsi     # 0x21028
leaq 0x1a42b(%rip), %rdx     # 0x2102b
movq %r14, %rdi
callq 0xadd8
leaq 0xf0(%rsp), %r14
movb $0x52, -0x8(%r14)
leaq 0x100(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1c570(%rip), %rsi     # 0x23198
leaq 0x1c56a(%rip), %rdx     # 0x23199
movq %r14, %rdi
callq 0xadd8
leaq 0x118(%rsp), %r14
movb $0x45, -0x8(%r14)
leaq 0x128(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1be4d(%rip), %rsi     # 0x22aa4
leaq 0x1be47(%rip), %rdx     # 0x22aa5
movq %r14, %rdi
callq 0xadd8
leaq 0x140(%rsp), %r14
movb $0x44, -0x8(%r14)
leaq 0x150(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x1c50d(%rip), %rsi     # 0x23193
leaq 0x1c507(%rip), %rdx     # 0x23194
movq %r14, %rdi
callq 0xadd8
leaq 0xa0(%rbx), %rdi
leaq 0x168(%rsp), %r13
movb $0x4e, -0x8(%r13)
leaq 0x15(%rsp), %rax
movq %rax, (%rsp)
leaq 0x50(%rsp), %rsi
leaq 0x17(%rsp), %r8
leaq 0x16(%rsp), %r9
movq %rdi, 0x40(%rsp)
movq %r13, %rdx
xorl %ecx, %ecx
callq 0xb0a0
movq $-0x118, %r14           # imm = 0xFEE8
movq -0x10(%rbp), %rdi
cmpq %rdi, %rbp
je 0x6cec
movq (%rbp), %rsi
incq %rsi
callq 0x62b0
addq $-0x28, %rbp
addq $0x28, %r14
jne 0x6cd7
movq 0x58(%rbx), %rdx
leaq 0x1a33e(%rip), %rcx     # 0x2103f
movl $0x6, %r8d
movq %r12, %rdi
xorl %esi, %esi
callq 0x63f0
leaq 0x50(%rsp), %rdi
movq %r12, %rsi
movl $0x2, %edx
callq 0xaacc
leaq 0x50(%rsp), %rdi
callq 0x6120
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0xab4c
cmpb $-0x1, %r14b
je 0x6d48
movzbl %r14b, %eax
testl %eax, %eax
jne 0x6db4
movq 0x27281(%rip), %r14     # 0x2dfd0
leaq 0x1a2d6(%rip), %rsi     # 0x2102c
movl $0x19, %edx
movq %r14, %rdi
callq 0x6310
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x6280
movsbl %al, %esi
movq 0x2724f(%rip), %rdi     # 0x2dfd0
callq 0x6030
movq %rax, %rdi
callq 0x61c0
leaq 0x50(%rsp), %rdi
movq %r12, %rsi
movl $0x2, %edx
callq 0xaacc
leaq 0x50(%rsp), %rdi
callq 0x6140
leaq 0x50(%rsp), %rdi
callq 0xab4c
leaq 0x50(%rsp), %rdi
movq %r15, (%rdi)
movq 0x50(%rbx), %rsi
movq 0x58(%rbx), %rdx
addq %rsi, %rdx
callq 0xb010
leaq 0x1a273(%rip), %rsi     # 0x21046
leaq 0x50(%rsp), %rdi
callq 0x64b0
leaq 0x50(%rsp), %r14
movq 0x38(%rsp), %rdi
movq %r14, %rsi
callq 0x6330
movq (%r14), %rdi
cmpq %r15, %rdi
je 0x6e04
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x62b0
leaq 0x50(%rsp), %rdi
movq %r15, (%rdi)
movq 0x50(%rbx), %rsi
movq 0x58(%rbx), %rdx
addq %rsi, %rdx
callq 0xb010
leaq 0x1a234(%rip), %rsi     # 0x21057
leaq 0x50(%rsp), %rdi
callq 0x64b0
leaq 0x50(%rsp), %rbx
movq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq 0x6330
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x6e54
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x62b0
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6e99
jmp 0x6f15
jmp 0x6e74
jmp 0x6f15
movq %rax, %rbp
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x6f18
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x62b0
jmp 0x6f18
jmp 0x6f15
movq %rax, %rbp
leaq 0x50(%rsp), %rdi
callq 0xab4c
jmp 0x6f18
jmp 0x6f15
movq %rax, %rbp
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x64e2
movb $0x1, %al
jmp 0x6ecd
jmp 0x6ec8
jmp 0x6ec8
jmp 0x6ec8
jmp 0x6ec8
jmp 0x6ec8
movq %rax, %rbp
xorl %eax, %eax
leaq 0x50(%rsp), %rcx
cmpq %r14, %rcx
sete %cl
orb %al, %cl
jne 0x6f22
leaq 0x50(%rsp), %r15
movq -0x28(%r14), %rdi
leaq -0x18(%r14), %rax
cmpq %rdi, %rax
je 0x6ef9
movq (%rax), %rsi
incq %rsi
callq 0x62b0
addq $-0x28, %r14
cmpq %r15, %r14
jne 0x6ee1
jmp 0x6f22
movq %rax, %rbp
xorl %eax, %eax
leaq 0x50(%rsp), %r14
jmp 0x6ecd
movq %rax, %rbp
jmp 0x6f2c
movq %rax, %rbp
movq 0x40(%rsp), %rdi
callq 0xae68
movq 0x48(%rsp), %rdi
callq 0xaf06
movq (%r12), %rdi
cmpq 0x18(%rsp), %rdi
je 0x6f47
movq 0x18(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x62b0
movq 0x30(%rsp), %rax
movq (%rax), %rdi
cmpq 0x20(%rsp), %rdi
je 0x6f66
movq 0x20(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x62b0
movq 0x38(%rsp), %rax
movq (%rax), %rdi
cmpq 0x28(%rsp), %rdi
je 0x6f85
movq 0x28(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x62b0
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x6f93
callq 0xafa0
movq %rbp, %rdi
callq 0x6460
nop