// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/eps.c
// Function: export_image_as_eps
void export_image_as_eps(char* fname)
{
 /*!Last Changed 04.02.2008 added namedpoint*/
 /*!Last Changed 27.12.2007 added error_histogram_plot*/
 /*!Last Changed 20.09.2006 added save_legend and save_axes*/
 /*!Last Changed 14.09.2006*/
 /*!Last Changed 11.07.2005 added mean variance plot and boxplot*/
 /*!Last Changed 23.01.2005*/
 char st[100];
 FILE* myfile;
 int i, j, posx, posx2, posy, posy2, posy3, posy4, posy5, xgroupcount, xgroupwidth, ygroupcount, ygroupwidth, diff, groupindex, index, elementcount, radius;
 double barwidth, barheight;
 int* groupdone;
 Line l;
 String s;
 Rectangle r;
 Circle ci;
 if (!img.xaxis.limitsset || !img.yaxis.limitsset)
   check_axis_ranges();
 myfile = fopen(fname, "w");
 if (!myfile)
   return;
 write_image_header(myfile, img.width, img.height);
 setcolor(myfile, BLACK);
 save_axes(myfile);
 setcolor(myfile, BLACK);
 save_legend(myfile);
 fprintf(myfile, "stroke\n");
 qsort(img.objects, img.objectcount, sizeof(Object), sort_function_image_object_ascending);
 xgroupcount = img.xaxis.namesavailable;
 ygroupcount = img.yaxis.namesavailable;
 groupdone = safecalloc(ygroupcount, sizeof(int), "export_image_as_eps", 18);
 for (i = 0; i < img.objectcount; i++)
  {   
   groupindex = img.objects[i].groupindex;
   index = img.objects[i].index;
   elementcount = object_count(img.objects[i].type, groupindex);
   switch (img.objects[i].type)
    {
     case OBJECT_LINE      :if (i == 0 || img.objects[i].fnt.fontcolor != img.objects[i - 1].fnt.fontcolor || img.objects[i].fnt.fontsize != img.objects[i - 1].fnt.fontsize)
                             {
                              setcolor(myfile, img.objects[i].fnt.fontcolor);
                              setlinewidth(myfile, img.objects[i].fnt.fontsize);
                             }
                            l = img.objects[i].obje.li;
                            posx = return_pos(l.upleft.x, MARGIN, epsaxis + MARGIN, img.xaxis.lim.min, img.xaxis.lim.max);
                            posy = return_pos(l.upleft.y, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posx2 = return_pos(l.downright.x, MARGIN, epsaxis + MARGIN, img.xaxis.lim.min, img.xaxis.lim.max);
                            posy2 = return_pos(l.downright.y, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            if (img.objects[i].fnt.dashedtype == SOLID_LINE)
                              write_line(myfile, posx, posy, posx2, posy2);
                            else
                              write_dashed_line(myfile, posx, posy, posx2, posy2, img.objects[i].fnt.dashedtype);
                            break;
     case OBJECT_CIRCLE    :ci = img.objects[i].obje.ci;
                            posx = return_pos(ci.center.x, MARGIN, epsaxis + MARGIN, img.xaxis.lim.min, img.xaxis.lim.max);
                            posy = return_pos(ci.center.y, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            radius = ci.radius;
                            write_circle(myfile, posx, posy, radius);
                            break;
     case OBJECT_POINT     :
     case OBJECT_STRING    :if (i == 0 || img.objects[i].fnt.fontcolor != img.objects[i - 1].fnt.fontcolor || img.objects[i].fnt.fontsize != img.objects[i - 1].fnt.fontsize)
                              setfont(myfile, img.objects[i].fnt);
                            s = img.objects[i].obje.st;
                            posx = return_pos(s.p.x, MARGIN, epsaxis + MARGIN, img.xaxis.lim.min, img.xaxis.lim.max);
                            if (img.yaxis.available)
                              posy = return_pos(s.p.y, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            else
                              posy = MARGIN;
                            write_string(myfile, posx, posy, s.st, ALIGN_CENTER);
                            break;
     case OBJECT_NAMEDPOINT:if (i == 0 || img.objects[i].fnt.fontcolor != img.objects[i - 1].fnt.fontcolor || img.objects[i].fnt.fontsize != img.objects[i - 1].fnt.fontsize)
                              setfont(myfile, img.objects[i].fnt);
                            s = img.objects[i].obje.st;
                            posx = return_pos(s.p.x, MARGIN, epsaxis + MARGIN, img.xaxis.lim.min, img.xaxis.lim.max);
                            posy = return_pos(s.p.y, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            write_line(myfile, posx - 2, posy - 2, posx + 2, posy + 2);
                            write_line(myfile, posx - 2, posy + 2, posx + 2, posy - 2);
                            write_string(myfile, posx, posy - 2 * SMALLMARGIN, s.st, ALIGN_CENTER);
                            break;
     case OBJECT_RECTANGLE :if (i == 0 || img.objects[i].fnt.fontsize != img.objects[i - 1].fnt.fontsize)
                              setlinewidth(myfile, img.objects[i].fnt.fontsize);
                            r = img.objects[i].obje.re;
                            posx = position_in_multi_plot(groupindex, index, xgroupcount, elementcount, &barwidth);
                            posy = return_pos(r.downright.y, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            write_rectangle(myfile, posx, (int) r.upleft.y, (int)(posx + barwidth), posy, index % MAX_FILL_TYPE, BLACK);
                            break;
     case OBJECT_MVBOX     :switch (img.groupcoloring)
                             {
                              case        ALL_SAME:setcolor(myfile, BLACK);
                                                   break;
                              case      GROUP_SAME:setcolor(myfile, img.objects[i].groupindex % COLORCOUNT);
                                                   break;
                              case INDIVIDUAL_SAME:setcolor(myfile, img.objects[i].index % COLORCOUNT);
                                                   break;
                             }
                            posy = return_pos(img.objects[i].obje.mv.mean, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posy2 = return_pos(img.objects[i].obje.mv.mean - img.objects[i].obje.mv.variance, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posy3 = return_pos(img.objects[i].obje.mv.mean + img.objects[i].obje.mv.variance, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posx = position_in_multi_plot(groupindex, index, xgroupcount, elementcount, &barwidth);
                            posx = (int) (posx + barwidth / 2);
                            write_line(myfile, posx, posy - 4, posx, posy2);
                            write_line(myfile, posx, posy + 4, posx, posy3);
                            write_line(myfile, posx - 5, posy2, posx + 5, posy2);
                            write_line(myfile, posx - 5, posy3, posx + 5, posy3);
                            write_circle(myfile, posx, posy, 4);
                            break;
     case OBJECT_BOXPLOT   :posy = return_pos(img.objects[i].obje.box.median, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posy2 = return_pos(img.objects[i].obje.box.p25, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posy3 = return_pos(img.objects[i].obje.box.p75, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posy4 = return_pos(img.objects[i].obje.box.swhisker, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posy5 = return_pos(img.objects[i].obje.box.lwhisker, MARGIN, epsaxis + MARGIN, img.yaxis.lim.min, img.yaxis.lim.max);
                            posx = position_in_multi_plot(groupindex, index, xgroupcount, elementcount, &barwidth);
                            diff = (int)(barwidth / 8);
                            posx = posx + diff;
                            barwidth -= 2 * diff;                           
                            write_rectangle(myfile, posx, posy3, (int) (posx + barwidth), posy2, FILL_COLOR, index + 1);
                            write_line(myfile, posx, posy, (int) (posx + barwidth), posy);
                            if (posy4 < posy2)
                             {
                              write_dashed_line(myfile, (int) (posx + barwidth / 2), posy2, (int) (posx + barwidth / 2), posy4, 4);
                              write_line(myfile, posx, posy4, (int) (posx + barwidth), posy4);
                             }
                            if (posy5 > posy3)
                             {
                              write_dashed_line(myfile, (int) (posx + barwidth / 2), posy3, (int) (posx + barwidth / 2), posy5, 4);
                              write_line(myfile, posx, posy5, (int) (posx + barwidth), posy5);
                             }
                            break;
     case OBJECT_ERRORHISTOGRAM:xgroupwidth = (epsaxis / elementcount);
                                ygroupwidth = (epsaxis / ygroupcount);
                                barheight = (ygroupwidth - 2 * SMALLMARGIN) / 10.0;
                                barwidth = (xgroupwidth - 2 * SMALLMARGIN) / 30.0;
                                posx = MARGIN + index * xgroupwidth + SMALLMARGIN;
                                posy = MARGIN + groupindex * ygroupwidth + SMALLMARGIN;
                                posy2 = MARGIN + (groupindex + 1) * ygroupwidth - SMALLMARGIN;
                                write_line(myfile, posx, posy, posx, posy2);
                                if (!groupdone[groupindex])
                                 {
                                  for (j = 0; j <= 10; j++)
                                   {                                                                  
                                    if (img.yaxis.lim.precision == 0)
                                      sprintf(st, "%.0f", img.objects[i].obje.errorhist.min + ((img.objects[i].obje.errorhist.max - img.objects[i].obje.errorhist.min) / 10) * j);
                                    else
                                      switch (img.yaxis.lim.precision)
                                       {
                                        case  1:sprintf(st, "%.1f", img.objects[i].obje.errorhist.min + ((img.objects[i].obje.errorhist.max - img.objects[i].obje.errorhist.min) / 10) * j);
                                                break;
                                        case  2:sprintf(st, "%.2f", img.objects[i].obje.errorhist.min + ((img.objects[i].obje.errorhist.max - img.objects[i].obje.errorhist.min) / 10) * j);
                                                break;
                                        case  3:sprintf(st, "%.3f", img.objects[i].obje.errorhist.min + ((img.objects[i].obje.errorhist.max - img.objects[i].obje.errorhist.min) / 10) * j);
                                                break;
                                        default:sprintf(st, "%.1f", img.objects[i].obje.errorhist.min + ((img.objects[i].obje.errorhist.max - img.objects[i].obje.errorhist.min) / 10) * j);
                                                break;
                                       }     
                                    write_string(myfile, MARGIN - 5, posy + barheight * j, st, ALIGN_RIGHT);
                                   }
                                  groupdone[groupindex] = YES;
                                 }
                                for (j = 0; j < 10; j++)
                                  if (img.objects[i].obje.errorhist.counts[j] > 0)
                                    write_rectangle(myfile, posx, posy + barheight * j + 1, posx + barwidth * img.objects[i].obje.errorhist.counts[j], posy + barheight * (j + 1) - 1, FILL_COLOR, index % COLORCOUNT);
                                break;
     default               :printf(m1233, img.objects[i].type);
                            break;
    }
  }
 safe_free(groupdone);
 write_image_footer(myfile);
 fclose(myfile);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movq %rdi, -0x8(%rbp)
leaq 0x3b1d42(%rip), %rax    # 0x3e2088
cmpl $0x0, 0x28(%rax)
je 0x3035c
leaq 0x3b1d35(%rip), %rax    # 0x3e2088
cmpl $0x0, 0x98(%rax)
jne 0x30363
movb $0x0, %al
callq 0x41010
movq -0x8(%rbp), %rdi
leaq 0xb7e50(%rip), %rsi     # 0xe81be
callq 0x40c0
movq %rax, -0x78(%rbp)
cmpq $0x0, -0x78(%rbp)
jne 0x30383
jmp 0x31a39
movq -0x78(%rbp), %rdi
leaq 0x3b1cfa(%rip), %rax    # 0x3e2088
movl 0x4(%rax), %esi
leaq 0x3b1cf0(%rip), %rax    # 0x3e2088
movl (%rax), %edx
callq 0x31a50
movq -0x78(%rbp), %rdi
xorl %esi, %esi
callq 0x31ae0
movq -0x78(%rbp), %rdi
callq 0x31b50
movq -0x78(%rbp), %rdi
xorl %esi, %esi
callq 0x31ae0
movq -0x78(%rbp), %rdi
callq 0x324a0
movq -0x78(%rbp), %rdi
leaq 0xb462c(%rip), %rsi     # 0xe49fe
movb $0x0, %al
callq 0x4280
leaq 0x3b1ca8(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rdi
leaq 0x3b1c9a(%rip), %rax    # 0x3e2088
movslq 0x124(%rax), %rsi
movl $0x60, %edx
leaq 0x2327f(%rip), %rcx     # 0x53680
callq 0x41f0
leaq 0x3b1c7b(%rip), %rax    # 0x3e2088
movl 0x38(%rax), %eax
movl %eax, -0xa0(%rbp)
leaq 0x3b1c6b(%rip), %rax    # 0x3e2088
movl 0xa8(%rax), %eax
movl %eax, -0xa8(%rbp)
movslq -0xa8(%rbp), %rdi
movl $0x4, %esi
leaq 0xb45ca(%rip), %rdx     # 0xe4a06
movl $0x12, %ecx
callq 0x52f40
movq %rax, -0xd8(%rbp)
movl $0x0, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
leaq 0x3b1c2a(%rip), %rcx    # 0x3e2088
cmpl 0x124(%rcx), %eax
jge 0x31a1b
leaq 0x3b1c17(%rip), %rax    # 0x3e2088
movq %rax, -0x158(%rbp)
movq 0x128(%rax), %rcx
movslq -0x7c(%rbp), %rdx
leaq (%rdx,%rdx,2), %rdx
shlq $0x5, %rdx
movl 0x20(%rcx,%rdx), %ecx
movl %ecx, -0xb4(%rbp)
movq 0x128(%rax), %rcx
movslq -0x7c(%rbp), %rdx
leaq (%rdx,%rdx,2), %rdx
shlq $0x5, %rdx
movl 0x24(%rcx,%rdx), %ecx
movl %ecx, -0xb8(%rbp)
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movl (%rax,%rcx), %edi
movl -0xb4(%rbp), %esi
callq 0x41fe0
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, -0xbc(%rbp)
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x5, %rcx
movl (%rax,%rcx), %eax
movq %rax, -0x150(%rbp)
subq $0x8, %rax
ja 0x319e2
movq -0x150(%rbp), %rax
leaq 0xb4479(%rip), %rcx     # 0xe4990
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x0, -0x7c(%rbp)
je 0x305b0
leaq 0x3b1b57(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x18(%rax), %eax
leaq 0x3b1b3b(%rip), %rcx    # 0x3e2088
movq 0x128(%rcx), %rcx
movl -0x7c(%rbp), %edx
subl $0x1, %edx
movslq %edx, %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x18(%rcx), %eax
jne 0x305b0
leaq 0x3b1b18(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
leaq 0x3b1afa(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movl -0x7c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
ucomisd 0x10(%rax), %xmm0
jne 0x305b0
jp 0x305b0
jmp 0x305fc
movq -0x78(%rbp), %rdi
leaq 0x3b1acd(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x18(%rax), %esi
callq 0x31ae0
movq -0x78(%rbp), %rdi
leaq 0x3b1aa8(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
callq 0x32a40
leaq 0x3b1a85(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rcx
movq %rcx, -0xf8(%rbp)
movq 0x30(%rax), %rcx
movq %rcx, -0xf0(%rbp)
movq 0x38(%rax), %rcx
movq %rcx, -0xe8(%rbp)
movq 0x40(%rax), %rax
movq %rax, -0xe0(%rbp)
movsd -0xf8(%rbp), %xmm0
leaq 0x3b1a38(%rip), %rax    # 0x3e2088
movsd 0x10(%rax), %xmm1
leaq 0x3b1a2c(%rip), %rax    # 0x3e2088
movsd 0x18(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x84(%rbp)
movsd -0xf0(%rbp), %xmm0
leaq 0x3b1a03(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b19f4(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x8c(%rbp)
movsd -0xe8(%rbp), %xmm0
leaq 0x3b19c8(%rip), %rax    # 0x3e2088
movsd 0x10(%rax), %xmm1
leaq 0x3b19bc(%rip), %rax    # 0x3e2088
movsd 0x18(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x88(%rbp)
movsd -0xe0(%rbp), %xmm0
leaq 0x3b1993(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b1984(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x90(%rbp)
leaq 0x3b1960(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x1c(%rax)
jne 0x30764
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
movl -0x88(%rbp), %ecx
movl -0x90(%rbp), %r8d
callq 0x32a70
jmp 0x307a3
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
movl -0x88(%rbp), %ecx
movl -0x90(%rbp), %r8d
leaq 0x3b1900(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %r9
imulq $0x60, %r9, %r9
addq %r9, %rax
movl 0x1c(%rax), %r9d
callq 0x32ab0
jmp 0x31a0b
leaq 0x3b18d9(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x148(%rbp)
movq 0x30(%rax), %rcx
movq %rcx, -0x140(%rbp)
movq 0x38(%rax), %rax
movq %rax, -0x138(%rbp)
movsd -0x148(%rbp), %xmm0
leaq 0x3b1897(%rip), %rax    # 0x3e2088
movsd 0x10(%rax), %xmm1
leaq 0x3b188b(%rip), %rax    # 0x3e2088
movsd 0x18(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x84(%rbp)
movsd -0x140(%rbp), %xmm0
leaq 0x3b1862(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b1853(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x8c(%rbp)
cvttsd2si -0x138(%rbp), %eax
movl %eax, -0xc0(%rbp)
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
movl -0xc0(%rbp), %ecx
callq 0x32b00
jmp 0x31a0b
cmpl $0x0, -0x7c(%rbp)
je 0x30910
leaq 0x3b17f7(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x18(%rax), %eax
leaq 0x3b17db(%rip), %rcx    # 0x3e2088
movq 0x128(%rcx), %rcx
movl -0x7c(%rbp), %edx
subl $0x1, %edx
movslq %edx, %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x18(%rcx), %eax
jne 0x30910
leaq 0x3b17b8(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
leaq 0x3b179a(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movl -0x7c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
ucomisd 0x10(%rax), %xmm0
jne 0x30910
jp 0x30910
jmp 0x3094f
movq -0x78(%rbp), %rdi
leaq 0x3b176d(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
addq $0x8, %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x32b60
leaq 0x3b1732(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x110(%rbp)
movq 0x30(%rax), %rcx
movq %rcx, -0x108(%rbp)
movq 0x38(%rax), %rax
movq %rax, -0x100(%rbp)
movsd -0x110(%rbp), %xmm0
leaq 0x3b16f0(%rip), %rax    # 0x3e2088
movsd 0x10(%rax), %xmm1
leaq 0x3b16e4(%rip), %rax    # 0x3e2088
movsd 0x18(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x84(%rbp)
leaq 0x3b16c3(%rip), %rax    # 0x3e2088
cmpl $0x0, 0x78(%rax)
je 0x30a08
movsd -0x108(%rbp), %xmm0
leaq 0x3b16ae(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b169f(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x8c(%rbp)
jmp 0x30a12
movl $0x50, -0x8c(%rbp)
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
movq -0x100(%rbp), %rcx
movl $0x2, %r8d
callq 0x32c00
jmp 0x31a0b
cmpl $0x0, -0x7c(%rbp)
je 0x30ac9
leaq 0x3b163e(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x18(%rax), %eax
leaq 0x3b1622(%rip), %rcx    # 0x3e2088
movq 0x128(%rcx), %rcx
movl -0x7c(%rbp), %edx
subl $0x1, %edx
movslq %edx, %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x18(%rcx), %eax
jne 0x30ac9
leaq 0x3b15ff(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
leaq 0x3b15e1(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movl -0x7c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
ucomisd 0x10(%rax), %xmm0
jne 0x30ac9
jp 0x30ac9
jmp 0x30b08
movq -0x78(%rbp), %rdi
leaq 0x3b15b4(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
addq $0x8, %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x32b60
leaq 0x3b1579(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x110(%rbp)
movq 0x30(%rax), %rcx
movq %rcx, -0x108(%rbp)
movq 0x38(%rax), %rax
movq %rax, -0x100(%rbp)
movsd -0x110(%rbp), %xmm0
leaq 0x3b1537(%rip), %rax    # 0x3e2088
movsd 0x10(%rax), %xmm1
leaq 0x3b152b(%rip), %rax    # 0x3e2088
movsd 0x18(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x84(%rbp)
movsd -0x108(%rbp), %xmm0
leaq 0x3b1502(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b14f3(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x8c(%rbp)
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
subl $0x2, %esi
movl -0x8c(%rbp), %edx
subl $0x2, %edx
movl -0x84(%rbp), %ecx
addl $0x2, %ecx
movl -0x8c(%rbp), %r8d
addl $0x2, %r8d
callq 0x32a70
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
subl $0x2, %esi
movl -0x8c(%rbp), %edx
addl $0x2, %edx
movl -0x84(%rbp), %ecx
addl $0x2, %ecx
movl -0x8c(%rbp), %r8d
subl $0x2, %r8d
callq 0x32a70
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
subl $0xa, %edx
movq -0x100(%rbp), %rcx
movl $0x2, %r8d
callq 0x32c00
jmp 0x31a0b
cmpl $0x0, -0x7c(%rbp)
je 0x30c87
leaq 0x3b1441(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
leaq 0x3b1423(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movl -0x7c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
ucomisd 0x10(%rax), %xmm0
jne 0x30c87
jp 0x30c87
jmp 0x30cae
movq -0x78(%rbp), %rdi
leaq 0x3b13f6(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm0
callq 0x32a40
leaq 0x3b13d3(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rcx
movq %rcx, -0x130(%rbp)
movq 0x30(%rax), %rcx
movq %rcx, -0x128(%rbp)
movq 0x38(%rax), %rcx
movq %rcx, -0x120(%rbp)
movq 0x40(%rax), %rax
movq %rax, -0x118(%rbp)
movl -0xb4(%rbp), %edi
movl -0xb8(%rbp), %esi
movl -0xa0(%rbp), %edx
movl -0xbc(%rbp), %ecx
leaq -0xc8(%rbp), %r8
callq 0x420d0
movl %eax, -0x84(%rbp)
movsd -0x118(%rbp), %xmm0
leaq 0x3b135c(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b134d(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x8c(%rbp)
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
cvttsd2si -0x128(%rbp), %eax
movl %eax, -0x15c(%rbp)
cvtsi2sdl -0x84(%rbp), %xmm0
addsd -0xc8(%rbp), %xmm0
cvttsd2si %xmm0, %ecx
movl -0x8c(%rbp), %r8d
movl -0xb8(%rbp), %eax
movl $0x7, %r9d
cltd
idivl %r9d
movl %edx, %r9d
movl -0x15c(%rbp), %edx
xorl %eax, %eax
movl $0x0, (%rsp)
callq 0x32d30
jmp 0x31a0b
leaq 0x3b12ca(%rip), %rax    # 0x3e2088
movl 0x120(%rax), %eax
movl %eax, -0x160(%rbp)
testl %eax, %eax
je 0x30dea
jmp 0x30dd0
movl -0x160(%rbp), %eax
subl $0x1, %eax
je 0x30df7
jmp 0x30ddd
movl -0x160(%rbp), %eax
subl $0x2, %eax
je 0x30e28
jmp 0x30e57
movq -0x78(%rbp), %rdi
xorl %esi, %esi
callq 0x31ae0
jmp 0x30e57
movq -0x78(%rbp), %rdi
leaq 0x3b1286(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
movl $0xc, %ecx
cltd
idivl %ecx
movl %edx, %esi
callq 0x31ae0
jmp 0x30e57
movq -0x78(%rbp), %rdi
leaq 0x3b1255(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x24(%rax), %eax
movl $0xc, %ecx
cltd
idivl %ecx
movl %edx, %esi
callq 0x31ae0
leaq 0x3b122a(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
leaq 0x3b120c(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b11fd(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x8c(%rbp)
leaq 0x3b11d9(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
leaq 0x3b11bb(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
subsd 0x30(%rax), %xmm0
leaq 0x3b119d(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b118e(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x90(%rbp)
leaq 0x3b116a(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
leaq 0x3b114c(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
addsd 0x30(%rax), %xmm0
leaq 0x3b112e(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b111f(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x94(%rbp)
movl -0xb4(%rbp), %edi
movl -0xb8(%rbp), %esi
movl -0xa0(%rbp), %edx
movl -0xbc(%rbp), %ecx
leaq -0xc8(%rbp), %r8
callq 0x420d0
movl %eax, -0x84(%rbp)
cvtsi2sdl -0x84(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm1
movsd 0xb1cd8(%rip), %xmm2    # 0xe2ca0
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x84(%rbp)
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
subl $0x4, %edx
movl -0x84(%rbp), %ecx
movl -0x90(%rbp), %r8d
callq 0x32a70
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
addl $0x4, %edx
movl -0x84(%rbp), %ecx
movl -0x94(%rbp), %r8d
callq 0x32a70
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
subl $0x5, %esi
movl -0x90(%rbp), %edx
movl -0x84(%rbp), %ecx
addl $0x5, %ecx
movl -0x90(%rbp), %r8d
callq 0x32a70
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
subl $0x5, %esi
movl -0x94(%rbp), %edx
movl -0x84(%rbp), %ecx
addl $0x5, %ecx
movl -0x94(%rbp), %r8d
callq 0x32a70
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
movl $0x4, %ecx
callq 0x32b00
jmp 0x31a0b
leaq 0x3b0fee(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
leaq 0x3b0fd0(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b0fc1(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x8c(%rbp)
leaq 0x3b0f9d(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
leaq 0x3b0f7f(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b0f70(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x90(%rbp)
leaq 0x3b0f4c(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x38(%rax), %xmm0
leaq 0x3b0f2e(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b0f1f(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x94(%rbp)
leaq 0x3b0efb(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x40(%rax), %xmm0
leaq 0x3b0edd(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b0ece(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x98(%rbp)
leaq 0x3b0eaa(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x48(%rax), %xmm0
leaq 0x3b0e8c(%rip), %rax    # 0x3e2088
movsd 0x80(%rax), %xmm1
leaq 0x3b0e7d(%rip), %rax    # 0x3e2088
movsd 0x88(%rax), %xmm2
movl $0x50, %edi
movl $0x244, %esi            # imm = 0x244
callq 0x42230
movl %eax, -0x9c(%rbp)
movl -0xb4(%rbp), %edi
movl -0xb8(%rbp), %esi
movl -0xa0(%rbp), %edx
movl -0xbc(%rbp), %ecx
leaq -0xc8(%rbp), %r8
callq 0x420d0
movl %eax, -0x84(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd 0xb36ee(%rip), %xmm1    # 0xe4950
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0xb0(%rbp)
movl -0x84(%rbp), %eax
addl -0xb0(%rbp), %eax
movl %eax, -0x84(%rbp)
movl -0xb0(%rbp), %eax
shll %eax
cvtsi2sd %eax, %xmm1
movsd -0xc8(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x94(%rbp), %edx
cvtsi2sdl -0x84(%rbp), %xmm0
addsd -0xc8(%rbp), %xmm0
cvttsd2si %xmm0, %ecx
movl -0x90(%rbp), %r8d
movl -0xb8(%rbp), %eax
addl $0x1, %eax
movl $0x4, %r9d
movl %eax, (%rsp)
callq 0x32d30
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
cvtsi2sdl -0x84(%rbp), %xmm0
addsd -0xc8(%rbp), %xmm0
cvttsd2si %xmm0, %ecx
movl -0x8c(%rbp), %r8d
callq 0x32a70
movl -0x98(%rbp), %eax
cmpl -0x90(%rbp), %eax
jge 0x313ba
movq -0x78(%rbp), %rdi
cvtsi2sdl -0x84(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm1
movsd 0xb195e(%rip), %xmm2    # 0xe2ca0
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %esi
movl -0x90(%rbp), %edx
cvtsi2sdl -0x84(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm1
movsd 0xb1934(%rip), %xmm2    # 0xe2ca0
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movl -0x98(%rbp), %r8d
movl $0x4, %r9d
callq 0x32ab0
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x98(%rbp), %edx
cvtsi2sdl -0x84(%rbp), %xmm0
addsd -0xc8(%rbp), %xmm0
cvttsd2si %xmm0, %ecx
movl -0x98(%rbp), %r8d
callq 0x32a70
movl -0x9c(%rbp), %eax
cmpl -0x94(%rbp), %eax
jle 0x31460
movq -0x78(%rbp), %rdi
cvtsi2sdl -0x84(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm1
movsd 0xb18b8(%rip), %xmm2    # 0xe2ca0
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %esi
movl -0x94(%rbp), %edx
cvtsi2sdl -0x84(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm1
movsd 0xb188e(%rip), %xmm2    # 0xe2ca0
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
movl -0x9c(%rbp), %r8d
movl $0x4, %r9d
callq 0x32ab0
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x9c(%rbp), %edx
cvtsi2sdl -0x84(%rbp), %xmm0
addsd -0xc8(%rbp), %xmm0
cvttsd2si %xmm0, %ecx
movl -0x9c(%rbp), %r8d
callq 0x32a70
jmp 0x31a0b
movl $0x1f4, %eax            # imm = 0x1F4
cltd
idivl -0xbc(%rbp)
movl %eax, -0xa4(%rbp)
movl $0x1f4, %eax            # imm = 0x1F4
cltd
idivl -0xa8(%rbp)
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
subl $0xa, %eax
cvtsi2sd %eax, %xmm0
movsd 0xb34aa(%rip), %xmm1    # 0xe4948
divsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movl -0xa4(%rbp), %eax
subl $0xa, %eax
cvtsi2sd %eax, %xmm0
movsd 0xb3481(%rip), %xmm1    # 0xe4940
divsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
movl -0xb8(%rbp), %eax
imull -0xa4(%rbp), %eax
addl $0x50, %eax
addl $0x5, %eax
movl %eax, -0x84(%rbp)
movl -0xb4(%rbp), %eax
imull -0xac(%rbp), %eax
addl $0x50, %eax
addl $0x5, %eax
movl %eax, -0x8c(%rbp)
movl -0xb4(%rbp), %eax
addl $0x1, %eax
imull -0xac(%rbp), %eax
addl $0x50, %eax
subl $0x5, %eax
movl %eax, -0x90(%rbp)
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
movl -0x8c(%rbp), %edx
movl -0x84(%rbp), %ecx
movl -0x90(%rbp), %r8d
callq 0x32a70
movq -0xd8(%rbp), %rax
movslq -0xb4(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jne 0x318c2
movl $0x0, -0x80(%rbp)
cmpl $0xa, -0x80(%rbp)
jg 0x318ad
leaq 0x3b0b1d(%rip), %rax    # 0x3e2088
cmpl $0x0, 0x94(%rax)
jne 0x31602
leaq -0x70(%rbp), %rdi
leaq 0x3b0b05(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm1
leaq 0x3b0ae7(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
leaq 0x3b0ac9(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
subsd 0x28(%rax), %xmm0
movsd 0xb336a(%rip), %xmm2    # 0xe4948
divsd %xmm2, %xmm0
cvtsi2sdl -0x80(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0xb3424(%rip), %rsi     # 0xe4a1a
movb $0x1, %al
callq 0x4170
jmp 0x31866
leaq 0x3b0a7f(%rip), %rax    # 0x3e2088
movl 0x94(%rax), %eax
movl %eax, -0x164(%rbp)
subl $0x1, %eax
je 0x31641
jmp 0x3161c
movl -0x164(%rbp), %eax
subl $0x2, %eax
je 0x316cb
jmp 0x3162d
movl -0x164(%rbp), %eax
subl $0x3, %eax
je 0x31755
jmp 0x317df
leaq -0x70(%rbp), %rdi
leaq 0x3b0a3c(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm1
leaq 0x3b0a1e(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
leaq 0x3b0a00(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
subsd 0x28(%rax), %xmm0
movsd 0xb32a1(%rip), %xmm2    # 0xe4948
divsd %xmm2, %xmm0
cvtsi2sdl -0x80(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0xb3360(%rip), %rsi     # 0xe4a1f
movb $0x1, %al
callq 0x4170
jmp 0x31864
leaq -0x70(%rbp), %rdi
leaq 0x3b09b2(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm1
leaq 0x3b0994(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
leaq 0x3b0976(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
subsd 0x28(%rax), %xmm0
movsd 0xb3217(%rip), %xmm2    # 0xe4948
divsd %xmm2, %xmm0
cvtsi2sdl -0x80(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0xb32db(%rip), %rsi     # 0xe4a24
movb $0x1, %al
callq 0x4170
jmp 0x31864
leaq -0x70(%rbp), %rdi
leaq 0x3b0928(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm1
leaq 0x3b090a(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
leaq 0x3b08ec(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
subsd 0x28(%rax), %xmm0
movsd 0xb318d(%rip), %xmm2    # 0xe4948
divsd %xmm2, %xmm0
cvtsi2sdl -0x80(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0xb3256(%rip), %rsi     # 0xe4a29
movb $0x1, %al
callq 0x4170
jmp 0x31864
leaq -0x70(%rbp), %rdi
leaq 0x3b089e(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm1
leaq 0x3b0880(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
leaq 0x3b0862(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
subsd 0x28(%rax), %xmm0
movsd 0xb3103(%rip), %xmm2    # 0xe4948
divsd %xmm2, %xmm0
cvtsi2sdl -0x80(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
leaq 0xb31c2(%rip), %rsi     # 0xe4a1f
movb $0x1, %al
callq 0x4170
jmp 0x31866
movq -0x78(%rbp), %rdi
cvtsi2sdl -0x8c(%rbp), %xmm1
movsd -0xd0(%rbp), %xmm0
cvtsi2sdl -0x80(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
leaq -0x70(%rbp), %rcx
movl $0x4b, %esi
movl $0x1, %r8d
callq 0x32c00
movl -0x80(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0x3155a
movq -0xd8(%rbp), %rax
movslq -0xb4(%rbp), %rcx
movl $0x1, (%rax,%rcx,4)
movl $0x0, -0x80(%rbp)
cmpl $0xa, -0x80(%rbp)
jge 0x319e0
leaq 0x3b07ae(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0x80(%rbp), %rcx
cmpl $0x0, 0x38(%rax,%rcx,4)
jle 0x319d0
movq -0x78(%rbp), %rdi
movl -0x84(%rbp), %esi
cvtsi2sdl -0x8c(%rbp), %xmm1
movsd -0xd0(%rbp), %xmm0
cvtsi2sdl -0x80(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0xb06ee(%rip), %xmm1    # 0xe2018
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x168(%rbp)
cvtsi2sdl -0x84(%rbp), %xmm1
movsd -0xc8(%rbp), %xmm0
leaq 0x3b0739(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq -0x80(%rbp), %rcx
cvtsi2sdl 0x38(%rax,%rcx,4), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %ecx
cvtsi2sdl -0x8c(%rbp), %xmm1
movsd -0xd0(%rbp), %xmm0
movl -0x80(%rbp), %eax
addl $0x1, %eax
cvtsi2sd %eax, %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0xb0677(%rip), %xmm1    # 0xe2018
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %r8d
movl -0xb8(%rbp), %eax
movl $0xc, %r9d
cltd
idivl %r9d
movl %edx, %eax
movl -0x168(%rbp), %edx
movl $0x4, %r9d
movl %eax, (%rsp)
callq 0x32d30
jmp 0x319d2
movl -0x80(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0x318c9
jmp 0x31a0b
leaq 0x3b069f(%rip), %rax    # 0x3e2088
movq 0x128(%rax), %rax
movslq -0x7c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %esi
leaq 0xb302a(%rip), %rdi     # 0xe4a2e
movb $0x0, %al
callq 0x4030
jmp 0x31a0d
movl -0x7c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0x30454
movq -0xd8(%rbp), %rdi
callq 0x52e80
movq -0x78(%rbp), %rdi
callq 0x32ec0
movq -0x78(%rbp), %rdi
callq 0x4250
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
nopw %cs:(%rax,%rax)