// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Uno/Src/uno_global.c
// Function: main
int
main(int argc, char **argv)
{	int fcg = 0;

	argc--;
	argv++;

	while (argc-- > 0)
	{	if (strcmp(*argv, "-V") == 0)
		{	printf("%s\n", VERSION);
			exit(0);
		}
		if (strcmp(*argv, "-v") == 0)
		{	verbose = 1;
			printf("%s\n", VERSION);
		} else if (strcmp(*argv, "-fcg") == 0
		|| strcmp(*argv, "-f") == 0)
			fcg = 1;
		else if (strcmp(*argv, "-use") == 0
		|| strcmp(*argv, "-u") == 0)
			usecheck = 1;
		else if (strcmp(*argv, "-l") == 0
		     ||  strcmp(*argv, "-1") == 0)
			longtrace = 1;
		else if (strcmp(*argv, "-r") == 0)
			reverse = 1;
		else if (strcmp(*argv, "-p") == 0)
		{	argv++; argc--;
			p_start = *argv;
			p_query = 1;
		} else if (strcmp(*argv, "-s") == 0)
		{	argv++; argc--;
			p_stop = *argv;
			p_query = 1;
		} else if (strcmp(*argv, "-a") == 0)
		{	argv++; argc--;
			want = *argv;
		} else if (strstr(*argv, ".uno"))
			uno_load(*argv);
		else
		{	fprintf(stderr, "uno_global: saw: %s\n", *argv);
			fprintf(stderr, "usage: uno:global [-a name] [-f] [-l] [-r] [-u] [-v] *.uno\n");
			fprintf(stderr, "	-a name	target fct name (default 'main')\n");
			fprintf(stderr, "	-f[cg]	function call graph (dot format) (-v -fcg all fcts)\n");
			fprintf(stderr, "	-l	more detailed error traces\n");
			fprintf(stderr, "	-r	reverse fcg from target fct back to main\n");

			fprintf(stderr, "	-p name	path query - set start of path (default is main)\n");
			fprintf(stderr, "	-s name	path query - set end   of path (default is exit)\n");

			fprintf(stderr, "	-u[se]	complain about redundancies\n");
			fprintf(stderr, "	-v	verbose, print some stats\n");
			exit(1);
		}
		argv++;
	}
	if (fcg)
	{	if (verbose)
			all_fcg(stdout);
		else
			gen_fcts(stdout);
		exit(0);
	}

	if (p_query)
	{	fprintf(stdout, "digraph dodot {\n\tratio=auto;\n");
		fcts_reset();
		path_query(find_fct(p_start), find_fct(p_stop));
		fprintf(stdout, "}\n");
		exit(0);
	}

	if (usecheck)
	{	struct_check();	/* unused fields in structures */
		glob_check();	/* redundant vars, used but not set, set but not used */
		unused_fcts();	/* consistency of use of fct return values */
	}
	run_check();	/* uno_fcts.c */

	if (verbose) unostats();

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x8(%rbp)
cmpl $0x0, %eax
jle 0x1867
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5c08(%rip), %rsi      # 0x710c
callq 0x10c0
cmpl $0x0, %eax
jne 0x152a
movq 0x9bbb(%rip), %rsi      # 0xb0d0
leaq 0x6a0e(%rip), %rdi      # 0x7f2a
movb $0x0, %al
callq 0x1080
xorl %edi, %edi
callq 0x1140
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5bd7(%rip), %rsi      # 0x710f
callq 0x10c0
cmpl $0x0, %eax
jne 0x1566
movl $0x1, 0x9d14(%rip)      # 0xb260
movq 0x9b7d(%rip), %rsi      # 0xb0d0
leaq 0x69d0(%rip), %rdi      # 0x7f2a
movb $0x0, %al
callq 0x1080
jmp 0x1856
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5b9e(%rip), %rsi      # 0x7112
callq 0x10c0
cmpl $0x0, %eax
je 0x1596
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5b8b(%rip), %rsi      # 0x7117
callq 0x10c0
cmpl $0x0, %eax
jne 0x15a2
movl $0x1, -0x14(%rbp)
jmp 0x1854
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5b6a(%rip), %rsi      # 0x711a
callq 0x10c0
cmpl $0x0, %eax
je 0x15d2
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5b57(%rip), %rsi      # 0x711f
callq 0x10c0
cmpl $0x0, %eax
jne 0x15e1
movl $0x1, 0x9c88(%rip)      # 0xb264
jmp 0x1852
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5b33(%rip), %rsi      # 0x7122
callq 0x10c0
cmpl $0x0, %eax
je 0x1611
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5b1e(%rip), %rsi      # 0x7125
callq 0x10c0
cmpl $0x0, %eax
jne 0x1620
movl $0x1, 0x9c4d(%rip)      # 0xb268
jmp 0x1850
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5afa(%rip), %rsi      # 0x7128
callq 0x10c0
cmpl $0x0, %eax
jne 0x1647
movl $0x1, 0x9c2a(%rip)      # 0xb26c
jmp 0x184e
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5ad6(%rip), %rsi      # 0x712b
callq 0x10c0
cmpl $0x0, %eax
jne 0x1691
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, 0x9a56(%rip)      # 0xb0d8
movl $0x1, 0x9be4(%rip)      # 0xb270
jmp 0x184c
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5a8f(%rip), %rsi      # 0x712e
callq 0x10c0
cmpl $0x0, %eax
jne 0x16db
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, 0x9a14(%rip)      # 0xb0e0
movl $0x1, 0x9b9a(%rip)      # 0xb270
jmp 0x184a
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5a48(%rip), %rsi      # 0x7131
callq 0x10c0
cmpl $0x0, %eax
jne 0x171b
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, 0x99d2(%rip)      # 0xb0e8
jmp 0x1848
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x5a0b(%rip), %rsi      # 0x7134
callq 0x1150
cmpq $0x0, %rax
je 0x1745
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x1940
jmp 0x1846
movq 0x98ac(%rip), %rax      # 0xaff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
leaq 0x59dc(%rip), %rsi      # 0x7139
movb $0x0, %al
callq 0x10d0
movq 0x988d(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x59d9(%rip), %rsi      # 0x714e
movb $0x0, %al
callq 0x10d0
movq 0x9875(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x59fd(%rip), %rsi      # 0x718a
movb $0x0, %al
callq 0x10d0
movq 0x985d(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x5a10(%rip), %rsi      # 0x71b5
movb $0x0, %al
callq 0x10d0
movq 0x9845(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x5a35(%rip), %rsi      # 0x71f2
movb $0x0, %al
callq 0x10d0
movq 0x982d(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x5a3d(%rip), %rsi      # 0x7212
movb $0x0, %al
callq 0x10d0
movq 0x9815(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x5a53(%rip), %rsi      # 0x7240
movb $0x0, %al
callq 0x10d0
movq 0x97fd(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x5a76(%rip), %rsi      # 0x727b
movb $0x0, %al
callq 0x10d0
movq 0x97e5(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x5a99(%rip), %rsi      # 0x72b6
movb $0x0, %al
callq 0x10d0
movq 0x97cd(%rip), %rax      # 0xaff8
movq (%rax), %rdi
leaq 0x5aa6(%rip), %rsi      # 0x72db
movb $0x0, %al
callq 0x10d0
movl $0x1, %edi
callq 0x1140
jmp 0x1848
jmp 0x184a
jmp 0x184c
jmp 0x184e
jmp 0x1850
jmp 0x1852
jmp 0x1854
jmp 0x1856
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0x14e2
cmpl $0x0, -0x14(%rbp)
je 0x189d
cmpl $0x0, 0x99ec(%rip)      # 0xb260
je 0x1887
movq 0x975b(%rip), %rax      # 0xafd8
movq (%rax), %rdi
callq 0x1a30
jmp 0x1896
movq 0x974a(%rip), %rax      # 0xafd8
movq (%rax), %rdi
callq 0x1b00
xorl %edi, %edi
callq 0x1140
cmpl $0x0, 0x99cc(%rip)      # 0xb270
je 0x190a
movq 0x972b(%rip), %rax      # 0xafd8
movq (%rax), %rdi
leaq 0x5a43(%rip), %rsi      # 0x72fa
movb $0x0, %al
callq 0x10d0
callq 0x1b60
movq 0x980e(%rip), %rdi      # 0xb0d8
callq 0x13b0
movq %rax, -0x20(%rbp)
movq 0x9806(%rip), %rdi      # 0xb0e0
callq 0x13b0
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0x12d0
movq 0x96e6(%rip), %rax      # 0xafd8
movq (%rax), %rdi
leaq 0x5a1c(%rip), %rsi      # 0x7318
movb $0x0, %al
callq 0x10d0
xorl %edi, %edi
callq 0x1140
cmpl $0x0, 0x9953(%rip)      # 0xb264
je 0x1922
callq 0x1b90
callq 0x1c20
callq 0x1d30
callq 0x3910
cmpl $0x0, 0x9932(%rip)      # 0xb260
je 0x1935
callq 0x2250
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)