// File: jakubsvehla[P]hex/src/config.cpp
// Function: Config::ParseOption(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void Config::ParseOption (string line)
{
  string tokens[TOKEN_NUM];
  bool   boolean;

  Tokenize(line, tokens);

  boolean = true;
  if (tokens[0].find("no") == 0) {
    boolean = false;
    tokens[0] = tokens[0].substr(2);
  }

  if (tokens[0].compare("ascii") == 0) {
    m_ShowASCII = boolean;
  }
  if (tokens[0].compare("number") == 0) {
    m_Number = boolean;
  }
  if (tokens[0].compare("group") == 0) {
    if (!boolean) ; // FIXME: raise an exception

    m_Group = atoi(tokens[1].c_str());
  }

  // ...

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rsi, -0xc8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0x50(%rbp), %rax
movq %rax, %rcx
addq $0x40, %rcx
movq %rcx, -0xb8(%rbp)
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x3450
movq -0xd0(%rbp), %rax
movq -0xb8(%rbp), %rcx
addq $0x20, %rax
cmpq %rcx, %rax
movq %rax, -0xb0(%rbp)
jne 0x73ee
movq -0xc8(%rbp), %rsi
leaq -0x78(%rbp), %rdi
callq 0x3170
jmp 0x7431
movq -0xc0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x7610
jmp 0x7447
leaq -0x78(%rbp), %rdi
callq 0x31c0
movb $0x1, -0x51(%rbp)
leaq -0x50(%rbp), %rdi
leaq 0xe63(%rip), %rsi       # 0x82c2
xorl %eax, %eax
movl %eax, %edx
callq 0x35b0
cmpq $0x0, %rax
jne 0x74df
movb $0x0, -0x51(%rbp)
leaq -0xa8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0x32e0
jmp 0x7490
leaq -0x50(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x3400
leaq -0xa8(%rbp), %rdi
callq 0x31c0
jmp 0x74df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x75b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x31c0
jmp 0x75b6
leaq -0x50(%rbp), %rdi
leaq 0xddb(%rip), %rsi       # 0x82c5
callq 0x30e0
cmpl $0x0, %eax
jne 0x7504
movq -0xc0(%rbp), %rax
movb -0x51(%rbp), %cl
andb $0x1, %cl
movb %cl, 0x1(%rax)
leaq -0x50(%rbp), %rdi
leaq 0xdbc(%rip), %rsi       # 0x82cb
callq 0x30e0
cmpl $0x0, %eax
jne 0x7528
movq -0xc0(%rbp), %rax
movb -0x51(%rbp), %cl
andb $0x1, %cl
movb %cl, (%rax)
leaq -0x50(%rbp), %rdi
leaq 0xd9f(%rip), %rsi       # 0x82d2
callq 0x30e0
cmpl $0x0, %eax
jne 0x7566
testb $0x1, -0x51(%rbp)
jne 0x7545
jmp 0x7545
leaq -0x50(%rbp), %rdi
addq $0x20, %rdi
callq 0x3160
movq %rax, %rdi
callq 0x34b0
movl %eax, %ecx
movq -0xc0(%rbp), %rax
movl %ecx, 0x4(%rax)
leaq -0x50(%rbp), %rax
movq %rax, -0xe0(%rbp)
addq $0x40, %rax
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0xe8(%rbp)
callq 0x31c0
movq -0xe0(%rbp), %rcx
movq -0xe8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd8(%rbp)
jne 0x757c
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
leaq -0x50(%rbp), %rax
movq %rax, -0xf8(%rbp)
addq $0x40, %rax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x100(%rbp)
callq 0x31c0
movq -0xf8(%rbp), %rcx
movq -0x100(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xf0(%rbp)
jne 0x75cc
jmp 0x75ff
movq -0x80(%rbp), %rdi
callq 0x3540
nopl (%rax,%rax)