// File: /workspace/github_c_makefile_star2_O0/MikeyLHolm[P]Hive-lem-in/libftprintf/srcs/print_p.c
// Function: print_p
t_tags			*print_p(t_tags *ids)
{
	uintmax_t	ptr;
	char		*str;

	ptr = (unsigned long)va_arg(ids->arguments, unsigned long int);
	str = imaxtoa_base(ptr, 16);
	if (ids->minwth > 0 && ids->current_flag[4] != '-')
		minwth_print(ids, ft_strlen(str) + 2);
	ft_putstr("0x");
	if (ids->period == 1 && ids->maxwth == 0 && ptr == 0)
	{
		ids->printed_chars += 2;
		period_zero(ids);
		return (ids);
	}
	if ((ids->current_flag[1] == '0' && ft_strlen(str) + 2 < ids->minwth &&
	ids->minwth > 0) || (ids->period == 1 && ids->maxwth > ft_strlen(str)))
		put_zero_p(ids, ft_strlen(str));
	ft_putstr(str);
	ids->printed_chars += ft_strlen(str) + 2;
	if (ids->current_flag[4] == '-' && ((ids->maxwth >= ft_strlen(str) + 2
	&& ids->period == 1) || ids->minwth > 0))
		minwth_print(ids, ft_strlen(str) + 2);
	free(str);
	return (ids);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, %rcx
addq $0x68, %rcx
movq %rcx, -0x30(%rbp)
movl 0x68(%rax), %eax
movl %eax, -0x24(%rbp)
cmpl $0x28, %eax
ja 0x861f
movq -0x30(%rbp), %rcx
movl -0x24(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x38(%rbp)
jmp 0x8636
movq -0x30(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movl $0x10, %esi
callq 0x9480
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jbe 0x868c
movq -0x10(%rbp), %rax
movsbl 0x5c(%rax), %eax
cmpl $0x2d, %eax
je 0x868c
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rdi
callq 0x71c0
movq -0x40(%rbp), %rdi
movq %rax, %rsi
addq $0x2, %rsi
callq 0xac00
leaq 0x4367(%rip), %rdi      # 0xc9fa
callq 0x6e40
movq -0x10(%rbp), %rax
cmpq $0x1, 0x18(%rax)
jne 0x86db
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x86db
cmpq $0x0, -0x18(%rbp)
jne 0x86db
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rcx
addq $0x2, %rcx
movq %rcx, 0x30(%rax)
movq -0x10(%rbp), %rdi
callq 0xa320
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x87f2
movq -0x10(%rbp), %rax
movsbl 0x59(%rax), %eax
cmpl $0x30, %eax
jne 0x870a
movq -0x20(%rbp), %rdi
callq 0x71c0
addq $0x2, %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x870a
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
ja 0x8736
movq -0x10(%rbp), %rax
cmpq $0x1, 0x18(%rax)
jne 0x8753
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x20(%rbp), %rdi
callq 0x71c0
movq %rax, %rcx
movq -0x48(%rbp), %rax
cmpq %rcx, %rax
jbe 0x8753
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x20(%rbp), %rdi
callq 0x71c0
movq -0x50(%rbp), %rdi
movq %rax, %rsi
callq 0xa8e0
movq -0x20(%rbp), %rdi
callq 0x6e40
movq -0x20(%rbp), %rdi
callq 0x71c0
movq %rax, %rcx
addq $0x2, %rcx
movq -0x10(%rbp), %rax
addq 0x30(%rax), %rcx
movq %rcx, 0x30(%rax)
movq -0x10(%rbp), %rax
movsbl 0x5c(%rax), %eax
cmpl $0x2d, %eax
jne 0x87e1
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x20(%rbp), %rdi
callq 0x71c0
movq %rax, %rcx
movq -0x58(%rbp), %rax
addq $0x2, %rcx
cmpq %rcx, %rax
jb 0x87b5
movq -0x10(%rbp), %rax
cmpq $0x1, 0x18(%rax)
je 0x87c0
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jbe 0x87e1
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x20(%rbp), %rdi
callq 0x71c0
movq -0x60(%rbp), %rdi
movq %rax, %rsi
addq $0x2, %rsi
callq 0xac00
movq -0x20(%rbp), %rdi
callq 0x1030
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)