// File: statgen[P]statgen/lib/tclap-1.2.0/examples/test4.cpp
// Function: parseOptions(int, char**)
void parseOptions(int argc, char** argv)
{
	try {

	CmdLine cmd("this is a message", ' ', "0.99" );

	// set the output
	MyOutput my;
	//ZshCompletionOutput my;
	//DocBookOutput my;
	cmd.setOutput(&my);

	//
	// Define arguments
	//

	SwitchArg btest("B","sB", "exist Test B", false);
	SwitchArg atest("A","sA", "exist Test A", false);

	ValueArg<string> stest("s", "Bs", "string test", true, "homer",
					       "string");
	cmd.add( stest );
	cmd.add( btest );
	cmd.add( atest );

	//
	// Parse the command line.
	//
	cmd.parse(argc,argv);


	//
	// Set variables
	//
	_stringTest = stest.getValue();
	_boolTestB = btest.getValue();
	_boolTestA = atest.getValue();


	} catch ( ArgException& e )
	{ cout << "ERROR: " << e.error() << " " << e.argId() << endl; }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x670, %rsp            # imm = 0x670
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x111(%rbp), %rdi
movq %rdi, -0x5c0(%rbp)
callq 0x54f0
movq -0x5c0(%rbp), %rdx
leaq 0x13421(%rip), %rsi     # 0x19344
leaq -0x110(%rbp), %rdi
callq 0x6ee0
jmp 0x5f31
leaq -0x149(%rbp), %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x54f0
movq -0x5c8(%rbp), %rdx
leaq 0x13404(%rip), %rsi     # 0x19356
leaq -0x148(%rbp), %rdi
callq 0x6ee0
jmp 0x5f60
leaq -0xf0(%rbp), %rdi
leaq -0x110(%rbp), %rsi
movl $0x20, %edx
leaq -0x148(%rbp), %rcx
movl $0x1, %r8d
callq 0xbb50
jmp 0x5f87
leaq -0x148(%rbp), %rdi
callq 0x55c8
leaq -0x149(%rbp), %rdi
callq 0x5300
leaq -0x110(%rbp), %rdi
callq 0x55c8
leaq -0x111(%rbp), %rdi
callq 0x5300
leaq -0x158(%rbp), %rdi
movq %rdi, -0x5d0(%rbp)
callq 0xbd20
movq -0x5d0(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0xbd60
jmp 0x5fdf
leaq -0x221(%rbp), %rdi
movq %rdi, -0x5d8(%rbp)
callq 0x54f0
movq -0x5d8(%rbp), %rdx
leaq 0x13369(%rip), %rsi     # 0x19369
leaq -0x220(%rbp), %rdi
callq 0x6ee0
jmp 0x600e
leaq -0x249(%rbp), %rdi
movq %rdi, -0x5e0(%rbp)
callq 0x54f0
movq -0x5e0(%rbp), %rdx
leaq 0x1332c(%rip), %rsi     # 0x1935b
leaq -0x248(%rbp), %rdi
callq 0x6ee0
jmp 0x603d
leaq -0x271(%rbp), %rdi
movq %rdi, -0x5e8(%rbp)
callq 0x54f0
movq -0x5e8(%rbp), %rdx
leaq 0x13300(%rip), %rsi     # 0x1935e
leaq -0x270(%rbp), %rdi
callq 0x6ee0
jmp 0x606c
xorl %r8d, %r8d
movl %r8d, %r9d
leaq -0x200(%rbp), %rdi
leaq -0x220(%rbp), %rsi
leaq -0x248(%rbp), %rdx
leaq -0x270(%rbp), %rcx
callq 0xbd90
jmp 0x6095
leaq -0x270(%rbp), %rdi
callq 0x55c8
leaq -0x271(%rbp), %rdi
callq 0x5300
leaq -0x248(%rbp), %rdi
callq 0x55c8
leaq -0x249(%rbp), %rdi
callq 0x5300
leaq -0x220(%rbp), %rdi
callq 0x55c8
leaq -0x221(%rbp), %rdi
callq 0x5300
leaq -0x341(%rbp), %rdi
movq %rdi, -0x5f0(%rbp)
callq 0x54f0
movq -0x5f0(%rbp), %rdx
leaq 0x1327b(%rip), %rsi     # 0x19379
leaq -0x340(%rbp), %rdi
callq 0x6ee0
jmp 0x610c
leaq -0x369(%rbp), %rdi
movq %rdi, -0x5f8(%rbp)
callq 0x54f0
movq -0x5f8(%rbp), %rdx
leaq 0x1323e(%rip), %rsi     # 0x1936b
leaq -0x368(%rbp), %rdi
callq 0x6ee0
jmp 0x613b
leaq -0x391(%rbp), %rdi
movq %rdi, -0x600(%rbp)
callq 0x54f0
movq -0x600(%rbp), %rdx
leaq 0x13212(%rip), %rsi     # 0x1936e
leaq -0x390(%rbp), %rdi
callq 0x6ee0
jmp 0x616a
xorl %r8d, %r8d
movl %r8d, %r9d
leaq -0x320(%rbp), %rdi
leaq -0x340(%rbp), %rsi
leaq -0x368(%rbp), %rdx
leaq -0x390(%rbp), %rcx
callq 0xbd90
jmp 0x6193
leaq -0x390(%rbp), %rdi
callq 0x55c8
leaq -0x391(%rbp), %rdi
callq 0x5300
leaq -0x368(%rbp), %rdi
callq 0x55c8
leaq -0x369(%rbp), %rdi
callq 0x5300
leaq -0x340(%rbp), %rdi
callq 0x55c8
leaq -0x341(%rbp), %rdi
callq 0x5300
leaq -0x4c9(%rbp), %rdi
movq %rdi, -0x608(%rbp)
callq 0x54f0
movq -0x608(%rbp), %rdx
leaq 0x13180(%rip), %rsi     # 0x1937c
leaq -0x4c8(%rbp), %rdi
callq 0x6ee0
jmp 0x620a
leaq -0x4f1(%rbp), %rdi
movq %rdi, -0x610(%rbp)
callq 0x54f0
movq -0x610(%rbp), %rdx
leaq 0x13150(%rip), %rsi     # 0x1937b
leaq -0x4f0(%rbp), %rdi
callq 0x6ee0
jmp 0x6239
leaq -0x519(%rbp), %rdi
movq %rdi, -0x618(%rbp)
callq 0x54f0
movq -0x618(%rbp), %rdx
leaq 0x13124(%rip), %rsi     # 0x1937e
leaq -0x518(%rbp), %rdi
callq 0x6ee0
jmp 0x6268
leaq -0x541(%rbp), %rdi
movq %rdi, -0x620(%rbp)
callq 0x54f0
movq -0x620(%rbp), %rdx
leaq 0x13101(%rip), %rsi     # 0x1938a
leaq -0x540(%rbp), %rdi
callq 0x6ee0
jmp 0x6297
leaq -0x569(%rbp), %rdi
movq %rdi, -0x628(%rbp)
callq 0x54f0
movq -0x628(%rbp), %rdx
leaq 0x130d8(%rip), %rsi     # 0x19390
leaq -0x568(%rbp), %rdi
callq 0x6ee0
jmp 0x62c6
movq %rsp, %rax
leaq -0x568(%rbp), %rcx
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
leaq -0x4a8(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
leaq -0x4f0(%rbp), %rdx
leaq -0x518(%rbp), %rcx
movl $0x1, %r8d
leaq -0x540(%rbp), %r9
callq 0xbe10
jmp 0x630b
leaq -0x568(%rbp), %rdi
callq 0x55c8
leaq -0x569(%rbp), %rdi
callq 0x5300
leaq -0x540(%rbp), %rdi
callq 0x55c8
leaq -0x541(%rbp), %rdi
callq 0x5300
leaq -0x518(%rbp), %rdi
callq 0x55c8
leaq -0x519(%rbp), %rdi
callq 0x5300
leaq -0x4f0(%rbp), %rdi
callq 0x55c8
leaq -0x4f1(%rbp), %rdi
callq 0x5300
leaq -0x4c8(%rbp), %rdi
callq 0x55c8
leaq -0x4c9(%rbp), %rdi
callq 0x5300
leaq -0xf0(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
callq 0xbf30
jmp 0x6398
leaq -0xf0(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0xbf30
jmp 0x63ad
leaq -0xf0(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0xbf30
jmp 0x63c2
movl -0x4(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq -0xf0(%rbp), %rdi
callq 0xbf60
jmp 0x63d7
leaq -0x4a8(%rbp), %rdi
callq 0xc070
movq %rax, -0x630(%rbp)
jmp 0x63ec
movq -0x630(%rbp), %rsi
leaq 0x1cf2e(%rip), %rdi     # 0x23328
callq 0x5050
jmp 0x6401
leaq -0x200(%rbp), %rdi
callq 0xc090
movb %al, -0x631(%rbp)
jmp 0x6415
movb -0x631(%rbp), %al
andb $0x1, %al
movb %al, 0x1cefe(%rip)      # 0x23321
leaq -0x320(%rbp), %rdi
callq 0xc090
movb %al, -0x632(%rbp)
jmp 0x6437
movb -0x632(%rbp), %al
andb $0x1, %al
movb %al, 0x1cedd(%rip)      # 0x23322
leaq -0x4a8(%rbp), %rdi
callq 0xc0b0
leaq -0x320(%rbp), %rdi
callq 0xc110
leaq -0x200(%rbp), %rdi
callq 0xc110
leaq -0x158(%rbp), %rdi
callq 0xc130
leaq -0xf0(%rbp), %rdi
callq 0x83a0
jmp 0x6878
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x64e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x64cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x55c8
leaq -0x149(%rbp), %rdi
callq 0x5300
leaq -0x110(%rbp), %rdi
callq 0x55c8
leaq -0x111(%rbp), %rdi
callq 0x5300
jmp 0x6786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x676e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x6596
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x657e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x6566
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x55c8
leaq -0x271(%rbp), %rdi
callq 0x5300
leaq -0x248(%rbp), %rdi
callq 0x55c8
leaq -0x249(%rbp), %rdi
callq 0x5300
leaq -0x220(%rbp), %rdi
callq 0x55c8
leaq -0x221(%rbp), %rdi
callq 0x5300
jmp 0x676e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x6631
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x6619
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x6601
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x55c8
leaq -0x391(%rbp), %rdi
callq 0x5300
leaq -0x368(%rbp), %rdi
callq 0x55c8
leaq -0x369(%rbp), %rdi
callq 0x5300
leaq -0x340(%rbp), %rdi
callq 0x55c8
leaq -0x341(%rbp), %rdi
callq 0x5300
jmp 0x6762
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x672a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x6712
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x66fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x66e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x66ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x55c8
leaq -0x569(%rbp), %rdi
callq 0x5300
leaq -0x540(%rbp), %rdi
callq 0x55c8
leaq -0x541(%rbp), %rdi
callq 0x5300
leaq -0x518(%rbp), %rdi
callq 0x55c8
leaq -0x519(%rbp), %rdi
callq 0x5300
leaq -0x4f0(%rbp), %rdi
callq 0x55c8
leaq -0x4f1(%rbp), %rdi
callq 0x5300
leaq -0x4c8(%rbp), %rdi
callq 0x55c8
leaq -0x4c9(%rbp), %rdi
callq 0x5300
jmp 0x6756
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x4a8(%rbp), %rdi
callq 0xc0b0
leaq -0x320(%rbp), %rdi
callq 0xc110
leaq -0x200(%rbp), %rdi
callq 0xc110
leaq -0x158(%rbp), %rdi
callq 0xc130
leaq -0xf0(%rbp), %rdi
callq 0x83a0
movl -0x124(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x68dc
movq -0x120(%rbp), %rdi
callq 0x5110
movq %rax, -0x578(%rbp)
movq 0x1c81d(%rip), %rdi     # 0x22fd0
leaq 0x130ae(%rip), %rsi     # 0x19868
callq 0x5270
movq %rax, -0x640(%rbp)
jmp 0x67c8
movq -0x578(%rbp), %rsi
leaq -0x598(%rbp), %rdi
callq 0xc150
jmp 0x67dd
movq -0x640(%rbp), %rdi
leaq -0x598(%rbp), %rsi
callq 0x5250
movq %rax, -0x648(%rbp)
jmp 0x67f9
movq -0x648(%rbp), %rdi
leaq 0x13075(%rip), %rsi     # 0x1987c
callq 0x5270
movq %rax, -0x650(%rbp)
jmp 0x6815
movq -0x578(%rbp), %rsi
leaq -0x5b8(%rbp), %rdi
callq 0xc180
jmp 0x682a
movq -0x650(%rbp), %rdi
leaq -0x5b8(%rbp), %rsi
callq 0x5250
movq %rax, -0x658(%rbp)
jmp 0x6846
movq -0x658(%rbp), %rdi
movq 0x1c75c(%rip), %rsi     # 0x22fb0
callq 0x52d0
jmp 0x685b
leaq -0x5b8(%rbp), %rdi
callq 0x55c8
leaq -0x598(%rbp), %rdi
callq 0x55c8
callq 0x5490
addq $0x670, %rsp            # imm = 0x670
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x68d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
jmp 0x68c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x120(%rbp)
movl %eax, -0x124(%rbp)
leaq -0x5b8(%rbp), %rdi
callq 0x55c8
leaq -0x598(%rbp), %rdi
callq 0x55c8
callq 0x5490
jmp 0x68da
jmp 0x68dc
movq -0x120(%rbp), %rdi
callq 0x54e0
movq %rax, %rdi
callq 0x82b0