// File: /workspace/github_cpp_makefile_star2_O2/Chrom3D[P]Chrom3D/src/tclap-1.2.1/include/tclap/ValueArg.h
// Function: TCLAP::ValueArg<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>::processArg(int*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
bool ValueArg<T>::processArg(int *i, std::vector<std::string>& args)
{
    if ( _ignoreable && Arg::ignoreRest() )
		return false;

    if ( _hasBlanks( args[*i] ) )
		return false;

    std::string flag = args[*i];

    std::string value = "";
    trimFlag( flag, value );

    if ( argMatches( flag ) )
    {
        if ( _alreadySet )
		{
			if ( _xorSet )
				throw( CmdLineParseException(
				       "Mutually exclusive argument already set!", 
				                             toString()) );
			else
				throw( CmdLineParseException("Argument already set!", 
				                             toString()) );
		}

        if ( Arg::delimiter() != ' ' && value == "" )
			throw( ArgParseException( 
							"Couldn't find delimiter for this argument!",
                             toString() ) );

        if ( value == "" )
        {
            (*i)++;
            if ( static_cast<unsigned int>(*i) < args.size() ) 
				_extractValue( args[*i] );
            else
				throw( ArgParseException("Missing a value for this argument!",
                                                    toString() ) );
        }
        else
			_extractValue( value );
				
        _alreadySet = true;
        _checkWithVisitor();
        return true;
    }	
    else
		return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x90, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
cmpb $0x1, 0xa0(%rdi)
jne 0x1d83e
cmpb $0x0, 0x14b93(%rip)     # 0x323cf
jne 0x1d854
movslq (%r15), %rsi
shlq $0x5, %rsi
addq (%r14), %rsi
movq %rbx, %rdi
callq 0x1d440
testb %al, %al
je 0x1d85b
xorl %ebp, %ebp
jmp 0x1d956
movslq (%r15), %rsi
shlq $0x5, %rsi
addq (%r14), %rsi
leaq 0x70(%rsp), %rdi
callq 0x6430
leaq 0x5605(%rip), %rsi      # 0x22e7b
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0xcaa6
movq (%rbx), %rax
leaq 0x70(%rsp), %rsi
leaq 0x50(%rsp), %r12
movq %rbx, %rdi
movq %r12, %rdx
callq *0x50(%rax)
movq (%rbx), %rax
leaq 0x70(%rsp), %rsi
movq %rbx, %rdi
callq *0x30(%rax)
movl %eax, %ebp
testb %al, %al
je 0x1d942
cmpb $0x1, 0x91(%rbx)
je 0x1d968
cmpb $0x20, 0x14ac1(%rip)    # 0x32388
je 0x1d8e2
leaq 0x55ab(%rip), %rsi      # 0x22e7b
leaq 0x50(%rsp), %rdi
callq 0x13017
testb %al, %al
jne 0x1da2c
leaq 0x5592(%rip), %rsi      # 0x22e7b
movq %r12, %rdi
callq 0x13017
testb %al, %al
je 0x1d91e
movslq (%r15), %rax
incq %rax
movl %eax, (%r15)
movl %eax, %ecx
movq (%r14), %r12
movq 0x8(%r14), %rdx
subq %r12, %rdx
sarq $0x5, %rdx
cmpq %rcx, %rdx
jbe 0x1da8a
shlq $0x5, %rax
addq %rax, %r12
movq %rbx, %rdi
movq %r12, %rsi
callq 0x1db9e
movb $0x1, 0x91(%rbx)
movq 0x98(%rbx), %rdi
testq %rdi, %rdi
je 0x1d942
movq (%rdi), %rax
callq *0x10(%rax)
leaq 0x50(%rsp), %rdi
callq 0x66d0
leaq 0x70(%rsp), %rdi
callq 0x66d0
movl %ebp, %eax
addq $0x90, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movb 0xa1(%rbx), %bpl
pushq $0x68
popq %rdi
callq 0x61e0
movq %rax, %r14
cmpb $0x1, %bpl
jne 0x1d9d6
leaq 0x50d4(%rip), %rsi      # 0x22a5b
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xcaa6
movq (%rbx), %rax
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq *0x38(%rax)
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0x192f8
xorl %ebp, %ebp
leaq 0x13bf6(%rip), %rsi     # 0x315b8
leaq -0x49b(%rip), %rdx      # 0x1d52e
movq %r14, %rdi
callq 0x6580
jmp 0x1dae6
leaq 0x490b(%rip), %rsi      # 0x222e8
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xcaa6
movq (%rbx), %rax
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq *0x38(%rax)
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0x192f8
xorl %ebp, %ebp
leaq 0x13ba0(%rip), %rsi     # 0x315b8
leaq -0x4f1(%rip), %rdx      # 0x1d52e
movq %r14, %rdi
callq 0x6580
jmp 0x1dae6
pushq $0x68
popq %rdi
callq 0x61e0
movq %rax, %r14
leaq 0x52d2(%rip), %rsi      # 0x22d10
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xcaa6
movq (%rbx), %rax
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq *0x38(%rax)
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0x1d464
xorl %ebp, %ebp
leaq 0x13f27(%rip), %rsi     # 0x319a0
leaq -0x552(%rip), %rdx      # 0x1d52e
movq %r14, %rdi
callq 0x6580
jmp 0x1dae6
pushq $0x68
popq %rdi
callq 0x61e0
movq %rax, %r14
leaq 0x529f(%rip), %rsi      # 0x22d3b
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0xcaa6
movq (%rbx), %rax
leaq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq *0x38(%rax)
movb $0x1, %bpl
leaq 0x10(%rsp), %rsi
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0x1d464
xorl %ebp, %ebp
leaq 0x13ec9(%rip), %rsi     # 0x319a0
leaq -0x5b0(%rip), %rdx      # 0x1d52e
movq %r14, %rdi
callq 0x6580
jmp 0x1daf0
jmp 0x1db01
jmp 0x1daf0
jmp 0x1db01
jmp 0x1daf0
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x66d0
jmp 0x1db07
jmp 0x1db01
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0x66d0
testb %bpl, %bpl
jne 0x1db21
jmp 0x1db33
jmp 0x1db1e
jmp 0x1db1e
jmp 0x1db1e
movq %rax, %rbx
movq %r14, %rdi
callq 0x62b0
jmp 0x1db33
movq %rax, %rbx
jmp 0x1db3d
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x66d0
leaq 0x70(%rsp), %rdi
callq 0x66d0
movq %rbx, %rdi
callq 0x65d0
nop