// File: /workspace/github_cpp_makefile_star2_O2/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 0x257019(%rip), %rax    # 0x2f67a8
movzbl (%rax), %ecx
cmpl $0x48, %ecx
je 0x9fb3f
cmpl $0x4f, %ecx
je 0x9fb3f
movl %esi, %ebx
movl %edi, %r14d
leaq 0x18758e(%rip), %rax    # 0x226d3e
cmpb $0x0, (%rax)
je 0x9f7ec
leaq 0x163044(%rip), %rax    # 0x202800
movl (%rax), %esi
leaq 0x16dd7f(%rip), %rax    # 0x20d544
imull $0x31a, (%rax), %eax    # imm = 0x31A
pushq $0x64
popq %rdi
cltd
idivl %edi
cmpl %eax, %esi
jle 0x9f7da
addl $0x3, %ebx
jmp 0x9f7ec
leaq 0x163078(%rip), %rax    # 0x202859
cmpb $0x1, (%rax)
leal -0x3(%rbx), %eax
cmovnel %ebx, %eax
movl %eax, %ebx
leaq 0x1630dd(%rip), %r15    # 0x2028d0
movq (%r15), %rax
cmpq $0x10000, %rax          # imm = 0x10000
je 0x9fa66
movabsq $0x1000000000, %rdx     # imm = 0x1000000000
cmpq %rdx, %rax
je 0x9f8db
cmpq $0x400000, %rax         # imm = 0x400000
je 0x9fa57
cmpq $0x1000000, %rax        # imm = 0x1000000
je 0x9fa2e
cmpq $0x2000000, %rax        # imm = 0x2000000
je 0x9f860
cmpq $0x8000000, %rax        # imm = 0x8000000
je 0x9f8b2
cmpq $0x10000000, %rax       # imm = 0x10000000
je 0x9f889
cmpq $0x40000, %rax          # imm = 0x40000
jne 0x9f904
movl %r14d, %edi
movl %ebx, %esi
callq 0x9ecc0
jmp 0x9fb34
cmpb $0x44, %cl
jne 0x9fa73
leaq 0x162f94(%rip), %rax    # 0x202804
movl (%rax), %eax
leaq 0x162f9b(%rip), %rcx    # 0x202814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
pushq $0x3
popq %rbx
jmp 0x9faea
cmpb $0x44, %cl
jne 0x9fa8a
leaq 0x162f6b(%rip), %rax    # 0x202804
movl (%rax), %eax
leaq 0x162f72(%rip), %rcx    # 0x202814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
pushq $0x3
popq %rbx
jmp 0x9fafa
cmpb $0x44, %cl
jne 0x9faa1
leaq 0x162f42(%rip), %rax    # 0x202804
movl (%rax), %eax
leaq 0x162f49(%rip), %rcx    # 0x202814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
pushq $0x3
popq %rbx
jmp 0x9fb0a
cmpb $0x44, %cl
jne 0x9fab8
leaq 0x162f19(%rip), %rax    # 0x202804
movl (%rax), %eax
leaq 0x162f20(%rip), %rcx    # 0x202814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
pushq $0x3
popq %rbx
jmp 0x9fb1a
testb %cl, %cl
jne 0x9fb3f
cmpq $0x1, %rax
je 0x9fba7
cmpq $0x8, %rax
je 0x9fb61
cmpq $0x1000, %rax           # imm = 0x1000
jne 0x9fb37
leaq 0x2579bd(%rip), %rax    # 0x2f72f0
testb $0x1, (%rax)
leaq 0x2577b3(%rip), %rax    # 0x2f70f0
movsd (%rax), %xmm0
leaq 0x711cd(%rip), %rsi     # 0x110b15
leaq 0x2868d1(%rip), %rdi    # 0x326220
pushq $0x8
popq %rax
pushq $0xf
popq %r13
cmovel %eax, %r13d
movb $0x1, %al
callq 0x9060
leal 0x1(%r14), %r12d
movl %r14d, %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x2868ac(%rip), %rcx    # 0x326220
callq 0xe2d2
leaq 0x162e28(%rip), %rax    # 0x2027a8
cmpl (%rax), %r12d
jge 0x9fb34
movl %r12d, %r13d
leaq 0x25795d(%rip), %rax    # 0x2f72f0
testb $0x2, (%rax)
leaq 0x25775b(%rip), %rax    # 0x2f70f8
movsd (%rax), %xmm0
leaq 0x7118f(%rip), %rsi     # 0x110b37
leaq 0x286871(%rip), %rdi    # 0x326220
pushq $0xf
popq %r12
pushq $0x8
popq %rax
cmovel %eax, %r12d
movb $0x1, %al
callq 0x9060
leal 0x2(%r14), %eax
movl %eax, -0x2c(%rbp)
movl %r13d, %edi
movl %ebx, %esi
movl %r12d, %edx
leaq 0x286849(%rip), %r12    # 0x326220
movq %r12, %rcx
callq 0xe2d2
movl -0x2c(%rbp), %edi
leaq 0x162dbf(%rip), %rax    # 0x2027a8
cmpl (%rax), %edi
jge 0x9fb34
leaq 0x25728c(%rip), %rax    # 0x2f6c84
testb $0x2, (%rax)
pushq $0xf
popq %rax
pushq $0x8
popq %rcx
cmovel %ecx, %eax
leaq 0x257275(%rip), %rcx    # 0x2f6c80
cmpl $0x0, (%rcx)
je 0x9ffc2
movups 0x7114e(%rip), %xmm0    # 0x110b69
movaps %xmm0, 0x10(%r12)
movupd 0x71130(%rip), %xmm0    # 0x110b59
jmp 0x9ffd7
cmpb $0x44, %cl
jne 0x9facf
leaq 0x162dc6(%rip), %rax    # 0x202804
movl (%rax), %eax
leaq 0x162dcd(%rip), %rcx    # 0x202814
cltd
idivl (%rcx)
movl %eax, %edx
addl $-0x3, %edx
pushq $0x3
popq %rbx
jmp 0x9fb2a
movl %r14d, %edi
movl %ebx, %esi
callq 0x9efd8
jmp 0x9fb34
movl %r14d, %edi
callq 0xa01d1
jmp 0x9fb34
leaq 0x16596b(%rip), %rax    # 0x2053e5
cmpb $0x0, (%rax)
jne 0x9fae6
leaq 0x162d22(%rip), %rax    # 0x2027a8
movl (%rax), %edx
jmp 0x9faea
leaq 0x165954(%rip), %rax    # 0x2053e5
cmpb $0x0, (%rax)
jne 0x9faf6
leaq 0x162d0b(%rip), %rax    # 0x2027a8
movl (%rax), %edx
jmp 0x9fafa
leaq 0x16593d(%rip), %rax    # 0x2053e5
cmpb $0x0, (%rax)
jne 0x9fb06
leaq 0x162cf4(%rip), %rax    # 0x2027a8
movl (%rax), %edx
jmp 0x9fb0a
leaq 0x165926(%rip), %rax    # 0x2053e5
cmpb $0x0, (%rax)
jne 0x9fb16
leaq 0x162cdd(%rip), %rax    # 0x2027a8
movl (%rax), %edx
jmp 0x9fb1a
leaq 0x16590f(%rip), %rax    # 0x2053e5
cmpb $0x0, (%rax)
jne 0x9fb26
leaq 0x162cc6(%rip), %rax    # 0x2027a8
movl (%rax), %edx
jmp 0x9fb2a
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xb87da
jmp 0x9fb34
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xb6b75
jmp 0x9fb34
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xb70b8
jmp 0x9fb34
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xb6e78
jmp 0x9fb34
leal 0x9(%r14), %edx
movl %r14d, %edi
movl %ebx, %esi
callq 0xb7811
movq (%r15), %rax
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x9fb4e
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 0x9e987
leaq 0x257608(%rip), %rax    # 0x2f7170
cmpl $0x0, (%rax)
leaq 0x2575fa(%rip), %rax    # 0x2f716c
movl (%rax), %edx
leaq 0x71299(%rip), %rsi     # 0x110e14
leaq 0x28669e(%rip), %r13    # 0x326220
pushq $0x8
popq %rax
pushq $0xf
popq %r12
cmovel %eax, %r12d
movq %r13, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
movl %ebx, %esi
movl %r12d, %edx
movq %r13, %rcx
jmp 0x9ffb8
leaq 0x257762(%rip), %rax    # 0x2f7310
cmpl $0x0, (%rax)
pushq $0x8
popq %rax
pushq $0xf
popq %r13
cmovel %eax, %r13d
leaq 0x25757d(%rip), %rax    # 0x2f7140
movsd (%rax), %xmm0
movsd 0x53491(%rip), %xmm1    # 0xf3060
ucomisd %xmm0, %xmm1
leaq 0x71081(%rip), %rax     # 0x110c5b
leaq 0x7109b(%rip), %rcx     # 0x110c7c
cmovaq %rax, %rcx
movsd 0x534bb(%rip), %xmm1    # 0xf30a8
ucomisd %xmm0, %xmm1
leaq 0x71041(%rip), %rsi     # 0x110c39
cmovbeq %rcx, %rsi
leaq 0x28661d(%rip), %r12    # 0x326220
movq %r12, %rdi
movb $0x1, %al
callq 0x9060
leaq 0x189328(%rip), %rax    # 0x228f3c
cmpb $0x0, (%rax)
pushq $0x8
popq %rax
cmovnel %eax, %r13d
movl %r14d, %edi
movl %ebx, %esi
movl %r13d, %edx
movq %r12, %rcx
callq 0xe2d2
leaq 0x2576df(%rip), %rax    # 0x2f7314
cmpl $0x0, (%rax)
pushq $0xf
popq %r13
pushq $0x8
popq %rax
cmovel %eax, %r13d
leaq 0x2574fe(%rip), %rax    # 0x2f7148
movsd (%rax), %xmm0
movsd 0x53452(%rip), %xmm1    # 0xf30a8
ucomisd %xmm0, %xmm1
leaq 0x7103b(%rip), %rax     # 0x110c9c
leaq 0x71055(%rip), %rsi     # 0x110cbd
cmovaq %rax, %rsi
leal 0x1(%r14), %r12d
leaq 0x2899a1(%rip), %rax    # 0x329618
movq (%rax), %rdx
leaq 0x28659f(%rip), %rdi    # 0x326220
movb $0x1, %al
callq 0x9060
leaq 0x1892ad(%rip), %rax    # 0x228f3c
cmpb $0x0, (%rax)
pushq $0x8
popq %rax
cmovnel %eax, %r13d
movl %r12d, %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x286578(%rip), %rcx    # 0x326220
callq 0xe2d2
leal 0x2(%r14), %r12d
leaq 0x257638(%rip), %rax    # 0x2f72f0
cmpl $0x0, (%rax)
leaq 0x25742e(%rip), %rax    # 0x2f70f0
movsd (%rax), %xmm0
leaq 0x71010(%rip), %rsi     # 0x110cdd
pushq $0xf
popq %r13
pushq $0x8
popq %rax
cmovel %eax, %r13d
leaq 0x286541(%rip), %rdi    # 0x326220
movb $0x1, %al
callq 0x9060
leal 0x3(%r14), %eax
movl %eax, -0x30(%rbp)
movl %r12d, %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x286524(%rip), %r13    # 0x326220
movq %r13, %rcx
callq 0xe2d2
leaq 0x2575e9(%rip), %rax    # 0x2f72f4
cmpl $0x0, (%rax)
leaq 0x2573eb(%rip), %rax    # 0x2f7100
movsd (%rax), %xmm0
leaq 0x70fdf(%rip), %rsi     # 0x110cff
pushq $0xf
popq %r12
pushq $0x8
popq %rax
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 0xe2d2
leaq 0x257415(%rip), %rax    # 0x2f7168
movl (%rax), %eax
leaq 0x25759c(%rip), %rcx    # 0x2f72f8
cmpl $0x0, (%rcx)
pushq $0xf
popq %r12
pushq $0x8
popq %rcx
cmovel %ecx, %r12d
cmpl $0xe, %eax
cmovel %eax, %r12d
leaq 0x257390(%rip), %rax    # 0x2f7108
movsd (%rax), %xmm0
leaq 0x70f9b(%rip), %rsi     # 0x110d1e
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 0xe2d2
leaq 0x257554(%rip), %rax    # 0x2f7300
leaq 0x25739d(%rip), %rcx    # 0x2f7150
movsd (%rcx), %xmm0
cmpl $0x0, (%rax)
leaq 0x70f81(%rip), %rsi     # 0x110d42
pushq $0xf
popq %r12
pushq $0x8
popq %rax
cmovel %eax, %r12d
movq %r13, %rdi
movb $0x1, %al
callq 0x9060
leaq 0x18915f(%rip), %rax    # 0x228f3c
cmpb $0x0, (%rax)
pushq $0x8
popq %rax
cmovnel %eax, %r12d
movl -0x30(%rbp), %edi
movl %ebx, %esi
movl %r12d, %edx
movq %r13, %r12
movq %r13, %rcx
callq 0xe2d2
leal 0x6(%r14), %eax
movl %eax, -0x30(%rbp)
leaq 0x2574fc(%rip), %rax    # 0x2f7304
cmpl $0x0, (%rax)
leaq 0x25730e(%rip), %rax    # 0x2f7120
movsd (%rax), %xmm0
leaq 0x70f46(%rip), %rsi     # 0x110d63
pushq $0xf
popq %r13
pushq $0x8
popq %rax
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 0xe2d2
leaq 0x2574b5(%rip), %rax    # 0x2f7308
cmpl $0x0, (%rax)
leaq 0x2572cb(%rip), %rax    # 0x2f7128
movsd (%rax), %xmm0
leaq 0x70f1c(%rip), %rsi     # 0x110d84
pushq $0xf
popq %r12
pushq $0x8
popq %rax
cmovel %eax, %r12d
movq %r13, %rdi
movb $0x1, %al
callq 0x9060
pushq $0x8
popq %rax
leal (%r14,%rax), %r13d
movl -0x2c(%rbp), %edi
movl %ebx, %esi
movl %r12d, %edx
leaq 0x28638d(%rip), %rcx    # 0x326220
callq 0xe2d2
leaq 0x25746d(%rip), %rax    # 0x2f730c
cmpl $0x0, (%rax)
je 0x9fef9
leaq 0x257285(%rip), %rax    # 0x2f7130
movsd (%rax), %xmm0
leaq 0x257282(%rip), %rax    # 0x2f7138
movsd (%rax), %xmm1
leaq 0x28635f(%rip), %r12    # 0x326220
leaq 0x70edd(%rip), %rsi     # 0x110da5
movq %r12, %rdi
movb $0x2, %al
callq 0x9060
addl $0x9, %r14d
leaq 0x18905f(%rip), %rax    # 0x228f3c
cmpb $0x0, (%rax)
pushq $0x8
popq %rdx
pushq $0xf
popq %rax
cmovel %eax, %edx
movl %r13d, %edi
movl %ebx, %esi
movq %r12, %rcx
callq 0xe2d2
movl %r14d, %r13d
leaq 0xa7e30(%rip), %r12     # 0x147d30
movsd 0x268(%r12), %xmm0
leaq 0x2571f7(%rip), %rax    # 0x2f7108
mulsd (%rax), %xmm0
mulsd 0x53123(%rip), %xmm0    # 0xf3040
movsd 0x530e3(%rip), %xmm1    # 0xf3008
mulsd %xmm1, %xmm0
mulsd %xmm1, %xmm0
divsd 0x55a1b(%rip), %xmm0    # 0xf5950
leaq 0x2862e4(%rip), %r14    # 0x326220
leaq 0x70e89(%rip), %rsi     # 0x110dcc
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
leal 0x1(%r13), %edi
pushq $0xf
popq %rdx
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movsd 0x350(%r12), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0x9ff78
jnp 0x9fb34
movsd 0x180(%r12), %xmm0
divsd %xmm1, %xmm0
divsd 0x687fa(%rip), %xmm0    # 0x108788
leaq 0x28628b(%rip), %r14    # 0x326220
leaq 0x70e54(%rip), %rsi     # 0x110df0
pushq $0x1
popq %rdx
movq %r14, %rdi
movb $0x1, %al
callq 0x9060
addl $0x2, %r13d
pushq $0xf
popq %rdx
movl %r13d, %edi
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
jmp 0x9fb34
movups 0x70bc0(%rip), %xmm0    # 0x110b89
movaps %xmm0, 0x10(%r12)
movupd 0x70ba2(%rip), %xmm0    # 0x110b79
movapd %xmm0, (%r12)
leal 0x3(%r14), %r12d
movzbl %al, %edx
leaq 0x286235(%rip), %rcx    # 0x326220
movl %ebx, %esi
callq 0xe2d2
leaq 0x1627af(%rip), %rax    # 0x2027a8
cmpl (%rax), %r12d
pushq $0xf
popq %r13
pushq $0x8
popq %rcx
jge 0x9fb34
leaq 0x287d38(%rip), %rax    # 0x327d48
testb $0x1, (%rax)
leaq 0x287d26(%rip), %rax    # 0x327d40
movl (%rax), %edx
leaq 0x70b76(%rip), %rsi     # 0x110b99
leaq 0x2861f6(%rip), %rdi    # 0x326220
cmovel %ecx, %r13d
xorl %eax, %eax
callq 0x9060
movl %r12d, %edi
leal 0x4(%r14), %r12d
movl %ebx, %esi
movl %r13d, %edx
leaq 0x2861d8(%rip), %rcx    # 0x326220
callq 0xe2d2
pushq $0x8
popq %rcx
pushq $0xf
popq %r13
leaq 0x16274d(%rip), %rax    # 0x2027a8
movl %r12d, -0x2c(%rbp)
cmpl (%rax), %r12d
jge 0x9fb34
leaq 0x287cd9(%rip), %rax    # 0x327d48
testb $0x2, (%rax)
leaq 0x287ccb(%rip), %rax    # 0x327d44
movl (%rax), %edx
leaq 0x70b37(%rip), %rsi     # 0x110bb9
leaq 0x286197(%rip), %rdi    # 0x326220
cmovel %ecx, %r13d
xorl %eax, %eax
callq 0x9060
leal 0x5(%r14), %r12d
movl -0x2c(%rbp), %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x286179(%rip), %rcx    # 0x326220
callq 0xe2d2
pushq $0x8
popq %rcx
pushq $0xf
popq %r13
leaq 0x1626ee(%rip), %rax    # 0x2027a8
cmpl (%rax), %r12d
jge 0x9fb34
leaq 0x164f1e(%rip), %rax    # 0x204fe8
cmpl $0x4f, (%rax)
jne 0x9fb34
leaq 0x2572fe(%rip), %rax    # 0x2f73d8
testb $0x1, (%rax)
leaq 0x287c4c(%rip), %rax    # 0x327d30
movl (%rax), %edx
leaq 0x70aec(%rip), %rsi     # 0x110bd9
leaq 0x28612c(%rip), %rdi    # 0x326220
cmovel %ecx, %r13d
xorl %eax, %eax
callq 0x9060
leal 0x6(%r14), %eax
movl %eax, -0x2c(%rbp)
movl %r12d, %edi
movl %ebx, %esi
movl %r13d, %edx
leaq 0x28610b(%rip), %rcx    # 0x326220
callq 0xe2d2
pushq $0x8
popq %r8
pushq $0xf
popq %r12
leaq 0x16267f(%rip), %rax    # 0x2027a8
movl -0x2c(%rbp), %ecx
cmpl (%rax), %ecx
jge 0x9fb34
movl %ecx, %r13d
leaq 0x25729a(%rip), %rax    # 0x2f73d8
testb $0x2, (%rax)
leaq 0x287bec(%rip), %rax    # 0x327d34
movl (%rax), %edx
leaq 0x70aa8(%rip), %rsi     # 0x110bf9
leaq 0x2860c8(%rip), %rdi    # 0x326220
cmovel %r8d, %r12d
xorl %eax, %eax
callq 0x9060
addl $0x7, %r14d
movl %r13d, %edi
movl %ebx, %esi
movl %r12d, %edx
leaq 0x2860aa(%rip), %rcx    # 0x326220
callq 0xe2d2
pushq $0x8
popq %rcx
pushq $0xf
popq %r13
leaq 0x16261f(%rip), %rax    # 0x2027a8
cmpl (%rax), %r14d
jge 0x9fb34
leaq 0x25723f(%rip), %rax    # 0x2f73d8
testb $0x4, (%rax)
leaq 0x287b95(%rip), %rax    # 0x327d38
movl (%rax), %edx
leaq 0x70a6d(%rip), %rsi     # 0x110c19
leaq 0x28606d(%rip), %r12    # 0x326220
cmovel %ecx, %r13d
movq %r12, %rdi
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
movl %ebx, %esi
movl %r13d, %edx
movq %r12, %rcx
jmp 0x9ffb8