// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_bench.cc
// Function: scdc_dataset_bench::do_cmd_cd(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_cd(const string &params, scdc_dataset_input_t *input, scdc_dataset_output_t *output, scdc_result &result)
    {
      SCDC_TRACE("dataset_bench: do_cmd_cd: '" << params << "'");

      stringlist pl('/', params);

      string p;
      
      while (pl.front_pop(p))
      {
        if (p == "binary") format = "binary";
        else if (p == "ascii") format = "ascii";
        else if (p == "zero") content = "zero";
        else if (p == "random") content = "random";
        else if (p == "memory") mode = "memory";
        else if (p == "file") mode = "file";
        else
        {
          result = "invalid path";
          SCDC_FAIL(__func__ << ": changing to path '" << p << "' failed: " << result);
          return false;
        }
      }

      return scdc_dataset::do_cmd_cd((format + "/" + content + "/" + mode).c_str(), input, output, result);
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
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, -0x160(%rbp)
jmp 0x64fdc
movq -0x18(%rbp), %rsi
leaq -0x78(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0xc270
movq -0x168(%rbp), %rdx
leaq -0x58(%rbp), %rdi
movl $0x2f, %esi
callq 0x5ff80
jmp 0x65007
leaq -0x78(%rbp), %rdi
callq 0xc3e0
leaq -0xa8(%rbp), %rdi
callq 0xc960
leaq -0x58(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x26730
movb %al, -0x169(%rbp)
jmp 0x65034
movb -0x169(%rbp), %al
testb $0x1, %al
jne 0x65043
jmp 0x65317
leaq -0xa8(%rbp), %rdi
leaq 0x42fcf(%rip), %rsi     # 0xa8020
callq 0x25b80
testb $0x1, %al
jne 0x6505c
jmp 0x650ab
movq -0x160(%rbp), %rdi
addq $0x38, %rdi
leaq 0x42fb2(%rip), %rsi     # 0xa8020
callq 0xc920
jmp 0x65075
jmp 0x65312
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xc3e0
jmp 0x65533
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x6551e
leaq -0xa8(%rbp), %rdi
leaq 0x42f61(%rip), %rsi     # 0xa801a
callq 0x25b80
testb $0x1, %al
jne 0x650c4
jmp 0x650e2
movq -0x160(%rbp), %rdi
addq $0x38, %rdi
leaq 0x42f44(%rip), %rsi     # 0xa801a
callq 0xc920
jmp 0x650dd
jmp 0x65310
leaq -0xa8(%rbp), %rdi
leaq 0x42f18(%rip), %rsi     # 0xa8008
callq 0x25b80
testb $0x1, %al
jne 0x650fb
jmp 0x65119
movq -0x160(%rbp), %rdi
addq $0x58, %rdi
leaq 0x42efb(%rip), %rsi     # 0xa8008
callq 0xc920
jmp 0x65114
jmp 0x6530e
leaq -0xa8(%rbp), %rdi
leaq 0x42eec(%rip), %rsi     # 0xa8013
callq 0x25b80
testb $0x1, %al
jne 0x65132
jmp 0x65150
movq -0x160(%rbp), %rdi
addq $0x58, %rdi
leaq 0x42ecf(%rip), %rsi     # 0xa8013
callq 0xc920
jmp 0x6514b
jmp 0x6530c
leaq -0xa8(%rbp), %rdi
leaq 0x42ec9(%rip), %rsi     # 0xa8027
callq 0x25b80
testb $0x1, %al
jne 0x65169
jmp 0x65187
movq -0x160(%rbp), %rdi
addq $0x78, %rdi
leaq 0x42eac(%rip), %rsi     # 0xa8027
callq 0xc920
jmp 0x65182
jmp 0x6530a
leaq -0xa8(%rbp), %rdi
leaq 0x424a6(%rip), %rsi     # 0xa763b
callq 0x25b80
testb $0x1, %al
jne 0x651a0
jmp 0x651be
movq -0x160(%rbp), %rdi
addq $0x78, %rdi
leaq 0x42489(%rip), %rsi     # 0xa763b
callq 0xc920
jmp 0x651b9
jmp 0x65308
movq -0x30(%rbp), %rdi
leaq 0x42e65(%rip), %rsi     # 0xa802e
callq 0xc920
jmp 0x651d0
jmp 0x651d2
leaq 0x6f4cf(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x652f1
leaq 0x6f4b6(%rip), %rax     # 0xd46a8
movq %rax, -0x180(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x180(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x40f96(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x178(%rbp)
jmp 0x65228
movq -0x178(%rbp), %rdi
leaq 0x42d8a(%rip), %rsi     # 0xa7fc0
callq 0xc670
movq %rax, -0x188(%rbp)
jmp 0x65244
movq -0x188(%rbp), %rdi
leaq 0x41a52(%rip), %rsi     # 0xa6ca4
callq 0xc670
movq %rax, -0x190(%rbp)
jmp 0x65260
movq -0x190(%rbp), %rdi
leaq 0x42dcd(%rip), %rsi     # 0xa803b
callq 0xc670
movq %rax, -0x198(%rbp)
jmp 0x6527c
movq -0x198(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x1a0(%rbp)
jmp 0x65298
movq -0x1a0(%rbp), %rdi
leaq 0x41722(%rip), %rsi     # 0xa69c8
callq 0xc670
movq %rax, -0x1a8(%rbp)
jmp 0x652b4
movq -0x1a8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x1b0(%rbp)
jmp 0x652cd
movq -0x1b0(%rbp), %rdi
movq 0x6ece5(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x652e2
leaq 0x6f3bf(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x652f3
jmp 0x652f5
movb $0x0, -0x1(%rbp)
movl $0x1, -0xac(%rbp)
jmp 0x654fb
jmp 0x6530a
jmp 0x6530c
jmp 0x6530e
jmp 0x65310
jmp 0x65312
jmp 0x6501c
movq -0x160(%rbp), %rsi
addq $0x38, %rsi
leaq 0x41044(%rip), %rdx     # 0xa636d
leaq -0x150(%rbp), %rdi
callq 0x31740
jmp 0x65337
movq -0x160(%rbp), %rdx
addq $0x58, %rdx
leaq -0x130(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x34a30
jmp 0x65357
leaq 0x4100f(%rip), %rdx     # 0xa636d
leaq -0x110(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x2eef0
jmp 0x65373
movq -0x160(%rbp), %rdx
addq $0x78, %rdx
leaq -0xf0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x34a30
jmp 0x65393
leaq -0xf0(%rbp), %rdi
callq 0xc260
movq %rax, -0x1c0(%rbp)
leaq -0x151(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0xcbc0
movq -0x1c0(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
leaq -0xd0(%rbp), %rdi
callq 0x27820
jmp 0x653d5
movq -0x160(%rbp), %rdi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
leaq -0xd0(%rbp), %rsi
callq 0x42870
movb %al, -0x1c1(%rbp)
jmp 0x653fc
movb -0x1c1(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0xc3e0
leaq -0x151(%rbp), %rdi
callq 0xc730
leaq -0xf0(%rbp), %rdi
callq 0xc3e0
leaq -0x110(%rbp), %rdi
callq 0xc3e0
leaq -0x130(%rbp), %rdi
callq 0xc3e0
leaq -0x150(%rbp), %rdi
callq 0xc3e0
movl $0x1, -0xac(%rbp)
jmp 0x654fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x654ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x654e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x654d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x654bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0xc3e0
leaq -0x151(%rbp), %rdi
callq 0xc730
leaq -0xf0(%rbp), %rdi
callq 0xc3e0
leaq -0x110(%rbp), %rdi
callq 0xc3e0
leaq -0x130(%rbp), %rdi
callq 0xc3e0
leaq -0x150(%rbp), %rdi
callq 0xc3e0
jmp 0x6551e
leaq -0xa8(%rbp), %rdi
callq 0xc3e0
leaq -0x58(%rbp), %rdi
callq 0x25c90
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
leaq -0xa8(%rbp), %rdi
callq 0xc3e0
leaq -0x58(%rbp), %rdi
callq 0x25c90
movq -0x80(%rbp), %rdi
callq 0xcba0
nopl (%rax)