// File: /workspace/github_cpp_makefile_star2_O2/mh0fm4[P]SCDC/src/components/dataprov/dataprov_fs2.cc
// Function: scdc_dataset_fs2_store::do_cmd_get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, _scdc_dataset_inout_t*, _scdc_dataset_inout_t*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
bool do_cmd_get(const string &params, scdc_dataset_input_t *input, scdc_dataset_output_t *output, scdc_result &result)
    {
      SCDC_TRACE("do_cmd_get: '" << params << "'");

      scdc_dataprov_fs2 *dataprov_fs2 = static_cast<scdc_dataprov_fs2 *>(dataprov);

      if (params.empty())
      {
        result = "empty path";
        SCDC_FAIL(__func__ << ": writing to store failed: " << result);
        return false;

      } else if (pwd.empty())
      {
        result = "no store selected";
        SCDC_FAIL(__func__ << ": getting entry failed: " << result);
        return false;

      } else
      {
        SCDC_TRACE("do_cmd_get: getting entry '" << params << "'");

        string store_path;
        dataprov_fs2->do_full_path(0, store_path);

        store_path += DIR_STORE_PREFIX + pwd + "/";

        SCDC_TRACE("do_cmd_put: store_path: '" << store_path << "'");

        string entry_path = store_path + DIR_ENTRY_PREFIX + params + DIR_ENTRY_SUFFIX;

        SCDC_TRACE("do_cmd_put: entry_path: '" << entry_path.c_str() << "'");

        if (!z_fs_is_file(entry_path.c_str()))
        {
          result = "entry does not exist";
          SCDC_FAIL("do_cmd_get: getting entry " << entry_path << " failed: " << result);
          return false;
        }

        /* FIXME */
        string entry_format;

        if (scdc_dataset_output_redirect(output, "from:file", entry_path.c_str()) != SCDC_SUCCESS)
        {
          result = "output redirection failed";
          SCDC_FAIL("do_cmd_get: getting entry " << entry_path << " failed: " << result);
          return false;
        }
      }

      return true;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x80, %rsp
movq %r8, %rbx
cmpq $0x0, 0x8(%rsi)
je 0x39d44
movq %rdi, %r12
cmpq $0x0, 0x20(%rdi)
je 0x39dab
movq %rcx, %r14
movq %rsi, %r15
movq 0x8(%r12), %rdi
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x40(%rsp), %rdx
xorl %esi, %esi
callq 0x3783e
addq $0x18, %r12
leaq 0x199d1(%rip), %rsi     # 0x5359f
movq %rsp, %rdi
movq %r12, %rdx
callq 0x19ae2
leaq 0x1776d(%rip), %rdx     # 0x5134d
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x1cb18
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xba90
leaq 0x20(%rsp), %rdi
callq 0xb230
movq %rsp, %rdi
callq 0xb230
leaq 0x19998(%rip), %rdx     # 0x535ad
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x1d867
movq %rsp, %rdi
leaq 0x60(%rsp), %rsi
movq %r15, %rdx
callq 0x1eeb2
leaq 0x18882(%rip), %rdx     # 0x524bd
leaq 0x20(%rsp), %rdi
movq %rsp, %rsi
callq 0x1cb18
movq %rsp, %rdi
callq 0xb230
leaq 0x60(%rsp), %rdi
callq 0xb230
movq 0x20(%rsp), %rdi
callq 0x2d974
testq %rax, %rax
je 0x39e3a
leaq 0x10(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x20(%rsp), %rdx
leaq 0x19a3d(%rip), %rsi     # 0x536c7
movq %r14, %rdi
xorl %eax, %eax
callq 0x274da
cmpq $0x1, %rax
sete %bpl
je 0x39d37
leaq 0x19786(%rip), %rsi     # 0x5342f
movq %rbx, %rdi
callq 0xba40
leaq 0x3b8c8(%rip), %r14     # 0x75580
movq (%r14), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x39d37
addq $0x20, %rdi
callq 0xb800
movq (%r14), %rax
movq 0x8(%rax), %rdi
leaq 0x174af(%rip), %rsi     # 0x51188
callq 0xb520
leaq 0x1987d(%rip), %rsi     # 0x53562
movq %rax, %rdi
callq 0xb520
leaq 0x199b8(%rip), %rsi     # 0x536ac
movq %rax, %rdi
callq 0xb520
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0xb490
leaq 0x17c96(%rip), %rsi     # 0x519a6
movq %rax, %rdi
callq 0xb520
movq %rax, %rdi
movq %rbx, %rsi
callq 0xb490
movq %rax, %rdi
callq 0xb270
movq (%r14), %rdi
addq $0x20, %rdi
callq 0xb3e0
movq %rsp, %rdi
callq 0xb230
jmp 0x39ed1
leaq 0x19878(%rip), %rsi     # 0x535c3
movq %rbx, %rdi
callq 0xba40
leaq 0x3b826(%rip), %r14     # 0x75580
movq (%r14), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x39e33
addq $0x20, %rdi
callq 0xb800
movq (%r14), %rax
movq 0x8(%rax), %rdi
leaq 0x17409(%rip), %rsi     # 0x51188
callq 0xb520
leaq 0x197d7(%rip), %rsi     # 0x53562
movq %rax, %rdi
callq 0xb520
leaq 0x17d77(%rip), %rsi     # 0x51b11
movq %rax, %rdi
callq 0xb520
leaq 0x19825(%rip), %rsi     # 0x535ce
jmp 0x39e0c
leaq 0x19861(%rip), %rsi     # 0x53613
movq %rbx, %rdi
callq 0xba40
leaq 0x3b7bf(%rip), %r14     # 0x75580
movq (%r14), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x39e33
addq $0x20, %rdi
callq 0xb800
movq (%r14), %rax
movq 0x8(%rax), %rdi
leaq 0x173a6(%rip), %rsi     # 0x51188
callq 0xb520
leaq 0x19774(%rip), %rsi     # 0x53562
movq %rax, %rdi
callq 0xb520
leaq 0x17d14(%rip), %rsi     # 0x51b11
movq %rax, %rdi
callq 0xb520
leaq 0x19872(%rip), %rsi     # 0x5367e
movq %rax, %rdi
callq 0xb520
movq %rax, %rdi
movq %rbx, %rsi
callq 0xb490
movq %rax, %rdi
callq 0xb270
movq (%r14), %rdi
addq $0x20, %rdi
callq 0xb3e0
xorl %ebp, %ebp
jmp 0x39ee5
leaq 0x19856(%rip), %rsi     # 0x53697
movq %rbx, %rdi
callq 0xba40
leaq 0x3b730(%rip), %r14     # 0x75580
movq (%r14), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x39ecf
addq $0x20, %rdi
callq 0xb800
movq (%r14), %rax
movq 0x8(%rax), %rdi
leaq 0x17317(%rip), %rsi     # 0x51188
callq 0xb520
leaq 0x196e5(%rip), %rsi     # 0x53562
movq %rax, %rdi
callq 0xb520
leaq 0x19820(%rip), %rsi     # 0x536ac
movq %rax, %rdi
callq 0xb520
leaq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0xb490
leaq 0x17afe(%rip), %rsi     # 0x519a6
movq %rax, %rdi
callq 0xb520
movq %rax, %rdi
movq %rbx, %rsi
callq 0xb490
movq %rax, %rdi
callq 0xb270
movq (%r14), %rdi
addq $0x20, %rdi
callq 0xb3e0
xorl %ebp, %ebp
leaq 0x20(%rsp), %rdi
callq 0xb230
leaq 0x40(%rsp), %rdi
callq 0xb230
movl %ebp, %eax
addq $0x80, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq %rsp, %rdi
callq 0xb230
jmp 0x39f07
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
jmp 0x39f43
jmp 0x39f29
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xb230
jmp 0x39f22
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x39f43
jmp 0x39f29
movq %rax, %rbx
jmp 0x39f48
movq %rax, %rbx
movq %rsp, %rdi
callq 0xb230
jmp 0x39f3e
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xb230
leaq 0x40(%rsp), %rdi
callq 0xb230
movq %rbx, %rdi
callq 0xb9a0