// File: /workspace/github_c_makefile_star2_O3/rakitzis[P]rc/input.c
// Function: doit
extern Node *doit(bool clobberexecit) {
	bool eof;
	bool execit;
	Jbwrap j;
	Estack e1;
	Edata jerror;

	if (dashen)
		clobberexecit = FALSE;
	execit = clobberexecit;
	sigsetjmp(j.j, 1);
	jerror.jb = &j;
	except(eError, jerror, &e1);
	for (eof = FALSE; !eof;) {
		Edata block;
		Estack e2;

		block.b = newblock();
		except(eArena, block, &e2);
		sigchk();

		if (interactive) {
			List *s;
			if (!dashen && fnlookup("prompt") != NULL) {
				static bool died = FALSE;
				static char *arglist[] = { "prompt", NULL };

				if (!died) {
					died = TRUE;
					funcall(arglist);
				}
				died = FALSE;
			}
			s = varlookup("prompt");
			if (s != NULL) {
				prompt = s->w;
				if (s->n != NULL)
					prompt2 = s->n->w;
				else
					prompt2 = "";
			} else {
				prompt = prompt2 = "";
			}
			if (istack->t == iFd)
				fprint(2, "%s", prompt);
			else if (istack->t == iEdit)
				edit_prompt(istack->cookie, prompt);
		}
		inityy();
		if (yyparse() == 1 && (execit || dashen))
			rc_raise(eError);
		eof = (lastchar == EOF); /* "lastchar" can be clobbered during a walk() */
		if (parsetree != NULL) {
#if RC_DEVELOP
			if (RC_DEVELOP)
				tree_dump(parsetree);
#endif
			if (execit)
				walk(parsetree, TRUE);
			else if (dashex && dashen)
				fprint(2, "%T\n", parsetree);
		}
		unexcept(eArena);
	}
	popinput();
	unexcept(eError);
	return parsetree;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
leaq 0x116ff(%rip), %rbp     # 0x19bdc
xorl %ebx, %ebx
cmpl $0x0, (%rbp)
movl %edi, %r13d
cmovnel %ebx, %r13d
leaq 0x30(%rsp), %r14
movl $0x1, %esi
movq %r14, %rdi
callq 0x3370
leaq 0x18(%rsp), %rdx
movl %ebx, %edi
movq %r14, %rsi
callq 0x44b0
movl $0x4, %r14d
movq %rsp, %r15
leaq 0x790c(%rip), %r12      # 0xfe27
callq 0x9fe8
movl %r14d, %edi
movq %rax, %rsi
movq %r15, %rdx
callq 0x44b0
callq 0xb9f9
leaq 0x1169a(%rip), %rax     # 0x19bd4
cmpl $0x0, (%rax)
je 0x85f0
cmpl $0x0, (%rbp)
jne 0x857d
leaq 0x7248(%rip), %rdi      # 0xf798
callq 0x4f99
testq %rax, %rax
je 0x857d
cmpb $0x0, 0x11607(%rip)     # 0x19b68
jne 0x8576
movb $0x1, 0x115fe(%rip)     # 0x19b68
leaq 0x10dbf(%rip), %rdi     # 0x19330
callq 0x34ee
movb $0x0, 0x115eb(%rip)     # 0x19b68
leaq 0x7214(%rip), %rdi      # 0xf798
callq 0xc9da
movq %r12, %rcx
movq %r12, %rdx
testq %rax, %rax
je 0x85b5
movq %rax, %rcx
movq (%rax), %rax
movq %rax, 0x115cf(%rip)     # 0x19b70
movq 0x10(%rcx), %rcx
testq %rcx, %rcx
je 0x85af
movq (%rcx), %rcx
jmp 0x85b2
movq %r12, %rcx
movq %rax, %rdx
movq %rcx, 0x115bc(%rip)     # 0x19b78
movq 0x1156d(%rip), %rax     # 0x19b30
movl 0x4(%rax), %ecx
cmpl $0x2, %ecx
je 0x85e4
testl %ecx, %ecx
jne 0x85f0
xorl %eax, %eax
movl $0x2, %edi
leaq 0x6f95(%rip), %rsi      # 0xf572
callq 0xaf8c
jmp 0x85f0
movq 0x28(%rax), %rdi
movq %rdx, %rsi
callq 0x4430
callq 0x95ef
callq 0xa1fa
cmpl $0x1, %eax
jne 0x860e
movl (%rbp), %eax
orl %r13d, %eax
je 0x8637
xorl %edi, %edi
callq 0x4566
movl 0x11524(%rip), %ebx     # 0x19b38
leaq 0x1166d(%rip), %rax     # 0x19c88
movq (%rax), %rdx
testq %rdx, %rdx
je 0x8664
testl %r13d, %r13d
je 0x863f
movq %rdx, %rdi
movl $0x1, %esi
callq 0xd284
jmp 0x8664
movl 0x114fb(%rip), %ebx     # 0x19b38
jmp 0x8664
leaq 0x115aa(%rip), %rax     # 0x19bf0
cmpl $0x0, (%rax)
je 0x8664
cmpl $0x0, (%rbp)
je 0x8664
xorl %eax, %eax
movl $0x2, %edi
leaq 0x71e5(%rip), %rsi      # 0xf844
callq 0xaf8c
movl %r14d, %edi
callq 0x44e4
cmpl $-0x1, %ebx
jne 0x851b
callq 0x83f1
xorl %edi, %edi
callq 0x44e4
leaq 0x11600(%rip), %rax     # 0x19c88
movq (%rax), %rax
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq