// File: /workspace/github_c_makefile_star2_O2/AndreIglesias[P]quick_ls/libft/libstd/depo/.././src//c/stdio/ft_printf/aux/ft_put.c
// Function: ft_putwidth
int	ft_putwidth(intmax_t lg, t_flags flags, uintmax_t x, int p)
{
	int	i;
	int	neg;
	int	iszero;

	iszero = (lg == 0 && p >= 0);
	i = iszero;
	neg = !((lg < 0 || flags.plus || flags.space) && flags.type != 'u');
	neg = !(flags.type == 'u' && flags.precision <= 0) * neg;
	x = calc_x(flags, &lg, x, &i);
	i += (flags.type == 'f' && (p != 0 || flags.square));
	if (ft_countchr("csp", flags.type) != 0)
		return (0);
	if (flags.type != 'f' && p > i)
		i = iszero;
	iszero = neg + u_width(flags, p, i, iszero);
	if (p < 0)
		iszero = calc_iszero(flags, i, iszero);
	if (ft_fillzero(p, flags, i))
		return (ft_repet_fd('0', iszero, flags.fd));
	if (p > i)
		i = p;
	return (ft_repet_fd(' ', iszero * ((flags.width - i) > 0), flags.fd));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
leaq 0x80(%rsp), %r9
movsbl 0x30(%r9), %ebp
movq %rdi, %rcx
negq %rcx
cmovsq %rdi, %rcx
cmpl $0x75, %ebp
cmoveq %rdi, %rcx
cmpl $0x0, 0x18(%r9)
pushq $0x1
popq %rax
cmoveq %rcx, %rax
setg %sil
testq %rcx, %rcx
cmovneq %rcx, %rax
movl %edx, %ebx
cmpl $0x75, %ebp
setne %r13b
sete %dl
cmovneq %rcx, %rax
testl %ebx, %ebx
setns %cl
testq %rdi, %rdi
sete %dil
setns %r8b
andb %cl, %dil
movzbl %dil, %r14d
movl 0x8(%r9), %ecx
movl 0x10(%r9), %edi
movl %ecx, 0x44(%rsp)
movl %edi, 0x40(%rsp)
orl %edi, %ecx
sete %cl
andb %r8b, %cl
orb %dl, %cl
orb %sil, %r13b
andb %cl, %r13b
pushq $0xa
popq %rcx
movl %r14d, %r15d
testq %rax, %rax
je 0x3923
incl %r15d
xorl %edx, %edx
divq %rcx
jmp 0x3914
xorl %r12d, %r12d
cmpb $0x66, %bpl
jne 0x393f
xorl %r12d, %r12d
leaq 0x80(%rsp), %rax
movl (%rax), %eax
orl %ebx, %eax
setne %r12b
leaq 0x1a4f(%rip), %rdi      # 0x5395
movl %ebp, %esi
callq 0x49a8
testl %eax, %eax
je 0x3962
xorl %eax, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
addl %r15d, %r12d
cmpl %ebx, %r12d
movl %r12d, %r15d
cmovll %r14d, %r15d
movzbl %r13b, %r13d
cmpb $0x66, %bpl
cmovel %r12d, %r15d
leaq 0x80(%rsp), %r12
movups (%r12), %xmm0
movups 0x10(%r12), %xmm1
movups 0x20(%r12), %xmm2
movups 0x2c(%r12), %xmm3
movups %xmm3, 0x2c(%rsp)
movups %xmm2, 0x20(%rsp)
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movl %ebx, %edi
movl %r15d, %esi
movl %r14d, %edx
callq 0x37a0
movl %eax, %r14d
addl %r13d, %r14d
testl %ebx, %ebx
jns 0x39ef
cmpb $0x66, %bpl
setne %al
xorl %ecx, %ecx
movl 0x40(%rsp), %edx
orl %edx, 0x44(%rsp)
setne %cl
testl %r14d, %r14d
setne %dl
andb %al, %dl
movzbl %dl, %r14d
addl %r15d, %ecx
subl %ecx, %r14d
addl 0x14(%r12), %r14d
movups (%r12), %xmm0
movups 0x10(%r12), %xmm1
movups 0x20(%r12), %xmm2
movups 0x2c(%r12), %xmm3
movups %xmm3, 0x2c(%rsp)
movups %xmm2, 0x20(%rsp)
movups %xmm1, 0x10(%rsp)
movups %xmm0, (%rsp)
movl %ebx, %edi
movl %r15d, %esi
callq 0x3807
testl %eax, %eax
je 0x3a34
movl 0x38(%r12), %edx
pushq $0x30
popq %rdi
movl %r14d, %esi
jmp 0x3a4e
cmpl %ebx, %r15d
cmovgl %r15d, %ebx
movl 0x38(%r12), %edx
xorl %esi, %esi
cmpl %ebx, 0x14(%r12)
cmovgl %r14d, %esi
pushq $0x20
popq %rdi
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x45b0
nopl (%rax)