// File: /workspace/github_c_makefile_star2_O0/rakitzis[P]rc/walk.c
// Function: walk
extern bool walk(Node *n, bool parent) {
top:	sigchk();
	if (n == NULL) {
		if (!parent)
			exit(0);
		set(TRUE);
		return TRUE;
	}
	switch (n->type) {
	case nArgs: case nBackq: case nConcat: case nCount:
	case nFlat: case nLappend: case nRedir: case nVar:
	case nVarsub: case nWord:
		exec(glob(glom(n)), parent);	/* simple command */
		break;
	case nBody:
		walk(n->u[0].p, TRUE);
		WALK(n->u[1].p, parent);
		/* WALK doesn't fall through */
	case nNowait: {
		int pid;
		if ((pid = rc_fork()) == 0) {
#if defined(RC_JOB) && defined(SIGTTOU) && defined(SIGTTIN) && defined(SIGTSTP)
			setsigdefaults(FALSE);
			rc_signal(SIGTTOU, SIG_IGN);	/* Berkeleyized version: put it in a new pgroup. */
			rc_signal(SIGTTIN, SIG_IGN);
			rc_signal(SIGTSTP, SIG_IGN);
			setpgid(0, getpid());
#else
			setsigdefaults(TRUE);		/* ignore SIGINT, SIGQUIT, SIGTERM */
#endif
			mvfd(rc_open("/dev/null", rFrom), 0);
			walk(n->u[0].p, FALSE);
			exit(getstatus());
		}
		if (interactive)
			fprint(2, "%d\n", pid);
		varassign("apid", word(nprint("%d", pid), NULL), FALSE);
		redirq = NULL; /* kill pre-redir queue */
		break;
	}
	case nAndalso: {
		bool oldcond = cond;
		cond = TRUE;
		if (walk(n->u[0].p, TRUE)) {
			cond = oldcond;
			WALK(n->u[1].p, parent);
		} else
			cond = oldcond;
		break;
	}
	case nOrelse: {
		bool oldcond = cond;
		cond = TRUE;
		if (!walk(n->u[0].p, TRUE)) {
			cond = oldcond;
			WALK(n->u[1].p, parent);
		} else
			cond = oldcond;
		break;
	}
	case nBang:
		set(!walk(n->u[0].p, TRUE));
		break;
	case nIf: {
		bool oldcond = cond;
		Node *true_cmd = n->u[1].p, *false_cmd = NULL;
		if (true_cmd != NULL && true_cmd->type == nElse) {
			false_cmd = true_cmd->u[1].p;
			true_cmd = true_cmd->u[0].p;
		}
		cond = TRUE;
		if (!walk(n->u[0].p, TRUE))
			true_cmd = false_cmd; /* run the else clause */
		cond = oldcond;
		WALK(true_cmd, parent);
	}
	case nWhile: {
		Jbwrap break_jb;
		Edata  break_data;
		Estack break_stack;
		bool testtrue;
		const bool oldcond = cond;
		cond = TRUE;
		if (!walk(n->u[0].p, TRUE)) { /* prevent spurious breaks inside test */
			cond = oldcond;
			break;
		}
		cond = oldcond;
		if (sigsetjmp(break_jb.j, 1))
			break;
		break_data.jb = &break_jb;
		except(eBreak, break_data, &break_stack);

		cond = oldcond;
		do {
			Edata  iter_data;
			Estack iter_stack;
			iter_data.b = newblock();
			except(eArena, iter_data, &iter_stack);
			loop_body(n->u[1].p);
			cond = TRUE;
			testtrue = walk(n->u[0].p, TRUE);
			cond = oldcond;
			unexcept(eArena);
		} while (testtrue);
		cond = oldcond;
		unexcept(eBreak);
		break;
	}
	case nForin: {
		List *l, *var = glom(n->u[0].p);
		Jbwrap break_jb;
		Edata  break_data;
		Estack break_stack;
		if (sigsetjmp(break_jb.j, 1))
			break;
		break_data.jb = &break_jb;
		except(eBreak, break_data, &break_stack);

		for (l = listcpy(glob(glom(n->u[1].p)), nalloc); l != NULL; l = l->n) {
			Edata  iter_data;
			Estack iter_stack;
			assign(var, word(l->w, NULL), FALSE);
			iter_data.b = newblock();
			except(eArena, iter_data, &iter_stack);
			loop_body(n->u[2].p);
			unexcept(eArena);
		}
		unexcept(eBreak);
		break;
	}
	case nSubshell:
		if (dofork(TRUE)) {
			setsigdefaults(FALSE);
			walk(n->u[0].p, FALSE);
			rc_exit(getstatus());
		}
		break;
	case nAssign:
		if (n->u[0].p == NULL)
			rc_error("null variable name");
		assign(glom(n->u[0].p), glob(glom(n->u[1].p)), FALSE);
		break;
	case nPipe:
		dopipe(n);
		break;
	case nNewfn: {
		List *l = glom(n->u[0].p);
		if (l == NULL)
			rc_error("null function name");
		while (l != NULL) {
			if (dashex)
				prettyprint_fn(2, l->w, n->u[1].p);
			fnassign(l->w, n->u[1].p);
			l = l->n;
		}
		set(TRUE);
		break;
	}
	case nRmfn: {
		List *l = glom(n->u[0].p);
		while (l != NULL) {
			if (dashex)
				fprint(2, "fn %S\n", l->w);
			fnrm(l->w);
			l = l->n;
		}
		set(TRUE);
		break;
	}
	case nDup:
		redirq = NULL;
		break; /* Null command */
	case nMatch: {
		List *a = glob(glom(n->u[0].p)), *b = glom(n->u[1].p);
		if (dashex)
			fprint(2, (a != NULL && a->n != NULL) ? "~ (%L) %L\n" : "~ %L %L\n", a, " ", b, " ");
		set(lmatch(a, b));
		break;
	}
	case nSwitch: {
		List *v = glom(n->u[0].p);
		while (1) {
			do {
				n = n->u[1].p;
				if (n == NULL)
					return istrue();
			} while (n->u[0].p == NULL || n->u[0].p->type != nCase);
			if (lmatch(v, glom(n->u[0].p->u[0].p))) {
				for (n = n->u[1].p; n != NULL && (n->u[0].p == NULL || n->u[0].p->type != nCase); n = n->u[1].p)
					walk(n->u[0].p, TRUE);
				break;
			}
		}
		break;
	}
	case nPre: {
		List *v;
		if (n->u[0].p->type == nRedir || n->u[0].p->type == nDup) {
			if (redirq == NULL && !dofork(parent)) /* subshell on first preredir */
				break;
			setsigdefaults(FALSE);
			qredir(n->u[0].p);
			if (!haspreredir(n->u[1].p))
				doredirs(); /* no more preredirs, empty queue */
			walk(n->u[1].p, FALSE);
			rc_exit(getstatus());
			/* NOTREACHED */
		} else if (n->u[0].p->type == nAssign) {
			if (isallpre(n->u[1].p)) {
				walk(n->u[0].p, TRUE);
				WALK(n->u[1].p, parent);
			} else {
				Estack e;
				Edata var;
				v = glom(n->u[0].p->u[0].p);
				assign(v, glob(glom(n->u[0].p->u[1].p)), TRUE);
				var.name = v->w;
				except(eVarstack, var, &e);
				walk(n->u[1].p, parent);
				varrm(v->w, TRUE);
				unexcept(eVarstack);
			}
		} else
			panic("unexpected node in preredir section of walk");
		break;
	}
	case nBrace:
		if (n->u[1].p == NULL) {
			WALK(n->u[0].p, parent);
		} else if (dofork(parent)) {
			setsigdefaults(FALSE);
			walk(n->u[1].p, TRUE); /* Do redirections */
			redirq = NULL;   /* Reset redirection queue */
			walk(n->u[0].p, FALSE); /* Do commands */
			rc_exit(getstatus());
			/* NOTREACHED */
		}
		break;
	case nEpilog:
		qredir(n->u[0].p);
		if (n->u[1].p != NULL) {
			WALK(n->u[1].p, parent); /* Do more redirections. */
		} else {
			doredirs();	/* Okay, we hit the bottom. */
		}
		break;
	case nNmpipe:
		rc_error("named pipes cannot be executed as commands");
		/* NOTREACHED */
	default:
		panic("unknown node in walk");
		/* NOTREACHED */
	}
	return istrue();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2f0, %rsp            # imm = 0x2F0
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
callq 0x104a0
cmpq $0x0, -0x10(%rbp)
jne 0x12dc1
cmpl $0x0, -0x14(%rbp)
jne 0x12dab
xorl %edi, %edi
callq 0x3320
movl $0x1, %edi
callq 0x107a0
movl $0x1, -0x4(%rbp)
jmp 0x138c0
movq -0x10(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x2b8(%rbp)
subq $0x20, %rax
ja 0x138ac
movq -0x2b8(%rbp), %rax
leaq 0x7afa(%rip), %rcx      # 0x1a8e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
callq 0x8af0
movq %rax, %rdi
callq 0x7a10
movq %rax, %rdi
movl -0x14(%rbp), %esi
callq 0x52b0
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x12d92
callq 0x127b0
movl %eax, -0x18(%rbp)
cmpl $0x0, %eax
jne 0x12eba
xorl %edi, %edi
callq 0x5ab0
movl $0x16, %edi
movl $0x1, %esi
callq 0x10590
movl $0x15, %edi
movl $0x1, %esi
callq 0x10590
movl $0x14, %edi
movl $0x1, %esi
callq 0x10590
callq 0x30d0
movl %eax, %esi
xorl %edi, %edi
callq 0x3310
leaq 0x3226(%rip), %rdi      # 0x160b5
xorl %esi, %esi
callq 0xd900
movl %eax, %edi
xorl %esi, %esi
callq 0x11e10
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
xorl %esi, %esi
callq 0x12d80
callq 0x10730
movl %eax, %edi
callq 0x3320
leaq 0xcda3(%rip), %rax      # 0x1fc64
cmpl $0x0, (%rax)
je 0x12edc
movl -0x18(%rbp), %edx
movl $0x2, %edi
leaq 0x7a8f(%rip), %rsi      # 0x1a964
movb $0x0, %al
callq 0xf3a0
movl -0x18(%rbp), %esi
leaq 0x29db(%rip), %rdi      # 0x158c1
movb $0x0, %al
callq 0xf6d0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x8350
movq %rax, %rsi
leaq 0x29d4(%rip), %rdi      # 0x158d7
xorl %edx, %edx
callq 0x11e60
leaq 0xcc47(%rip), %rax      # 0x1fb58
movq $0x0, (%rax)
jmp 0x138b8
movl 0xe145(%rip), %eax      # 0x21068
movl %eax, -0x1c(%rbp)
movl $0x1, 0xe138(%rip)      # 0x21068
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
cmpl $0x0, %eax
je 0x12f67
movl -0x1c(%rbp), %eax
movl %eax, 0xe118(%rip)      # 0x21068
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x12d92
movl -0x1c(%rbp), %eax
movl %eax, 0xe0f8(%rip)      # 0x21068
jmp 0x138b8
movl 0xe0ed(%rip), %eax      # 0x21068
movl %eax, -0x20(%rbp)
movl $0x1, 0xe0e0(%rip)      # 0x21068
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
cmpl $0x0, %eax
jne 0x12fbf
movl -0x20(%rbp), %eax
movl %eax, 0xe0c0(%rip)      # 0x21068
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x12d92
movl -0x20(%rbp), %eax
movl %eax, 0xe0a0(%rip)      # 0x21068
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %edi
callq 0x107a0
jmp 0x138b8
movl 0xe06c(%rip), %eax      # 0x21068
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x1303b
movq -0x30(%rbp), %rax
cmpl $0xa, (%rax)
jne 0x1303b
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movl $0x1, 0xe023(%rip)      # 0x21068
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
cmpl $0x0, %eax
jne 0x13064
movq -0x38(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0x24(%rbp), %eax
movl %eax, 0xdffb(%rip)      # 0x21068
movq -0x30(%rbp), %rax
movq %rax, -0x10(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x12d92
movl 0xdfe2(%rip), %eax      # 0x21068
movl %eax, -0x128(%rbp)
movl $0x1, 0xdfd2(%rip)      # 0x21068
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
cmpl $0x0, %eax
jne 0x130be
movl -0x128(%rbp), %eax
movl %eax, 0xdfaf(%rip)      # 0x21068
jmp 0x138b8
movl -0x128(%rbp), %eax
movl %eax, 0xdf9e(%rip)      # 0x21068
leaq -0x100(%rbp), %rdi
movl $0x1, %esi
callq 0x3360
cmpl $0x0, %eax
je 0x130e5
jmp 0x138b8
leaq -0x100(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rsi
movl $0x1, %edi
leaq -0x120(%rbp), %rdx
callq 0x4da0
movl -0x128(%rbp), %eax
movl %eax, 0xdf51(%rip)      # 0x21068
callq 0xd7d0
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rsi
movl $0x4, %edi
leaq -0x148(%rbp), %rdx
callq 0x4da0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x138d0
movl $0x1, 0xdf16(%rip)      # 0x21068
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
movl %eax, -0x124(%rbp)
movl -0x128(%rbp), %eax
movl %eax, 0xdef2(%rip)      # 0x21068
movl $0x4, %edi
callq 0x4e20
cmpl $0x0, -0x124(%rbp)
jne 0x13117
movl -0x128(%rbp), %eax
movl %eax, 0xded3(%rip)      # 0x21068
movl $0x1, %edi
callq 0x4e20
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8af0
movq %rax, -0x158(%rbp)
leaq -0x220(%rbp), %rdi
movl $0x1, %esi
callq 0x3360
cmpl $0x0, %eax
je 0x131d3
jmp 0x138b8
leaq -0x220(%rbp), %rax
movq %rax, -0x228(%rbp)
movq -0x228(%rbp), %rsi
movl $0x1, %edi
leaq -0x240(%rbp), %rdx
callq 0x4da0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8af0
movq %rax, %rdi
callq 0x7a10
movq %rax, %rdi
leaq -0x5d58(%rip), %rsi     # 0xd4c0
callq 0xc960
movq %rax, -0x150(%rbp)
cmpq $0x0, -0x150(%rbp)
je 0x132b6
movq -0x158(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movq -0x150(%rbp), %rax
movq (%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x8350
movq -0x2c0(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x88d0
callq 0xd7d0
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rsi
movl $0x4, %edi
leaq -0x260(%rbp), %rdx
callq 0x4da0
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x138d0
movl $0x4, %edi
callq 0x4e20
movq -0x150(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x150(%rbp)
jmp 0x13224
movl $0x1, %edi
callq 0x4e20
jmp 0x138b8
movl $0x1, %edi
callq 0x13950
cmpl $0x0, %eax
je 0x132f6
xorl %edi, %edi
callq 0x5ab0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
xorl %esi, %esi
callq 0x12d80
callq 0x10730
movl %eax, %edi
callq 0x5c00
jmp 0x138b8
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x13312
leaq 0x250b(%rip), %rdi      # 0x15818
callq 0x50d0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8af0
movq %rax, -0x2c8(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8af0
movq %rax, %rdi
callq 0x7a10
movq -0x2c8(%rbp), %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x88d0
jmp 0x138b8
movq -0x10(%rbp), %rdi
callq 0x13a00
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8af0
movq %rax, -0x268(%rbp)
cmpq $0x0, -0x268(%rbp)
jne 0x13389
leaq 0x75e4(%rip), %rdi      # 0x1a968
callq 0x50d0
jmp 0x1338b
cmpq $0x0, -0x268(%rbp)
je 0x133e8
leaq 0xc8e4(%rip), %rax      # 0x1fc80
cmpl $0x0, (%rax)
je 0x133bd
movq -0x268(%rbp), %rax
movq (%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdx
movl $0x2, %edi
callq 0x5f90
movq -0x268(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x57b0
movq -0x268(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x268(%rbp)
jmp 0x1338b
movl $0x1, %edi
callq 0x107a0
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8af0
movq %rax, -0x270(%rbp)
cmpq $0x0, -0x270(%rbp)
je 0x13461
leaq 0xc864(%rip), %rax      # 0x1fc80
cmpl $0x0, (%rax)
je 0x1343e
movq -0x270(%rbp), %rax
movq (%rax), %rdx
movl $0x2, %edi
leaq 0x7544(%rip), %rsi      # 0x1a97b
movb $0x0, %al
callq 0xf3a0
movq -0x270(%rbp), %rax
movq (%rax), %rdi
callq 0x5970
movq -0x270(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x270(%rbp)
jmp 0x1340b
movl $0x1, %edi
callq 0x107a0
jmp 0x138b8
leaq 0xc6e1(%rip), %rax      # 0x1fb58
movq $0x0, (%rax)
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8af0
movq %rax, %rdi
callq 0x7a10
movq %rax, -0x278(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x8af0
movq %rax, -0x280(%rbp)
leaq 0xc7c6(%rip), %rax      # 0x1fc80
cmpl $0x0, (%rax)
je 0x13525
xorl %eax, %eax
cmpq $0x0, -0x278(%rbp)
movb %al, -0x2c9(%rbp)
je 0x134e6
movq -0x278(%rbp), %rax
cmpq $0x0, 0x10(%rax)
setne %al
movb %al, -0x2c9(%rbp)
movb -0x2c9(%rbp), %cl
leaq 0x749a(%rip), %rsi      # 0x1a98d
leaq 0x7488(%rip), %rax      # 0x1a982
testb $0x1, %cl
cmovneq %rax, %rsi
movq -0x278(%rbp), %rdx
movq -0x280(%rbp), %r8
movl $0x2, %edi
leaq 0x733e(%rip), %r9       # 0x1a859
movq %r9, %rcx
movb $0x0, %al
callq 0xf3a0
movq -0x278(%rbp), %rdi
movq -0x280(%rbp), %rsi
callq 0x78d0
movl %eax, %edi
callq 0x107a0
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8af0
movq %rax, -0x288(%rbp)
jmp 0x1355a
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x1357a
callq 0x106e0
movl %eax, -0x4(%rbp)
jmp 0x138c0
jmp 0x1357c
movq -0x10(%rbp), %rcx
movb $0x1, %al
cmpq $0x0, 0x8(%rcx)
movb %al, -0x2ca(%rbp)
je 0x135a3
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpl $0x18, (%rax)
setne %al
movb %al, -0x2ca(%rbp)
movb -0x2ca(%rbp), %al
testb $0x1, %al
jne 0x1355a
movq -0x288(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x8af0
movq -0x2d8(%rbp), %rdi
movq %rax, %rsi
callq 0x78d0
cmpl $0x0, %eax
je 0x1365c
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x2d9(%rbp)
je 0x1362e
movq -0x10(%rbp), %rcx
movb $0x1, %al
cmpq $0x0, 0x8(%rcx)
movb %al, -0x2da(%rbp)
je 0x13622
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpl $0x18, (%rax)
setne %al
movb %al, -0x2da(%rbp)
movb -0x2da(%rbp), %al
movb %al, -0x2d9(%rbp)
movb -0x2d9(%rbp), %al
testb $0x1, %al
jne 0x1363a
jmp 0x1365a
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x135ec
jmp 0x13661
jmp 0x13558
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpl $0x14, (%rax)
je 0x13680
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpl $0xc, (%rax)
jne 0x136ea
leaq 0xc4d1(%rip), %rax      # 0x1fb58
cmpq $0x0, (%rax)
jne 0x1369f
movl -0x14(%rbp), %edi
callq 0x13950
cmpl $0x0, %eax
jne 0x1369f
jmp 0x138b8
xorl %edi, %edi
callq 0x5ab0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8a50
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x13ca0
cmpl $0x0, %eax
jne 0x136ca
callq 0x10150
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
xorl %esi, %esi
callq 0x12d80
callq 0x10730
movl %eax, %edi
callq 0x5c00
jmp 0x137f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpl $0x1, (%rax)
jne 0x137e2
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x13d10
cmpl $0x0, %eax
je 0x13736
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x12d92
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x8af0
movq %rax, -0x290(%rbp)
movq -0x290(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x8af0
movq %rax, %rdi
callq 0x7a10
movq -0x2e8(%rbp), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x88d0
movq -0x290(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x2b0(%rbp)
movq -0x2b0(%rbp), %rsi
movl $0x3, %edi
leaq -0x2a8(%rbp), %rdx
callq 0x4da0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl -0x14(%rbp), %esi
callq 0x12d80
movq -0x290(%rbp), %rax
movq (%rax), %rdi
movl $0x1, %esi
callq 0x12380
movl $0x3, %edi
callq 0x4e20
jmp 0x137ee
leaq 0x71ad(%rip), %rdi      # 0x1a996
callq 0x11c80
jmp 0x137f0
jmp 0x138b8
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x13817
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x12d92
movl -0x14(%rbp), %edi
callq 0x13950
cmpl $0x0, %eax
je 0x13866
xorl %edi, %edi
callq 0x5ab0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movl $0x1, %esi
callq 0x12d80
leaq 0xc314(%rip), %rax      # 0x1fb58
movq $0x0, (%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
xorl %esi, %esi
callq 0x12d80
callq 0x10730
movl %eax, %edi
callq 0x5c00
jmp 0x13868
jmp 0x138b8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x8a50
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x13899
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
jmp 0x12d92
callq 0x10150
jmp 0x138b8
leaq 0x711b(%rip), %rdi      # 0x1a9c2
callq 0x50d0
leaq 0x713a(%rip), %rdi      # 0x1a9ed
callq 0x11c80
callq 0x106e0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x2f0, %rsp            # imm = 0x2F0
popq %rbp
retq
nopl (%rax)