// File: 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
movq %rsp, %rbp
subq $0x2a0, %rsp            # imm = 0x2A0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1d8(%rbp)
jmp 0x7573c
movq -0x1d8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
callq 0xcb60
testb $0x1, %al
jne 0x7575d
jmp 0x75815
movq -0x30(%rbp), %rdi
leaq 0x32ecb(%rip), %rsi     # 0xa8633
callq 0xc920
leaq 0x5ef34(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x7580a
leaq 0x5ef1b(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
leaq 0x5ef0c(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x30a02(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, %rdi
leaq 0x32e15(%rip), %rsi     # 0xa85d2
callq 0xc670
movq %rax, %rdi
leaq 0x31380(%rip), %rsi     # 0xa6b4c
callq 0xc670
movq %rax, %rdi
leaq 0x32e63(%rip), %rsi     # 0xa863e
callq 0xc670
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, %rdi
movq 0x5e7ca(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x5eea6(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x7580c
movb $0x0, -0x1(%rbp)
jmp 0x76084
movq -0x1d8(%rbp), %rax
testb $0x1, 0x6c(%rax)
je 0x75b85
jmp 0x75828
jmp 0x7582a
leaq -0x58(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0xc960
movq -0x1e0(%rbp), %rdx
movq -0x38(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x716b0
jmp 0x75850
movq -0x18(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0xc270
jmp 0x75862
leaq 0x32da6(%rip), %rsi     # 0xa860f
leaq -0xa8(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0x3b040
jmp 0x7587e
leaq 0x30ae8(%rip), %rdx     # 0xa636d
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x2eef0
jmp 0x7589a
leaq -0x58(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xc8a0
jmp 0x758ac
leaq -0x88(%rbp), %rdi
callq 0xc3e0
leaq -0xa8(%rbp), %rdi
callq 0xc3e0
leaq -0xc8(%rbp), %rdi
callq 0xc3e0
jmp 0x758d2
jmp 0x758d4
leaq -0x58(%rbp), %rdi
callq 0xc260
movq %rax, %rdi
callq 0x5d710
movq %rax, -0x1e8(%rbp)
jmp 0x758ee
movq -0x1e8(%rbp), %rax
cmpq $0x0, %rax
jne 0x75b4e
leaq -0x109(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0xcbc0
movq -0x1f0(%rbp), %rdx
leaq 0x32d3a(%rip), %rsi     # 0xa865a
leaq -0x108(%rbp), %rdi
callq 0x27820
jmp 0x7592e
callq 0xc080
movl (%rax), %edi
callq 0xc1d0
movq %rax, %rdx
leaq -0xe8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x2eef0
jmp 0x75952
movq -0x30(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0xc850
leaq -0xe8(%rbp), %rdi
callq 0xc3e0
leaq -0x108(%rbp), %rdi
callq 0xc3e0
leaq -0x109(%rbp), %rdi
callq 0xc730
leaq 0x5ed1b(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x75b3a
leaq 0x5ed02(%rip), %rax     # 0xd46a8
movq %rax, -0x200(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x200(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x307e2(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x1f8(%rbp)
jmp 0x759dc
movq -0x1f8(%rbp), %rdi
leaq 0x32be8(%rip), %rsi     # 0xa85d2
callq 0xc670
movq %rax, -0x208(%rbp)
jmp 0x759f8
movq -0x208(%rbp), %rdi
leaq 0x31146(%rip), %rsi     # 0xa6b4c
callq 0xc670
movq %rax, -0x210(%rbp)
jmp 0x75a14
movq -0x210(%rbp), %rdi
leaq 0x32c50(%rip), %rsi     # 0xa8672
callq 0xc670
movq %rax, -0x218(%rbp)
jmp 0x75a30
movq -0x218(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x220(%rbp)
jmp 0x75a49
movq -0x220(%rbp), %rdi
leaq 0x30f71(%rip), %rsi     # 0xa69c8
callq 0xc670
movq %rax, -0x228(%rbp)
jmp 0x75a65
movq -0x228(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x230(%rbp)
jmp 0x75a7e
movq -0x230(%rbp), %rdi
movq 0x5e534(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x75a93
leaq 0x5ec0e(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x75b3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x75b77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x75af8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x75aec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xc3e0
leaq -0xa8(%rbp), %rdi
callq 0xc3e0
leaq -0xc8(%rbp), %rdi
callq 0xc3e0
jmp 0x75b77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x75b2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x108(%rbp), %rdi
callq 0xc3e0
leaq -0x109(%rbp), %rdi
callq 0xc730
jmp 0x75b77
jmp 0x75b3c
jmp 0x75b3e
movb $0x0, -0x1(%rbp)
movl $0x1, -0x110(%rbp)
jmp 0x75b58
movl $0x0, -0x110(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xc3e0
movl -0x110(%rbp), %eax
testl %eax, %eax
je 0x75b72
jmp 0x75b6d
jmp 0x76084
jmp 0x7607e
leaq -0x58(%rbp), %rdi
callq 0xc3e0
jmp 0x76092
movq -0x1d8(%rbp), %rdi
addq $0x18, %rdi
callq 0xc460
cmpq $0x0, %rax
jne 0x75c57
movq -0x30(%rbp), %rdi
leaq 0x32ad9(%rip), %rsi     # 0xa8683
callq 0xc920
leaq 0x5eaf2(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x75c4c
leaq 0x5ead9(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
leaq 0x5eaca(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x305c0(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, %rdi
leaq 0x329d3(%rip), %rsi     # 0xa85d2
callq 0xc670
movq %rax, %rdi
leaq 0x30f3e(%rip), %rsi     # 0xa6b4c
callq 0xc670
movq %rax, %rdi
leaq 0x32a95(%rip), %rsi     # 0xa86b2
callq 0xc670
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, %rdi
movq 0x5e388(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x5ea64(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x75c4e
movb $0x0, -0x1(%rbp)
jmp 0x76084
jmp 0x75c59
jmp 0x75c5b
leaq -0x130(%rbp), %rdi
movq %rdi, -0x238(%rbp)
callq 0xc960
movq -0x238(%rbp), %rdx
movq -0x38(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x716b0
jmp 0x75c84
movq -0x1d8(%rbp), %rdx
addq $0x18, %rdx
leaq 0x32979(%rip), %rsi     # 0xa860f
leaq -0x170(%rbp), %rdi
callq 0x25900
jmp 0x75ca4
leaq 0x306c2(%rip), %rdx     # 0xa636d
leaq -0x150(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x2eef0
jmp 0x75cc0
leaq -0x130(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0xc8a0
jmp 0x75cd5
leaq -0x150(%rbp), %rdi
callq 0xc3e0
leaq -0x170(%rbp), %rdi
callq 0xc3e0
jmp 0x75cef
jmp 0x75cf1
leaq 0x32925(%rip), %rdx     # 0xa861d
leaq -0x1d0(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x31740
jmp 0x75d0d
movq -0x18(%rbp), %rdx
leaq -0x1b0(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x34a30
jmp 0x75d26
leaq 0x30877(%rip), %rdx     # 0xa65a4
leaq -0x190(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x2eef0
jmp 0x75d42
leaq -0x1b0(%rbp), %rdi
callq 0xc3e0
leaq -0x1d0(%rbp), %rdi
callq 0xc3e0
jmp 0x75d5c
jmp 0x75d5e
cmpq $0x0, -0x20(%rbp)
jne 0x75f00
movq -0x30(%rbp), %rdi
leaq 0x32921(%rip), %rsi     # 0xa8695
callq 0xc920
jmp 0x75d7b
jmp 0x75d7d
leaq 0x5e924(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x75ee9
leaq 0x5e90b(%rip), %rax     # 0xd46a8
movq %rax, -0x248(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x248(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x303eb(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x240(%rbp)
jmp 0x75dd3
movq -0x240(%rbp), %rdi
leaq 0x327f1(%rip), %rsi     # 0xa85d2
callq 0xc670
movq %rax, -0x250(%rbp)
jmp 0x75def
movq -0x250(%rbp), %rdi
leaq 0x328ab(%rip), %rsi     # 0xa86a8
callq 0xc670
movq %rax, -0x258(%rbp)
jmp 0x75e0b
movq -0x258(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x260(%rbp)
jmp 0x75e24
movq -0x260(%rbp), %rdi
movq 0x5e18e(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x75e39
leaq 0x5e868(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x75ee9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x7606e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x75e84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x150(%rbp), %rdi
callq 0xc3e0
leaq -0x170(%rbp), %rdi
callq 0xc3e0
jmp 0x7606e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x75ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0xc3e0
leaq -0x1d0(%rbp), %rdi
callq 0xc3e0
jmp 0x7606e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x190(%rbp), %rdi
callq 0xc3e0
jmp 0x7606e
jmp 0x75eeb
jmp 0x75eed
movb $0x0, -0x1(%rbp)
movl $0x1, -0x110(%rbp)
jmp 0x76046
movq -0x20(%rbp), %rax
movq %rax, -0x270(%rbp)
leaq -0x190(%rbp), %rdi
callq 0xc260
movq -0x270(%rbp), %rdi
movq %rax, %rdx
leaq 0x327a4(%rip), %rsi     # 0xa86cc
xorl %eax, %eax
callq 0x47060
movq %rax, -0x268(%rbp)
jmp 0x75f38
movq -0x268(%rbp), %rax
cmpq $0x1, %rax
je 0x7603c
movq -0x30(%rbp), %rdi
leaq 0x32780(%rip), %rsi     # 0xa86d4
callq 0xc920
jmp 0x75f5b
jmp 0x75f5d
leaq 0x5e744(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x76028
leaq 0x5e72b(%rip), %rax     # 0xd46a8
movq %rax, -0x280(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x280(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x3020b(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x278(%rbp)
jmp 0x75fb3
movq -0x278(%rbp), %rdi
leaq 0x32611(%rip), %rsi     # 0xa85d2
callq 0xc670
movq %rax, -0x288(%rbp)
jmp 0x75fcf
movq -0x288(%rbp), %rdi
leaq 0x326cb(%rip), %rsi     # 0xa86a8
callq 0xc670
movq %rax, -0x290(%rbp)
jmp 0x75feb
movq -0x290(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x298(%rbp)
jmp 0x76004
movq -0x298(%rbp), %rdi
movq 0x5dfae(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x76019
leaq 0x5e688(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x7602a
jmp 0x7602c
movb $0x0, -0x1(%rbp)
movl $0x1, -0x110(%rbp)
jmp 0x76046
movl $0x0, -0x110(%rbp)
leaq -0x190(%rbp), %rdi
callq 0xc3e0
leaq -0x130(%rbp), %rdi
callq 0xc3e0
movl -0x110(%rbp), %eax
testl %eax, %eax
je 0x7606c
jmp 0x7606a
jmp 0x76084
jmp 0x7607c
leaq -0x130(%rbp), %rdi
callq 0xc3e0
jmp 0x76092
jmp 0x7607e
jmp 0x76080
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x2a0, %rsp            # imm = 0x2A0
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xcba0
nopl (%rax,%rax)