// File: /workspace/github_c_makefile_star2_O1/AndreIglesias[P]quick_ls/libft/libstd/depo/.././src//c/stdio/ft_printf/printform.c
// Function: print_arg
int	print_arg(t_flags flags, va_list ap)
{
	int	npr;

	if (flags.type == 'f' && flags.precision < 0)
		flags.precision = 6;
	if (flags.type == 'f' && flags.lo)
		return (ft_putdbl(va_arg(ap, long double), flags));
	if (flags.type == 'f' && !flags.lo)
		return (ft_putdbl(va_arg(ap, double), flags));
	if (flags.type == 's')
		return (put_wstr(va_arg(ap, char *), flags, 0));
	npr = (flags.precision == 0);
	flags.precision = (flags.precision > 0 || ft_countchr("uoxX", flags.type))
		* flags.precision;
	if (flags.type == 'd' || flags.type == 'i')
		return (print_di(flags, get_int(flags, ap), npr, flags.fd));
	if (flags.type == 'c')
		return (put_wchar((char)va_arg(ap, int), flags));
	if (flags.type == 'p')
		return (print_address((t_u_long)va_arg(ap, void *), flags, 0, npr));
	if (ft_countchr("uoxX", flags.type) > 0)
		return (print_uoxx(flags, ap, 0, 8 + (8 * (flags.type != 'o'))));
	if (flags.type == '%')
		return (print_di(flags, 0, npr, flags.fd));
	return (0);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
leaq 0x80(%rsp), %r14
movsbl 0x30(%r14), %esi
cmpl $0x66, %esi
jne 0x3569
cmpl $0x0, 0x98(%rsp)
jns 0x3569
movl $0x6, 0x18(%r14)
cmpb $0x66, %sil
sete %cl
movl 0x2c(%r14), %eax
testl %eax, %eax
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x359b
movq 0x8(%rbx), %rax
addq $0xf, %rax
andq $-0x10, %rax
leaq 0x10(%rax), %rcx
movq %rcx, 0x8(%rbx)
fldt (%rax)
jmp 0x368d
testl %eax, %eax
setne %al
cmpb $0x66, %sil
setne %cl
orb %al, %cl
je 0x35ce
cmpb $0x73, %sil
jne 0x35f0
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x36c7
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x36d3
movl 0x4(%rbx), %ecx
cmpq $0xa0, %rcx
ja 0x367f
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x10, %ecx
movl %ecx, 0x4(%rbx)
jmp 0x368b
xorl %ebp, %ebp
cmpl $0x0, 0x18(%r14)
sete %r15b
movl $0x1, %ecx
jg 0x3615
leaq 0x1d87(%rip), %rdi      # 0x5390
callq 0x4df4
xorl %ecx, %ecx
testl %eax, %eax
setne %cl
imull 0x18(%r14), %ecx
movb %r15b, %bpl
movl %ecx, 0x18(%r14)
movzbl 0x30(%r14), %eax
cmpl $0x68, %eax
jg 0x36e5
cmpl $0x63, %eax
je 0x3739
cmpl $0x64, %eax
je 0x36f3
movsbl %al, %esi
leaq 0x1d45(%rip), %rdi      # 0x5390
callq 0x4df4
movb 0x30(%r14), %cl
testl %eax, %eax
jle 0x37a5
xorl %eax, %eax
cmpb $0x6f, %cl
setne %al
leal 0x8(,%rax,8), %edx
movq %rbx, %rdi
xorl %esi, %esi
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x3278
movq 0x8(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rbx)
fldl (%rax)
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups 0x20(%r14), %xmm2
movups 0x2c(%r14), %xmm3
movups %xmm3, 0x3c(%rsp)
movups %xmm2, 0x30(%rsp)
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
fstpt (%rsp)
callq 0x3d4b
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rbx)
movq (%rax), %rdi
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x348d
cmpl $0x70, %eax
je 0x374f
cmpl $0x69, %eax
jne 0x3641
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups 0x20(%r14), %xmm2
movups 0x2c(%r14), %xmm3
movups %xmm3, 0x2c(%rsp)
movups %xmm2, 0x20(%rsp)
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movq %rbx, %rdi
callq 0x4a94
movl 0x38(%r14), %edx
movq %rax, %rdi
movl %ebp, %esi
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2ec8
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x3765
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x3771
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x3783
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x378f
movq 0x8(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rbx)
movsbl (%rax), %edi
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x43d9
movq 0x8(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%rbx)
movq (%rax), %rdi
xorl %esi, %esi
movl %ebp, %edx
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x4660
cmpb $0x25, %cl
jne 0x37b5
movl 0x38(%r14), %edx
xorl %edi, %edi
jmp 0x3728
xorl %eax, %eax
jmp 0x36bc