LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/srcs_checker/ft_tool.c
// Function: ft_free_stack
void	ft_free_stack(t_stack *s)
{
	if (s->a)
	{
		free(s->a);
		s->a = NULL;
	}
	if (s->b)
	{
		free(s->b);
		s->b = NULL;
	}
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq (%rdi), %rdi
testq %rdi, %rdi
je 0x19a4
callq 0x1030
movq $0x0, (%rbx)
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x19ba
callq 0x1030
movq $0x0, 0x8(%rbx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/srcs_checker/ft_tool2.c
// Function: ft_atol
long	ft_atol(const char *str)
{
	long	nbr;
	size_t	i;

	nbr = 0;
	i = 0;
	while (*str == ' ' || (*str >= 9 && *str <= 13))
		str++;
	if (*str == '-' || *str == '+')
		i++;
	while (str[i] >= '0' && str[i] <= '9')
	{
		if ((str[0] == '-' && i == 19 && str[i] >= '8')
			|| (str[0] == '-' && i > 19 && ft_isdigit(*(str + i))))
			return (0);
		if (((i == 19 && str[0] == '+') || (i == 18 && str[0] != '-'))
			&& str[i] >= '7')
			return (-1);
		if (((i > 19 && str[0] == '+') || (i > 18 && str[0] != '-'))
			&& ft_isdigit(*(str + i)))
			return (-1);
		nbr = str[i++] - '0' + nbr * 10;
	}
	return (str[0] == '-' ? -nbr : nbr);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movb (%rbx), %cl
movzbl %cl, %eax
leal -0x9(%rax), %edx
cmpl $0x5, %edx
jae 0x1a01
incq %rbx
jmp 0x19ef
cmpl $0x20, %eax
je 0x19fc
leal -0x2b(%rcx), %eax
xorl %r12d, %r12d
testb $-0x3, %al
sete %r12b
movb (%rbx,%r12), %al
leal -0x30(%rax), %edx
cmpb $0x9, %dl
ja 0x1ae0
xorl %r14d, %r14d
xorl %r15d, %r15d
movb (%rbx), %cl
cmpb $0x2d, %cl
sete %dl
cmpq $0x13, %r12
sete %sil
cmpb $0x38, %al
setae %dil
andb %dl, %sil
testb %dil, %sil
jne 0x1af4
cmpb $0x2d, %cl
setne %dl
cmpq $0x14, %r12
setb %sil
orb %dl, %sil
jne 0x1a76
movzbl %al, %edi
callq 0x1fbc
testl %eax, %eax
jne 0x1af4
movb (%rbx), %cl
cmpb $0x2b, %cl
jne 0x1a87
jmp 0x1a8c
cmpq $0x13, %r12
jne 0x1ac1
cmpb $0x2b, %cl
jne 0x1a87
cmpb $0x36, %al
jbe 0x1a8c
jmp 0x1b03
cmpb $0x2d, %cl
je 0x1a9a
movsbl (%rbx,%r12), %edi
callq 0x1fbc
testl %eax, %eax
jne 0x1b03
movsbq (%rbx,%r12), %rcx
movb 0x1(%rbx,%r12), %al
incq %r12
leaq (%r15,%r15,4), %rdx
leaq (%rcx,%rdx,2), %r15
addq $-0x30, %r15
leal -0x30(%rax), %ecx
cmpb $0xa, %cl
jb 0x1a28
jmp 0x1ae5
cmpq $0x12, %r12
jne 0x1ad8
cmpb $0x2d, %cl
sete %cl
cmpb $0x37, %al
setb %al
orb %cl, %al
jne 0x1a9a
jmp 0x1b03
cmpq $0x14, %r12
jae 0x1a6f
jmp 0x1a9a
xorl %r15d, %r15d
jmp 0x1ae7
movb (%rbx), %cl
movq %r15, %r14
negq %r14
cmpb $0x2d, %cl
cmovneq %r15, %r14
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq $-0x1, %r14
jmp 0x1af4
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/srcs_checker/ft_tool2.c
// Function: ft_check_arg
int		ft_check_arg(t_stack *s, char *str, size_t i)
{
	long	nb;
	size_t	j;

	nb = ft_atol(str);
	j = s->size_a - 1;
	if (nb > 2147483647 || nb < -2147483648)
		return (0);
	while (j > i)
		if (s->a[j--] == nb)
			return (0);
	if (*str == '-' && *(str + 1))
		str++;
	while (*str)
	{
		if (*str < '0' || *str > '9')
			return (0);
		str++;
	}
	s->a[i] = nb;
	return (1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movq %rsi, %rdi
callq 0x19e4
movq %rax, %rcx
movslq %ecx, %rdx
xorl %eax, %eax
cmpq %rcx, %rdx
jne 0x1b93
movq 0x20(%r14), %rdx
decq %rdx
cmpq %rbx, %rdx
jbe 0x1b4d
movq (%r14), %rsi
leaq -0x1(%rdx), %rdi
cmpq %rcx, (%rsi,%rdx,8)
movq %rdi, %rdx
jne 0x1b36
jmp 0x1b93
movzbl (%r15), %edx
testl %edx, %edx
je 0x1b87
cmpl $0x2d, %edx
jne 0x1b72
leaq 0x1(%r15), %rdx
movzbl 0x1(%r15), %esi
testb %sil, %sil
cmovneq %rdx, %r15
movl $0x2d, %edx
cmovnel %esi, %edx
incq %r15
addb $-0x3a, %dl
cmpb $-0xa, %dl
jb 0x1b93
movb (%r15), %dl
incq %r15
testb %dl, %dl
jne 0x1b75
movq (%r14), %rax
movq %rcx, (%rax,%rbx,8)
movl $0x1, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/srcs_checker/ft_tool2.c
// Function: ft_set_a_and_b
void	ft_set_a_and_b(t_stack *s, char **av, int ac)
{
	size_t	i;
	int		tmp;

	i = 0;
	s->size_a = s->size;
	s->size_b = 0;
	if (!(s->a = (long *)malloc(sizeof(long) * s->size)))
		ft_exit(s);
	if (!(s->b = (long *)malloc(sizeof(long) * s->size)))
		ft_exit(s);
	tmp = ac;
	while (tmp)
	{
		if (!(ft_check_arg(s, av[i++], (tmp-- - 1))))
			ft_exit(s);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x18(%rdi), %r15
movq %r15, 0x20(%rdi)
movq $0x0, 0x28(%rdi)
shlq $0x3, %r15
movq %r15, %rdi
callq 0x1070
movq %rax, (%r14)
testq %rax, %rax
jne 0x1be0
movq %r14, %rdi
callq 0x19bc
movq 0x18(%r14), %r15
shlq $0x3, %r15
movq %r15, %rdi
callq 0x1070
movq %rax, 0x8(%r14)
testq %rax, %rax
jne 0x1bf9
movq %r14, %rdi
callq 0x19bc
testl %ebp, %ebp
je 0x1c2f
movslq %ebp, %r15
movl %ebp, %r12d
decq %r15
xorl %r13d, %r13d
movq (%rbx,%r13,8), %rsi
movq %r14, %rdi
movq %r15, %rdx
callq 0x1b0c
testl %eax, %eax
jne 0x1c24
movq %r14, %rdi
callq 0x19bc
incq %r13
decq %r15
cmpq %r13, %r12
jne 0x1c09
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/srcs_checker/ft_tool2.c
// Function: ft_size_of_arg
int		ft_size_of_arg(char **arg)
{
	int		i;

	i = 0;
	while (arg && arg[i])
		i++;
	return (i);
}

// Assembly:
testq %rdi, %rdi
je 0x1c55
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
incl %eax
cmpq $0x0, (%rdi)
leaq 0x8(%rdi), %rdi
jne 0x1c48
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/string/ft_strequ.c
// Function: ft_strequ
int	ft_strequ(char const *s1, char const *s2)
{
	if (!s1 && !s2)
		return (1);
	else if (!s1 || !s2)
		return (0);
	while (*s1 || *s2)
	{
		if (ft_isalpha(*s1))
			ft_toupper(*s1);
		if (ft_isalpha(*s2))
			ft_toupper(*s2);
		if (*s1++ != *s2++)
			return (0);
	}
	return (1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl $0x1, %ebx
movq %rdi, %rax
orq %rsi, %rax
je 0x1cd5
movq %rsi, %r14
movq %rdi, %r15
testq %rsi, %rsi
sete %al
testq %rdi, %rdi
sete %cl
orb %al, %cl
jne 0x1cd3
xorl %r12d, %r12d
movsbl (%r15,%r12), %edi
testl %edi, %edi
jne 0x1c96
cmpb $0x0, (%r14,%r12)
je 0x1cd5
callq 0x1fac
testl %eax, %eax
je 0x1ca9
movsbl (%r15,%r12), %edi
callq 0x1f9c
movsbl (%r14,%r12), %edi
callq 0x1fac
testl %eax, %eax
je 0x1cc1
movsbl (%r14,%r12), %edi
callq 0x1f9c
movb (%r15,%r12), %al
leaq 0x1(%r12), %rcx
cmpb (%r14,%r12), %al
movq %rcx, %r12
je 0x1c86
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
nop
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/string/ft_strjoinfree.c
// Function: ft_strjoinfree_n
char	*ft_strjoinfree_n(char **s1, char **s2, int which)
{
	char	*new_str;

	new_str = ft_strjoin(*s1, *s2);
	if (which == FIRST || which == BOTH)
		ft_strdel(s1);
	if (which == SECOND || which == BOTH)
		ft_strdel(s2);
	return (new_str);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r15
movq (%rdi), %rdi
movq (%rsi), %rsi
callq 0x5a0c
movq %rax, %r14
movl %ebp, %eax
andl $-0x3, %eax
cmpl $0x1, %eax
jne 0x1d13
movq %r15, %rdi
callq 0x1d7c
andl $-0x2, %ebp
cmpl $0x2, %ebp
jne 0x1d23
movq %rbx, %rdi
callq 0x1d7c
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/string/ft_strjoinfree.c
// Function: ft_strjoinfree
char	*ft_strjoinfree(char *s1, char *s2, int which)
{
	char	*new_str;

	new_str = ft_strjoin(s1, s2);
	if (which == FIRST || which == BOTH)
		ft_strdel(&s1);
	if (which == SECOND || which == BOTH)
		ft_strdel(&s2);
	return (new_str);
}

// Assembly:
pushq %rbp
pushq %rbx
subq $0x18, %rsp
movl %edx, %ebp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
callq 0x5a0c
movq %rax, %rbx
movl %ebp, %eax
andl $-0x3, %eax
cmpl $0x1, %eax
jne 0x1d5f
leaq 0x10(%rsp), %rdi
callq 0x1d7c
andl $-0x2, %ebp
cmpl $0x2, %ebp
jne 0x1d71
leaq 0x8(%rsp), %rdi
callq 0x1d7c
movq %rbx, %rax
addq $0x18, %rsp
popq %rbx
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/string/ft_free_tab_str.c
// Function: ft_free_tab_str
void	ft_free_tab_str(char **tab)
{
	size_t	i;

	if (!tab)
		return ;
	i = 0;
	while (tab[i])
		ft_strdel(&tab[i++]);
	free(tab);
	tab = NULL;
}

// Assembly:
testq %rdi, %rdi
je 0x1dd3
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpq $0x0, (%rdi)
je 0x1dc4
movq %rbx, %r14
movq %r14, %rdi
callq 0x1d7c
cmpq $0x0, 0x8(%r14)
leaq 0x8(%r14), %r14
jne 0x1db1
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x1030
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/string/ft_str_is_numeric.c
// Function: ft_str_is_numeric
int		ft_str_is_numeric(char *str)
{
	if (str == NULL)
		return (FALSE);
	while (*str != '\0')
	{
		if (ft_isdigit(*str) == FALSE)
			return (FALSE);
		str++;
	}
	return (TRUE);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
xorl %ebx, %ebx
testq %rdi, %rdi
je 0x1e06
movq %rdi, %r14
movb (%rdi), %al
testb %al, %al
je 0x1e01
incq %r14
movsbl %al, %edi
callq 0x1fbc
testl %eax, %eax
je 0x1e06
movb (%r14), %al
incq %r14
testb %al, %al
jne 0x1deb
movl $0x1, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/string/ft_strsplit.c
// Function: ft_strsplit
char			**ft_strsplit(char const *s, char c)
{
	char				**tab;
	size_t				count;
	size_t				i;

	if (!s)
		return (NULL);
	i = 0;
	count = 0;
	while (s[i] == c && s[i])
		i++;
	if (s[i])
		count = ft_count_words(s, c);
	if (!(tab = (char **)malloc(sizeof(char *) * (count + 1))))
		return (NULL);
	tab[count] = NULL;
	if (count)
	{
		if (!(tab = ft_fill_table(s + i, tab, c)))
		{
			free(tab);
			tab = NULL;
			return (NULL);
		}
	}
	return (tab);
}

// Assembly:
testq %rdi, %rdi
je 0x1f61
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %esi, %ebx
movq %rdi, %r15
xorl %r13d, %r13d
movq %r13, %rbp
movb (%r15,%r13), %r14b
incq %r13
cmpb %bl, %r14b
jne 0x1e43
testb %r14b, %r14b
jne 0x1e2f
testb %r14b, %r14b
je 0x1e80
movb (%r15), %cl
testb %cl, %cl
je 0x1e80
leaq 0x1(%r15), %rax
xorl %r12d, %r12d
movb (%rax), %dl
cmpb %bl, %dl
sete %sil
testb %dl, %dl
sete %dil
orb %sil, %dil
cmpb %bl, %cl
setne %cl
andb %dil, %cl
movzbl %cl, %ecx
addq %rcx, %r12
incq %rax
movl %edx, %ecx
testb %dl, %dl
jne 0x1e56
jmp 0x1e83
xorl %r12d, %r12d
leaq 0x8(,%r12,8), %rdi
callq 0x1070
testq %rax, %rax
je 0x1f89
movq %rax, 0x8(%rsp)
movq $0x0, (%rax,%r12,8)
testb %r14b, %r14b
je 0x1f5a
testq %r12, %r12
je 0x1f5a
addq %r15, %rbp
movq %rbp, 0x18(%rsp)
addq %r15, %r13
movl $0x1, %ebp
xorl %ecx, %ecx
xorl %r14d, %r14d
movq %rcx, 0x10(%rsp)
decq %rbp
movq %rbp, %r15
movb (%r13,%rbp), %al
incq %rbp
cmpb %bl, %al
je 0x1ee8
testb %al, %al
jne 0x1ed5
movq %rbp, %r12
subq %r14, %r12
leaq 0x1(%r12), %rdi
callq 0x1070
movq %rax, %rdx
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
testq %rdx, %rdx
je 0x1f64
movq 0x18(%rsp), %rax
leaq (%rax,%r14), %rsi
movq %rdx, 0x20(%rsp)
movq %rdx, %rdi
movq %r12, %rdx
callq 0x5944
movq 0x20(%rsp), %rax
subq %r14, %rax
movb $0x0, (%rax,%rbp)
movq %r15, %r14
movb (%r13,%r14), %al
incq %r14
cmpb %bl, %al
jne 0x1f46
testb %al, %al
jne 0x1f36
movq 0x10(%rsp), %rcx
incq %rcx
leaq 0x1(%r14), %rbp
testb %al, %al
jne 0x1ecd
movq 0x8(%rsp), %rax
jmp 0x1f8b
xorl %eax, %eax
retq
movq 0x10(%rsp), %r14
decq %r14
je 0x1f89
movq 0x8(%rsp), %rbx
movq (%rbx,%r14,8), %rdi
callq 0x1030
movq $0x0, (%rbx,%r14,8)
decq %r14
jne 0x1f73
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/output/ft_putnbr.c
// Function: ft_putnbr
void	ft_putnbr(int n)
{
	if (n < 0)
	{
		if (n == -2147483648)
		{
			ft_putstr("-2147483648");
			return ;
		}
		write(1, "-", 1);
		ft_putnbr(-n);
	}
	else if (n <= 9)
		ft_putchar((char)(n + '0'));
	else
	{
		ft_putnbr(n / 10);
		ft_putnbr(n % 10);
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %edi, %ebx
leaq 0x3f7b(%rip), %r14      # 0x6004
movl $0xcccccccd, %r12d      # imm = 0xCCCCCCCD
testl %ebx, %ebx
js 0x20b6
cmpl $0x9, %ebx
jbe 0x20ce
movl %ebx, %r15d
imulq %r12, %r15
shrq $0x23, %r15
movl %r15d, %edi
callq 0x2078
addl %r15d, %r15d
leal (%r15,%r15,4), %eax
subl %eax, %ebx
jmp 0x208f
negl %ebx
jo 0x20e4
movl $0x1, %edx
movl $0x1, %edi
movq %r14, %rsi
callq 0x1040
jmp 0x208f
orb $0x30, %bl
movsbl %bl, %edi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x1fc8
leaq 0x4070(%rip), %rdi      # 0x615b
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x1fe4
nop
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/get_next_line/get_next_line.c
// Function: init_new_file
static t_list	*init_new_file(const int fd, char **line)
{
	t_file			*file;
	t_list			*new_list;

	if (fd < 0 || !line)
		return (NULL);
	if (!(file = (t_file *)malloc(sizeof(t_file))))
		return (NULL);
	file->fd = fd;
	file->rest = NULL;
	file->cur = NULL;
	file->state = -1;
	if (!(new_list = ft_lstnew(file, sizeof(t_file))))
	{
		free(file);
		file = NULL;
		if (new_list)
		{
			free(new_list);
			new_list = NULL;
		}
		return (NULL);
	}
	free(file);
	file = NULL;
	return (new_list);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
testl %edi, %edi
js 0x23b0
movl %edi, %ebp
movl $0x18, %edi
callq 0x1070
testq %rax, %rax
je 0x23b0
movq %rax, %rbx
movl %ebp, (%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rax)
movl $0xffffffff, 0x4(%rax)  # imm = 0xFFFFFFFF
movl $0x18, %esi
movq %rax, %rdi
callq 0x5c64
movq %rax, %r14
movq %rbx, %rdi
callq 0x1030
movq %r14, %rax
jmp 0x23b2
xorl %eax, %eax
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_printf.c
// Function: ft_loop_args
int			ft_loop_args(char *s, va_list *args, char **out, t_flag *flag)
{
	int		ret;

	while (*s)
	{
		ft_init_flags(flag);
		if (!(s = ft_fillcstr(s, out, flag->null)))
			return (0);
		if (*s == '%')
		{
			ft_join_free(out, "%", 1, flag->null);
			s++;
		}
		else if ((ret = ft_loop_args_extend(&s, out, args, flag)) == 2)
			return (-1);
		else if (ret == 1)
			return (1);
		ft_strdel(&flag->str);
	}
	return (0);
}

// Assembly:
cmpb $0x0, (%rdi)
je 0x2530
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
leaq 0x3d99(%rip), %r13      # 0x6178
movq %r14, %rdi
callq 0x2e94
movl 0x44(%r14), %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2890
testq %rax, %rax
je 0x251f
movq %rax, %rbp
movb (%rax), %al
cmpb $0x25, %al
jne 0x2427
movl 0x44(%r14), %ecx
movq %r15, %rdi
movq %r13, %rsi
movl $0x1, %edx
callq 0x3287
incq %rbp
movq %rbp, %rbx
jmp 0x250e
movsbl %al, %edi
callq 0x3008
testl %eax, %eax
je 0x2457
movq %r12, %rdi
movq %r14, %rsi
movq %rbp, %rdx
movq %r15, %rcx
callq 0x2655
testl %eax, %eax
jne 0x2533
movq %rbp, %rbx
incq %rbx
movb 0x1(%rbp), %al
jmp 0x24b6
movq %rbp, %rdi
movq %r14, %rsi
callq 0x2ab8
movq %rax, %rbx
testq %rax, %rax
sete %al
cmpq %rbp, %rbx
sete %cl
orb %al, %cl
je 0x247f
testq %rbx, %rbx
jne 0x24a5
jmp 0x253a
cmpl $0x1, 0x40(%r14)
jne 0x248c
cmpq $0x0, (%r14)
je 0x24a5
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x2655
testl %eax, %eax
jne 0x2533
cmpq %rbp, %rbx
sete %cl
movb (%rbx), %al
testb %al, %al
sete %dl
orb %cl, %dl
je 0x24ef
cmpl $0x1, 0x40(%r14)
jne 0x24c3
cmpq $0x0, (%r14)
jne 0x24d9
cmpb $0x25, %al
jne 0x24f2
cmpb $0x0, 0x1(%rbx)
jne 0x24f2
movq %r14, %rdi
callq 0x2f05
testl %eax, %eax
je 0x24f2
movl 0x44(%r14), %ecx
movq %r15, %rdi
movq %r13, %rsi
movl $0x1, %edx
callq 0x3287
jmp 0x24f2
incq %rbx
cmpb $0x0, (%rbx)
jne 0x250e
movq (%r14), %rsi
testq %rsi, %rsi
je 0x250e
movq %r15, %rdi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x3287
movq %r14, %rdi
callq 0x1d7c
cmpb $0x0, (%rbx)
jne 0x23df
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
retq
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x2521
movl $0x1, %eax
jmp 0x2521
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_printf.c
// Function: ft_printf
int			ft_printf(const char *format, ...)
{
	char	*out;
	int		len;
	va_list	args;
	t_flag	flag;

	flag.null = 0;
	if (!format || !*format)
		return (0);
	out = NULL;
	va_start(args, format);
	len = ft_loop_args((char *)format, &args, &out, &flag);
	va_end(args);
	ft_strdel(&flag.str);
	if (len != -1)
	{
		len = ft_strlen_null(out, flag.null);
		write(1, out, len);
	}
	ft_strdel(&out);
	return (len);
}

// Assembly:
pushq %rbp
pushq %rbx
subq $0x138, %rsp            # imm = 0x138
movq %rsi, 0x38(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x48(%rsp)
movq %r8, 0x50(%rsp)
movq %r9, 0x58(%rsp)
testb %al, %al
je 0x25a1
movaps %xmm0, 0x60(%rsp)
movaps %xmm1, 0x70(%rsp)
movaps %xmm2, 0x80(%rsp)
movaps %xmm3, 0x90(%rsp)
movaps %xmm4, 0xa0(%rsp)
movaps %xmm5, 0xb0(%rsp)
movaps %xmm6, 0xc0(%rsp)
movaps %xmm7, 0xd0(%rsp)
movl $0x0, 0x12c(%rsp)
xorl %ebx, %ebx
testq %rdi, %rdi
je 0x2649
cmpb $0x0, (%rdi)
je 0x2649
leaq 0x8(%rsp), %rdx
movq $0x0, (%rdx)
movabsq $0x3000000008, %rax     # imm = 0x3000000008
leaq 0x10(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x150(%rsp), %rax
movq %rax, 0x8(%rsi)
leaq 0x30(%rsp), %rax
movq %rax, 0x10(%rsi)
leaq 0xe8(%rsp), %rbx
movq %rbx, %rcx
callq 0x23b8
movl %eax, %ebp
movq %rbx, %rdi
callq 0x1d7c
cmpl $-0x1, %ebp
je 0x263a
movq 0x8(%rsp), %rdi
movl 0x12c(%rsp), %esi
callq 0x3058
movq %rax, %rbx
movq 0x8(%rsp), %rsi
movslq %ebx, %rdx
movl $0x1, %edi
callq 0x1040
jmp 0x263f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
leaq 0x8(%rsp), %rdi
callq 0x1d7c
movl %ebx, %eax
addq $0x138, %rsp            # imm = 0x138
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_printf_extend.c
// Function: ft_fillcstr
char	*ft_fillcstr(const char *s, char **out, int null)
{
	char	*tmp;
	char	*tmp2;
	char	*tmp_out;

	tmp_out = *out;
	if (!(tmp = ft_strchr(s, '%')))
	{
		*out = ft_strjoin_hub(*out, s, null, 1);
		ft_strdel(&tmp_out);
		return (NULL);
	}
	tmp2 = ft_strsub(s, 0, tmp - s);
	*out = ft_strjoin_hub(*out, tmp2, null, 1);
	ft_strdel(&tmp_out);
	ft_strdel(&tmp2);
	return (tmp + 1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r15
movq (%rsi), %rax
movq %rax, 0x8(%rsp)
movl $0x25, %esi
callq 0x5914
testq %rax, %rax
je 0x2900
movq %rax, %r14
movq %rax, %rdx
subq %r15, %rdx
movq %r15, %rdi
xorl %esi, %esi
callq 0x5a9c
leaq 0x10(%rsp), %r15
movq %rax, (%r15)
movq (%rbx), %rdi
movq %rax, %rsi
movl %ebp, %edx
movl $0x1, %ecx
callq 0x3184
movq %rax, (%rbx)
leaq 0x8(%rsp), %rdi
callq 0x1d7c
movq %r15, %rdi
callq 0x1d7c
incq %r14
jmp 0x2922
movq (%rbx), %rdi
movq %r15, %rsi
movl %ebp, %edx
movl $0x1, %ecx
callq 0x3184
movq %rax, (%rbx)
leaq 0x8(%rsp), %rdi
callq 0x1d7c
xorl %r14d, %r14d
movq %r14, %rax
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_printf_extend.c
// Function: ft_wildcard
void	ft_wildcard(va_list *args, t_flag *flag)
{
	int		tmp_field;

	if (flag->wildcard)
	{
		if (!flag->dot && (tmp_field = va_arg(*args, int)))
		{
			flag->wildcard--;
			if (!flag->field && (flag->field = tmp_field) < 0)
			{
				flag->min = 1;
				flag->field = -flag->field;
			}
		}
		else if (flag->wildcard > 1)
			va_arg(*args, int);
		if (flag->wildcard && flag->dot)
		{
			if ((tmp_field = va_arg(*args, int)) < 0)
				flag->dot = 0;
			else
				flag->precision = tmp_field;
		}
	}
}

// Assembly:
movl 0x48(%rsi), %eax
testl %eax, %eax
je 0x29dc
cmpl $0x0, 0x2c(%rsi)
je 0x2954
cmpl $0x2, %eax
jl 0x29a7
movl (%rdi), %eax
cmpl $0x28, %eax
ja 0x296a
addl $0x8, %eax
movl %eax, (%rdi)
jmp 0x29a4
movl (%rdi), %ecx
cmpq $0x28, %rcx
ja 0x2971
movq %rcx, %rax
addq 0x10(%rdi), %rax
addl $0x8, %ecx
movl %ecx, (%rdi)
jmp 0x297d
addq $0x8, 0x8(%rdi)
jmp 0x29a4
movq 0x8(%rdi), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdi)
movl (%rax), %ecx
movl 0x48(%rsi), %eax
testl %ecx, %ecx
je 0x2941
decl %eax
movl %eax, 0x48(%rsi)
cmpl $0x0, 0x38(%rsi)
jne 0x29a7
movl %ecx, 0x38(%rsi)
testl %ecx, %ecx
jns 0x29a4
movl $0x1, 0x10(%rsi)
negl %ecx
movl %ecx, 0x38(%rsi)
movl 0x48(%rsi), %eax
testl %eax, %eax
je 0x29dc
cmpl $0x0, 0x2c(%rsi)
je 0x29dc
movl (%rdi), %ecx
cmpq $0x28, %rcx
ja 0x29c7
movq %rcx, %rax
addq 0x10(%rdi), %rax
addl $0x8, %ecx
movl %ecx, (%rdi)
jmp 0x29d3
movq 0x8(%rdi), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdi)
movl (%rax), %eax
testl %eax, %eax
js 0x29dd
movl %eax, 0x34(%rsi)
retq
movl $0x0, 0x2c(%rsi)
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_printf_extend.c
// Function: ft_double_select
double	ft_double_select(va_list *args, t_flag *flag)
{
	long double	nb;
	double		nb2;

	if (flag->l_up)
		nb = va_arg(*args, long double);
	else
	{
		nb2 = va_arg(*args, double);
		nb = (long double)nb2;
	}
	return (nb);
}

// Assembly:
cmpl $0x0, 0x1c(%rsi)
je 0x2a0c
movq 0x8(%rdi), %rax
addq $0xf, %rax
andq $-0x10, %rax
leaq 0x10(%rax), %rcx
movq %rcx, 0x8(%rdi)
fldt (%rax)
fstpl -0x8(%rsp)
movsd -0x8(%rsp), %xmm0
retq
movl 0x4(%rdi), %ecx
cmpq $0xa0, %rcx
ja 0x2a27
movq %rcx, %rax
addq 0x10(%rdi), %rax
addl $0x10, %ecx
movl %ecx, 0x4(%rdi)
jmp 0x2a33
movq 0x8(%rdi), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rdi)
movsd (%rax), %xmm0
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_set_flags.c
// Function: ft_prio
static	void	ft_prio(t_flag *flag, char c)
{
	if (c == 'j' || c == 'z')
		flag->ll = 1;
	if (flag->ll || flag->l_up)
	{
		flag->l_low = 0;
		flag->h = 0;
		flag->hh = 0;
	}
	else if (flag->l_low)
	{
		flag->h = 0;
		flag->hh = 0;
	}
	else if (flag->h)
		flag->hh = 0;
	if (flag->min)
		flag->zero = 0;
}

// Assembly:
andb $-0x11, %sil
cmpb $0x6a, %sil
jne 0x2d08
movl $0x1, 0x20(%rdi)
jmp 0x2d14
cmpl $0x0, 0x20(%rdi)
jne 0x2d14
cmpl $0x0, 0x1c(%rdi)
je 0x2d3a
movl $0x0, 0x18(%rdi)
leaq 0x24(%rdi), %rax
movl $0x0, (%rax)
movl $0x0, 0x28(%rdi)
cmpl $0x0, 0x10(%rdi)
je 0x2d39
movl $0x0, 0xc(%rdi)
retq
leaq 0x24(%rdi), %rax
cmpl $0x0, 0x18(%rdi)
jne 0x2d1f
cmpl $0x0, (%rax)
jne 0x2d25
jmp 0x2d2c
nop
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_set_flags_extend.c
// Function: ft_set_min_field_size
void		ft_set_min_field_size(char **s, t_flag *flag)
{
	if (**s)
	{
		flag->field = ft_atoi(*s);
		if (*(*s + 1))
			while (*(*s + 1) >= '0' && *(*s + 1) <= '9')
				(*s)++;
	}
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq (%rdi), %rdi
cmpb $0x0, (%rdi)
je 0x2da0
movq %rsi, %r14
callq 0x5c08
movl %eax, 0x38(%r14)
movq (%rbx), %rax
movb 0x1(%rax), %cl
addb $-0x30, %cl
cmpb $0x9, %cl
ja 0x2da0
incq %rax
movq %rax, (%rbx)
movb 0x1(%rax), %cl
incq %rax
addb $-0x30, %cl
cmpb $0xa, %cl
jb 0x2d8f
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_set_flags_extend.c
// Function: ft_set_precision
void		ft_set_precision(char **s, t_flag *flag)
{
	char	*tmp;

	flag->dot++;
	tmp = *s;
	(*s)++;
	if (**s)
	{
		if (**s < '0' || **s > '9')
		{
			*s = tmp;
			flag->precision = 0;
		}
		flag->precision = ft_atoi(*s);
		if (*(*s + 1))
			while (*(*s + 1) >= '0' && *(*s + 1) <= '9')
				(*s)++;
	}
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
incl 0x2c(%rsi)
movq (%rdi), %rax
leaq 0x1(%rax), %rdi
movq %rdi, (%rbx)
movb 0x1(%rax), %cl
testb %cl, %cl
je 0x2e07
movq %rsi, %r14
addb $-0x3a, %cl
cmpb $-0xb, %cl
ja 0x2ddc
movq %rax, (%rbx)
movl $0x0, 0x34(%r14)
movq %rax, %rdi
callq 0x5c08
movl %eax, 0x34(%r14)
movq (%rbx), %rax
movb 0x1(%rax), %cl
addb $-0x30, %cl
cmpb $0x9, %cl
ja 0x2e07
incq %rax
movq %rax, (%rbx)
movb 0x1(%rax), %cl
incq %rax
addb $-0x30, %cl
cmpb $0xa, %cl
jb 0x2df6
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_set_flags_extend.c
// Function: ft_set_attribute_flags
void		ft_set_attribute_flags(char **s, t_flag *flag)
{
	if (**s == ' ')
		flag->space++;
	else if (**s == '#')
		flag->sharp++;
	else if (**s == '0')
		flag->zero++;
	else if (**s == '-')
		flag->min++;
	else if (**s == '+')
		flag->plus++;
}

// Assembly:
movq (%rdi), %rax
movzbl (%rax), %eax
cmpl $0x2a, %eax
jle 0x2e2d
cmpl $0x2b, %eax
je 0x2e3b
cmpl $0x2d, %eax
je 0x2e3f
cmpl $0x30, %eax
jne 0x2e3e
incl 0xc(%rsi)
retq
cmpl $0x20, %eax
je 0x2e43
cmpl $0x23, %eax
jne 0x2e3e
incl 0x8(%rsi)
retq
incl 0x14(%rsi)
retq
incl 0x10(%rsi)
retq
incl 0x30(%rsi)
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_set_flags_extend.c
// Function: ft_set_length_flags
void		ft_set_length_flags(char **s, t_flag *flag)
{
	if (!flag->ll)
	{
		if (**s == 'L')
			flag->l_up++;
		else if (**s == 'l')
		{
			if (*(*s + 1) == 'l')
			{
				flag->ll++;
				(*s)++;
			}
			else
				flag->l_low++;
		}
		else if (**s == 'h')
		{
			if (*(*s + 1) == 'h')
			{
				flag->hh++;
				(*s)++;
			}
			else
				flag->h++;
		}
	}
}

// Assembly:
cmpl $0x0, 0x20(%rsi)
je 0x2e4e
retq
movq (%rdi), %rax
movzbl (%rax), %ecx
cmpl $0x6c, %ecx
je 0x2e75
cmpl $0x68, %ecx
je 0x2e67
cmpl $0x4c, %ecx
jne 0x2e4d
incl 0x1c(%rsi)
retq
cmpb $0x68, 0x1(%rax)
jne 0x2e89
incq %rax
incl 0x28(%rsi)
jmp 0x2e85
cmpb $0x6c, 0x1(%rax)
jne 0x2e8d
incq %rax
movl $0x1, 0x20(%rsi)
movq %rax, (%rdi)
retq
incl 0x24(%rsi)
retq
incl 0x18(%rsi)
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_flag_extend.c
// Function: ft_bad_flag
char		*ft_bad_flag(char *s, t_flag *flag)
{
	flag->str = ft_strcdup(s, '%');
	if (*(s + ft_strclen(s, '%')) == '%' && flag->str && *flag->str)
		flag->percent = 1;
	return (s + ft_strclen(s, '%'));
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movl $0x25, %esi
callq 0x59f4
movq %rax, (%r14)
movq %rbx, %rdi
movl $0x25, %esi
callq 0x5b18
cmpb $0x25, (%rbx,%rax)
jne 0x2eed
movq (%r14), %rax
testq %rax, %rax
je 0x2eed
cmpb $0x0, (%rax)
je 0x2eed
movl $0x1, 0x40(%r14)
movq %rbx, %rdi
movl $0x25, %esi
callq 0x5b18
addq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_flag_extend.c
// Function: ft_error_flag
char		*ft_error_flag(char *s, t_flag *flag)
{
	if (flag->min || flag->sharp)
		flag->zero = 0;
	if (flag->field || flag->zero || flag->dot || flag->sharp || flag->plus
		|| flag->space || (flag->space && *s && *(s + 1)) || flag->min)
	{
		if (flag->field > 1)
			ft_filler(&flag->str, ft_strnew_c(flag->field - 1, flag->zero ? '0'
			: ' '), 0, 0);
		ft_join_free(&flag->str, "%", flag->min ? 0 : 1, 0);
	}
	else
		flag->str = ft_strcdup(s, '%');
	return (s);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movl 0x10(%rsi), %eax
testl %eax, %eax
jne 0x2f6c
cmpl $0x0, 0x8(%r14)
je 0x2f74
movl $0x0, 0xc(%r14)
movl 0x38(%r14), %edi
testl %edi, %edi
je 0x2fae
cmpl $0x2, %edi
jl 0x2fd2
decl %edi
xorl %esi, %esi
cmpl $0x0, 0xc(%r14)
setne %sil
shll $0x4, %esi
orl $0x20, %esi
callq 0x31f2
movq %r14, %rdi
movq %rax, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x322c
movl 0x10(%r14), %eax
jmp 0x2fd2
cmpl $0x0, 0xc(%r14)
jne 0x2fd2
cmpl $0x0, 0x2c(%r14)
jne 0x2fd2
cmpl $0x0, 0x8(%r14)
jne 0x2fd2
cmpl $0x0, 0x14(%r14)
jne 0x2fd2
movl 0x30(%r14), %ecx
orl %eax, %ecx
je 0x2ff5
xorl %edx, %edx
testl %eax, %eax
sete %dl
leaq 0x3198(%rip), %rsi      # 0x6178
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x3287
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq %rbx, %rdi
movl $0x25, %esi
callq 0x59f4
movq %rax, (%r14)
jmp 0x2fea
nop
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_util.c
// Function: ft_ok_conv
int			ft_ok_conv(char c)
{
	return (c == 'd' || c == 'i' || c == 'o' || c == 'u' || c == 'x'
			|| c == 'D' || c == 'O' || c == 'U' || c == 'X' || c == 'B'
			|| c == 'b' || c == 'p' || c == 'f' || c == 'F'
			|| c == 's' || c == 'S' || c == 'c' || c == 'C');
}

// Assembly:
leal -0x42(%rdi), %ecx
cmpl $0x36, %ecx
ja 0x3026
movl $0x1, %eax
movabsq $0x4a6097004a2015, %rdx # imm = 0x4A6097004A2015
btq %rcx, %rdx
jae 0x3026
retq
xorl %eax, %eax
cmpb $0x43, %dil
sete %al
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_util.c
// Function: ft_strjoin_null
char		*ft_strjoin_null(char const *s1, char const *s2, int null, int id)
{
	char	*s_new;
	size_t	len_s1;
	size_t	len_s2;

	if (!s1 && !s2)
		return (NULL);
	if (id == 3)
	{
		len_s2 = ft_strlen_null(s2, 1);
		len_s1 = (null - 1) > 0 ? ft_strlen_null(s1, null - 1)
			: ft_strlen(s1);
	}
	else
	{
		len_s1 = (id == 1 ? ft_strlen_null(s1, null) : ft_strlen(s1));
		len_s2 = (id == 2 ? ft_strlen_null(s2, null) : ft_strlen(s2));
	}
	if (!(s_new = (char *)malloc(sizeof(char) * (len_s1 + len_s2 + 1))))
		return (NULL);
	ft_memcpy(s_new, s1, len_s1);
	ft_memcpy(s_new + len_s1, s2, len_s2);
	s_new[len_s1 + len_s2] = '\0';
	return (s_new);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rax
orq %rsi, %rax
je 0x316f
movl %ecx, %r15d
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
cmpl $0x1, %ecx
je 0x30d6
cmpl $0x3, %r15d
jne 0x30e5
testq %rbx, %rbx
je 0x310f
movb (%rbx), %cl
movl $0x1, %eax
xorl %r15d, %r15d
cmpb $0x1, %cl
sbbl $0x0, %eax
movb 0x1(%rbx,%r15), %cl
incq %r15
testb %cl, %cl
jne 0x30be
testl %eax, %eax
jne 0x30be
jmp 0x3112
movq %r14, %rdi
movl %ebp, %esi
callq 0x3058
movq %rax, %r12
jmp 0x3102
movq %r14, %rdi
callq 0x5ae0
movq %rax, %r12
cmpl $0x2, %r15d
jne 0x3102
movq %rbx, %rdi
movl %ebp, %esi
callq 0x3058
jmp 0x310a
movq %rbx, %rdi
callq 0x5ae0
movq %rax, %r15
jmp 0x3130
xorl %r15d, %r15d
cmpl $0x2, %ebp
jl 0x3125
decl %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x3058
jmp 0x312d
movq %r14, %rdi
callq 0x5ae0
movq %rax, %r12
leaq (%r15,%r12), %rdi
incq %rdi
callq 0x1070
testq %rax, %rax
je 0x316f
movq %rax, %r13
leaq (%r15,%r12), %rbp
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x5bec
movq %r13, %rdi
addq %r12, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x5bec
movb $0x0, (%r13,%rbp)
jmp 0x3172
xorl %r13d, %r13d
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_util2.c
// Function: ft_strnew_c
char	*ft_strnew_c(size_t size, char c)
{
	char	*str;
	size_t	i;

	i = 0;
	if (!(str = (char *)malloc(sizeof(char) * (size + 1))))
		return (NULL);
	while (i < size)
		str[i++] = c;
	str[i] = '\0';
	return (str);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %esi, %ebp
movq %rdi, %rbx
incq %rdi
callq 0x1070
movq %rax, %r14
testq %rax, %rax
je 0x3224
testq %rbx, %rbx
je 0x321f
movzbl %bpl, %esi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x1050
movb $0x0, (%r14,%rbx)
movq %r14, %rax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_util2.c
// Function: ft_filler
void	ft_filler(char **s, char *add, int after, int null)
{
	char	*tmp;

	tmp = *s;
	if (!after || (add && *add != ' '))
		*s = ft_strjoin_hub(add, *s, null, 2);
	else
		*s = ft_strjoin_hub(*s, add, null, 1);
	ft_strdel(&tmp);
	ft_strdel(&add);
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq %rsi, 0x8(%rsp)
movq (%rdi), %rax
movq %rax, (%rsp)
testl %edx, %edx
je 0x325a
testq %rsi, %rsi
je 0x324e
cmpb $0x20, (%rsi)
jne 0x325a
movq %rax, %rdi
movl %ecx, %edx
movl $0x1, %ecx
jmp 0x3267
movq %rsi, %rdi
movq %rax, %rsi
movl %ecx, %edx
movl $0x2, %ecx
callq 0x3184
movq %rax, (%rbx)
movq %rsp, %rdi
callq 0x1d7c
leaq 0x8(%rsp), %rdi
callq 0x1d7c
addq $0x10, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_util2.c
// Function: ft_join_free
void	ft_join_free(char **s, char const *new, int after, int null)
{
	char	*tmp;

	tmp = *s;
	if (after)
		*s = ft_strjoin_hub(*s, new, null, 1);
	else
		*s = ft_strjoin_hub(new, *s, null, 2);
	ft_strdel(&tmp);
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movq (%rdi), %rax
movq %rax, 0x8(%rsp)
testl %edx, %edx
je 0x32a7
movq %rax, %rdi
movl %ecx, %edx
movl $0x1, %ecx
jmp 0x32b4
movq %rsi, %rdi
movq %rax, %rsi
movl %ecx, %edx
movl $0x2, %ecx
callq 0x3184
movq %rax, (%rbx)
leaq 0x8(%rsp), %rdi
callq 0x1d7c
addq $0x10, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion.c
// Function: ft_hub_conversion_nb
char					*ft_hub_conversion_nb(long long int nb,
						t_flag *flag, char c)
{
	char	*s;

	ft_up_d(&c, flag);
	if (flag->dot && !flag->precision && nb == 0)
		s = NULL;
	else if (c != 'p')
		s = ft_split_conversion_nb(nb, flag, c);
	else
		s = ft_set_string(nb, flag, c);
	if (flag->plus && flag->neg)
		flag->space = 0;
	ft_fill_string(&s, flag, c);
	if (flag->field > 0 && !flag->zero)
		ft_filler(&s, ft_strnew_c(flag->field, ' '), flag->min, flag->null);
	return (s);
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rsi, %rbx
cmpb $0x44, %dl
jne 0x32ee
xorl %eax, %eax
movl %eax, 0x28(%rbx)
movl %eax, 0x18(%rbx)
movq $0x1, 0x20(%rbx)
movl %eax, 0x8(%rbx)
movb $0x64, %dl
jmp 0x3309
movl $0x0, 0x8(%rbx)
cmpb $0x70, %dl
jne 0x3307
movl $0x0, 0x14(%rbx)
movb $0x70, %dl
movb $0x1, %al
jmp 0x3309
xorl %eax, %eax
movl 0x2c(%rbx), %ecx
testl %ecx, %ecx
je 0x331d
cmpl $0x0, 0x48(%rbx)
jne 0x331d
movl $0x0, 0xc(%rbx)
cmpl $0x0, 0x14(%rbx)
sete %sil
movl %eax, %r8d
notb %r8b
testb %sil, %r8b
jne 0x3339
movl $0x0, 0x30(%rbx)
jmp 0x333b
xorl %eax, %eax
movsbl %dl, %ebp
testl %ecx, %ecx
je 0x3357
testq %rdi, %rdi
jne 0x3357
cmpl $0x0, 0x34(%rbx)
jne 0x3357
movq $0x0, (%rsp)
jmp 0x33a7
testb %al, %al
jne 0x3399
cmpl $0x0, 0x24(%rbx)
je 0x3367
movswq %di, %rdi
jmp 0x3382
cmpl $0x0, 0x28(%rbx)
je 0x3373
movsbq %dil, %rdi
jmp 0x3382
cmpl $0x0, 0x18(%rbx)
jne 0x3382
cmpl $0x0, 0x20(%rbx)
jne 0x3382
movslq %edi, %rdi
testq %rdi, %rdi
jns 0x3399
movl $0x1, 0x3c(%rbx)
xorl %eax, %eax
movl %eax, 0x30(%rbx)
movl %eax, 0x14(%rbx)
negq %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x33fc
movq %rax, (%rsp)
cmpl $0x0, 0x14(%rbx)
je 0x33ba
cmpl $0x0, 0x3c(%rbx)
je 0x33ba
movl $0x0, 0x30(%rbx)
movq %rsp, %rdi
movq %rbx, %rsi
movl %ebp, %edx
callq 0x3478
movslq 0x38(%rbx), %rdi
testq %rdi, %rdi
jle 0x33f1
cmpl $0x0, 0xc(%rbx)
jne 0x33f1
movl $0x20, %esi
callq 0x31f2
movl 0x10(%rbx), %edx
movl 0x44(%rbx), %ecx
movq %rsp, %rdi
movq %rax, %rsi
callq 0x322c
movq (%rsp), %rax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion.c
// Function: ft_set_string
static char				*ft_set_string(long long int nb,
						t_flag *flag, char c)
{
	char *s;

	if (c == 'p')
	{
		flag->field -= 2;
		s = ft_strlowcase(ft_itoa_base_lu((unsigned long)nb, 16));
	}
	else if (nb < MIN_LONG)
		s = ft_strdup(MIN_LONG_STR);
	else
		s = ft_itoa_base_l(nb, 10);
	flag->precision -= ft_strlen(s);
	flag->precision < 0 ? flag->precision = 0 : flag->precision;
	flag->field -= flag->precision + ft_strlen(s)
				+ flag->neg + flag->plus + flag->space;
	return (s);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
cmpb $0x70, %dl
jne 0x3420
addl $-0x2, 0x38(%rbx)
movl $0x10, %esi
callq 0x5dfc
movq %rax, %rdi
callq 0x5b98
jmp 0x3440
movq %rdi, %rax
negq %rax
jno 0x3436
leaq 0x2d91(%rip), %rdi      # 0x61c0
callq 0x598c
jmp 0x3440
movl $0xa, %esi
callq 0x5cd0
movq %rax, %r14
movq %rax, %rdi
callq 0x5ae0
movl 0x34(%rbx), %ecx
subl %eax, %ecx
xorl %ebp, %ebp
testl %ecx, %ecx
cmovgl %ecx, %ebp
movl %ebp, 0x34(%rbx)
movq %r14, %rdi
callq 0x5ae0
addl %ebp, %eax
addl 0x3c(%rbx), %eax
addl 0x14(%rbx), %eax
addl 0x30(%rbx), %eax
subl %eax, 0x38(%rbx)
movq %r14, %rax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_oth.c
// Function: ft_fill_string
void		ft_fill_string(char **s, t_flag *flag, char c)
{
	int		tmp;

	tmp = 0;
	if (flag->precision >= 0)
	{
		if (flag->zero && c != 'o')
			tmp = flag->field;
		ft_filler(s, ft_strnew_c(flag->precision, '0'), 1, flag->null);
	}
	if (flag->field > 0 && flag->zero)
		ft_filler(s, ft_strnew_c(flag->field, '0'), 0, flag->null);
	if (c == 'p' || ((c == 'X' || c == 'x') && flag->sharp))
		ft_join_free(s, c == 'X' ? "0X" : "0x", 0, 0);
	if (flag->neg)
		ft_join_free(s, "-", 0, 0);
	else if (flag->plus)
		ft_join_free(s, "+", 0, 0);
	else if (flag->space)
		ft_join_free(s, " ", 0, flag->null);
	if (tmp > 0 && !flag->zero)
		ft_filler(s, ft_strnew_c(tmp, ' '), 0, flag->null);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, %rbx
movslq 0x34(%rsi), %rdi
xorl %r15d, %r15d
testq %rdi, %rdi
js 0x34c2
cmpb $0x6f, %bpl
je 0x34a4
cmpl $0x0, 0xc(%r14)
je 0x34a4
movl 0x38(%r14), %r15d
movl $0x30, %esi
callq 0x31f2
movl 0x44(%r14), %ecx
movq %rbx, %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0x322c
movslq 0x38(%r14), %rdi
testq %rdi, %rdi
jle 0x34ed
cmpl $0x0, 0xc(%r14)
je 0x34ed
movl $0x30, %esi
callq 0x31f2
movl 0x44(%r14), %ecx
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x322c
cmpb $0x70, %bpl
je 0x3502
movl %ebp, %eax
andb $-0x21, %al
cmpb $0x58, %al
jne 0x3524
cmpl $0x0, 0x8(%r14)
je 0x3524
cmpb $0x58, %bpl
leaq 0x2cc7(%rip), %rax      # 0x61d4
leaq 0x2cc3(%rip), %rsi      # 0x61d7
cmoveq %rax, %rsi
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3287
cmpl $0x0, 0x3c(%r14)
je 0x3534
leaq 0x2ad2(%rip), %rsi      # 0x6004
jmp 0x3542
cmpl $0x0, 0x14(%r14)
je 0x358d
leaq 0x2c98(%rip), %rsi      # 0x61da
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3287
testl %r15d, %r15d
jle 0x355a
cmpl $0x0, 0xc(%r14)
je 0x3565
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl %r15d, %edi
movl $0x20, %esi
callq 0x31f2
movl 0x44(%r14), %ecx
movq %rbx, %rdi
movq %rax, %rsi
xorl %edx, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x322c
cmpl $0x0, 0x30(%r14)
je 0x354e
movl 0x44(%r14), %ecx
leaq 0x2b98(%rip), %rsi      # 0x6137
movq %rbx, %rdi
xorl %edx, %edx
jmp 0x3549
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_oth.c
// Function: ft_conversion_char
char		*ft_conversion_char(int c, t_flag *flag)
{
	char	*s;

	s = NULL;
	if ((unsigned char)c == 0)
		flag->null++;
	flag->field--;
	if (flag->field < 0)
		flag->field = 0;
	s = ft_strnew_c((size_t)flag->field + 1, flag->zero ? '0' : ' ');
	if ((flag->min || flag->field <= 0))
		s[0] = (unsigned char)c;
	else if (flag->field > 0)
		s[flag->field] = (unsigned char)c;
	return (s);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movl %edi, %ebx
testb %bl, %bl
jne 0x35b7
incl 0x44(%r14)
movl 0x38(%r14), %eax
leal -0x1(%rax), %ecx
xorl %edx, %edx
testl %eax, %eax
cmovgl %ecx, %edx
movl %edx, 0x38(%r14)
incl %edx
movslq %edx, %rdi
xorl %esi, %esi
cmpl $0x0, 0xc(%r14)
setne %sil
shll $0x4, %esi
orl $0x20, %esi
callq 0x31f2
cmpl $0x0, 0x10(%r14)
movq %rax, %rcx
jne 0x3600
movslq 0x38(%r14), %rdx
movq %rax, %rcx
testq %rdx, %rdx
jle 0x3600
movq %rax, %rcx
addq %rdx, %rcx
movb %bl, (%rcx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_oth.c
// Function: ft_conversion_str
char		*ft_conversion_str(const char *src, t_flag *flag)
{
	char	*s;

	s = NULL;
	if (!src && (flag->precision > 5 || flag->precision == 0) && !flag->dot)
		s = ft_strdup("(null)");
	else if (!src && flag->precision)
		s = ft_strndup("(null)", flag->precision);
	else if (flag->dot)
	{
		if (flag->precision > 0)
			s = ft_strndup(src, flag->precision);
	}
	else
		s = ft_strdup(src);
	flag->field = s ? (int)(flag->field - (ft_strlen(s))) : flag->field;
	if (flag->field > 0)
		ft_filler(&s, ft_strnew_c(flag->field, flag->zero && !flag->min ? '0'
		: ' '), flag->min, 0);
	return (s);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rsi, %rbx
movq $0x0, 0x8(%rsp)
testq %rdi, %rdi
je 0x3634
cmpl $0x0, 0x2c(%rbx)
je 0x3668
movslq 0x34(%rbx), %rsi
testq %rsi, %rsi
jg 0x365a
jmp 0x3689
movslq 0x34(%rbx), %rsi
testq %rsi, %rsi
setne %al
cmpq $0x6, %rsi
setl %cl
testb %al, %cl
jne 0x364f
cmpl $0x0, 0x2c(%rbx)
je 0x3661
testl %esi, %esi
je 0x3623
leaq 0x2b82(%rip), %rdi      # 0x61dc
callq 0x59b4
jmp 0x366d
leaq 0x2b74(%rip), %rdi      # 0x61dc
callq 0x598c
movq %rax, %r14
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0x3689
movl 0x38(%rbx), %ebp
movq %r14, %rdi
callq 0x5ae0
subl %eax, %ebp
jmp 0x368f
movl 0x38(%rbx), %ebp
xorl %r14d, %r14d
movl %ebp, 0x38(%rbx)
testl %ebp, %ebp
jle 0x36ce
movl %ebp, %edi
cmpl $0x0, 0xc(%rbx)
je 0x36ac
cmpl $0x0, 0x10(%rbx)
sete %al
shlb $0x4, %al
orb $0x20, %al
jmp 0x36ae
movb $0x20, %al
movzbl %al, %esi
callq 0x31f2
movl 0x10(%rbx), %edx
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %rax, %rsi
xorl %ecx, %ecx
callq 0x322c
movq (%rbx), %r14
movq %r14, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_oth.c
// Function: ft_conversion_double
char		*ft_conversion_double(long double nb, t_flag *flag, char c)
{
	char	*s;
	int		len;

	s = ft_dtoa(&nb, flag->dot ? flag->precision : 6);
	ft_nan_inf(s, flag);
	ft_double_flag_neg(&s, flag);
	len = ft_strlen(s);
	if (flag->dot && !flag->precision && flag->sharp && s[len - 1] != '.')
		ft_join_free(&s, ".", 1, 0);
	if (s[len - 1] == '.' && !flag->sharp)
		s[len - 1] = '\0';
	if (flag->plus || flag->neg)
		flag->space = 0;
	if (c == 'F' && s
		&& (*s == 'n' || (*s == 'i' || (flag->neg && *(s + 1) == 'i'))))
		ft_strupcase(s);
	flag->precision -= len;
	flag->precision < 0 ? flag->precision = 0 : flag->precision;
	flag->field -= flag->precision + ft_strlen(s)
				+ flag->space + flag->plus + flag->neg;
	ft_fill_string(&s, flag, c);
	if (flag->field >= 0 && !flag->zero)
		ft_filler(&s, ft_strnew_c(flag->field, ' '), flag->min, flag->null);
	return (s);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movl %esi, %ebp
movq %rdi, %rbx
fldt 0x50(%rsp)
fstpt 0x10(%rsp)
cmpl $0x0, 0x2c(%rdi)
je 0x36fc
movl 0x34(%rbx), %esi
jmp 0x3701
movl $0x6, %esi
movabsq $-0x100000000, %r15     # imm = 0xFFFFFFFF00000000
leaq 0x10(%rsp), %rdi
callq 0x3ee8
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3e38
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3e93
movq (%r14), %rdi
callq 0x5ae0
movq %rax, %r14
cmpl $0x0, 0x2c(%rbx)
je 0x374e
cmpl $0x0, 0x34(%rbx)
je 0x3834
movq 0x8(%rsp), %rax
movq %r14, %rcx
shlq $0x20, %rcx
addq %r15, %rcx
sarq $0x20, %rcx
cmpb $0x2e, (%rax,%rcx)
jne 0x3771
cmpl $0x0, 0x8(%rbx)
jne 0x3771
movb $0x0, (%rax,%rcx)
cmpl $0x0, 0x14(%rbx)
jne 0x377d
cmpl $0x0, 0x3c(%rbx)
je 0x3784
movl $0x0, 0x30(%rbx)
cmpb $0x46, %bpl
sete %al
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x37c0
movzbl (%rdi), %eax
cmpl $0x69, %eax
je 0x37b6
cmpl $0x6e, %eax
je 0x37b6
cmpl $0x0, 0x3c(%rbx)
je 0x37c0
cmpb $0x69, 0x1(%rdi)
jne 0x37c0
callq 0x5b5c
movq 0x8(%rsp), %rdi
movl 0x34(%rbx), %eax
subl %r14d, %eax
xorl %r14d, %r14d
testl %eax, %eax
cmovgl %eax, %r14d
movl %r14d, 0x34(%rbx)
callq 0x5ae0
addl %r14d, %eax
addl 0x30(%rbx), %eax
addl 0x14(%rbx), %eax
addl 0x3c(%rbx), %eax
subl %eax, 0x38(%rbx)
movsbl %bpl, %edx
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0x3478
movslq 0x38(%rbx), %rdi
testq %rdi, %rdi
js 0x3824
cmpl $0x0, 0xc(%rbx)
jne 0x3824
movl $0x20, %esi
callq 0x31f2
movl 0x10(%rbx), %edx
movl 0x44(%rbx), %ecx
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x322c
movq 0x8(%rsp), %rax
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x0, 0x8(%rbx)
je 0x374e
movq 0x8(%rsp), %rax
movq %r14, %rcx
shlq $0x20, %rcx
addq %r15, %rcx
sarq $0x20, %rcx
cmpb $0x2e, (%rax,%rcx)
je 0x374e
leaq 0x2994(%rip), %rsi      # 0x61f6
leaq 0x8(%rsp), %rdi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x3287
jmp 0x374e
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_large.c
// Function: ft_conversion_lchar
int				ft_conversion_lchar(wint_t c, t_flag *flag, char **new)
{
	char	*tmp;
	int		ret;

	if (!ft_check_largechar(c, NULL))
		return (1);
	ret = ft_ret_largechar(c);
	if (ret == 1)
	{
		*new = ft_conversion_char((int)c, flag);
		return (0);
	}
	tmp = ft_utf8(c, ret);
	*new = ft_conversion_str(tmp, flag);
	ft_strdel(&tmp);
	return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r14
movl %edi, %ebp
xorl %esi, %esi
callq 0x3194
testl %eax, %eax
je 0x3bed
movl %ebp, %edi
callq 0x31c9
movl %ebp, %edi
cmpl $0x1, %eax
jne 0x3bf4
movq %r14, %rsi
callq 0x35a6
movq %rax, (%rbx)
jmp 0x3c17
movl $0x1, %eax
jmp 0x3c19
movl %eax, %esi
callq 0x3c24
movq %rsp, %r15
movq %rax, (%r15)
movq %rax, %rdi
movq %r14, %rsi
callq 0x360a
movq %rax, (%rbx)
movq %r15, %rdi
callq 0x1d7c
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_large.c
// Function: ft_utf8
static char		*ft_utf8(unsigned int m, int ret)
{
	unsigned int	c;
	unsigned int	tmp;
	char			*s;

	s = ft_strnew(ret);
	if (ret == 1)
		s[0] = (char)m;
	else if (ret == 2)
	{
		tmp = m % 64;
		m -= tmp;
		c = TWO_BYTES + tmp + (m << 2);
		s[1] = (char)c;
		s[0] = (char)(c >> 8);
	}
	else if (ret == 3)
		ft_three_bytes(m, s);
	else
		ft_four_bytes(m, s);
	return (s);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl %esi, %ebx
movl %edi, %r15d
movslq %esi, %r14
movq %r14, %rdi
callq 0x5b30
cmpl $0x1, %r14d
je 0x3c9b
cmpl $0x3, %ebx
je 0x3c6f
cmpl $0x2, %ebx
jne 0x3ca3
movl %r15d, %ecx
andl $0x3fc0, %ecx           # imm = 0x3FC0
leal 0xc080(,%rcx,4), %ecx
andb $0x3f, %r15b
orb $-0x80, %r15b
movb %r15b, 0x1(%rax)
shrl $0x8, %ecx
movl %ecx, %edx
jmp 0x3d2b
movl %r15d, %ecx
andl $0x3f, %ecx
orl $0xe08080, %ecx         # imm = 0xE08080
leal (,%r15,4), %edx
andl $0x3f00, %edx           # imm = 0x3F00
cmpl $0xfff, %r15d           # imm = 0xFFF
ja 0x3d0e
orl %edx, %ecx
movl %ecx, %edx
jmp 0x3d1e
movq %r15, %rdx
jmp 0x3d2b
leal (,%r15,4), %ecx
movl %ecx, %edx
andl $0xffffff00, %edx       # imm = 0xFFFFFF00
andl $0x3f00, %ecx           # imm = 0x3F00
subl %ecx, %edx
leal (,%rdx,4), %esi
movl %esi, %edi
andl $0x3ffc00, %edi         # imm = 0x3FFC00
shll $0x4, %edx
andl $0xff000000, %edx       # imm = 0xFF000000
orl %edi, %edx
cmpl $0x40000, %r15d         # imm = 0x40000
cmovbl %esi, %edx
andl $0x3f, %r15d
leal (%r15,%rcx), %esi
addl $0xf0808080, %esi       # imm = 0xF0808080
movl %r15d, %edi
orl %ecx, %edi
addl %edi, %edx
addl $0xf0808080, %edx       # imm = 0xF0808080
movb %sil, 0x3(%rax)
movb %dh, 0x2(%rax)
movl %edx, %ecx
shrl $0x10, %ecx
movb %cl, 0x1(%rax)
shrl $0x18, %edx
jmp 0x3d2b
shll $0x4, %r15d
andl $0xffff0000, %r15d      # imm = 0xFFFF0000
orl %r15d, %edx
addl %ecx, %edx
movl %edx, %ecx
rolw $0x8, %cx
movw %cx, 0x1(%rax)
shrl $0x10, %edx
movb %dl, (%rax)
popq %rbx
popq %r14
popq %r15
retq