// File: /workspace/github_c_makefile_star2_O1/nimble-code[P]Modex/Src/modex.c
// Function: ActCmds
int
ActCmds(void)
{	int done = 0;

	strcpy(o_base, "_modex_");
	do {
		if (!ncmd)
		{	if (Verbose_cmds)
				printf("Act cmd : no more commands\n");
			return 0;
		}

		if (Verbose_cmds)
		printf("Act cmd -%c %s\n",
			ncmd->cmd, ncmd->arg ? ncmd->arg : "");

		extended = flike = 0;

		switch (ncmd->cmd) {
		case 'E': extended = 1;
			  wanttype = "proctype";
			  want = ncmd->arg;
			  done = 1;
			  break;
		case 'f': flike = 1; /* atomic more or less like a function */
			  /* fall through */
		case 'e': extended = 1;
			  /* fall through */
		case 'a': wanttype = "active proctype";
			  if (ncmd->n > 1)
			  {	char *p = e_malloc(strlen(wanttype)+8);
				sprintf(p, "active [%d] proctype", ncmd->n);
				wanttype = p;
			  }
			  want = ncmd->arg;
			  done = 1;
			  break;
		case 'b': process_input(ncmd->arg, 1); break;
		case 'i': wanttype = "inline"; want = ncmd->arg; done = 1; break;
		case 'n': wanttype = "body";   want = ncmd->arg; done = 1;
			  do_inc_globals = 0; anybody = 1;
			  break;
		case 'p': wanttype = "proctype"; want = ncmd->arg; done = 1; break;
		case 'g': globals_only = 1;
			  /* fall through */
		case 'x': allprocs = 1;
			  want = "all";
			  if (ncmd->n > 1)
			  {	char *p = e_malloc(strlen(wanttype)+8);
				sprintf(p, "active [%d] proctype", ncmd->n);
				wanttype = p;
			  } else
			  {	wanttype = "active proctype";
			  }
			  if (ncmd->arg)
			  switch (ncmd->arg[2]) {
			  case 'f': flike = 1;
			  case 'e': extended = 1; break;
			  case 'E': extended = 1; /* fall thru */
			  case 'p': wanttype = "proctype"; break;
			  case 'i': wanttype = "inline"; break;
			  }
			  done = 1;
			  break;

		case 'A': printall       = 1 - printall;       break;
		case 'C': show_code      = 1; allprocs = 1;    break;
		case 'c': use_c_code     = 1 - use_c_code;     break;
		case 'X': show_deps      = 1; allprocs = 1;    break;
		case 'F': show_funcs     = 1; allprocs = 1;    break;
		case 't': fallout        = 1 - fallout;        break;
		case 'G': do_inc_globals = 1 - do_inc_globals; break;
		case 'H': do_inc_locals  = 1 - do_inc_locals;  break;
		case 'K': allkeep        = 1 - allkeep;        break;
		case 'k': new_lut        = 1; break;
		case 'L': if (!ulut) { ulut = ncmd->arg; } break;
		case 'M': new_lut        = 1; suffix = ncmd->arg; break;
		case 'm': strcpy(o_base, ncmd->arg); break;
		case 'o': omissions      = 1 - omissions;      break;
		case 'r': redundancies   = 1 - redundancies;   break;
		case 'S': suppress       = 1 - suppress;       break;
		case 's': show_syms      = 1; allprocs = 1;    break;

		default:	Usage("modex");
		}
		ncmd = ncmd->nxt;
	} while (!done);

	strcat(o_base, want);
	wantpre = (char *) e_malloc(strlen(want)+strlen("::")+1);
	strcpy(wantpre, want);
	strcat(wantpre, "::");

	return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movabsq $0x5f7865646f6d5f, %rax # imm = 0x5F7865646F6D5F
movq %rax, 0x311ac(%rip)     # 0x39a80
xorl %ebp, %ebp
leaq 0x1aa67(%rip), %r15     # 0x23344
leaq 0x1e7b0(%rip), %r12     # 0x27094
leaq 0x1b9aa(%rip), %rbx     # 0x24295
xorl %r14d, %r14d
movq 0x31123(%rip), %rax     # 0x39a18
movl 0x31111(%rip), %ecx     # 0x39a0c
testq %rax, %rax
je 0x8c92
testl %ecx, %ecx
je 0x891f
movl (%rax), %esi
movq 0x8(%rax), %rdx
testq %rdx, %rdx
cmoveq %r12, %rdx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x4140
movl %ebp, 0x3135b(%rip)     # 0x39c80
movl %ebp, 0x31359(%rip)     # 0x39c84
movq 0x310e6(%rip), %rax     # 0x39a18
movl (%rax), %ecx
addl $-0x41, %ecx
cmpl $0x37, %ecx
ja 0x8d0c
movslq (%r15,%rcx,4), %rcx
addq %r15, %rcx
jmpq *%rcx
movl $0x1, %eax
subl 0x3133c(%rip), %eax     # 0x39c90
movl %eax, 0x31336(%rip)     # 0x39c90
jmp 0x8c3c
movl $0x1, %eax
subl 0x3133e(%rip), %eax     # 0x39ca8
movl %eax, 0x31338(%rip)     # 0x39ca8
jmp 0x8c3c
movl $0x1, %eax
movl %eax, 0x310e0(%rip)     # 0x39a60
jmp 0x8c36
movl $0x1, 0x3130d(%rip)     # 0x39c9c
jmp 0x8c3c
movl $0x1, 0x312fe(%rip)     # 0x39c9c
movq 0x8(%rax), %rax
movq %rax, 0x2e7df(%rip)     # 0x37188
jmp 0x8c3c
leaq 0x1b905(%rip), %rcx     # 0x242ba
jmp 0x8aef
movl $0x1, %eax
subl 0x312eb(%rip), %eax     # 0x39cb0
movl %eax, 0x312e5(%rip)     # 0x39cb0
jmp 0x8c3c
cmpq $0x0, 0x312c8(%rip)     # 0x39ca0
jne 0x8c3c
movq 0x8(%rax), %rax
movq %rax, 0x312b7(%rip)     # 0x39ca0
jmp 0x8c3c
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x8d18
jmp 0x8c3c
movq 0x8(%rax), %rsi
leaq 0x31074(%rip), %rdi     # 0x39a80
callq 0x40b0
jmp 0x8c3c
movl $0x1, %eax
subl 0x2e7c3(%rip), %eax     # 0x371e4
movl %eax, 0x2e7bd(%rip)     # 0x371e4
jmp 0x8c3c
movl $0x1, 0x3124a(%rip)     # 0x39c80
movl $0x1, 0x31244(%rip)     # 0x39c84
leaq 0x1aa8a(%rip), %rcx     # 0x234d1
movq %rcx, 0x2e75a(%rip)     # 0x371a8
cmpl $0x2, 0x4(%rax)
jl 0x8a83
movl $0x17, %edi
callq 0x6469
movq %rax, %r14
movq 0x30fb0(%rip), %rax     # 0x39a18
movl 0x4(%rax), %edx
leaq 0x1b833(%rip), %rsi     # 0x242a5
movq %r14, %rdi
xorl %eax, %eax
callq 0x4290
movq %r14, 0x2e725(%rip)     # 0x371a8
movq 0x30f8e(%rip), %rax     # 0x39a18
jmp 0x8af6
movl $0x1, %eax
movl %eax, 0x30fcd(%rip)     # 0x39a64
jmp 0x8c36
movl $0x1, %eax
subl 0x311ed(%rip), %eax     # 0x39c94
movl %eax, 0x311e7(%rip)     # 0x39c94
jmp 0x8c3c
movl $0x1, %eax
subl 0x2e723(%rip), %eax     # 0x371e0
movl %eax, 0x2e71d(%rip)     # 0x371e0
jmp 0x8c3c
movl $0x1, %eax
subl 0x311c5(%rip), %eax     # 0x39c98
movl %eax, 0x311bf(%rip)     # 0x39c98
jmp 0x8c3c
movl $0x1, 0x3119c(%rip)     # 0x39c84
leaq 0x1b7c2(%rip), %rcx     # 0x242b1
movq %rcx, 0x2e6b2(%rip)     # 0x371a8
movq 0x8(%rax), %rax
movq %rax, 0x2e697(%rip)     # 0x37198
movl $0x1, %r14d
jmp 0x8c3c
movl $0x1, %eax
movl %eax, 0x30f45(%rip)     # 0x39a5c
jmp 0x8c36
movl $0x1, %eax
subl 0x2e6b5(%rip), %eax     # 0x371dc
movl %eax, 0x2e6af(%rip)     # 0x371dc
jmp 0x8c3c
movl $0x1, 0x31150(%rip)     # 0x39c8c
movl $0x1, 0x30f12(%rip)     # 0x39a58
leaq 0x1ce78(%rip), %rcx     # 0x259c5
movq %rcx, 0x2e644(%rip)     # 0x37198
cmpl $0x2, 0x4(%rax)
jl 0x8b8e
movq 0x2e647(%rip), %rdi     # 0x371a8
callq 0x4110
leal 0x8(%rax), %edi
callq 0x6469
movq %rax, %r14
movq 0x30ea0(%rip), %rax     # 0x39a18
movl 0x4(%rax), %edx
leaq 0x1b723(%rip), %rsi     # 0x242a5
movq %r14, %rdi
xorl %eax, %eax
callq 0x4290
jmp 0x8b95
leaq 0x1a93c(%rip), %r14     # 0x234d1
movq %r14, 0x2e60c(%rip)     # 0x371a8
movq 0x30e75(%rip), %rax     # 0x39a18
movq 0x8(%rax), %rax
movl $0x1, %r14d
testq %rax, %rax
je 0x8c3c
movzbl 0x2(%rax), %eax
cmpl $0x65, %eax
jle 0x8c59
cmpl $0x70, %eax
je 0x8c82
cmpl $0x69, %eax
je 0x8c6f
cmpl $0x66, %eax
jne 0x8c3c
movl $0x1, 0x3109c(%rip)     # 0x39c80
jmp 0x8c63
movl $0x1, %eax
subl 0x310bb(%rip), %eax     # 0x39cac
movl %eax, 0x310b5(%rip)     # 0x39cac
jmp 0x8c3c
leaq 0x1b6c1(%rip), %rcx     # 0x242c1
movq %rcx, 0x2e5a1(%rip)     # 0x371a8
movq 0x8(%rax), %rax
movq %rax, 0x2e586(%rip)     # 0x37198
movl $0x0, 0x2e5c4(%rip)     # 0x371e0
movl $0x1, 0x31062(%rip)     # 0x39c88
jmp 0x8b01
movl $0x1, %eax
movl %eax, 0x30e32(%rip)     # 0x39a68
movl %eax, 0x30e1c(%rip)     # 0x39a58
movq 0x30dd5(%rip), %rax     # 0x39a18
movq 0x10(%rax), %rax
movq %rax, 0x30dca(%rip)     # 0x39a18
testl %r14d, %r14d
je 0x88ee
jmp 0x8ca6
cmpl $0x45, %eax
je 0x8c78
cmpl $0x65, %eax
jne 0x8c3c
movl $0x1, 0x31017(%rip)     # 0x39c84
jmp 0x8c3c
leaq 0x1b644(%rip), %rax     # 0x242ba
jmp 0x8c89
movl $0x1, 0x31002(%rip)     # 0x39c84
leaq 0x1b628(%rip), %rax     # 0x242b1
movq %rax, 0x2e518(%rip)     # 0x371a8
jmp 0x8c3c
xorl %ebx, %ebx
testl %ecx, %ecx
je 0x8d01
leaq 0x1beac(%rip), %rdi     # 0x24b4b
callq 0x40d0
jmp 0x8d01
movq 0x2e4eb(%rip), %rbx     # 0x37198
leaq 0x30dcc(%rip), %rdi     # 0x39a80
movq %rbx, %rsi
callq 0x4280
movq %rbx, %rdi
callq 0x4110
leal 0x3(%rax), %edi
callq 0x6469
movq %rax, 0x30fe5(%rip)     # 0x39cb8
movq 0x2e4be(%rip), %rsi     # 0x37198
movq %rax, %rdi
callq 0x40b0
movq 0x30fcf(%rip), %rbx     # 0x39cb8
movq %rbx, %rdi
callq 0x4110
movw $0x3a3a, (%rbx,%rax)    # imm = 0x3A3A
movb $0x0, 0x2(%rbx,%rax)
movl $0x1, %ebx
movl %ebx, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1a7af(%rip), %rdi     # 0x234c2
callq 0x796f