// File: /workspace/github_cpp_makefile_star2_O1/trapexit[P]bbf/src/options.cpp
// Function: Options::instr_from_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Options::Instruction
Options::instr_from_string(const std::string str)
{
  if(str == "info")
    return Options::INFO;
  if(str == "captcha")
    return Options::CAPTCHA;
  if(str == "scan")
    return Options::SCAN;
  if(str == "fix")
    return Options::FIX;
  if(str == "fix-file")
    return Options::FIX_FILE;
  if(str == "burnin")
    return Options::BURNIN;
  if(str == "find-files")
    return Options::FIND_FILES;
  if(str == "dump-files")
    return Options::DUMP_FILES;
  if(str == "file-blocks")
    return Options::FILE_BLOCKS;
  if(str == "write-pseudo-uncorrectable-wl")
    return Options::WRITE_PSEUDO_UNCORRECTABLE_WL;
  if(str == "write-pseudo-uncorrectable-wol")
    return Options::WRITE_PSEUDO_UNCORRECTABLE_WOL;
  if(str == "write-flagged-uncorrectable-wl")
    return Options::WRITE_FLAGGED_UNCORRECTABLE_WL;
  if(str == "write-flagged-uncorrectable-wol")
    return Options::WRITE_FLAGGED_UNCORRECTABLE_WOL;
  if(str == "security-erase")
    return Options::SECURITY_ERASE;
  if(str == "enhanced-security-erase")
    return Options::ENHANCED_SECURITY_ERASE;
  if(str == "fsthrash")
    return Options::FSTHRASH;
  if(str == "filethrash")
    return Options::FILETHRASH;

  return Options::_INVALID;
}

// Assembly:
pushq %rbx
movq %rsi, %rbx
leaq 0x7402(%rip), %rsi      # 0x16c5d
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf9e0
leaq 0x73f0(%rip), %rsi      # 0x16c62
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf9e7
leaq 0x73e1(%rip), %rsi      # 0x16c6a
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf9ee
leaq 0x73cf(%rip), %rsi      # 0x16c6f
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf9f5
leaq 0x73bc(%rip), %rsi      # 0x16c73
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf9fc
leaq 0x687f(%rip), %rsi      # 0x1614d
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa03
leaq 0x7397(%rip), %rsi      # 0x16c7c
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa07
leaq 0x738b(%rip), %rsi      # 0x16c87
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa0e
leaq 0x737f(%rip), %rsi      # 0x16c92
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa15
leaq 0x7374(%rip), %rsi      # 0x16c9e
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa1c
leaq 0x737b(%rip), %rsi      # 0x16cbc
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa23
leaq 0x7383(%rip), %rsi      # 0x16cdb
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa2a
leaq 0x738b(%rip), %rsi      # 0x16cfa
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa31
leaq 0x739d(%rip), %rsi      # 0x16d23
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa38
leaq 0x737d(%rip), %rsi      # 0x16d1a
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa3f
leaq 0x737e(%rip), %rsi      # 0x16d32
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xfa46
leaq 0x7370(%rip), %rsi      # 0x16d3b
movq %rbx, %rdi
callq 0x4120
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
orl $0x8, %eax
jmp 0xfa4b
movl $0xa, %eax
jmp 0xfa4b
movl $0x1, %eax
jmp 0xfa4b
movl $0xb, %eax
jmp 0xfa4b
movl $0x6, %eax
jmp 0xfa4b
movl $0x7, %eax
jmp 0xfa4b
xorl %eax, %eax
jmp 0xfa4b
movl $0x5, %eax
jmp 0xfa4b
movl $0x2, %eax
jmp 0xfa4b
movl $0x4, %eax
jmp 0xfa4b
movl $0xf, %eax
jmp 0xfa4b
movl $0x10, %eax
jmp 0xfa4b
movl $0xd, %eax
jmp 0xfa4b
movl $0xe, %eax
jmp 0xfa4b
movl $0xc, %eax
jmp 0xfa4b
movl $0x3, %eax
jmp 0xfa4b
movl $0x9, %eax
popq %rbx
retq
nop