// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_fs2.cc
// Function: scdc_dataprov_fs2::config_do_cmd_param(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>>, scdc_config_result&, bool&)
bool scdc_dataprov_fs2::config_do_cmd_param(const std::string &cmd, const std::string &param, std::string val, scdc_config_result &result, bool &done)
{
  SCDC_TRACE("config_do_cmd_param: cmd: '" << cmd << "', param: '" << param << "', val: '" << val << "', result: '" << result << "'");

  done = true;
  bool ret = true;

  if (param == "")
  {
    ret = scdc_dataprov::config_do_cmd_param(cmd, param, val, result, done);
    if (!ret) goto do_quit;

    done = true;

    if (cmd == "info")
    {
      ret = scdc_dataprov_config::info(result, "free/used");

    } else if (cmd == "ls")
    {
      ret = scdc_dataprov_config::ls(result, "root");

    } else done = false;

  } else
  {
    ret = scdc_dataprov::config_do_cmd_param(cmd, param, val, result, done);
    if (!ret) goto do_quit;

    if (done);
    else if (cmd == "info")
    {
      done = true;

      if (param == "root") ret = scdc_dataprov_config::info(result, param, "root directory within the local file system (string)");
      else done = false;

    } else if (cmd == "get")
    {
      done = true;

      if (param == "root") ret = scdc_dataprov_config::get<string>(result, "root", root);
      else done = false;

    } else done = false;
  }

do_quit:
  if (done && !ret)
  {
    SCDC_FAIL("config_do_cmd_param: cmd '" << cmd << "' failed");
    return false;
  }

  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rcx, -0xa0(%rbp)
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, -0x98(%rbp)
jmp 0x71147
movq -0x38(%rbp), %rax
movb $0x1, (%rax)
movb $0x1, -0x39(%rbp)
movq -0x20(%rbp), %rdi
leaq 0x35447(%rip), %rsi     # 0xa65a4
callq 0x25b80
testb $0x1, %al
jne 0x7116b
jmp 0x71271
movq -0xa0(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0x60(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0xc270
movq -0x98(%rbp), %rdi
movq -0xc0(%rbp), %rsi
movq -0xb8(%rbp), %rdx
movq -0xb0(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
callq 0x5f860
movb %al, -0xa1(%rbp)
jmp 0x711c9
movb -0xa1(%rbp), %al
andb $0x1, %al
movb %al, -0x39(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xc3e0
testb $0x1, -0x39(%rbp)
jne 0x71202
jmp 0x713e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xc3e0
jmp 0x714b7
movq -0x38(%rbp), %rax
movb $0x1, (%rax)
movq -0x18(%rbp), %rdi
leaq 0x3565f(%rip), %rsi     # 0xa6873
callq 0x25b80
testb $0x1, %al
jne 0x7121f
jmp 0x71236
movq -0x30(%rbp), %rdi
leaq 0x37103(%rip), %rsi     # 0xa832d
callq 0x278f0
andb $0x1, %al
movb %al, -0x39(%rbp)
jmp 0x7126c
movq -0x18(%rbp), %rdi
leaq 0x358ef(%rip), %rsi     # 0xa6b30
callq 0x25b80
testb $0x1, %al
jne 0x7124c
jmp 0x71263
movq -0x30(%rbp), %rdi
leaq 0x370e0(%rip), %rsi     # 0xa8337
callq 0x27920
andb $0x1, %al
movb %al, -0x39(%rbp)
jmp 0x7126a
movq -0x38(%rbp), %rax
movb $0x0, (%rax)
jmp 0x7126c
jmp 0x713e1
movq -0xa0(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0x90(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0xc270
movq -0x98(%rbp), %rdi
movq -0xe0(%rbp), %rsi
movq -0xd8(%rbp), %rdx
movq -0xd0(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
callq 0x5f860
movb %al, -0xc1(%rbp)
jmp 0x712d2
movb -0xc1(%rbp), %al
andb $0x1, %al
movb %al, -0x39(%rbp)
leaq -0x90(%rbp), %rdi
callq 0xc3e0
testb $0x1, -0x39(%rbp)
jne 0x71311
jmp 0x713e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0xc3e0
jmp 0x714b7
movq -0x38(%rbp), %rax
testb $0x1, (%rax)
je 0x7131f
jmp 0x713df
movq -0x18(%rbp), %rdi
leaq 0x35549(%rip), %rsi     # 0xa6873
callq 0x25b80
testb $0x1, %al
jne 0x71335
jmp 0x71376
movq -0x38(%rbp), %rax
movb $0x1, (%rax)
movq -0x20(%rbp), %rdi
leaq 0x36ff0(%rip), %rsi     # 0xa8337
callq 0x25b80
testb $0x1, %al
jne 0x71352
jmp 0x7136d
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq 0x36fdb(%rip), %rdx     # 0xa833c
callq 0x27950
andb $0x1, %al
movb %al, -0x39(%rbp)
jmp 0x71374
movq -0x38(%rbp), %rax
movb $0x0, (%rax)
jmp 0x713dd
movq -0x18(%rbp), %rdi
leaq 0x3584a(%rip), %rsi     # 0xa6bcb
callq 0x25b80
testb $0x1, %al
jne 0x7138c
jmp 0x713d4
movq -0x38(%rbp), %rax
movb $0x1, (%rax)
movq -0x20(%rbp), %rdi
leaq 0x36f99(%rip), %rsi     # 0xa8337
callq 0x25b80
testb $0x1, %al
jne 0x713a9
jmp 0x713cb
movq -0x98(%rbp), %rdx
movq -0x30(%rbp), %rdi
addq $0x68, %rdx
leaq 0x36f78(%rip), %rsi     # 0xa8337
callq 0x34c80
andb $0x1, %al
movb %al, -0x39(%rbp)
jmp 0x713d2
movq -0x38(%rbp), %rax
movb $0x0, (%rax)
jmp 0x713db
movq -0x38(%rbp), %rax
movb $0x0, (%rax)
jmp 0x713dd
jmp 0x713df
jmp 0x713e1
jmp 0x713e3
movq -0x38(%rbp), %rax
testb $0x1, (%rax)
je 0x714a1
testb $0x1, -0x39(%rbp)
jne 0x714a1
jmp 0x713fc
leaq 0x632a5(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x71499
leaq 0x6328c(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
leaq 0x6327d(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x34d73(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, %rdi
leaq 0x36e84(%rip), %rsi     # 0xa82d0
callq 0xc670
movq %rax, %rdi
leaq 0x354e3(%rip), %rsi     # 0xa693e
callq 0xc670
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0xc5b0
movq %rax, %rdi
leaq 0x36a96(%rip), %rsi     # 0xa7f0c
callq 0xc670
movq %rax, %rdi
movq 0x62b3b(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x63217(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x7149b
movb $0x0, -0x1(%rbp)
jmp 0x714a9
movb -0x39(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xe0, %rsp
popq %rbp
retq
movq -0x68(%rbp), %rdi
callq 0xcba0