// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_jobrun.cc
// Function: scdc_dataset_jobrun::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 std::string &params, scdc_dataset_input_t *input, scdc_dataset_output_t *output, scdc_result &result)
    {
      if (!has_jobid() && dataprov_jobrun()->do_cmd_put(params, input, output, result)) return true;

      string jobid = get_jobid();

      string p = params;
      scdc_dataprov_jobrun_job_params_t job_params;
      read_job_params2(p, jobid, job_params);

      if (jobid.size() > 0)
      {
        if (!dataprov_jobrun()->is_job(jobid))
        {
          if (!create_job(jobid, job_params))
          {
            result = "creating job '" + jobid + "' failed";
            SCDC_FAIL("do_cmd_put: " << result);
            return false;
          }

        } else
        {
          if (!update_job(jobid, job_params))
          {
            result = "updating job '" + jobid + "' failed";
            SCDC_FAIL("do_cmd_put: " << result);
            return false;
          }
        }
      }

      p = jobid + " " + p;

      if (!select_job(p, true, true, jobid))
      {
        result = "selecting job '" + jobid + "' failed";
        SCDC_FAIL("do_cmd_put: " << result);
        return false;
      }

      SCDC_ASSERT(dataprov_jobrun()->is_job(jobid));

      bool ret = true;

      ret = ret && do_cmd_put_inout(p, input, output, result);

      ret = ret && dataprov_jobrun()->job_run(jobid, p, dataprov_jobrun()->local_res);

      undo_select_job();

      return ret;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2d0, %rsp            # imm = 0x2D0
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
callq 0x856c0
testb $0x1, %al
jne 0x823a6
movq -0x1d8(%rbp), %rdi
callq 0x856f0
movq %rax, %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
callq 0x7cf00
testb $0x1, %al
jne 0x8239d
jmp 0x823a6
movb $0x1, -0x1(%rbp)
jmp 0x82c15
movq -0x1d8(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x85940
movq -0x18(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0xc270
jmp 0x823c5
leaq -0xc0(%rbp), %rdi
callq 0x85970
jmp 0x823d3
movq -0x1d8(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0x50(%rbp), %rdx
leaq -0xc0(%rbp), %rcx
callq 0x859b0
jmp 0x823f0
leaq -0x50(%rbp), %rdi
callq 0xc460
cmpq $0x0, %rax
jbe 0x82789
movq -0x1d8(%rbp), %rdi
callq 0x856f0
movq %rax, %rdi
leaq -0x50(%rbp), %rsi
callq 0x7d680
movb %al, -0x1d9(%rbp)
jmp 0x82423
movb -0x1d9(%rbp), %al
testb $0x1, %al
jne 0x825f8
jmp 0x82433
movq -0x1d8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
leaq -0xc0(%rbp), %rdx
callq 0x860e0
movb %al, -0x1da(%rbp)
jmp 0x82452
movb -0x1da(%rbp), %al
testb $0x1, %al
jne 0x825f3
jmp 0x82462
leaq 0x26d08(%rip), %rsi     # 0xa9171
leaq -0x100(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x25900
jmp 0x8247b
leaq 0x25a8a(%rip), %rdx     # 0xa7f0c
leaq -0xe0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x2eef0
jmp 0x82497
movq -0x30(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0xc850
leaq -0xe0(%rbp), %rdi
callq 0xc3e0
leaq -0x100(%rbp), %rdi
callq 0xc3e0
leaq 0x521e2(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x825dc
leaq 0x521c9(%rip), %rax     # 0xd46a8
movq %rax, -0x1f0(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x1f0(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x23ca9(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x1e8(%rbp)
jmp 0x82515
movq -0x1e8(%rbp), %rdi
leaq 0x26c31(%rip), %rsi     # 0xa9154
callq 0xc670
movq %rax, -0x1f8(%rbp)
jmp 0x82531
movq -0x1f8(%rbp), %rdi
leaq 0x26c41(%rip), %rsi     # 0xa9180
callq 0xc670
movq %rax, -0x200(%rbp)
jmp 0x8254d
movq -0x200(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x208(%rbp)
jmp 0x82566
movq -0x208(%rbp), %rdi
movq 0x51a4c(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x8257b
leaq 0x52126(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x825dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x82c0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x82c01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x82bf5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0xc3e0
jmp 0x82bf5
jmp 0x825de
jmp 0x825e0
movb $0x0, -0x1(%rbp)
movl $0x1, -0x104(%rbp)
jmp 0x82bd5
jmp 0x82787
movq -0x1d8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
leaq -0xc0(%rbp), %rdx
callq 0x86170
movb %al, -0x209(%rbp)
jmp 0x82617
movb -0x209(%rbp), %al
testb $0x1, %al
jne 0x82785
jmp 0x82627
leaq 0x26b5f(%rip), %rsi     # 0xa918d
leaq -0x148(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x25900
jmp 0x82640
leaq 0x258c5(%rip), %rdx     # 0xa7f0c
leaq -0x128(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x2eef0
jmp 0x8265c
movq -0x30(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0xc850
leaq -0x128(%rbp), %rdi
callq 0xc3e0
leaq -0x148(%rbp), %rdi
callq 0xc3e0
leaq 0x5201d(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x8276e
leaq 0x52004(%rip), %rax     # 0xd46a8
movq %rax, -0x220(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x220(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x23ae4(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x218(%rbp)
jmp 0x826da
movq -0x218(%rbp), %rdi
leaq 0x26a6c(%rip), %rsi     # 0xa9154
callq 0xc670
movq %rax, -0x228(%rbp)
jmp 0x826f6
movq -0x228(%rbp), %rdi
leaq 0x26a7c(%rip), %rsi     # 0xa9180
callq 0xc670
movq %rax, -0x230(%rbp)
jmp 0x82712
movq -0x230(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x238(%rbp)
jmp 0x8272b
movq -0x238(%rbp), %rdi
movq 0x51887(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x82740
leaq 0x51f61(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x8276e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x148(%rbp), %rdi
callq 0xc3e0
jmp 0x82bf5
jmp 0x82770
jmp 0x82772
movb $0x0, -0x1(%rbp)
movl $0x1, -0x104(%rbp)
jmp 0x82bd5
jmp 0x82787
jmp 0x82789
leaq 0x26868(%rip), %rdx     # 0xa8ff8
leaq -0x188(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x31740
jmp 0x827a2
leaq -0x168(%rbp), %rdi
leaq -0x188(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0x34a30
jmp 0x827bb
leaq -0x70(%rbp), %rdi
movq %rdi, -0x248(%rbp)
leaq -0x168(%rbp), %rsi
movq %rsi, -0x250(%rbp)
callq 0xc850
movq -0x250(%rbp), %rdi
callq 0xc3e0
leaq -0x188(%rbp), %rdi
callq 0xc3e0
movq -0x1d8(%rbp), %rdi
movq -0x248(%rbp), %rsi
movl $0x1, %ecx
leaq -0x50(%rbp), %r8
movl %ecx, %edx
callq 0x85710
movb %al, -0x239(%rbp)
jmp 0x82817
movb -0x239(%rbp), %al
testb $0x1, %al
jne 0x829a2
jmp 0x82827
leaq 0x26916(%rip), %rsi     # 0xa9144
leaq -0x1c8(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x25900
jmp 0x82840
leaq 0x256c5(%rip), %rdx     # 0xa7f0c
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x2eef0
jmp 0x8285c
movq -0x30(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0xc850
leaq -0x1a8(%rbp), %rdi
callq 0xc3e0
leaq -0x1c8(%rbp), %rdi
callq 0xc3e0
leaq 0x51e1d(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x8298b
leaq 0x51e04(%rip), %rax     # 0xd46a8
movq %rax, -0x260(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x260(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x238e4(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x258(%rbp)
jmp 0x828da
movq -0x258(%rbp), %rdi
leaq 0x2686c(%rip), %rsi     # 0xa9154
callq 0xc670
movq %rax, -0x268(%rbp)
jmp 0x828f6
movq -0x268(%rbp), %rdi
leaq 0x2687c(%rip), %rsi     # 0xa9180
callq 0xc670
movq %rax, -0x270(%rbp)
jmp 0x82912
movq -0x270(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x278(%rbp)
jmp 0x8292b
movq -0x278(%rbp), %rdi
movq 0x51687(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x82940
leaq 0x51d61(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x8298b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x188(%rbp), %rdi
callq 0xc3e0
jmp 0x82bf5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0xc3e0
jmp 0x82bf5
jmp 0x8298d
jmp 0x8298f
movb $0x0, -0x1(%rbp)
movl $0x1, -0x104(%rbp)
jmp 0x82bd5
jmp 0x829a4
movq -0x1d8(%rbp), %rdi
callq 0x856f0
movq %rax, %rdi
leaq -0x50(%rbp), %rsi
callq 0x7d680
movb %al, -0x279(%rbp)
jmp 0x829c4
movb -0x279(%rbp), %al
testb $0x1, %al
jne 0x82ae0
jmp 0x829d4
jmp 0x829d6
leaq 0x51ccb(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e8e0
cmpq $0x0, %rax
je 0x82ada
leaq 0x51cb2(%rip), %rax     # 0xd46a8
movq %rax, -0x290(%rbp)
movq (%rax), %rdi
callq 0x2e900
movq -0x290(%rbp), %rax
movq (%rax), %rdi
callq 0x2e8e0
movq %rax, %rdi
leaq 0x23b4b(%rip), %rsi     # 0xa6569
callq 0xc670
movq %rax, -0x288(%rbp)
jmp 0x82a2c
movq -0x288(%rbp), %rdi
leaq 0x26762(%rip), %rsi     # 0xa919c
callq 0xc670
movq %rax, -0x298(%rbp)
jmp 0x82a48
movq -0x298(%rbp), %rdi
leaq 0x2390e(%rip), %rsi     # 0xa6364
callq 0xc670
movq %rax, -0x2a0(%rbp)
jmp 0x82a64
movq -0x2a0(%rbp), %rdi
movl $0x17b, %esi            # imm = 0x17B
callq 0xcb80
movq %rax, -0x2a8(%rbp)
jmp 0x82a7e
movq -0x2a8(%rbp), %rdi
leaq 0x2672c(%rip), %rsi     # 0xa91b8
callq 0xc670
movq %rax, -0x2b0(%rbp)
jmp 0x82a9a
movq -0x2b0(%rbp), %rdi
leaq 0x25464(%rip), %rsi     # 0xa7f0c
callq 0xc670
movq %rax, -0x2b8(%rbp)
jmp 0x82ab6
movq -0x2b8(%rbp), %rdi
movq 0x514fc(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x82acb
leaq 0x51bd6(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x2e920
jmp 0x82adc
jmp 0x82ade
jmp 0x82ae0
jmp 0x82ae2
jmp 0x82ae4
movb $0x1, -0x1c9(%rbp)
xorl %eax, %eax
testb $0x1, -0x1c9(%rbp)
movb %al, -0x2b9(%rbp)
je 0x82b32
movq -0x1d8(%rbp), %rdi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq (%rdi), %rax
movq 0x50(%rax), %rax
leaq -0x70(%rbp), %rsi
callq *%rax
movb %al, -0x2ba(%rbp)
jmp 0x82b24
movb -0x2ba(%rbp), %al
movb %al, -0x2b9(%rbp)
jmp 0x82b32
movb -0x2b9(%rbp), %al
andb $0x1, %al
movb %al, -0x1c9(%rbp)
xorl %eax, %eax
testb $0x1, -0x1c9(%rbp)
movb %al, -0x2bb(%rbp)
je 0x82ba4
movq -0x1d8(%rbp), %rdi
callq 0x856f0
movq -0x1d8(%rbp), %rdi
movq %rax, -0x2c8(%rbp)
callq 0x856f0
movq -0x2c8(%rbp), %rdi
movq %rax, %rcx
addq $0x110, %rcx            # imm = 0x110
leaq -0x50(%rbp), %rsi
leaq -0x70(%rbp), %rdx
callq 0x7dd20
movb %al, -0x2bc(%rbp)
jmp 0x82b96
movb -0x2bc(%rbp), %al
movb %al, -0x2bb(%rbp)
jmp 0x82ba4
movq -0x1d8(%rbp), %rdi
movb -0x2bb(%rbp), %al
andb $0x1, %al
movb %al, -0x1c9(%rbp)
callq 0x858d0
jmp 0x82bc0
movb -0x1c9(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x104(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x86060
leaq -0x70(%rbp), %rdi
callq 0xc3e0
leaq -0x50(%rbp), %rdi
callq 0xc3e0
jmp 0x82c15
leaq -0xc0(%rbp), %rdi
callq 0x86060
leaq -0x70(%rbp), %rdi
callq 0xc3e0
leaq -0x50(%rbp), %rdi
callq 0xc3e0
jmp 0x82c23
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x2d0, %rsp            # imm = 0x2D0
popq %rbp
retq
movq -0x78(%rbp), %rdi
callq 0xcba0
nopl (%rax)