LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: popinput
extern void popinput() {
	if (istack->t == iEdit)
		edit_end(istack->cookie);
	if (istack->t == iFd || istack->t == iEdit)
		close(istack->fd);
	efree(inbuf);
	--istack;
	lastchar = istack->last;
	inbuf = istack->ibuf;
	chars_out = istack->index;
	chars_in = istack->read;
	if (save_lineno)
		lineno = istack->lineno;
	else
		lineno++;
	save_lineno = istack->saved;
}

// Assembly:
pushq %rax
movq 0x11b3b(%rip), %rax     # 0x19b30
movl 0x4(%rax), %ecx
cmpl $0x2, %ecx
jne 0x8010
movq 0x28(%rax), %rdi
callq 0x4380
movq 0x11b23(%rip), %rax     # 0x19b30
movl 0x4(%rax), %ecx
testl $0xfffffffd, %ecx       # imm = 0xFFFFFFFD
jne 0x8020
movl 0x8(%rax), %edi
callq 0x3170
movq 0x11b29(%rip), %rdi     # 0x19b50
callq 0x9a5c
movq 0x11afd(%rip), %rcx     # 0x19b30
leaq -0x40(%rcx), %rax
movq %rax, 0x11af2(%rip)     # 0x19b30
movl -0x24(%rcx), %edx
movl %edx, 0x11af1(%rip)     # 0x19b38
movq -0x20(%rcx), %rdx
movq %rdx, 0x11afe(%rip)     # 0x19b50
movslq -0x34(%rcx), %rdx
movq %rdx, 0x11afb(%rip)     # 0x19b58
movslq -0x30(%rcx), %rdx
movq %rdx, 0x11af8(%rip)     # 0x19b60
cmpl $0x0, 0x112b1(%rip)     # 0x19320
je 0x8076
movl -0x28(%rcx), %ecx
jmp 0x8081
leaq 0x11b1b(%rip), %rcx     # 0x19b98
movl (%rcx), %ecx
incl %ecx
leaq 0x11b10(%rip), %rdx     # 0x19b98
movl %ecx, (%rdx)
movl (%rax), %eax
movl %eax, 0x1128e(%rip)     # 0x19320
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: skiptonl
extern void skiptonl() {
	int c;
	if (lastchar == '\n' || lastchar == EOF)
		return;
	while ((c = gchar()) != '\n' && c != EOF)
		; /* skip to newline */
	if (c == EOF)
		ugchar(c);
}

// Assembly:
pushq %rax
movl 0x11a9d(%rip), %eax     # 0x19b38
cmpl $-0x1, %eax
je 0x80a5
cmpl $0xa, %eax
jne 0x80a7
popq %rax
retq
callq 0x7e62
cmpl $0xa, %eax
je 0x80a5
cmpl $-0x1, %eax
jne 0x80a7
pushq $-0x1
popq %rdi
popq %rax
jmp 0x7e28
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: parseline
extern Node *parseline(char *extdef) {
	bool i = interactive;
	char *in[2];
	Node *fun;
	in[0] = extdef;
	in[1] = NULL;
	interactive = FALSE;
	pushstring(in, TRUE);
	fun = doit(FALSE);
	interactive = i;
	return fun;
}

// Assembly:
pushq %rbp
pushq %rbx
subq $0x18, %rsp
leaq 0x1192d(%rip), %rbx     # 0x19bd4
movq %rsp, %rax
movq %rdi, (%rax)
andq $0x0, 0x8(%rax)
movl (%rbx), %ebp
andl $0x0, (%rbx)
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0x7f86
xorl %edi, %edi
callq 0x80bf
movl %ebp, (%rbx)
addq $0x18, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: closefds
extern void closefds() {
	Input *i;
	for (i = istack; i != itop; --i)	/* close open scripts */
		if (i->t == iFd && i->fd > 2) {
			close(i->fd);
			i->fd = -1;
		}
}

// Assembly:
pushq %rbx
movq 0x11856(%rip), %rbx     # 0x19b30
movq 0x11867(%rip), %rax     # 0x19b48
cmpq %rax, %rbx
je 0x830a
cmpl $0x0, 0x4(%rbx)
jne 0x8304
movl 0x8(%rbx), %edi
cmpl $0x3, %edi
jl 0x8304
callq 0x3170
orl $-0x1, 0x8(%rbx)
movq 0x11844(%rip), %rax     # 0x19b48
addq $-0x40, %rbx
jmp 0x82e1
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: nextline
extern void nextline() {
	lineno++;
	if (interactive) {
		if (istack->t == iFd)
			fprint(2, "%s", prompt2);
		else if (istack->t == iEdit)
			edit_prompt(istack->cookie, prompt2);
	}
}

// Assembly:
leaq 0x11885(%rip), %rax     # 0x19b98
incl (%rax)
leaq 0x118b8(%rip), %rax     # 0x19bd4
cmpl $0x0, (%rax)
je 0x834c
movq 0x11808(%rip), %rax     # 0x19b30
movl 0x4(%rax), %ecx
cmpl $0x2, %ecx
je 0x834d
testl %ecx, %ecx
jne 0x834c
movq 0x1183d(%rip), %rdx     # 0x19b78
leaq 0x6230(%rip), %rsi      # 0xe572
pushq $0x2
popq %rdi
xorl %eax, %eax
jmp 0xa8f6
retq
movq 0x28(%rax), %rdi
movq 0x11820(%rip), %rsi     # 0x19b78
jmp 0x4344
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: pushcommon
static void pushcommon() {
	size_t idiff;
	istack->index = chars_out;
	istack->read = chars_in;
	istack->ibuf = inbuf;
	istack->lineno = lineno;
	istack->saved = save_lineno;
	istack->last = lastchar;
	istack++;
	idiff = istack - itop;
	if (idiff >= istacksize / sizeof (Input)) {
		itop = erealloc(itop, istacksize *= 2);
		istack = itop + idiff;
	}
	chars_out = 0;
	chars_in = 0;
	istack->ungetcount = 0;
}

// Assembly:
pushq %rbx
movl 0x117f4(%rip), %ecx     # 0x19b58
movq 0x117c5(%rip), %rax     # 0x19b30
movl %ecx, 0xc(%rax)
movl 0x117ec(%rip), %ecx     # 0x19b60
movl %ecx, 0x10(%rax)
movq 0x117d2(%rip), %rcx     # 0x19b50
movq %rcx, 0x20(%rax)
leaq 0x1180f(%rip), %rcx     # 0x19b98
movl (%rcx), %ecx
movl %ecx, 0x18(%rax)
movl 0x10f8c(%rip), %ecx     # 0x19320
movl %ecx, (%rax)
movl 0x1179c(%rip), %ecx     # 0x19b38
movl %ecx, 0x1c(%rax)
addq $0x40, %rax
movq %rax, 0x11786(%rip)     # 0x19b30
movq 0x11797(%rip), %rdi     # 0x19b48
movq %rax, %rbx
subq %rdi, %rbx
movq %rbx, %rcx
sarq $0x6, %rcx
movq 0x1177b(%rip), %rsi     # 0x19b40
movq %rsi, %rdx
shrq $0x6, %rdx
cmpq %rdx, %rcx
jb 0x83f4
addq %rsi, %rsi
movq %rsi, 0x11765(%rip)     # 0x19b40
callq 0x9acc
movq %rax, 0x11761(%rip)     # 0x19b48
addq %rax, %rbx
movq %rbx, 0x1173f(%rip)     # 0x19b30
movq %rbx, %rax
andq $0x0, 0x1175c(%rip)     # 0x19b58
andq $0x0, 0x1175c(%rip)     # 0x19b60
andl $0x0, 0x14(%rax)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: editgchar
static int editgchar() {
	if (chars_out >= chars_in) { /* replenish empty buffer */
		edit_free(istack->cookie);
		inbuf = edit_alloc(istack->cookie, &chars_in);
		if (inbuf == NULL) {
			chars_in = 0;
			fprint(2, "exit\n");
			return lastchar = EOF;
		}

		chars_out = 0;
		if (dashvee)
			writeall(2, inbuf, chars_in);
		history();
	}

	return lastchar = inbuf[chars_out++];
}

