// File: dadocolussi[P]gdc-nanomap/unit_tests/catch.hpp
// Function: Catch::Clara::Parser::handleOpt(unsigned long, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::vector<Catch::Clara::Parser::Token, std::allocator<Catch::Clara::Parser::Token>>&)
Mode handleOpt( std::size_t i, char c, std::string const& arg, std::vector<Token>& tokens ) {
            if( std::string( ":=\0", 5 ).find( c ) == std::string::npos )
                return mode;

            std::string optName = arg.substr( from, i-from );
            if( mode == ShortOpt )
                for( std::size_t j = 0; j < optName.size(); ++j )
                    tokens.push_back( Token( Token::ShortOpt, optName.substr( j, 1 ) ) );
            else if( mode == SlashOpt && optName.size() == 1 )
                tokens.push_back( Token( Token::ShortOpt, optName ) );
            else
                tokens.push_back( Token( Token::LongOpt, optName ) );
            return None;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
movb %dl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movb %al, -0x19(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq -0x51(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0xc9a0
movq -0x130(%rbp), %rcx
leaq 0x26acf(%rip), %rsi     # 0x79438
leaq -0x50(%rbp), %rdi
movl $0x5, %edx
callq 0xc630
jmp 0x52979
leaq -0x50(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movsbl -0x19(%rbp), %esi
callq 0xc730
movq %rax, -0x140(%rbp)
leaq -0x50(%rbp), %rdi
callq 0xcac0
leaq -0x51(%rbp), %rdi
callq 0xc5f0
movq -0x140(%rbp), %rax
cmpq $-0x1, %rax
jne 0x529db
movq -0x138(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x52c24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x51(%rbp), %rdi
callq 0xc5f0
jmp 0x52c30
movq -0x138(%rbp), %rax
movq -0x28(%rbp), %rsi
movq 0x8(%rax), %rdx
movq -0x18(%rbp), %rcx
subq 0x8(%rax), %rcx
leaq -0x88(%rbp), %rdi
callq 0xc5b0
movq -0x138(%rbp), %rax
cmpl $0x3, (%rax)
jne 0x52b1d
movq $0x0, -0x90(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xc3e0
movq %rax, %rcx
movq -0x148(%rbp), %rax
cmpq %rcx, %rax
jae 0x52b18
movq -0x30(%rbp), %rax
movq %rax, -0x150(%rbp)
movq -0x90(%rbp), %rdx
leaq -0xd8(%rbp), %rdi
leaq -0x88(%rbp), %rsi
movl $0x1, %ecx
callq 0xc5b0
jmp 0x52a72
leaq -0xb8(%rbp), %rdi
movl $0x1, %esi
leaq -0xd8(%rbp), %rdx
callq 0x52e40
jmp 0x52a8c
movq -0x150(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x52e10
jmp 0x52aa1
leaq -0xb8(%rbp), %rdi
callq 0x50d10
leaq -0xd8(%rbp), %rdi
callq 0xcac0
movq -0x90(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x90(%rbp)
jmp 0x52a19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x52c16
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x52b07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x50d10
leaq -0xd8(%rbp), %rdi
callq 0xcac0
jmp 0x52c16
jmp 0x52c01
movq -0x138(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x52b9d
leaq -0x88(%rbp), %rdi
callq 0xc3e0
cmpq $0x1, %rax
jne 0x52b9d
movq -0x30(%rbp), %rax
movq %rax, -0x158(%rbp)
leaq -0x100(%rbp), %rdi
movl $0x1, %esi
leaq -0x88(%rbp), %rdx
callq 0x52e40
jmp 0x52b60
movq -0x158(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x52e10
jmp 0x52b75
leaq -0x100(%rbp), %rdi
callq 0x50d10
jmp 0x52bff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x50d10
jmp 0x52c16
movq -0x30(%rbp), %rax
movq %rax, -0x160(%rbp)
leaq -0x128(%rbp), %rdi
movl $0x2, %esi
leaq -0x88(%rbp), %rdx
callq 0x52e40
jmp 0x52bc2
movq -0x160(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x52e10
jmp 0x52bd7
leaq -0x128(%rbp), %rdi
callq 0x50d10
jmp 0x52bff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x50d10
jmp 0x52c16
jmp 0x52c01
movl $0x0, -0x4(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xcac0
jmp 0x52c24
leaq -0x88(%rbp), %rdi
callq 0xcac0
jmp 0x52c30
movl -0x4(%rbp), %eax
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xc990
nopl (%rax)