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

  if (!scdc_dataprov_fs2::open(conf, args, result))
  {
    SCDC_FAIL("open: opening base");
    return false;
  }

  dataset_cmds_add("pwd", static_cast<dataset_cmds_do_cmd_f>(&scdc_dataset_fs2_access::do_cmd_pwd));
  dataset_cmds_add("info", static_cast<dataset_cmds_do_cmd_f>(&scdc_dataset_fs2_access::do_cmd_info));
  dataset_cmds_add("cd", static_cast<dataset_cmds_do_cmd_f>(&scdc_dataset_fs2_access::do_cmd_cd));
  dataset_cmds_add("ls", static_cast<dataset_cmds_do_cmd_f>(&scdc_dataset_fs2_access::do_cmd_ls));
  dataset_cmds_add("put", static_cast<dataset_cmds_do_cmd_f>(&scdc_dataset_fs2_access::do_cmd_put));
  dataset_cmds_add("get", static_cast<dataset_cmds_do_cmd_f>(&scdc_dataset_fs2_access::do_cmd_get));
  dataset_cmds_add("rm", static_cast<dataset_cmds_do_cmd_f>(&scdc_dataset_fs2_access::do_cmd_rm));
  dataset_cmds_add("sync", static_cast<dataset_cmds_do_cmd_f>(&scdc_dataset_fs2_access::do_cmd_sync));

  return true;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
callq 0x37268
movl %eax, %ebx
testb %al, %al
je 0x37bab
leaq 0x19ff6(%rip), %rsi     # 0x51a02
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1a132
leaq 0x8(%rsp), %rsi
pushq $0x29
popq %rdx
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x20aa0
leaq 0x8(%rsp), %rdi
callq 0xb230
leaq 0x19e12(%rip), %rsi     # 0x51850
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1a132
leaq 0x8(%rsp), %rsi
pushq $0x19
popq %rdx
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x20aa0
leaq 0x8(%rsp), %rdi
callq 0xb230
leaq 0x1a14c(%rip), %rsi     # 0x51bbc
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1a132
leaq 0x8(%rsp), %rsi
pushq $0x21
popq %rdx
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x20aa0
leaq 0x8(%rsp), %rdi
callq 0xb230
leaq 0x1a35b(%rip), %rsi     # 0x51dfd
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1a132
leaq 0x4c4(%rip), %rdx       # 0x37f7c
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x20aa0
leaq 0x8(%rsp), %rdi
callq 0xb230
leaq 0x19fc8(%rip), %rsi     # 0x51aa0
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1a132
leaq 0x6be(%rip), %rdx       # 0x381ac
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x20aa0
leaq 0x8(%rsp), %rdi
callq 0xb230
leaq 0x1a00a(%rip), %rsi     # 0x51b18
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1a132
leaq 0xc38(%rip), %rdx       # 0x3875c
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x20aa0
leaq 0x8(%rsp), %rdi
callq 0xb230
leaq 0x1b97b(%rip), %rsi     # 0x534bf
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1a132
leaq 0x1032(%rip), %rdx      # 0x38b8c
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x20aa0
leaq 0x8(%rsp), %rdi
callq 0xb230
leaq 0x1b97e(%rip), %rsi     # 0x534f8
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1a132
leaq 0x12a6(%rip), %rdx      # 0x38e36
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x20aa0
leaq 0x8(%rsp), %rdi
callq 0xb230
jmp 0x37c0a
leaq 0x3d9ce(%rip), %r14     # 0x75580
movq (%r14), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x37c0a
addq $0x20, %rdi
callq 0xb800
movq (%r14), %rax
movq 0x8(%rax), %rdi
leaq 0x195b5(%rip), %rsi     # 0x51188
callq 0xb520
leaq 0x1b72c(%rip), %rsi     # 0x5330b
movq %rax, %rdi
callq 0xb520
leaq 0x1aeef(%rip), %rsi     # 0x52add
movq %rax, %rdi
callq 0xb520
movq %rax, %rdi
callq 0xb270
movq (%r14), %rdi
addq $0x20, %rdi
callq 0xb3e0
movl %ebx, %eax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
jmp 0x37c30
jmp 0x37c3f
jmp 0x37c30
jmp 0x37c3f
jmp 0x37c30
jmp 0x37c3f
jmp 0x37c30
jmp 0x37c3f
jmp 0x37c30
jmp 0x37c3f
jmp 0x37c30
jmp 0x37c3f
jmp 0x37c30
jmp 0x37c3f
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xb230
jmp 0x37c42
movq %rax, %rbx
movq %rbx, %rdi
callq 0xb9a0