// File: jkingan[P]ladyheather/heather.cpp
// Function: draw_plot(unsigned char)
void draw_plot(u08 refresh_ok)
{
   // draw everything related to the data plots
   if(first_key) return;   // plot area is in use for help/warning message

   if(text_mode || (rcvr_type == NO_RCVR) || no_plots) {   // plot area is not available,  only draw text stuff
      plot_axes();
      #ifdef ADEV_STUFF
         if(all_adevs && (refresh_ok != 2)) {
            show_adev_info(10);
         }
      #endif
      if(com[RCVR_PORT].process_com == 0) {
         show_satinfo();
         show_param_values(1); //simeof
      }
      if(refresh_ok) refresh_page();
      return;   // no plotting in text modes
   }

   // locate the first queue entry we will be plotting
   plot_q_col0 = plot_q_out + plot_start;
   while(plot_q_col0 >= plot_q_size) plot_q_col0 -= plot_q_size;

   if(zoom_screen == 'P') ;
   else if(zoom_screen == 'F') ; // FFT waterfall
   else if(zoom_screen) return;

   if(queue_interval <= 0) {
      plot_axes();
      return;  // we have no queued data to plot
   }

   #ifdef FFT_STUFF
      if(plot[FFT].show_plot && show_live_fft && (live_fft != FFT)) {    // calc FFT over the live data
         calc_fft(live_fft);
      }
   #endif
   if(zoom_screen == 'F') return;

   calc_queue_stats(STOP_AT_PLOT_END);  // calc stat info data that will be displayed

   scale_plots();       // find scale factors and the values to center the graphs around
   plot_axes();         // draw and label the plot grid
   plot_queue_data();   // plot the queue data

   #ifdef ADEV_STUFF
      if(refresh_ok != 2) {   // draw the adev info
         show_adev_info(11);
      }
   #endif

   if(com[RCVR_PORT].process_com == 0) {
      show_satinfo();
      show_param_values(1); //simeof
   }
   if(refresh_ok) {     // copy buffered screen image to the screen
      refresh_page();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
cmpl $0x0, 0x2792a3(%rip)    # 0x29e138
je 0x24e9c
jmp 0x2500c
cmpl $0x0, 0x252b15(%rip)    # 0x2779b8
jne 0x24ebb
cmpq $0x400, 0x252c00(%rip) # imm = 0x400
je 0x24ebb
cmpl $0x0, 0x37a08f(%rip)    # 0x39ef48
je 0x24f04
callq 0x21d00
cmpb $0x0, 0x277057(%rip)    # 0x29bf1e
je 0x24edc
movzbl -0x1(%rbp), %eax
cmpl $0x2, %eax
je 0x24edc
movl $0xa, %edi
callq 0x161820
cmpl $0x0, 0x35ffd1(%rip)    # 0x384eb4
jne 0x24ef4
callq 0x7da90
movl $0x1, %edi
callq 0xa51c0
cmpb $0x0, -0x1(%rbp)
je 0x24eff
callq 0xb0d0
jmp 0x2500c
movq 0x255605(%rip), %rax    # 0x27a510
addq 0x255616(%rip), %rax    # 0x27a528
movq %rax, 0x25552f(%rip)    # 0x27a448
movq 0x255528(%rip), %rax    # 0x27a448
cmpq 0x2555d9(%rip), %rax    # 0x27a500
jl 0x24f43
movq 0x2555d0(%rip), %rcx    # 0x27a500
movq 0x255511(%rip), %rax    # 0x27a448
subq %rcx, %rax
movq %rax, 0x255507(%rip)    # 0x27a448
jmp 0x24f19
movzbl 0x346a3e(%rip), %eax    # 0x36b988
cmpl $0x50, %eax
jne 0x24f51
jmp 0x24f71
movzbl 0x346a30(%rip), %eax    # 0x36b988
cmpl $0x46, %eax
jne 0x24f5f
jmp 0x24f6f
cmpb $0x0, 0x346a22(%rip)    # 0x36b988
je 0x24f6d
jmp 0x2500c
jmp 0x24f6f
jmp 0x24f71
cmpq $0x0, 0x2555ff(%rip)    # 0x27a578
jg 0x24f85
callq 0x21d00
jmp 0x2500c
cmpl $0x0, 0x198a5c(%rip)    # 0x1bd9e8
je 0x24faf
cmpb $0x0, 0x255675(%rip)    # 0x27a60a
je 0x24faf
movzbl 0x25566d(%rip), %eax    # 0x27a60b
cmpl $0xe, %eax
je 0x24faf
movzbl 0x255661(%rip), %edi    # 0x27a60b
callq 0x16da70
movzbl 0x3469d2(%rip), %eax    # 0x36b988
cmpl $0x46, %eax
jne 0x24fbd
jmp 0x2500c
movl $0x1, %edi
callq 0x23e80
callq 0x21e90
callq 0x21d00
callq 0x24ca0
movzbl -0x1(%rbp), %eax
cmpl $0x2, %eax
je 0x24fe9
movl $0xb, %edi
callq 0x161820
cmpl $0x0, 0x35fec4(%rip)    # 0x384eb4
jne 0x25001
callq 0x7da90
movl $0x1, %edi
callq 0xa51c0
cmpb $0x0, -0x1(%rbp)
je 0x2500c
callq 0xb0d0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)