// File: /workspace/github_c_makefile_star2_O3/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 0x358d
movl $0x6, 0x18(%r14)
movl $0x6, %eax
cmpb $0x66, %sil
sete %dl
movl 0x2c(%r14), %ecx
testl %ecx, %ecx
setne %dil
andb %dl, %dil
cmpb $0x1, %dil
jne 0x35c2
movq 0x8(%rbx), %rax
addq $0xf, %rax
andq $-0x10, %rax
leaq 0x10(%rax), %rcx
movq %rcx, 0x8(%rbx)
fldt (%rax)
jmp 0x36b7
testl %ecx, %ecx
setne %cl
cmpb $0x66, %sil
setne %dl
orb %cl, %dl
je 0x35f5
cmpb $0x73, %sil
jne 0x3617
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x36f1
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x36fd
movl 0x4(%rbx), %ecx
cmpq $0xa0, %rcx
ja 0x36a9
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x10, %ecx
movl %ecx, 0x4(%rbx)
jmp 0x36b5
xorl %ebp, %ebp
movl $0x1, %ecx
testl %eax, %eax
sete %r15b
jg 0x3641
leaq 0x2d63(%rip), %rdi      # 0x6390
callq 0x4fc0
xorl %ecx, %ecx
testl %eax, %eax
setne %cl
movl 0x18(%r14), %eax
movb 0x30(%r14), %sil
imull %ecx, %eax
movb %r15b, %bpl
movl %eax, 0x18(%r14)
movzbl %sil, %eax
cmpl $0x68, %eax
jg 0x370f
cmpl $0x63, %eax
je 0x3763
cmpl $0x64, %eax
je 0x371d
movsbl %sil, %esi
leaq 0x2d1b(%rip), %rdi      # 0x6390
callq 0x4fc0
movb 0x30(%r14), %cl
testl %eax, %eax
jle 0x37cf
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 0x3290
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 0x3eac
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 0x34a5
cmpl $0x70, %eax
je 0x3779
cmpl $0x69, %eax
jne 0x366a
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 0x4c70
movl 0x38(%r14), %edx
movq %rax, %rdi
movl %ebp, %esi
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2ec4
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x378f
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x379b
movl (%rbx), %ecx
cmpq $0x28, %rcx
ja 0x37ad
movq %rcx, %rax
addq 0x10(%rbx), %rax
addl $0x8, %ecx
movl %ecx, (%rbx)
jmp 0x37b9
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 0x4597
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 0x4844
cmpb $0x25, %cl
jne 0x37df
movl 0x38(%r14), %edx
xorl %edi, %edi
jmp 0x3752
xorl %eax, %eax
jmp 0x36e6
nop