// File: /workspace/github_cpp_makefile_star2_O3/mh0fm4[P]SCDC/src/components/dataprov/dataprov_fs2.cc
// Function: scdc_dataset_fs2_store::do_cmd_put(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_put(const string &params, scdc_dataset_input_t *input, scdc_dataset_output_t *output, scdc_result &result)
    {
      SCDC_TRACE("do_cmd_put: '" << 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 (admin)
      {
        SCDC_TRACE("do_cmd_put: creating store '" << params << "'");

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

        store_path += DIR_STORE_PREFIX + string(params) + "/";

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

        if (!z_fs_mkdir(store_path.c_str()))
        {
          result = string("creating store failed: ") + strerror(errno);
          SCDC_FAIL(__func__ << ": making store '" << store_path << "' failed: " << result);
          return false;
        }

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

      } else
      {
        SCDC_TRACE("do_cmd_put: creating 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 (!input)
        {
          result = "no input available";
          SCDC_FAIL("do_cmd_put: creating entry failed: " << result);
          return false;
        }

        if (scdc_dataset_input_redirect(input, "to:file", entry_path.c_str()) != SCDC_SUCCESS)
        {
          result = " input redirection failed";
          SCDC_FAIL("do_cmd_put: creating entry failed: " << result);
          return false;
        }
      }

      return true;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %r8, %rbx
cmpq $0x0, 0x8(%rsi)
je 0x485ad
movq %rsi, %r15
movq %rdi, %r12
movq 0x8(%rdi), %rdi
cmpb $0x1, 0x6c(%r12)
jne 0x4863d
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
leaq 0x48(%rsp), %rdx
xorl %esi, %esi
callq 0x4573e
leaq 0x78(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x1d0a0
leaq 0x240a4(%rip), %rcx     # 0x6c60f
leaq 0x68(%rsp), %rdi
movl $0x9, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xb5d0
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4879d
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x487a4
movq 0x8(%rbx), %rdx
leaq 0x2407b(%rip), %rcx     # 0x6c633
xorl %r14d, %r14d
movl $0xa, %r8d
movq %rbx, %rdi
xorl %esi, %esi
callq 0xb870
leaq 0x43f9e(%rip), %r15     # 0x8c570
movq (%r15), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x48c5d
addq $0x20, %rdi
callq 0xb7d0
movq (%r15), %rax
movq 0x8(%rax), %r14
leaq 0x21bb1(%rip), %rsi     # 0x6a1a8
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x23fc7(%rip), %rsi     # 0x6c5d2
movl $0x12, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x224e5(%rip), %rsi     # 0x6ab04
movl $0xa, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x2400b(%rip), %rsi     # 0x6c63e
movl $0x1b, %edx
jmp 0x4874b
cmpq $0x0, 0x20(%r12)
je 0x486c0
movq %rdx, %r14
leaq 0x58(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x48(%rsp), %rdx
xorl %esi, %esi
callq 0x4573e
addq $0x18, %r12
leaq 0x23f9c(%rip), %rsi     # 0x6c60f
leaq 0x28(%rsp), %rdi
movq %r12, %rdx
callq 0x1b7aa
leaq 0x21ce6(%rip), %rsi     # 0x6a36d
leaq 0x28(%rsp), %rdi
callq 0xba60
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x488f8
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x48900
movq 0x8(%rbx), %rdx
leaq 0x23fb8(%rip), %rcx     # 0x6c683
xorl %r14d, %r14d
movl $0x11, %r8d
movq %rbx, %rdi
xorl %esi, %esi
callq 0xb870
leaq 0x43e8b(%rip), %r15     # 0x8c570
movq (%r15), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x48c5d
addq $0x20, %rdi
callq 0xb7d0
movq (%r15), %rax
movq 0x8(%rax), %r14
leaq 0x21a9e(%rip), %rsi     # 0x6a1a8
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x23eb4(%rip), %rsi     # 0x6c5d2
movl $0x12, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x223d2(%rip), %rsi     # 0x6ab04
movl $0xa, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x23f6c(%rip), %rsi     # 0x6c6b2
movl $0x19, %edx
movq %r14, %rdi
callq 0xb5f0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0xb5f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0xb4d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0xb050
movq %rax, %rdi
callq 0xb340
movq (%r15), %rdi
addq $0x20, %rdi
callq 0xb3b0
jmp 0x48c5a
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x21ba6(%rip), %rsi     # 0x6a36d
callq 0xba60
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x487f3
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x487fb
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0xb150
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4883e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x48855
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x4886c
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x48(%rsp), %rdi
callq 0x358e4
testq %rax, %rax
je 0x4889a
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x48892
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xb510
movb $0x1, %r14b
jmp 0x48c5d
leaq 0x28(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x23db1(%rip), %rsi     # 0x6c65a
leaq 0x23dc1(%rip), %rdx     # 0x6c671
callq 0x1be38
callq 0xb070
movl (%rax), %edi
callq 0xb190
leaq 0x28(%rsp), %rdi
movq %rax, %rsi
callq 0xba60
movq %r13, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x48c72
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x48c7a
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0xb150
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x48943
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x38(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x4895e
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x1d0a0
leaq 0x23c98(%rip), %rsi     # 0x6c61d
leaq 0x68(%rsp), %rdi
callq 0xba60
movq (%r15), %rsi
movq 0x8(%r15), %rdx
leaq 0x68(%rsp), %rdi
callq 0xb150
movq %r13, 0x28(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x489c3
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x489cb
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x22b3f(%rip), %rsi     # 0x6b52d
callq 0xba60
movq %r12, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x48a16
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x48a1e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x48a4d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x48a64
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xb510
testq %r14, %r14
je 0x48ab8
movq 0x8(%rsp), %rdx
leaq 0x23c57(%rip), %rsi     # 0x6c6cc
movq %r14, %rdi
xorl %eax, %eax
callq 0x2df76
cmpq $0x1, %rax
jne 0x48b5f
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x48aa0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
jne 0x48885
jmp 0x48892
movq 0x8(%rbx), %rdx
leaq 0x23bd2(%rip), %rcx     # 0x6c695
movl $0x12, %r8d
movq %rbx, %rdi
xorl %esi, %esi
callq 0xb870
leaq 0x43a96(%rip), %r14     # 0x8c570
movq (%r14), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x48c27
addq $0x20, %rdi
callq 0xb7d0
movq (%r14), %rax
movq 0x8(%rax), %r14
leaq 0x216a9(%rip), %rsi     # 0x6a1a8
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x23abf(%rip), %rsi     # 0x6c5d2
movl $0x12, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x23b81(%rip), %rsi     # 0x6c6a8
movl $0x23, %edx
movq %r14, %rdi
callq 0xb5f0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0xb5f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0xb4d0
jmp 0x48c01
movq 0x8(%rbx), %rdx
leaq 0x23b6a(%rip), %rcx     # 0x6c6d4
movl $0x19, %r8d
movq %rbx, %rdi
xorl %esi, %esi
callq 0xb870
leaq 0x439ef(%rip), %r14     # 0x8c570
movq (%r14), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x48c27
addq $0x20, %rdi
callq 0xb7d0
movq (%r14), %rax
movq 0x8(%rax), %r14
leaq 0x21602(%rip), %rsi     # 0x6a1a8
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x23a18(%rip), %rsi     # 0x6c5d2
movl $0x12, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x23ada(%rip), %rsi     # 0x6c6a8
movl $0x23, %edx
movq %r14, %rdi
callq 0xb5f0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0xb5f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0xb4d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0xb050
movq %rax, %rdi
callq 0xb340
leaq 0x43955(%rip), %rax     # 0x8c570
movq (%rax), %rdi
addq $0x20, %rdi
callq 0xb3b0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x48c3e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x48c5a
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xb510
xorl %r14d, %r14d
movl %r14d, %eax
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %r14
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb670
movq (%r14), %rdi
cmpq %r13, %rdi
je 0x48cb6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x48ccd
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x4389c(%rip), %r15     # 0x8c570
movq (%r15), %rdi
cmpq $0x0, 0x8(%rdi)
je 0x48db0
addq $0x20, %rdi
callq 0xb7d0
movq (%r15), %rax
movq 0x8(%rax), %r14
leaq 0x214af(%rip), %rsi     # 0x6a1a8
movl $0xb, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x238c5(%rip), %rsi     # 0x6c5d2
movl $0x12, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x21de3(%rip), %rsi     # 0x6ab04
movl $0xa, %edx
movq %r14, %rdi
callq 0xb5f0
leaq 0x2393d(%rip), %rsi     # 0x6c672
movl $0x10, %edx
movq %r14, %rdi
callq 0xb5f0
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %r14, %rdi
callq 0xb5f0
movq %rax, %r14
leaq 0x21cb2(%rip), %rsi     # 0x6aa10
movl $0xa, %edx
movq %rax, %rdi
callq 0xb5f0
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
movq %r14, %rdi
callq 0xb5f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0xb4d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0xb050
movq %rax, %rdi
callq 0xb340
movq (%r15), %rdi
addq $0x20, %rdi
callq 0xb3b0
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
jne 0x48c4d
jmp 0x48c5a
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x48edd
movq 0x38(%rsp), %rsi
jmp 0x48ea3
jmp 0x48eda
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x48e04
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x48e04
jmp 0x48e01
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x48ec9
movq 0x78(%rsp), %rsi
jmp 0x48ec1
jmp 0x48e54
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x48e3d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x48e3d
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x48ec9
movq 0x38(%rsp), %rsi
jmp 0x48ec1
jmp 0x48e54
movq %rax, %rbx
jmp 0x48ec9
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x48e78
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x48e78
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x48e94
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x48e94
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r14, %rdi
je 0x48edd
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x48edd
jmp 0x48eda
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x48ec9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
jne 0x48ee7
jmp 0x48ef4
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x48ef4
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xb510
movq %rbx, %rdi
callq 0xb9c0