// File: /workspace/github_cpp_makefile_star2_O3/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 0x74ec(%rip), %rsi      # 0x16c5d
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf8f6
leaq 0x74da(%rip), %rsi      # 0x16c62
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf8fd
leaq 0x74cb(%rip), %rsi      # 0x16c6a
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf904
leaq 0x74b9(%rip), %rsi      # 0x16c6f
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf90b
leaq 0x74a6(%rip), %rsi      # 0x16c73
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf912
leaq 0x6969(%rip), %rsi      # 0x1614d
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf919
leaq 0x7481(%rip), %rsi      # 0x16c7c
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf91d
leaq 0x7475(%rip), %rsi      # 0x16c87
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf924
leaq 0x7469(%rip), %rsi      # 0x16c92
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf92b
leaq 0x745e(%rip), %rsi      # 0x16c9e
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf932
leaq 0x7465(%rip), %rsi      # 0x16cbc
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf939
leaq 0x746d(%rip), %rsi      # 0x16cdb
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf940
leaq 0x7475(%rip), %rsi      # 0x16cfa
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf947
leaq 0x7487(%rip), %rsi      # 0x16d23
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf94e
leaq 0x7467(%rip), %rsi      # 0x16d1a
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf955
leaq 0x7468(%rip), %rsi      # 0x16d32
movq %rbx, %rdi
callq 0x4120
testl %eax, %eax
je 0xf95c
leaq 0x745a(%rip), %rsi      # 0x16d3b
movq %rbx, %rdi
callq 0x4120
movl %eax, %ecx
xorl %eax, %eax
negl %ecx
sbbl %eax, %eax
orl $0x8, %eax
jmp 0xf961
movl $0xa, %eax
jmp 0xf961
movl $0x1, %eax
jmp 0xf961
movl $0xb, %eax
jmp 0xf961
movl $0x6, %eax
jmp 0xf961
movl $0x7, %eax
jmp 0xf961
xorl %eax, %eax
jmp 0xf961
movl $0x5, %eax
jmp 0xf961
movl $0x2, %eax
jmp 0xf961
movl $0x4, %eax
jmp 0xf961
movl $0xf, %eax
jmp 0xf961
movl $0x10, %eax
jmp 0xf961
movl $0xd, %eax
jmp 0xf961
movl $0xe, %eax
jmp 0xf961
movl $0xc, %eax
jmp 0xf961
movl $0x3, %eax
jmp 0xf961
movl $0x9, %eax
popq %rbx
retq
nop