// File: /workspace/github_c_makefile_star2_O0/rpeepz[P]ft_ssl/libft/srcs/ft_sprintf/s_to_buf.c
// Function: s_to_buf
int			s_to_buf(char *buf, t_mod modifiers, va_list ap)
{
	char	*s;
	char	*s2;
	int		len;

	s = va_arg(ap, char *);
	!s ? s = "(null)" : 0;
	if (modifiers.prcsn >= 0 && modifiers.prcsn < (int)ft_strlen(s))
		s2 = ft_strndup(s, modifiers.prcsn);
	else
		s2 = ft_strdup(s);
	if ((len = ft_strlen(s2)) && modifiers.fl.minus == 1)
	{
		if (modifiers.width <= len)
			ft_strcpy(buf, s2);
		else
			left_justify(buf, s2, len, modifiers);
		free(s2);
		return (modifiers.width <= len ? len : modifiers.width);
	}
	if (modifiers.width > len)
		right_justify(buf, s2, len, modifiers);
	else
		ft_strcpy(buf, s2);
	free(s2);
	return (modifiers.width > len ? modifiers.width : len);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movl (%rax), %eax
movl %eax, -0x30(%rbp)
cmpl $0x28, %eax
ja 0x112f6
movq -0x38(%rbp), %rcx
movl -0x30(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x48(%rbp)
jmp 0x1130d
movq -0x38(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x1132c
leaq 0x313c(%rip), %rax      # 0x14462
movq %rax, -0x20(%rbp)
jmp 0x1132e
jmp 0x1132e
movq -0x40(%rbp), %rax
cmpl $0x0, 0x18(%rax)
jl 0x1136c
movq -0x40(%rbp), %rax
movl 0x18(%rax), %eax
movl %eax, -0x4c(%rbp)
movq -0x20(%rbp), %rdi
callq 0xbf10
movq %rax, %rcx
movl -0x4c(%rbp), %eax
cmpl %ecx, %eax
jge 0x1136c
movq -0x40(%rbp), %rax
movq -0x20(%rbp), %rdi
movslq 0x18(%rax), %rsi
callq 0xc280
movq %rax, -0x28(%rbp)
jmp 0x11379
movq -0x20(%rbp), %rdi
callq 0xc1d0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xbf10
movl %eax, -0x2c(%rbp)
cmpl $0x0, %eax
je 0x1140f
movq -0x40(%rbp), %rax
cmpl $0x1, 0x8(%rax)
jne 0x1140f
movq -0x40(%rbp), %rax
movl 0x14(%rax), %eax
cmpl -0x2c(%rbp), %eax
jg 0x113b3
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xbac0
jmp 0x113e0
movq -0x40(%rbp), %rcx
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %edx
movl 0x20(%rcx), %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x11490
movq -0x28(%rbp), %rdi
callq 0x1030
movq -0x40(%rbp), %rax
movl 0x14(%rax), %eax
cmpl -0x2c(%rbp), %eax
jg 0x113fd
movl -0x2c(%rbp), %eax
movl %eax, -0x50(%rbp)
jmp 0x11407
movq -0x40(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x11484
movq -0x40(%rbp), %rax
movl 0x14(%rax), %eax
cmpl -0x2c(%rbp), %eax
jle 0x1144a
movq -0x40(%rbp), %rcx
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %edx
movl 0x20(%rcx), %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x114f0
jmp 0x11457
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xbac0
movq -0x28(%rbp), %rdi
callq 0x1030
movq -0x40(%rbp), %rax
movl 0x14(%rax), %eax
cmpl -0x2c(%rbp), %eax
jle 0x11478
movq -0x40(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x54(%rbp)
jmp 0x1147e
movl -0x2c(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq