// File: /workspace/github_c_makefile_star2_O3/AugustinLopez[P]Fancy_Ft_Malloc/minilibft/printf/pf_number.c
// Function: pf_putnbr
void				pf_putnbr(t_printf *pf)
{
	intmax_t	n;

	if (pf->flag & F_1LONG)
		n = (intmax_t)va_arg(pf->ap, long);
	else if (pf->flag & F_2LONG)
		n = (intmax_t)va_arg(pf->ap, long long);
	else if (pf->flag & F_1SHORT)
		n = (short)va_arg(pf->ap, int);
	else if (pf->flag & F_2SHORT)
		n = (char)va_arg(pf->ap, int);
	else if (pf->flag & F_INTMAX)
		n = (intmax_t)va_arg(pf->ap, intmax_t);
	else if (pf->flag & F_SIZE_T)
		n = (intmax_t)va_arg(pf->ap, ssize_t);
	else
		n = (intmax_t)va_arg(pf->ap, int);
	if (pf->flag & F_DOT)
		pf->flag &= ~F_ZERO;
	if (n < 0 && (pf->flag |= F_NEGATIF))
		n = -n;
	pf->printed = 1;
	pf_itoa((uintmax_t)n, pf);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movl 0x90(%rdi), %eax
btl $0x10, %eax
jb 0x5b35
btl $0x11, %eax
jb 0x5b35
btl $0x12, %eax
jb 0x5d21
btl $0x13, %eax
jb 0x5d39
btl $0x1d, %eax
jb 0x5b35
btl $0x1e, %eax
movl 0x68(%rbx), %ecx
jb 0x5d7b
cmpl $0x28, %ecx
ja 0x5d8f
movq %rcx, %rdx
addq 0x78(%rbx), %rdx
addl $0x8, %ecx
movl %ecx, 0x68(%rbx)
jmp 0x5d9b
movl 0x68(%rbx), %edx
cmpq $0x28, %rdx
ja 0x5b4d
movq %rdx, %rcx
addq 0x78(%rbx), %rcx
addl $0x8, %edx
movl %edx, 0x68(%rbx)
jmp 0x5b59
movq 0x70(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x70(%rbx)
movq (%rcx), %rdi
movl %eax, %ecx
andl $0xfeffffff, %ecx       # imm = 0xFEFFFFFF
testl $0x200000, %eax         # imm = 0x200000
cmovel %eax, %ecx
movl %ecx, %esi
orl $0x80000000, %esi       # imm = 0x80000000
testq %rdi, %rdi
cmovnsl %ecx, %esi
movq %rdi, %r14
negq %r14
cmovsq %rdi, %r14
testl $0x200000, %eax         # imm = 0x200000
jne 0x5b90
testq %rdi, %rdi
jns 0x5b96
movl %esi, 0x90(%rbx)
movl $0x1, 0x18(%rbx)
cmpq $0xa, %r14
jae 0x5bb0
movl $0x1, %eax
btl $0x1b, %esi
jb 0x5bfb
jmp 0x5c02
xorl %r8d, %r8d
movabsq $-0x3333333333333333, %r9 # imm = 0xCCCCCCCCCCCCCCCD
movq %r14, %rcx
movq %rcx, %rax
mulq %r9
shrq $0x3, %rdx
incl %r8d
cmpq $0x63, %rcx
movq %rdx, %rcx
ja 0x5bc0
leal 0x1(%r8), %eax
movl %eax, 0x18(%rbx)
btl $0x1b, %esi
jae 0x5c02
cmpl $0x3, %r8d
jb 0x5bfb
movl %r8d, %edx
movl $0xaaaaaaab, %ecx       # imm = 0xAAAAAAAB
imulq %rdx, %rcx
shrq $0x21, %rcx
jmp 0x5bfd
xorl %ecx, %ecx
addl %ecx, %eax
movl %eax, 0x18(%rbx)
testq %rdi, %rdi
jne 0x5c1b
movl %esi, %ecx
andl $0x200000, %ecx         # imm = 0x200000
je 0x5c1b
cmpl $0x0, 0x8(%rbx)
je 0x5ce4
movl %esi, %ecx
andl $0x82800000, %ecx       # imm = 0x82800000
je 0x5c28
decl 0x4(%rbx)
movl 0x8(%rbx), %edx
cmpl %eax, %edx
jge 0x5c34
movl %eax, 0x8(%rbx)
movl %eax, %edx
movl 0x4(%rbx), %eax
subl %edx, %eax
movl %eax, 0x14(%rbx)
btl $0x18, %esi
jb 0x5c5a
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3440
movl 0x90(%rbx), %esi
movl %esi, %ecx
andl $0x82800000, %ecx       # imm = 0x82800000
testl %ecx, %ecx
je 0x5c6c
movq %rbx, %rdi
callq 0x3300
movl 0x90(%rbx), %esi
btl $0x18, %esi
jae 0x5c7c
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3440
movl 0x8(%rbx), %eax
subl 0x18(%rbx), %eax
movl %eax, 0x14(%rbx)
movl $0x1, 0x1c(%rbx)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3440
movl $0x0, 0x1c(%rbx)
leaq -0x60(%rbp), %r15
movq %r14, %rdi
movl $0xa, %esi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x3050
movslq 0x18(%rbx), %rdx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3510
movl 0x4(%rbx), %eax
subl 0x8(%rbx), %eax
movl %eax, 0x14(%rbx)
movq %rbx, %rdi
movl $0x1, %esi
callq 0x3440
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl 0x4(%rbx), %eax
movl %eax, 0x14(%rbx)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3440
movzwl 0x92(%rbx), %eax
testl $0x8280, %eax           # imm = 0x8280
je 0x5d0a
movq %rbx, %rdi
callq 0x3300
movq %rbx, %rdi
movl $0x1, %esi
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x3440
movl 0x68(%rbx), %edx
cmpq $0x28, %rdx
ja 0x5d51
movq %rdx, %rcx
addq 0x78(%rbx), %rcx
addl $0x8, %edx
movl %edx, 0x68(%rbx)
jmp 0x5d5d
movl 0x68(%rbx), %edx
cmpq $0x28, %rdx
ja 0x5d66
movq %rdx, %rcx
addq 0x78(%rbx), %rcx
addl $0x8, %edx
movl %edx, 0x68(%rbx)
jmp 0x5d72
movq 0x70(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x70(%rbx)
movswq (%rcx), %rdi
jmp 0x5b5c
movq 0x70(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x70(%rbx)
movsbq (%rcx), %rdi
jmp 0x5b5c
cmpl $0x28, %ecx
ja 0x5da3
movq 0x78(%rbx), %rdx
addq %rcx, %rdx
addl $0x8, %ecx
movl %ecx, 0x68(%rbx)
jmp 0x5daf
movq 0x70(%rbx), %rdx
leaq 0x8(%rdx), %rcx
movq %rcx, 0x70(%rbx)
movslq (%rdx), %rdi
jmp 0x5b5c
movq 0x70(%rbx), %rdx
leaq 0x8(%rdx), %rcx
movq %rcx, 0x70(%rbx)
movq (%rdx), %rdi
jmp 0x5b5c