// File: /workspace/github_c_makefile_star2_O0/info-telecom-strasbourg[P]code-generator/src/other_flags.cpp
// Function: flag_a(char*)
void flag_a (char *optarg_) {
	string name, ext_c, ext_h, src, include, extension;
	string optarg_str = optarg_;

	parse_extension (optarg_, extension);

	if (extension != optarg_) {
		cout << "\033[1;33mwarning\033[0m: ignoring \""<< extension
 			<< "\". Using the extensions defined in the config file.\n\n";
	}

	name = optarg_str.substr(0, optarg_str.length() - extension.length() - 1);

	GET_CONFIG (

	ext_c = ds->c_extension;
	ext_h = ds->h_extension;
	src = cut_file (ds->source);
	include = cut_file (ds->include);

	)
	
   	create_file (name, ext_c, src, IS_SOURCE);
   	create_file (name, ext_h, include, IS_INCLUDE);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x340, %rsp            # imm = 0x340
movq %rdi, -0x8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x33c0
leaq -0x48(%rbp), %rdi
callq 0x33c0
leaq -0x68(%rbp), %rdi
callq 0x33c0
leaq -0x88(%rbp), %rdi
callq 0x33c0
leaq -0xa8(%rbp), %rdi
callq 0x33c0
leaq -0xc8(%rbp), %rdi
callq 0x33c0
movq -0x8(%rbp), %rax
movq %rax, -0x2d8(%rbp)
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x2d0(%rbp)
callq 0x34a0
movq -0x2d8(%rbp), %rsi
movq -0x2d0(%rbp), %rdx
leaq -0xe8(%rbp), %rdi
callq 0x4f80
jmp 0x6d58
leaq -0xe9(%rbp), %rdi
callq 0x32c0
movq -0x8(%rbp), %rax
movq %rax, -0x2e8(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x2e0(%rbp)
callq 0x34a0
movq -0x2e8(%rbp), %rsi
movq -0x2e0(%rbp), %rdx
leaq -0x140(%rbp), %rdi
callq 0x4f80
jmp 0x6d9e
leaq -0x120(%rbp), %rdi
leaq -0x140(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
callq 0x8a00
jmp 0x6dba
leaq -0x120(%rbp), %rdi
callq 0x3140
leaq -0x140(%rbp), %rdi
callq 0x3140
leaq -0x141(%rbp), %rdi
callq 0x32c0
movq -0x8(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x7ae0
movb %al, -0x2e9(%rbp)
jmp 0x6df6
movb -0x2e9(%rbp), %al
testb $0x1, %al
jne 0x6e05
jmp 0x6ed1
movq 0x71bc(%rip), %rdi      # 0xdfc8
leaq 0x37fc(%rip), %rsi      # 0xa60f
callq 0x3230
movq %rax, -0x2f8(%rbp)
jmp 0x6e21
movq -0x2f8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x3200
movq %rax, -0x300(%rbp)
jmp 0x6e3d
movq -0x300(%rbp), %rdi
leaq 0x37e3(%rip), %rsi      # 0xa62e
callq 0x3230
jmp 0x6e52
jmp 0x6ed1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0xe9(%rbp), %rdi
callq 0x32c0
jmp 0x768f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0x6ea9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x3140
leaq -0x141(%rbp), %rdi
callq 0x32c0
jmp 0x7683
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0x7683
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x310(%rbp)
callq 0x3410
movq %rax, -0x308(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x3410
movq -0x310(%rbp), %rsi
movq %rax, %rcx
movq -0x308(%rbp), %rax
notq %rcx
addq %rax, %rcx
xorl %eax, %eax
movl %eax, %edx
leaq -0x168(%rbp), %rdi
callq 0x3270
jmp 0x6f20
leaq -0x28(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x3320
leaq -0x168(%rbp), %rdi
callq 0x3140
leaq 0x3371(%rip), %rdi      # 0xa2b4
leaq 0x337e(%rip), %rsi      # 0xa2c8
callq 0x32f0
movq %rax, -0x318(%rbp)
jmp 0x6f58
movq -0x318(%rbp), %rax
movq %rax, -0x170(%rbp)
cmpq $0x0, -0x170(%rbp)
jne 0x6f92
movq 0x7059(%rip), %rax      # 0xdfd0
movq (%rax), %rdi
leaq 0x3349(%rip), %rsi      # 0xa2ca
movb $0x0, %al
callq 0x33e0
movl $0x1, %edi
callq 0x3310
movl $0x380, %edi            # imm = 0x380
callq 0x3380
movq %rax, -0x178(%rbp)
movq -0x178(%rbp), %rdi
movq -0x170(%rbp), %rcx
movl $0x80, %esi
movl $0x1, %edx
callq 0x3400
jmp 0x6fc2
movq -0x178(%rbp), %rdi
subq $-0x80, %rdi
movq -0x170(%rbp), %rcx
movl $0x80, %esi
movl $0x1, %edx
callq 0x3400
jmp 0x6fe5
movq -0x178(%rbp), %rdi
addq $0x100, %rdi            # imm = 0x100
movq -0x170(%rbp), %rcx
movl $0x80, %esi
movl $0x1, %edx
callq 0x3400
jmp 0x700b
movq -0x178(%rbp), %rdi
addq $0x180, %rdi            # imm = 0x180
movq -0x170(%rbp), %rcx
movl $0x80, %esi
movl $0x1, %edx
callq 0x3400
jmp 0x7031
movq -0x178(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
movq -0x170(%rbp), %rcx
movl $0x80, %esi
movl $0x1, %edx
callq 0x3400
jmp 0x7057
movq -0x178(%rbp), %rdi
addq $0x280, %rdi            # imm = 0x280
movq -0x170(%rbp), %rcx
movl $0x80, %esi
movl $0x1, %edx
callq 0x3400
jmp 0x707d
movq -0x178(%rbp), %rdi
addq $0x300, %rdi            # imm = 0x300
movq -0x170(%rbp), %rcx
movl $0x80, %esi
movl $0x1, %edx
callq 0x3400
jmp 0x70a3
movq -0x178(%rbp), %rdi
leaq 0x3239(%rip), %rsi      # 0xa2ea
callq 0x33d0
cmpl $0x0, %eax
jne 0x70dd
movq 0x6f0e(%rip), %rax      # 0xdfd0
movq (%rax), %rdi
leaq 0x3224(%rip), %rsi      # 0xa2f0
movb $0x0, %al
callq 0x33e0
movl $0x1, %edi
callq 0x3310
movq -0x178(%rbp), %rdi
addq $0x80, %rdi
leaq 0x31f8(%rip), %rsi      # 0xa2ea
callq 0x33d0
cmpl $0x0, %eax
jne 0x711e
movq 0x6ecd(%rip), %rax      # 0xdfd0
movq (%rax), %rdi
leaq 0x320a(%rip), %rsi      # 0xa317
movb $0x0, %al
callq 0x33e0
movl $0x1, %edi
callq 0x3310
movq -0x178(%rbp), %rdi
addq $0x100, %rdi            # imm = 0x100
leaq 0x31b7(%rip), %rsi      # 0xa2ea
callq 0x33d0
cmpl $0x0, %eax
jne 0x715f
movq 0x6e8c(%rip), %rax      # 0xdfd0
movq (%rax), %rdi
leaq 0x31f1(%rip), %rsi      # 0xa33f
movb $0x0, %al
callq 0x33e0
movl $0x1, %edi
callq 0x3310
movq -0x178(%rbp), %rdi
addq $0x180, %rdi            # imm = 0x180
leaq 0x3176(%rip), %rsi      # 0xa2ea
callq 0x33d0
cmpl $0x0, %eax
jne 0x71a0
movq 0x6e4b(%rip), %rax      # 0xdfd0
movq (%rax), %rdi
leaq 0x31d7(%rip), %rsi      # 0xa366
movb $0x0, %al
callq 0x33e0
movl $0x1, %edi
callq 0x3310
movq -0x178(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
leaq 0x3135(%rip), %rsi      # 0xa2ea
callq 0x33d0
cmpl $0x0, %eax
jne 0x71e1
movq 0x6e0a(%rip), %rax      # 0xdfd0
movq (%rax), %rdi
leaq 0x31ba(%rip), %rsi      # 0xa38a
movb $0x0, %al
callq 0x33e0
movl $0x1, %edi
callq 0x3310
movq -0x178(%rbp), %rdi
addq $0x280, %rdi            # imm = 0x280
leaq 0x30f4(%rip), %rsi      # 0xa2ea
callq 0x33d0
cmpl $0x0, %eax
je 0x7219
movq -0x178(%rbp), %rdi
addq $0x280, %rdi            # imm = 0x280
callq 0x30e0
cmpq $0x0, %rax
jne 0x723b
movq 0x6db0(%rip), %rax      # 0xdfd0
movq (%rax), %rdi
leaq 0x3187(%rip), %rsi      # 0xa3b1
movb $0x0, %al
callq 0x33e0
movl $0x1, %edi
callq 0x3310
movq -0x178(%rbp), %rdi
addq $0x300, %rdi            # imm = 0x300
leaq 0x309a(%rip), %rsi      # 0xa2ea
callq 0x33d0
cmpl $0x0, %eax
je 0x7273
movq -0x178(%rbp), %rdi
addq $0x300, %rdi            # imm = 0x300
callq 0x30e0
cmpq $0x0, %rax
jne 0x7295
movq 0x6d56(%rip), %rax      # 0xdfd0
movq (%rax), %rdi
leaq 0x315f(%rip), %rsi      # 0xa3e3
movb $0x0, %al
callq 0x33e0
movl $0x1, %edi
callq 0x3310
movq -0x178(%rbp), %rsi
addq $0x280, %rsi            # imm = 0x280
leaq -0x48(%rbp), %rdi
callq 0x33a0
jmp 0x72ae
movq -0x178(%rbp), %rsi
addq $0x300, %rsi            # imm = 0x300
leaq -0x68(%rbp), %rdi
callq 0x33a0
jmp 0x72c7
movq -0x178(%rbp), %rax
movq %rax, -0x328(%rbp)
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x320(%rbp)
callq 0x34a0
movq -0x328(%rbp), %rsi
movq -0x320(%rbp), %rdx
leaq -0x1b8(%rbp), %rdi
callq 0x4f80
jmp 0x7304
leaq -0x198(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x8b30
jmp 0x7319
leaq -0x88(%rbp), %rdi
leaq -0x198(%rbp), %rsi
movq %rsi, -0x340(%rbp)
callq 0x3320
movq -0x340(%rbp), %rdi
callq 0x3140
leaq -0x1b8(%rbp), %rdi
callq 0x3140
leaq -0x1b9(%rbp), %rdi
callq 0x32c0
movq -0x178(%rbp), %rax
subq $-0x80, %rax
movq %rax, -0x338(%rbp)
leaq -0x201(%rbp), %rdi
movq %rdi, -0x330(%rbp)
callq 0x34a0
movq -0x338(%rbp), %rsi
movq -0x330(%rbp), %rdx
leaq -0x200(%rbp), %rdi
callq 0x4f80
jmp 0x7398
leaq -0x1e0(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x8b30
jmp 0x73ad
leaq -0xa8(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x3320
leaq -0x1e0(%rbp), %rdi
callq 0x3140
leaq -0x200(%rbp), %rdi
callq 0x3140
leaq -0x201(%rbp), %rdi
callq 0x32c0
movq -0x178(%rbp), %rdi
callq 0x3300
jmp 0x73f2
leaq -0x228(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x30d0
jmp 0x7404
leaq -0x248(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x30d0
jmp 0x7416
leaq -0x268(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x30d0
jmp 0x742b
leaq -0x228(%rbp), %rdi
leaq -0x248(%rbp), %rsi
leaq -0x268(%rbp), %rdx
xorl %ecx, %ecx
callq 0x6760
jmp 0x7449
leaq -0x268(%rbp), %rdi
callq 0x3140
leaq -0x248(%rbp), %rdi
callq 0x3140
leaq -0x228(%rbp), %rdi
callq 0x3140
leaq -0x288(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x30d0
jmp 0x747f
leaq -0x2a8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x30d0
jmp 0x7491
leaq -0x2c8(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x30d0
jmp 0x74a6
leaq -0x288(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
leaq -0x2c8(%rbp), %rdx
movl $0x1, %ecx
callq 0x6760
jmp 0x74c7
leaq -0x2c8(%rbp), %rdi
callq 0x3140
leaq -0x2a8(%rbp), %rdi
callq 0x3140
leaq -0x288(%rbp), %rdi
callq 0x3140
leaq -0xe8(%rbp), %rdi
callq 0x3140
leaq -0xc8(%rbp), %rdi
callq 0x3140
leaq -0xa8(%rbp), %rdi
callq 0x3140
leaq -0x88(%rbp), %rdi
callq 0x3140
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
leaq -0x28(%rbp), %rdi
callq 0x3140
addq $0x340, %rsp            # imm = 0x340
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0x7571
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x3140
leaq -0x1b9(%rbp), %rdi
callq 0x32c0
jmp 0x7683
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0x75b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x3140
leaq -0x201(%rbp), %rdi
callq 0x32c0
jmp 0x7683
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0x7617
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0x760b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x3140
leaq -0x248(%rbp), %rdi
callq 0x3140
leaq -0x228(%rbp), %rdi
callq 0x3140
jmp 0x7683
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0x7677
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0x766b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x3140
leaq -0x2a8(%rbp), %rdi
callq 0x3140
leaq -0x288(%rbp), %rdi
callq 0x3140
leaq -0xe8(%rbp), %rdi
callq 0x3140
leaq -0xc8(%rbp), %rdi
callq 0x3140
leaq -0xa8(%rbp), %rdi
callq 0x3140
leaq -0x88(%rbp), %rdi
callq 0x3140
leaq -0x68(%rbp), %rdi
callq 0x3140
leaq -0x48(%rbp), %rdi
callq 0x3140
leaq -0x28(%rbp), %rdi
callq 0x3140
movq -0xf8(%rbp), %rdi
callq 0x3490
nopw (%rax,%rax)