LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_printf/convert_c.c
// Function: convert_c
int				convert_c(t_mods modifiers, va_list ap)
{
	unsigned char	c;

	c = va_arg(ap, int);
	if (modifiers.fl.minus == 1)
	{
		return (left_justify(modifiers.width, c));
	}
	if (modifiers.width > 1)
	{
		return (right_justify(modifiers.width, modifiers.fl.fzero, c));
	}
	return ((int)write(1, &c, 1));
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
leaq 0x30(%rsp), %rax
movl (%rdi), %edx
cmpq $0x28, %rdx
ja 0x8e63
movq %rdx, %rcx
addq 0x10(%rdi), %rcx
addl $0x8, %edx
movl %edx, (%rdi)
jmp 0x8e6f
movq 0x8(%rdi), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rdi)
movb (%rcx), %cl
movb %cl, 0xd(%rsp)
movl 0x14(%rax), %ebp
cmpl $0x1, 0x8(%rax)
jne 0x8ec3
leaq 0xf(%rsp), %rsi
movb %cl, (%rsi)
movl $0x1, %edx
movl $0x1, %edi
callq 0x1050
movq %rax, %rbx
cmpl %ebx, %ebp
jle 0x8f57
leaq 0x4554(%rip), %r14      # 0xd3fa
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
cmpl %ebp, %ebx
jl 0x8ea6
jmp 0x8f57
cmpl $0x2, %ebp
jl 0x8efc
cmpl $0x0, 0x10(%rax)
movb %cl, 0xe(%rsp)
je 0x8f15
incl %ebp
xorl %r14d, %r14d
leaq 0x3ede(%rip), %rbx      # 0xcdbc
movl $0x1, %edx
movl $0x1, %edi
movq %rbx, %rsi
callq 0x1050
addl %eax, %r14d
decl %ebp
cmpl $0x2, %ebp
ja 0x8ede
jmp 0x8f3d
leaq 0xd(%rsp), %rsi
movl $0x1, %edx
movl $0x1, %edi
callq 0x1050
movq %rax, %rbx
jmp 0x8f57
incl %ebp
xorl %r14d, %r14d
leaq 0x44d9(%rip), %rbx      # 0xd3fa
movl $0x1, %edx
movl $0x1, %edi
movq %rbx, %rsi
callq 0x1050
addl %eax, %r14d
decl %ebp
cmpl $0x2, %ebp
ja 0x8f21
leaq 0xe(%rsp), %rsi
movl $0x1, %edx
movl $0x1, %edi
callq 0x1050
movq %rax, %rbx
addl %r14d, %ebx
movl %ebx, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_printf/convert_i.c
// Function: pad_width
static int		pad_width(t_mods mod, int len, int nbyte, int neg)
{
	char	*pad_char;

	pad_char = " ";
	if (len > mod.prcsn || mod.prcsn == -1)
	{
		if (mod.width > len)
		{
			mod.fl.fzero && mod.prcsn == -1 ? pad_char = "0" : 0;
			if (nbyte == 0)
			{
				if (mod.fl.space && mod.fl.fzero)
					nbyte += write(1, " ", 1);
				while (mod.width - len - neg > nbyte)
					nbyte += (int)write(1, pad_char, 1);
			}
			else
				while (mod.width - len > nbyte)
					nbyte += (int)write(1, pad_char, 1);
		}
	}
	else
		while (mod.width - mod.prcsn - neg > nbyte)
			nbyte += (int)write(1, pad_char, 1);
	return (nbyte);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movl %esi, %ebx
movl 0x54(%rsp), %r12d
movl 0x58(%rsp), %eax
cmpl %edi, %eax
setl %cl
cmpl $-0x1, %eax
sete %dl
orb %cl, %dl
je 0x93f4
movl %edi, %r15d
movl %r12d, %r13d
subl %edi, %r13d
jle 0x941e
leaq 0x40(%rsp), %rcx
movl 0x10(%rcx), %edx
testl %edx, %edx
leaq 0x39f9(%rip), %r14      # 0xcdbc
leaq 0x4030(%rip), %rsi      # 0xd3fa
cmoveq %rsi, %r14
cmpl $-0x1, %eax
cmovneq %rsi, %r14
testl %ebx, %ebx
je 0x942f
cmpl %ebx, %r13d
jle 0x941e
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
jmp 0x93d9
addl %ebp, %eax
subl %eax, %r12d
cmpl %ebx, %r12d
jle 0x941e
leaq 0x3ff5(%rip), %r14      # 0xd3fa
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
cmpl %ebx, %r12d
jg 0x9405
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %edx, %edx
setne %al
cmpl $0x0, (%rcx)
setne %cl
andb %al, %cl
xorl %ebx, %ebx
cmpb $0x1, %cl
jne 0x945c
leaq 0x3fb0(%rip), %rsi      # 0xd3fa
movl $0x1, %edx
movl $0x1, %edi
callq 0x1050
movq %rax, %rbx
addl %r15d, %ebp
subl %ebp, %r12d
cmpl %ebx, %r12d
jle 0x941e
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
jmp 0x9462
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_printf/convert_p.c
// Function: pad_width
static int		pad_width(t_mods mod, int len, int nbyte, int neg)
{
	char	*pad_char;

	pad_char = " ";
	if (len > mod.prcsn || mod.prcsn == -1)
	{
		if (mod.width > len)
		{
			mod.fl.fzero && mod.prcsn == -1 ? pad_char = "0" : 0;
			if (nbyte == 0)
			{
				while (mod.width - len - neg > nbyte)
					nbyte += (int)write(1, pad_char, 1);
			}
			else
				while (mod.width - len > nbyte)
					nbyte += (int)write(1, pad_char, 1);
		}
	}
	else
		while (mod.width - mod.prcsn - neg > nbyte)
			nbyte += (int)write(1, pad_char, 1);
	return (nbyte);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %esi, %ebx
movl 0x44(%rsp), %ebp
movl 0x48(%rsp), %eax
cmpl %edi, %eax
setl %cl
cmpl $-0x1, %eax
sete %sil
orb %cl, %sil
je 0x9ade
movl %ebp, %r15d
subl %edi, %r15d
jle 0x9b05
leaq 0x30(%rsp), %rcx
cmpl $0x0, 0x10(%rcx)
leaq 0x330f(%rip), %r14      # 0xcdbc
leaq 0x3946(%rip), %rcx      # 0xd3fa
cmoveq %rcx, %r14
cmpl $-0x1, %eax
cmovneq %rcx, %r14
testl %ebx, %ebx
je 0x9b12
cmpl %ebx, %r15d
jle 0x9b05
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
jmp 0x9ac3
addl %edx, %eax
subl %eax, %ebp
cmpl %ebx, %ebp
jle 0x9b05
leaq 0x390d(%rip), %r14      # 0xd3fa
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
cmpl %ebx, %ebp
jg 0x9aed
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
addl %edi, %edx
subl %edx, %ebp
xorl %ebx, %ebx
testl %ebp, %ebp
jle 0x9b05
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
cmpl %ebx, %ebp
jg 0x9b1c
jmp 0x9b05
nop
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_printf/convert_s.c
// Function: convert_s
int			convert_s(t_mods modifiers, va_list ap)
{
	char	*s;
	char	*s2;
	int		nbyte;
	int		len;

	s = va_arg(ap, char *);
	!s ? s = "(null)" : 0;
	nbyte = 0;
	if (modifiers.prcsn >= 0 && modifiers.prcsn < (int)ft_strlen(s))
		s2 = ft_strndup(s, modifiers.prcsn);
	else
		s2 = ft_strdup(s);
	if ((len = ft_strlen(s2)) && modifiers.fl.minus == 1)
	{
		if (modifiers.width <= len)
			nbyte += (int)write(1, s2, len);
		else
			nbyte += left_justify(modifiers, s2, len);
		return ((ft_pipewrench("-s", &s2) + nbyte) - 1);
	}
	if (modifiers.width > len)
		nbyte += right_justify(modifiers, s2, len);
	else
		nbyte += (int)write(1, s2, len);
	return ((ft_pipewrench("-s", &s2) + nbyte) - 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
leaq 0x40(%rsp), %r15
movl (%rdi), %ecx
cmpq $0x28, %rcx
ja 0x9b5f
movq %rcx, %rax
addq 0x10(%rdi), %rax
addl $0x8, %ecx
movl %ecx, (%rdi)
jmp 0x9b6b
movq 0x8(%rdi), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdi)
movq (%rax), %rax
testq %rax, %rax
leaq 0x3e8a(%rip), %rbx      # 0xda02
cmovneq %rax, %rbx
movslq 0x18(%r15), %r14
testq %r14, %r14
js 0x9b9f
movq %rbx, %rdi
callq 0x8082
cmpl %eax, %r14d
jge 0x9b9f
movq %rbx, %rdi
movq %r14, %rsi
callq 0x821f
jmp 0x9ba7
movq %rbx, %rdi
callq 0x81d4
movq %rax, %rbx
movq %rax, 0x8(%rsp)
movq %rax, %rdi
callq 0x8082
movq %rax, %r14
movl 0x14(%r15), %ebp
testl %r14d, %r14d
je 0x9c0e
cmpl $0x1, 0x8(%r15)
jne 0x9c0e
movslq %r14d, %rdx
cmpl %r14d, %ebp
jle 0x9c45
movl $0x1, %edi
movq %rbx, %rsi
callq 0x1050
movq %rax, %rbx
cmpl %ebx, %ebp
jle 0x9c93
leaq 0x3809(%rip), %r14      # 0xd3fa
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
cmpl %ebp, %ebx
jl 0x9bf1
jmp 0x9c93
cmpl %r14d, %ebp
jle 0x9c42
cmpl $0x1, 0x10(%r15)
jne 0x9c57
xorl %r12d, %r12d
leaq 0x3198(%rip), %r15      # 0xcdbc
decl %ebp
movl $0x1, %edx
movl $0x1, %edi
movq %r15, %rsi
callq 0x1050
addl %eax, %r12d
cmpl %r14d, %ebp
jg 0x9c24
jmp 0x9c7d
movslq %r14d, %rdx
movl $0x1, %edi
movq %rbx, %rsi
callq 0x1050
movq %rax, %rbx
jmp 0x9c93
xorl %r12d, %r12d
leaq 0x3799(%rip), %r15      # 0xd3fa
decl %ebp
movl $0x1, %edx
movl $0x1, %edi
movq %r15, %rsi
callq 0x1050
addl %eax, %r12d
cmpl %r14d, %ebp
jg 0x9c61
movslq %r14d, %rdx
movl $0x1, %edi
movq %rbx, %rsi
callq 0x1050
movq %rax, %rbx
addl %r12d, %ebx
leaq 0x310f(%rip), %rdi      # 0xcda9
leaq 0x8(%rsp), %rsi
xorl %eax, %eax
callq 0x743c
addl %ebx, %eax
decl %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_printf/convert_percent.c
// Function: convert_percent
int				convert_percent(t_mods modifiers)
{
	if (modifiers.fl.minus == 1)
	{
		return (left_justify(modifiers.width));
	}
	if (modifiers.width > 1)
	{
		return (right_justify(modifiers.width, modifiers.fl.fzero));
	}
	return ((int)write(1, "%", 1));
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl 0x34(%rsp), %ebp
cmpl $0x1, 0x28(%rsp)
jne 0xa4a8
leaq 0x35a2(%rip), %rsi      # 0xda0c
movl $0x1, %edx
movl $0x1, %edi
callq 0x1050
movq %rax, %rbx
cmpl %ebx, %ebp
jle 0xa541
leaq 0x2f6f(%rip), %r14      # 0xd3fa
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1050
addl %eax, %ebx
cmpl %ebp, %ebx
jl 0xa48b
jmp 0xa541
cmpl $0x2, %ebp
jl 0xa4e2
leaq 0x20(%rsp), %rax
cmpl $0x0, 0x10(%rax)
je 0xa4fd
incl %ebp
xorl %r14d, %r14d
leaq 0x28f8(%rip), %rbx      # 0xcdbc
movl $0x1, %edx
movl $0x1, %edi
movq %rbx, %rsi
callq 0x1050
addl %eax, %r14d
decl %ebp
cmpl $0x2, %ebp
ja 0xa4c4
jmp 0xa525
leaq 0x3523(%rip), %rsi      # 0xda0c
movl $0x1, %edx
movl $0x1, %edi
callq 0x1050
movq %rax, %rbx
jmp 0xa541
incl %ebp
xorl %r14d, %r14d
leaq 0x2ef1(%rip), %rbx      # 0xd3fa
movl $0x1, %edx
movl $0x1, %edi
movq %rbx, %rsi
callq 0x1050
addl %eax, %r14d
decl %ebp
cmpl $0x2, %ebp
ja 0xa509
leaq 0x34e0(%rip), %rsi      # 0xda0c
movl $0x1, %edx
movl $0x1, %edi
callq 0x1050
movq %rax, %rbx
addl %r14d, %ebx
movl %ebx, %eax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_sprintf/sprintf_helper.c
// Function: ft_padding
int				ft_padding(char *buf, int len, t_mod mod, int nbyte)
{
	char	*pad_char;

	if ((pad_char = " ") && (len > mod.prcsn || mod.prcsn == -1))
	{
		if (mod.width > len)
		{
			mod.fl.fzero && mod.prcsn == -1 ? pad_char = "0" : 0;
			if (!nbyte)
			{
				if (mod.fl.space && mod.fl.fzero)
					add_one_to_buf(&buf, *pad_char, &nbyte);
				while (mod.width - len - mod.neg > nbyte)
					add_one_to_buf(&buf, *pad_char, &nbyte);
			}
			else
			{
				while (mod.width - len > nbyte)
					add_one_to_buf(&buf, *pad_char, &nbyte);
			}
		}
	}
	else
		while (mod.width - mod.prcsn - mod.neg > nbyte)
			add_one_to_buf(&buf, *pad_char, &nbyte);
	return (nbyte);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rdi, %rbx
leaq 0x40(%rsp), %r12
movl 0x14(%r12), %r15d
movl 0x18(%r12), %eax
cmpl %esi, %eax
setl %cl
cmpl $-0x1, %eax
sete %dl
orb %cl, %dl
je 0xa8f6
movl %esi, %r14d
movl %r15d, %r13d
subl %esi, %r13d
jle 0xa92d
movl 0x10(%r12), %ecx
testl %ecx, %ecx
leaq 0x250e(%rip), %rsi      # 0xcdbc
leaq 0x2b45(%rip), %rdx      # 0xd3fa
cmoveq %rdx, %rsi
cmpl $-0x1, %eax
cmovneq %rdx, %rsi
testl %ebp, %ebp
je 0xa93e
cmpl %ebp, %r13d
jle 0xa92d
movsbl (%rsi), %r15d
leaq 0x4(%rsp), %r14
movl %r15d, 0x4(%rsp)
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7e4c
incq %rbx
incl %ebp
cmpl %ebp, %r13d
jg 0xa8d2
movl %r13d, %ebp
jmp 0xa92d
addl 0x20(%r12), %eax
subl %eax, %r15d
cmpl %ebp, %r15d
jle 0xa92d
leaq 0x4(%rsp), %r14
movl $0x20, 0x4(%rsp)
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7e4c
incq %rbx
incl %ebp
cmpl %ebp, %r15d
jg 0xa908
movl %r15d, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %ecx, %ecx
setne %al
cmpl $0x0, (%r12)
setne %cl
andb %al, %cl
xorl %ebp, %ebp
cmpb $0x1, %cl
jne 0xa978
movq %rsi, %r13
movsbl (%rsi), %eax
leaq 0x4(%rsp), %rsi
movl %eax, (%rsi)
movl $0x1, %edx
movq %rbx, %rdi
callq 0x7e4c
incq %rbx
movl $0x1, %ebp
jmp 0xa97b
movq %rsi, %r13
addl 0x20(%r12), %r14d
subl %r14d, %r15d
cmpl %ebp, %r15d
jle 0xa92d
movsbl (%r13), %r12d
leaq 0x4(%rsp), %r14
movl %r12d, 0x4(%rsp)
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x7e4c
incq %rbx
incl %ebp
cmpl %ebp, %r15d
jg 0xa992
jmp 0xa92a
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_sprintf/sprintf_helper.c
// Function: left_jut
void			left_jut(char *buf, char *num, t_mod mod, int nbyte)
{
	int		len;

	if ((len = (int)ft_strlen(num)) && mod.neg == 1)
		ft_strcpy(buf, "-");
	else if (mod.neg == 0)
	{
		if (mod.fl.fplus)
			ft_strcpy(buf, "+");
		else if (mod.fl.space)
			ft_strcpy(buf, "-");
	}
	buf++;
	while (mod.prcsn-- > len)
	{
		ft_strcpy(buf, "0");
		buf++;
	}
	add_to_buf(&buf, num, &nbyte, len);
	while (nbyte < mod.width)
	{
		add_one_to_buf(&buf, ' ', &nbyte);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, %ebx
movq %rdi, %r14
leaq 0x50(%rsp), %rbp
movq %rsi, 0x10(%rsp)
movq %rsi, %rdi
callq 0x8082
movq %rax, %r12
testl %r12d, %r12d
setne %cl
movl 0x20(%rbp), %eax
cmpl $0x1, %eax
sete %dl
leaq 0x3003(%rip), %rsi      # 0xd9f7
testb %dl, %cl
je 0xaa02
movq %r14, %rdi
callq 0x7e30
jmp 0xaa0a
testl %eax, %eax
je 0xaa96
incq %r14
movl 0x18(%rbp), %r15d
leal -0x1(%r15), %eax
movl %eax, 0x18(%rbp)
cmpl %r12d, %r15d
jle 0xaa42
leaq 0x2398(%rip), %r13      # 0xcdbc
movq %r14, %rdi
movq %r13, %rsi
callq 0x7e30
incq %r14
decl %r15d
cmpl %r12d, %r15d
jg 0xaa24
leal -0x1(%r12), %eax
movl %eax, 0x18(%rbp)
movslq %r12d, %r13
movq %r14, %rdi
movq 0x10(%rsp), %rsi
movq %r13, %rdx
callq 0x7e4c
addl %r12d, %ebx
cmpl 0x14(%rbp), %ebx
jge 0xaa87
addq %r13, %r14
leaq 0xc(%rsp), %r15
movl $0x20, 0xc(%rsp)
movl $0x1, %edx
movq %r14, %rdi
movq %r15, %rsi
callq 0x7e4c
incq %r14
incl %ebx
cmpl 0x14(%rbp), %ebx
jl 0xaa65
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x0, 0xc(%rbp)
je 0xaaa8
leaq 0x2f56(%rip), %rsi      # 0xd9f9
jmp 0xa9f8
cmpl $0x0, (%rbp)
jne 0xa9f8
jmp 0xaa0a
nop
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_sprintf/c_to_buf.c
// Function: c_to_buf
int				c_to_buf(char *buf, t_mod modifiers, va_list ap)
{
	char	c;
	int		n;

	c = va_arg(ap, int);
	if (modifiers.fl.minus == 1)
	{
		return (left_justify(buf, c, modifiers.width));
	}
	if (modifiers.width > 1)
	{
		return (right_justify(buf, c, modifiers.width, modifiers.fl.fzero));
	}
	n = 0;
	add_one_to_buf(&buf, c, &n);
	return (n);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
leaq 0x40(%rsp), %rax
movq %rdi, 0x10(%rsp)
movl (%rsi), %edx
cmpq $0x28, %rdx
ja 0xaae2
movq %rdx, %rcx
addq 0x10(%rsi), %rcx
addl $0x8, %edx
movl %edx, (%rsi)
jmp 0xaaee
movq 0x8(%rsi), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rsi)
movl (%rcx), %r15d
movl 0x14(%rax), %ebp
cmpl $0x1, 0x8(%rax)
jne 0xab4d
leaq 0x8(%rsp), %rax
movq %rdi, (%rax)
leaq 0x4(%rsp), %rbx
movl $0x0, (%rbx)
movsbl %r15b, %esi
movq %rax, %rdi
movq %rbx, %rdx
callq 0xa810
movl (%rbx), %eax
cmpl %ebp, %eax
jge 0xabdb
leaq 0x8(%rsp), %rbx
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movl $0x20, %esi
movq %r14, %rdx
callq 0xa810
movl 0x4(%rsp), %eax
cmpl %ebp, %eax
jl 0xab30
jmp 0xabdb
cmpl $0x2, %ebp
jl 0xab8a
cmpl $0x0, 0x10(%rax)
movq %rdi, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
je 0xaba0
incl %ebp
leaq 0x8(%rsp), %rbx
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movl $0x30, %esi
movq %r14, %rdx
callq 0xa810
decl %ebp
cmpl $0x2, %ebp
ja 0xab71
jmp 0xabc3
leaq 0x8(%rsp), %rbx
movl $0x0, (%rbx)
movsbl %r15b, %esi
leaq 0x10(%rsp), %rdi
jmp 0xabd1
incl %ebp
leaq 0x8(%rsp), %rbx
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movl $0x20, %esi
movq %r14, %rdx
callq 0xa810
decl %ebp
cmpl $0x2, %ebp
ja 0xabac
movsbl %r15b, %esi
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rbx
movq %rbx, %rdx
callq 0xa810
movl (%rbx), %eax
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_sprintf/s_to_buf.c
// Function: s_to_buf
int			s_to_buf(char *buf, t_mod modifiers, va_list ap)
{
	char	*s;
	char	*s2;
	int		len;

	s = va_arg(ap, char *);
	!s ? s = "(null)" : 0;
	if (modifiers.prcsn >= 0 && modifiers.prcsn < (int)ft_strlen(s))
		s2 = ft_strndup(s, modifiers.prcsn);
	else
		s2 = ft_strdup(s);
	if ((len = ft_strlen(s2)) && modifiers.fl.minus == 1)
	{
		if (modifiers.width <= len)
			ft_strcpy(buf, s2);
		else
			left_justify(buf, s2, len, modifiers);
		free(s2);
		return (modifiers.width <= len ? len : modifiers.width);
	}
	if (modifiers.width > len)
		right_justify(buf, s2, len, modifiers);
	else
		ft_strcpy(buf, s2);
	free(s2);
	return (modifiers.width > len ? modifiers.width : len);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r15
leaq 0x50(%rsp), %r12
movl (%rsi), %ecx
cmpq $0x28, %rcx
ja 0xaf94
movq %rcx, %rax
addq 0x10(%rsi), %rax
addl $0x8, %ecx
movl %ecx, (%rsi)
jmp 0xafa0
movq 0x8(%rsi), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsi)
movq (%rax), %rax
testq %rax, %rax
leaq 0x2a55(%rip), %rbx      # 0xda02
cmovneq %rax, %rbx
movslq 0x18(%r12), %r14
testq %r14, %r14
js 0xafd5
movq %rbx, %rdi
callq 0x8082
cmpl %eax, %r14d
jge 0xafd5
movq %rbx, %rdi
movq %r14, %rsi
callq 0x821f
jmp 0xafdd
movq %rbx, %rdi
callq 0x81d4
movq %rax, %rbx
movq %rax, %rdi
callq 0x8082
movq %rax, %r14
movl 0x14(%r12), %ebp
testl %r14d, %r14d
je 0xb053
cmpl $0x1, 0x8(%r12)
jne 0xb053
cmpl %r14d, %ebp
jle 0xb0c5
leaq 0x10(%rsp), %rdi
movq %r15, (%rdi)
leaq 0xc(%rsp), %r15
movl $0x0, (%r15)
movq %rbx, %rsi
movq %r15, %rdx
movl %r14d, %ecx
callq 0xa83e
cmpl %ebp, (%r15)
jge 0xb0d0
leaq 0x10(%rsp), %r15
leaq 0xc(%rsp), %r12
movq %r15, %rdi
movl $0x20, %esi
movq %r12, %rdx
callq 0xa810
cmpl %ebp, 0xc(%rsp)
jl 0xb03b
jmp 0xb0d0
cmpl %r14d, %ebp
jle 0xb0c5
movl 0x10(%r12), %eax
movq %r15, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
leaq 0x10(%rsp), %r15
leaq 0xc(%rsp), %r12
movl %ebp, %r13d
cmpl $0x1, %eax
jne 0xb096
decl %r13d
movq %r15, %rdi
movl $0x30, %esi
movq %r12, %rdx
callq 0xa810
cmpl %r14d, %r13d
jg 0xb07c
jmp 0xb0ae
decl %r13d
movq %r15, %rdi
movl $0x20, %esi
movq %r12, %rdx
callq 0xa810
cmpl %r14d, %r13d
jg 0xb096
leaq 0x10(%rsp), %rdi
leaq 0xc(%rsp), %rdx
movq %rbx, %rsi
movl %r14d, %ecx
callq 0xa83e
jmp 0xb0d0
movq %r15, %rdi
movq %rbx, %rsi
callq 0x7e30
movq %rbx, %rdi
callq 0x1030
cmpl %r14d, %ebp
cmovgl %ebp, %r14d
movl %r14d, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_sprintf/x_to_buf.c
// Function: pos_justify
static void		pos_justify(char *buf, t_mod mod, int len)
{
	int		nbyte;

	nbyte = 0;
	mod.neg = mod.fl.fplus;
	nbyte = ft_padding(buf, len, mod, nbyte);
	if (!mod.fl.fplus && mod.fl.space && !nbyte)
	{
		ft_strcpy(buf, " ");
		buf++;
	}
}

// Assembly:
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
movl 0x4c(%rsp), %eax
movl %eax, 0x60(%rsp)
movl %eax, 0x20(%rsp)
movaps 0x40(%rsp), %xmm0
movaps 0x50(%rsp), %xmm1
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
xorl %edx, %edx
callq 0xa863
cmpl $0x0, 0x4c(%rsp)
jne 0xb822
cmpl $0x0, 0x40(%rsp)
je 0xb822
testl %eax, %eax
jne 0xb822
leaq 0x1be5(%rip), %rsi      # 0xd3fa
movq %rbx, %rdi
addq $0x30, %rsp
popq %rbx
jmp 0x7e30
addq $0x30, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_itoa_base.c
// Function: ft_itoa_base
char	*ft_itoa_base(int n, int base)
{
	int		tmp;
	int		len;
	char	*str;

	if (n == -2147483648)
		return (ft_strdup("-2147483648"));
	n < 0 ? n *= -1 : 0;
	tmp = n;
	len = 1;
	while (tmp /= base)
		len++;
	tmp = n;
	base == 10 ? len += 1 : 0;
	if (!(str = ft_strnew(len)))
		return (NULL);
	while (len--)
	{
		str[len] = g_base[(tmp % base)];
		tmp /= base;
	}
	if (n < 0 && base == 10)
		str[0] = '-';
	return (str);
}

// Assembly:
movl %edi, %eax
negl %eax
jno 0xb83a
leaq 0x21d9(%rip), %rdi      # 0xda0e
jmp 0x81d4
pushq %rbp
pushq %r14
pushq %rbx
movl %esi, %ebx
movl %edi, %ebp
cmovnsl %eax, %ebp
xorl %r14d, %r14d
movl %ebp, %eax
cltd
idivl %ebx
incq %r14
testl %eax, %eax
jne 0xb84a
xorl %edi, %edi
cmpl $0xa, %ebx
sete %dil
addq %r14, %rdi
callq 0x811c
testq %rax, %rax
je 0xb8ad
movq %rax, %rcx
xorl %eax, %eax
cmpl $0xa, %ebx
sete %al
leaq (%rax,%r14), %rsi
negq %rsi
movq %rcx, %rdi
addq %rax, %rdi
xorl %r8d, %r8d
leaq 0x2154(%rip), %r9       # 0xd9e0
movl %ebp, %eax
cltd
idivl %ebx
movslq %edx, %rdx
movb (%rdx,%r9), %dl
leaq (%rdi,%r8), %r10
movb %dl, -0x1(%r14,%r10)
decq %r8
movl %eax, %ebp
cmpq %r8, %rsi
jne 0xb88c
jmp 0xb8af
xorl %ecx, %ecx
movq %rcx, %rax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_itoa_base.c
// Function: ft_uitoa_base
char	*ft_uitoa_base(unsigned int n, int base)
{
	unsigned int	tmp;
	int				len;
	char			*str;

	tmp = n;
	len = 1;
	while (tmp /= base)
		len++;
	tmp = n;
	if (!(str = ft_strnew(len)))
		return (NULL);
	while (len--)
	{
		str[len] = g_base[(tmp % base)];
		tmp /= base;
	}
	return (str);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %esi, %ebx
movl %edi, %ebp
movl $0x1, %r14d
cmpl %esi, %edi
jb 0xb8d6
movl %ebp, %eax
xorl %edx, %edx
divl %ebx
incl %r14d
cmpl %ebx, %eax
jae 0xb8cb
movl %r14d, %edi
callq 0x811c
movq %rax, %rcx
testq %rax, %rax
je 0xb904
movslq %r14d, %rsi
leaq 0x20f0(%rip), %rdi      # 0xd9e0
movl %ebp, %eax
xorl %edx, %edx
divl %ebx
movb (%rdx,%rdi), %dl
movb %dl, -0x1(%rcx,%rsi)
movl %eax, %ebp
decq %rsi
jne 0xb8f0
movq %rcx, %rax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/rpeepz[P]ft_ssl/libft/srcs/ft_itoa_base.c
// Function: ft_itoa
char	*ft_itoa(int n)
{
	int		tmp;
	int		len;
	char	*str;

	if (n == -2147483648)
		return (ft_strdup("-2147483648"));
	tmp = n;
	len = 0;
	if (n < 0)
	{
		tmp *= -1;
		len = 1;
	}
	len += ft_intlen(n);
	if (!(str = ft_strnew(len)))
		return (NULL);
	while (len--)
	{
		str[len] = tmp % 10 + '0';
		tmp = tmp / 10;
	}
	if (n < 0)
		str[0] = '-';
	return (str);
}

// Assembly:
movl %edi, %eax
negl %eax
jno 0xb91e
leaq 0x20f5(%rip), %rdi      # 0xda0e
jmp 0x81d4
pushq %rbp
pushq %r14
pushq %rbx
movl %edi, %ebx
movl %edi, %r14d
shrl $0x1f, %r14d
callq 0x8050
movl %eax, %ebp
addl %r14d, %ebp
movslq %ebp, %r14
movq %r14, %rdi
callq 0x811c
testq %rax, %rax
je 0xb97f
testl %ebp, %ebp
je 0xb976
movl %ebx, %edx
negl %edx
cmovsl %ebx, %edx
movl $0xcccccccd, %ecx       # imm = 0xCCCCCCCD
movl %edx, %esi
imulq %rcx, %rsi
shrq $0x23, %rsi
leal (%rsi,%rsi), %edi
leal (%rdi,%rdi,4), %edi
subl %edi, %edx
orb $0x30, %dl
movb %dl, -0x1(%rax,%r14)
movl %esi, %edx
decq %r14
jne 0xb955
testl %ebx, %ebx
jns 0xb981
movb $0x2d, (%rax)
jmp 0xb981
xorl %eax, %eax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/panux[P]linit/src/linitctl.c
// Function: connectToServer
FILE* connectToServer() {
    char *sp = getenv("LINITSOCK");
    if(sp == NULL) {
        fprintf(stderr, "[FATAL] LINITSOCK not set\n");
        exit(65);
    }
    int fd = socket(AF_UNIX, SOCK_STREAM, 0);
    if(fd == -1) {
        fprintf(stderr, "[FATAL] Failed to create socket: %s\n", strerror(errno));
        exit(65);
    }
    struct sockaddr_un addr = { .sun_family = AF_UNIX };
    if((strlen(sp) + 1) > sizeof(addr.sun_path)) {
        fprintf(stderr, "[FATAL] Socket path is too long\n");
        exit(65);
    }
    strcpy(addr.sun_path, sp);
    if(connect(fd, (struct sockaddr *) &addr, sizeof(struct sockaddr_un)) == -1) {
        fprintf(stderr, "[FATAL] Failed to connect: %s\n", strerror(errno));
        exit(65);
    }
    FILE* stream = fdopen(fd, "r+");
    if(stream == NULL) {
        fprintf(stderr, "[FATAL] Failed to convert fd to stream\n");
        exit(65);
    }
    return stream;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x78, %rsp
leaq 0xb3a(%rip), %rdi       # 0x2004
callq 0x1030
testq %rax, %rax
je 0x1574
movq %rax, %r14
movl $0x1, %edi
movl $0x1, %esi
xorl %edx, %edx
callq 0x1130
cmpl $-0x1, %eax
je 0x1579
movl %eax, %ebx
xorps %xmm0, %xmm0
movups %xmm0, 0x68(%rsp)
movups %xmm0, 0x5c(%rsp)
movups %xmm0, 0x4c(%rsp)
movups %xmm0, 0x3c(%rsp)
movups %xmm0, 0x2c(%rsp)
movups %xmm0, 0x1c(%rsp)
movups %xmm0, 0xc(%rsp)
movw $0x1, 0xa(%rsp)
movq %r14, %rdi
callq 0x1080
addq $-0x6c, %rax
cmpq $-0x6e, %rax
jbe 0x157e
leaq 0xc(%rsp), %rdi
movq %r14, %rsi
callq 0x1060
leaq 0xa(%rsp), %rsi
movl %ebx, %edi
movl $0x6e, %edx
callq 0x10e0
cmpl $-0x1, %eax
je 0x1583
leaq 0xb2e(%rip), %rsi       # 0x208e
movl %ebx, %edi
callq 0x10c0
testq %rax, %rax
je 0x1588
addq $0x78, %rsp
popq %rbx
popq %r14
retq
callq 0x1200
callq 0x11cd
callq 0x11a8
callq 0x1175
callq 0x1150
// File: /workspace/github_c_makefile_star2_O3/panux[P]linit/src/linitctl.c
// Function: cmd_stop
void cmd_stop(int argc, char **argv, FILE *stream) {
    if(argc != 1) {
        fprintf(stderr, "[FATAL] Missing arguments\n");
        exit(1);
    }
    char pre[] = "stop ";
    size_t n = strlen(pre) + strlen(argv[0]) + 1;
    char buf[n];
    char *b = buf;
    strcpy(b, pre);
    b += strlen(pre);
    strcpy(b, argv[0]);
    if(fwrite(buf, n, 1, stream) != 1) {
        fprintf(stderr, "[FATAL] Failed to write command\n");
        exit(65);
    }
    //wait for completion
    while(true) {
        char *resp = rcvResp(stream);
        char *stat = NULL;
        int nspace = 0;
        for(size_t i = 0; (resp[i] != '\0') && (nspace < 2); i++) {
            if(resp[i] == ' ') {
                stat = resp + i;
                nspace++;
            }
        }
        stat++;
        if(nspace < 2) {
            fprintf(stderr, "[FATAL] Bad response: \"%s\"\n", resp);
            exit(65);
        }
        if(strcmp(stat, "stopped") == 0) {
            free(resp);
            return;
        }
        free(resp);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
cmpl $0x1, %edi
jne 0x1906
movq %rdx, %rbx
movq (%rsi), %r14
movq %r14, %rdi
callq 0x1080
leaq 0x6(%rax), %r15
movq %rsp, %rcx
addq $0x15, %rax
andq $-0x10, %rax
movq %rcx, %r12
subq %rax, %r12
movq %r12, %rsp
negq %rax
movl $0x706f7473, (%rcx,%rax) # imm = 0x706F7473
movw $0x20, 0x4(%r12)
leaq 0x5(%r12), %rdi
movq %r14, %rsi
callq 0x1060
movl $0x1, %edx
movq %r12, %rdi
movq %r15, %rsi
movq %rbx, %rcx
callq 0x10f0
cmpq $0x1, %rax
jne 0x190b
movq %rbx, %rdi
callq 0x158d
movq %rax, %r14
movb (%rax), %al
testb %al, %al
je 0x18d4
leaq 0x8ed(%rip), %r15       # 0x216b
xorl %ecx, %ecx
movq %r14, %rdx
xorl %edi, %edi
movl %ecx, %esi
xorl %ecx, %ecx
cmpb $0x20, %al
cmoveq %rdx, %rdi
sete %cl
addl %esi, %ecx
movb 0x1(%rdx), %al
testb %al, %al
je 0x18a3
incq %rdx
cmpl $0x2, %ecx
jb 0x1885
cmpl $0x2, %ecx
jb 0x18d4
incq %rdi
movq %r15, %rsi
callq 0x1090
movl %eax, %r12d
movq %r14, %rdi
callq 0x1040
testl %r12d, %r12d
je 0x18f9
movq %rbx, %rdi
callq 0x158d
movq %rax, %r14
movb (%rax), %al
testb %al, %al
jne 0x187e
movq 0x271d(%rip), %rax      # 0x3ff8
movq (%rax), %rdi
leaq 0x855(%rip), %rsi       # 0x213a
movq %r14, %rdx
xorl %eax, %eax
callq 0x10a0
movl $0x41, %edi
callq 0x10d0
leaq -0x20(%rbp), %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
callq 0x1335
callq 0x135a
// File: /workspace/github_c_makefile_star2_O3/panux[P]linit/src/linitctl.c
// Function: cmd_enable
void cmd_enable(int argc, char **argv, FILE *stream) {
    if(argc != 1) {
        fprintf(stderr, "[FATAL] Missing arguments\n");
        exit(1);
    }
    svcx(argv[0], "enable", stream);
}

// Assembly:
pushq %rax
cmpl $0x1, %edi
jne 0x19d6
movq (%rsi), %rdi
leaq 0x7c7(%rip), %rsi       # 0x2198
callq 0x1910
movq 0x261b(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0x6f3(%rip), %rdi       # 0x20da
movl $0x1a, %esi
movl $0x1, %edx
callq 0x10f0
movl $0x1, %edi
callq 0x10d0
// File: /workspace/github_c_makefile_star2_O3/panux[P]linit/src/linitctl.c
// Function: cmd_disable
void cmd_disable(int argc, char **argv, FILE *stream) {
    if(argc != 1) {
        fprintf(stderr, "[FATAL] Missing arguments\n");
        exit(1);
    }
    svcx(argv[0], "disable", stream);
}

// Assembly:
pushq %rax
cmpl $0x1, %edi
jne 0x1a15
movq (%rsi), %rdi
leaq 0x78f(%rip), %rsi       # 0x219f
callq 0x1910
movq 0x25dc(%rip), %rax      # 0x3ff8
movq (%rax), %rcx
leaq 0x6b4(%rip), %rdi       # 0x20da
movl $0x1a, %esi
movl $0x1, %edx
callq 0x10f0
movl $0x1, %edi
callq 0x10d0
// File: /workspace/github_c_makefile_star2_O3/panux[P]linit/src/linitctl.c
// Function: main
int main(int argc, char** argv) {
    if(argc < 2) {
        fprintf(stderr, "[FATAL] Insufficient arguments\n");
        return 1;
    }
    FILE* stream = connectToServer();
    if(strcmp(argv[1], "start") == 0) {
        cmd_start(argc - 2, argv + 2, stream);
    } else if(strcmp(argv[1], "stop") == 0) {
        cmd_stop(argc - 2, argv + 2, stream);
    } else if(strcmp(argv[1], "enable") == 0) {
        cmd_enable(argc - 2, argv + 2, stream);
    } else if(strcmp(argv[1], "disable") == 0) {
        cmd_disable(argc - 2, argv + 2, stream);
    } else if(strcmp(argv[1], "state") == 0) {
        cmd_state(argc - 2, argv + 2, stream);
    } else {
        fprintf(stderr, "[FATAL] Unrecognized subcommand: \"%s\"\n", argv[1]);
        return 1;
    }
    if(fclose(stream) != 0) {
        fprintf(stderr, "[FATAL] Failed to close stream: %s\n", strerror(errno));
        return 65;
    }
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
cmpl $0x1, %edi
jle 0x1b22
movq %rsi, %r14
movl %edi, %ebp
callq 0x14bc
movq %rax, %rbx
movq 0x8(%r14), %r15
leaq 0x760(%rip), %rsi       # 0x21c7
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
je 0x1add
leaq 0x753(%rip), %rsi       # 0x21cd
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
je 0x1af3
leaq 0x70b(%rip), %rsi       # 0x2198
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
je 0x1b57
leaq 0x6fb(%rip), %rsi       # 0x219f
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
je 0x1b6b
leaq 0x717(%rip), %rsi       # 0x21d2
movq %r15, %rdi
callq 0x1090
testl %eax, %eax
jne 0x1b35
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x172e
jmp 0x1b07
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x15c2
jmp 0x1b07
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x17f0
movq %rbx, %rdi
callq 0x1070
movl %eax, %ecx
xorl %eax, %eax
testl %ecx, %ecx
jne 0x1b29
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
callq 0x13ab
jmp 0x1b50
callq 0x137f
movl $0x41, %eax
jmp 0x1b17
movq 0x24bc(%rip), %rax      # 0x3ff8
movq (%rax), %rdi
leaq 0x692(%rip), %rsi       # 0x21d8
movq %r15, %rdx
xorl %eax, %eax
callq 0x10a0
movl $0x1, %eax
jmp 0x1b17
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x19c1
addl $-0x2, %ebp
addq $0x10, %r14
movl %ebp, %edi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1a00
// File: /workspace/github_c_makefile_star2_O3/cyb70289[P]tt/tests/graph.c
// Function: dfs
static void dfs(const char *graph[], int n, int ft[], int round)
{
	int i, scc = 1;

	/* Mark all vertex white */
	int color[n];
	for (i = 0; i < n; i++)
		color[i] = WHITE;

	printf("Round%d: \n", round);

	/* Call dfs-visit on all vertex */
	while ((i = dfs_next_vertex(n, color, ft)) >= 0) {
		if (round == 2)
			printf("SCC%d: ", scc++);
		dfs_visit(graph, n, ft, color, i);
		if (round == 2)
			printf("\n");
	}

	printf("\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
xorps %xmm0, %xmm0
movq %rsp, %r12
movaps %xmm0, 0x10(%r12)
movaps %xmm0, (%r12)
leaq 0xdaa(%rip), %rdi       # 0x2016
movl %edx, %esi
xorl %eax, %eax
callq 0x1050
movl $0x1, %ebp
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, (%rsp,%rax,4)
jne 0x129a
movl (%r14,%rax,4), %edx
cmpl %ecx, %edx
cmovgl %edx, %ecx
cmovgl %eax, %r13d
incq %rax
cmpq $0x8, %rax
jne 0x1287
testl %r13d, %r13d
js 0x12ea
cmpl $0x2, %ebx
je 0x12bd
movq %r15, %rdi
movq %r12, %rsi
movl %r13d, %edx
callq 0x1302
jmp 0x127a
movq %rbp, %rsi
incl %ebp
leaq 0xd58(%rip), %rdi       # 0x2021
xorl %eax, %eax
callq 0x1050
movq %r15, %rdi
movq %r12, %rsi
movl %r13d, %edx
callq 0x1302
movl $0xa, %edi
callq 0x1040
jmp 0x127a
movl $0xa, %edi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1040
// File: /workspace/github_c_makefile_star2_O3/cyb70289[P]tt/tests/graph.c
// Function: dfs_visit
static void dfs_visit(const char *graph[], int n, int ft[], int color[], int i)
{
	visit_count++;
	color[i] = GRAY;

	const char *v = graph[i];
	while (*v) {
		int j = *v - 'a';
		if (color[j] == WHITE)
			dfs_visit(graph, n, ft, color, j);
		v++;
	}

	color[i] = BLACK;
	visit_count++;

	printf("%c ", i + 'a');
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movl 0x2d39(%rip), %ecx      # 0x404c
incl %ecx
movl %ecx, 0x2d31(%rip)      # 0x404c
movslq %edx, %rbx
movl $0x1, (%rsi,%rbx,4)
movq (%rdi,%rbx,8), %r12
movb (%r12), %al
testb %al, %al
je 0x1368
movq %rdi, %r15
incq %r12
movsbq %al, %rcx
cmpl $0x0, -0x184(%r14,%rcx,4)
jne 0x1357
movsbl %al, %edx
addl $-0x61, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x1302
movb (%r12), %al
incq %r12
testb %al, %al
jne 0x1337
movl 0x2ce4(%rip), %ecx      # 0x404c
movl $0x2, (%r14,%rbx,4)
incl %ecx
movl %ecx, 0x2cd4(%rip)      # 0x404c
addl $0x61, %ebx
leaq 0xca7(%rip), %rdi       # 0x2029
movl %ebx, %esi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x1050
// File: /workspace/github_c_makefile_star2_O3/ohkimur[P]the-c-programming-language-2nd-edition-solutions/chapter_5/exercise_5_06/itoa.c
// Function: main
int main(void)
{
  int i = 1234;
  char s[100] = "";

  itoa(s, i);

  printf("itoa: %s\n", s);

  return 0;
}

// Assembly:
pushq %rbx
subq $0x70, %rsp
xorps %xmm0, %xmm0
movq %rsp, %rbx
movaps %xmm0, (%rbx)
movaps %xmm0, 0x50(%rbx)
movaps %xmm0, 0x40(%rbx)
movaps %xmm0, 0x30(%rbx)
movaps %xmm0, 0x20(%rbx)
movaps %xmm0, 0x10(%rbx)
movl $0x0, 0x60(%rbx)
movl $0x31323334, (%rbx)     # imm = 0x31323334
movq %rbx, %rdi
callq 0x11e3
leaq 0xe7a(%rip), %rdi       # 0x2004
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1040
xorl %eax, %eax
addq $0x70, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/ohkimur[P]the-c-programming-language-2nd-edition-solutions/chapter_5/exercise_5_06/itoa.c
// Function: itoa
void itoa(char *s, int n)
{
  char *t = s;

  while (n)
  {
    *(t++) = n % 10 + '0';
    n /= 10;
  }

  *t = '\0';

  reverse(s);
}

// Assembly:
movq %rdi, %rax
testl %esi, %esi
je 0x11db
movq %rdi, %rax
movslq %esi, %rcx
imulq $0x66666667, %rcx, %rsi # imm = 0x66666667
movq %rsi, %rdx
shrq $0x3f, %rdx
sarq $0x22, %rsi
addl %edx, %esi
leal (%rsi,%rsi), %edx
leal (%rdx,%rdx,4), %edx
movl %ecx, %r8d
subl %edx, %r8d
addb $0x30, %r8b
movb %r8b, (%rax)
incq %rax
addl $0x9, %ecx
cmpl $0x12, %ecx
ja 0x11a6
movb $0x0, (%rax)
jmp 0x11e3
// File: /workspace/github_c_makefile_star2_O3/ohkimur[P]the-c-programming-language-2nd-edition-solutions/chapter_5/exercise_5_06/itoa.c
// Function: reverse
void reverse(char *s)
{
  char *t = s + strlen(s) - 1;
  char aux = 0;

  if (*s == '\0')
    return;

  while (s < t)
  {
    aux = *t;
    *t-- = *s;
    *s++ = aux;
  }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
callq 0x1030
cmpb $0x0, (%rbx)
setne %cl
addq %rbx, %rax
decq %rax
cmpq %rbx, %rax
seta %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x1221
incq %rbx
movb (%rax), %cl
movb -0x1(%rbx), %dl
movb %dl, (%rax)
movb %cl, -0x1(%rbx)
decq %rax
leaq 0x1(%rbx), %rcx
cmpq %rax, %rbx
movq %rcx, %rbx
jb 0x1208
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/trumabrat[P]GrandProjet/ArbreQuatMain.c
// Function: main
int main(int argc, char const *argv[])
{
    FILE* f = NULL;
    f = fopen("00014_burma.cha", "r");
    Chaines *C = lectureChaines(f);

    Reseau *R = reconstitueReseauArbre(C);
    FILE *f2 = fopen("resArbre.txt", "w");
    ecrireReseau(R, f2);
    afficheReseauSVG(R, "affichage_arbre");

    liberer_chaines(C);
    liberation_reseau(R);
    fclose(f);
    fclose(f2);
    return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
leaq 0x9ec(%rip), %rdi       # 0x3373
leaq 0x9f5(%rip), %rsi       # 0x3383
callq 0x10e0
movq %rax, %rbx
movq %rax, %rdi
callq 0x19b0
movq %rax, %r14
movq %rax, %rdi
callq 0x17cf
movq %rax, %r15
leaq 0x9d2(%rip), %rdi       # 0x3385
leaq 0x84c(%rip), %rsi       # 0x3206
callq 0x10e0
movq %rax, %r12
movq %r15, %rdi
movq %rax, %rsi
callq 0x2302
leaq 0x9be(%rip), %rsi       # 0x3392
movq %r15, %rdi
callq 0x24f4
movq %r14, %rdi
callq 0x1f5b
movq %r15, %rdi
callq 0x2756
movq %rbx, %rdi
callq 0x1060
movq %r12, %rdi
callq 0x1060
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/actor.c
// Function: error_msg
BEH_DECL(error_msg)
{
	char* s;

	DBUG_ENTER("error_msg");
	s = cons_to_str(WHAT);
	DBUG_PRINT("", ("=ERROR= %s", s));
	fprintf(stderr, "=ERROR= %s\n", s);
	DBUG_RETURN;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
leaq 0x1a857(%rip), %rax     # 0x1cc19
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x20f5f(%rip), %r15     # 0x23330
movq (%r15), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x4a, 0xc(%rdi)
leaq 0x19f5e(%rip), %r14     # 0x1c34a
movq %r14, 0x10(%rdi)
leaq 0x20db1(%rip), %rcx     # 0x231a8
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1ba26
movq 0x30(%rbx), %rdi
callq 0x19d11
movq %rax, %rdi
callq 0x13c40
movq %rax, %rbx
leaq 0x21511(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x245a
movq (%r15), %rax
movq 0x50(%rax), %rax
movq %r14, 0x10(%rax)
movq %r14, %rdi
callq 0x1b188
testl %eax, %eax
je 0x245a
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0x4c, 0xc(%rax)
leaq 0x1a7d3(%rip), %rdi     # 0x1cc23
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1ba97
movq 0x20b97(%rip), %rax     # 0x22ff8
movq (%rax), %rdi
leaq 0x1a7c3(%rip), %rsi     # 0x1cc2e
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2180
leaq 0x8(%rsp), %rdi
movl $0x4e, 0xc(%rdi)
callq 0x1bbab
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/kernel.c
// Function: file_put
CONS*
file_put(SINK* sink, CONS* value)
{
	FILE* f;
	int c;
	CONS* ok;

	DBUG_ENTER("file_put");
	assert(numberp(value));
	XDBUG_PRINT("stdout", ("%p", stdout));
	XDBUG_PRINT("stderr", ("%p", stderr));
	XDBUG_PRINT("output_file", ("%p", output_file));
	if (sink->context == MK_REF(output_file)) {
		f = output_file;  /* FIXME: WORKAROUND FOR FILE* ENCODING */
	} else {
		f = (FILE*)(MK_PTR(sink->context));
	}
	XDBUG_PRINT("f", ("%p", f));
	c = MK_INT(value);
	DBUG_PRINT("c", ((isprint(c) ? "%d '%c'" : "%d '\\x%X'"), c, c));
	ok = ((fputc(c, f) == EOF) ? a_false : a_true);
	XDBUG_PRINT("ok", ("%s", cons_to_str(ok)));
	DBUG_RETURN ok;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x197b0(%rip), %rax     # 0x1c004
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20acf(%rip), %r12     # 0x23330
movq (%r12), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x69, 0xc(%rdi)
leaq 0x19acd(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x208c8(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1ba26
movl %ebx, %eax
notl %eax
testb $0x3, %al
jne 0x2969
movq (%r14), %r15
movq 0x20acd(%rip), %r14     # 0x23378
shrq $0x2, %rbx
leaq 0x2107a(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2916
movq (%r12), %rax
movq 0x50(%rax), %rax
leaq 0x1b261(%rip), %rdi     # 0x1db2b
movq %rdi, 0x10(%rax)
callq 0x1b188
testl %eax, %eax
je 0x2916
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0x75, 0xc(%rax)
callq 0x2260
movq (%rax), %rax
movslq %ebx, %rcx
movzwl (%rax,%rcx,2), %eax
btl $0xe, %eax
leaq 0x1974c(%rip), %rax     # 0x1c04c
leaq 0x1973d(%rip), %rdi     # 0x1c044
cmovaeq %rax, %rdi
movl %ebx, %esi
movl %ebx, %edx
xorl %eax, %eax
callq 0x1ba97
leaq 0x3(,%r14,4), %rax
movq %r15, %rsi
sarq $0x2, %rsi
cmpq %rax, %r15
cmoveq %r14, %rsi
movl %ebx, %edi
callq 0x2130
cmpl $-0x1, %eax
leaq 0x20a43(%rip), %rax     # 0x23380
leaq 0x20a44(%rip), %rcx     # 0x23388
cmoveq %rax, %rcx
movq (%rcx), %rbx
movq %rsp, %rdi
movl $0x78, 0xc(%rdi)
callq 0x1bbab
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x1969d(%rip), %rdi     # 0x1c00d
leaq 0x196a5(%rip), %rsi     # 0x1c01c
leaq 0x196a7(%rip), %rcx     # 0x1c025
movl $0x6a, %edx
callq 0x2100
// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/kernel.c
// Function: generic_put_cstr
CONS*
generic_put_cstr(SINK* sink, char* s)
{
	int c;

	DBUG_ENTER("generic_put_cstr");
	assert(s != NULL);
	DBUG_PRINT("s", ((s ? "\"%s\"" : "NULL"), s));
	while ((c = *s++)) {
		if((sink->put)(sink, NUMBER(c)) == a_false) {
			DBUG_RETURN a_false;
		}
	}
	DBUG_RETURN a_true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x196b6(%rip), %rax     # 0x1c056
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20983(%rip), %r15     # 0x23330
movq (%r15), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x7f, 0xc(%rdi)
leaq 0x19982(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x2077d(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1ba26
testq %rbx, %rbx
je 0x2a8a
leaq 0x20f40(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2a2f
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x1ab52(%rip), %rdi     # 0x1d555
movq %rdi, 0x10(%rax)
callq 0x1b188
testl %eax, %eax
je 0x2a2f
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0x81, 0xc(%rax)
leaq 0x19673(%rip), %rdi     # 0x1c098
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1ba97
leaq 0x20952(%rip), %r15     # 0x23388
leaq 0x20943(%rip), %r12     # 0x23380
movsbq (%rbx), %rax
testq %rax, %rax
je 0x2a6b
incq %rbx
leaq 0x3(,%rax,4), %rsi
movq %r14, %rdi
callq *0x8(%r14)
cmpq 0x20921(%rip), %rax     # 0x23380
jne 0x2a3d
movl $0x84, %eax
movq %r12, %r15
jmp 0x2a70
movl $0x87, %eax
movq %rsp, %rdi
movl %eax, 0xc(%rdi)
callq 0x1bbab
movq (%r15), %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x195d6(%rip), %rdi     # 0x1c067
leaq 0x19584(%rip), %rsi     # 0x1c01c
leaq 0x195d2(%rip), %rcx     # 0x1c071
movl $0x80, %edx
callq 0x2100
// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/kernel.c
// Function: file_sink
SINK*
file_sink(FILE* f)
{
	SINK* sink;

	DBUG_ENTER("file_sink");
	DBUG_PRINT("f", ("%p", f));
	sink = NEW(SINK);
	sink->context = MK_REF(f);
	sink->put = file_put;
	sink->put_cstr = generic_put_cstr;
	DBUG_RETURN sink;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x195e3(%rip), %rax     # 0x1c09d
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20869(%rip), %r14     # 0x23330
movq (%r14), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0x8e, 0xc(%rdi)
leaq 0x19868(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x20663(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1ba26
leaq 0x20e2f(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2b40
movq (%r14), %rax
movq 0x50(%rax), %rax
leaq 0x19657(%rip), %rdi     # 0x1c16b
movq %rdi, 0x10(%rax)
callq 0x1b188
testl %eax, %eax
je 0x2b40
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0x8f, 0xc(%rax)
leaq 0x1b50a(%rip), %rdi     # 0x1e040
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1ba97
movl $0x18, %edi
movl $0x1, %esi
callq 0x2160
movq %rax, %r14
leaq 0x3(,%rbx,4), %rax
movq %rax, (%r14)
leaq -0x328(%rip), %rax      # 0x283c
movq %rax, 0x8(%r14)
leaq -0x1e7(%rip), %rax      # 0x2988
movq %rax, 0x10(%r14)
movq %rsp, %rdi
movl $0x94, 0xc(%rdi)
callq 0x1bbab
movq %r14, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/kernel.c
// Function: string_empty
CONS*
string_empty(SOURCE* src)
{
	char* s;

	DBUG_ENTER("string_empty");
	s = (char*)(MK_PTR(src->context));
	DBUG_PRINT("s", ((s ? "\"%s\"" : "NULL"), s));
	DBUG_RETURN ((s && *s) ? a_false : a_true);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
leaq 0x19507(%rip), %rax     # 0x1c0a7
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x20781(%rip), %r15     # 0x23330
movq (%r15), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xa6, 0xc(%rdi)
leaq 0x19780(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x2057b(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1ba26
movq (%rbx), %r14
movq %r14, %rbx
sarq $0x2, %rbx
leaq 0x20d3d(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2c41
movq (%r15), %rax
movq 0x50(%rax), %rax
leaq 0x1a94f(%rip), %rdi     # 0x1d555
movq %rdi, 0x10(%rax)
callq 0x1b188
testl %eax, %eax
je 0x2c41
movq (%r15), %rax
movq 0x50(%rax), %rax
movl $0xa8, 0xc(%rax)
cmpq $0x4, %r14
leaq 0x1ba72(%rip), %rax     # 0x1e69e
leaq 0x19465(%rip), %rdi     # 0x1c098
cmovbq %rax, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x1ba97
leaq 0x8(%rsp), %rdi
movl $0xa9, 0xc(%rdi)
callq 0x1bbab
cmpq $0x4, %r14
jb 0x2c66
cmpb $0x0, (%rbx)
je 0x2c66
leaq 0x2071c(%rip), %rax     # 0x23380
jmp 0x2c6d
leaq 0x2071b(%rip), %rax     # 0x23388
movq (%rax), %rax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/kernel.c
// Function: string_get
CONS*
string_get(SOURCE* src)
{
	char* s;
	int c;

	DBUG_ENTER("string_get");
	if ((src->empty)(src) == a_true) {
		DBUG_PRINT("c", ("EOF"));
		DBUG_RETURN NUMBER(EOF);
	}
	s = (char*)(MK_PTR(src->context));
	c = *s;
	DBUG_PRINT("c", ((isprint(c) ? "%d '%c'" : "%d '\\x%X'"), c, c));
	DBUG_RETURN NUMBER(c);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x19429(%rip), %rax     # 0x1c0b4
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x20698(%rip), %r14     # 0x23330
movq (%r14), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xb1, 0xc(%rdi)
leaq 0x19697(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x20492(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1ba26
movq %rbx, %rdi
callq *0x8(%rbx)
cmpq 0x206b0(%rip), %rax     # 0x23388
je 0x2d66
movq (%rbx), %rax
sarq $0x2, %rax
movsbl (%rax), %eax
movslq %eax, %rbx
leaq 0x20c3e(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2d4d
movq (%r14), %rax
movq 0x50(%rax), %rax
leaq 0x1ae26(%rip), %rdi     # 0x1db2b
movq %rdi, 0x10(%rax)
callq 0x1b188
testl %eax, %eax
je 0x2d4d
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0xb8, 0xc(%rax)
callq 0x2260
movq (%rax), %rax
movzwl (%rax,%rbx,2), %eax
btl $0xe, %eax
leaq 0x19315(%rip), %rax     # 0x1c04c
leaq 0x19306(%rip), %rdi     # 0x1c044
cmovaeq %rax, %rdi
movl %ebx, %esi
movl %ebx, %edx
xorl %eax, %eax
callq 0x1ba97
movq %rsp, %rdi
movl $0xb9, 0xc(%rdi)
callq 0x1bbab
leaq 0x3(,%rbx,4), %rax
jmp 0x2dbf
leaq 0x20bc3(%rip), %rax     # 0x23930
cmpl $0x0, (%rax)
je 0x2da9
movq (%r14), %rax
movq 0x50(%rax), %rax
leaq 0x1adab(%rip), %rdi     # 0x1db2b
movq %rdi, 0x10(%rax)
callq 0x1b188
testl %eax, %eax
je 0x2da9
movq (%r14), %rax
movq 0x50(%rax), %rax
movl $0xb3, 0xc(%rax)
leaq 0x1931d(%rip), %rdi     # 0x1c0bf
xorl %eax, %eax
callq 0x1ba97
movq %rsp, %rdi
movl $0xb4, 0xc(%rdi)
callq 0x1bbab
movq $-0x1, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/kernel.c
// Function: string_next
CONS*
string_next(SOURCE* src)
{
	char* s;
	CONS* c;

	DBUG_ENTER("string_next");
	c = (src->get)(src);
	if (c == NUMBER(EOF)) {
		DBUG_RETURN c;
	}
	s = (char*)(MK_PTR(src->context));
	src->context = MK_REF(++s);
	DBUG_PRINT("s", ((s ? "\"%s\"" : "NULL"), s));
	DBUG_RETURN c;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rdi, %r14
leaq 0x192e6(%rip), %rax     # 0x1c0c3
leaq 0x8(%rsp), %rdi
movq %rax, (%rdi)
leaq 0x20544(%rip), %r12     # 0x23330
movq (%r12), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xc1, 0xc(%rdi)
leaq 0x19542(%rip), %rcx     # 0x1c34a
movq %rcx, 0x10(%rdi)
leaq 0x2033d(%rip), %rcx     # 0x23150
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x1ba26
movq %r14, %rdi
callq *0x10(%r14)
movq %rax, %rbx
cmpq $-0x1, %rax
je 0x2e94
movq (%r14), %r15
sarq $0x2, %r15
leaq 0x7(,%r15,4), %rax
movq %rax, (%r14)
leaq 0x20ae7(%rip), %rax     # 0x23930
movl $0xc9, %ebp
cmpl $0x0, (%rax)
je 0x2e99
movq (%r12), %rax
movq 0x50(%rax), %rax
leaq 0x1a6f3(%rip), %rdi     # 0x1d555
movq %rdi, 0x10(%rax)
callq 0x1b188
testl %eax, %eax
je 0x2e99
incq %r15
movq (%r12), %rax
movq 0x50(%rax), %rax
movl $0xc8, 0xc(%rax)
leaq 0x19210(%rip), %rdi     # 0x1c098
movq %r15, %rsi
xorl %eax, %eax
callq 0x1ba97
jmp 0x2e99
movl $0xc4, %ebp
leaq 0x8(%rsp), %rdi
movl %ebp, 0xc(%rdi)
callq 0x1bbab
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq