// File: /workspace/github_c_makefile_star2_O0/AndreIglesias[P]quick_ls/libft/libstd/depo/.././src//c/stdio/ft_printf/printform.c
// Function: print_uoxx
int	print_uoxx(t_flags flags, va_list ap, int nb, int n)
{
	char	*s;
	int		b;
	int		q;
	int		con;

	if (flags.type == 'o' || flags.type == 'x' || flags.type == 'X')
	{
		s = ft_itoa_basexx(flags_uoxx(flags, ap), n, (flags.type == 'X'));
		q = flags.precision - ft_strlen(s);
		b = !(q > 0 && flags.type == 'o') * flags.square;
		n = ft_uoxx_w(flags, s, q, b);
		nb += ft_putoxx(flags, s, n, b);
		if (q > 0)
			nb += ft_repet_fd('0', q, flags.fd);
		con = (!(!ft_strcmp(s, "0") && !flags.precision
					&& !(flags.square && flags.type == 'o')));
		nb += write(flags.fd, s, ft_strlen(s) * con);
		if (flags.minus)
			nb += ft_repet_fd(' ', n, flags.fd);
		if (ft_strcmp(s, "0") != 0)
			free(s);
		return (nb);
	}
	return (print_di(flags, flags_uoxx(flags, ap),
			flags.precision == 0, flags.fd));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
movsbl 0x30(%rax), %eax
cmpl $0x6f, %eax
je 0x4894
movq -0x38(%rbp), %rax
movsbl 0x30(%rax), %eax
cmpl $0x78, %eax
je 0x4894
movq -0x38(%rbp), %rax
movsbl 0x30(%rax), %eax
cmpl $0x58, %eax
jne 0x4ab4
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rdi
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x2c(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x2c(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x6e50
movq %rax, %rdi
movq -0x38(%rbp), %rax
movl -0x18(%rbp), %esi
movsbl 0x30(%rax), %eax
cmpl $0x58, %eax
sete %al
andb $0x1, %al
movzbl %al, %edx
callq 0x50c0
movq %rax, %rcx
movq -0x38(%rbp), %rax
movq %rcx, -0x20(%rbp)
movslq 0x18(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x20(%rbp), %rdi
callq 0x6fa0
movq %rax, %rcx
movq -0x48(%rbp), %rax
subq %rcx, %rax
movl %eax, -0x28(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x28(%rbp)
movb %al, -0x39(%rbp)
jle 0x4925
movq -0x38(%rbp), %rax
movsbl 0x30(%rax), %eax
cmpl $0x6f, %eax
sete %al
movb %al, -0x39(%rbp)
movq -0x38(%rbp), %rax
movb -0x39(%rbp), %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
imull (%rax), %ecx
movl %ecx, -0x24(%rbp)
movq -0x20(%rbp), %rdi
movl -0x28(%rbp), %esi
movl -0x24(%rbp), %edx
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x2c(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x2c(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x46d0
movl %eax, %ecx
movq -0x38(%rbp), %rax
movl %ecx, -0x18(%rbp)
movq -0x20(%rbp), %rdi
movl -0x18(%rbp), %esi
movl -0x24(%rbp), %edx
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x2c(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x2c(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x5f30
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x28(%rbp)
jle 0x49ca
movq -0x38(%rbp), %rax
movl -0x28(%rbp), %esi
movl 0x38(%rax), %edx
movl $0x30, %edi
callq 0x6a70
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x20(%rbp), %rdi
leaq 0x39d0(%rip), %rsi      # 0x83a5
callq 0x6fb0
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0x49(%rbp)
jne 0x4a1c
movq -0x38(%rbp), %rcx
xorl %eax, %eax
cmpl $0x0, 0x18(%rcx)
movb %al, -0x49(%rbp)
jne 0x4a1c
movq -0x38(%rbp), %rcx
xorl %eax, %eax
cmpl $0x0, (%rcx)
movb %al, -0x4a(%rbp)
je 0x4a14
movq -0x38(%rbp), %rax
movsbl 0x30(%rax), %eax
cmpl $0x6f, %eax
sete %al
movb %al, -0x4a(%rbp)
movb -0x4a(%rbp), %al
xorb $-0x1, %al
movb %al, -0x49(%rbp)
movq -0x38(%rbp), %rax
movb -0x49(%rbp), %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
movl %ecx, -0x2c(%rbp)
movl 0x38(%rax), %eax
movl %eax, -0x5c(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x20(%rbp), %rdi
callq 0x6fa0
movl -0x5c(%rbp), %edi
movq -0x58(%rbp), %rsi
movq %rax, %rdx
movslq -0x2c(%rbp), %rax
imulq %rax, %rdx
callq 0x1060
movq %rax, %rdx
movq -0x38(%rbp), %rax
movslq -0x14(%rbp), %rcx
addq %rdx, %rcx
movl %ecx, -0x14(%rbp)
cmpl $0x0, 0xc(%rax)
je 0x4a8e
movq -0x38(%rbp), %rax
movl -0x18(%rbp), %esi
movl 0x38(%rax), %edx
movl $0x20, %edi
callq 0x6a70
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movq -0x20(%rbp), %rdi
leaq 0x390c(%rip), %rsi      # 0x83a5
callq 0x6fb0
cmpl $0x0, %eax
je 0x4aac
movq -0x20(%rbp), %rdi
callq 0x1030
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4b22
movq -0x38(%rbp), %rax
movq -0x10(%rbp), %rdi
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x2c(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x2c(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x6e50
movq %rax, %rdi
movq -0x38(%rbp), %rax
cmpl $0x0, 0x18(%rax)
sete %cl
andb $0x1, %cl
movzbl %cl, %esi
movl 0x38(%rax), %edx
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x2c(%rax), %xmm3
movq %rsp, %rax
movups %xmm3, 0x2c(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x42a0
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
nop