// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathmsc.cpp
// Function: plot_adev_curve(ADEV_INFO*, unsigned char, int)
void plot_adev_curve(struct ADEV_INFO *bins, u08 color, int mask)
{
int i;
int x1, x2;
float y1, y2;
float max_scale;
float min_scale;
float adev_range;
int vert_scale;
int vert_ofs;

double n;
float m;
float eb1,eb2;


   if(text_mode) return;  // no room on screen to do this
   if(rcvr_type == NO_RCVR) return;  // no room on screen to do this
   if(rcvr_type == TIDE_RCVR) return;  // ckckck has no adevs to show

   if(first_key) return;
   if(plot_adev_data == 0) return;
   if(bins == 0) return;

   if(zoom_screen == 'P') ;
   else if(zoom_screen) return;

   if(bins->adev_bins[0] == 0.0) return;

if((mask & adev_display_mask) == 0) return;

   max_scale = scale_adev(bins->adev_max);
   if(bottom_adev_decade) min_scale = scale_adev(bottom_adev_decade);
   else                   min_scale = scale_adev(bins->adev_min);
if(ATYPE == A_MTIE) {  // offset plots a little from the top and bottom of the plot area
   min_scale = scale_adev(bins->adev_min);
max_scale = (float) (global_adev_max*MTIE_SCALE);
min_scale = (float) (global_adev_min/MTIE_SCALE);
}

   adev_range = max_scale - min_scale;
   adev_range = (float) ABS(adev_range);
//sprintf(debug_text2, "ascale min:%g  max:%g  range:%g", min_scale, max_scale, adev_range);
   if(adev_range == 0.0) return;


   // adev plots are scaled to major vertical divisions
   vert_scale = (PLOT_HEIGHT / (VERT_MAJOR*2)) * (VERT_MAJOR*2);  // two major divisions per decade
   vert_ofs = (PLOT_HEIGHT - vert_scale) / 2;
   if(((PLOT_HEIGHT / (VERT_MAJOR*2)) & 0x01) == 0x00) {  // align adevs to cyan dotted lines
      vert_ofs += VERT_MAJOR;
   }
//sprintf(plot_title, "bot:%g  max(%g):%g min(%g):%g range:%g", bottom_adev_decade, bins->adev_max,max_scale, bins->adev_min,min_scale, adev_range);

   for(i=first_show_bin; i<bins->bin_count; i++) {
      x1 = (i-first_show_bin-1) * HORIZ_MAJOR;   // make sure line fits in the plot
      x2 = (i-first_show_bin) * HORIZ_MAJOR;
if(x1 > PLOT_WIDTH) continue; // aaaahhhh 
if(x2 > PLOT_WIDTH) continue;
if(x1 < 0) continue;
if(x2 < 0) continue;
      if(x1 < 0) x1 = 0;
      if(x2 > PLOT_WIDTH) x2 = PLOT_WIDTH;

      y1 = (0.0F - scale_adev(bins->adev_bins[i-1]));
      y1 += max_scale;
      y1 /= adev_range;
      y1 *= (float) vert_scale;
      y1 += (float) (PLOT_ROW + vert_ofs);
      if(y1 <= PLOT_ROW) y1 = (float) (PLOT_ROW+2);
      if(y1 >= (PLOT_ROW+PLOT_HEIGHT-1)) y1 = (float) (PLOT_ROW+PLOT_HEIGHT-2);

      y2 = eb1 = eb2 = bins->adev_bins[i];
      y2 = (0.0F - scale_adev(y2));
      y2 += max_scale;
      y2 /= adev_range;
      y2 *= (float) vert_scale;
      y2 += (float) (PLOT_ROW+vert_ofs);
      if(y2 <= PLOT_ROW) y2 = (float) (PLOT_ROW+2);
      if(y2 >= (PLOT_ROW+PLOT_HEIGHT-1)) y2 = (float) (PLOT_ROW+PLOT_HEIGHT-2);

      if(x1 < PLOT_WIDTH) {
         line(PLOT_COL+x1, (int) y1, PLOT_COL+x2, (int) y2, color);
      }
   }

   // draw error bars from last bin to first bin
   if(show_error_bars == 0) return;  // bars disabled
if(ATYPE == A_MTIE) return;

   for(i=bins->bin_count-1; i>=first_show_bin; i--) {
      eb1 = eb2 = bins->adev_bins[i];

      x1 = (i-first_show_bin-1) * HORIZ_MAJOR;   // make sure line fits in the plot
      x2 = (i-first_show_bin) * HORIZ_MAJOR;
if(x1 > PLOT_WIDTH) continue;
if(x2 > PLOT_WIDTH) continue;
if(x1 < 0) continue;
if(x2 < 0) continue;
      if(x1 < 0) x1 = 0;
      if(x2 > PLOT_WIDTH) x2 = PLOT_WIDTH;

      if(1 || (x1 < PLOT_WIDTH)) {
         m = (float) bins->adev_taus[i];
         if(m == 0) continue;

         n = (double) bins->adev_on[i];
         n = sqrt(n/(double) m);
         if(n == 0) continue;

         eb1 -= (eb1 / (float) n);
         eb1 = (0.0F - scale_adev(eb1));
         eb1 += max_scale;
         eb1 /= adev_range;
         eb1 *= vert_scale;
         eb1 += (PLOT_ROW+vert_ofs);
         if(eb1< PLOT_ROW) eb1 = (float) PLOT_ROW;
         if(eb1 >= (PLOT_ROW+PLOT_HEIGHT)) eb1 = (float) (PLOT_ROW+PLOT_HEIGHT);

         eb2 += (eb2 / (float) n);
         eb2 = (0.0F - scale_adev(eb2));
         eb2 += max_scale;
         eb2 /= adev_range;
         eb2 *= vert_scale;
         eb2 += (PLOT_ROW+vert_ofs);
         if(eb2< PLOT_ROW) eb2 = (float) PLOT_ROW;
         if(eb2 >= (PLOT_ROW+PLOT_HEIGHT)) eb2 = (float) (PLOT_ROW+PLOT_HEIGHT);


         if(n < 1.0) {  // error bars are too large to be meaningful - limit size and use arrow endcaps
            eb1 = y2 - (float) (adev_decade_height / 2.0);
            eb2 = y2 + (float) ( adev_decade_height / 2.0);

            if(eb1< PLOT_ROW) eb1 = (float) PLOT_ROW;
            if(eb1 >= (PLOT_ROW+PLOT_HEIGHT)) eb1 = (float) (PLOT_ROW+PLOT_HEIGHT);

            if(eb2< PLOT_ROW) eb2 = (float) PLOT_ROW;
            if(eb2 >= (PLOT_ROW+PLOT_HEIGHT)) eb2 = (float) (PLOT_ROW+PLOT_HEIGHT);

            line(PLOT_COL+x2,(int) eb1, PLOT_COL+x2,(int)eb2, color);

            line(PLOT_COL+x2-HORIZ_MINOR/3,(int) eb1+VERT_MINOR, PLOT_COL+x2,(int)eb1, color);
            line(PLOT_COL+x2+HORIZ_MINOR/3,(int) eb1+VERT_MINOR, PLOT_COL+x2,(int)eb1, color);

            line(PLOT_COL+x2-HORIZ_MINOR/3,(int) eb2-VERT_MINOR, PLOT_COL+x2,(int)eb2, color);
            line(PLOT_COL+x2+HORIZ_MINOR/3,(int) eb2-VERT_MINOR, PLOT_COL+x2,(int)eb2, color);
         }
         else if(0 || (fabs(eb2-eb1) >= (double) (VERT_MINOR*1))) { // good bars, use flat end caps
            if(0) {  // center error bars on the adev line
               y2 = bins->adev_bins[i];
               y2 = (0.0F - scale_adev(y2));
               y2 += max_scale;
               y2 /= adev_range;
               y2 *= (float) vert_scale;
               y2 += (float) (PLOT_ROW+vert_ofs);
               if(y2 < PLOT_ROW) y2 = (float) PLOT_ROW;
               if(y2 >= (PLOT_ROW+PLOT_HEIGHT)) y2 = (float) (PLOT_ROW+PLOT_HEIGHT);

               m = (float) (fabs(eb1-eb2) / 2.0);
               eb1 = y2 - m;
               eb2 = y2 + m;
            }

            line(PLOT_COL+x2,(int) eb1, PLOT_COL+x2,(int)eb2, color);

            line(PLOT_COL+x2-HORIZ_MINOR/3,(int) eb1, PLOT_COL+x2+HORIZ_MINOR/3,(int)eb1, color);
            line(PLOT_COL+x2-HORIZ_MINOR/3,(int) eb2, PLOT_COL+x2+HORIZ_MINOR/3,(int)eb2, color);
         }
         else {  // stop on last non-short error bar
            break;
         }
      }
   }

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
leaq 0x11608c(%rip), %rax    # 0x2027d8
cmpl $0x0, (%rax)
je 0xec763
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x116166(%rip), %rax    # 0x2028d0
movq (%rax), %rax
cmpq $0x400, %rax            # imm = 0x400
je 0xec751
cmpq $0x800000, %rax         # imm = 0x800000
je 0xec751
movq %rdi, %rbx
testq %rdi, %rdi
je 0xec751
leaq 0x13c7cc(%rip), %rax    # 0x228f58
cmpl $0x0, (%rax)
jne 0xec751
leaq 0x118c41(%rip), %rax    # 0x2053d9
cmpb $0x0, (%rax)
je 0xec751
movl %esi, %r14d
leaq 0x20a001(%rip), %rax    # 0x2f67a8
movzbl (%rax), %eax
cmpl $0x50, %eax
je 0xec7b3
testl %eax, %eax
jne 0xec751
movss 0x194(%rbx), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0xec7c5
jnp 0xec751
leaq 0x120e4c(%rip), %rax    # 0x20d618
testl %edx, (%rax)
je 0xec751
movss 0x650(%rbx), %xmm0
callq 0xe8e15
movss %xmm0, -0x30(%rbp)
movss 0x277dce(%rip), %xmm0   # 0x3645b8
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0xec7fc
jp 0xec7fc
movss 0x64c(%rbx), %xmm0
callq 0xe8e15
leaq 0x120e08(%rip), %rax    # 0x20d610
cmpl $0x9, (%rax)
jne 0xec83d
leaq 0x13a2d4(%rip), %rax    # 0x226ae8
movsd 0x29e84(%rip), %xmm0    # 0x1166a0
movsd (%rax), %xmm1
mulsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm2
leaq 0x13a2c1(%rip), %rax    # 0x226af0
movsd (%rax), %xmm1
divsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm0
jmp 0xec842
movss -0x30(%rbp), %xmm2
movss %xmm2, -0x30(%rbp)
movaps %xmm2, %xmm1
subss %xmm0, %xmm1
xorps %xmm0, %xmm0
xorps %xmm2, %xmm2
subss %xmm1, %xmm2
movaps %xmm1, %xmm3
cmpltss %xmm0, %xmm3
andps %xmm3, %xmm2
andnps %xmm1, %xmm3
orps %xmm2, %xmm3
ucomiss %xmm0, %xmm3
jne 0xec874
jnp 0xec751
leaq 0x11600d(%rip), %rax    # 0x202888
movl (%rax), %eax
leaq 0x115fe8(%rip), %rcx    # 0x20286c
movl (%rcx), %esi
leal (%rsi,%rsi), %edi
cltd
idivl %edi
movl %eax, %ecx
imull %eax, %edi
pushq $0x2
popq %r8
movl %edx, %eax
cltd
idivl %r8d
xorl %edx, %edx
testb $0x1, %cl
cmovel %esi, %edx
addl %eax, %edx
movq %rdx, -0x98(%rbp)
leaq 0x13a3cd(%rip), %rsi    # 0x226c80
movslq (%rsi), %r13
cvtsi2ss %edi, %xmm0
movss %xmm0, -0x38(%rbp)
leaq 0x115fae(%rip), %rdi    # 0x202874
leaq 0x115fb7(%rip), %r8     # 0x202884
movzbl %r14b, %eax
movl %eax, -0x2c(%rbp)
movaps %xmm3, -0xb0(%rbp)
movslq 0x648(%rbx), %r12
cmpq %r12, %r13
jge 0xeca82
movl (%rsi), %eax
movl %r13d, %r15d
subl %eax, %r15d
leal -0x1(%r15), %r12d
movl (%rdi), %eax
imull %eax, %r12d
movl (%r8), %r14d
cmpl %r14d, %r12d
jg 0xeca7a
imull %eax, %r15d
cmpl %r14d, %r15d
jg 0xeca7a
movl %r12d, %eax
orl %r15d, %eax
js 0xeca7a
leaq 0x115f53(%rip), %rax    # 0x20287c
movl (%rax), %eax
movq -0x98(%rbp), %rcx
addl %eax, %ecx
cvtsi2ss %ecx, %xmm0
movss %xmm0, -0x34(%rbp)
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x58(%rbp)
leal 0x2(%rax), %ecx
cvtsi2ss %ecx, %xmm0
movaps %xmm0, -0x90(%rbp)
leaq 0x115f2d(%rip), %rcx    # 0x202888
movl (%rcx), %ecx
leal -0x1(%rcx,%rax), %edx
cvtsi2ss %edx, %xmm0
movaps %xmm0, -0x50(%rbp)
leal -0x2(%rcx,%rax), %eax
cvtsi2ss %eax, %xmm0
movaps %xmm0, -0x70(%rbp)
movss 0x194(%rbx,%r13,4), %xmm0
callq 0xe8e15
xorps %xmm1, %xmm1
subss %xmm0, %xmm1
movss -0x30(%rbp), %xmm3
addss %xmm3, %xmm1
divss -0xb0(%rbp), %xmm1
mulss -0x38(%rbp), %xmm1
addss -0x34(%rbp), %xmm1
movaps %xmm1, %xmm0
cmpnless -0x58(%rbp), %xmm0
andps %xmm0, %xmm1
andnps -0x90(%rbp), %xmm0
orps %xmm1, %xmm0
movaps -0x50(%rbp), %xmm2
cmpnless %xmm0, %xmm2
movaps %xmm2, %xmm1
andps %xmm0, %xmm1
andnps -0x70(%rbp), %xmm2
orps %xmm1, %xmm2
cmpl %r14d, %r12d
movaps %xmm2, -0xc0(%rbp)
jge 0xeca65
movss 0x190(%rbx,%r13,4), %xmm0
callq 0xe8e15
xorps %xmm1, %xmm1
subss %xmm0, %xmm1
addss -0x30(%rbp), %xmm1
divss -0xb0(%rbp), %xmm1
mulss -0x38(%rbp), %xmm1
addss -0x34(%rbp), %xmm1
movaps %xmm1, %xmm0
cmpnless -0x58(%rbp), %xmm0
andps %xmm0, %xmm1
andnps -0x90(%rbp), %xmm0
orps %xmm1, %xmm0
movaps -0x50(%rbp), %xmm2
cmpnless %xmm0, %xmm2
movaps %xmm2, %xmm1
andps %xmm0, %xmm1
andnps -0x70(%rbp), %xmm2
orps %xmm1, %xmm2
leaq 0x115e3e(%rip), %rax    # 0x202880
movl (%rax), %eax
cvttss2si %xmm2, %esi
addl %eax, %r12d
addl %eax, %r15d
cvttss2si -0xc0(%rbp), %ecx
movl %r12d, %edi
movl %r15d, %edx
movl -0x2c(%rbp), %r8d
callq 0xdedf
leaq 0x13a214(%rip), %rsi    # 0x226c80
leaq 0x115e01(%rip), %rdi    # 0x202874
leaq 0x115e0a(%rip), %r8     # 0x202884
incq %r13
jmp 0xec8db
leaq 0x13a263(%rip), %rax    # 0x226cec
cmpl $0x0, (%rax)
leaq 0x120b7d(%rip), %rax    # 0x20d610
je 0xec751
cmpl $0x9, (%rax)
je 0xec751
leal -0x2(%r12), %r14d
xorps %xmm2, %xmm2
xorps %xmm3, %xmm3
movslq (%rsi), %rax
cmpq %rax, %r12
jle 0xec751
movl %r14d, %ecx
subl %eax, %ecx
movl (%rdi), %r15d
movl %r15d, %eax
imull %ecx, %eax
movl (%r8), %edx
cmpl %edx, %eax
jg 0xecec7
incl %ecx
imull %ecx, %r15d
cmpl %edx, %r15d
jg 0xecec7
orl %r15d, %eax
js 0xecec7
movss (%rbx,%r12,4), %xmm1
ucomiss %xmm2, %xmm1
jne 0xecafb
jnp 0xecec7
movss 0x190(%rbx,%r12,4), %xmm0
movss %xmm0, -0x50(%rbp)
cvtsi2sdq 0x320(%rbx,%r12,8), %xmm0
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
ucomisd %xmm3, %xmm0
jb 0xecb28
sqrtsd %xmm0, %xmm0
jmp 0xecb48
callq 0x9260
xorps %xmm3, %xmm3
xorps %xmm2, %xmm2
leaq 0x115d4a(%rip), %r8     # 0x202884
leaq 0x115d33(%rip), %rdi    # 0x202874
leaq 0x13a138(%rip), %rsi    # 0x226c80
ucomisd %xmm3, %xmm0
jne 0xecb54
jnp 0xecec7
movsd %xmm0, -0x58(%rbp)
cvtsd2ss %xmm0, %xmm0
movss -0x50(%rbp), %xmm2
movaps %xmm2, %xmm1
divss %xmm0, %xmm1
movss %xmm1, -0x34(%rbp)
movaps %xmm2, %xmm0
subss %xmm1, %xmm0
callq 0xe8e15
leaq 0x115cfb(%rip), %rax    # 0x20287c
movl (%rax), %r13d
cvtsi2ss %r13d, %xmm1
movaps %xmm1, -0x70(%rbp)
movss %xmm0, -0x74(%rbp)
leaq 0x115cef(%rip), %rax    # 0x202888
movl (%rax), %eax
addl %r13d, %eax
cvtsi2ss %eax, %xmm0
movaps %xmm0, -0x90(%rbp)
movss -0x34(%rbp), %xmm0
addss -0x50(%rbp), %xmm0
callq 0xe8e15
movsd 0x64b0(%rip), %xmm1     # 0xf3070
ucomisd -0x58(%rbp), %xmm1
jbe 0xecd64
leaq 0x13a11e(%rip), %rax    # 0x226cf0
movsd (%rax), %xmm0
mulsd 0x648a(%rip), %xmm0     # 0xf3068
cvtsd2ss %xmm0, %xmm0
movaps -0xc0(%rbp), %xmm2
movaps %xmm2, %xmm1
subss %xmm0, %xmm1
addss %xmm2, %xmm0
movaps -0x70(%rbp), %xmm4
movaps %xmm4, %xmm2
maxss %xmm1, %xmm2
movaps -0x90(%rbp), %xmm5
movaps %xmm5, %xmm1
cmpless %xmm2, %xmm1
movaps %xmm1, %xmm3
andnps %xmm2, %xmm3
andps %xmm5, %xmm1
orps %xmm3, %xmm1
maxss %xmm0, %xmm4
movaps %xmm5, %xmm0
cmpless %xmm4, %xmm0
movaps %xmm0, %xmm2
andnps %xmm4, %xmm2
andps %xmm5, %xmm0
orps %xmm2, %xmm0
leaq 0x115c47(%rip), %r13    # 0x202880
movl (%r13), %edi
addl %r15d, %edi
cvttss2si %xmm1, %r13d
cvttss2si %xmm0, %ecx
movl %ecx, -0x50(%rbp)
movl %r13d, %esi
movl %edi, %edx
movl -0x2c(%rbp), %r8d
callq 0xdedf
leaq 0x115c1f(%rip), %rax    # 0x202880
movl (%rax), %r8d
addl %r15d, %r8d
leaq 0x115c0a(%rip), %rax    # 0x202878
movl (%rax), %eax
cltd
pushq $-0x3
popq %rsi
idivl %esi
leal (%rax,%r8), %edi
leaq 0x115bef(%rip), %rax    # 0x202870
movl (%rax), %esi
addl %r13d, %esi
movl %r8d, %edx
movl %r13d, %ecx
movl -0x2c(%rbp), %r8d
callq 0xdedf
leaq 0x115be4(%rip), %rax    # 0x202880
movl (%rax), %ecx
addl %r15d, %ecx
leaq 0x115bd0(%rip), %rax    # 0x202878
movl (%rax), %eax
cltd
pushq $0x3
popq %rsi
idivl %esi
leal (%rax,%rcx), %edi
leaq 0x115bb6(%rip), %rax    # 0x202870
movl (%rax), %esi
addl %r13d, %esi
movl %ecx, %edx
movl %r13d, %ecx
movl -0x2c(%rbp), %r8d
callq 0xdedf
leaq 0x115bac(%rip), %rax    # 0x202880
movl (%rax), %r8d
addl %r15d, %r8d
leaq 0x115b97(%rip), %rax    # 0x202878
movl (%rax), %eax
cltd
pushq $-0x3
popq %rcx
idivl %ecx
leal (%rax,%r8), %edi
movl -0x50(%rbp), %r13d
movl %r13d, %esi
leaq 0x115b75(%rip), %rax    # 0x202870
subl (%rax), %esi
movl %r8d, %edx
movl %r13d, %ecx
movl -0x2c(%rbp), %r8d
callq 0xdedf
leaq 0x115b6d(%rip), %rax    # 0x202880
addl (%rax), %r15d
leaq 0x115b5b(%rip), %rax    # 0x202878
movl (%rax), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
leal (%rax,%r15), %edi
movl %r13d, %esi
leaq 0x115b3d(%rip), %rax    # 0x202870
subl (%rax), %esi
movl %r15d, %edx
movl %r13d, %ecx
movl -0x2c(%rbp), %r8d
callq 0xdedf
leaq 0x139f35(%rip), %rsi    # 0x226c80
leaq 0x115b22(%rip), %rdi    # 0x202874
leaq 0x115b2b(%rip), %r8     # 0x202884
xorps %xmm2, %xmm2
xorps %xmm3, %xmm3
jmp 0xecec7
xorpd %xmm1, %xmm1
subss -0x74(%rbp), %xmm1
movss -0x30(%rbp), %xmm5
addss %xmm5, %xmm1
addl -0x98(%rbp), %r13d
cvtsi2ss %r13d, %xmm2
movaps -0xb0(%rbp), %xmm6
divss %xmm6, %xmm1
movss -0x38(%rbp), %xmm7
mulss %xmm7, %xmm1
addss %xmm2, %xmm1
movaps -0x70(%rbp), %xmm8
movaps %xmm8, %xmm3
maxss %xmm1, %xmm3
movaps -0x90(%rbp), %xmm9
movaps %xmm9, %xmm1
cmpless %xmm3, %xmm1
movaps %xmm1, %xmm4
andnps %xmm3, %xmm4
andps %xmm9, %xmm1
orps %xmm4, %xmm1
xorps %xmm3, %xmm3
subss %xmm0, %xmm3
addss %xmm5, %xmm3
divss %xmm6, %xmm3
mulss %xmm7, %xmm3
addss %xmm2, %xmm3
maxss %xmm3, %xmm8
movaps %xmm9, %xmm0
cmpless %xmm8, %xmm0
movaps %xmm0, %xmm2
andnps %xmm8, %xmm2
andps %xmm9, %xmm0
orps %xmm2, %xmm0
movaps %xmm0, %xmm2
subss %xmm1, %xmm2
andps 0x29a79(%rip), %xmm2    # 0x116880
cvtss2sd %xmm2, %xmm2
leaq 0x115a5e(%rip), %rax    # 0x202870
cvtsi2sdl (%rax), %xmm3
ucomisd %xmm3, %xmm2
jb 0xec751
leaq 0x115a59(%rip), %r13    # 0x202880
movl (%r13), %edi
addl %r15d, %edi
cvttss2si %xmm1, %esi
movl %esi, -0x70(%rbp)
cvttss2si %xmm0, %ecx
movl %ecx, -0x50(%rbp)
movl %edi, %edx
movl -0x2c(%rbp), %r13d
movl %r13d, %r8d
callq 0xdedf
leaq 0x115a2f(%rip), %rax    # 0x202880
movl (%rax), %ecx
addl %r15d, %ecx
leaq 0x115a1b(%rip), %rax    # 0x202878
movl (%rax), %eax
cltd
pushq $0x3
popq %rsi
idivl %esi
movl %ecx, %edi
subl %eax, %edi
addl %eax, %ecx
movl -0x70(%rbp), %esi
movl %ecx, %edx
movl %esi, %ecx
movl %r13d, %r8d
callq 0xdedf
leaq 0x1159ff(%rip), %rax    # 0x202880
addl (%rax), %r15d
leaq 0x1159ed(%rip), %rax    # 0x202878
movl (%rax), %eax
cltd
pushq $0x3
popq %rcx
idivl %ecx
movl %r15d, %edi
subl %eax, %edi
addl %eax, %r15d
movl -0x50(%rbp), %ecx
movl %ecx, %esi
movl %r15d, %edx
movl %r13d, %r8d
callq 0xdedf
xorpd %xmm3, %xmm3
xorps %xmm2, %xmm2
leaq 0x1159cb(%rip), %r8     # 0x202884
leaq 0x1159b4(%rip), %rdi    # 0x202874
leaq 0x139db9(%rip), %rsi    # 0x226c80
decl %r14d
decq %r12
jmp 0xecaad