// File: /workspace/github_c_makefile_star2_O0/pencode-lab[P]Shoit/shoit_progress.c
// Function: shoit_progress_show_all
void shoit_progress_show_all(FILE *fp,progress_t *progress, float bit,long total)               
{                                                                                                                                    
                                                                                                                                     
                                                                                                                                     
    int val = (int)(bit * progress->max);                                                                                                 
    char buffer[512]={0};                                                                                                            

    float mbps = 1e-6 * 8*progress->total / (progress->utime == 0 ? .01 : progress->utime);
                                                                                                                                     
    memset(buffer,0,512);                                                                                                            
    snprintf(buffer,sizeof(buffer)-1,"%gMbps    %ld/%ldK    %.2fs    ",mbps,progress->total>>10,total,progress->utime);                                        
                                                                                                                                     
    int prog = (int)(progress->offset * val);                                                                                             
                                                                                                                                     
    if(prog>100) prog=100;                                                                                                           
                                                                                                                                     
    fprintf(fp,"\033[?25l\033[31m\033[1m%s%d%%\033[?25h\033[0m\r",                                                                   
        buffer, prog);                                                                                                               
    fflush(fp);                                                                                                                      
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x250, %rsp            # imm = 0x250
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movss %xmm0, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movss -0x14(%rbp), %xmm0
movq -0x10(%rbp), %rax
cvtsi2ssl 0x14(%rax), %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, -0x24(%rbp)
leaq -0x230(%rbp), %rdi
xorl %esi, %esi
movl $0x200, %edx            # imm = 0x200
callq 0x21a0
movq -0x10(%rbp), %rax
movq 0x28(%rax), %xmm1
movaps 0x5198(%rip), %xmm0     # 0x9600
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movapd 0x519c(%rip), %xmm0     # 0x9610
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0x515d(%rip), %xmm0     # 0x95e8
mulsd %xmm1, %xmm0
movsd %xmm0, -0x240(%rbp)
movq -0x10(%rbp), %rax
movss 0x30(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x44bc
jp 0x44bc
movsd 0x513e(%rip), %xmm0     # 0x95f0
movsd %xmm0, -0x248(%rbp)
jmp 0x44d1
movq -0x10(%rbp), %rax
movss 0x30(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x248(%rbp)
movsd -0x240(%rbp), %xmm0
movsd -0x248(%rbp), %xmm1
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x234(%rbp)
leaq -0x230(%rbp), %rdi
xorl %esi, %esi
movl $0x200, %edx            # imm = 0x200
callq 0x21a0
leaq -0x230(%rbp), %rdi
movss -0x234(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rcx
shrq $0xa, %rcx
movq -0x20(%rbp), %r8
movq -0x10(%rbp), %rax
movss 0x30(%rax), %xmm1
cvtss2sd %xmm1, %xmm1
movl $0x1ff, %esi            # imm = 0x1FF
leaq 0x5153(%rip), %rdx      # 0x9693
movb $0x2, %al
callq 0x2140
movq -0x10(%rbp), %rax
movss 0x18(%rax), %xmm0
cvtsi2ssl -0x24(%rbp), %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %eax
movl %eax, -0x238(%rbp)
cmpl $0x64, -0x238(%rbp)
jle 0x4576
movl $0x64, -0x238(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x230(%rbp), %rdx
movl -0x238(%rbp), %ecx
leaq 0x5092(%rip), %rsi      # 0x9620
movb $0x0, %al
callq 0x2250
movq -0x8(%rbp), %rdi
callq 0x22f0
addq $0x250, %rsp            # imm = 0x250
popq %rbp
retq
nopw (%rax,%rax)