// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Modex/Src/xtract.c
// Function: get_lut
void
get_lut(char *o_base, char *lut)
{	FILE *lf;
	char buf[2048], *p, *q, *r;
	char nbuf[2048];
	int cntr=0;

// printf("GET LUT '%s'\n", lut?lut:"");

	if (!lut)
	{	lut = (char *) e_malloc(strlen(o_base)+strlen(".lut")+1);
		strcpy(lut, o_base);
		strcat(lut, ".lut");
	} else
	{	if (!strstr(lut, ".lut"))
			strcat(lut, ".lut");
	}

	if (Verbose)
		printf("get lut %s\n", lut);

	add_hidden(NONPRINT, "__iob", 0, 0);

	if ((lf = fopen(lut, "rb")) == NULL)
	{	if (!new_lut
		&&  Warnings
		&&  strncmp(lut, "none", strlen("none")) != 0)
			fprintf(stderr, "%s: warning, no file '%s'\n", progname, lut);
		FreshLut = 1;
		goto done;
	} else if (!new_lut && Warnings)
		fprintf(stderr, "%s: using '%s'\n", progname, lut);

if (debug_io) fprintf(stderr, "open lut -> %p\n", lf);

	while (fgets(buf, sizeof(buf), lf))
	{	while ((p = strrchr(buf, '\n'))
		||     (p = strrchr(buf, '\r')))
			*p = '\0';

		while (buf[strlen(buf)-1] == '\t'
		||     buf[strlen(buf)-1] == ' ')
			buf[strlen(buf)-1] = '\0';

		if (buf[strlen(buf)-1] == '\\')
			read_more(lf, buf);

		if (buf[0] == '#' || !strchr(buf, '\t'))
		{	add_comment(cntr++, buf);
			continue;
		}

		if (strncmp(buf, "Include", strlen("Include")) == 0)
		{	p = nextarg(buf);
			(void) nextarg(p);
			add_include(p);
			Down += 2;
			get_lut("", p);	/* recursive call -- not visible */
			Down -= 2;
			continue;
		}

		if (strncmp(buf, "Suppress", strlen("Suppress")) == 0)
		{	fprintf(stderr, "Suppress command obsolete (ignored, use Import)\n");
			continue;
		}

		if (strncmp(buf, "Insert",  strlen("Insert")) == 0
		||  strncmp(buf, "Declare", strlen("Declare")) == 0)
		{	p = nextarg(buf);
			q = nextarg(p);
			r = nextarg(q);
			if (*r == '\0')
			{	fprintf(stderr, "usage:	Insert\ttype\tvname\tpname/Global\n");
				fprintf(stderr, "or:	Declare\ttype\tvname\tpname/Global\n");
				exit(1);
			}
			(void) nextarg(r);
			add_imported(q, r, 1);
			if (strcmp(r, "Global") == 0)
			{	add_full_global(p, q, 1, 0);
			} else
			{	add_full_local(p, q, r, 1, 0);
			}
			continue;
		}
		if (strncmp(buf, "Promela", strlen("Promela")) == 0)
		{	p = nextarg(buf);
			q = nextarg(p);
			if (*q == '\0')
			{	fprintf(stderr, "usage: Promela\tvname\tpname/Global\n");
				exit(1);
			}
			(void) nextarg(q);
			add_imported(p, q, 0);	/* 0 - do not generate declaration */
			continue;
		}
		if (strncmp(buf, "Import", strlen("Import")) == 0)
		{	p = nextarg(buf);
			q = nextarg(p);
			if (*q == '\0')
			{	fprintf(stderr, "usage: Import\tvname\tpname/Global\n");
				exit(1);
			}
			(void) nextarg(q);
if (0) fprintf(stderr, "A%d %s\n", saw_import, wanttype);
			add_imported(p, q, 1);
			saw_import++;
if (0) fprintf(stderr, "B%d %s\n", saw_import, wanttype);
			continue;
		}
		if (strncmp(buf, "Constant", strlen("Constant")) == 0)
		{	add_constants(nextarg(buf));
			continue;
		}
		if (strncmp(buf, "ICALL", strlen("ICALL")) == 0
		||  strncmp(buf, "Icall", strlen("Icall")) == 0)
		{	/* instrumented procedure calls */
			p = nextarg(buf);
			q = nextarg(p);
			if (*q != '\0')
			{	fprintf(stderr, "usage: Icall\tfct_name\n");
				exit(1);
			}
			add_icall(p);
			continue;
		}
		if (strncmp(buf, "Global", strlen("Global")) == 0)
		{	p = nextarg(buf);
			q = nextarg(p);
			if (*q == '\0')
			{	fprintf(stderr, "usage: Global\ttype\tvarname\n");
				exit(1);
			}
			(void) nextarg(q);
			add_global(p, q, 0, 0);
			continue;
		}
		if (strncmp(buf, "External", strlen("External")) == 0)
		{	fprintf(stderr, "External is obsolete, use Track\n");
			exit(1);
		}
		if (strncmp(buf, "Track", strlen("Track")) == 0)
		{	p = nextarg(buf);
			q = nextarg(p);
			if (*q == '\0')
			{	fprintf(stderr, "usage: Track\t&n\tsizeof(int)\n");
				exit(1);
			}
			(void) nextarg(q);
			add_external(p, q);
			continue;
		}
		if (strncmp(buf, NONSTATE, strlen(NONSTATE)) == 0)
		{	p = nextarg(buf);
			q = nextarg(p);
			if (*q == '\0')
			{	fprintf(stderr, "usage: %s\ttype\tvarname\n", NONSTATE);
				exit(1);
			}
			(void) nextarg(q);
			add_hidden(p, q, 0, 0);
			continue;
		}
		if (strncmp(buf, "Local", strlen("Local")) == 0)
		{	p = nextarg(buf);
			q = nextarg(p);
			r = nextarg(q);
			if (*r == '\0')
			{	fprintf(stderr, "usage: Local\ttype\tvarname\tprocname\n");
				exit(1);
			}
			(void) nextarg(r);
			add_local(p, q, r, 0, 0, 30);
			continue;
		}
		if (strncmp(buf, "Function", strlen("Function")) == 0)
		{	p = nextarg(buf);
			(void) nextarg(p);
			add_fct(p, p);

			sprintf(nbuf, "(%s", p);
			add_fct(nbuf, p);

			sprintf(nbuf, "(!%s", p);
			add_fct(nbuf, p);
			continue;
		}
		if (strncmp(buf, "Substitute", strlen("Substitute")) == 0)
		{	p = nextarg(buf);
			q = nextarg(p);
			(void) nextarg(q);
			add_substitute(p, q);
			continue;
		}

		p = nextarg(buf);	/* regular mapping src -> dst */
		if (*p != '\0')
		{	look_lut(buf, p, 0);	/* store it */
			cntr++;
		}
	}
if (debug_io) fprintf(stderr, "close w %p\n", lf);
	Fclose(lf);

done:
if (0) fprintf(stderr, "C%d %s\n", saw_import, wanttype);
	if (!saw_import)
	{	add_imported("_all_", "_all_", 1);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1050, %rsp           # imm = 0x1050
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x1044(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x128bf
movq -0x8(%rbp), %rdi
callq 0x40f0
addq $0x4, %rax
addq $0x1, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x40a0
movq -0x10(%rbp), %rdi
leaq 0x234f9(%rip), %rsi     # 0x35db1
callq 0x4250
jmp 0x128e7
movq -0x10(%rbp), %rdi
leaq 0x234e7(%rip), %rsi     # 0x35db1
callq 0x4280
cmpq $0x0, %rax
jne 0x128e5
movq -0x10(%rbp), %rdi
leaq 0x234d1(%rip), %rsi     # 0x35db1
callq 0x4250
jmp 0x128e7
leaq 0x3535e(%rip), %rax     # 0x47c4c
cmpl $0x0, (%rax)
je 0x12905
movq -0x10(%rbp), %rsi
leaq 0x2326f(%rip), %rdi     # 0x35b6d
movb $0x0, %al
callq 0x4120
leaq 0x2c117(%rip), %rdi     # 0x3ea23
leaq 0x23266(%rip), %rsi     # 0x35b79
xorl %ecx, %ecx
movl %ecx, %edx
callq 0xd150
movq -0x10(%rbp), %rdi
leaq 0x23258(%rip), %rsi     # 0x35b7f
callq 0x4230
movq %rax, -0x18(%rbp)
cmpq $0x0, %rax
jne 0x1299d
leaq 0x3553f(%rip), %rax     # 0x47e7c
cmpl $0x0, (%rax)
jne 0x1298e
leaq 0x35307(%rip), %rax     # 0x47c50
cmpl $0x0, (%rax)
je 0x1298e
movq -0x10(%rbp), %rdi
leaq 0x23229(%rip), %rsi     # 0x35b82
movl $0x4, %edx
callq 0x4090
cmpl $0x0, %eax
je 0x1298e
movq 0x32689(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x327f7(%rip), %rax     # 0x45170
movq (%rax), %rdx
movq -0x10(%rbp), %rcx
leaq 0x23200(%rip), %rsi     # 0x35b87
movb $0x0, %al
callq 0x4190
movl $0x1, 0x3b2ec(%rip)     # 0x4dc84
jmp 0x133ff
leaq 0x354d8(%rip), %rax     # 0x47e7c
cmpl $0x0, (%rax)
jne 0x129db
leaq 0x352a0(%rip), %rax     # 0x47c50
cmpl $0x0, (%rax)
je 0x129db
movq 0x3263c(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x327aa(%rip), %rax     # 0x45170
movq (%rax), %rdx
movq -0x10(%rbp), %rcx
leaq 0x231ce(%rip), %rsi     # 0x35ba2
movb $0x0, %al
callq 0x4190
jmp 0x129dd
leaq 0x35204(%rip), %rax     # 0x47be8
cmpl $0x0, (%rax)
je 0x12a05
movq 0x32608(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
leaq 0x231b4(%rip), %rsi     # 0x35bb2
movb $0x0, %al
callq 0x4190
jmp 0x12a07
leaq -0x820(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl $0x800, %esi            # imm = 0x800
callq 0x4170
cmpq $0x0, %rax
je 0x133ce
jmp 0x12a28
leaq -0x820(%rbp), %rdi
movl $0xa, %esi
callq 0x4130
movq %rax, %rcx
movq %rcx, -0x828(%rbp)
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, -0x1045(%rbp)
jne 0x12a76
leaq -0x820(%rbp), %rdi
movl $0xd, %esi
callq 0x4130
movq %rax, -0x828(%rbp)
cmpq $0x0, %rax
setne %al
movb %al, -0x1045(%rbp)
movb -0x1045(%rbp), %al
testb $0x1, %al
jne 0x12a82
jmp 0x12a8e
movq -0x828(%rbp), %rax
movb $0x0, (%rax)
jmp 0x12a28
jmp 0x12a90
leaq -0x820(%rbp), %rdi
callq 0x40f0
subq $0x1, %rax
movsbl -0x820(%rbp,%rax), %ecx
movb $0x1, %al
cmpl $0x9, %ecx
movb %al, -0x1046(%rbp)
je 0x12ad9
leaq -0x820(%rbp), %rdi
callq 0x40f0
subq $0x1, %rax
movsbl -0x820(%rbp,%rax), %eax
cmpl $0x20, %eax
sete %al
movb %al, -0x1046(%rbp)
movb -0x1046(%rbp), %al
testb $0x1, %al
jne 0x12ae5
jmp 0x12aff
leaq -0x820(%rbp), %rdi
callq 0x40f0
subq $0x1, %rax
movb $0x0, -0x820(%rbp,%rax)
jmp 0x12a90
leaq -0x820(%rbp), %rdi
callq 0x40f0
subq $0x1, %rax
movsbl -0x820(%rbp,%rax), %eax
cmpl $0x5c, %eax
jne 0x12b2c
movq -0x18(%rbp), %rdi
leaq -0x820(%rbp), %rsi
callq 0x126d0
movsbl -0x820(%rbp), %eax
cmpl $0x23, %eax
je 0x12b4f
leaq -0x820(%rbp), %rdi
movl $0x9, %esi
callq 0x4110
cmpq $0x0, %rax
jne 0x12b71
movl -0x1044(%rbp), %edi
movl %edi, %eax
addl $0x1, %eax
movl %eax, -0x1044(%rbp)
leaq -0x820(%rbp), %rsi
callq 0x13430
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x23043(%rip), %rsi     # 0x35bc2
movl $0x7, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x12bef
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
callq 0xce60
movl 0x379a1(%rip), %eax     # 0x4a560
addl $0x2, %eax
movl %eax, 0x37998(%rip)     # 0x4a560
movq -0x828(%rbp), %rsi
leaq 0x248e8(%rip), %rdi     # 0x374be
callq 0x12860
movl 0x3797f(%rip), %eax     # 0x4a560
subl $0x2, %eax
movl %eax, 0x37976(%rip)     # 0x4a560
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22fcd(%rip), %rsi     # 0x35bca
movl $0x8, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x12c29
movq 0x323e5(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22fb6(%rip), %rsi     # 0x35bd3
movb $0x0, %al
callq 0x4190
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22fcd(%rip), %rsi     # 0x35c04
movl $0x6, %edx
callq 0x4090
cmpl $0x0, %eax
je 0x12c67
leaq -0x820(%rbp), %rdi
leaq 0x22fb7(%rip), %rsi     # 0x35c0b
movl $0x7, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x12d68
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rdi
callq 0x12570
movq %rax, -0x838(%rbp)
movq -0x838(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x12ce9
movq 0x32342(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22f53(%rip), %rsi     # 0x35c13
movb $0x0, %al
callq 0x4190
movq 0x3232a(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22f62(%rip), %rsi     # 0x35c3a
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
movq -0x838(%rbp), %rdi
callq 0x12570
movq -0x830(%rbp), %rdi
movq -0x838(%rbp), %rsi
movl $0x1, %edx
callq 0x11750
movq -0x838(%rbp), %rdi
leaq 0x20392(%rip), %rsi     # 0x330ad
callq 0x4180
cmpl $0x0, %eax
jne 0x12d41
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0xd6f0
jmp 0x12d63
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
movq -0x838(%rbp), %rdx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0xf560
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22ee9(%rip), %rsi     # 0x35c5f
movl $0x7, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x12e02
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x12ddc
movq 0x32237(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22e9c(%rip), %rsi     # 0x35c67
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
movq -0x830(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
xorl %edx, %edx
callq 0x11750
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22e7a(%rip), %rsi     # 0x35c8a
movl $0x6, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x12eb2
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x12e7a
movq 0x32199(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22e28(%rip), %rsi     # 0x35c91
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
movq -0x830(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
movl $0x1, %edx
callq 0x11750
movl 0x3addc(%rip), %eax     # 0x4dc80
addl $0x1, %eax
movl %eax, 0x3add3(%rip)     # 0x4dc80
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x24b23(%rip), %rsi     # 0x379e3
movl $0x8, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x12ee8
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, %rdi
callq 0x12600
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22dbd(%rip), %rsi     # 0x35cb3
movl $0x5, %edx
callq 0x4090
cmpl $0x0, %eax
je 0x12f22
leaq -0x820(%rbp), %rdi
leaq 0x22da6(%rip), %rsi     # 0x35cb9
movl $0x5, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x12f8a
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x12f79
movq 0x3209a(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22d57(%rip), %rsi     # 0x35cbf
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
movq -0x828(%rbp), %rdi
callq 0x6a00
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x20115(%rip), %rsi     # 0x330ad
movl $0x6, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x13026
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x12ffe
movq 0x32015(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22ce9(%rip), %rsi     # 0x35cd6
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
movq -0x830(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0xd440
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22cbe(%rip), %rsi     # 0x35cf2
movl $0x8, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x13065
movq 0x31fae(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22ca7(%rip), %rsi     # 0x35cfb
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
leaq -0x820(%rbp), %rdi
leaq 0x22ca9(%rip), %rsi     # 0x35d1c
movl $0x5, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x130fd
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x130d9
movq 0x31f3a(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22c5a(%rip), %rsi     # 0x35d22
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
movq -0x830(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
callq 0x12470
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x2236c(%rip), %rsi     # 0x35477
movl $0x8, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x131a4
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x1317c
movq 0x31e9e(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22bdb(%rip), %rsi     # 0x35d3f
leaq 0x2230c(%rip), %rdx     # 0x35477
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
movq -0x830(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0xd150
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22ba5(%rip), %rsi     # 0x35d57
movl $0x5, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x13266
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rdi
callq 0x12570
movq %rax, -0x838(%rbp)
movq -0x838(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x1322f
movq 0x31de4(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
leaq 0x22b3f(%rip), %rsi     # 0x35d5d
movb $0x0, %al
callq 0x4190
movl $0x1, %edi
callq 0x4270
movq -0x838(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
movq -0x838(%rbp), %rdx
xorl %r8d, %r8d
movl $0x1e, %r9d
movl %r8d, %ecx
callq 0xf1c0
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22b0d(%rip), %rsi     # 0x35d81
movl $0x8, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x1331c
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
movq -0x828(%rbp), %rsi
callq 0xcdb0
leaq -0x1040(%rbp), %rdi
movq -0x828(%rbp), %rdx
leaq 0x22abc(%rip), %rsi     # 0x35d8a
movb $0x0, %al
callq 0x4260
leaq -0x1040(%rbp), %rdi
movq -0x828(%rbp), %rsi
callq 0xcdb0
leaq -0x1040(%rbp), %rdi
movq -0x828(%rbp), %rdx
leaq 0x22a91(%rip), %rsi     # 0x35d8e
movb $0x0, %al
callq 0x4260
leaq -0x1040(%rbp), %rdi
movq -0x828(%rbp), %rsi
callq 0xcdb0
jmp 0x12a07
leaq -0x820(%rbp), %rdi
leaq 0x22a69(%rip), %rsi     # 0x35d93
movl $0xa, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x13383
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x12570
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rdi
callq 0x12570
movq -0x828(%rbp), %rdi
movq -0x830(%rbp), %rsi
callq 0xcf90
jmp 0x12a07
leaq -0x820(%rbp), %rdi
callq 0x12570
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x133c9
leaq -0x820(%rbp), %rdi
movq -0x828(%rbp), %rsi
xorl %edx, %edx
callq 0x13510
movl -0x1044(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1044(%rbp)
jmp 0x12a07
leaq 0x34813(%rip), %rax     # 0x47be8
cmpl $0x0, (%rax)
je 0x133f6
movq 0x31c17(%rip), %rax     # 0x44ff8
movq (%rax), %rdi
movq -0x18(%rbp), %rdx
leaq 0x229af(%rip), %rsi     # 0x35d9e
movb $0x0, %al
callq 0x4190
movq -0x18(%rbp), %rdi
callq 0x6d20
cmpl $0x0, 0x3a87a(%rip)     # 0x4dc80
jne 0x1341c
leaq 0x21664(%rip), %rsi     # 0x34a73
movl $0x1, %edx
movq %rsi, %rdi
callq 0x11750
addq $0x1050, %rsp           # imm = 0x1050
popq %rbp
retq
nopw %cs:(%rax,%rax)