// File: /workspace/github_c_makefile_star2_O0/AndreIglesias[P]quick_ls/libft/libstd/depo/.././src//c/stdio/ft_printf/aux/print_address.c
// Function: print_address
int	print_address(unsigned long p, t_flags flags, int size, int npre)
{
	int	i;
	int	nb;
	int	z;

	i = (sizeof(p) << 3) - 20;
	size = a_size(i, p, &z);
	nb = write(flags.fd, " ", 1 * (flags.space && size));
	if (!flags.minus && (!(flags.zero && !flags.precision) || !size))
		nb += ft_width(flags, size, npre);
	nb += write(flags.fd, "+", 1 * (flags.plus && size));
	if (size)
		nb += write(flags.fd, "0x", 2);
	if (!flags.minus && (flags.zero && !flags.precision) && size)
		nb += ft_zero(flags, size);
	if (size)
		nb += ft_repet_fd('0', flags.precision - size, flags.fd);
	while (size && i >= 0)
	{
		if (z-- <= 0)
			nb += ft_putchar_fd(hex_digit((p >> i) & 0xf), flags.fd);
		i -= 4;
	}
	if (flags.minus)
		nb += ft_width(flags, size, npre);
	return (nb);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl $0x2c, -0x14(%rbp)
movl -0x14(%rbp), %edi
movq -0x8(%rbp), %rsi
leaq -0x1c(%rbp), %rdx
callq 0x6410
movq -0x30(%rbp), %rcx
movl %eax, -0xc(%rbp)
movl 0x38(%rcx), %eax
movl %eax, -0x24(%rbp)
xorl %eax, %eax
cmpl $0x0, 0x10(%rcx)
movb %al, -0x1d(%rbp)
je 0x6766
cmpl $0x0, -0xc(%rbp)
setne %al
movb %al, -0x1d(%rbp)
movl -0x24(%rbp), %edi
movb -0x1d(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
shll $0x0, %eax
movslq %eax, %rdx
leaq 0x1adf(%rip), %rsi      # 0x825d
callq 0x1060
movq %rax, %rcx
movq -0x30(%rbp), %rax
movl %ecx, -0x18(%rbp)
cmpl $0x0, 0xc(%rax)
jne 0x67e3
movq -0x30(%rbp), %rax
cmpl $0x0, 0x4(%rax)
je 0x67ad
movq -0x30(%rbp), %rax
cmpl $0x0, 0x18(%rax)
jne 0x67ad
cmpl $0x0, -0xc(%rbp)
jne 0x67e3
movq -0x30(%rbp), %rax
movl -0xc(%rbp), %edi
movl -0x10(%rbp), %esi
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 0x64d0
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movq -0x30(%rbp), %rcx
movl 0x38(%rcx), %eax
movl %eax, -0x38(%rbp)
xorl %eax, %eax
cmpl $0x0, 0x8(%rcx)
movb %al, -0x31(%rbp)
je 0x6802
cmpl $0x0, -0xc(%rbp)
setne %al
movb %al, -0x31(%rbp)
movl -0x38(%rbp), %edi
movb -0x31(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
shll $0x0, %eax
movslq %eax, %rdx
leaq 0x1b41(%rip), %rsi      # 0x835b
callq 0x1060
movq %rax, %rcx
movslq -0x18(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x18(%rbp)
cmpl $0x0, -0xc(%rbp)
je 0x6857
movq -0x30(%rbp), %rax
movl 0x38(%rax), %edi
leaq 0x1b67(%rip), %rsi      # 0x83a7
movl $0x2, %edx
callq 0x1060
movq %rax, %rcx
movslq -0x18(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x18(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x0, 0xc(%rax)
jne 0x68ae
movq -0x30(%rbp), %rax
cmpl $0x0, 0x4(%rax)
je 0x68ae
movq -0x30(%rbp), %rax
cmpl $0x0, 0x18(%rax)
jne 0x68ae
cmpl $0x0, -0xc(%rbp)
je 0x68ae
movq -0x30(%rbp), %rax
movl -0xc(%rbp), %edi
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 0x66a0
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
cmpl $0x0, -0xc(%rbp)
je 0x68d1
movq -0x30(%rbp), %rax
movl 0x18(%rax), %esi
subl -0xc(%rbp), %esi
movl 0x38(%rax), %edx
movl $0x30, %edi
callq 0x6a70
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
jmp 0x68d3
xorl %eax, %eax
cmpl $0x0, -0xc(%rbp)
movb %al, -0x39(%rbp)
je 0x68e8
cmpl $0x0, -0x14(%rbp)
setge %al
movb %al, -0x39(%rbp)
movb -0x39(%rbp), %al
testb $0x1, %al
jne 0x68f1
jmp 0x6936
movl -0x1c(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x1c(%rbp)
cmpl $0x0, %eax
jg 0x692b
movq -0x8(%rbp), %rax
movl -0x14(%rbp), %ecx
shrq %cl, %rax
andq $0xf, %rax
movl %eax, %edi
callq 0x63e0
movq -0x30(%rbp), %rcx
movl 0x38(%rcx), %esi
movsbl %al, %edi
callq 0x69c0
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x14(%rbp), %eax
subl $0x4, %eax
movl %eax, -0x14(%rbp)
jmp 0x68d3
movq -0x30(%rbp), %rax
cmpl $0x0, 0xc(%rax)
je 0x6976
movq -0x30(%rbp), %rax
movl -0xc(%rbp), %edi
movl -0x10(%rbp), %esi
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 0x64d0
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)