// File: /workspace/github_c_makefile_star2_O2/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
sete %cl
movl 0x18(%r14), %eax
testl %eax, %eax
sets %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x3465
movl $0x6, 0x18(%r14)
pushq $0x6
popq %rax
cmpb $0x66, %sil
sete %dl
movl 0x2c(%r14), %ecx
testl %ecx, %ecx
setne %dil
andb %dl, %dil
cmpb $0x1, %dil
jne 0x3497
movq 0x8(%rbx), %rax
addq $0xf, %rax
andq $-0x10, %rax
leaq 0x10(%rax), %rcx
movq %rcx, 0x8(%rbx)
fldt (%rax)
jmp 0x3505
testl %ecx, %ecx
setne %cl
cmpb $0x66, %sil
setne %dl
orb %cl, %dl
je 0x34ca
cmpb $0x73, %sil
jne 0x34e5
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x353f
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x354b
movl 0x4(%rbx), %ecx
cmpq $0xa0, %rcx
ja 0x34f7
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x10, %ecx
movl %ecx, 0x4(%rbx)
jmp 0x3503
xorl %ebp, %ebp
testl %eax, %eax
sete %r15b
jle 0x355d
pushq $0x1
popq %rcx
jmp 0x3578
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 0x3b61
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 0x3383
leaq 0x1e2c(%rip), %rdi      # 0x5390
callq 0x49a8
xorl %ecx, %ecx
testl %eax, %eax
setne %cl
movl 0x18(%r14), %eax
movb 0x30(%r14), %sil
imull %ecx, %eax
movl %eax, 0x18(%r14)
cmpb $0x63, %sil
je 0x35f7
movb %r15b, %bpl
movzbl %sil, %eax
cmpl $0x64, %eax
je 0x359b
cmpl $0x70, %eax
je 0x35e1
cmpl $0x69, %eax
jne 0x360d
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 0x46a4
movl 0x38(%r14), %edx
movq %rax, %rdi
movl %ebp, %esi
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2da8
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x3648
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x3654
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x366a
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x3676
movsbl %sil, %esi
leaq 0x1d78(%rip), %rdi      # 0x5390
callq 0x49a8
movb 0x30(%r14), %cl
testl %eax, %eax
jle 0x3688
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 0x3172
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 0x4304
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 0x40b0
cmpb $0x25, %cl
jne 0x3698
movl 0x38(%r14), %edx
xorl %edi, %edi
jmp 0x35d0
xorl %eax, %eax
jmp 0x3534
nop