// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathgps.cpp
// Function: show_osc_params(int, int)
void show_osc_params(int row,int col)
{
double dac;
double drift;
double tempco;
char c[10];
int prn;
int color;
int max_row;

   if(zoom_screen == 'O') return;
   if(zoom_screen == 'H') return;

   prn = 0;
   c[0] = 0;

   if(all_adevs) {
      if(SCREEN_WIDTH > NARROW_SCREEN)   col += 3;
      else if(small_font == 1) col -= 3;
   }

////   if((rcvr_type == BRANDY_RCVR) && (have_info & MANUF_PARAMS)) {
   if(rcvr_type == BRANDY_RCVR) {
      row = show_brandy_info(row, col);
   }
   else if(rcvr_type == LPFRS_RCVR) {
      max_row = MOUSE_ROW;
      if(zoom_screen == 'D') {
         max_row = (SCREEN_HEIGHT / TEXT_HEIGHT) - 3;
         col = 3;
      }
//    else if(osc_params) ;
      else if(plot_digital_clock) {
         max_row = (row + 9);
      }
      row = show_lpfrs_info(row,col, max_row);
   }
   else if(rcvr_type == PRS_RCVR) {
      max_row = MOUSE_ROW;
      if(zoom_screen == 'D') {
         max_row = (SCREEN_HEIGHT / TEXT_HEIGHT) - 3;
         col = 3;
      }
//    else if(osc_params) ;
      else if(plot_digital_clock) {
         max_row = (row + 9);
      }
      row = show_prs_info(row,col, max_row);
   }
   else if(rcvr_type == RFTG_RCVR) {
      row = show_rftg_info(row, col);
   }
   else if(rcvr_type == SA35_RCVR) {
      max_row = MOUSE_ROW;
      if(zoom_screen == 'D') {
         max_row = (SCREEN_HEIGHT / TEXT_HEIGHT) - 3;
         col = 3;
      }
//    else if(osc_params) ;
      else if(plot_digital_clock) {
         max_row = (row + 9);
      }
      row = show_sa35_info(row,col, max_row);
   }
   else if(rcvr_type == SRO_RCVR) {
      max_row = MOUSE_ROW;
      if(zoom_screen == 'D') {
         max_row = (SCREEN_HEIGHT / TEXT_HEIGHT) - 3;
         col = 3;
      }
//    else if(osc_params) ;
      else if(plot_digital_clock) {
         max_row = (row + 9);
      }
      row = show_sro_info(row,col, max_row);
   }
   else if(rcvr_type == TICC_RCVR) {
      show_ticc_config(row);
   }
   else if(rcvr_type == X72_RCVR) {
      max_row = MOUSE_ROW;
      if(zoom_screen == 'D') {
         max_row = (SCREEN_HEIGHT / TEXT_HEIGHT) - 3;
         col = 3;
      }
//    else if(osc_params) ;
      else if(plot_digital_clock) {
         max_row = (row + 9);
      }
      row = show_x72_info(row,col, max_row);
   }

   else if(zoom_screen) return;

   else if(rcvr_type == STAR_RCVR) {
      if(have_tc & 0x01) color = WHITE;
      else               color = GREY; 
      sprintf(out, "User time constant: %.0f secs    ", time_constant);
      vidstr(row++, col, color, out);
      if(row >= MOUSE_ROW) goto show_max_sigs;

      if(have_tc & 0x02) color = WHITE;
      else               color = GREY; 
      sprintf(out, "Real time constant: %.0f secs    ", real_time_constant);
      vidstr(row++, col, color, out);
      if(row >= MOUSE_ROW) goto show_max_sigs;

      if(have_gpsdo_ref & 0x02) color = WHITE;
      else                      color = GREY; 
      if(gpsdo_ref) sprintf(out, "GPSDO reference:    AUX PPS    ");
      else          sprintf(out, "GPSDO reference:    GPS        ");
      vidstr(row++, col, color, out);
      if(row >= MOUSE_ROW) goto show_max_sigs;

      if(have_star_hbsq & 0x01) color = WHITE;
      else                     color = GREY;
      sprintf(out, "HBSQ squelch time:  %d mins    ", user_hbsq);
      vidstr(row++, col, color, out);
      if(row >= MOUSE_ROW) goto show_max_sigs;

      if(have_star_hbsq & 0x02) color = WHITE;
      else                     color = GREY;
      sprintf(out, "Time until HBSQ:    %d mins    ", current_hbsq);
      vidstr(row++, col, color, out);
      if(row >= MOUSE_ROW) goto show_max_sigs;

      if(star_type == OSA_TYPE) {
         if(have_star_wtr & 0x01) color = WHITE;
         else                     color = GREY;
         sprintf(out, "Wait to restore:    %d secs    ", star_wtr);
         vidstr(row++, col, color, out);
         if(row >= MOUSE_ROW) goto show_max_sigs;

         if(have_star_wtr & 0x02) color = WHITE;
         else                     color = GREY;
         sprintf(out, "GPS WTR timer:      %d secs    ", star_wtr_timer);
         vidstr(row++, col, color, out);
         if(row >= MOUSE_ROW) goto show_max_sigs;

         if(have_star_wtr & 0x04) color = WHITE;
         else                     color = GREY;
         sprintf(out, "AUX WTR timer:      %d secs    ", star_aux_timer);
         vidstr(row++, col, color, out);
         if(row >= MOUSE_ROW) goto show_max_sigs;
      }
   }
   else if(rcvr_type == TSIP_RCVR) {  //tqtq
      if(have_jam_sync) color = WHITE;
      else color = GREY;
      if(jam_sync < 10.0)       sprintf(out, "Jam sync threshold:   %.3f ns    ", jam_sync);
      else if(jam_sync < 100.0) sprintf(out, "Jam sync threshold:  %.3f ns    ", jam_sync);
      else                      sprintf(out, "Jam sync threshold: %.3f ns    ", jam_sync);
      if(saw_ntpx) vidstr(row++, col, GREY,  out);
      else         vidstr(row++, col, color, out);

      if(have_freq_ofs) color = WHITE;
      else color = GREY;
      if(max_freq_offset < 10.0) sprintf(out, "Max freq offset:      %.3f%s    ", max_freq_offset, ppb_string);
      else                       sprintf(out, "Max freq offset:     %.3f%s    ", max_freq_offset, ppb_string);
      if(saw_ntpx) vidstr(row++, col, GREY,  out);
      else         vidstr(row++, col, color, out);

      if(have_tc) color = WHITE;
      else        color = GREY; 
      sprintf(out, "Time constant:      %.3f secs    ", time_constant);
      vidstr(row++, col, color, out);

      if(have_damp) color = WHITE;
      else          color = GREY; 
      sprintf(out, "Damping factor:       %.3f    ", damping_factor);
      vidstr(row++, col, color, out);

      if(gain_color == YELLOW) color = gain_color;
      else if(have_gain) color = WHITE;
      else color = GREY; 
      sprintf(out, "Osc gain:            %+.6f Hz/V    ", osc_gain);
      vidstr(row++, col, color, out);

      if(have_initv) color = WHITE;
      else           color = GREY; 
      sprintf(out, "Initial DAC voltage: %+.6f V    ", initial_voltage);
      if(saw_ntpx) vidstr(row++, col, GREY,  out);
      else         vidstr(row++, col, color, out);

      if(have_minv) color = WHITE;
      else          color = GREY; 
      sprintf(out, "Min EFC voltage:     %+.6f V    ", min_volts);
      vidstr(row++, col, color, out);

      if(have_maxv) color = WHITE;
      else          color = GREY; 
      sprintf(out, "Max EFC voltage:     %+.6f V    ", max_volts);
      vidstr(row++, col, color, out);

      if(have_dac_range) {
         sprintf(out, "EFC DAC range:       %+.2f to %+.2f V ", min_dac_v, max_dac_v);
         if(saw_ntpx) vidstr(row++, col, GREY,  out);
         else         vidstr(row++, col, WHITE, out);
      }


   
      // Calculate oscillator drift rate per day based upon the dac
      // voltage change over the plot display interval.  This assumes
      // that the temperature is stable.
      dac = plot[DAC].a1;
      drift = (dac * (double) osc_gain) * 24.0*60.0*60.0;  // Hz per day
      sprintf(out, "Osc drift rate: %14.6e parts/day   ", drift/10.0E6F);
      vidstr(row+1, col, WHITE, out);

      // Calculate oscillator freq change with temperature over the plot
      // display interval.  This assumes that the temperature has changed
      // during the display interval.
      tempco = plot[TEMP].a1;  // degrees/sec
      if(tempco) {
         tempco = plot[OSC].a1 / tempco;  // (ppb/sec) divided by (degrees/sec)
         tempco /= (-1.0E9);              // convert ppb/degree C into parts/C
         sprintf(out, "Osc tempco:     %14.6e parts/%cC   ", tempco, DEGREES);
         vidstr(row+2, col, WHITE, out);
      }
   }
   else if(rcvr_type == UCCM_RCVR) {
      if(have_pullin) color = WHITE;
      else            color = GREY; 
      sprintf(out, "Pullin range:       %3d PPB      ", pullin_range);
      vidstr(row++, col, color, out);
   }

   show_max_sigs:
#ifdef SIG_LEVELS
if(rcvr_type != RFTG_RCVR) {
   show_max_signals();
}
#endif

   if(0) {  // alternate osc parameter calculations
      if(view_interval == 0) return;
      if(plot_mag == 0) return;
      if(plot[DAC].stat_count == 0.0) return;
      if(plot[OSC].stat_count == 0.0) return;
      ++row;

      dac = plot[DAC].sum_change / plot[DAC].stat_count / view_interval;
      dac /= plot_mag;
      drift = (dac * (double) osc_gain) * 24.0*60.0*60.0;  // Hz per day
      sprintf(out, "Osc drift rate: %14.6e parts/day   ", drift/10.0E6F);
      vidstr(row++, col, WHITE, out);

      tempco = plot[TEMP].sum_change / plot[TEMP].stat_count / view_interval;
      tempco /= plot_mag;
      if(tempco) {
         tempco = (plot[OSC].sum_change/plot[OSC].stat_count/view_interval) / tempco;  // (ppb/sec) divided by (degrees/sec)
         tempco /= (-1.0E9);              // convert ppb/degree C into parts/C
         sprintf(out, "Osc tempco:     %14.6e parts/%cC   ", tempco, DEGREES);
         vidstr(row++, col, WHITE, out);
      }
   }

   return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
leaq 0x25cea0(%rip), %rax    # 0x30c7a8
movzbl (%rax), %eax
cmpl $0x48, %eax
je 0xafd09
cmpl $0x4f, %eax
je 0xafd09
movl %esi, %ebx
movl %edi, %r14d
leaq 0x18d415(%rip), %rcx    # 0x23cd3e
cmpb $0x0, (%rcx)
je 0xaf974
leaq 0x168ecb(%rip), %rcx    # 0x218800
leaq 0x173c08(%rip), %rdx    # 0x223544
imull $0x31a, (%rdx), %edx    # imm = 0x31A
movslq %edx, %rdx
imulq $0x51eb851f, %rdx, %rdx # imm = 0x51EB851F
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
cmpl %edx, (%rcx)
jle 0xaf962
addl $0x3, %ebx
jmp 0xaf974
leaq 0x168ef0(%rip), %rcx    # 0x218859
cmpb $0x1, (%rcx)
leal -0x3(%rbx), %ecx
cmovnel %ebx, %ecx
movl %ecx, %ebx
leaq 0x168f55(%rip), %r15    # 0x2188d0
movq (%r15), %rcx
cmpq $0x1ffffff, %rcx        # imm = 0x1FFFFFF
jg 0xaf9b9
cmpq $0x3fffff, %rcx         # imm = 0x3FFFFF
jg 0xafa0a
cmpq $0x10000, %rcx          # imm = 0x10000
je 0xafa98
cmpq $0x40000, %rcx          # imm = 0x40000
jne 0xafb08
movl %r14d, %edi
movl %ebx, %esi
callq 0xaedf0
jmp 0xafcfd
cmpq $0xfffffff, %rcx        # imm = 0xFFFFFFF
jg 0xafa4e
cmpq $0x2000000, %rcx        # imm = 0x2000000
je 0xafaa5
cmpq $0x8000000, %rcx        # imm = 0x8000000
jne 0xafb08
cmpb $0x44, %al
jne 0xafc6a
leaq 0x168e15(%rip), %rax    # 0x218804
movl (%rax), %eax
leaq 0x168e1c(%rip), %rcx    # 0x218814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
movl $0x3, %ebx
jmp 0xafcd3
cmpq $0x400000, %rcx         # imm = 0x400000
je 0xafacf
cmpq $0x1000000, %rcx        # imm = 0x1000000
jne 0xafb08
cmpb $0x44, %al
jne 0xafc81
leaq 0x168dd1(%rip), %rax    # 0x218804
movl (%rax), %eax
leaq 0x168dd8(%rip), %rcx    # 0x218814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
movl $0x3, %ebx
jmp 0xafce3
cmpq $0x10000000, %rcx       # imm = 0x10000000
je 0xafade
movabsq $0x1000000000, %rdx     # imm = 0x1000000000
cmpq %rdx, %rcx
jne 0xafb08
cmpb $0x44, %al
jne 0xafc98
leaq 0x168d87(%rip), %rax    # 0x218804
movl (%rax), %eax
leaq 0x168d8e(%rip), %rcx    # 0x218814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
movl $0x3, %ebx
jmp 0xafcf3
movl %r14d, %edi
callq 0xb03b8
jmp 0xafcfd
cmpb $0x44, %al
jne 0xafc3c
leaq 0x168d50(%rip), %rax    # 0x218804
movl (%rax), %eax
leaq 0x168d57(%rip), %rcx    # 0x218814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
movl $0x3, %ebx
jmp 0xafcb3
movl %r14d, %edi
movl %ebx, %esi
callq 0xaf11e
jmp 0xafcfd
cmpb $0x44, %al
jne 0xafc53
leaq 0x168d17(%rip), %rax    # 0x218804
movl (%rax), %eax
leaq 0x168d1e(%rip), %rcx    # 0x218814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
movl $0x3, %ebx
jmp 0xafcc3
testb %al, %al
jne 0xafd09
cmpq $0x1, %rcx
je 0xafd75
cmpq $0x8, %rcx
je 0xafd2b
cmpq $0x1000, %rcx           # imm = 0x1000
jne 0xafd00
leaq 0x25d7b8(%rip), %rax    # 0x30d2f0
testb $0x1, (%rax)
leaq 0x25d5ae(%rip), %rax    # 0x30d0f0
movsd (%rax), %xmm0
leaq 0x77083(%rip), %rsi     # 0x126bd0
leaq 0x28c6cc(%rip), %rdi    # 0x33c220
movl $0x8, %eax
movl $0xf, %r13d
cmovel %eax, %r13d
movb $0x1, %al
callq 0x9060
leal 0x1(%r14), %r12d
movl %r14d, %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x28c6a3(%rip), %rcx    # 0x33c220
callq 0xe787
leaq 0x168c1f(%rip), %rax    # 0x2187a8
cmpl (%rax), %r12d
jge 0xafcfd
leaq 0x25d757(%rip), %rax    # 0x30d2f0
testb $0x2, (%rax)
leaq 0x25d555(%rip), %rax    # 0x30d0f8
movsd (%rax), %xmm0
leaq 0x77044(%rip), %rsi     # 0x126bf2
leaq 0x28c66b(%rip), %rdi    # 0x33c220
movl $0xf, %r13d
movl $0x8, %eax
cmovel %eax, %r13d
movb $0x1, %al
callq 0x9060
leal 0x2(%r14), %eax
movl %eax, -0x2c(%rbp)
movl %r12d, %edi
leaq 0x28c644(%rip), %r12    # 0x33c220
movl %ebx, %esi
movl %r13d, %edx
movq %r12, %rcx
callq 0xe787
movl -0x2c(%rbp), %edi
leaq 0x168bb5(%rip), %rax    # 0x2187a8
cmpl (%rax), %edi
jge 0xafcfd
leaq 0x25d082(%rip), %rax    # 0x30cc84
testb $0x2, (%rax)
movl $0x8, %ecx
movl $0xf, %eax
cmovel %ecx, %eax
leaq 0x25d067(%rip), %rcx    # 0x30cc80
cmpl $0x0, (%rcx)
je 0xb01c2
movups 0x76ffb(%rip), %xmm0    # 0x126c24
movaps %xmm0, 0x10(%r12)
movupd 0x76fdd(%rip), %xmm0    # 0x126c14
jmp 0xb01d7
leaq 0x16b7a2(%rip), %rax    # 0x21b3e5
cmpb $0x0, (%rax)
jne 0xafcaf
leaq 0x168b59(%rip), %rax    # 0x2187a8
movl (%rax), %edx
jmp 0xafcb3
leaq 0x16b78b(%rip), %rax    # 0x21b3e5
cmpb $0x0, (%rax)
jne 0xafcbf
leaq 0x168b42(%rip), %rax    # 0x2187a8
movl (%rax), %edx
jmp 0xafcc3
leaq 0x16b774(%rip), %rax    # 0x21b3e5
cmpb $0x0, (%rax)
jne 0xafccf
leaq 0x168b2b(%rip), %rax    # 0x2187a8
movl (%rax), %edx
jmp 0xafcd3
leaq 0x16b75d(%rip), %rax    # 0x21b3e5
cmpb $0x0, (%rax)
jne 0xafcdf
leaq 0x168b14(%rip), %rax    # 0x2187a8
movl (%rax), %edx
jmp 0xafce3
leaq 0x16b746(%rip), %rax    # 0x21b3e5
cmpb $0x0, (%rax)
jne 0xafcef
leaq 0x168afd(%rip), %rax    # 0x2187a8
movl (%rax), %edx
jmp 0xafcf3
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xc9bdc
jmp 0xafcfd
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xc7edc
jmp 0xafcfd
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xc8441
jmp 0xafcfd
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xc8bd8
jmp 0xafcfd
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xc81f5
movq (%r15), %rcx
cmpq $0x400000, %rcx         # imm = 0x400000
jne 0xafd18
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xaea31
leaq 0x25d43e(%rip), %rax    # 0x30d170
cmpl $0x0, (%rax)
leaq 0x25d430(%rip), %rax    # 0x30d16c
movl (%rax), %edx
leaq 0x7718a(%rip), %rsi     # 0x126ecf
leaq 0x28c4d4(%rip), %r13    # 0x33c220
movl $0x8, %eax
movl $0xf, %r12d
cmovel %eax, %r12d
movq %r13, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
movl %ebx, %esi
movl %r12d, %edx
movq %r13, %rcx
jmp 0xb01b8
leaq 0x25d594(%rip), %rax    # 0x30d310
cmpl $0x0, (%rax)
movl $0x8, %eax
movl $0xf, %r13d
cmovel %eax, %r13d
leaq 0x25d3ab(%rip), %rax    # 0x30d140
movsd (%rax), %xmm0
movsd 0x592bf(%rip), %xmm1    # 0x109060
ucomisd %xmm0, %xmm1
leaq 0x76f6a(%rip), %rax     # 0x126d16
leaq 0x76f84(%rip), %rcx     # 0x126d37
cmovaq %rax, %rcx
movsd 0x592e9(%rip), %xmm1    # 0x1090a8
ucomisd %xmm0, %xmm1
leaq 0x76f2a(%rip), %rsi     # 0x126cf4
cmovbeq %rcx, %rsi
leaq 0x28c44b(%rip), %r12    # 0x33c220
movq %r12, %rdi
movb $0x1, %al
callq 0x9060
leaq 0x18f156(%rip), %rax    # 0x23ef3c
cmpb $0x0, (%rax)
movl $0x8, %eax
cmovnel %eax, %r13d
movl %r14d, %edi
movl %ebx, %esi
movl %r13d, %edx
movq %r12, %rcx
callq 0xe787
leaq 0x25d50b(%rip), %rax    # 0x30d314
cmpl $0x0, (%rax)
movl $0xf, %r13d
movl $0x8, %eax
cmovel %eax, %r13d
leaq 0x25d326(%rip), %rax    # 0x30d148
movsd (%rax), %xmm0
movsd 0x5927a(%rip), %xmm1    # 0x1090a8
ucomisd %xmm0, %xmm1
leaq 0x76f1e(%rip), %rax     # 0x126d57
leaq 0x76f38(%rip), %rsi     # 0x126d78
cmovaq %rax, %rsi
leal 0x1(%r14), %r12d
leaq 0x28f7c9(%rip), %rax    # 0x33f618
movq (%rax), %rdx
leaq 0x28c3c7(%rip), %rdi    # 0x33c220
movb $0x1, %al
callq 0x9060
leaq 0x18f0d5(%rip), %rax    # 0x23ef3c
cmpb $0x0, (%rax)
movl $0x8, %eax
cmovnel %eax, %r13d
movl %r12d, %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x28c39e(%rip), %rcx    # 0x33c220
callq 0xe787
leal 0x2(%r14), %r12d
leaq 0x25d45e(%rip), %rax    # 0x30d2f0
cmpl $0x0, (%rax)
leaq 0x25d254(%rip), %rax    # 0x30d0f0
movsd (%rax), %xmm0
leaq 0x76ef1(%rip), %rsi     # 0x126d98
movl $0xf, %r13d
movl $0x8, %eax
cmovel %eax, %r13d
leaq 0x28c363(%rip), %rdi    # 0x33c220
movb $0x1, %al
callq 0x9060
leal 0x3(%r14), %eax
movl %eax, -0x30(%rbp)
movl %r12d, %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x28c346(%rip), %r13    # 0x33c220
movq %r13, %rcx
callq 0xe787
leaq 0x25d40b(%rip), %rax    # 0x30d2f4
cmpl $0x0, (%rax)
leaq 0x25d20d(%rip), %rax    # 0x30d100
movsd (%rax), %xmm0
leaq 0x76ebc(%rip), %rsi     # 0x126dba
movl $0xf, %r12d
movl $0x8, %eax
cmovel %eax, %r12d
movq %r13, %rdi
movb $0x1, %al
callq 0x9060
leal 0x4(%r14), %eax
movl %eax, -0x2c(%rbp)
movl -0x30(%rbp), %edi
movl %ebx, %esi
movl %r12d, %edx
movq %r13, %rcx
callq 0xe787
leaq 0x25d233(%rip), %rax    # 0x30d168
movl (%rax), %eax
leaq 0x25d3ba(%rip), %rcx    # 0x30d2f8
cmpl $0x0, (%rcx)
movl $0xf, %r12d
movl $0x8, %ecx
cmovel %ecx, %r12d
cmpl $0xe, %eax
cmovel %eax, %r12d
leaq 0x25d1aa(%rip), %rax    # 0x30d108
movsd (%rax), %xmm0
leaq 0x76e70(%rip), %rsi     # 0x126dd9
movq %r13, %rdi
movb $0x1, %al
callq 0x9060
leal 0x5(%r14), %eax
movl %eax, -0x30(%rbp)
movzbl %r12b, %edx
movl -0x2c(%rbp), %edi
movl %ebx, %esi
movq %r13, %rcx
callq 0xe787
leaq 0x25d36e(%rip), %rax    # 0x30d300
leaq 0x25d1b7(%rip), %rcx    # 0x30d150
movsd (%rcx), %xmm0
cmpl $0x0, (%rax)
leaq 0x76e56(%rip), %rsi     # 0x126dfd
movl $0xf, %r12d
movl $0x8, %eax
cmovel %eax, %r12d
movq %r13, %rdi
movb $0x1, %al
callq 0x9060
leaq 0x18ef75(%rip), %rax    # 0x23ef3c
cmpb $0x0, (%rax)
movl $0x8, %eax
cmovnel %eax, %r12d
movl -0x30(%rbp), %edi
movl %ebx, %esi
movl %r12d, %edx
movq %r13, %r12
movq %r13, %rcx
callq 0xe787
leal 0x6(%r14), %eax
movl %eax, -0x30(%rbp)
leaq 0x25d310(%rip), %rax    # 0x30d304
cmpl $0x0, (%rax)
leaq 0x25d122(%rip), %rax    # 0x30d120
movsd (%rax), %xmm0
leaq 0x76e15(%rip), %rsi     # 0x126e1e
movl $0xf, %r13d
movl $0x8, %eax
cmovel %eax, %r13d
movq %r12, %rdi
movb $0x1, %al
callq 0x9060
leal 0x7(%r14), %eax
movl %eax, -0x2c(%rbp)
movl -0x30(%rbp), %edi
movl %ebx, %esi
movl %r13d, %edx
movq %r12, %r13
movq %r12, %rcx
callq 0xe787
leaq 0x25d2c5(%rip), %rax    # 0x30d308
cmpl $0x0, (%rax)
leaq 0x25d0db(%rip), %rax    # 0x30d128
movsd (%rax), %xmm0
leaq 0x76de7(%rip), %rsi     # 0x126e3f
movl $0xf, %r12d
movl $0x8, %eax
cmovel %eax, %r12d
movq %r13, %rdi
movb $0x1, %al
callq 0x9060
movl $0x8, %eax
leal (%r14,%rax), %r13d
movl -0x2c(%rbp), %edi
movl %ebx, %esi
movl %r12d, %edx
leaq 0x28c197(%rip), %rcx    # 0x33c220
callq 0xe787
leaq 0x25d277(%rip), %rax    # 0x30d30c
cmpl $0x0, (%rax)
je 0xb00f3
leaq 0x25d08f(%rip), %rax    # 0x30d130
movsd (%rax), %xmm0
leaq 0x25d08c(%rip), %rax    # 0x30d138
movsd (%rax), %xmm1
leaq 0x28c169(%rip), %r12    # 0x33c220
leaq 0x76da2(%rip), %rsi     # 0x126e60
movq %r12, %rdi
movb $0x2, %al
callq 0x9060
addl $0x9, %r14d
leaq 0x18ee69(%rip), %rax    # 0x23ef3c
cmpb $0x0, (%rax)
movl $0x8, %edx
movl $0xf, %eax
cmovel %eax, %edx
movl %r13d, %edi
movl %ebx, %esi
movq %r12, %rcx
callq 0xe787
movl %r14d, %r13d
leaq 0xadc36(%rip), %r12     # 0x15dd30
movsd 0x268(%r12), %xmm0
leaq 0x25cffd(%rip), %rax    # 0x30d108
mulsd (%rax), %xmm0
mulsd 0x58f29(%rip), %xmm0    # 0x109040
movsd 0x58ee9(%rip), %xmm1    # 0x109008
mulsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
divsd 0x5b7a9(%rip), %xmm0    # 0x10b8d8
leaq 0x28c0ea(%rip), %r14    # 0x33c220
leaq 0x76d4a(%rip), %rsi     # 0x126e87
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r13), %edi
movl %ebx, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe787
movsd 0x350(%r12), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0xb0174
jnp 0xafcfd
movsd 0x180(%r12), %xmm0
divsd %xmm1, %xmm0
divsd 0x6e686(%rip), %xmm0    # 0x11e810
leaq 0x28c08f(%rip), %r14    # 0x33c220
leaq 0x76d13(%rip), %rsi     # 0x126eab
movq %r14, %rdi
movl $0x1, %edx
movb $0x1, %al
callq 0x9060
addl $0x2, %r13d
movl %r13d, %edi
movl %ebx, %esi
movl $0xf, %edx
movq %r14, %rcx
callq 0xe787
jmp 0xafcfd
movups 0x76a7b(%rip), %xmm0    # 0x126c44
movaps %xmm0, 0x10(%r12)
movupd 0x76a5d(%rip), %xmm0    # 0x126c34
movapd %xmm0, (%r12)
leal 0x3(%r14), %r12d
movzbl %al, %edx
leaq 0x28c035(%rip), %rcx    # 0x33c220
movl %ebx, %esi
callq 0xe787
leaq 0x1685af(%rip), %rax    # 0x2187a8
cmpl (%rax), %r12d
jge 0xafcfd
leaq 0x28db3f(%rip), %rax    # 0x33dd48
testb $0x1, (%rax)
leaq 0x28db2d(%rip), %rax    # 0x33dd40
movl (%rax), %edx
leaq 0x76a38(%rip), %rsi     # 0x126c54
leaq 0x28bffd(%rip), %rdi    # 0x33c220
movl $0x8, %eax
movl $0xf, %r13d
cmovel %eax, %r13d
xorl %eax, %eax
callq 0x9060
movl %r12d, %edi
leal 0x4(%r14), %r12d
movl %ebx, %esi
movl %r13d, %edx
leaq 0x28bfd4(%rip), %rcx    # 0x33c220
callq 0xe787
leaq 0x168550(%rip), %rax    # 0x2187a8
movl %r12d, -0x2c(%rbp)
cmpl (%rax), %r12d
jge 0xafcfd
leaq 0x28dadc(%rip), %rax    # 0x33dd48
testb $0x2, (%rax)
leaq 0x28dace(%rip), %rax    # 0x33dd44
movl (%rax), %edx
leaq 0x769f5(%rip), %rsi     # 0x126c74
leaq 0x28bf9a(%rip), %rdi    # 0x33c220
movl $0xf, %r13d
movl $0x8, %eax
cmovel %eax, %r13d
xorl %eax, %eax
callq 0x9060
leal 0x5(%r14), %r12d
movl -0x2c(%rbp), %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x28bf71(%rip), %rcx    # 0x33c220
callq 0xe787
leaq 0x1684ed(%rip), %rax    # 0x2187a8
movl %r12d, -0x2c(%rbp)
cmpl (%rax), %r12d
jge 0xafcfd
leaq 0x16ad19(%rip), %rax    # 0x21afe8
cmpl $0x4f, (%rax)
jne 0xafcfd
leaq 0x25d0f9(%rip), %rax    # 0x30d3d8
testb $0x1, (%rax)
leaq 0x28da47(%rip), %rax    # 0x33dd30
movl (%rax), %edx
leaq 0x769a2(%rip), %rsi     # 0x126c94
leaq 0x28bf27(%rip), %rdi    # 0x33c220
movl $0x8, %eax
movl $0xf, %r13d
cmovel %eax, %r13d
xorl %eax, %eax
callq 0x9060
leal 0x6(%r14), %r12d
movl -0x2c(%rbp), %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x28befe(%rip), %rcx    # 0x33c220
callq 0xe787
leaq 0x16847a(%rip), %rax    # 0x2187a8
movl %r12d, -0x2c(%rbp)
cmpl (%rax), %r12d
jge 0xafcfd
leaq 0x25d096(%rip), %rax    # 0x30d3d8
testb $0x2, (%rax)
leaq 0x28d9e8(%rip), %rax    # 0x33dd34
movl (%rax), %edx
leaq 0x7695f(%rip), %rsi     # 0x126cb4
leaq 0x28bec4(%rip), %r12    # 0x33c220
movl $0xf, %r13d
movl $0x8, %eax
cmovel %eax, %r13d
movq %r12, %rdi
xorl %eax, %eax
callq 0x9060
addl $0x7, %r14d
movl -0x2c(%rbp), %edi
movl %ebx, %esi
movl %r13d, %edx
movq %r12, %rcx
callq 0xe787
leaq 0x168418(%rip), %rax    # 0x2187a8
cmpl (%rax), %r14d
jge 0xafcfd
leaq 0x25d038(%rip), %rax    # 0x30d3d8
testb $0x4, (%rax)
leaq 0x28d98e(%rip), %rax    # 0x33dd38
movl (%rax), %edx
leaq 0x76921(%rip), %rsi     # 0x126cd4
jmp 0xafd45