// File: /workspace/github_c_makefile_star2_O0/yhg926[P]public_kssd/global_basic.c
// Function: get_bin_basename_stat
bin_stat_t * get_bin_basename_stat( infile_entry_t* organized_infile_tab, int *shuffle_arr,int binsz)
{
 bin_stat_t *ret = malloc(sizeof(bin_stat_t));
 ret->seqfilebasename = malloc( binsz * BASENAME_LEN );
 llong fsize;
 ret->est_kmc_bf_dr = 0;
 char *fullname,*filename;
 char suftmp[10];
 char cp_filename[BASENAME_LEN];
  int compress_fmt_count = sizeof(compress_fmt)/sizeof(compress_fmt[0]) ;
 int acpt_infile_fmt_count = sizeof(acpt_infile_fmt)/sizeof(acpt_infile_fmt[0]);
 int basename_len;
 for(int i=0; i < binsz; i++){
  fsize = organized_infile_tab[shuffle_arr[i]].fsize;
  fullname = organized_infile_tab[shuffle_arr[i]].fpath;
  (filename = strrchr(fullname,'/') ) ? ++filename : (filename = fullname);
  if( strlen(filename) > BASENAME_LEN)
   err(errno,"input filename:%s excess %d ",filename,BASENAME_LEN);
  strcpy(cp_filename,filename);
  for(int j = 0; j < compress_fmt_count;j++ ){
   basename_len = strlen(filename) - strlen(compress_fmt[j]);
   if( strcmp( ( filename + basename_len ),compress_fmt[j]) == 0 ){
    strcpy( ret->seqfilebasename[i],filename);
    *(cp_filename + basename_len) = '\0';
    fsize *= GZCOMPRESS_RATE;
    break;
   };
  };
  for(int j = 0; j < acpt_infile_fmt_count; j++){
   sprintf(suftmp,".%s",acpt_infile_fmt[j]);
   basename_len = strlen(cp_filename) - strlen(suftmp);
   if( strcmp( (cp_filename + basename_len ), suftmp ) == 0 ){
    if( isOK_fmt_infile(cp_filename,fastq_fmt,FQ_FMT_SZ) )
     fsize = fsize / 2 ;
    else if( isOK_fmt_infile(cp_filename, co_fmt,CO_FMT_SZ ) )
     fsize = fsize / sizeof(llong) ;
    *(cp_filename + basename_len) = '\0';
    break;
   }
  };
  ret->est_kmc_bf_dr += fsize;
  strcpy(ret->seqfilebasename[i],cp_filename);
 };
 return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl $0x18, %edi
callq 0x3310
movq %rax, -0x20(%rbp)
movl -0x14(%rbp), %eax
shll $0x7, %eax
movslq %eax, %rdi
callq 0x3310
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
movq $0x0, (%rax)
movl $0x2, -0xd4(%rbp)
movl $0x7, -0xd8(%rbp)
movl $0x0, -0xe0(%rbp)
movl -0xe0(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x17962
movq -0x8(%rbp), %rax
movq -0x10(%rbp), %rcx
movslq -0xe0(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq -0x10(%rbp), %rcx
movslq -0xe0(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
movl $0x2f, %esi
callq 0x31b0
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0x176fe
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x17706
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x3110
cmpq $0x80, %rax
jbe 0x17735
callq 0x3050
movl (%rax), %edi
movq -0x38(%rbp), %rdx
leaq 0x76a4(%rip), %rsi      # 0x1edcd
movl $0x80, %ecx
movb $0x0, %al
callq 0x3300
leaq -0xd0(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x3070
movl $0x0, -0xe4(%rbp)
movl -0xe4(%rbp), %eax
cmpl -0xd4(%rbp), %eax
jge 0x17814
movq -0x38(%rbp), %rdi
callq 0x3110
movq %rax, -0xf0(%rbp)
movslq -0xe4(%rbp), %rcx
leaq 0xc871(%rip), %rax      # 0x23ff0
movq (%rax,%rcx,8), %rdi
callq 0x3110
movq %rax, %rcx
movq -0xf0(%rbp), %rax
subq %rcx, %rax
movl %eax, -0xdc(%rbp)
movq -0x38(%rbp), %rdi
movslq -0xdc(%rbp), %rax
addq %rax, %rdi
movslq -0xe4(%rbp), %rcx
leaq 0xc839(%rip), %rax      # 0x23ff0
movq (%rax,%rcx,8), %rsi
callq 0x3280
cmpl $0x0, %eax
jne 0x177fe
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
movslq -0xe0(%rbp), %rax
shlq $0x7, %rax
addq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0x3070
movslq -0xdc(%rbp), %rax
movb $0x0, -0xd0(%rbp,%rax)
imulq $0x5, -0x28(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x17814
jmp 0x17800
movl -0xe4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe4(%rbp)
jmp 0x1774f
movl $0x0, -0xe8(%rbp)
movl -0xe8(%rbp), %eax
cmpl -0xd8(%rbp), %eax
jge 0x1791e
leaq -0x42(%rbp), %rdi
movslq -0xe8(%rbp), %rcx
leaq 0xc72e(%rip), %rax      # 0x23f70
movq (%rax,%rcx,8), %rdx
leaq 0x4ac7(%rip), %rsi      # 0x1c314
movb $0x0, %al
callq 0x3400
leaq -0xd0(%rbp), %rdi
callq 0x3110
movq %rax, -0xf8(%rbp)
leaq -0x42(%rbp), %rdi
callq 0x3110
movq %rax, %rcx
movq -0xf8(%rbp), %rax
subq %rcx, %rax
movl %eax, -0xdc(%rbp)
leaq -0xd0(%rbp), %rdi
movslq -0xdc(%rbp), %rax
addq %rax, %rdi
leaq -0x42(%rbp), %rsi
callq 0x3280
cmpl $0x0, %eax
jne 0x17908
leaq -0xd0(%rbp), %rdi
leaq 0xc720(%rip), %rsi      # 0x23fd0
movl $0x2, %edx
callq 0x16d60
cmpl $0x0, %eax
je 0x178cc
movq -0x28(%rbp), %rax
shrq %rax
movq %rax, -0x28(%rbp)
jmp 0x178f7
leaq -0xd0(%rbp), %rdi
leaq 0xc706(%rip), %rsi      # 0x23fe0
movl $0x1, %edx
callq 0x16d60
cmpl $0x0, %eax
je 0x178f5
movq -0x28(%rbp), %rax
shrq $0x3, %rax
movq %rax, -0x28(%rbp)
jmp 0x178f7
movslq -0xdc(%rbp), %rax
movb $0x0, -0xd0(%rbp,%rax)
jmp 0x1791e
jmp 0x1790a
movl -0xe8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe8(%rbp)
jmp 0x1781e
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
addq (%rax), %rcx
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rdi
movslq -0xe0(%rbp), %rax
shlq $0x7, %rax
addq %rax, %rdi
leaq -0xd0(%rbp), %rsi
callq 0x3070
movl -0xe0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0x17686
movq -0x20(%rbp), %rax
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
nop