// Assembly:
pushq %rax
movq 0x11746(%rip), %rax     # 0x19b58
cmpq 0x11747(%rip), %rax     # 0x19b60
jb 0x8480
movq 0x1170e(%rip), %rax     # 0x19b30
movq 0x28(%rax), %rdi
callq 0x4362
movq 0x116fe(%rip), %rax     # 0x19b30
movq 0x28(%rax), %rdi
leaq 0x11723(%rip), %rsi     # 0x19b60
callq 0x4326
movq %rax, 0x11707(%rip)     # 0x19b50
testq %rax, %rax
je 0x849e
andq $0x0, 0x11702(%rip)     # 0x19b58
leaq 0x1178f(%rip), %rcx     # 0x19bec
cmpl $0x0, (%rcx)
je 0x8474
movq 0x116f7(%rip), %rdx     # 0x19b60
pushq $0x2
popq %rdi
movq %rax, %rsi
callq 0xb7c0
callq 0x84bc
movq 0x116d8(%rip), %rax     # 0x19b58
movq 0x116c9(%rip), %rcx     # 0x19b50
leaq 0x1(%rax), %rdx
movq %rdx, 0x116c6(%rip)     # 0x19b58
movsbl (%rcx,%rax), %eax
movl %eax, 0x1169c(%rip)     # 0x19b38
popq %rcx
retq
andq $0x0, 0x116ba(%rip)     # 0x19b60
leaq 0x639b(%rip), %rsi      # 0xe848
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0xa8f6
pushq $-0x1
popq %rax
jmp 0x8496
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: history
static void history() {
	List *hist;
	size_t a;

	if (!interactive || (hist = varlookup("history")) == NULL)
		return;

	for (a = 0; a < chars_in; a++) {
		char c = inbuf[a];

		/* skip empty lines and comments */
		if (c == '#' || c == '\n')
			break;

		/* line matches [ \t]*[^#\n] so it's ok to write out */
		if (c != ' ' && c != '\t') {
			char *name = hist->w;
			int fd = rc_open(name, rAppend);
			if (fd < 0)
				uerror(name);
			else {
				writeall(fd, inbuf, chars_in);
				close(fd);
			}
			break;
		}
	}
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
leaq 0x1170d(%rip), %rax     # 0x19bd4
cmpl $0x0, (%rax)
je 0x850f
leaq 0x637b(%rip), %rdi      # 0xe84e
callq 0xc16d
testq %rax, %rax
je 0x850f
movq 0x1167c(%rip), %rcx     # 0x19b60
movq 0x11665(%rip), %rdx     # 0x19b50
xorl %esi, %esi
cmpq %rsi, %rcx
je 0x850f
movzbl (%rdx,%rsi), %edi
cmpl $0x9, %edi
je 0x8500
cmpl $0x20, %edi
jne 0x8505
incq %rsi
jmp 0x84ed
cmpl $0xa, %edi
je 0x850f
cmpl $0x23, %edi
jne 0x8517
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq (%rax), %r14
pushq $0x2
popq %rsi
movq %r14, %rdi
callq 0x9afc
testl %eax, %eax
js 0x854e
movl %eax, %ebx
movq 0x1161e(%rip), %rsi     # 0x19b50
movq 0x11627(%rip), %rdx     # 0x19b60
movl %eax, %edi
callq 0xb7c0
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x3170
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xbe9d
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/input.c
// Function: fdgchar
static int fdgchar() {
	if (chars_out >= chars_in) { /* replenish empty buffer */
		ssize_t r;
		do {
			r = rc_read(istack->fd, inbuf, BUFSIZE);
			sigchk();
			if (r == -1)
				switch (errno) {
				case EAGAIN:
					if (!makeblocking(istack->fd))
						panic("not O_NONBLOCK");
					errno = EINTR;
					break;
				case EIO:
					if (makesamepgrp(istack->fd))
						errno = EINTR;
					else
						errno = EIO;
					break;
				}
		} while (r < 0 && errno == EINTR);
		if (r < 0) {
			uerror("read");
			rc_raise(eError);
		}
		chars_in = (size_t) r;
		if (chars_in == 0)
			return lastchar = EOF;
		chars_out = 0;
		if (dashvee)
			writeall(2, inbuf, chars_in);
		history();
	}

	return lastchar = inbuf[chars_out++];
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq 0x115ed(%rip), %rax     # 0x19b58
cmpq 0x115ee(%rip), %rax     # 0x19b60
jb 0x866a
pushq $0x4
popq %rbp
leaq 0x62d4(%rip), %r14      # 0xe856
movq 0x115a7(%rip), %rax     # 0x19b30
movl 0x8(%rax), %edi
movq 0x115bd(%rip), %rsi     # 0x19b50
movl $0x100, %edx            # imm = 0x100
callq 0x31c0
movq %rax, %rbx
callq 0xb266
cmpq $-0x1, %rbx
je 0x85b9
testq %rbx, %rbx
jns 0x862f
callq 0x3040
movl (%rax), %eax
jmp 0x860a
callq 0x3040
movq %rax, %r15
movl (%rax), %eax
cmpl $0x5, %eax
je 0x85ea
cmpl $0xb, %eax
jne 0x860a
movq 0x1155c(%rip), %rax     # 0x19b30
movl 0x8(%rax), %edi
callq 0x9b36
testl %eax, %eax
jne 0x8601
movq %r14, %rdi
callq 0xbeea
jmp 0x8601
movq 0x1153f(%rip), %rax     # 0x19b30
movl 0x8(%rax), %edi
callq 0x9ba4
testl %eax, %eax
je 0x8696
movl $0x4, (%r15)
movl %ebp, %eax
cmpl $0x4, %eax
je 0x8582
leaq 0x616e(%rip), %rdi      # 0xe788
callq 0xbe9d
xorl %edi, %edi
callq 0x4470
movq %rbx, 0x11533(%rip)     # 0x19b60
jmp 0x8638
movq %rbx, 0x1152a(%rip)     # 0x19b60
je 0x8691
andq $0x0, 0x11518(%rip)     # 0x19b58
leaq 0x115a5(%rip), %rax     # 0x19bec
cmpl $0x0, (%rax)
je 0x865e
movq 0x114fd(%rip), %rsi     # 0x19b50
pushq $0x2
popq %rdi
movq %rbx, %rdx
callq 0xb7c0
callq 0x84bc
movq 0x114ee(%rip), %rax     # 0x19b58
movq 0x114df(%rip), %rcx     # 0x19b50
leaq 0x1(%rax), %rdx
movq %rdx, 0x114dc(%rip)     # 0x19b58
movsbl (%rcx,%rax), %eax
movl %eax, 0x114b2(%rip)     # 0x19b38
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $-0x1
popq %rax
jmp 0x8680
movl $0x5, (%r15)
jmp 0x8613
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/lex.c
// Function: getpair
static void getpair(int c) {
	int n;
	fd_left = fd_right = UNSET;
	if (c != '[') {
		ugchar(c);
		return;
	}
	if ((unsigned int) (n = gchar() - '0') > 9) {
		scanerror("expected digit after '['");
		return;
	}
	while ((unsigned int) (c = gchar() - '0') <= 9)
		n = n * 10 + c;
	fd_left = n;
	c += '0';
	switch (c) {
	default:
		scanerror("expected '=' or ']' after digit");
		return;
	case ']':
		return;
	case '=':
		if ((unsigned int) (n = gchar() - '0') > 9) {
			if (n != ']' - '0') {
				scanerror("expected digit or ']' after '='");
				return;
			}
			fd_right = CLOSED;
		} else {
			while ((unsigned int) (c = gchar() - '0') <= 9)
				n = n * 10 + c;
			if (c != ']' - '0') {
				scanerror("expected ']' after digit");
				return;
			}
			fd_right = n;
		}
	}
}

// Assembly:
pushq %rbx
pushq $-0x9
popq %rax
movl %eax, 0x10c1f(%rip)     # 0x19ba4
movl %eax, 0x10c15(%rip)     # 0x19ba0
cmpl $0x5b, %edi
jne 0x8fd5
callq 0x7e62
movl %eax, %ebx
addl $-0x30, %ebx
cmpl $0x9, %ebx
jbe 0x8faf
leaq 0x5da6(%rip), %rdi      # 0xed4c
jmp 0x9027
imull $0xa, %ebx, %eax
addl %eax, %ecx
movl %ecx, %ebx
callq 0x7e62
leal -0x30(%rax), %ecx
cmpl $0x9, %ecx
jbe 0x8fa8
movl %ebx, 0x10bde(%rip)     # 0x19ba0
cmpl $0x3d, %eax
je 0x8fdb
cmpl $0x5d, %eax
je 0x9015
leaq 0x5d92(%rip), %rdi      # 0xed65
jmp 0x9027
popq %rbx
jmp 0x7e28
callq 0x7e62
movl %eax, %ebx
addl $-0x30, %ebx
cmpl $0x9, %ebx
jbe 0x8ff4
cmpl $0x2d, %ebx
jne 0x9017
pushq $-0x1
popq %rbx
jmp 0x900f
callq 0x7e62
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0x900a
imull $0xa, %ebx, %ecx
addl %ecx, %eax
movl %eax, %ebx
jmp 0x8ff4
cmpl $0x2d, %eax
jne 0x9020
movl %ebx, 0x10b8f(%rip)     # 0x19ba4
popq %rbx
retq
leaq 0x5d67(%rip), %rdi      # 0xed85
jmp 0x9027
leaq 0x5d7e(%rip), %rdi      # 0xeda5
popq %rbx
jmp 0x8f5a
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/lex.c
// Function: yyerror
extern void yyerror(const char *s) {
	char *tok;
	if (prerror) { /* don't print "syntax error" if there's a more informative scanerror */
		prerror = FALSE;
		return;
	}
	if (!interactive) {
		if (w != NW)
			tok = realbuf;
		else if (lastchar == EOF)
			tok = "eof";
		else if (lastchar == '\n')
			tok = "end of line";
		else
			tok = nprint((lastchar < 32 || lastchar > 126) ? "(decimal %d)" : "'%c'", lastchar);
		fprint(2, "rc: line %d: %s near %s\n", lineno - (lastchar == '\n'), s, tok);
	} else
		fprint(2, "rc: %s\n", s);
}

// Assembly:
pushq %rbx
cmpb $0x1, 0x10b73(%rip)     # 0x19ba8
jne 0x9040
movb $0x0, 0x10b6a(%rip)     # 0x19ba8
popq %rbx
retq
movq %rdi, %rbx
leaq 0x10b8a(%rip), %rax     # 0x19bd4
cmpl $0x0, (%rax)
je 0x9064
leaq 0x5cee(%rip), %rsi      # 0xed44
pushq $0x2
popq %rdi
movq %rbx, %rdx
xorl %eax, %eax
popq %rbx
jmp 0xa8f6
cmpl $0x0, 0x10b31(%rip)     # 0x19b9c
je 0x90a0
movq 0x10b14(%rip), %r8      # 0x19b88
movl 0x10b1e(%rip), %edx     # 0x19b98
leaq 0x10ab7(%rip), %rax     # 0x19b38
xorl %ecx, %ecx
cmpl $0xa, (%rax)
sete %cl
subl %ecx, %edx
leaq 0x5c99(%rip), %rsi      # 0xed2b
pushq $0x2
popq %rdi
movq %rbx, %rcx
xorl %eax, %eax
popq %rbx
jmp 0xa8f6
leaq 0x10a91(%rip), %rax     # 0x19b38
movl (%rax), %esi
cmpl $-0x1, %esi
je 0x90bc
cmpl $0xa, %esi
jne 0x90c5
leaq 0x5c53(%rip), %r8       # 0xed0d
jmp 0x9074
leaq 0x5c46(%rip), %r8       # 0xed09
jmp 0x9074
leal -0x7f(%rsi), %eax
cmpl $-0x5f, %eax
leaq 0x5c47(%rip), %rax      # 0xed19
leaq 0x5c4d(%rip), %rdi      # 0xed26
cmovbq %rax, %rdi
xorl %eax, %eax
callq 0xaaee
movq %rax, %r8
jmp 0x9074
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/lex.c
// Function: inityy
extern void inityy() {
	newline = FALSE;
	w = NW;
	hq = NULL;
	/* return memory to the system if the buffer got too large */
	if (bufsize > BUFMAX && realbuf != NULL) {
		efree(realbuf);
		bufsize = BUFSIZE;
		realbuf = ealloc(bufsize);
	} else if (realbuf == NULL)
		realbuf = ealloc(bufsize);
}

// Assembly:
pushq %rax
movb $0x0, 0x10aa3(%rip)     # 0x19b94
andl $0x0, 0x10aa4(%rip)     # 0x19b9c
leaq 0x10a21(%rip), %rax     # 0x19b20
andq $0x0, (%rax)
movq 0x10236(%rip), %rdi     # 0x19340
cmpq $0x1f41, %rdi           # imm = 0x1F41
setae %cl
movq 0x10a6d(%rip), %rax     # 0x19b88
testq %rax, %rax
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x9142
movq %rax, %rdi
callq 0x9a5c
movq $0x3e8, 0x10205(%rip) # imm = 0x3E8
movl $0x3e8, %edi            # imm = 0x3E8
jmp 0x9147
testq %rax, %rax
jne 0x9153
callq 0x9a83
movq %rax, 0x10a35(%rip)     # 0x19b88
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/list.c
// Function: listfree
extern void listfree(List *p) {
	while (p != NULL) {
		List *n = p->n;
		efree(p->w);
		efree(p);
		p = n;
	}
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rbx, %rbx
je 0x917d
movq (%rbx), %rdi
movq 0x10(%rbx), %r14
callq 0x9a5c
movq %rbx, %rdi
callq 0x9a5c
movq %r14, %rbx
jmp 0x915f
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/list.c
// Function: listcpy
extern List *listcpy(List *s, void *(*alloc)(size_t)) {
	List *top, *r;
	for (top = r = NULL; s != NULL; s = s->n) {
		if (top == NULL)
			r = top = (*alloc)(sizeof (List));
		else
			r = r->n = (*alloc)(sizeof (List));
		r->w = (*alloc)(strlen(s->w) + 1);
		strcpy(r->w, s->w);
		r->m = NULL;
	}
	if (r != NULL)
		r->n = NULL;
	return top;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %r12d, %r12d
xorl %r15d, %r15d
testq %r14, %r14
je 0x91e6
pushq $0x18
popq %rdi
callq *%rbx
movq %rax, %r13
movq %rax, %rbp
testq %r12, %r12
je 0x91b8
movq %r13, 0x10(%r15)
movq %r12, %rbp
movq (%r14), %rdi
callq 0x30f0
leaq 0x1(%rax), %rdi
callq *%rbx
movq %rax, (%r13)
movq (%r14), %rsi
movq %rax, %rdi
callq 0x3070
andq $0x0, 0x8(%r13)
movq 0x10(%r14), %r14
movq %rbp, %r12
movq %r13, %r15
jmp 0x919c
testq %r15, %r15
je 0x91f0
andq $0x0, 0x10(%r15)
movq %r12, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/list.c
// Function: listlen
extern size_t listlen(List *s) {
	size_t size;
	for (size = 0; s != NULL; s = s->n)
		size += strlen(s->w) + 1;
	return size;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
xorl %ebx, %ebx
testq %r14, %r14
je 0x9224
movq (%r14), %rdi
callq 0x30f0
addq %rax, %rbx
incq %rbx
movq 0x10(%r14), %r14
jmp 0x920b
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/list.c
// Function: listnel
extern int listnel(List *s) {
	int nel;
	for (nel = 0; s != NULL; s = s->n)
		nel++;
	return nel;
}

// Assembly:
xorl %eax, %eax
testq %rdi, %rdi
je 0x923e
incl %eax
movq 0x10(%rdi), %rdi
jmp 0x9231
retq
nop
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/main.c
// Function: assigndefault
static void assigndefault(char *name,...) {
	va_list ap;
	List *l;
	char *v;
	va_start(ap, name);
	for (l = NULL; (v = va_arg(ap, char *)) != NULL;)
		l = append(l, word(v, NULL));
	varassign(name, l, FALSE);
	set_exportable(name, FALSE);
	if (streq(name, "path"))
		alias(name, l, FALSE);
	va_end(ap);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0xd8, %rsp
movq %rdi, %rbx
leaq 0x20(%rsp), %rdi
movq %rsi, 0x8(%rdi)
movq %rdx, 0x10(%rdi)
movq %rcx, 0x18(%rdi)
movq %r8, 0x20(%rdi)
movq %r9, 0x28(%rdi)
testb %al, %al
je 0x96d9
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
movq %rdi, 0x10(%rsp)
leaq 0xf0(%rsp), %rax
movq %rax, 0x8(%rsp)
movabsq $0x3000000008, %rax     # imm = 0x3000000008
movq %rax, (%rsp)
xorl %r14d, %r14d
movl (%rsp), %ecx
cmpq $0x28, %rcx
ja 0x9715
movq %rcx, %rax
addq 0x10(%rsp), %rax
addl $0x8, %ecx
movl %ecx, (%rsp)
jmp 0x9723
movq 0x8(%rsp), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq (%rax), %rdi
testq %rdi, %rdi
je 0x9742
xorl %esi, %esi
callq 0x6400
movq %r14, %rdi
movq %rax, %rsi
callq 0x642e
movq %rax, %r14
jmp 0x96fc
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0xbfac
movq %rbx, %rdi
xorl %esi, %esi
callq 0x75d7
cmpb $0x70, (%rbx)
jne 0x977e
leaq 0x4972(%rip), %rsi      # 0xe0d7
movq %rbx, %rdi
callq 0x31f0
testl %eax, %eax
jne 0x977e
movq %rbx, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0xc128
addq $0xd8, %rsp
popq %rbx
popq %r14
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/match.c
// Function: match
extern bool match(char *p, char *m, char *s) {
	struct { char *p, *m, *s; } next;
	if (m == NULL)
		return streq(p, s);
	next.s = NULL;
	while (*p || *s) {
		if (*p) {
			if (!*m) {
				/* ordinary character */
				if (*s == *p) {
					p++, m++, s++;
					continue;
				}
			} else switch (*p) {
			case '?':
				if (*s) {
					p++, m++, s++;
					continue;
				}
				break;
			case '[': {
				int r = 1 + rangematch(p+1, *s);
				if (r > 0) {
					p += r, m += r, s++;
					continue;
				}
				break;
			}
			case '*':
				next.p = p++;
				next.m = m++;
				next.s = *s ? s+1 : NULL;
				continue;
			default:
				panic("bad metacharacter in match");
				/* NOTREACHED */
				return FALSE; /* hush up gcc -Wall */
			}
		}
		if (next.s != NULL) {
			p = next.p;
			m = next.m;
			s = next.s;
			continue;
		}
		return FALSE;
	}
	return TRUE;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rsi, %rsi
je 0x98f6
xorl %ecx, %ecx
xorl %r9d, %r9d
leaq 0x1(%rdx), %r11
xorl %ebx, %ebx
movzbl (%rdi,%rbx), %ebp
testl %ebp, %ebp
je 0x97f0
leaq (%rsi,%rbx), %r14
cmpb $0x0, (%r14)
je 0x97fe
cmpl $0x2a, %ebp
jne 0x97d8
leaq (%rdi,%rbx), %r8
cmpb $0x0, (%rdx)
movq %r11, %r9
cmoveq %rcx, %r9
incq %rbx
movq %r14, %r10
jmp 0x97ab
cmpl $0x5b, %ebp
je 0x9818
cmpl $0x3f, %ebp
jne 0x98e8
cmpb $0x0, (%rdx)
jne 0x9807
jmp 0x98d4
cmpb $0x0, (%rdx)
jne 0x98d4
jmp 0x9920
cmpb %bpl, (%rdx)
jne 0x98d4
addq %rbx, %rdi
incq %rdi
addq %rbx, %rsi
incq %rsi
jmp 0x98cc
leaq (%rdi,%rbx), %r12
leaq (%rdi,%rbx), %r14
incq %r14
xorl %eax, %eax
cmpb $0x7e, (%r14)
sete %al
xorl %r13d, %r13d
cmpb $0x5d, 0x1(%rax,%r12)
movb (%rdx), %dl
sete %r13b
cmpb $0x5d, %dl
sete %bpl
addq %rax, %r14
addq %r13, %r14
andb %bpl, %r13b
movzbl %r13b, %ebp
movzbl (%r14), %r12d
cmpl $0x5d, %r12d
je 0x98a8
testl %r12d, %r12d
je 0x9899
cmpb $0x2d, 0x1(%r14)
jne 0x986f
movb 0x2(%r14), %r13b
cmpb $0x5d, %r13b
jne 0x9878
cmpb %dl, %r12b
sete %r12b
jmp 0x988d
addq $0x2, %r14
cmpb %dl, %r12b
setle %r15b
cmpb %dl, %r13b
setge %r12b
andb %r15b, %r12b
movzbl %r12b, %r15d
orl %r15d, %ebp
incq %r14
jmp 0x984f
xorl %r14d, %r14d
cmpb $0x5b, %dl
setne %r14b
negl %r14d
jmp 0x98b2
cmpl %eax, %ebp
je 0x98d4
subl %edi, %r14d
subl %ebx, %r14d
testl %r14d, %r14d
js 0x98d4
movl %r14d, %eax
addq %rax, %rdi
incq %rdi
addq %rbx, %rdi
addq %rax, %rsi
incq %rsi
addq %rbx, %rsi
movq %r11, %rdx
jmp 0x97a5
movq %r8, %rdi
movq %r10, %rsi
movq %r9, %rdx
testq %r9, %r9
jne 0x97a5
jmp 0x990f
leaq 0x5580(%rip), %rdi      # 0xee6f
callq 0xbeea
jmp 0x990f
movb (%rdi), %al
cmpb (%rdx), %al
jne 0x990f
movq %rdx, %rsi
callq 0x31f0
movl %eax, %ecx
xorl %eax, %eax
testl %ecx, %ecx
sete %al
jmp 0x9911
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x1
popq %rax
jmp 0x9911
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/nalloc.c
// Function: nalloc
extern void *nalloc(size_t n) {
	size_t base;
	Block *ulp;
	n = alignto(n, sizeof(align_t));
	ulp = ul;
	if (ulp != NULL && n + (base = ulp->used) < ulp->size) {
		ulp->used = base + n;
		return &ulp->mem[base];
	} else {
		getblock(n);
		assert(ul->used == 0);
		(ulp = ul)->used = n;
		return &ulp->mem[0];
	}
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
addq $0x7, %rbx
andq $-0x8, %rbx
movq 0x102ba(%rip), %rcx     # 0x19bf8
testq %rcx, %rcx
je 0x9959
movq (%rcx), %rax
leaq (%rax,%rbx), %rdx
cmpq 0x8(%rcx), %rdx
jae 0x9959
movq %rdx, (%rcx)
addq 0x10(%rcx), %rax
jmp 0x99d0
leaq 0x102a0(%rip), %rdx     # 0x19c00
xorl %eax, %eax
movq (%rdx), %r14
testq %r14, %r14
je 0x9979
cmpq %rbx, 0x8(%r14)
jae 0x99a8
leaq 0x18(%r14), %rdx
movq %r14, %rax
jmp 0x9962
pushq $0x20
popq %rdi
callq 0x9a83
movq %rax, %r14
leaq 0xfff(%rbx), %rdi
andq $-0x1000, %rdi          # imm = 0xF000
movq %rdi, 0x8(%rax)
callq 0x9a83
movq %rax, 0x10(%r14)
movq 0x10252(%rip), %rcx     # 0x19bf8
jmp 0x99be
movq 0x18(%r14), %rdx
testq %rax, %rax
je 0x99b7
movq %rdx, 0x18(%rax)
jmp 0x99be
movq %rdx, 0x10242(%rip)     # 0x19c00
movq %rcx, 0x18(%r14)
movq %r14, 0x1022f(%rip)     # 0x19bf8
movq %rbx, (%r14)
movq 0x10(%r14), %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/nalloc.c
// Function: nfree
extern void nfree() {
	size_t count;
	Block *r;
	if (ul == NULL)
		return;
	for (r = ul; r->n != NULL; r = r->n)
		;	/* get to end of used list */
	r->n = fl;	/* tack free list onto it */
	fl = ul;	/* and make it the free list */
	ul = NULL;	/* finally, zero out the used list */
	for (r = fl, count = r->size; r->n != NULL; r = r->n, count += r->size) {
		if (count >= MAXMEM) {
			Block *tmp = r;
			r = r->n;
			tmp->n = NULL;		/* terminate the free list */
			while (r != NULL) {	/* free memory off the tail of the free list */
				tmp = r->n;
				efree(r->mem);
				efree(r);
				r = tmp;
			}
		return;
		}
	}
}

// Assembly:
movq 0x10219(%rip), %rax     # 0x19bf8
testq %rax, %rax
je 0x9a5b
pushq %r14
pushq %rbx
pushq %rax
movq %rax, %rdx
movq %rdx, %rcx
movq 0x18(%rdx), %rdx
testq %rdx, %rdx
jne 0x99eb
movq 0x10202(%rip), %rdx     # 0x19c00
movq %rdx, 0x18(%rcx)
movq %rax, 0x101f7(%rip)     # 0x19c00
andq $0x0, 0x101e7(%rip)     # 0x19bf8
movq 0x8(%rax), %rcx
movq 0x18(%rax), %rbx
testq %rbx, %rbx
je 0x9a54
cmpq $0x7a120, %rcx          # imm = 0x7A120
jae 0x9a30
addq 0x8(%rbx), %rcx
movq %rbx, %rax
jmp 0x9a15
andq $0x0, 0x18(%rax)
testq %rbx, %rbx
je 0x9a54
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %r14
callq 0x3030
movq %rbx, %rdi
callq 0x3030
movq %r14, %rbx
jmp 0x9a35
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/nalloc.c
// Function: ealloc
extern void *ealloc(size_t n) {
	void *p;

	assert(n);
	p = malloc(n);
	if (p == NULL) {
		uerror("malloc");
		rc_exit(1);
	}
	return p;
}

// Assembly:
pushq %rbx
testq %rdi, %rdi
je 0x9aaf
callq 0x3270
movq %rax, %rbx
testq %rax, %rax
jne 0x9aaa
leaq 0x540b(%rip), %rdi      # 0xeea8
callq 0xbe9d
pushq $0x1
popq %rdi
callq 0x4d65
movq %rbx, %rax
popq %rbx
retq
leaq 0x541a(%rip), %rdi      # 0xeed0
leaq 0x53cd(%rip), %rsi      # 0xee8a
leaq 0x53cf(%rip), %rcx      # 0xee93
pushq $0x75
popq %rdx
callq 0x3140
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/nalloc.c
// Function: erealloc
extern void *erealloc(void *p, size_t n) {
	if (p == NULL)		/* erealloc() has POSIX realloc() semantics */
		return ealloc(n);
	if ((p = realloc(p, n)) == NULL) {
		uerror("realloc");
		rc_exit(1);
	}
	return p;
}

// Assembly:
testq %rdi, %rdi
je 0x9af4
pushq %rax
callq 0x32a0
testq %rax, %rax
jne 0x9af2
leaq 0x53cc(%rip), %rdi      # 0xeeaf
callq 0xbe9d
pushq $0x1
popq %rdi
callq 0x4d65
xorl %eax, %eax
popq %rcx
retq
movq %rsi, %rdi
jmp 0x9a83
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/open.c
// Function: makeblocking
extern bool makeblocking(int fd) {
	int flags;

	if ((flags = fcntl(fd, F_GETFL)) == -1) {
		uerror("fcntl");
		rc_error(NULL);
	}
	if (! (flags & O_NONBLOCK))
		return FALSE;
	flags &= ~O_NONBLOCK;
	if (fcntl(fd, F_SETFL, (long) flags) == -1) {
		uerror("fcntl");
		rc_error(NULL);
	}
	return TRUE;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edi, %ebx
xorl %ebp, %ebp
pushq $0x3
popq %rsi
xorl %eax, %eax
callq 0x30b0
movl %eax, %r14d
cmpl $-0x1, %eax
je 0x9b59
btl $0xb, %r14d
jb 0x9b6c
jmp 0x9b9d
leaq 0x5372(%rip), %rdi      # 0xeed2
callq 0xbe9d
xorl %edi, %edi
callq 0x45b7
andl $0xfffff7ff, %r14d      # imm = 0xFFFFF7FF
movslq %r14d, %rdx
pushq $0x4
popq %rsi
movl %ebx, %edi
xorl %eax, %eax
callq 0x30b0
pushq $0x1
popq %rbp
cmpl $-0x1, %eax
jne 0x9b9d
leaq 0x5341(%rip), %rdi      # 0xeed2
callq 0xbe9d
xorl %edi, %edi
callq 0x45b7
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/open.c
// Function: makesamepgrp
extern bool makesamepgrp(int fd) {
	pid_t grp;

	grp = getpgrp();

	if (tcgetpgrp(fd) == grp)
		return FALSE;

	if (tcsetpgrp(fd, grp) < 0) {
		uerror("tcsetgrp");
		return FALSE;
	}
	return TRUE;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edi, %ebp
callq 0x32d0
movl %eax, %r14d
movl %ebp, %edi
callq 0x3240
xorl %ebx, %ebx
cmpl %r14d, %eax
je 0x9bdf
movl %ebp, %edi
movl %r14d, %esi
callq 0x32e0
testl %eax, %eax
js 0x9bd3
pushq $0x1
popq %rbx
jmp 0x9bdf
leaq 0x52fe(%rip), %rdi      # 0xeed8
callq 0xbe9d
movl %ebx, %eax
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: fmtinstall
extern bool (*fmtinstall(int c, bool (*f)(Format *, int)))(Format *, int) {
/*Conv fmtinstall(int c, Conv f) {*/
	Conv oldf;
	if (fmttab[0] == NULL)
		inittab();
	c &= MAXCONV - 1;
	oldf = fmttab[c];
	if (f != NULL)
		fmttab[c] = f;
	return oldf;
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rsi, %rbx
movl %edi, %ebp
cmpq $0x0, 0xf6a0(%rip)      # 0x19c90
jne 0xa5f7
callq 0xa616
movzbl %bpl, %ecx
leaq 0xf68e(%rip), %rdx      # 0x19c90
movq (%rdx,%rcx,8), %rax
testq %rbx, %rbx
je 0xa60f
movq %rbx, (%rdx,%rcx,8)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: inittab
static void inittab(void) {
	int i;
	for (i = 0; i < MAXCONV; i++)
		fmttab[i] = badconv;

	fmttab['s'] = sconv;
	fmttab['c'] = cconv;
	fmttab['d'] = dconv;
	fmttab['o'] = oconv;
	fmttab['x'] = xconv;
	fmttab['%'] = pctconv;

	fmttab['u'] = uconv;
	fmttab['l'] = rc_lconv;
	fmttab['#'] = altconv;
	fmttab['-'] = leftconv;
	fmttab['.'] = dotconv;

#if HAVE_QUAD_T
	fmttab['q'] = qconv;
#endif

	fmttab['0'] = zeroconv;
	for (i = '1'; i <= '9'; i++)
		fmttab[i] = digitconv;
}

// Assembly:
xorl %ecx, %ecx
leaq 0xf671(%rip), %rax      # 0x19c90
leaq 0x58a(%rip), %rdx       # 0xabb0
cmpq $0x800, %rcx            # imm = 0x800
je 0xa639
movq %rdx, (%rcx,%rax)
addq $0x8, %rcx
jmp 0xa626
leaq 0x581(%rip), %rcx       # 0xabc1
movq %rcx, 0xf9e1(%rip)      # 0x1a028
leaq 0x618(%rip), %rcx       # 0xac66
movq %rcx, 0xf953(%rip)      # 0x19fa8
leaq 0x657(%rip), %rcx       # 0xacb3
movq %rcx, 0xf94d(%rip)      # 0x19fb0
leaq 0x65d(%rip), %rcx       # 0xacc7
movq %rcx, 0xf997(%rip)      # 0x1a008
leaq 0x663(%rip), %rcx       # 0xacdb
movq %rcx, 0xf9d1(%rip)      # 0x1a050
leaq 0x669(%rip), %rcx       # 0xacef
movq %rcx, 0xf72b(%rip)      # 0x19db8
leaq 0x685(%rip), %rcx       # 0xad19
movq %rcx, 0xf99d(%rip)      # 0x1a038
leaq 0x67f(%rip), %rcx       # 0xad21
movq %rcx, 0xf947(%rip)      # 0x19ff0
leaq 0x679(%rip), %rcx       # 0xad29
movq %rcx, 0xf6f1(%rip)      # 0x19da8
leaq 0x673(%rip), %rcx       # 0xad31
movq %rcx, 0xf733(%rip)      # 0x19df8
leaq 0x66d(%rip), %rcx       # 0xad39
movq %rcx, 0xf72d(%rip)      # 0x19e00
leaq 0x667(%rip), %rcx       # 0xad41
movq %rcx, 0xf72f(%rip)      # 0x19e10
xorl %ecx, %ecx
leaq 0x67c(%rip), %rdx       # 0xad66
cmpq $0x9, %rcx
je 0xa6fd
movq %rdx, 0x188(%rax,%rcx,8)
incq %rcx
jmp 0xa6ea
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: fmtappend
extern void fmtappend(Format *format, const char *s, size_t len) {
	while (format->buf + len > format->bufend) {
		size_t split = format->bufend - format->buf;
		memcpy(format->buf, s, split);
		format->buf += split;
		s += split;
		len -= split;
		(*format->grow)(format, len);
	}
	memcpy(format->buf, s, len);
	format->buf += len;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movq 0x30(%r14), %rdi
movq 0x40(%r14), %r12
leaq (%rdi,%rbx), %rax
cmpq %r12, %rax
jbe 0xa744
subq %rdi, %r12
movq %r15, %rsi
movq %r12, %rdx
callq 0x3230
addq %r12, 0x30(%r14)
addq %r12, %r15
subq %r12, %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq *0x50(%r14)
jmp 0xa70f
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3230
addq %rbx, 0x30(%r14)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: printfmt
extern int printfmt(Format *format, const char *fmt) {
	unsigned const char *s = (unsigned const char *) fmt;

	if (fmttab[0] == NULL)
		inittab();

	for (;;) {
		int c = *s++;
		switch (c) {
		case '%':
			format->flags = format->f1 = format->f2 = 0;
			do
				c = *s++;
			while ((*fmttab[c])(format, c));
			break;
		case '\0':
			return format->buf - format->bufbegin + format->flushed;
		default:
			fmtputc(format, c);
			break;
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, 0xf4f1(%rip)      # 0x19c90
jne 0xa7a6
callq 0xa616
leaq 0x18(%rbx), %r12
leaq 0xf4df(%rip), %r13      # 0x19c90
pushq $0x1
popq %r15
movzbl (%r14), %ebp
incq %r14
cmpl $0x25, %ebp
je 0xa7e9
testl %ebp, %ebp
je 0xa80c
movq 0x30(%rbx), %rax
cmpq 0x40(%rbx), %rax
jb 0xa7dc
movq %rbx, %rdi
movq %r15, %rsi
callq *0x50(%rbx)
movq 0x30(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x30(%rbx)
movb %bpl, (%rax)
jmp 0xa7b5
xorps %xmm0, %xmm0
movups %xmm0, (%r12)
andq $0x0, 0x10(%r12)
movzbl (%r14), %esi
incq %r14
movq %rbx, %rdi
callq *(%r13,%rsi,8)
testl %eax, %eax
jne 0xa7f7
jmp 0xa7b5
movl 0x30(%rbx), %eax
subl 0x38(%rbx), %eax
addl 0x48(%rbx), %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: fprint
extern int fprint(int fd, const char *fmt,...) {
	char buf[1024];
	Format format;
	va_list ap;

	format.buf	= buf;
	format.bufbegin	= buf;
	format.bufend	= buf + sizeof buf;
	format.grow	= fprint_flush;
	format.flushed	= 0;
	format.u.n	= fd;

	va_start(ap, fmt);
	va_copy(format.args, ap);
	printfmt(&format, fmt);
	va_end(format.args);

	fprint_flush(&format, 0);
	return format.flushed;
}

// Assembly:
pushq %rbx
subq $0x530, %rsp            # imm = 0x530
leaq 0x20(%rsp), %r10
movq %rdx, 0x10(%r10)
movq %rcx, 0x18(%r10)
movq %r8, 0x20(%r10)
movq %r9, 0x28(%r10)
testb %al, %al
je 0xa94e
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
leaq 0x130(%rsp), %rax
leaq 0xd0(%rsp), %rbx
movq %rax, 0x30(%rbx)
movq %rax, 0x38(%rbx)
leaq 0x530(%rsp), %rax
movq %rax, 0x40(%rbx)
leaq 0x60(%rip), %rax        # 0xa9d9
movq %rax, 0x50(%rbx)
andl $0x0, 0x48(%rbx)
movl %edi, 0x58(%rbx)
movabsq $0x3000000010, %rax     # imm = 0x3000000010
movq %rax, (%rsp)
leaq 0x540(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq (%rsp), %rax
movq %rax, (%rbx)
movq 0x8(%rsp), %rax
movq %rax, 0x8(%rbx)
movq 0x10(%rsp), %rax
movq %rax, 0x10(%rbx)
movq %rbx, %rdi
callq 0xa786
movq %rbx, %rdi
callq 0xa9d9
movl 0x48(%rbx), %eax
addq $0x530, %rsp            # imm = 0x530
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: fprint_flush
static void fprint_flush(Format *format, size_t ignore) {
	size_t n = format->buf - format->bufbegin;
	char *buf = format->bufbegin;

	format->flushed += n;
	format->buf = format->bufbegin;
	writeall(format->u.n, buf, n);
}

// Assembly:
movq 0x30(%rdi), %rdx
movq 0x38(%rdi), %rsi
subq %rsi, %rdx
addl %edx, 0x48(%rdi)
movq %rsi, 0x30(%rdi)
movl 0x58(%rdi), %edi
jmp 0xb7c0
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: mprint
extern char *mprint(const char *fmt,...) {
	Format format;
	char *result;
	va_list ap;

	format.u.n = 1;
	va_start(ap, fmt);
	va_copy(format.args, ap);
	result = memprint(&format, fmt, ealloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE);
	va_end(format.args);
	return result;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x138, %rsp            # imm = 0x138
movq %rdi, %rbx
leaq 0x20(%rsp), %rdi
movq %rsi, 0x8(%rdi)
movq %rdx, 0x10(%rdi)
movq %rcx, 0x18(%rdi)
movq %r8, 0x20(%rdi)
movq %r9, 0x28(%rdi)
testb %al, %al
je 0xaa54
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
leaq 0xd0(%rsp), %r14
movl $0x1, 0x58(%r14)
movabsq $0x3000000008, %rax     # imm = 0x3000000008
movq %rax, (%rsp)
leaq 0x150(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rdi, 0x10(%rsp)
movq %rdi, 0x10(%r14)
movq (%rsp), %rax
movq %rax, (%r14)
movq 0x8(%rsp), %rax
movq %rax, 0x8(%r14)
pushq $0x40
popq %rdi
callq 0x9a83
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0xaab9
addq $0x138, %rsp            # imm = 0x138
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: memprint
static char *memprint(Format *format, const char *fmt, char *buf, size_t len) {
	format->buf	 = buf;
	format->bufbegin = buf;
	format->bufend	 = buf + len - 1;
	format->grow	 = memprint_grow;
	format->flushed	 = 0;
	printfmt(format, fmt);
	*format->buf = '\0';
	return format->bufbegin;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq %rdx, 0x30(%rdi)
movq %rdx, 0x38(%rdi)
addq $0x3f, %rdx
movq %rdx, 0x40(%rdi)
leaq 0x4d6(%rip), %rax       # 0xafaa
movq %rax, 0x50(%rdi)
andl $0x0, 0x48(%rdi)
callq 0xa786
movq 0x30(%rbx), %rax
movb $0x0, (%rax)
movq 0x38(%rbx), %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: nprint
extern char *nprint(const char *fmt,...) {
	Format format;
	char *result;
	va_list ap;

	format.u.n = 0;
	va_start(ap, fmt);
	va_copy(format.args, ap);
	result = memprint(&format, fmt, nalloc(PRINT_ALLOCSIZE), PRINT_ALLOCSIZE);
	va_end(format.args);
	return result;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x138, %rsp            # imm = 0x138
leaq 0x20(%rsp), %r10
movq %rsi, 0x8(%r10)
movq %rdx, 0x10(%r10)
movq %rcx, 0x18(%r10)
movq %r8, 0x20(%r10)
movq %r9, 0x28(%r10)
testb %al, %al
je 0xab4c
movaps %xmm0, 0x50(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm2, 0x70(%rsp)
movaps %xmm3, 0x80(%rsp)
movaps %xmm4, 0x90(%rsp)
movaps %xmm5, 0xa0(%rsp)
movaps %xmm6, 0xb0(%rsp)
movaps %xmm7, 0xc0(%rsp)
leaq 0xd0(%rsp), %rbx
andl $0x0, 0x58(%rbx)
movq %rdi, %r14
movabsq $0x3000000008, %rax     # imm = 0x3000000008
movq %rax, (%rsp)
leaq 0x150(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq %r10, 0x10(%rbx)
movq (%rsp), %rax
movq %rax, (%rbx)
movq 0x8(%rsp), %rax
movq %rax, 0x8(%rbx)
pushq $0x40
popq %rdi
callq 0x9928
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0xaab9
addq $0x138, %rsp            # imm = 0x138
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: sconv
static bool sconv(Format *format, int ignore) {
	char *s = va_arg(format->args, char *);
	if ((format->flags & FMT_f1set) == 0)
		fmtcat(format, s);
	else {
		size_t len = strlen(s), width = format->f1 - len;
		if (format->flags & FMT_leftside) {
			fmtappend(format, s, len);
			pad(format, width, ' ');
		} else {
			pad(format, width, ' ');
			fmtappend(format, s, len);
		}
	}
	return FALSE;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %rbx
movl (%rdi), %ecx
cmpq $0x28, %rcx
ja 0xabe3
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0xabef
movq 0x8(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rbx)
movq (%rax), %r14
movq 0x18(%rbx), %r13
testb %r13b, %r13b
js 0xac08
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa75f
jmp 0xac5a
movq %r14, %rdi
callq 0x30f0
movq %rax, %r15
movq 0x20(%rbx), %r12
subq %rax, %r12
testb $0x20, %r13b
jne 0xac3e
pushq $0x20
popq %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq 0xad98
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xa6fe
jmp 0xac5a
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xa6fe
pushq $0x20
popq %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq 0xad98
xorl %eax, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: rc_utoa
static char *rc_utoa(unsigned long u, char *t, unsigned int radix, const char *digit) {
	if (u >= radix) {
		t = rc_utoa(u / radix, t, radix, digit);
		u %= radix;
	}
	*t++ = digit[u];
	return t;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl %edx, %edi
cmpq %rbx, %rdi
ja 0xaf96
movl %edx, %ecx
movq %rbx, %rax
xorl %edx, %edx
divq %rdi
movq %rdx, %rbx
movq %rax, %rdi
movl %ecx, %edx
callq 0xaf71
movq %rax, %rsi
leaq 0x7c85(%rip), %rax      # 0x12c22
movb (%rbx,%rax), %al
movb %al, (%rsi)
incq %rsi
movq %rsi, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/print.c
// Function: memprint_grow
static void memprint_grow(Format *format, size_t more) {
	char *buf;
	size_t len = format->bufend - format->bufbegin + 1;
	size_t used = format->buf - format->bufbegin;

	len = (len >= more)
		? len * 2
		: ((len + more) + PRINT_ALLOCSIZE) &~ (PRINT_ALLOCSIZE - 1);
	if (format->u.n)
		buf = erealloc(format->bufbegin, len);
	else {
		buf = nalloc(len);
		memcpy(buf, format->bufbegin, used);
	}
	format->buf = buf + used;
	format->bufbegin = buf;
	format->bufend = buf + len - 1;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x40(%rdi), %rax
movq 0x30(%rdi), %r14
movq 0x38(%rdi), %rdi
subq %rdi, %rax
leaq 0x1(%rax), %rcx
subq %rdi, %r14
leaq (%rax,%rsi), %rdx
incq %rdx
andq $-0x40, %rdx
addq $0x40, %rdx
cmpq %rsi, %rcx
leaq 0x2(%rax,%rax), %r15
cmovbq %rdx, %r15
cmpl $0x0, 0x58(%rbx)
je 0xaff9
movq %r15, %rsi
callq 0x9acc
movq %rax, %r12
jmp 0xb013
movq %r15, %rdi
callq 0x9928
movq %rax, %r12
movq 0x38(%rbx), %rsi
movq %rax, %rdi
movq %r14, %rdx
callq 0x3230
addq %r12, %r14
movq %r14, 0x30(%rbx)
movq %r12, 0x38(%rbx)
leaq (%r12,%r15), %rax
decq %rax
movq %rax, 0x40(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/signal.c
// Function: sys_signal
void (*sys_signal(int signum, void (*handler)(int)))(int) {
	struct sigaction new, old;

	new.sa_handler = handler;
	new.sa_flags = 0; /* clear SA_RESTART */
	sigfillset(&new.sa_mask);
	if (sigaction(signum, &new, &old) == 0)
		return old.sa_handler;
	return SIG_DFL;
}

// Assembly:
pushq %rbx
subq $0x130, %rsp            # imm = 0x130
movl %edi, %ebx
leaq 0xa0(%rsp), %rdi
movq %rsi, -0x8(%rdi)
andl $0x0, 0x80(%rdi)
callq 0x3220
leaq 0x98(%rsp), %rsi
movq %rsp, %rdx
movl %ebx, %edi
callq 0x30a0
testl %eax, %eax
jne 0xb232
movq (%rsp), %rax
jmp 0xb234
xorl %eax, %eax
addq $0x130, %rsp            # imm = 0x130
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/signal.c
// Function: sigchk
extern void sigchk() {
	void (*h)(int);
	int s, i;

	if (sigcount == 0)
		return; /* ho hum; life as usual */
	if (forked)
		exit(1); /* exit unconditionally on a signal in a child process */
	for (i = 0, s = -1; i < NUMOFSIGNALS; i++)
		if (caught[i] != 0) {
			s = i;
			--sigcount;
			caught[s] = 0;
			break;
		}
	if (s == -1)
		panic("all-zero sig vector with nonzero sigcount");
	if ((h = sighandlers[s]) == SIG_DFL)
		panic("caught signal set to SIG_DFL");
	if (h == SIG_IGN)
		panic("caught signal set to SIG_IGN");
	(*h)(s);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
cmpl $0x0, 0xf323(%rip)      # 0x1a594
je 0xb2a0
leaq 0xfd4e(%rip), %rax      # 0x1afc8
cmpl $0x0, (%rax)
jne 0xb307
leaq 0xf206(%rip), %rax      # 0x1a490
xorl %ebx, %ebx
cmpq $0x41, %rbx
je 0xb2a8
cmpl $0x0, (%rax)
jne 0xb2b9
incq %rbx
addq $0x4, %rax
jmp 0xb28c
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x804a(%rip), %rdi      # 0x132f9
callq 0xbeea
pushq $-0x1
popq %rbx
jmp 0xb2c5
decl 0xf2d5(%rip)            # 0x1a594
movl $0x0, (%rax)
movslq %ebx, %rax
leaq 0xf2d1(%rip), %rcx      # 0x1a5a0
movq (%rcx,%rax,8), %rax
testq %rax, %rax
je 0xb2ea
cmpq $0x1, %rax
jne 0xb2fc
movq %rax, %r14
leaq 0x8058(%rip), %rdi      # 0x13340
jmp 0xb2f4
movq %rax, %r14
leaq 0x802f(%rip), %rdi      # 0x13323
callq 0xbeea
movq %r14, %rax
movl %ebx, %edi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
pushq $0x1
popq %rdi
callq 0x3330
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/signal.c
// Function: rc_signal
extern void (*rc_signal(int s, void (*h)(int)))(int) {
	void (*old)(int);
	sigchk();
	old = sighandlers[s];
	sighandlers[s] = h;
	if (h == SIG_DFL || h == SIG_IGN)
		sys_signal(s, h);
	else
		sys_signal(s, catcher);
	return old;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rsi, %r14
movl %edi, %ebp
callq 0xb266
movslq %ebp, %rax
leaq 0xf279(%rip), %rcx      # 0x1a5a0
movq (%rcx,%rax,8), %rbx
movq %r14, (%rcx,%rax,8)
cmpq $0x1, %r14
ja 0xb33c
movl %ebp, %edi
movq %r14, %rsi
jmp 0xb345
leaq -0x106(%rip), %rsi      # 0xb23d
movl %ebp, %edi
callq 0xb1f4
movq %rbx, %rax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/signal.c
// Function: initsignal
extern void initsignal() {
	void (*h)(int);
	int i;

	/* Ensure that SIGCHLD is not SIG_IGN.  Solaris's rshd does this.  :-( */
	h = sys_signal(SIGCHLD, SIG_IGN);
	if (h != SIG_IGN && h != SIG_ERR)
		sys_signal(SIGCHLD, h);
	else
		sys_signal(SIGCHLD, SIG_DFL);

	for (i = 1; i < NUMOFSIGNALS; i++) {
#ifdef SIGKILL
		if (i == SIGKILL) continue;
#endif
#ifdef SIGSTOP
		if (i == SIGSTOP) continue;
#endif
		h = sys_signal(i, SIG_IGN);
		if (h != SIG_IGN && h != SIG_ERR)
			sys_signal(i, h);
		sighandlers[i] = h;
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
pushq $0x11
popq %rdi
pushq $0x1
popq %rbx
movq %rbx, %rsi
callq 0xb1f4
cmpq $0x1, %rax
je 0xb374
cmpq $-0x1, %rax
jne 0xb376
xorl %eax, %eax
pushq $0x11
popq %rdi
movq %rax, %rsi
callq 0xb1f4
leaq 0xf218(%rip), %r12      # 0x1a5a0
movq %rbx, %r14
cmpq $0x41, %r14
je 0xb3cb
cmpl $0x9, %r14d
je 0xb3c6
cmpl $0x13, %r14d
je 0xb3c6
movl %r14d, %edi
movq %rbx, %rsi
callq 0xb1f4
movq %rax, %r15
cmpq $-0x1, %rax
je 0xb3c2
cmpq $0x1, %r15
je 0xb3c2
movl %r14d, %edi
movq %r15, %rsi
callq 0xb1f4
movq %r15, (%r12,%r14,8)
incq %r14
jmp 0xb38b
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
nop
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/status.c
// Function: getstatus
extern int getstatus() {
	int s;
	if (pipelength > 1)
		return !istrue();
	s = statuses[0];
	if (WIFSIGNALED(s))
		return 1;
	return WEXITSTATUS(s);
}

// Assembly:
cmpl $0x2, 0xe35a(%rip)      # 0x19760
jl 0xb416
pushq %rax
callq 0xb3d8
xorl $0x1, %eax
addq $0x8, %rsp
retq
movl 0xf394(%rip), %eax      # 0x1a7b0
movl %eax, %ecx
andl $0x7f, %ecx
shll $0x18, %ecx
addl $0x1000000, %ecx        # imm = 0x1000000
cmpl $0x1ffffff, %ecx        # imm = 0x1FFFFFF
jle 0xb436
pushq $0x1
popq %rax
retq
movzbl %ah, %eax
retq
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/status.c
// Function: statprint
static void statprint(pid_t pid, int i) {
	int t = WIFSIGNALED(i) ? WTERMSIG(i) : 0;
	const char *core = ((t > 0) && myWIFDUMPED(i) ? "--core dumped" : "");
	if ((interactive && pid != -1) || (t > 0 && (*core || (t != SIGINT && t != SIGPIPE)))) {
		if (pid != -1)
			fprint(2, "%ld: ", (long)pid);
		if (t == 0)
			fprint(2, "done (%d)\n", WEXITSTATUS(i));
		else if ((t > 0) && (t < NUMOFSIGNALS) && *signals[t].msg != '\0')
			fprint(2, "%s%s\n", signals[t].msg, core);
		else
			fprint(2, "unknown signal %d%s\n", t, core);
	}
	if (i != 0 && dashee && !cond)
		rc_exit(getstatus());
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %esi, %eax
andl $0x7f, %eax
movl %eax, %ecx
shll $0x18, %ecx
addl $0x1000000, %ecx        # imm = 0x1000000
xorl %ebp, %ebp
cmpl $0x2000000, %ecx        # imm = 0x2000000
cmovgel %eax, %ebp
testl %ebp, %ebp
leaq 0x7ef3(%rip), %rbx      # 0x1337a
leaq 0x3999(%rip), %rax      # 0xee27
cmoveq %rax, %rbx
movl %esi, %r14d
testb %sil, %sil
cmovnsq %rax, %rbx
cmpl $-0x1, %edi
je 0xb4ad
leaq 0xe72c(%rip), %rax      # 0x19bd4
cmpl $0x0, (%rax)
jne 0xb4c3
testl %ebp, %ebp
je 0xb53b
cmpb $0x0, (%rbx)
je 0xb56d
cmpl $-0x1, %edi
je 0xb4db
movslq %edi, %rdx
leaq 0x7ebb(%rip), %rsi      # 0x13388
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0xa8f6
testl %ebp, %ebp
je 0xb524
cmpl $0x40, %ebp
ja 0xb50c
movl %ebp, %eax
shll $0x4, %eax
leaq 0xde64(%rip), %rcx      # 0x19350
movq 0x8(%rcx,%rax), %rdx
cmpb $0x0, (%rdx)
je 0xb50c
leaq 0x7e9c(%rip), %rsi      # 0x13399
pushq $0x2
popq %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0xa8f6
jmp 0xb53b
leaq 0x7e8c(%rip), %rsi      # 0x1339f
pushq $0x2
popq %rdi
movl %ebp, %edx
movq %rbx, %rcx
xorl %eax, %eax
callq 0xa8f6
jmp 0xb53b
movl %r14d, %eax
movzbl %ah, %edx
leaq 0x7e5d(%rip), %rsi      # 0x1338e
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0xa8f6
testl %r14d, %r14d
je 0xb568
leaq 0xe685(%rip), %rax      # 0x19bcc
cmpl $0x0, (%rax)
je 0xb568
leaq 0xfa85(%rip), %rax      # 0x1afd8
cmpl $0x0, (%rax)
jne 0xb568
callq 0xb3ff
movl %eax, %edi
popq %rbx
popq %r14
popq %rbp
jmp 0x4d65
popq %rbx
popq %r14
popq %rbp
retq
cmpl $0x2, %ebp
je 0xb53b
cmpl $0xd, %ebp
je 0xb53b
jmp 0xb4be
// File: /workspace/github_c_makefile_star2_O2/rakitzis[P]rc/status.c
// Function: sgetstatus
extern List *sgetstatus() {
	List *r = NULL;
	int i;

	for (i = 0; i < pipelength; i++) {
		List *q = nnew(List);
		q->w = strstatus(statuses[i]);
		q->m = NULL;
		q->n = r;
		r = q;
	}

	return r;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
leaq 0xf207(%rip), %r12      # 0x1a7b0
xorl %r13d, %r13d
pushq $0x18
popq %rbx
xorl %r14d, %r14d
movslq 0xe1a7(%rip), %rax      # 0x19760
cmpq %rax, %r13
jge 0xb5ea
movq %rbx, %rdi
callq 0x9928
movq %rax, %r15
movl (%r12), %edi
callq 0xb5f7
movq %rax, (%r15)
andq $0x0, 0x8(%r15)
movq %r14, 0x10(%r15)
incq %r13
addq $0x4, %r12
movq %r15, %r14
jmp 0xb5b2
movq %r14, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq