// File: /workspace/github_c_makefile_star2_O2/AugustinLopez[P]Fancy_Ft_Malloc/minilibft/printf/pf_double.c
// Function: pf_putdouble
void				pf_putdouble(t_printf *pf)
{
	char	*str;

	pf_load_string(pf, &str);
	if (str && str[0] == '-' && minus_edge_case(pf, str))
		return ;
	(pf->flag & (F_NEGATIF | F_PLUS | F_SPACE)) ? --pf->length : 0;
	pf->padding = pf->length - pf->precision;
	!(pf->flag & F_ZERO) ? pf_padding(pf, 0) : 0;
	(pf->flag & (F_NEGATIF | F_PLUS | F_SPACE)) ? pf_sign(pf) : 0;
	((pf->flag & F_ZERO)) ? pf_padding(pf, 0) : 0;
	pf->padding = pf->precision - pf->printed;
	str ? pf_buffer_write(pf, str, pf->printed) : 0;
	pf->option_padding = 1;
	str ? pf_padding(pf, 0) : 0;
	pf->option_padding = 0;
	pf->padding = pf->length - pf->precision;
	pf_padding(pf, 1);
	if (str)
		free(str);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movl 0x90(%rdi), %esi
btl $0x15, %esi
jb 0x6713
pushq $0x6
popq %rax
jmp 0x6716
movl 0x8(%rbx), %eax
movl %eax, 0x8(%rbx)
btl $0x14, %esi
jb 0x673a
movl 0x6c(%rbx), %edx
cmpq $0xa0, %rdx
ja 0x676d
movq %rdx, %rcx
addq 0x78(%rbx), %rcx
addl $0x10, %edx
movl %edx, 0x6c(%rbx)
jmp 0x6779
movq 0x70(%rbx), %rcx
addq $0xf, %rcx
andq $-0x10, %rcx
leaq 0x10(%rcx), %rdx
movq %rdx, 0x70(%rbx)
fldt (%rcx)
fld %st(0)
fchs
fucomi %st(1), %st
seta %r15b
fxch %st(1)
fcmovnbe %st(1), %st
fstp %st(1)
movslq %eax, %rdi
fstpt (%rsp)
callq 0x3640
jmp 0x679d
movq 0x70(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x70(%rbx)
movsd (%rcx), %xmm1
movapd 0x1bfb(%rip), %xmm0     # 0x8380
xorpd %xmm1, %xmm0
ucomisd %xmm1, %xmm0
seta %r15b
maxsd %xmm1, %xmm0
movslq %eax, %rdi
callq 0x30b0
movq %rax, %r14
movzbl %r15b, %eax
shll $0x1f, %eax
orl %eax, 0x90(%rbx)
pushq $0x2e
popq %rsi
movq %r14, %rdi
callq 0x35b0
movq %rax, %r15
movslq %r15d, %r12
leaq (%r14,%r12), %rdi
callq 0x3140
addl %r15d, %eax
movl %eax, 0x18(%rbx)
testl %r12d, %r12d
je 0x67d9
addl 0x8(%rbx), %r15d
movl %r15d, %eax
movl %eax, 0x8(%rbx)
testq %r14, %r14
je 0x688b
cmpb $0x2d, (%r14)
jne 0x688b
cmpb $0x30, 0x1(%r14)
jne 0x6881
movl 0x4(%rbx), %ecx
movl 0x90(%rbx), %edx
subl %eax, %ecx
movl %ecx, 0x14(%rbx)
movl %edx, %eax
orl $0x80000000, %eax       # imm = 0x80000000
movl %eax, 0x90(%rbx)
btl $0x18, %edx
jb 0x6825
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3430
leaq 0x1(%r14), %r15
movq %rbx, %rdi
callq 0x32e0
testb $0x1, 0x93(%rbx)
je 0x6844
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3430
movl 0x8(%rbx), %eax
movslq 0x18(%rbx), %rdx
subl %edx, %eax
movl %eax, 0x14(%rbx)
decq %rdx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3500
movl $0x1, 0x1c(%rbx)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3430
andl $0x0, 0x1c(%rbx)
movl 0x4(%rbx), %eax
subl 0x8(%rbx), %eax
movl %eax, 0x14(%rbx)
jmp 0x6926
andl $0x7d7fffff, 0x90(%rbx) # imm = 0x7D7FFFFF
movl 0x4(%rbx), %esi
movl 0x90(%rbx), %ecx
movl %ecx, %edx
andl $0x82800000, %edx       # imm = 0x82800000
je 0x68a3
decl %esi
movl %esi, 0x4(%rbx)
subl %eax, %esi
movl %esi, 0x14(%rbx)
btl $0x18, %ecx
jb 0x68c6
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3430
movl 0x90(%rbx), %ecx
movl %ecx, %edx
andl $0x82800000, %edx       # imm = 0x82800000
testl %edx, %edx
je 0x68d8
movq %rbx, %rdi
callq 0x32e0
movl 0x90(%rbx), %ecx
btl $0x18, %ecx
jae 0x68e8
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3430
movl 0x8(%rbx), %eax
movslq 0x18(%rbx), %rdx
movl %eax, %ecx
subl %edx, %ecx
movl %ecx, 0x14(%rbx)
testq %r14, %r14
je 0x691a
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3500
movl $0x1, 0x1c(%rbx)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x3430
movl 0x8(%rbx), %eax
andl $0x0, 0x1c(%rbx)
movl 0x4(%rbx), %ecx
subl %eax, %ecx
movl %ecx, 0x14(%rbx)
pushq $0x1
popq %rsi
movq %rbx, %rdi
callq 0x3430
movq %r14, %rdi
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x3110
nopl (%rax)