// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_jobrun.cc
// Function: scdc_dataprov_jobrun_handler::job_do_cmd(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, 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 scdc_dataprov_jobrun_handler::job_do_cmd(const std::string &jobid, const std::string &cmd, const std::string &params, scdc_dataset_input_t *input, scdc_dataset_output_t *output, scdc_result &result)
{
  bool ret = true;

  if (handler_args.handler)
  {
    scdc_result_t res = SCDC_RESULT_INIT_EMPTY;

    if (handler_args.handler(handler_args.data, jobid.c_str(), cmd.c_str(), params.c_str(), input, output, &res) != SCDC_SUCCESS)
    {
      result = string("jobrun handler failed: ") + SCDC_RESULT_STR(&res);
      SCDC_FAIL("job_do_cmd: " << result);
      ret = false;
    }
  }

  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2d0, %rsp            # imm = 0x2D0
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movb $0x1, -0x31(%rbp)
cmpq $0x0, 0x270(%rax)
je 0x81a73
leaq -0x240(%rbp), %rdi
xorl %esi, %esi
movl $0x208, %edx            # imm = 0x208
callq 0xc350
movq -0x2a0(%rbp), %rax
movq $0x200, -0x240(%rbp) # imm = 0x200
movq 0x270(%rax), %rcx
movq %rcx, -0x2a8(%rbp)
movq 0x278(%rax), %rax
movq %rax, -0x2c0(%rbp)
movq -0x10(%rbp), %rdi
callq 0xc260
movq %rax, -0x2b8(%rbp)
movq -0x18(%rbp), %rdi
callq 0xc260
movq %rax, -0x2b0(%rbp)
movq -0x20(%rbp), %rdi
callq 0xc260
movq -0x2c0(%rbp), %rdi
movq -0x2b8(%rbp), %rsi
movq -0x2b0(%rbp), %rdx
movq %rax, %rcx
movq -0x2a8(%rbp), %rax
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
leaq -0x240(%rbp), %r10
movq %r10, (%rsp)
callq *%rax
cmpq $0x1, %rax
je 0x81a71
leaq -0x281(%rbp), %rdi
movq %rdi, -0x2c8(%rbp)
callq 0xcbc0
movq -0x2c8(%rbp), %rdx
leaq 0x277e2(%rip), %rsi     # 0xa911f
leaq -0x280(%rbp), %rdi
callq 0x27820
jmp 0x8194b
leaq -0x238(%rbp), %rdx
leaq -0x260(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0x2eef0
jmp 0x81967
movq 0x10(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0xc850
leaq -0x260(%rbp), %rdi
callq 0xc3e0
leaq -0x280(%rbp), %rdi
callq 0xc3e0
leaq -0x281(%rbp), %rdi
callq 0xc730
leaq 0x52d06(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x81a6b
leaq 0x52ced(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
leaq 0x52cde(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x247d4(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, %rdi
leaq 0x276e3(%rip), %rsi     # 0xa90ce
callq 0xc670
movq %rax, %rdi
leaq 0x2773d(%rip), %rsi     # 0xa9137
callq 0xc670
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0xc5b0
movq %rax, %rdi
movq 0x525ab(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x52c87(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x81a6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x290(%rbp)
movl %eax, -0x294(%rbp)
jmp 0x81a5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x290(%rbp)
movl %eax, -0x294(%rbp)
leaq -0x280(%rbp), %rdi
callq 0xc3e0
leaq -0x281(%rbp), %rdi
callq 0xc730
jmp 0x81a81
jmp 0x81a6d
movb $0x0, -0x31(%rbp)
jmp 0x81a73
movb -0x31(%rbp), %al
andb $0x1, %al
addq $0x2d0, %rsp            # imm = 0x2D0
popq %rbp
retq
movq -0x290(%rbp), %rdi
callq 0xcba0
nopl (%rax)