// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_register.cc
// Function: scdc_dataprov_register::dataset_cmds_do_cmd(scdc_dataset*, char const*, 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_register::dataset_cmds_do_cmd(scdc_dataset *dataset, const char *cmd, const char *params, scdc_dataset_input_t *input, scdc_dataset_output_t *output, scdc_result &result)
{
  SCDC_TRACE("dataset_cmds_do_cmd: cmd: '" << cmd << "', params: '" << params << "'");

  string c(cmd), p(params), r;
  bool ret;

  if (c == "put")
  {
    ret = reg_put(p);

    if (ret) reg_update(p);

  } else if (c == "get")
  {
    ret = reg_get(p);

  } else if (c == "info")
  {
    ret = reg_info(p, r);

  } else if (c == "rm")
  {
    ret = reg_rm(p);

  } else if (c == "ls")
  {
    ret = reg_ls(p, r);

  } else 
  {
    return scdc_dataprov::dataset_cmds_do_cmd(dataset, cmd, params, input, output, result);
  }

  result = r;

  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movq 0x10(%rbp), %rax
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x118(%rbp)
jmp 0x30614
movq -0x20(%rbp), %rax
movq %rax, -0x128(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0xcbc0
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x27820
jmp 0x30648
leaq -0x59(%rbp), %rdi
callq 0xc730
movq -0x28(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq -0x91(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0xcbc0
movq -0x138(%rbp), %rsi
movq -0x130(%rbp), %rdx
leaq -0x90(%rbp), %rdi
callq 0x27820
jmp 0x3068b
leaq -0x91(%rbp), %rdi
callq 0xc730
leaq -0xb8(%rbp), %rdi
callq 0xc960
leaq 0x764a9(%rip), %rsi     # 0xa6b53
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0x139(%rbp)
jmp 0x306bb
movb -0x139(%rbp), %al
testb $0x1, %al
jne 0x306ca
jmp 0x30760
movq -0x118(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x30aa0
movb %al, -0x13a(%rbp)
jmp 0x306e5
movb -0x13a(%rbp), %al
andb $0x1, %al
movb %al, -0xb9(%rbp)
testb $0x1, -0xb9(%rbp)
je 0x3075b
movq -0x118(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x30c90
jmp 0x30711
jmp 0x3075b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x59(%rbp), %rdi
callq 0xc730
jmp 0x30a93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x91(%rbp), %rdi
callq 0xc730
jmp 0x30a8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x30a72
jmp 0x30a1c
leaq 0x76464(%rip), %rsi     # 0xa6bcb
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0x13b(%rbp)
jmp 0x30778
movb -0x13b(%rbp), %al
testb $0x1, %al
jne 0x30784
jmp 0x307b2
movq -0x118(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x30f40
movb %al, -0x13c(%rbp)
jmp 0x3079f
movb -0x13c(%rbp), %al
andb $0x1, %al
movb %al, -0xb9(%rbp)
jmp 0x30a1a
leaq 0x760ba(%rip), %rsi     # 0xa6873
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0x13d(%rbp)
jmp 0x307ca
movb -0x13d(%rbp), %al
testb $0x1, %al
jne 0x307d6
jmp 0x3080b
movq -0x118(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
callq 0x30fa0
movb %al, -0x13e(%rbp)
jmp 0x307f8
movb -0x13e(%rbp), %al
andb $0x1, %al
movb %al, -0xb9(%rbp)
jmp 0x30a18
leaq 0x77d1d(%rip), %rsi     # 0xa852f
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0x13f(%rbp)
jmp 0x30823
movb -0x13f(%rbp), %al
testb $0x1, %al
jne 0x3082f
jmp 0x3085d
movq -0x118(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x311b0
movb %al, -0x140(%rbp)
jmp 0x3084a
movb -0x140(%rbp), %al
andb $0x1, %al
movb %al, -0xb9(%rbp)
jmp 0x30a16
leaq 0x762cc(%rip), %rsi     # 0xa6b30
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0x141(%rbp)
jmp 0x30875
movb -0x141(%rbp), %al
testb $0x1, %al
jne 0x30881
jmp 0x308b6
movq -0x118(%rbp), %rdi
leaq -0x90(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
callq 0x312a0
movb %al, -0x142(%rbp)
jmp 0x308a3
movb -0x142(%rbp), %al
andb $0x1, %al
movb %al, -0xb9(%rbp)
jmp 0x30a14
movq -0x18(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x158(%rbp)
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x150(%rbp)
callq 0xcbc0
movq -0x158(%rbp), %rsi
movq -0x150(%rbp), %rdx
leaq -0xe0(%rbp), %rdi
callq 0x27820
jmp 0x308fb
movq -0x28(%rbp), %rax
movq %rax, -0x170(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0xcbc0
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
leaq -0x108(%rbp), %rdi
callq 0x27820
jmp 0x30935
movq -0x160(%rbp), %rsi
movq -0x118(%rbp), %rdi
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
movq 0x10(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0xe0(%rbp), %rdx
leaq -0x108(%rbp), %rcx
callq 0x5fc30
movb %al, -0x171(%rbp)
jmp 0x30970
movb -0x171(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x108(%rbp), %rdi
callq 0xc3e0
leaq -0x109(%rbp), %rdi
callq 0xc730
leaq -0xe0(%rbp), %rdi
callq 0xc3e0
leaq -0xe1(%rbp), %rdi
callq 0xc730
movl $0x1, -0x110(%rbp)
jmp 0x30a43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x30a06
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x309ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0xc3e0
leaq -0x109(%rbp), %rdi
callq 0xc730
leaq -0xe0(%rbp), %rdi
callq 0xc3e0
leaq -0xe1(%rbp), %rdi
callq 0xc730
jmp 0x30a72
jmp 0x30a16
jmp 0x30a18
jmp 0x30a1a
jmp 0x30a1c
movq 0x10(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0xc070
jmp 0x30a2e
movb -0xb9(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x110(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0xc3e0
leaq -0x90(%rbp), %rdi
callq 0xc3e0
leaq -0x58(%rbp), %rdi
callq 0xc3e0
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
leaq -0xb8(%rbp), %rdi
callq 0xc3e0
leaq -0x90(%rbp), %rdi
callq 0xc3e0
leaq -0x58(%rbp), %rdi
callq 0xc3e0
movq -0x68(%rbp), %rdi
callq 0xcba0
nopl (%rax)