// File: /workspace/github_c_makefile_star2_O0/info-telecom-strasbourg[P]code-generator/src/flag_m.cpp
// Function: create_standard_main_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void create_standard_main_file (string path, string extension) {
	int exit_code;
	vector<char*> cmd;

	extension_safety (path, extension);
	
	LOAD_CMD ("bash");	
	LOAD_CMD (CPY_FILES_SCRIPT_PATH);

	if ( extension == "c" )
		LOAD_CMD (STANDARD_C_MAIN_FILE);
	else if ( extension == "cpp" )
		LOAD_CMD (STANDARD_CPP_MAIN_FILE);
	else if ( extension == "cc" )
		LOAD_CMD (STANDARD_CC_MAIN_FILE);
	else
		interupt(0, "\033[1;31merror\033[0m: Unrecognized extension \'%s\'",
			extension.c_str());

	LOAD_CMD (path.c_str());

	execute (exit_code, BASH_PATH, cmd);
	if (exit_code)
		return;

	if ( extension == "c" )
		cout << "\033[1;32minfo\033[0m: created a standard main C file at " 
			<< path << ".\n"; 
	else
		cout << "\033[1;32minfo\033[0m: created a standard main C++ file at " 
			<< path << ".\n"; 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0xf8(%rbp)
movq %rsi, -0x100(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4d90
movq -0xf8(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x30d0
jmp 0x380c
movq -0x100(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x30d0
jmp 0x381e
leaq -0x50(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x7d40
jmp 0x382d
leaq -0x80(%rbp), %rdi
callq 0x3140
leaq -0x50(%rbp), %rdi
callq 0x3140
leaq 0x68b3(%rip), %rax      # 0xa0f9
movq %rax, -0x88(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x4db0
jmp 0x385f
jmp 0x3861
jmp 0x3863
jmp 0x3865
leaq 0x6798(%rip), %rax      # 0xa004
movq %rax, -0x90(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x4db0
jmp 0x3885
jmp 0x3887
jmp 0x3889
movq -0x100(%rbp), %rdi
leaq 0x67c6(%rip), %rsi      # 0xa05d
callq 0x4de0
movb %al, -0x101(%rbp)
jmp 0x38a4
movb -0x101(%rbp), %al
testb $0x1, %al
jne 0x38b0
jmp 0x391d
jmp 0x38b2
leaq 0x6776(%rip), %rax      # 0xa02f
movq %rax, -0x98(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x4db0
jmp 0x38d2
jmp 0x38d4
jmp 0x38d6
jmp 0x39e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3b6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x390f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x3140
leaq -0x50(%rbp), %rdi
callq 0x3140
jmp 0x3b6b
movq -0x100(%rbp), %rdi
leaq 0x6762(%rip), %rsi      # 0xa08d
callq 0x4de0
movb %al, -0x102(%rbp)
jmp 0x3938
movb -0x102(%rbp), %al
testb $0x1, %al
jne 0x3944
jmp 0x396c
jmp 0x3946
leaq 0x6712(%rip), %rax      # 0xa05f
movq %rax, -0xa0(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x4db0
jmp 0x3966
jmp 0x3968
jmp 0x396a
jmp 0x39e1
movq -0x100(%rbp), %rdi
leaq 0x6745(%rip), %rsi      # 0xa0bf
callq 0x4de0
movb %al, -0x103(%rbp)
jmp 0x3987
movb -0x103(%rbp), %al
testb $0x1, %al
jne 0x3993
jmp 0x39bb
jmp 0x3995
leaq 0x66f5(%rip), %rax      # 0xa091
movq %rax, -0xa8(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x4db0
jmp 0x39b5
jmp 0x39b7
jmp 0x39b9
jmp 0x39df
movq -0x100(%rbp), %rdi
callq 0x30c0
movq %rax, %rdx
leaq 0x66f1(%rip), %rsi      # 0xa0c2
xorl %edi, %edi
movb %dil, %al
callq 0x8190
jmp 0x39dd
jmp 0x39df
jmp 0x39e1
jmp 0x39e3
jmp 0x39e5
movq -0xf8(%rbp), %rdi
callq 0x30c0
movq %rax, -0xb0(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x4db0
jmp 0x3a0a
jmp 0x3a0c
jmp 0x3a0e
leaq -0xe8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4e10
jmp 0x3a20
leaq 0x66c9(%rip), %rdx      # 0xa0f0
leaq -0xd0(%rbp), %rdi
leaq -0x14(%rbp), %rsi
leaq -0xe8(%rbp), %rcx
callq 0x8780
jmp 0x3a40
leaq -0xd0(%rbp), %rdi
callq 0x3140
leaq -0xe8(%rbp), %rdi
callq 0x4f00
cmpl $0x0, -0x14(%rbp)
je 0x3a8a
movl $0x1, -0xec(%rbp)
jmp 0x3b59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x4f00
jmp 0x3b6b
movq -0x100(%rbp), %rdi
leaq 0x65c5(%rip), %rsi      # 0xa05d
callq 0x4de0
movb %al, -0x104(%rbp)
jmp 0x3aa5
movb -0x104(%rbp), %al
testb $0x1, %al
jne 0x3ab1
jmp 0x3b00
movq 0xa510(%rip), %rdi      # 0xdfc8
leaq 0x663f(%rip), %rsi      # 0xa0fe
callq 0x3230
movq %rax, -0x110(%rbp)
jmp 0x3acd
movq -0xf8(%rbp), %rsi
movq -0x110(%rbp), %rdi
callq 0x3200
movq %rax, -0x118(%rbp)
jmp 0x3ae9
movq -0x118(%rbp), %rdi
leaq 0x6736(%rip), %rsi      # 0xa22d
callq 0x3230
jmp 0x3afe
jmp 0x3b4f
movq 0xa4c1(%rip), %rdi      # 0xdfc8
leaq 0x6624(%rip), %rsi      # 0xa132
callq 0x3230
movq %rax, -0x120(%rbp)
jmp 0x3b1c
movq -0xf8(%rbp), %rsi
movq -0x120(%rbp), %rdi
callq 0x3200
movq %rax, -0x128(%rbp)
jmp 0x3b38
movq -0x128(%rbp), %rdi
leaq 0x66e7(%rip), %rsi      # 0xa22d
callq 0x3230
jmp 0x3b4d
jmp 0x3b4f
movl $0x0, -0xec(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4f00
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x4f00
movq -0x58(%rbp), %rdi
callq 0x3490
nopl (%rax)