// File: /workspace/github_c_makefile_star2_O2/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movabsq $0x5f7865646f6d5f, %rax # imm = 0x5F7865646F6D5F
movq %rax, 0x30223(%rip)     # 0x36a90
movq 0x301b4(%rip), %r15     # 0x36a28
leaq 0x19ac9(%rip), %r12     # 0x20344
leaq 0x1d70f(%rip), %r13     # 0x23f91
leaq 0x1aa0c(%rip), %r14     # 0x21295
movl 0x3018d(%rip), %eax     # 0x36a1c
testq %r15, %r15
je 0x6a1b
testl %eax, %eax
je 0x68bb
movl (%r15), %esi
movq 0x8(%r15), %rdx
testq %rdx, %rdx
cmoveq %r13, %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x4140
movq 0x3016d(%rip), %r15     # 0x36a28
andl $0x0, 0x303ce(%rip)     # 0x36c90
andl $0x0, 0x303cb(%rip)     # 0x36c94
movl (%r15), %eax
addl $-0x41, %eax
cmpl $0x37, %eax
ja 0x6c4d
movslq (%r12,%rax,4), %rax
addq %r12, %rax
pushq $0x1
popq %rbx
jmpq *%rax
pushq $0x1
popq %rax
subl 0x303b3(%rip), %eax     # 0x36ca0
movl %eax, 0x303ad(%rip)     # 0x36ca0
jmp 0x6a0b
movl %ebx, 0x30172(%rip)     # 0x36a70
jmp 0x69c8
movl $0x1, 0x3039f(%rip)     # 0x36cac
movq 0x8(%r15), %rax
movq %rax, 0x2d880(%rip)     # 0x34198
jmp 0x6a0b
subl 0x2d8d1(%rip), %ebx     # 0x341f4
movl %ebx, 0x2d8cb(%rip)     # 0x341f4
jmp 0x6a0b
subl 0x2d8b8(%rip), %ebx     # 0x341ec
movl %ebx, 0x2d8b2(%rip)     # 0x341ec
jmp 0x6a0b
movq 0x8(%r15), %rsi
leaq 0x30146(%rip), %rdi     # 0x36a90
callq 0x40b0
jmp 0x6a0b
pushq $0x1
popq %rax
movl %eax, 0x3010f(%rip)     # 0x36a6c
movl %eax, 0x30105(%rip)     # 0x36a68
jmp 0x6a0b
movl %ebx, 0x30106(%rip)     # 0x36a74
jmp 0x69c8
subl 0x3034a(%rip), %ebx     # 0x36cc0
movl %ebx, 0x30344(%rip)     # 0x36cc0
jmp 0x6a0b
subl 0x30335(%rip), %ebx     # 0x36cbc
movl %ebx, 0x3032f(%rip)     # 0x36cbc
jmp 0x6a0b
cmpq $0x0, 0x30319(%rip)     # 0x36cb0
jne 0x6a0b
movq 0x8(%r15), %rax
movq %rax, 0x3030c(%rip)     # 0x36cb0
jmp 0x6a0b
subl 0x2d844(%rip), %ebx     # 0x341f0
movl %ebx, 0x2d83e(%rip)     # 0x341f0
jmp 0x6a0b
subl 0x302ee(%rip), %ebx     # 0x36ca8
movl %ebx, 0x302e8(%rip)     # 0x36ca8
jmp 0x6a0b
movl %ebx, 0x300b0(%rip)     # 0x36a78
movl %ebx, 0x3009a(%rip)     # 0x36a68
jmp 0x6a0b
movq 0x8(%r15), %rdi
pushq $0x1
popq %rsi
callq 0x6c59
movq 0x30045(%rip), %r15     # 0x36a28
jmp 0x6a0b
movl $0x1, 0x302bd(%rip)     # 0x36cac
jmp 0x6a0b
subl 0x302c1(%rip), %ebx     # 0x36cb8
movl %ebx, 0x302bb(%rip)     # 0x36cb8
jmp 0x6a0b
subl 0x3029f(%rip), %ebx     # 0x36ca4
movl %ebx, 0x30299(%rip)     # 0x36ca4
movq 0x10(%r15), %r15
movq %r15, 0x30012(%rip)     # 0x36a28
jmp 0x6889
xorl %ebx, %ebx
testl %eax, %eax
je 0x6c1b
leaq 0x1b11f(%rip), %rdi     # 0x21b4b
callq 0x40d0
jmp 0x6c1b
leaq 0x1a87d(%rip), %rax     # 0x212ba
jmp 0x6ba6
movl $0x1, 0x30250(%rip)     # 0x36c9c
movl $0x1, 0x30012(%rip)     # 0x36a68
leaq 0x1be68(%rip), %rax     # 0x228c5
movq %rax, 0x2d744(%rip)     # 0x341a8
cmpl $0x2, 0x4(%r15)
jl 0x6b3f
movq 0x2d742(%rip), %rdi     # 0x341b8
callq 0x4110
leal 0x8(%rax), %edi
callq 0x4739
movq %rax, %r14
movq 0x2ff9b(%rip), %rax     # 0x36a28
movl 0x4(%rax), %edx
leaq 0x1a80e(%rip), %rsi     # 0x212a5
movq %r14, %rdi
xorl %eax, %eax
callq 0x42a0
movq 0x2ff80(%rip), %r15     # 0x36a28
jmp 0x6b46
leaq 0x1a80d(%rip), %rax     # 0x212c1
movq %rax, 0x2d6fd(%rip)     # 0x341b8
movq 0x8(%r15), %rax
movq %rax, 0x2d6e2(%rip)     # 0x341a8
andl $0x0, 0x2d723(%rip)     # 0x341f0
movl $0x1, 0x301c1(%rip)     # 0x36c98
jmp 0x6bb8
movl $0x1, 0x301aa(%rip)     # 0x36c90
movl $0x1, 0x301a4(%rip)     # 0x36c94
leaq 0x199da(%rip), %rax     # 0x204d1
movq %rax, 0x2d6ba(%rip)     # 0x341b8
cmpl $0x2, 0x4(%r15)
jl 0x6bad
pushq $0x17
popq %rdi
callq 0x4739
movq %rax, %r14
movq 0x2ff0d(%rip), %rax     # 0x36a28
movl 0x4(%rax), %edx
leaq 0x1a780(%rip), %rsi     # 0x212a5
movq %r14, %rdi
xorl %eax, %eax
callq 0x42a0
movq %r14, 0x2d682(%rip)     # 0x341b8
movq 0x2feeb(%rip), %r15     # 0x36a28
jmp 0x6bad
leaq 0x1998b(%rip), %r14     # 0x204d1
movq %r14, 0x2d66b(%rip)     # 0x341b8
movq 0x8(%r15), %rax
testq %rax, %rax
je 0x6bb8
movzbl 0x2(%rax), %eax
cmpl $0x45, %eax
je 0x6c30
cmpl $0x65, %eax
je 0x6b89
cmpl $0x70, %eax
je 0x6c3a
cmpl $0x69, %eax
je 0x6c27
cmpl $0x66, %eax
jne 0x6bb8
movl $0x1, 0x30107(%rip)     # 0x36c90
movl $0x1, 0x30101(%rip)     # 0x36c94
jmp 0x6bb8
movl $0x1, 0x300f5(%rip)     # 0x36c94
leaq 0x1a70b(%rip), %rax     # 0x212b1
movq %rax, 0x2d60b(%rip)     # 0x341b8
movq 0x8(%r15), %rax
movq %rax, 0x2d5f0(%rip)     # 0x341a8
movq 0x10(%r15), %rax
movq %rax, 0x2fe65(%rip)     # 0x36a28
movq 0x2d5de(%rip), %r14     # 0x341a8
leaq 0x2febf(%rip), %rdi     # 0x36a90
movq %r14, %rsi
callq 0x4290
movq %r14, %rdi
callq 0x4110
leal 0x3(%rax), %edi
callq 0x4739
movq %rax, 0x300d8(%rip)     # 0x36cc8
movq 0x2d5b1(%rip), %rsi     # 0x341a8
movq %rax, %rdi
callq 0x40b0
movq 0x300c2(%rip), %r14     # 0x36cc8
movq %r14, %rdi
callq 0x4110
movw $0x3a3a, (%r14,%rax)    # imm = 0x3A3A
movb $0x0, 0x2(%r14,%rax)
movl %ebx, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x1a68c(%rip), %rax     # 0x212ba
jmp 0x6c41
movl $0x1, 0x3005a(%rip)     # 0x36c94
leaq 0x1a670(%rip), %rax     # 0x212b1
movq %rax, 0x2d570(%rip)     # 0x341b8
jmp 0x6bb8
leaq 0x1986e(%rip), %rdi     # 0x204c2
callq 0x5a13