LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/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 0x3485
movl 0x34(%rbx), %esi
jmp 0x3488
pushq $0x6
popq %rsi
movabsq $-0x100000000, %r15     # imm = 0xFFFFFFFF00000000
leaq 0x10(%rsp), %rdi
callq 0x3c3c
leaq 0x8(%rsp), %r14
movq %rax, (%r14)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3b90
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3be9
movq (%r14), %rdi
callq 0x51dc
movq %rax, %r14
cmpl $0x0, 0x2c(%rbx)
je 0x34d5
cmpl $0x0, 0x34(%rbx)
je 0x35b6
movq 0x8(%rsp), %rax
movq %r14, %rcx
shlq $0x20, %rcx
addq %r15, %rcx
sarq $0x20, %rcx
cmpb $0x2e, (%rax,%rcx)
jne 0x34f8
cmpl $0x0, 0x8(%rbx)
jne 0x34f8
movb $0x0, (%rax,%rcx)
cmpl $0x0, 0x14(%rbx)
jne 0x3504
cmpl $0x0, 0x3c(%rbx)
je 0x3508
andl $0x0, 0x30(%rbx)
cmpb $0x46, %bpl
sete %al
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x3544
movzbl (%rdi), %eax
cmpl $0x69, %eax
je 0x353a
cmpl $0x6e, %eax
je 0x353a
cmpl $0x0, 0x3c(%rbx)
je 0x3544
cmpb $0x69, 0x1(%rdi)
jne 0x3544
callq 0x5248
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 0x51dc
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 0x320c
movslq 0x38(%rbx), %rdi
testq %rdi, %rdi
js 0x35a6
cmpl $0x0, 0xc(%rbx)
jne 0x35a6
pushq $0x20
popq %rsi
callq 0x2fa6
movl 0x10(%rbx), %edx
movl 0x44(%rbx), %ecx
leaq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x2fd6
movq 0x8(%rsp), %rax
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x0, 0x8(%rbx)
je 0x34d5
movq 0x8(%rsp), %rax
movq %r14, %rcx
shlq $0x20, %rcx
addq %r15, %rcx
sarq $0x20, %rcx
cmpb $0x2e, (%rax,%rcx)
je 0x34d5
leaq 0x2c12(%rip), %rsi      # 0x61f6
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
callq 0x3030
jmp 0x34d5
// File: /workspace/github_c_makefile_star2_O2/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 0x2f4c
testl %eax, %eax
je 0x3951
movl %ebp, %edi
callq 0x2f81
movl %ebp, %edi
cmpl $0x1, %eax
jne 0x3956
movq %r14, %rsi
callq 0x3332
movq %rax, (%rbx)
jmp 0x3979
pushq $0x1
popq %rax
jmp 0x397b
movl %eax, %esi
callq 0x3986
movq %rsp, %r15
movq %rax, (%r15)
movq %rax, %rdi
movq %r14, %rsi
callq 0x3396
movq %rax, (%rbx)
movq %r15, %rdi
callq 0x1c38
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/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 0x5220
cmpl $0x1, %r14d
je 0x39fd
cmpl $0x3, %ebx
je 0x39d1
cmpl $0x2, %ebx
jne 0x3a05
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 0x3a8d
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 0x3a70
orl %edx, %ecx
movl %ecx, %edx
jmp 0x3a80
movq %r15, %rdx
jmp 0x3a8d
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 0x3a8d
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
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_large.c
// Function: ft_conversion_lstr
int				ft_conversion_lstr(wchar_t *src, t_flag *flag, char **new)
{
	char	*s;
	char	*tmp;
	int		ret;
	int		i;
	int		tmp_prec;

	i = -1;
	tmp = NULL;
	s = NULL;
	tmp_prec = flag->precision;
	while (src && src[++i])
	{
		if (!ft_check_largechar(src[i], &tmp))
			return (1);
		ret = ft_ret_largechar(src[i]);
		if (!flag->dot || (flag->dot && ((tmp_prec -= ret) >= 0)))
			ft_join_free(&tmp, (s = ft_utf8(src[i], ret)), 1, 0);
		else if (flag->dot && tmp_prec < 0 && i == 0)
			tmp = ft_strnew(1);
		ft_strdel(&s);
	}
	tmp = (src && !src[0]) ? ft_strnew(1) : tmp;
	*new = ft_conversion_str(tmp, flag);
	ft_strdel(&tmp);
	return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
andq $0x0, (%rsp)
movq %rdx, %r13
andq $0x0, 0x10(%rsp)
movq %rsi, %r15
xorl %ebx, %ebx
testq %rdi, %rdi
je 0x3b3a
movq %rdi, %r12
movq %r13, 0x8(%rsp)
movl 0x34(%r15), %ebx
xorl %ebp, %ebp
movq %rsp, %r13
leaq 0x10(%rsp), %r14
movl (%r12,%rbp), %edi
testl %edi, %edi
je 0x3b3e
movq %r13, %rsi
callq 0x2f4c
testl %eax, %eax
je 0x3b4b
movl (%r12,%rbp), %edi
callq 0x2f81
cmpl $0x0, 0x2c(%r15)
je 0x3af9
subl %eax, %ebx
js 0x3b27
movl (%r12,%rbp), %edi
movl %eax, %esi
callq 0x3986
movq %rax, 0x10(%rsp)
movq %r13, %rdi
movq %rax, %rsi
pushq $0x1
popq %rdx
xorl %ecx, %ecx
callq 0x3030
movq %r14, %rdi
callq 0x1c38
addq $0x4, %rbp
jmp 0x3ad1
testq %rbp, %rbp
jne 0x3b19
pushq $0x1
popq %rdi
callq 0x5220
movq %rax, (%rsp)
jmp 0x3b19
xorl %edi, %edi
jmp 0x3b64
cmpl $0x0, (%r12)
je 0x3b52
movq (%rsp), %rdi
jmp 0x3b5d
pushq $0x1
popq %rax
movl %eax, %ebx
jmp 0x3b7e
pushq $0x1
popq %rdi
callq 0x5220
movq %rax, %rdi
xorl %ebx, %ebx
movq 0x8(%rsp), %r13
movq %rsp, %r14
movq %rdi, (%r14)
movq %r15, %rsi
callq 0x3396
movq %rax, (%r13)
movq %r14, %rdi
callq 0x1c38
movl %ebx, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_extend.c
// Function: ft_nan_inf
void	ft_nan_inf(char *s, t_flag *flag)
{
	if (!ft_strcasecmp(s, "inf") || !ft_strcasecmp(s, "nan")
		|| !ft_strcasecmp(s, "-inf"))
	{
		flag->precision = 0;
		flag->dot = 0;
		flag->space = 0;
		flag->plus = 0;
		flag->zero = 0;
	}
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x2647(%rip), %rsi      # 0x61e8
callq 0x4fe0
testl %eax, %eax
je 0x3bd0
leaq 0x2632(%rip), %rsi      # 0x61e3
movq %r14, %rdi
callq 0x4fe0
testl %eax, %eax
je 0x3bd0
leaq 0x2623(%rip), %rsi      # 0x61e7
movq %r14, %rdi
callq 0x4fe0
testl %eax, %eax
jne 0x3be1
andl $0x0, 0x34(%rbx)
andq $0x0, 0x2c(%rbx)
andl $0x0, 0x14(%rbx)
andl $0x0, 0xc(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_conversion_extend.c
// Function: ft_double_flag_neg
void	ft_double_flag_neg(char **s, t_flag *flag)
{
	if (ft_strcasecmp(*s, "-inf") && *s && s[0][0] == '-')
	{
		ft_dup(s, ft_strdup(*s + 1));
		flag->neg = 1;
		flag->plus = 0;
	}
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq (%rdi), %rdi
leaq 0x25ea(%rip), %rsi      # 0x61e7
callq 0x4fe0
testl %eax, %eax
je 0x3c31
movq (%r14), %rdi
testq %rdi, %rdi
je 0x3c31
cmpb $0x2d, (%rdi)
jne 0x3c31
incq %rdi
callq 0x5088
movq %r14, %rdi
movq %rax, %rsi
callq 0x3f4c
movl $0x1, 0x3c(%rbx)
andl $0x0, 0x14(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_hub.c
// Function: ft_dtoa
char		*ft_dtoa(void *ptr, int prec)
{
	int		tab[64];
	int		tab_master[80];
	int		exp_pow;
	char	*exp;

	exp = NULL;
	ft_set_ptr(ptr, tab_master);
	ft_sign_and_exp(tab_master, &exp_pow);
	ft_mantisse(tab_master, tab, LONG_DOUBLE);
	if (exp_pow > 16383)
		exp = ft_strdup(ft_check_zero_mantissa(tab) ? "inf" : "nan");
	else
	{
		if (exp_pow == -16383)
			exp = ft_strdup("0.000000");
		else if (exp_pow < 0)
			ft_exp_neg(&exp, ptr);
		else
			ft_exp_pos(&exp, tab, exp_pow);
		ft_get_prec(&exp, prec);
	}
	if (exp[0] != 'n' && tab_master[0] == 1)
		ft_join_free(&exp, "-", 0, 0);
	return (exp);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x268, %rsp            # imm = 0x268
movl %esi, %ebx
movq %rdi, %r14
andq $0x0, (%rsp)
leaq 0x120(%rsp), %r15
movq %r15, %rsi
callq 0x3e36
leaq 0x1c(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x3de8
leaq 0x20(%rsp), %rsi
pushq $0x40
popq %rdx
movq %r15, %rdi
callq 0x3e1d
movslq (%r12), %r15
cmpq $0x4000, %r15           # imm = 0x4000
jl 0x3cbd
leaq 0x20(%rsp), %rdi
callq 0x4108
testl %eax, %eax
leaq 0x253f(%rip), %rax      # 0x61e3
leaq 0x253d(%rip), %rdi      # 0x61e8
cmoveq %rax, %rdi
callq 0x5088
movq %rax, (%rsp)
jmp 0x3dae
cmpl $0xffffc001, %r15d      # imm = 0xFFFFC001
jne 0x3cdb
leaq 0x251f(%rip), %rdi      # 0x61ec
callq 0x5088
movq %rax, (%rsp)
jmp 0x3d9e
testl %r15d, %r15d
js 0x3d4f
leal 0x1(%r15), %esi
leaq 0x20(%rsp), %rdi
pushq $0x40
popq %rdx
callq 0x416c
movq %rax, (%rsp)
leaq 0x10(%rsp), %r14
movq %rax, (%r14)
leaq 0x24f2(%rip), %rsi      # 0x61f6
movq %rax, %rdi
callq 0x5108
movq %rax, (%rsp)
movq %r14, %rdi
callq 0x1c38
xorl %edi, %edi
pushq $0x3f
popq %rsi
subl %r15d, %esi
leaq 0x24(%rsp,%r15,4), %rax
cmovaeq %rax, %rdi
callq 0x44dc
leaq 0x8(%rsp), %r15
movq %rax, (%r15)
movq (%rsp), %rdi
movq %rdi, (%r14)
leaq 0x1(%rax), %rsi
callq 0x5108
movq %rax, (%rsp)
movq %r14, %rdi
jmp 0x3d91
movq %r14, %rdi
callq 0x3e68
movq %rax, %r14
leaq 0x10(%rsp), %r15
movq %rax, (%r15)
movq (%rsp), %rsi
leaq 0x2488(%rip), %rdi      # 0x61f5
callq 0x5108
movq %rax, (%rsp)
leaq 0x8(%rsp), %r12
movq %rax, (%r12)
movq %rax, %rdi
movq %r14, %rsi
callq 0x5108
movq %rax, (%rsp)
movq %r12, %rdi
callq 0x1c38
movq %r15, %rdi
callq 0x1c38
movq %rsp, %r14
movq %r14, %rdi
movl %ebx, %esi
callq 0x4320
movq (%r14), %rax
cmpb $0x6e, (%rax)
je 0x3dd6
cmpl $0x1, 0x120(%rsp)
jne 0x3dd6
leaq 0x2240(%rip), %rsi      # 0x6004
movq %rsp, %rbx
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3030
movq (%rbx), %rax
addq $0x268, %rsp            # imm = 0x268
popq %rbx
popq %r12
popq %r14
popq %r15
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_set.c
// Function: ft_sign_and_exp
void		ft_sign_and_exp(int *m, int *exp_pow)
{
	int		exp;
	int		tmp;
	int		i;

	exp = 0;
	tmp = 1;
	i = 15;
	exp = m[i--] == 1 ? exp + tmp : exp;
	while (i > 0)
	{
		tmp *= 2;
		exp = m[i--] == 1 ? exp + tmp : exp;
	}
	*exp_pow = exp - 16383;
}

// Assembly:
xorl %eax, %eax
cmpl $0x1, 0x3c(%rdi)
sete %al
pushq $0x1
popq %rcx
pushq $0x38
popq %rdx
testq %rdx, %rdx
je 0x3e15
addl %ecx, %ecx
cmpl $0x1, (%rdi,%rdx)
movl $0x0, %r8d
cmovel %ecx, %r8d
addl %r8d, %eax
addq $-0x4, %rdx
jmp 0x3df7
addl $0xffffc001, %eax       # imm = 0xFFFFC001
movl %eax, (%rsi)
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_set.c
// Function: ft_set_ptr
void		ft_set_ptr(void *ptr, int *tab)
{
	int				i;
	int				j;
	char			tmp;
	unsigned char	*c_ptr;

	i = 79;
	c_ptr = (unsigned char *)ptr;
	while (i >= 0)
	{
		j = 0;
		while (j < 8 && i >= 0)
		{
			tmp = *c_ptr;
			tmp = (tmp >> j++) & 1;
			tab[i--] = tmp && 1 ? 1 : 0;
		}
		c_ptr++;
	}
}

// Assembly:
pushq $0x4f
popq %rax
testl %eax, %eax
js 0x3e67
xorl %ecx, %ecx
cmpl $0x7, %ecx
ja 0x3e62
testl %eax, %eax
js 0x3e62
movsbl (%rdi), %edx
xorl %r8d, %r8d
btl %ecx, %edx
leal 0x1(%rcx), %ecx
setb %r8b
movl %eax, %edx
decl %eax
movl %r8d, (%rsi,%rdx,4)
jmp 0x3e3f
incq %rdi
jmp 0x3e39
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_set.c
// Function: ft_zero
char		*ft_zero(void *ptr)
{
	long double zero;
	int			count;
	char		*tab_z;
	char		tab[65];

	zero = *(long double *)ptr;
	count = 0;
	if (zero < 0)
		zero = -zero;
	while ((int)zero == 0)
	{
		zero -= (int)zero;
		zero *= 10.0;
		count++;
	}
	tab_z = ft_strnew(count);
	tab_z[count-- - 1] = '\0';
	ft_zero_extend(tab, zero);
	while (count-- > 0)
		tab_z[count] = '0';
	ft_join_free(&tab_z, tab, 1, 0);
	return (tab_z);
}

// Assembly:
pushq %rbx
subq $0x80, %rsp
fldt (%rdi)
fld %st(0)
fchs
fucomi %st(1), %st
fxch %st(1)
fcmovnbe %st(1), %st
fstp %st(1)
pushq $-0x1
popq %rbx
fnstcw 0x6(%rsp)
movzwl 0x6(%rsp), %eax
orl $0xc00, %eax            # imm = 0xC00
movw %ax, 0xa(%rsp)
fldcw 0xa(%rsp)
fistl 0x14(%rsp)
fldcw 0x6(%rsp)
cmpl $0x0, 0x14(%rsp)
jne 0x3eb2
fmuls 0x234b(%rip)            # 0x61f8
incq %rbx
jmp 0x3e81
leaq 0x1(%rbx), %rdi
fstpt 0x24(%rsp)
callq 0x5220
fldt 0x24(%rsp)
movq %rax, 0x18(%rsp)
xorl %ecx, %ecx
movb %cl, (%rax,%rbx)
movb %cl, 0x70(%rsp)
cmpq $0x40, %rcx
je 0x3f16
fnstcw 0x4(%rsp)
movzwl 0x4(%rsp), %edx
orl $0xc00, %edx            # imm = 0xC00
movw %dx, 0x8(%rsp)
fldcw 0x8(%rsp)
fistl 0xc(%rsp)
fldcw 0x4(%rsp)
movl 0xc(%rsp), %edx
leal 0x30(%rdx), %esi
movb %sil, 0x30(%rsp,%rcx)
incq %rcx
movl %edx, 0x10(%rsp)
fisubl 0x10(%rsp)
fmuls 0x22e4(%rip)            # 0x61f8
jmp 0x3ed1
fstp %st(0)
movl %ebx, %ecx
testl %ecx, %ecx
jle 0x3f28
movb $0x30, -0x1(%rax,%rcx)
decq %rcx
jmp 0x3f1a
leaq 0x18(%rsp), %rbx
leaq 0x30(%rsp), %rsi
pushq $0x1
popq %rdx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x3030
movq (%rbx), %rax
addq $0x80, %rsp
popq %rbx
retq
nop
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_extend.c
// Function: ft_str_rev_cpy
void		ft_str_rev_cpy(char *dest, char *src)
{
	int		len_src;
	int		len;

	len_src = ft_strlen(src);
	len = ft_strlen(dest);
	while (len_src)
		dest[--len] = src[--len_src];
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq %rsi, %rdi
callq 0x51dc
movq %rax, %r15
movq %r14, %rdi
callq 0x51dc
movslq %r15d, %rcx
cltq
addq %r14, %rax
decq %rax
leaq (%rcx,%rbx), %rdx
decq %rdx
negq %rcx
xorl %esi, %esi
cmpq %rsi, %rcx
je 0x3fc4
movb (%rdx,%rsi), %dil
movb %dil, (%rax,%rsi)
decq %rsi
jmp 0x3fb2
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_extend.c
// Function: ft_addition
char		*ft_addition(char *m, char *s)
{
	int		len;

	len = ft_strlen(m);
	ft_process_addition(m, s, len);
	ft_strdel(&s);
	return (m);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x8(%rsp), %r15
movq %rsi, (%r15)
callq 0x51dc
movq %r14, %rdi
movq %rbx, %rsi
movl %eax, %edx
callq 0x4008
movq %r15, %rdi
callq 0x1c38
movq %r14, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_extend.c
// Function: ft_process_addition
static void	ft_process_addition(char *m, char *s, int size)
{
	char	*carry;
	int		res;
	char	*empty;
	int		tmp;

	tmp = size;
	carry = ft_strnew(size);
	ft_fill_with_zero(carry, size);
	empty = ft_strnew(size);
	ft_fill_with_zero(empty, size);
	while (size-- > 0)
	{
		if ((res = (m[size] - '0' + s[size] - '0')) > 9)
		{
			m[size] = res % 10 + '0';
			if (size - 1 > 0)
				carry[size - 1] = res / 10 + '0';
		}
		else
			m[size] = res + '0';
	}
	if (ft_strcmp(carry, empty) && tmp)
		ft_process_addition(m, carry, tmp);
	ft_strdel(&carry);
	ft_strdel(&empty);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, %ebp
movq %rsi, %r15
movq %rdi, %rbx
movslq %edx, %r12
movq %r12, %rdi
callq 0x5220
movq %rax, %r14
movq %rax, 0x10(%rsp)
movq %rax, %rdi
movl %r12d, %esi
callq 0x3f66
movq %r12, %rdi
callq 0x5220
movq %rax, %r13
movq %rax, 0x8(%rsp)
movq %rax, %rdi
movl %r12d, %esi
callq 0x3f66
movl %r12d, %r12d
movq %r14, %rcx
addq $-0x2, %rcx
decq %r15
movq %rbx, (%rsp)
leaq -0x1(%rbx), %rdx
xorl %esi, %esi
movb $0xa, %dil
leaq (%r12,%rsi), %r8
testl %r8d, %r8d
jle 0x40c1
movsbl (%rdx,%r12), %eax
movsbl (%r15,%r12), %r9d
addl %r9d, %eax
addl $-0x30, %eax
cmpl $0x3a, %eax
jl 0x40af
addb $-0x30, %al
movzbl %al, %eax
divb %dil
movzbl %ah, %ebx
orb $0x30, %bl
movb %bl, (%rdx,%r12)
cmpq $0x2, %r8
jbe 0x40b3
addb $0x30, %al
movb %al, (%rcx,%r12)
jmp 0x40b3
movb %al, (%rdx,%r12)
decq %rcx
decq %rsi
decq %r15
decq %rdx
jmp 0x4071
movq %r14, %rdi
movq %r13, %rsi
callq 0x4fc4
testl %ebp, %ebp
je 0x40e3
testl %eax, %eax
je 0x40e3
movq (%rsp), %rdi
movq %r14, %rsi
movl %r12d, %edx
callq 0x4008
leaq 0x10(%rsp), %rdi
callq 0x1c38
leaq 0x8(%rsp), %rdi
callq 0x1c38
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_operate.c
// Function: ft_power_of_two
char		*ft_power_of_two(char *s)
{
	char	*ret;
	int		len;

	len = ft_strlen(s) + 1;
	ret = ft_strnew(len);
	ft_fill_with_zero(ret, len);
	ft_str_rev_cpy(ret, s);
	ret = ft_addition(ret, ft_strdup(ret));
	return (ret);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x51dc
incl %eax
movslq %eax, %r14
movq %r14, %rdi
callq 0x5220
movq %rax, %r15
movq %rax, %rdi
movl %r14d, %esi
callq 0x3f66
movq %r15, %rdi
movq %rbx, %rsi
callq 0x3f7d
movq %r15, %rdi
callq 0x5088
movq %r15, %rdi
movq %rax, %rsi
popq %rbx
popq %r14
popq %r15
jmp 0x3fca
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_operate.c
// Function: ft_get_int
char		*ft_get_int(int *tab, int size, int max)
{
	char		*nb;
	char		*tmp;
	char		*tmp_ret;

	nb = ft_strdup("0");
	tmp = ft_strdup("1");
	while (--size > max)
		ft_dup(&tmp, ft_power_of_two(tmp));
	while (size >= 0)
	{
		if (tab[size--])
		{
			tmp_ret = ft_strdup(tmp);
			ft_align(&tmp, &nb);
			nb = ft_addition(tmp_ret, nb);
		}
		ft_dup(&tmp, ft_power_of_two(tmp));
	}
	tmp_ret = nb;
	while (*nb == '0')
		nb++;
	nb = ft_strdup(nb);
	ft_strdel(&tmp_ret);
	ft_strdel(&tmp);
	return (nb);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %edx, %ebp
movl %esi, %ebx
movq %rdi, 0x20(%rsp)
leaq 0x2069(%rip), %rdi      # 0x61f3
callq 0x5088
movq %rax, (%rsp)
leaq 0x2062(%rip), %rdi      # 0x61fc
callq 0x5088
leaq 0x8(%rsp), %r12
movq %rax, (%r12)
decl %ebx
movl %ebx, %r14d
cmpl %ebp, %r14d
jle 0x41cc
movq 0x8(%rsp), %rdi
callq 0x4121
movq %r12, %rdi
movq %rax, %rsi
callq 0x3f4c
decl %r14d
jmp 0x41ad
cmpl %ebx, %ebp
cmovll %ebp, %ebx
testl %ebx, %ebx
js 0x42d6
movl %ebx, %eax
movq 0x20(%rsp), %rcx
cmpl $0x0, (%rcx,%rax,4)
movq 0x8(%rsp), %rdi
je 0x42bf
callq 0x5088
movq %rax, %r13
movq %rax, 0x10(%rsp)
movq 0x8(%rsp), %rdi
callq 0x51dc
movq %rax, %rbp
movq (%rsp), %rdi
callq 0x51dc
movq %rax, %r14
movq 0x8(%rsp), %rdi
callq 0x51dc
movq %rax, %r15
cmpq %r14, %rbp
jbe 0x424a
movslq %r15d, %r14
movq %r14, %rdi
callq 0x5220
movq %rax, %rbp
movq %rax, 0x18(%rsp)
movq %rax, %rdi
movl %r14d, %esi
callq 0x3f66
movq %rsp, %r15
jmp 0x4282
movq (%rsp), %rdi
callq 0x51dc
cmpq %rax, %r15
jae 0x42aa
movq (%rsp), %rdi
callq 0x51dc
movslq %eax, %r14
movq %r14, %rdi
callq 0x5220
movq %rax, %rbp
movq %rax, 0x18(%rsp)
movq %rax, %rdi
movl %r14d, %esi
callq 0x3f66
movq %r12, %r15
movq (%r15), %rsi
movq %rbp, %rdi
callq 0x3f7d
movq %r15, %rdi
callq 0x1c38
movq %rbp, %rdi
callq 0x5088
movq %rax, (%r15)
leaq 0x18(%rsp), %rdi
callq 0x1c38
movq (%rsp), %rsi
movq %r13, %rdi
callq 0x3fca
movq %rax, (%rsp)
movq 0x8(%rsp), %rdi
callq 0x4121
movq %r12, %rdi
movq %rax, %rsi
callq 0x3f4c
decl %ebx
jmp 0x41d1
movq (%rsp), %rdi
movq %rdi, 0x10(%rsp)
cmpb $0x30, (%rdi)
jne 0x42ed
incq %rdi
movq %rdi, (%rsp)
jmp 0x42df
callq 0x5088
movq %rax, (%rsp)
leaq 0x10(%rsp), %rdi
callq 0x1c38
leaq 0x8(%rsp), %rdi
callq 0x1c38
movq (%rsp), %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_double_precision.c
// Function: ft_get_prec
void		ft_get_prec(char **exp, int prec)
{
	char	*tmp;
	int		i;

	i = 0;
	tmp = ft_strdup(*exp);
	while (tmp[i] && tmp[i] != '.')
		i++;
	i++;
	while (tmp[i] && prec)
	{
		i++;
		prec--;
	}
	if (tmp[i])
		ft_prepare_carry(&tmp, i);
	else
		tmp[i] = '\0';
	while (prec-- > 0)
		ft_join_free(&tmp, "0", 1, 0);
	ft_dup(exp, ft_strdup(tmp));
	ft_strdel(&tmp);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movl %esi, %ebp
movq %rdi, %rbx
movq (%rdi), %rdi
callq 0x5088
movq %rax, (%rsp)
xorl %ecx, %ecx
movzbl (%rax,%rcx), %edx
cmpl $0x2e, %edx
je 0x4351
testl %edx, %edx
je 0x4351
incq %rcx
jmp 0x433f
movl %ebp, %r12d
xorl %esi, %esi
leaq (%rax,%rsi), %rdx
movb 0x1(%rcx,%rdx), %dil
leaq 0x1(%rsi), %rdx
testb %dil, %dil
je 0x4370
cmpl %esi, %r12d
movq %rdx, %rsi
jne 0x4356
subq %rdx, %r12
incq %r12
testb %dil, %dil
je 0x4488
leaq (%rcx,%rdx), %rsi
movl %esi, %esi
cmpb $0x35, (%rax,%rsi)
jl 0x43e9
leal (%rcx,%rdx), %edi
addq %rax, %rdi
incq %rdi
movb (%rdi), %r8b
testb %r8b, %r8b
je 0x43a7
incq %rdi
cmpb $0x30, %r8b
je 0x4394
jmp 0x43b4
movq %rax, %rdi
addq %rdx, %rdi
cmpb $0x35, -0x1(%rcx,%rdi)
jl 0x43e9
movw $0x39, (%rax,%rsi)
movq %rax, %rdi
callq 0x51dc
leaq 0x1(%rax), %rdi
callq 0x5220
movq %rax, %r14
movb $0x30, (%rax)
pushq $0x1
popq %rax
movq (%rsp), %rcx
movb -0x1(%rcx,%rax), %cl
testb %cl, %cl
je 0x43f2
movb %cl, (%r14,%rax)
incq %rax
jmp 0x43d4
movb $0x0, (%rax,%rsi)
jmp 0x4488
movq %rsp, %rdi
callq 0x1c38
movq %r14, %rdi
callq 0x51dc
pushq $0x1
popq %rcx
movl %ecx, %esi
leal -0x1(%rax), %edx
testl %edx, %edx
jle 0x4452
cmpl $0x1, %esi
jne 0x4452
movl %edx, %esi
cmpb $0x39, (%r14,%rsi)
jne 0x4452
addl $-0x2, %eax
cmpb $0x2e, (%r14,%rax)
cmovel %eax, %edx
leaq (%r14,%rdx), %rax
movb -0x1(%r14,%rdx), %dil
movl %ecx, %esi
cmpb $0x38, %dil
jg 0x4441
incb %dil
movb %dil, -0x1(%rax)
xorl %esi, %esi
xorl %edi, %edi
cmpb $0x2e, (%rax)
sete %dil
movb $0x30, (%rax,%rdi)
movl %edx, %eax
jmp 0x4407
cmpb $0x30, (%r14)
jne 0x4476
leaq 0x8(%rsp), %r15
movq %r14, (%r15)
incq %r14
movq %r14, %rdi
callq 0x5088
movq %rax, %r14
movq %r15, %rdi
callq 0x1c38
movq %r14, %rdi
callq 0x51dc
movb $0x0, -0x1(%rax,%r14)
movq %r14, (%rsp)
leaq 0x1d64(%rip), %r14      # 0x61f3
movq %rsp, %r15
pushq $0x1
popq %rbp
testl %r12d, %r12d
jle 0x44ae
decl %r12d
movq %r15, %rdi
movq %r14, %rsi
movl %ebp, %edx
xorl %ecx, %ecx
callq 0x3030
jmp 0x4495
movq %rsp, %r14
movq (%r14), %rdi
callq 0x5088
movq %rbx, %rdi
movq %rax, %rsi
callq 0x3f4c
movq %r14, %rdi
callq 0x1c38
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strcmp.c
// Function: ft_strcmp
int		ft_strcmp(const char *s1, const char *s2)
{
	size_t		i;

	i = 0;
	while (s1[i] && s1[i] == s2[i])
		i++;
	return ((int)((unsigned char)s1[i] - (unsigned char)s2[i]));
}

// Assembly:
xorl %ecx, %ecx
movzbl (%rdi,%rcx), %eax
movzbl (%rsi,%rcx), %edx
testl %eax, %eax
je 0x4fdb
cmpb %dl, %al
jne 0x4fdd
incq %rcx
jmp 0x4fc6
xorl %eax, %eax
subl %edx, %eax
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strcasecmp.c
// Function: ft_strcasecmp
int					ft_strcasecmp(const char *s1, const char *s2)
{
	size_t	i;
	int		ret;

	i = 0;
	while (s1[i] != '\0')
	{
		if ((ret = ft_cmp_char(s1[i], s2[i])))
			return (ret);
		i++;
	}
	return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %r12d, %r12d
movl $0xff, %r13d
movsbl (%r14,%r12), %edi
testl %edi, %edi
je 0x5026
movsbl (%rbx,%r12), %r15d
callq 0x1e48
movl %eax, %ebp
movl %r15d, %edi
callq 0x1e48
andl %r13d, %ebp
andl %r13d, %eax
incq %r12
subl %eax, %ebp
je 0x4ffa
jmp 0x5028
xorl %ebp, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strncpy.c
// Function: ft_strncpy
char	*ft_strncpy(char *dst, const char *src, size_t len)
{
	size_t	i;

	i = 0;
	while (src[i] && i < len)
	{
		dst[i] = src[i];
		i++;
	}
	while (i < len)
		dst[i++] = '\0';
	return (dst);
}

// Assembly:
movq %rdi, %rax
xorl %ecx, %ecx
cmpq %rdx, %rcx
jae 0x507f
movb (%rsi,%rcx), %dil
testb %dil, %dil
je 0x507f
movb %dil, (%rax,%rcx)
incq %rcx
jmp 0x5061
movb $0x0, (%rax,%rcx)
incq %rcx
cmpq %rcx, %rdx
jne 0x5078
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strndup.c
// Function: ft_strndup
char	*ft_strndup(const char *s1, size_t n)
{
	char	*new_str;
	size_t	len;

	len = ft_strnlen(s1, n);
	if (!(new_str = (char *)malloc(sizeof(char) * (len + 1))))
		return (NULL);
	ft_strncpy(new_str, s1, len);
	new_str[len] = '\0';
	return (new_str);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x51f4
movq %rax, %r14
leaq 0x1(%rax), %rdi
callq 0x1060
movq %rax, %r15
testq %rax, %rax
je 0x50e4
movq %r15, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x505c
movb $0x0, (%r15,%r14)
movq %r15, %rax
popq %rbx
popq %r14
popq %r15
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strjoin.c
// Function: ft_strjoin
char	*ft_strjoin(char const *s1, char const *s2)
{
	char	*s_new;
	size_t	len_s1;
	size_t	len_s2;

	if (!s1 && !s2)
		return (NULL);
	if (!s1)
		s_new = ft_strdup((char *)s2);
	else if (!s2)
		s_new = ft_strdup((char *)s1);
	else
	{
		len_s1 = ft_strlen(s1);
		len_s2 = ft_strlen(s2);
		if (!(s_new = (char *)malloc(sizeof(char) * (len_s1 + len_s2 + 1))))
			return (NULL);
		ft_strncpy(s_new, s1, ft_strlen(s1));
		ft_strcpy(s_new + ft_strlen(s1), s2);
	}
	return (s_new);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rax
orq %rsi, %rax
je 0x517a
movq %rsi, %rbx
movq %rdi, %r14
testq %rdi, %rdi
je 0x5186
testq %rbx, %rbx
je 0x518b
movq %r14, %rdi
callq 0x51dc
movq %rax, %r15
movq %rbx, %rdi
callq 0x51dc
leaq (%r15,%rax), %rdi
incq %rdi
callq 0x1060
testq %rax, %rax
je 0x517a
movq %rax, %r15
movq %r14, %rdi
callq 0x51dc
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x505c
movq %r14, %rdi
callq 0x51dc
movq %r15, %rdi
addq %rax, %rdi
movq %rbx, %rsi
callq 0x557c
jmp 0x517d
xorl %r15d, %r15d
movq %r15, %rax
popq %rbx
popq %r14
popq %r15
retq
movq %rbx, %rdi
jmp 0x518e
movq %r14, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x5088
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strsub.c
// Function: ft_strsub
char	*ft_strsub(char const *s, unsigned int start, size_t len)
{
	char	*new_str;

	if (!s)
		return (NULL);
	if (!(new_str = (char *)malloc(sizeof(char) * (len + 1))))
		return (NULL);
	new_str = ft_strncpy(new_str, s + start, len);
	new_str[len] = '\0';
	return (new_str);
}

// Assembly:
testq %rdi, %rdi
je 0x51d0
pushq %rbp
pushq %r14
pushq %rbx
movq %rdx, %rbx
movl %esi, %ebp
movq %rdi, %r14
leaq 0x1(%rdx), %rdi
callq 0x1060
testq %rax, %rax
je 0x51d3
movl %ebp, %ecx
addq %rcx, %r14
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x505c
movb $0x0, (%rax,%rbx)
jmp 0x51d5
xorl %eax, %eax
retq
xorl %eax, %eax
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strlen.c
// Function: ft_strlen
size_t	ft_strlen(const char *s)
{
	size_t	len;

	len = 0;
	while (s && s[len])
		len++;
	return (len);
}

// Assembly:
xorl %eax, %eax
testq %rdi, %rdi
je 0x51ee
cmpb $0x0, (%rdi,%rax)
je 0x51f0
incq %rax
jmp 0x51de
xorl %eax, %eax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strnew.c
// Function: ft_strnew
char	*ft_strnew(size_t size)
{
	char	*str;
	size_t	i;

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

// Assembly:
pushq %rbx
movq %rdi, %rbx
incq %rbx
movq %rbx, %rdi
callq 0x1060
testq %rax, %rax
je 0x5244
xorl %ecx, %ecx
cmpq %rcx, %rbx
je 0x5244
movb $0x0, (%rax,%rcx)
incq %rcx
jmp 0x5236
popq %rbx
retq
nop
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strupcase.c
// Function: ft_strupcase
char	*ft_strupcase(char *str)
{
	int		i;

	i = 0;
	if (!str)
		return (NULL);
	while (str[i])
	{
		if (ft_islower(str[i]))
			str[i] -= 32;
		i++;
	}
	return (str);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rdi, %rdi
je 0x5271
movq %rbx, %r14
movsbl (%r14), %edi
testl %edi, %edi
je 0x5271
callq 0x52b0
testl %eax, %eax
je 0x526c
addb $-0x20, (%r14)
incq %r14
jmp 0x5257
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/string/ft_strlowcase.c
// Function: ft_strlowcase
char	*ft_strlowcase(char *str)
{
	int		i;

	i = 0;
	if (!str)
		return (NULL);
	while (str[i])
	{
		if (ft_isupper(str[i]))
			str[i] += 32;
		i++;
	}
	return (str);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rdi, %rdi
je 0x52a5
movq %rbx, %r14
movsbl (%r14), %edi
testl %edi, %edi
je 0x52a5
callq 0x52bc
testl %eax, %eax
je 0x52a0
addb $0x20, (%r14)
incq %r14
jmp 0x528b
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/conversion/ft_atoi.c
// Function: ft_atoi
int		ft_atoi(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')
	{
		if (str[i] < '0' || str[i] > '9')
			break ;
		nbr = nbr * 10 + str[i++] - '0';
	}
	if (str[0] == '-')
	{
		if (nbr + 1 > LONG_MAX)
			return (0);
		return ((int)nbr * -1);
	}	
	if (nbr > LONG_MAX)
		return (-1);
	return ((int)nbr);
}

// Assembly:
movabsq $0x100003e00, %rax      # imm = 0x100003E00
movzbl (%rdi), %ecx
cmpq $0x20, %rcx
ja 0x52fe
btq %rcx, %rax
jae 0x52fe
incq %rdi
jmp 0x52ea
leal -0x2b(%rcx), %eax
andb $-0x3, %al
cmpb $0x1, %al
adcq $0x0, %rdi
xorl %edx, %edx
movzbl (%rdi), %eax
leal -0x3a(%rax), %esi
cmpb $-0xa, %sil
jb 0x5324
imull $0xa, %edx, %edx
addl %eax, %edx
addl $-0x30, %edx
incq %rdi
jmp 0x530b
movl %edx, %eax
negl %eax
cmpb $0x2d, %cl
cmovnel %edx, %eax
retq
nop
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/list/ft_lstnew.c
// Function: ft_lstnew
t_list	*ft_lstnew(void const *content, size_t content_size)
{
	t_list	*list;

	if (!(list = (t_list *)malloc(sizeof(t_list))))
		return (NULL);
	list->next = NULL;
	if (!content)
	{
		list->content = NULL;
		list->content_size = 0;
	}
	else
	{
		if (!(list->content = malloc(content_size)))
		{
			free(list);
			list = NULL;
			return (NULL);
		}
		list->content_size = content_size;
		list->content = ft_memcpy(list->content, content, content_size);
	}
	return (list);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
movq %rdi, %r15
pushq $0x18
popq %rdi
callq 0x1060
testq %rax, %rax
je 0x5389
movq %rax, %rbx
andq $0x0, 0x10(%rax)
testq %r15, %r15
je 0x5379
movq %r14, %rdi
callq 0x1060
testq %rax, %rax
je 0x5381
movq %r14, 0x8(%rbx)
movq %rax, %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x52c8
movq %rax, (%rbx)
jmp 0x538b
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
jmp 0x538b
movq %rbx, %rdi
callq 0x1030
xorl %ebx, %ebx
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_functions_nb.c
// Function: ft_itoa_base_l
char		*ft_itoa_base_l(long long int value, int base)
{
	size_t				i;
	long long int		tmp;
	char				*str;

	i = 0;
	if (value <= 0)
		i++;
	tmp = value;
	while (tmp)
	{
		tmp /= base;
		i++;
	}
	if (!(str = (char *)malloc(sizeof(char) * (i + 1))))
		return (NULL);
	i = 0;
	fill_str(str, value, &i, base);
	str[i] = '\0';
	return (str);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movq %rdi, %r14
xorl %edi, %edi
testq %r14, %r14
setle %dil
movslq %esi, %rcx
incq %rdi
movq %r14, %rax
testq %rax, %rax
je 0x53c2
cqto
idivq %rcx
incq %rdi
jmp 0x53b3
callq 0x1060
movq %rax, %r15
testq %rax, %rax
je 0x53f0
movq %rsp, %r12
andq $0x0, (%r12)
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rdx
movl %ebx, %ecx
callq 0x53ff
movq (%r12), %rax
movb $0x0, (%r15,%rax)
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_functions_nb.c
// Function: fill_str
static void	fill_str(char *str, long long int nbr, size_t *i, int base)
{
	if (nbr < 0)
	{
		if (base == 10)
		{
			str[(*i)++] = '-';
			if (nbr < -9223372036854775807)
			{
				str[1] = '9';
				nbr /= 10;
				(*i)++;
			}
		}
		fill_str(str, nbr * -1, i, base);
	}
	else if (nbr < base)
	{
		str[*i] = nbr < 10 ? (char)nbr + '0' : (char)nbr % 10 + 'A';
		(*i)++;
	}
	else
	{
		fill_str(str, nbr / base, i, base);
		fill_str(str, nbr % base, i, base);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %ecx, %r15d
movq %rdx, %rbx
movq %rsi, %rbp
movq %rdi, %r14
movslq %ecx, %r12
movabsq $-0xccccccccccccccc, %r13 # imm = 0xF333333333333334
testq %rbp, %rbp
js 0x544b
cmpq %r12, %rbp
jl 0x5478
movq %rbp, %rax
cqto
idivq %r12
movq %rdx, %rbp
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
movl %r12d, %ecx
callq 0x53ff
jmp 0x5423
cmpl $0xa, %r15d
jne 0x5473
movq (%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, (%rbx)
movb $0x2d, (%r14,%rax)
movq %rbp, %rax
negq %rax
jno 0x5473
movb $0x39, 0x1(%r14)
incq (%rbx)
movq %r13, %rbp
negq %rbp
jmp 0x5423
cmpq $0x9, %rbp
ja 0x5484
orb $0x30, %bpl
jmp 0x5493
movsbl %bpl, %eax
movb $0xa, %cl
idivb %cl
movsbl %ah, %ebp
addb $0x41, %bpl
movq (%rbx), %rax
movb %bpl, (%r14,%rax)
incq (%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_functions_nb.c
// Function: ft_itoa_base_lu
char		*ft_itoa_base_lu(unsigned long long int value, unsigned int base)
{
	size_t					i;
	unsigned long long int	tmp;
	char					*str;

	i = 0;
	if (value <= 0)
		i++;
	tmp = value;
	while (tmp)
	{
		tmp /= base;
		i++;
	}
	if (!(str = (char *)malloc(sizeof(char) * (i + 1))))
		return (NULL);
	i = 0;
	fill_str_lu(str, value, &i, base);
	str[i] = '\0';
	return (str);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %ebx
movq %rdi, %r14
movl %esi, %ecx
xorl %edi, %edi
cmpq $0x1, %r14
adcq $0x1, %rdi
movq %r14, %rax
testq %rax, %rax
je 0x54d7
xorl %edx, %edx
divq %rcx
incq %rdi
jmp 0x54c8
callq 0x1060
movq %rax, %r15
testq %rax, %rax
je 0x5505
movq %rsp, %r12
andq $0x0, (%r12)
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rdx
movl %ebx, %ecx
callq 0x5514
movq (%r12), %rax
movb $0x0, (%r15,%rax)
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_functions_nb.c
// Function: fill_str_lu
static void	fill_str_lu(char *str, unsigned long long int nbr,
			size_t *i, unsigned int base)
{
	if (nbr < base)
	{
		if (nbr < 10)
			str[*i] = (char)nbr + '0';
		else
			str[*i] = (char)nbr % 10 + 'A';
		(*i)++;
	}
	else
	{
		fill_str_lu(str, nbr / base, i, base);
		fill_str_lu(str, nbr % base, i, base);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %ecx, %r15d
movq %rdx, %rbx
movq %rsi, %rbp
movq %rdi, %r14
movl %ecx, %r12d
cmpq %r12, %rbp
jb 0x554e
movq %rbp, %rax
xorl %edx, %edx
divq %r12
movq %rdx, %rbp
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
movl %r15d, %ecx
callq 0x5514
jmp 0x552b
cmpq $0x9, %rbp
ja 0x555a
orb $0x30, %bpl
jmp 0x5569
movsbl %bpl, %eax
movb $0xa, %cl
idivb %cl
movsbl %ah, %ebp
addb $0x41, %bpl
movq (%rbx), %rax
movb %bpl, (%r14,%rax)
incq (%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/ripmime.c
// Function: RIPMIME_report_filename_decoded
int RIPMIME_report_filename_decoded (char *filename, char *contenttype)
{
   char *p;

   p = strrchr(filename,'/');
   if (!p) p = filename; else p++;

   if (contenttype != NULL)
   {
       LOGGER_log ("Decoding content-type=%s filename=%s", contenttype, p);
   }
   else
   {
       LOGGER_log ("Decoding filename=%s", p);
   }

   return 0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
pushq $0x2f
popq %rsi
callq 0x2150
leaq 0x1(%rax), %rdx
testq %rax, %rax
cmoveq %r14, %rdx
testq %rbx, %rbx
je 0x2531
leaq 0xeb17(%rip), %rdi      # 0x1103c
movq %rbx, %rsi
xorl %eax, %eax
callq 0xc2a1
jmp 0x2542
leaq 0xeb29(%rip), %rdi      # 0x11061
movq %rdx, %rsi
xorl %eax, %eax
callq 0xc2a1
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/ripmime.c
// Function: RIPMIME_unpack_single
int RIPMIME_unpack_single( struct RIPMIME_globals *glb, char *fname )
{
   int result = 0;

   /** Set the alarm timeout feature. **/
   if (glb->timeout > 0) {
       signal(SIGALRM, RIPMIME_signal_alarm);
       alarm(glb->timeout);
   }

   MIMEH_set_outputdir (glb->dir);
   result = MIME_unpack (glb->dir, fname, 0);

   // do any last minute things

   MIME_close ();

   return result;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
cmpl $0x0, 0x14(%rdi)
jle 0x2e26
leaq -0x4e(%rip), %rsi       # 0x2dc7
pushq $0xe
popq %rdi
callq 0x2200
movl 0x14(%r14), %edi
callq 0x2190
movq 0x8(%r14), %rdi
callq 0x7c4e
movq 0x8(%r14), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x4e58
movl %eax, %ebx
callq 0x73c3
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/strstack.c
// Function: SS_done
int SS_done( struct SS_object *ss )
{
	struct SS_node *next;

	while ((ss->stringstack != NULL)&&(ss->count > 0))
	{
		DSS LOGGER_log("%s:%d:SS_done: Popping off %s",FL,ss->stringstack->data);
		next = ss->stringstack->next;
		free(ss->stringstack->data);
		free(ss->stringstack);
		ss->stringstack = next;
		ss->count--;
	}

	ss->stringstack = NULL;
	ss->count = 0;

	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %rbx
movq 0x10(%rdi), %r12
leaq 0xe352(%rip), %r14      # 0x1147f
leaq 0xe369(%rip), %r15      # 0x1149d
pushq $0x6c
popq %rbp
testq %r12, %r12
je 0x317e
cmpl $0x0, 0x8(%rbx)
jle 0x317e
cmpl $0x0, (%rbx)
je 0x315e
movq (%r12), %rcx
movq %r14, %rdi
movq %r15, %rsi
movl %ebp, %edx
xorl %eax, %eax
callq 0xc2a1
movq 0x10(%rbx), %r12
movq (%r12), %rdi
movq 0x10(%r12), %r12
callq 0x2030
movq 0x10(%rbx), %rdi
callq 0x2030
movq %r12, 0x10(%rbx)
decl 0x8(%rbx)
jmp 0x3137
andq $0x0, 0x10(%rbx)
andl $0x0, 0x8(%rbx)
xorl %eax, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/strstack.c
// Function: SS_dump
int SS_dump( struct SS_object *ss )
{
	struct SS_node *n = ss->stringstack;

	while (n != NULL)
	{
		LOGGER_log("%s",n->data);
		n = n->next;
	}

	return 0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x13ec0(%rip), %r14     # 0x17060
movq 0x10(%rbx), %rbx
testq %rbx, %rbx
je 0x31b8
movq (%rbx), %rsi
movq %r14, %rdi
xorl %eax, %eax
callq 0xc2a1
jmp 0x31a0
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/strstack.c
// Function: SS_push
int SS_push( struct SS_object *ss, char *data, size_t data_length )
{

	struct SS_node *node = malloc(sizeof(struct SS_node));


	if (node)
	{
		DSS LOGGER_log("%s:%d:SS_push: Pushing %s to %p, stack count = %d",FL,data, ss->stringstack, ss->count);
		node->next = ss->stringstack;
		ss->stringstack = node;
		ss->stringstack->data = strdup(data);
		ss->stringstack->data_length = data_length;
		ss->count++;
	}
	else
	    {
		LOGGER_log("%s:%d:SS_push:ERROR: Cannot allocate memory for string stack PUSH, %s", FL, strerror(errno));
	}

	return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
pushq $0x18
popq %rdi
callq 0x22a0
testq %rax, %rax
je 0x3232
movq %rax, %r12
cmpl $0x0, (%r14)
je 0x320e
movq 0x10(%r14), %r8
movl 0x8(%r14), %r9d
leaq 0xe2b0(%rip), %rdi      # 0x114a8
leaq 0xe29e(%rip), %rsi      # 0x1149d
movl $0xaf, %edx
movq %r15, %rcx
xorl %eax, %eax
callq 0xc2a1
movq 0x10(%r14), %rax
movq %rax, 0x10(%r12)
movq %r12, 0x10(%r14)
movq %r15, %rdi
callq 0x23b0
movq %rax, (%r12)
movq %rbx, 0x8(%r12)
incl 0x8(%r14)
jmp 0x325b
callq 0x2060
movl (%rax), %edi
callq 0x23c0
leaq 0xe295(%rip), %rdi      # 0x114da
leaq 0xe251(%rip), %rsi      # 0x1149d
movl $0xb8, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0xc2a1
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/strstack.c
// Function: SS_pop
char *SS_pop( struct SS_object *ss )
{

	struct SS_node *node = ss->stringstack;

	if ((ss->stringstack)&&(ss->count > 0))
	{
		ss->stringstack = ss->stringstack->next;
		PLD_strncpy(ss->datastacksafe,node->data, SS_STRLEN_MAX);
		free(node->data);
		free(node);
		ss->count--;
	} else return NULL;

	return ss->datastacksafe;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq 0x10(%rdi), %r15
testq %r15, %r15
je 0x32b2
movq %rdi, %r14
cmpl $0x0, 0x8(%rdi)
jle 0x32b2
movq 0x10(%r15), %rax
movq %rax, 0x10(%r14)
leaq 0x18(%r14), %rbx
movq (%r15), %rsi
movl $0x400, %edx            # imm = 0x400
movq %rbx, %rdi
callq 0xba3e
movq (%r15), %rdi
callq 0x2030
movq %r15, %rdi
callq 0x2030
decl 0x8(%r14)
jmp 0x32b4
xorl %ebx, %ebx
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/strstack.c
// Function: SS_cmp
char *SS_cmp( struct SS_object *ss, char *find_me, size_t find_me_len )
{
	struct SS_node *n = ss->stringstack;
	int hit=0;

	while ((n != NULL)&&(hit == 0))
	{
		if (strncmp(find_me, n->data, find_me_len) == 0) hit++;
		if (hit == 0) n = n->next;
	}

	if (hit == 0) return NULL;
	else return n->data;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
xorl %ecx, %ecx
movq 0x10(%rbx), %rbx
testq %rbx, %rbx
je 0x3307
testl %ecx, %ecx
jne 0x3307
movq (%rbx), %rsi
movq %r15, %rdi
movq %r14, %rdx
callq 0x20a0
xorl %ecx, %ecx
testl %eax, %eax
sete %cl
je 0x32e5
jmp 0x32e1
testl %ecx, %ecx
je 0x3310
movq (%rbx), %rax
jmp 0x3312
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/mime.c
// Function: MIME_version
int MIME_version( void )
{
    fprintf(stderr,"ripMIME: %s\n", LIBMIME_VERSION);
    MIMEH_version();
#ifdef RIPOLE
    OLE_version();
#endif

    return 0;
}

// Assembly:
pushq %rax
movq 0x1bcd8(%rip), %rax     # 0x1eff8
movq (%rax), %rdi
leaq 0xe476(%rip), %rsi      # 0x117a0
leaq 0xe47c(%rip), %rdx      # 0x117ad
xorl %eax, %eax
callq 0x2210
callq 0x7b88
callq 0xe14c
xorl %eax, %eax
popq %rcx
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/mime.c
// Function: MIME_set_debug
int MIME_set_debug( int level )
{
    glb.debug = level;

    BS_set_debug(level);
    TNEF_set_debug(level);
    MIMEH_set_debug(level);
    MDECODE_set_debug(level);
    UUENCODE_set_debug(level);
    FNFILTER_set_debug(level);
    return glb.debug;
}

// Assembly:
pushq %rbx
movl %edi, %ebx
movl %edi, 0x1cfa8(%rip)     # 0x20300
callq 0xcbdc
movl %ebx, %edi
callq 0xaf1c
movl %ebx, %edi
callq 0x7c45
movl %ebx, %edi
callq 0xc463
movl %ebx, %edi
callq 0xd1bd
movl %ebx, %edi
callq 0xde08
movl 0x1cf7a(%rip), %eax     # 0x20300
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/mime.c
// Function: MIME_set_quiet
int MIME_set_quiet( int level )
{
    glb.quiet = level;
    MIME_set_debug(0);
    MIME_set_verbosity(0);
    return glb.quiet;
}

// Assembly:
pushq %rax
movl %edi, 0x1cf75(%rip)     # 0x20304
xorl %edi, %edi
callq 0x334f
xorl %edi, %edi
callq 0x33a5
movl 0x1cf61(%rip), %eax     # 0x20304
popq %rcx
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/mime.c
// Function: MIME_set_verbosity
int MIME_set_verbosity( int level )
{
    glb.verbosity = level;
    MIMEH_set_verbosity( level );
    TNEF_set_verbosity( level );
    FNFILTER_set_verbose( level );
    UUENCODE_set_verbosity( level );
    MDECODE_set_verbose( level );
    BS_set_verbose( level );
    return 0;
}

// Assembly:
pushq %rbx
movl %edi, %ebx
movl %edi, 0x1cf3e(%rip)     # 0x202ec
callq 0x7c8a
movl %ebx, %edi
callq 0xaf00
movl %ebx, %edi
callq 0xde11
movl %ebx, %edi
callq 0xd1c6
movl %ebx, %edi
callq 0xc46c
movl %ebx, %edi
callq 0xcbd3
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/mime.c
// Function: MIME_set_verbosity_contenttype
int MIME_set_verbosity_contenttype( int level )
{
    glb.verbosity_contenttype = level;
    MIMEH_set_verbosity_contenttype( level );
    UUENCODE_set_verbosity_contenttype( level );
    TNEF_set_verbosity_contenttype( level );
    return glb.verbosity_contenttype;
}

// Assembly:
pushq %rbx
movl %edi, %ebx
movl %edi, 0x1ce48(%rip)     # 0x202f4
callq 0x7c93
movl %ebx, %edi
callq 0xd1cf
movl %ebx, %edi
callq 0xaf09
movl 0x1ce2f(%rip), %eax     # 0x202f4
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/mime.c
// Function: MIME_set_filename_report_fn
int MIME_set_filename_report_fn( int (*ptr_to_fn)(char *, char *) )
{
    glb.filename_decoded_reporter = ptr_to_fn;
    UUENCODE_set_filename_report_fn( ptr_to_fn );
    TNEF_set_filename_report_fn( ptr_to_fn );

    return 0;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq %rdi, 0x1fe74(%rip)     # 0x23358
callq 0xd1ea
movq %rbx, %rdi
callq 0xaf12
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/inflex[P]ripMIME/mime.c
// Function: get_random_value
int get_random_value(void) {
    int randval;
    FILE *fp;
    fp = fopen("/dev/urandom", "r");
    fread(&randval, sizeof(randval), 1, fp);
    fclose(fp);
    if (randval < 0) { randval = randval *( -1); };
    return randval;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
leaq 0xe258(%rip), %rdi      # 0x1180a
leaq 0x11f4b(%rip), %rsi     # 0x15504
callq 0x2350
movq %rax, %rbx
leaq 0x4(%rsp), %r14
pushq $0x4
popq %rsi
pushq $0x1
popq %rdx
movq %r14, %rdi
movq %rax, %rcx
callq 0x20c0
movq %rbx, %rdi
callq 0x20f0
movl (%r14), %ecx
movl %ecx, %eax
negl %eax
cmovsl %ecx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq