// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Uno/Src/uno_lts.c
// Function: new_graph
static Graphs *
new_graph(treenode *n, char *str)
{	Graphs *g;

	for (g = graph; g; g = g->nxt)
		if (g != glob_decls
		&&  g->cfg != uno_prop
		&&  strcmp(g->fctnm, str) == 0
		&&  strcmp(g->cfg->n->hdr.fnm, "-1") == 0)
		{	if (debug)
			printf("uno: replacing template for %s\n", g->fctnm);
			break;
		}

	if (!g)
	for (g = graph; g; g = g->nxt)
	{	if (g == glob_decls
		||  g->cfg == uno_prop)
			continue;

		if (usecheck)
		if (g->cfg->n == n			/* unlikely conflict - or */
		||  (strcmp(g->fctnm, str) == 0		/* same name - and */
		&&   (!is_static_fct			/* new decl has global scope - or */
		||    strcmp(g->scope, "global") == 0	/* previous decl had global scope - or */
		||    strcmp(g->scope, cur_path) == 0)))/* prev decl has same file scope - or */
			dup_graph(g, n);		/* no break - look for other trouble */
	}

	if (!g)
	{	if (freegraph)
		{	g = freegraph;
			freegraph = g->nxt;
			memset(g, 0, sizeof(Graphs));
		} else
			g = (Graphs *) emalloc(sizeof(Graphs));
		if (!graph)
			graph = g;
		else
		{	g->nxt = graph;
			graph = g;
	}	}

	if (is_static_fct)
	{	g->scope = (char *) emalloc(strlen(cur_path)+1);
		strcpy(g->scope, cur_path);
	} else
		g->scope = "global";

	g->fctnm = (char *) emalloc(strlen(str)+1);
	strcpy(g->fctnm, str);
	g->cfg = create_state(g);
	g->cfg->n = n;

	curgraph = g;

	if (debug)
	printf("uno: new graph for fct %s, status %d (%s)\n", str, g->status, g->cfg->n->hdr.fnm);

	return g;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x65271(%rip), %rax     # 0x85fc8
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x20dec
movq -0x18(%rbp), %rax
cmpq 0x6526f(%rip), %rax     # 0x85fe0
je 0x20dd9
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
cmpq 0x6527e(%rip), %rax     # 0x86000
je 0x20dd9
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x3160
cmpl $0x0, %eax
jne 0x20dd9
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq 0x8(%rax), %rdi
leaq 0x24328(%rip), %rsi     # 0x450d7
callq 0x3160
cmpl $0x0, %eax
jne 0x20dd9
cmpl $0x0, 0x65210(%rip)     # 0x85fd0
je 0x20dd7
movq -0x18(%rbp), %rax
movq (%rax), %rsi
leaq 0x2430a(%rip), %rdi     # 0x450da
movb $0x0, %al
callq 0x30f0
jmp 0x20dec
jmp 0x20ddb
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x20d5b
cmpq $0x0, -0x18(%rbp)
jne 0x20ec4
movq 0x651ca(%rip), %rax     # 0x85fc8
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x20ec2
movq -0x18(%rbp), %rax
cmpq 0x651c8(%rip), %rax     # 0x85fe0
je 0x20e2b
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
cmpq 0x651d7(%rip), %rax     # 0x86000
jne 0x20e30
jmp 0x20eb1
leaq 0x2d571(%rip), %rax     # 0x4e3a8
cmpl $0x0, (%rax)
je 0x20eaf
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
cmpq -0x8(%rbp), %rax
je 0x20ea0
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x3160
cmpl $0x0, %eax
jne 0x20ead
cmpl $0x0, 0x651e7(%rip)     # 0x86050
je 0x20ea0
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rdi
leaq 0x24280(%rip), %rsi     # 0x450fa
callq 0x3160
cmpl $0x0, %eax
je 0x20ea0
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rdi
leaq 0x2d53d(%rip), %rax     # 0x4e3d0
movq (%rax), %rsi
callq 0x3160
cmpl $0x0, %eax
jne 0x20ead
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x22420
jmp 0x20eaf
jmp 0x20eb1
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x18(%rbp)
jmp 0x20e02
jmp 0x20ec4
cmpq $0x0, -0x18(%rbp)
jne 0x20f42
cmpq $0x0, 0x6514d(%rip)     # 0x86020
je 0x20f01
movq 0x65144(%rip), %rax     # 0x86020
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, 0x65131(%rip)     # 0x86020
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x50, %edx
callq 0x3140
jmp 0x20f0f
movl $0x50, %edi
callq 0x54c0
movq %rax, -0x18(%rbp)
cmpq $0x0, 0x650b1(%rip)     # 0x85fc8
jne 0x20f26
movq -0x18(%rbp), %rax
movq %rax, 0x650a4(%rip)     # 0x85fc8
jmp 0x20f40
movq 0x6509b(%rip), %rcx     # 0x85fc8
movq -0x18(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x18(%rbp), %rax
movq %rax, 0x65088(%rip)     # 0x85fc8
jmp 0x20f42
cmpl $0x0, 0x65107(%rip)     # 0x86050
je 0x20f8a
leaq 0x2d47e(%rip), %rax     # 0x4e3d0
movq (%rax), %rdi
callq 0x30c0
movq %rax, %rdi
addq $0x1, %rdi
callq 0x54c0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rdi
leaq 0x2d450(%rip), %rax     # 0x4e3d0
movq (%rax), %rsi
callq 0x3080
jmp 0x20f99
movq -0x18(%rbp), %rax
leaq 0x24165(%rip), %rcx     # 0x450fa
movq %rcx, 0x38(%rax)
movq -0x10(%rbp), %rdi
callq 0x30c0
movq %rax, %rdi
addq $0x1, %rdi
callq 0x54c0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x3080
movq -0x18(%rbp), %rdi
callq 0x22500
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq %rax, 0x64fb2(%rip)     # 0x85fa8
cmpl $0x0, 0x64fd3(%rip)     # 0x85fd0
je 0x21028
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movswl 0x42(%rax), %edx
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq 0x8(%rax), %rcx
leaq 0x240e0(%rip), %rdi     # 0x45101
movb $0x0, %al
callq 0x30f0
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)