// File: /workspace/github_c_makefile_star2_O0/alexgirao[P]aimant/chargenx.c
// Function: process_args
static int process_args(struct getopt_x *state, int argc, char **argv)
{
	int c;
	if (getopt_x_prepare(state, argc, argv, options_short, options_long, options_mandatory)) {
		DEBUG("error: failed to parse options");
		exit(1);
	}
	do {
		struct option *opt;
		switch (c = getopt_x_next(state, &opt)) {
		case 'a': args->start_delay = atol(optarg); break;
		case 'z': args->end_delay = atol(optarg); break;
		case 'b': args->between_delay = atol(optarg); break;
		case 'u': args->between_lines = atol(optarg); break;
		case 'n': args->lines = atol(optarg); break;
		case 'i': strncpy_sizeof(args->id, optarg); break;
		case 'p': strncpy_sizeof(args->pid_file, optarg); break;
		case 'c': args->start_char = atoi(optarg); break;
		case 'r': args->reverse_order = 1; break;
		case 'o': strncpy_sizeof(args->out_file, optarg); break;
		case 'e': strncpy_sizeof(args->err_file, optarg); break;
		case 't': args->truncate = 1; break;
		case 'd': args->daemonize = 1; break;
		case 'h': help(argv[0], state); exit(0);
		case -1: break;
		default:
			getopt_x_option_debug(state, c, opt);
			return -1;
		}
	} while (c != -1);

	assert(args->start_delay >= 0);
	assert(args->between_delay >= 0);
	assert(args->end_delay >= 0);

	assert(args->start_char >= START_CHAR);
	assert(args->start_char < END_CHAR);

	if (args->truncate && *args->out_file == 0) {
		DEBUG("warning: -t specified without -o");
	}

	if (args->daemonize) {
		if (*args->out_file == 0) {
			DEBUG("warning: redirecting stdout to /dev/null");
			strncpy_sizeof(args->out_file, "/dev/null");
		}
		if (*args->err_file == 0) {
			DEBUG("warning: redirecting stderr to /dev/null");
			strncpy_sizeof(args->err_file, "/dev/null");
		}
	}

	if (GETOPT_X_OPTION_IS_INFORMED(state, 'u')) {
		if (GETOPT_X_OPTION_IS_INFORMED(state, 'b')) {
			DEBUG("error: -b option conflicts with -u option");
			return -1;
		}
		assert(args->between_lines > 0);
	}

	return state->got_error;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x20(%rbp), %rdx
movq 0x9100(%rip), %rcx      # 0xb748
movq 0x9101(%rip), %r9       # 0xb750
leaq 0x8eaa(%rip), %r8       # 0xb500
callq 0x4880
cmpl $0x0, %eax
je 0x2686
jmp 0x2662
leaq 0x5bf3(%rip), %rdi      # 0x825c
movl $0xea, %esi
leaq 0x5cac(%rip), %rdx      # 0x8321
movb $0x0, %al
callq 0x7000
movl $0x1, %edi
callq 0x2240
jmp 0x2688
movq -0x10(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x5630
movl %eax, -0x24(%rbp)
incl %eax
movl %eax, %ecx
movq %rcx, -0xc8(%rbp)
subl $0x7b, %eax
ja 0x2a6c
movq -0xc8(%rbp), %rax
leaq 0x594a(%rip), %rcx      # 0x8004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x9096(%rip), %rax      # 0xb760
movq (%rax), %rdi
callq 0x2200
movq %rax, 0x8b87(%rip)      # 0xb260
jmp 0x2a88
leaq 0x907b(%rip), %rax      # 0xb760
movq (%rax), %rdi
callq 0x2200
movq %rax, 0x8b84(%rip)      # 0xb278
jmp 0x2a88
leaq 0x9060(%rip), %rax      # 0xb760
movq (%rax), %rdi
callq 0x2200
movq %rax, 0x8b59(%rip)      # 0xb268
jmp 0x2a88
leaq 0x9045(%rip), %rax      # 0xb760
movq (%rax), %rdi
callq 0x2200
movq %rax, 0x8b46(%rip)      # 0xb270
jmp 0x2a88
leaq 0x902a(%rip), %rax      # 0xb760
movq (%rax), %rdi
callq 0x2200
movq %rax, 0x8b3b(%rip)      # 0xb280
jmp 0x2a88
jmp 0x274c
leaq 0x8a0d(%rip), %rax      # 0xb160
addq $0x128, %rax            # imm = 0x128
movq %rax, -0x38(%rbp)
leaq 0x8ffc(%rip), %rax      # 0xb760
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movl $0x64, -0x44(%rbp)
cmpl $0x0, -0x44(%rbp)
jle 0x277a
jmp 0x2799
leaq 0x5bbf(%rip), %rdi      # 0x8340
leaq 0x5ad4(%rip), %rsi      # 0x825c
movl $0xf5, %edx
leaq 0x5bb4(%rip), %rcx      # 0x8348
callq 0x2140
movq -0x38(%rbp), %rax
movl -0x44(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x5a, (%rax,%rcx)
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
movslq -0x44(%rbp), %rdx
callq 0x2070
movq -0x38(%rbp), %rax
movl -0x44(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x27d3
jmp 0x27f2
leaq 0x5ba0(%rip), %rdi      # 0x837a
leaq 0x5a7b(%rip), %rsi      # 0x825c
movl $0xf5, %edx
leaq 0x5b5b(%rip), %rcx      # 0x8348
callq 0x2140
jmp 0x27f4
jmp 0x2a88
jmp 0x27fb
leaq 0x895e(%rip), %rax      # 0xb160
movq %rax, -0x50(%rbp)
leaq 0x8f53(%rip), %rax      # 0xb760
movq (%rax), %rax
movq %rax, -0x58(%rbp)
movl $0x100, -0x5c(%rbp)     # imm = 0x100
cmpl $0x0, -0x5c(%rbp)
jle 0x2823
jmp 0x2842
leaq 0x5b16(%rip), %rdi      # 0x8340
leaq 0x5a2b(%rip), %rsi      # 0x825c
movl $0xf6, %edx
leaq 0x5b0b(%rip), %rcx      # 0x8348
callq 0x2140
movq -0x50(%rbp), %rax
movl -0x5c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x5a, (%rax,%rcx)
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rsi
movslq -0x5c(%rbp), %rdx
callq 0x2070
movq -0x50(%rbp), %rax
movl -0x5c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x287c
jmp 0x289b
leaq 0x5af7(%rip), %rdi      # 0x837a
leaq 0x59d2(%rip), %rsi      # 0x825c
movl $0xf6, %edx
leaq 0x5ab2(%rip), %rcx      # 0x8348
callq 0x2140
jmp 0x289d
jmp 0x2a88
leaq 0x8eb7(%rip), %rax      # 0xb760
movq (%rax), %rdi
callq 0x2230
movl %eax, 0x8a35(%rip)      # 0xb2ec
jmp 0x2a88
movl $0x1, 0x8a2a(%rip)      # 0xb2f0
jmp 0x2a88
jmp 0x28cd
leaq 0x888c(%rip), %rax      # 0xb160
addq $0x194, %rax            # imm = 0x194
movq %rax, -0x68(%rbp)
leaq 0x8e7b(%rip), %rax      # 0xb760
movq (%rax), %rax
movq %rax, -0x70(%rbp)
movl $0x100, -0x74(%rbp)     # imm = 0x100
cmpl $0x0, -0x74(%rbp)
jle 0x28fb
jmp 0x291a
leaq 0x5a3e(%rip), %rdi      # 0x8340
leaq 0x5953(%rip), %rsi      # 0x825c
movl $0xf9, %edx
leaq 0x5a33(%rip), %rcx      # 0x8348
callq 0x2140
movq -0x68(%rbp), %rax
movl -0x74(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x5a, (%rax,%rcx)
movq -0x68(%rbp), %rdi
movq -0x70(%rbp), %rsi
movslq -0x74(%rbp), %rdx
callq 0x2070
movq -0x68(%rbp), %rax
movl -0x74(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x2954
jmp 0x2973
leaq 0x5a1f(%rip), %rdi      # 0x837a
leaq 0x58fa(%rip), %rsi      # 0x825c
movl $0xf9, %edx
leaq 0x59da(%rip), %rcx      # 0x8348
callq 0x2140
jmp 0x2975
jmp 0x2a88
jmp 0x297c
leaq 0x87dd(%rip), %rax      # 0xb160
addq $0x294, %rax            # imm = 0x294
movq %rax, -0x80(%rbp)
leaq 0x8dcc(%rip), %rax      # 0xb760
movq (%rax), %rax
movq %rax, -0x88(%rbp)
movl $0x100, -0x8c(%rbp)     # imm = 0x100
cmpl $0x0, -0x8c(%rbp)
jle 0x29b3
jmp 0x29d2
leaq 0x5986(%rip), %rdi      # 0x8340
leaq 0x589b(%rip), %rsi      # 0x825c
movl $0xfa, %edx
leaq 0x597b(%rip), %rcx      # 0x8348
callq 0x2140
movq -0x80(%rbp), %rax
movl -0x8c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x5a, (%rax,%rcx)
movq -0x80(%rbp), %rdi
movq -0x88(%rbp), %rsi
movslq -0x8c(%rbp), %rdx
callq 0x2070
movq -0x80(%rbp), %rax
movl -0x8c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x2a18
jmp 0x2a37
leaq 0x595b(%rip), %rdi      # 0x837a
leaq 0x5836(%rip), %rsi      # 0x825c
movl $0xfa, %edx
leaq 0x5916(%rip), %rcx      # 0x8348
callq 0x2140
jmp 0x2a39
jmp 0x2a88
movl $0x1, 0x8aaf(%rip)      # 0xb4f4
jmp 0x2a88
movl $0x1, 0x8aa7(%rip)      # 0xb4f8
jmp 0x2a88
movq -0x20(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x2e40
xorl %edi, %edi
callq 0x2240
jmp 0x2a88
movq -0x10(%rbp), %rdi
movl -0x24(%rbp), %esi
movq -0x30(%rbp), %rdx
callq 0x5fe0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x2e2c
jmp 0x2a8a
cmpl $-0x1, -0x24(%rbp)
jne 0x2688
cmpq $0x0, 0x87c4(%rip)      # 0xb260
jl 0x2aa0
jmp 0x2abf
leaq 0x58e1(%rip), %rdi      # 0x8388
leaq 0x57ae(%rip), %rsi      # 0x825c
movl $0x105, %edx            # imm = 0x105
leaq 0x588e(%rip), %rcx      # 0x8348
callq 0x2140
cmpq $0x0, 0x87a1(%rip)      # 0xb268
jl 0x2acb
jmp 0x2aea
leaq 0x58cd(%rip), %rdi      # 0x839f
leaq 0x5783(%rip), %rsi      # 0x825c
movl $0x106, %edx            # imm = 0x106
leaq 0x5863(%rip), %rcx      # 0x8348
callq 0x2140
cmpq $0x0, 0x8786(%rip)      # 0xb278
jl 0x2af6
jmp 0x2b15
leaq 0x58bb(%rip), %rdi      # 0x83b8
leaq 0x5758(%rip), %rsi      # 0x825c
movl $0x107, %edx            # imm = 0x107
leaq 0x5838(%rip), %rcx      # 0x8348
callq 0x2140
cmpl $0x21, 0x87d0(%rip)     # 0xb2ec
jl 0x2b20
jmp 0x2b3f
leaq 0x58a6(%rip), %rdi      # 0x83cd
leaq 0x572e(%rip), %rsi      # 0x825c
movl $0x109, %edx            # imm = 0x109
leaq 0x580e(%rip), %rcx      # 0x8348
callq 0x2140
cmpl $0x7f, 0x87a6(%rip)     # 0xb2ec
jge 0x2b4a
jmp 0x2b69
leaq 0x589b(%rip), %rdi      # 0x83ec
leaq 0x5704(%rip), %rsi      # 0x825c
movl $0x10a, %edx            # imm = 0x10A
leaq 0x57e4(%rip), %rcx      # 0x8348
callq 0x2140
cmpl $0x0, 0x8984(%rip)      # 0xb4f4
je 0x2b9c
movsbl 0x877b(%rip), %eax      # 0xb2f4
cmpl $0x0, %eax
jne 0x2b9c
jmp 0x2b80
leaq 0x56d5(%rip), %rdi      # 0x825c
movl $0x10d, %esi            # imm = 0x10D
leaq 0x5875(%rip), %rdx      # 0x8408
movb $0x0, %al
callq 0x7000
jmp 0x2b9c
cmpl $0x0, 0x8955(%rip)      # 0xb4f8
je 0x2d97
movsbl 0x8744(%rip), %eax      # 0xb2f4
cmpl $0x0, %eax
jne 0x2c9f
jmp 0x2bbb
leaq 0x569a(%rip), %rdi      # 0x825c
movl $0x112, %esi            # imm = 0x112
leaq 0x585b(%rip), %rdx      # 0x8429
movb $0x0, %al
callq 0x7000
jmp 0x2bd7
leaq 0x8582(%rip), %rax      # 0xb160
addq $0x194, %rax            # imm = 0x194
movq %rax, -0x98(%rbp)
leaq 0x587f(%rip), %rax      # 0x8471
movq %rax, -0xa0(%rbp)
movl $0x100, -0xa4(%rbp)     # imm = 0x100
cmpl $0x0, -0xa4(%rbp)
jle 0x2c0e
jmp 0x2c2d
leaq 0x572b(%rip), %rdi      # 0x8340
leaq 0x5640(%rip), %rsi      # 0x825c
movl $0x113, %edx            # imm = 0x113
leaq 0x5720(%rip), %rcx      # 0x8348
callq 0x2140
movq -0x98(%rbp), %rax
movl -0xa4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x5a, (%rax,%rcx)
movq -0x98(%rbp), %rdi
movq -0xa0(%rbp), %rsi
movslq -0xa4(%rbp), %rdx
callq 0x2070
movq -0x98(%rbp), %rax
movl -0xa4(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x2c7c
jmp 0x2c9b
leaq 0x56f7(%rip), %rdi      # 0x837a
leaq 0x55d2(%rip), %rsi      # 0x825c
movl $0x113, %edx            # imm = 0x113
leaq 0x56b2(%rip), %rcx      # 0x8348
callq 0x2140
jmp 0x2c9d
jmp 0x2c9f
movsbl 0x874e(%rip), %eax      # 0xb3f4
cmpl $0x0, %eax
jne 0x2d95
jmp 0x2cb1
leaq 0x55a4(%rip), %rdi      # 0x825c
movl $0x116, %esi            # imm = 0x116
leaq 0x578e(%rip), %rdx      # 0x8452
movb $0x0, %al
callq 0x7000
jmp 0x2ccd
leaq 0x848c(%rip), %rax      # 0xb160
addq $0x294, %rax            # imm = 0x294
movq %rax, -0xb0(%rbp)
leaq 0x5789(%rip), %rax      # 0x8471
movq %rax, -0xb8(%rbp)
movl $0x100, -0xbc(%rbp)     # imm = 0x100
cmpl $0x0, -0xbc(%rbp)
jle 0x2d04
jmp 0x2d23
leaq 0x5635(%rip), %rdi      # 0x8340
leaq 0x554a(%rip), %rsi      # 0x825c
movl $0x117, %edx            # imm = 0x117
leaq 0x562a(%rip), %rcx      # 0x8348
callq 0x2140
movq -0xb0(%rbp), %rax
movl -0xbc(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x5a, (%rax,%rcx)
movq -0xb0(%rbp), %rdi
movq -0xb8(%rbp), %rsi
movslq -0xbc(%rbp), %rdx
callq 0x2070
movq -0xb0(%rbp), %rax
movl -0xbc(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
jne 0x2d72
jmp 0x2d91
leaq 0x5601(%rip), %rdi      # 0x837a
leaq 0x54dc(%rip), %rsi      # 0x825c
movl $0x117, %edx            # imm = 0x117
leaq 0x55bc(%rip), %rcx      # 0x8348
callq 0x2140
jmp 0x2d93
jmp 0x2d95
jmp 0x2d97
movq -0x10(%rbp), %rcx
movabsq $0x20000000000000, %rax # imm = 0x20000000000000
andq 0xf8(%rcx), %rax
cmpq $0x0, %rax
je 0x2e1f
movq -0x10(%rbp), %rcx
movabsq $0x400000000, %rax      # imm = 0x400000000
andq 0xf8(%rcx), %rax
cmpq $0x0, %rax
je 0x2df2
jmp 0x2dcf
leaq 0x5486(%rip), %rdi      # 0x825c
movl $0x11d, %esi            # imm = 0x11D
leaq 0x5699(%rip), %rdx      # 0x847b
movb $0x0, %al
callq 0x7000
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x2e2c
cmpq $0x0, 0x8476(%rip)      # 0xb270
jle 0x2dfe
jmp 0x2e1d
leaq 0x56a0(%rip), %rdi      # 0x84a5
leaq 0x5450(%rip), %rsi      # 0x825c
movl $0x120, %edx            # imm = 0x120
leaq 0x5530(%rip), %rcx      # 0x8348
callq 0x2140
jmp 0x2e1f
movq -0x10(%rbp), %rax
movl 0x114(%rax), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax,%rax)