// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_fs2.cc
// Function: scdc_dataprov_fs2::open(char const*, scdc_args*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
bool scdc_dataprov_fs2::open(const char *conf, scdc_args *args, scdc_result &result)
{
  SCDC_TRACE("open: conf: '" << conf << "'");

  bool ret = true;

  const char *r;
  if (!args->get<const char *>(SCDC_ARGS_TYPE_CSTR, &r))
  {
    SCDC_ERROR("open: getting root directory");
    ret = false;
    goto do_quit;

  } else if (!z_fs_is_directory(r))
  {
    SCDC_ERROR("open: given root directory '" << r << "' is not a directory");
    ret = false;
    goto do_quit;
  }

  if (!scdc_dataprov::open(conf, args, result))
  {
    SCDC_FAIL("open: opening base");
    ret = false;

  } else
  {
    set_root(r);
  }

do_quit:
  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
jmp 0x70d35
movb $0x1, -0x21(%rbp)
movq -0x18(%rbp), %rdi
movl $0x4, %esi
leaq -0x30(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4d6c0
cmpq $0x0, %rax
jne 0x70de2
jmp 0x70d59
leaq 0x63948(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
cmpq $0x0, %rax
je 0x70dd7
leaq 0x63933(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e900
leaq 0x63924(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
movq %rax, %rdi
leaq 0x35712(%rip), %rsi     # 0xa64a8
callq 0xc670
movq %rax, %rdi
leaq 0x3752b(%rip), %rsi     # 0xa82d0
callq 0xc670
movq %rax, %rdi
leaq 0x3752a(%rip), %rsi     # 0xa82de
callq 0xc670
movq %rax, %rdi
movq 0x631fd(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x638d9(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e920
jmp 0x70dd9
movb $0x0, -0x21(%rbp)
jmp 0x70fc1
movq -0x30(%rbp), %rdi
callq 0x5d460
cmpq $0x0, %rax
jne 0x70e9f
jmp 0x70df7
leaq 0x638aa(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
cmpq $0x0, %rax
je 0x70e94
leaq 0x63891(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e900
leaq 0x63882(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
movq %rax, %rdi
leaq 0x35670(%rip), %rsi     # 0xa64a8
callq 0xc670
movq %rax, %rdi
leaq 0x37489(%rip), %rsi     # 0xa82d0
callq 0xc670
movq %rax, %rdi
leaq 0x374a5(%rip), %rsi     # 0xa82fb
callq 0xc670
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0xc670
movq %rax, %rdi
leaq 0x374a7(%rip), %rsi     # 0xa8318
callq 0xc670
movq %rax, %rdi
movq 0x63140(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x6381c(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e920
jmp 0x70e96
movb $0x0, -0x21(%rbp)
jmp 0x70fc1
jmp 0x70ea1
movq -0x70(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x5dee0
testb $0x1, %al
jne 0x70f46
jmp 0x70ec0
leaq 0x637e1(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x70f3e
leaq 0x637cc(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
leaq 0x637bd(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x352b3(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, %rdi
leaq 0x373c4(%rip), %rsi     # 0xa82d0
callq 0xc670
movq %rax, %rdi
leaq 0x36bea(%rip), %rsi     # 0xa7b05
callq 0xc670
movq %rax, %rdi
movq 0x63096(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x63772(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x70f40
movb $0x0, -0x21(%rbp)
jmp 0x70fbf
movq -0x30(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x51(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0xcbc0
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
leaq -0x50(%rbp), %rdi
callq 0x27820
jmp 0x70f6e
movq -0x70(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x70fe0
jmp 0x70f7d
leaq -0x50(%rbp), %rdi
callq 0xc3e0
leaq -0x51(%rbp), %rdi
callq 0xc730
jmp 0x70fbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x70fb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x50(%rbp), %rdi
callq 0xc3e0
leaq -0x51(%rbp), %rdi
callq 0xc730
jmp 0x70fcf
jmp 0x70fc1
movb -0x21(%rbp), %al
andb $0x1, %al
addq $0x80, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xcba0
nopl (%rax,%rax)