// File: /workspace/github_c_makefile_star2_O0/thegenemyers[P]DASCRUBBER/REPqv.c
// Function: main
int main(int argc, char *argv[])
{ int c;

  //  Process arguments

  Prog_Name = Strdup("REPqv","");

  if (argc < 2)
    { fprintf(stderr,"Usage: %s %s\n",Prog_Name,Usage);
      exit (1);
    }

  //  Open trimmed DB and the qual-track

  for (c = 1; c < argc; c++)

    { DAZZ_DB    _DB, *DB  = &_DB;
      DAZZ_EXTRA ex_hgap, ex_cest, ex_qvs, ex_dif;

      //  Load DB

      { int status;

        status = Open_DB(argv[c],DB);
        if (status < 0)
          exit (1);
        if (status == 1)
          { fprintf(stderr,"%s: Cannot be called on a .dam index: %s\n",Prog_Name,argv[1]);
            exit (1);
          }
        Trim_DB(DB);
      }

      //  Get .qual track extras

      { FILE *afile;
        char *aname;
        int   extra, tracklen, size;

        afile = NULL;
        if (DB->part)
          { aname = Strdup(Catenate(DB->path,Numbered_Suffix(".",DB->part,"."),"qual",".anno"),
                           "Allocating anno file");
            if (aname == NULL)
              exit (1);
            afile = fopen(aname,"r");
            if (afile == NULL)
              { fprintf(stderr,"%s: Must have a 'qual.%d' track, run DASqv\n",Prog_Name,DB->part);
                exit (1);
              }
          }
        else
          { aname = Strdup(Catenate(DB->path,".","qual",".anno"),"Allocating anno file");
            if (aname == NULL)
              exit (1);
            afile  = fopen(aname,"r");
            if (afile == NULL)
              { fprintf(stderr,"%s: Must have a 'qual' track, run DASqv\n",Prog_Name);
                exit (1);
              }
          }

        fread(&tracklen,sizeof(int),1,afile);
        fread(&size,sizeof(int),1,afile);
        fseeko(afile,0,SEEK_END);
        extra = ftell(afile) - (size*(tracklen+1) + 2*sizeof(int));
        fseeko(afile,-extra,SEEK_END);
        ex_hgap.nelem = 0;
        if (Read_Extra(afile,aname,&ex_hgap) != 0)
          { fprintf(stderr,"%s: Hgap threshold extra missing from .qual track?\n",Prog_Name);
            exit (1);
          }
        ex_cest.nelem = 0;
        if (Read_Extra(afile,aname,&ex_cest) != 0)
          { fprintf(stderr,"%s: Coverage estimate extra missing from .qual track?\n",Prog_Name);
            exit (1);
          }
        ex_qvs.nelem = 0;
        if (Read_Extra(afile,aname,&ex_qvs) != 0)
          { fprintf(stderr,"%s: QV histogram extra missing from .qual track?\n",Prog_Name);
            exit (1);
          }
        ex_dif.nelem = 0;
        if (Read_Extra(afile,aname,&ex_dif) != 0)
          { fprintf(stderr,"%s: Differences histogram extra missing from .qual track?\n",Prog_Name);
            exit (1);
          }
        fclose(afile);
      }

      //  Generate display

      { char       *root;
        int64       nreads, totlen;
        int         hgap_min, cover;
        int64      *qgram, *sgram;
        int         maxqv;

        //  Get relevant variables

        root   = Root(argv[c],".db");
        nreads = DB->nreads;
        totlen = DB->totlen;

        hgap_min = (int) ((int64 *) (ex_hgap.value))[0];
        cover    = (int) ((int64 *) (ex_cest.value))[0];
        qgram    = (int64 *) (ex_qvs.value);
        maxqv    = ex_qvs.nelem - 1;
        sgram    = (int64 *) (ex_dif.value);

        printf("\nDASqv");
        if (hgap_min > 0)
          printf(" -H%d",hgap_min);
        printf(" -c%d %s\n\n",cover,root);

        if (hgap_min > 0) 
          { int i;

            for (i = 0; i < DB->nreads; i++)
              if (DB->reads[i].rlen < hgap_min)
                { nreads -= 1;
                  totlen -= DB->reads[i].rlen;
                }
          }

        //  Display histograms

        printf("\n  Input:  ");
        Print_Number(nreads,7,stdout);
        printf("reads,  ");
        Print_Number(totlen,12,stdout);
        printf(" bases");
        if (hgap_min > 0)
          { printf(" (another ");
            Print_Number(DB->nreads - nreads,0,stdout);
            printf(" were < H-length)");
          }
        printf("\n");

        { int64 ssum, qsum;
          int64 stotal, qtotal;
          int   qv_deep;
          int   gval, bval;
          int   i;

          stotal = qtotal = 0;
          for (i = 0; i <= maxqv; i++)
            { stotal += sgram[i];
              qtotal += qgram[i];
            }

          if (cover >= 40)
            qv_deep = cover/8;
          else if (cover >= 20)
            qv_deep = 5;
          else
            qv_deep = cover/4;

          printf("\n  Histogram of q-values (average %d best)\n",qv_deep);
          printf("\n                 Input                 QV\n");
          qsum = qgram[maxqv];
          ssum = sgram[maxqv];
          printf("\n    %2d:  %9lld  %5.1f%%    %9lld  %5.1f%%\n\n",
                 maxqv,sgram[maxqv],(100.*ssum)/stotal,qgram[maxqv],(100.*qsum)/qtotal);

          qtotal -= qsum;
          stotal -= ssum;
          ssum = qsum = 0;
          for (i = maxqv-1; i >= 0; i--)
            if (qgram[i] > 0)
              { ssum += sgram[i];
                qsum += qgram[i];
                printf("    %2d:  %9lld  %5.1f%%    %9lld  %5.1f%%\n",
                       i,sgram[i],(100.*ssum)/stotal,
                         qgram[i],(100.*qsum)/qtotal);
              }

          //  Estimate -g and -b parameters

          bval = gval = -1;
          qsum = 0;
          for (i = maxqv-1; i >= 0; i--)
            if (qgram[i] > 0)
              { qsum += qgram[i];
                if ((100.*qsum)/qtotal > 7. && bval < 0)
                  bval = i+1;
                if ((100.*qsum)/qtotal > 20. && gval < 0)
                  gval = i+1;
              }
  
          printf("\n  Recommend \'DAStrim -g%d -b%d'\n\n",gval,bval);
        }

        free(root);
        Close_DB(DB);
      }
    }

  free(Prog_Name);
  exit (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1b0, %rsp            # imm = 0x1B0
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0xcc60(%rip), %rdi      # 0xe020
leaq 0xcebe(%rip), %rsi      # 0xe285
callq 0x2070
movq %rax, %rcx
leaq 0x10f62(%rip), %rax     # 0x12338
movq %rcx, (%rax)
cmpl $0x2, -0x8(%rbp)
jge 0x1412
movq 0x10c12(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
leaq 0x10f48(%rip), %rax     # 0x12338
movq (%rax), %rdx
movq 0x10d66(%rip), %rcx     # 0x12160
leaq 0xcc25(%rip), %rsi      # 0xe026
movb $0x0, %al
callq 0x1180
movl $0x1, %edi
callq 0x1260
movl $0x1, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x1ea5
leaq -0x88(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x90(%rbp), %rsi
callq 0x3700
movl %eax, -0x114(%rbp)
cmpl $0x0, -0x114(%rbp)
jge 0x1464
movl $0x1, %edi
callq 0x1260
cmpl $0x1, -0x114(%rbp)
jne 0x14a1
movq 0x10b84(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
leaq 0x10eba(%rip), %rax     # 0x12338
movq (%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xcba4(%rip), %rsi      # 0xe034
movb $0x0, %al
callq 0x1180
movl $0x1, %edi
callq 0x1260
movq -0x90(%rbp), %rdi
callq 0x4330
movq $0x0, -0x120(%rbp)
movq -0x90(%rbp), %rax
cmpl $0x0, 0x38(%rax)
je 0x159a
movq -0x90(%rbp), %rax
movq 0x48(%rax), %rax
movq %rax, -0x1a8(%rbp)
movq -0x90(%rbp), %rax
movl 0x38(%rax), %esi
leaq 0xcdf7(%rip), %rdx      # 0xe2e3
movq %rdx, %rdi
callq 0x24b0
movq -0x1a8(%rbp), %rdi
movq %rax, %rsi
leaq 0xcb59(%rip), %rdx      # 0xe05e
leaq 0xcb57(%rip), %rcx      # 0xe063
callq 0x2360
movq %rax, %rdi
leaq 0xcb4e(%rip), %rsi      # 0xe069
callq 0x2070
movq %rax, -0x128(%rbp)
cmpq $0x0, -0x128(%rbp)
jne 0x153b
movl $0x1, %edi
callq 0x1260
movq -0x128(%rbp), %rdi
leaq 0xd8c6(%rip), %rsi      # 0xee0f
callq 0x1230
movq %rax, -0x120(%rbp)
cmpq $0x0, -0x120(%rbp)
jne 0x1595
movq 0x10a92(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
leaq 0x10dc8(%rip), %rax     # 0x12338
movq (%rax), %rdx
movq -0x90(%rbp), %rax
movl 0x38(%rax), %ecx
leaq 0xcafa(%rip), %rsi      # 0xe07e
movb $0x0, %al
callq 0x1180
movl $0x1, %edi
callq 0x1260
jmp 0x163b
movq -0x90(%rbp), %rax
movq 0x48(%rax), %rdi
leaq 0xcd37(%rip), %rsi      # 0xe2e3
leaq 0xcaab(%rip), %rdx      # 0xe05e
leaq 0xcaa9(%rip), %rcx      # 0xe063
callq 0x2360
movq %rax, %rdi
leaq 0xcaa0(%rip), %rsi      # 0xe069
callq 0x2070
movq %rax, -0x128(%rbp)
cmpq $0x0, -0x128(%rbp)
jne 0x15e9
movl $0x1, %edi
callq 0x1260
movq -0x128(%rbp), %rdi
leaq 0xd818(%rip), %rsi      # 0xee0f
callq 0x1230
movq %rax, -0x120(%rbp)
cmpq $0x0, -0x120(%rbp)
jne 0x1639
movq 0x109e4(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
leaq 0x10d1a(%rip), %rax     # 0x12338
movq (%rax), %rdx
leaq 0xca82(%rip), %rsi      # 0xe0aa
movb $0x0, %al
callq 0x1180
movl $0x1, %edi
callq 0x1260
jmp 0x163b
movq -0x120(%rbp), %rcx
leaq -0x130(%rbp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x10a0
movq -0x120(%rbp), %rcx
leaq -0x134(%rbp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x10a0
movq -0x120(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x2, %edx
callq 0x1220
movq -0x120(%rbp), %rdi
callq 0x1190
movl -0x134(%rbp), %ecx
movl -0x130(%rbp), %edx
addl $0x1, %edx
imull %edx, %ecx
movslq %ecx, %rcx
addq $0x8, %rcx
subq %rcx, %rax
movl %eax, -0x12c(%rbp)
movq -0x120(%rbp), %rdi
xorl %eax, %eax
subl -0x12c(%rbp), %eax
movslq %eax, %rsi
movl $0x2, %edx
callq 0x1220
movl $0x0, -0xac(%rbp)
movq -0x120(%rbp), %rdi
movq -0x128(%rbp), %rsi
leaq -0xb0(%rbp), %rdx
callq 0x76b0
cmpl $0x0, %eax
je 0x1729
movq 0x108f4(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
leaq 0x10c2a(%rip), %rax     # 0x12338
movq (%rax), %rdx
leaq 0xc9bb(%rip), %rsi      # 0xe0d3
movb $0x0, %al
callq 0x1180
movl $0x1, %edi
callq 0x1260
movl $0x0, -0xcc(%rbp)
movq -0x120(%rbp), %rdi
movq -0x128(%rbp), %rsi
leaq -0xd0(%rbp), %rdx
callq 0x76b0
cmpl $0x0, %eax
je 0x177e
movq 0x1089f(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
leaq 0x10bd5(%rip), %rax     # 0x12338
movq (%rax), %rdx
leaq 0xc99a(%rip), %rsi      # 0xe107
movb $0x0, %al
callq 0x1180
movl $0x1, %edi
callq 0x1260
movl $0x0, -0xec(%rbp)
movq -0x120(%rbp), %rdi
movq -0x128(%rbp), %rsi
leaq -0xf0(%rbp), %rdx
callq 0x76b0
cmpl $0x0, %eax
je 0x17d3
movq 0x1084a(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
leaq 0x10b80(%rip), %rax     # 0x12338
movq (%rax), %rdx
leaq 0xc97c(%rip), %rsi      # 0xe13e
movb $0x0, %al
callq 0x1180
movl $0x1, %edi
callq 0x1260
movl $0x0, -0x10c(%rbp)
movq -0x120(%rbp), %rdi
movq -0x128(%rbp), %rsi
leaq -0x110(%rbp), %rdx
callq 0x76b0
cmpl $0x0, %eax
je 0x1828
movq 0x107f5(%rip), %rax     # 0x11ff8
movq (%rax), %rdi
leaq 0x10b2b(%rip), %rax     # 0x12338
movq (%rax), %rdx
leaq 0xc959(%rip), %rsi      # 0xe170
movb $0x0, %al
callq 0x1180
movl $0x1, %edi
callq 0x1260
movq -0x120(%rbp), %rdi
callq 0x10b0
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0xc964(%rip), %rsi      # 0xe1ab
callq 0x2220
movq %rax, -0x140(%rbp)
movq -0x90(%rbp), %rax
movslq 0x30(%rax), %rax
movq %rax, -0x148(%rbp)
movq -0x90(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x150(%rbp)
movq -0x98(%rbp), %rax
movq (%rax), %rax
movl %eax, -0x154(%rbp)
movq -0xb8(%rbp), %rax
movq (%rax), %rax
movl %eax, -0x158(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0x160(%rbp)
movl -0xec(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x16c(%rbp)
movq -0xf8(%rbp), %rax
movq %rax, -0x168(%rbp)
leaq 0xc8e6(%rip), %rdi      # 0xe1af
movb $0x0, %al
callq 0x10f0
cmpl $0x0, -0x154(%rbp)
jle 0x18ed
movl -0x154(%rbp), %esi
leaq 0xc8d0(%rip), %rdi      # 0xe1b6
movb $0x0, %al
callq 0x10f0
movl -0x158(%rbp), %esi
movq -0x140(%rbp), %rdx
leaq 0xc8bb(%rip), %rdi      # 0xe1bc
movb $0x0, %al
callq 0x10f0
cmpl $0x0, -0x154(%rbp)
jle 0x19ad
movl $0x0, -0x170(%rbp)
movl -0x170(%rbp), %eax
movq -0x90(%rbp), %rcx
cmpl 0x30(%rcx), %eax
jge 0x19ab
movq -0x90(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x170(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x4(%rax), %eax
cmpl -0x154(%rbp), %eax
jge 0x1995
movq -0x148(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x148(%rbp)
movq -0x90(%rbp), %rax
movq 0x60(%rax), %rax
movslq -0x170(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movslq 0x4(%rax), %rcx
movq -0x150(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x150(%rbp)
jmp 0x1997
movl -0x170(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x170(%rbp)
jmp 0x191f
jmp 0x19ad
leaq 0xc813(%rip), %rdi      # 0xe1c7
movb $0x0, %al
callq 0x10f0
movq -0x148(%rbp), %rdi
movq 0x1060f(%rip), %rax     # 0x11fd8
movq (%rax), %rdx
movl $0x7, %esi
callq 0x25c0
leaq 0xc7f6(%rip), %rdi      # 0xe1d3
movb $0x0, %al
callq 0x10f0
movq -0x150(%rbp), %rdi
movq 0x105e6(%rip), %rax     # 0x11fd8
movq (%rax), %rdx
movl $0xc, %esi
callq 0x25c0
leaq 0xc7d6(%rip), %rdi      # 0xe1dc
movb $0x0, %al
callq 0x10f0
cmpl $0x0, -0x154(%rbp)
jle 0x1a55
leaq 0xc7c6(%rip), %rdi      # 0xe1e3
movb $0x0, %al
callq 0x10f0
movq -0x90(%rbp), %rax
movslq 0x30(%rax), %rdi
subq -0x148(%rbp), %rdi
movq 0x1059b(%rip), %rax     # 0x11fd8
movq (%rax), %rdx
xorl %esi, %esi
callq 0x25c0
leaq 0xc7a0(%rip), %rdi      # 0xe1ee
movb $0x0, %al
callq 0x10f0
leaq 0xc828(%rip), %rdi      # 0xe284
movb $0x0, %al
callq 0x10f0
movq $0x0, -0x190(%rbp)
movq $0x0, -0x188(%rbp)
movl $0x0, -0x1a0(%rbp)
movl -0x1a0(%rbp), %eax
cmpl -0x16c(%rbp), %eax
jg 0x1ae2
movq -0x168(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
addq -0x188(%rbp), %rax
movq %rax, -0x188(%rbp)
movq -0x160(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
addq -0x190(%rbp), %rax
movq %rax, -0x190(%rbp)
movl -0x1a0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a0(%rbp)
jmp 0x1a83
cmpl $0x28, -0x158(%rbp)
jl 0x1b01
movl -0x158(%rbp), %eax
movl $0x8, %ecx
cltd
idivl %ecx
movl %eax, -0x194(%rbp)
jmp 0x1b2c
cmpl $0x14, -0x158(%rbp)
jl 0x1b16
movl $0x5, -0x194(%rbp)
jmp 0x1b2a
movl -0x158(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, -0x194(%rbp)
jmp 0x1b2c
movl -0x194(%rbp), %esi
leaq 0xc6c7(%rip), %rdi      # 0xe200
movb $0x0, %al
callq 0x10f0
leaq 0xc6e5(%rip), %rdi      # 0xe22c
movb $0x0, %al
callq 0x10f0
movq -0x160(%rbp), %rax
movslq -0x16c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x180(%rbp)
movq -0x168(%rbp), %rax
movslq -0x16c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x178(%rbp)
movl -0x16c(%rbp), %esi
movq -0x168(%rbp), %rax
movslq -0x16c(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
cvtsi2sdq -0x178(%rbp), %xmm1
movsd 0xc45f(%rip), %xmm0     # 0xe008
mulsd %xmm1, %xmm0
cvtsi2sdq -0x188(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x160(%rbp), %rax
movslq -0x16c(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
cvtsi2sdq -0x180(%rbp), %xmm2
movsd 0xc42b(%rip), %xmm1     # 0xe008
mulsd %xmm2, %xmm1
cvtsi2sdq -0x190(%rbp), %xmm2
divsd %xmm2, %xmm1
leaq 0xc663(%rip), %rdi      # 0xe258
movb $0x2, %al
callq 0x10f0
movq -0x180(%rbp), %rcx
movq -0x190(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x190(%rbp)
movq -0x178(%rbp), %rcx
movq -0x188(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x188(%rbp)
movq $0x0, -0x180(%rbp)
movq $0x0, -0x178(%rbp)
movl -0x16c(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x1a0(%rbp)
cmpl $0x0, -0x1a0(%rbp)
jl 0x1d49
movq -0x160(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jle 0x1d33
movq -0x168(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
addq -0x178(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x160(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
addq -0x180(%rbp), %rax
movq %rax, -0x180(%rbp)
movl -0x1a0(%rbp), %esi
movq -0x168(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
cvtsi2sdq -0x178(%rbp), %xmm1
movsd 0xc328(%rip), %xmm0     # 0xe008
mulsd %xmm1, %xmm0
cvtsi2sdq -0x188(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x160(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
cvtsi2sdq -0x180(%rbp), %xmm2
movsd 0xc2f4(%rip), %xmm1     # 0xe008
mulsd %xmm2, %xmm1
cvtsi2sdq -0x190(%rbp), %xmm2
divsd %xmm2, %xmm1
leaq 0xc55a(%rip), %rdi      # 0xe286
movb $0x2, %al
callq 0x10f0
jmp 0x1d35
movl -0x1a0(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1a0(%rbp)
jmp 0x1c51
movl $0xffffffff, -0x198(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x19c(%rbp) # imm = 0xFFFFFFFF
movq $0x0, -0x180(%rbp)
movl -0x16c(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x1a0(%rbp)
cmpl $0x0, -0x1a0(%rbp)
jl 0x1e65
movq -0x160(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jle 0x1e4f
movq -0x160(%rbp), %rax
movslq -0x1a0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
addq -0x180(%rbp), %rax
movq %rax, -0x180(%rbp)
cvtsi2sdq -0x180(%rbp), %xmm1
movsd 0xc23a(%rip), %xmm0     # 0xe008
mulsd %xmm1, %xmm0
cvtsi2sdq -0x190(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd 0xc229(%rip), %xmm1     # 0xe010
ucomisd %xmm1, %xmm0
jbe 0x1e05
cmpl $0x0, -0x19c(%rbp)
jge 0x1e05
movl -0x1a0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x19c(%rbp)
cvtsi2sdq -0x180(%rbp), %xmm1
movsd 0xc1f2(%rip), %xmm0     # 0xe008
mulsd %xmm1, %xmm0
cvtsi2sdq -0x190(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd 0xc1e9(%rip), %xmm1     # 0xe018
ucomisd %xmm1, %xmm0
jbe 0x1e4d
cmpl $0x0, -0x198(%rbp)
jge 0x1e4d
movl -0x1a0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x198(%rbp)
jmp 0x1e4f
jmp 0x1e51
movl -0x1a0(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1a0(%rbp)
jmp 0x1d77
movl -0x198(%rbp), %esi
movl -0x19c(%rbp), %edx
leaq 0xc43a(%rip), %rdi      # 0xe2b2
movb $0x0, %al
callq 0x10f0
movq -0x140(%rbp), %rdi
callq 0x1030
movq -0x90(%rbp), %rdi
callq 0x5050
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x1419
leaq 0x1048c(%rip), %rax     # 0x12338
movq (%rax), %rdi
callq 0x1030
xorl %edi, %edi
callq 0x1260
nopl (%rax,%rax)