// File: /workspace/github_c_makefile_star2_O3/ffoissey[P]push_swap_42/libft/srcs/ft_printf/ft_printf.c
// Function: ft_manage_conversion
static int	ft_manage_conversion(va_list *args, t_flag *flag,
		char *s, char **out)
{
	char	*tmp;
	char	*new;
	int		nl;

	tmp = *out;
	nl = flag->null;
	ft_wildcard(args, flag);
	if (ft_ok_dioux(*s) || *s == 'b' || *s == 'B' || *s == 'p')
		new = ft_nb(args, s, flag);
	else if (*s == 'c' || *s == 'C' || *s == 's' || *s == 'S')
	{
		if (ft_conversion_c_n_s(args, s, flag, &new))
			return (1);
	}
	else if (flag->str)
		new = ft_strdup(flag->str);
	else if (*s == 'f' || *s == 'F')
		new = ft_conversion_double(ft_double_select(args, flag), flag, *s);
	else
		return (1);
	*out = ft_strjoin_hub(*out, new, flag->null, flag->null == nl ? 1 : 3);
	ft_strdel(&flag->str);
	ft_strdel(&tmp);
	ft_strdel(&new);
	return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rcx, %r14
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, %r15
movq (%rcx), %rax
movq %rax, 0x28(%rsp)
movl 0x44(%rsi), %ebp
callq 0x2930
movsbl (%r12), %edi
callq 0x3030
testl %eax, %eax
je 0x26eb
movq %r15, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2a38
movq %rax, 0x18(%rsp)
movq (%r14), %rdi
leaq 0x18(%rsp), %r15
movq (%r15), %rsi
movl 0x44(%rbx), %edx
xorl %eax, %eax
cmpl %ebp, %edx
setne %al
leal 0x1(,%rax,2), %ecx
callq 0x3184
movq %rax, (%r14)
movq %rbx, %rdi
callq 0x1d7c
leaq 0x28(%rsp), %rdi
callq 0x1d7c
movq %r15, %rdi
callq 0x1d7c
xorl %eax, %eax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movzbl (%r12), %eax
leal -0x42(%rax), %ecx
cmpl $0x31, %ecx
ja 0x2761
movabsq $0x2000200020002, %rdx  # imm = 0x2000200020002
btq %rcx, %rdx
jae 0x274d
leal -0x43(%rax), %ecx
rolb $0x4, %cl
cmpb $0x3, %cl
ja 0x269e
movzbl %cl, %ecx
leaq 0x3a4b(%rip), %rdx      # 0x6168
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
cmpl $0x43, %eax
je 0x2735
cmpl $0x0, 0x18(%rbx)
je 0x281d
movl (%r15), %ecx
cmpq $0x28, %rcx
ja 0x279a
movq %rcx, %rax
addq 0x10(%r15), %rax
addl $0x8, %ecx
movl %ecx, (%r15)
jmp 0x27a6
movabsq $0x400100000001, %rdx   # imm = 0x400100000001
btq %rcx, %rdx
jb 0x268b
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x27e7
callq 0x598c
jmp 0x2699
cmpl $0x53, %eax
je 0x2782
cmpl $0x0, 0x18(%rbx)
je 0x2835
movl (%r15), %ecx
cmpq $0x28, %rcx
ja 0x27b7
movq %rcx, %rax
addq 0x10(%r15), %rax
addl $0x8, %ecx
movl %ecx, (%r15)
jmp 0x27c3
movq 0x8(%r15), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%r15)
movl (%rax), %edi
leaq 0x18(%rsp), %rdx
movq %rbx, %rsi
callq 0x3bb8
jmp 0x27d3
movq 0x8(%r15), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%r15)
movq (%rax), %rdi
leaq 0x18(%rsp), %rdx
movq %rbx, %rsi
callq 0x3d33
movl %eax, %ecx
movl $0x1, %eax
testl %ecx, %ecx
jne 0x26de
jmp 0x269e
orl $0x20, %eax
cmpl $0x66, %eax
jne 0x2884
movq %r15, %rdi
movq %rbx, %rsi
callq 0x29e5
movsd %xmm0, 0x20(%rsp)
fldl 0x20(%rsp)
movsbl (%r12), %esi
fstpt (%rsp)
movq %rbx, %rdi
callq 0x36da
jmp 0x2699
movl (%r15), %ecx
cmpq $0x28, %rcx
ja 0x284d
movq %rcx, %rax
addq 0x10(%r15), %rax
addl $0x8, %ecx
movl %ecx, (%r15)
jmp 0x2859
movl (%r15), %ecx
cmpq $0x28, %rcx
ja 0x2868
movq %rcx, %rax
addq 0x10(%r15), %rax
addl $0x8, %ecx
movl %ecx, (%r15)
jmp 0x2874
movq 0x8(%r15), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%r15)
movl (%rax), %edi
movq %rbx, %rsi
callq 0x35a6
jmp 0x2699
movq 0x8(%r15), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%r15)
movq (%rax), %rdi
movq %rbx, %rsi
callq 0x360a
jmp 0x2699
movl $0x1, %eax
jmp 0x26de
nop