// File: jkingan[P]ladyheather/heather.cpp
// Function: label_plots()
void label_plots()
{
COORD row, col;
COORD fft_col;
struct PLOT_Q q, q0, qq;
char *t;
char *s;
long i;
int id;
double val;
int len;
int max_len;
int month, day, year;
int hours, minutes, seconds;
double frac;
double old_utc, old_gps;
double q0_jd;
DATA_SIZE show_time;
int arrow_color;
int cursor_time_col;
int color;
u16 sat_flags;

   // label the plot with scale factors, etc
   if(text_mode) return;
   if(no_plots) return;
   if(rcvr_type == NO_RCVR) return;
   if(zoom_screen == 'P') ;
   else if(zoom_screen) return;
   if(first_key && SMALL_SCREEN) return;

   if(continuous_scroll) arrow_color = WHITE;
   else                  arrow_color = CYAN;


   fft_col = MOUSE_COL+40;
   no_x_margin = no_y_margin = 1;
   if(0) {  // erase the plot header area
      vidstr(CURSOR_TIME_ROW, 0, WHITE, &blanks[0]);  // was [TEXT_COLS-INFO_COL]);
      vidstr(CURSOR_VAL_ROW, 0,  WHITE, &blanks[0]);
      vidstr(STAT_ROW, 0,        WHITE, &blanks[0]);
      vidstr(REVIEW_ROW, 0,      WHITE, &blanks[0]);
      vidstr(REF_ROW, 0,         WHITE, &blanks[0]);
      vidstr(SCALE_ROW, 0,       WHITE, &blanks[0]);
   }
   else if((SCREEN_HEIGHT < TINY_TINY_HEIGHT) || (SCREEN_WIDTH < TINY_TINY_WIDTH)) {
      fill_rectangle(0,(MOUSE_ROW+3)*TEXT_HEIGHT, TEXT_COLS*TEXT_WIDTH,5*TEXT_HEIGHT, BLACK);
   }
   else {  // faster way to erase the plot header area
      fill_rectangle(0,(MOUSE_ROW+2)*TEXT_HEIGHT, TEXT_COLS*TEXT_WIDTH,6*TEXT_HEIGHT, BLACK);
   }

   t = "";
   row = PLOT_INFO_ROW;
   col = PLOT_TEXT_COL+0;

   if(review_mode) {
      if(review_home)  sprintf(out, "  ");
      else             sprintf(out, "%c ", LEFT_ARROW);
   }
   else {
      if(((plot_q_count*(long)plot_mag)/view_interval) >= PLOT_WIDTH) sprintf(out, "%c ", LEFT_ARROW);
      else sprintf(out, "  ");
   }
   vidstr(row, col, arrow_color, out);
   no_x_margin = no_y_margin = 0;


   hours   = pri_hours;     // save time
   minutes = pri_minutes;
   seconds = pri_seconds;
   frac    = pri_frac;
   day     = pri_day;
   month   = pri_month;
   year    = pri_year;
   old_utc = jd_utc;
   old_gps = jd_gps;



   // see if mouse is in the plot area,  if so get data point to display
   cursor_time_col = TEXT_COLS;
   col = PLOT_TEXT_COL+2;
   if(mouse_plot_valid) {
      if(filter_count) {
         q = filter_plot_q(last_mouse_q);
         jd_utc = filter_jd;
         sat_flags = filter_flags; // q.sat_flags;
      }
      else {
         q = get_plot_q(last_mouse_q);
         jd_utc = q.q_jd;
         sat_flags = q.sat_flags;
      }

      jd_gps = jd_utc + jtime(0,0,utc_offset,0.0);
      adjust_tz(1);  // tweak pri_ time for time zone

      if(top_line) {
         show_time = (DATA_SIZE) (view_interval*queue_interval*PLOT_WIDTH);  //seconds per screen
         show_time /= plot_mag;
         show_time /= (DATA_SIZE) 60.0;  // minutes/screen
         show_time /= (((DATA_SIZE) PLOT_WIDTH) / (DATA_SIZE) HORIZ_MAJOR);
         show_time /= nav_rate;
         sprintf(out, "Cursor time: %s %02d:%02d:%02d.%03d %s   View: %.1f min/div    ", fmt_date(0),
             pri_hours,pri_minutes,pri_seconds, (int) ((pri_frac*1000.0)+0.5),
             time_zone_set?tz_string:((q.sat_flags & UTC_TIME) ? "UTC":"GPS"),
             show_time
         );
      }
      else if(nav_rate && plot_mag) {
         if(cursor_time_ref) { // show cursor time interval from start of plot area
            val = ((double) (view_interval * mouse_x) / nav_rate) / (double) plot_mag;
         }
         else { // show cursor time interval from start of queue data
            q0 = get_plot_q(plot_q_out);
            q0_jd = (jd_utc - q0.q_jd) * (double) SECS_PER_DAY;
            val = q0_jd;
         }

         sprintf(out, "Cursor time: %s %02d:%02d:%02d.%03d %s  %s       ", fmt_date(0),
             pri_hours,pri_minutes,pri_seconds,  (int) ((pri_frac*1000.0)+0.5),
             time_zone_set?tz_string:((q.sat_flags & UTC_TIME) ? "UTC":"GPS"),
             fmt_secs(val)
         );
      }
      no_x_margin = no_y_margin = 1;
      color = MOUSE_COLOR;
      if(sat_flags & TIME_SKIP) color = SKIP_COLOR;
      if((SCREEN_HEIGHT < TINY_TINY_HEIGHT) || (SCREEN_WIDTH < TINY_TINY_WIDTH)) { // piss
         vidstr(CURSOR_TIME_ROW+1, PLOT_TEXT_COL+2, color, out);
      }
      else {
         vidstr(CURSOR_TIME_ROW, PLOT_TEXT_COL+2, color, out);
      }
      cursor_time_col = PLOT_TEXT_COL+2+strlen(out);
      no_x_margin = no_y_margin = 0;

      pri_hours   = hours;      // restore time
      pri_minutes = minutes;
      pri_seconds = seconds;
      pri_frac    = frac;
      pri_day     = day;
      pri_month   = month;
      pri_year    = year;
      jd_utc      = old_utc;
      jd_gps      = old_gps;
   }

   if(review_mode) {  // we are scrolling around in the plot queue data
      i = plot_q_out + plot_start;
      while(i >= plot_q_size) i -= plot_q_size;
      qq = get_plot_q(i);

      jd_utc = qq.q_jd;
      jd_gps = jd_utc + jtime(0,0,utc_offset,0.0);
      adjust_tz(2);  // tweak pri_ time for time zone

      if(view_all_data == 1) s = "All";
      else if(view_all_data == 2) s = "Auto";
      else s = "Review";

      sprintf(out, "%s (DEL to stop): %s %02d:%02d:%02d.%03d %s         ", s, fmt_date(0),
          pri_hours,pri_minutes,pri_seconds, (int) ((pri_frac*1000.0)+0.5),
          time_zone_set?tz_string:(qq.sat_flags & UTC_TIME) ? "UTC":"GPS");

      pri_hours   = hours;      // restore time
      pri_minutes = minutes;
      pri_seconds = seconds;
      pri_frac    = frac;
      pri_day     = day;
      pri_month   = month;
      pri_year    = year;
      jd_utc      = old_utc;
      jd_gps      = old_gps;

      no_x_margin = no_y_margin = 1;
      vidstr(REVIEW_ROW, PLOT_TEXT_COL+2,  CYAN, out);
      no_x_margin = no_y_margin = 0;
   }

   vidstr(CURSOR_VAL_ROW, 0, WHITE, &blanks[0]);
   for(id=0; id<NUM_PLOTS+DERIVED_PLOTS; id++) {  // show the plot values
      if(plot[id].show_plot == 0) continue;
      if(id == FFT) fft_col = col;

      max_len = 0;

      // show the plot scale factors
      len = label_plot_scale(id, col);
      if(len > max_len) max_len = len;


      // now show the plot zero reference line value
      len = label_plot_ref(id, col);
      if(len > max_len) max_len = len;


      // now we show the statistics values
      if(stat_count == 0.0) goto no_stats;
      if(all_adevs && (mixed_adevs == MIXED_NONE)) goto no_stats;
      len = label_plot_stats(id, col);
      if(len > max_len) max_len = len;


      // now display the cursor info
      no_stats:
      if(mouse_plot_valid == 0) goto no_mouse_info;
      if(queue_interval <= 0) goto no_mouse_info;
      len = label_plot_cursor_val(id, col, q);

      if(len > max_len) max_len = len;

      no_mouse_info:
      col += (max_len+1);
      if(col >= TEXT_COLS) break;
   }

   if(NO_SATS) ;
   else if(0 && mouse_plot_valid && plot_sat_count) {
      no_x_margin = no_y_margin = 1;
      sprintf(out, "Sats:%d", q.sat_flags & 0xFF);
      if(((unsigned) col) < (TEXT_COLS-strlen(out)-2)) {
         vidstr(CURSOR_VAL_ROW, col, CYAN, out);
      }
      no_x_margin = no_y_margin = 0;
   }

#ifdef FFT_STUFF
   if(plot[FFT].show_plot && fft_scale) {  // hist_plot
      out[0] = 0;
      if(fft_type == FFT_TYPE) {
         i = last_mouse_q - fft_queue_0;
         if(i < 0) i += plot_q_size;
         i /= (S32) fft_scale;
         val = (double) i * fps;
         if(i > (fft_length/2)) sprintf(out, "              ");
         else if(val) {
            val = 1.0/val;
            sprintf(out, "%s: %-.1f sec     ", plot[fft_id].plot_id, val);
         }
         else sprintf(out, "%s: DC blocked    ", plot[fft_id].plot_id);
      }
      else {  // histogram
         if(mouse_plot_valid && (mouse_x >= 0) && (mouse_x < hist_size)) {
            val = hist_minv + hist_bin_width*(DATA_SIZE) mouse_x;
//          val *= plot[fft_id].ref_scale;  // !!!!! ref_scale not always correct
            if(tie_plot(fft_id) && plot[fft_id].show_freq) {  // frequency mode
               sprintf(out, "%s: %f %s", plot[fft_id].plot_id, val, "Hz");
            }
            else if((rcvr_type == X72_RCVR) && (fft_id == OSC)) {
               sprintf(out, "%s: %.6g %s", plot[fft_id].plot_id, val, plot[fft_id].units);
            }
            else {
               sprintf(out, "%s: %f %s", plot[fft_id].plot_id, val, plot[fft_id].units);
            }
         }
      }

      no_x_margin = no_y_margin = 1;
//    if(fft_col < cursor_time_col) fft_col = cursor_time_col;
      if(mouse_plot_valid) {
         vidstr(FFT_VAL_ROW, fft_col, WHITE, &blanks[TEXT_COLS-fft_col]);  // erase the plot info area
         vidstr(FFT_VAL_ROW, fft_col, plot[FFT].plot_color, out);
      }
      no_x_margin = no_y_margin = 0;
   }
#endif



   row = PLOT_INFO_ROW;
   config_extra_plots();
   if((extra_plots == 0) && (SCREEN_WIDTH >= MEDIUM_WIDTH)) {
      no_x_margin = no_y_margin = 1;
      #ifdef ADEV_STUFF
         if((all_adevs == SINGLE_ADEVS) || (mixed_adevs != MIXED_GRAPHS)) {
            if     (ATYPE == OSC_ADEV) t = "ADEV";
            else if(ATYPE == OSC_HDEV) t = "HDEV";
            else if(ATYPE == OSC_MDEV) t = "MDEV";
            else if(ATYPE == OSC_TDEV) t = "TDEV";
            else if(ATYPE == PPS_ADEV) t = "ADEV";
            else if(ATYPE == PPS_HDEV) t = "HDEV";
            else if(ATYPE == PPS_MDEV) t = "MDEV";
            else if(ATYPE == PPS_TDEV) t = "TDEV";
            else if(ATYPE == CHC_ADEV) t = "ADEV";
            else if(ATYPE == CHC_HDEV) t = "HDEV";
            else if(ATYPE == CHC_MDEV) t = "MDEV";
            else if(ATYPE == CHC_TDEV) t = "TDEV";
            else if(ATYPE == CHD_ADEV) t = "ADEV";
            else if(ATYPE == CHD_HDEV) t = "HDEV";
            else if(ATYPE == CHD_MDEV) t = "MDEV";
            else if(ATYPE == CHD_TDEV) t = "TDEV";
            else if(ATYPE == A_MTIE)   t = "MTIE";
            else if(ATYPE == B_MTIE)   t = "MTIE";
            else if(ATYPE == C_MTIE)   t = "MTIE";
            else if(ATYPE == D_MTIE)   t = "MTIE";
            else                       t = "?DEV";

            sprintf(out, "%s %s       ", plot[PPS].plot_id, t);
            if(plot_adev_data) vidstr(row, PLOT_TEXT_COL+85,  PPS_ADEV_COLOR, out);
            else               vidstr(row, PLOT_TEXT_COL+85,  GREY,           out);

            sprintf(out, "%s %s       ", plot[OSC].plot_id, t);
            if(plot_adev_data) vidstr(row, PLOT_TEXT_COL+100, OSC_ADEV_COLOR, out);
            else               vidstr(row, PLOT_TEXT_COL+100, GREY,           out);

            // aaaahbbb - what about chC and chD? !!!!!!!
         }
      #endif
      no_x_margin = no_y_margin = 0;
   }

   if(right_arrow) {
      sprintf(out, " %c", RIGHT_ARROW);
      no_x_margin = no_y_margin = 1;
      vidstr(PLOT_INFO_ROW, (SCREEN_WIDTH/TEXT_WIDTH)-2, arrow_color, out);
      no_x_margin = no_y_margin = 0;
   }

   no_x_margin = no_y_margin = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x780, %rsp            # imm = 0x780
cmpl $0x0, 0x2590b6(%rip)    # 0x2779b8
je 0x1e909
jmp 0x1fe45
cmpl $0x0, 0x380638(%rip)    # 0x39ef48
je 0x1e917
jmp 0x1fe45
cmpq $0x400, 0x25918e(%rip) # imm = 0x400
jne 0x1e929
jmp 0x1fe45
movzbl 0x34d058(%rip), %eax    # 0x36b988
cmpl $0x50, %eax
jne 0x1e937
jmp 0x1e947
cmpb $0x0, 0x34d04a(%rip)    # 0x36b988
je 0x1e945
jmp 0x1fe45
jmp 0x1e947
cmpl $0x0, 0x27f7ea(%rip)    # 0x29e138
je 0x1e98b
movl 0x25908a(%rip), %eax    # 0x2779e0
movl %eax, -0x614(%rbp)
imull $0x31a, 0x263dbe(%rip), %eax # imm = 0x31A
movl $0x64, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x614(%rbp), %eax
cmpl %ecx, %eax
jl 0x1e986
cmpl $0x258, 0x259060(%rip)  # imm = 0x258
jge 0x1e98b
jmp 0x1fe45
cmpb $0x0, 0x25bc16(%rip)    # 0x27a5a8
je 0x1e9a0
movl $0xf, -0x294(%rbp)
jmp 0x1e9aa
movl $0xb, -0x294(%rbp)
movl 0x258fdc(%rip), %eax    # 0x27798c
addl $0x28, %eax
movl %eax, -0xc(%rbp)
movb $0x1, 0x25907e(%rip)    # 0x277a3b
movb $0x1, 0x259076(%rip)    # 0x277a3a
cmpl $0x190, 0x259016(%rip)  # imm = 0x190
jl 0x1e9dc
cmpl $0x1c2, 0x259006(%rip)  # imm = 0x1C2
jge 0x1ea0d
movl 0x258fa6(%rip), %esi    # 0x277988
addl $0x3, %esi
imull 0x259008(%rip), %esi    # 0x2779f4
movl 0x258ff6(%rip), %edx    # 0x2779e8
imull 0x258ff7(%rip), %edx    # 0x2779f0
imull $0x5, 0x258ff4(%rip), %ecx # 0x2779f4
xorl %r8d, %r8d
movl %r8d, %edi
callq 0x120d0
jmp 0x1ea3c
movl 0x258f75(%rip), %esi    # 0x277988
addl $0x2, %esi
imull 0x258fd7(%rip), %esi    # 0x2779f4
movl 0x258fc5(%rip), %edx    # 0x2779e8
imull 0x258fc6(%rip), %edx    # 0x2779f0
imull $0x6, 0x258fc3(%rip), %ecx # 0x2779f4
xorl %r8d, %r8d
movl %r8d, %edi
callq 0x120d0
leaq 0x175b4f(%rip), %rax    # 0x194592
movq %rax, -0x228(%rbp)
movl 0x258f38(%rip), %eax    # 0x277988
addl $0x7, %eax
movl %eax, -0x4(%rbp)
movl 0x259010(%rip), %eax    # 0x277a6c
addl $0x0, %eax
movl %eax, -0x8(%rbp)
cmpb $0x0, 0x27d4b7(%rip)    # 0x29bf20
je 0x1eaa7
cmpb $0x0, 0x27d4af(%rip)    # 0x29bf21
je 0x1ea8b
leaq 0x37c985(%rip), %rdi    # 0x39b400
leaq 0x167361(%rip), %rsi    # 0x185de3
movb $0x0, %al
callq 0x9060
jmp 0x1eaa5
leaq 0x37c96e(%rip), %rdi    # 0x39b400
leaq 0x16ce8f(%rip), %rsi    # 0x18b928
movl $0x1b, %edx
movb $0x0, %al
callq 0x9060
jmp 0x1eb01
movq 0x25ba6a(%rip), %rax    # 0x27a518
movslq 0x25bafb(%rip), %rcx    # 0x27a5b0
imulq %rcx, %rax
cqto
idivq 0x25babe(%rip)          # 0x27a580
movslq 0x258f9b(%rip), %rcx    # 0x277a64
cmpq %rcx, %rax
jl 0x1eaea
leaq 0x37c92b(%rip), %rdi    # 0x39b400
leaq 0x16ce4c(%rip), %rsi    # 0x18b928
movl $0x1b, %edx
movb $0x0, %al
callq 0x9060
jmp 0x1eaff
leaq 0x37c90f(%rip), %rdi    # 0x39b400
leaq 0x1672eb(%rip), %rsi    # 0x185de3
movb $0x0, %al
callq 0x9060
jmp 0x1eb01
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl -0x294(%rbp), %eax
leaq 0x37c8ec(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movb $0x0, 0x258f18(%rip)    # 0x277a3b
movb $0x0, 0x258f10(%rip)    # 0x277a3a
movl 0x34dbb8(%rip), %eax    # 0x36c6e8
movl %eax, -0x260(%rbp)
movl 0x34dba8(%rip), %eax    # 0x36c6e4
movl %eax, -0x264(%rbp)
movl 0x34db98(%rip), %eax    # 0x36c6e0
movl %eax, -0x268(%rbp)
movsd 0x34dba2(%rip), %xmm0   # 0x36c6f8
movsd %xmm0, -0x270(%rbp)
movl 0x34db88(%rip), %eax    # 0x36c6ec
movl %eax, -0x258(%rbp)
movl 0x34db80(%rip), %eax    # 0x36c6f0
movl %eax, -0x254(%rbp)
movl 0x34db78(%rip), %eax    # 0x36c6f4
movl %eax, -0x25c(%rbp)
movsd 0x34db86(%rip), %xmm0   # 0x36c710
movsd %xmm0, -0x278(%rbp)
movsd 0x34db7e(%rip), %xmm0   # 0x36c718
movsd %xmm0, -0x280(%rbp)
movl 0x258e40(%rip), %eax    # 0x2779e8
movl %eax, -0x298(%rbp)
movl 0x258eb8(%rip), %eax    # 0x277a6c
addl $0x2, %eax
movl %eax, -0x8(%rbp)
cmpb $0x0, 0x25b877(%rip)    # 0x27a438
je 0x1f194
cmpq $0x0, 0x25ba81(%rip)    # 0x27a650
je 0x1ec1c
movq 0x25b880(%rip), %rsi    # 0x27a458
leaq -0x350(%rbp), %rdi
callq 0x16160
leaq -0xc0(%rbp), %rdi
leaq -0x350(%rbp), %rsi
movl $0xb0, %edx
callq 0x92c0
movsd 0x38082c(%rip), %xmm0   # 0x39f430
movsd %xmm0, 0x34db04(%rip)   # 0x36c710
movw 0x380825(%rip), %ax     # 0x39f438
movw %ax, -0x29e(%rbp)
jmp 0x1ec65
movq 0x25b835(%rip), %rsi    # 0x27a458
leaq -0x400(%rbp), %rdi
callq 0x133f0
leaq -0xc0(%rbp), %rdi
leaq -0x400(%rbp), %rsi
movl $0xb0, %edx
callq 0x92c0
movsd -0xb8(%rbp), %xmm0
movsd %xmm0, 0x34dab9(%rip)   # 0x36c710
movw -0xc0(%rbp), %ax
movw %ax, -0x29e(%rbp)
movsd 0x34daa3(%rip), %xmm0   # 0x36c710
movsd %xmm0, -0x620(%rbp)
movl 0x34dc8d(%rip), %edx    # 0x36c908
xorl %esi, %esi
xorps %xmm0, %xmm0
movl %esi, %edi
callq 0x122210
movaps %xmm0, %xmm1
movsd -0x620(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x34da7a(%rip)   # 0x36c718
movl $0x1, %edi
callq 0x1355f0
cmpl $0x0, 0x258d71(%rip)    # 0x277a20
je 0x1ee60
movq 0x25b8c4(%rip), %rax    # 0x27a580
imulq 0x25b8b4(%rip), %rax    # 0x27a578
movslq 0x258d99(%rip), %rcx    # 0x277a64
imulq %rcx, %rax
cvtsi2sd %rax, %xmm0
movsd %xmm0, -0x290(%rbp)
cvtsi2sdl 0x25b8cc(%rip), %xmm1 # 0x27a5b0
movsd -0x290(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x290(%rbp)
movsd -0x290(%rbp), %xmm0
movsd 0x150310(%rip), %xmm1   # 0x16f018
divsd %xmm1, %xmm0
movsd %xmm0, -0x290(%rbp)
cvtsi2sdl 0x258d48(%rip), %xmm1 # 0x277a64
cvtsi2sdl 0x258d30(%rip), %xmm0 # 0x277a54
divsd %xmm0, %xmm1
movsd -0x290(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x290(%rbp)
movsd 0x25b7f4(%rip), %xmm1   # 0x27a538
movsd -0x290(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x290(%rbp)
xorl %edi, %edi
callq 0x148a00
movq %rax, -0x638(%rbp)
movl 0x34d97c(%rip), %eax    # 0x36c6e8
movl %eax, -0x630(%rbp)
movl 0x34d96c(%rip), %eax    # 0x36c6e4
movl %eax, -0x62c(%rbp)
movl 0x34d95c(%rip), %eax    # 0x36c6e0
movl %eax, -0x628(%rbp)
movsd 0x34d966(%rip), %xmm0   # 0x36c6f8
movsd 0x150296(%rip), %xmm1   # 0x16f030
mulsd %xmm1, %xmm0
movsd 0x1502ea(%rip), %xmm1   # 0x16f090
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x624(%rbp)
cmpb $0x0, 0x34dcb9(%rip)    # 0x36ca74
je 0x1edcd
leaq 0x34dd48(%rip), %rax    # 0x36cb0c
movq %rax, -0x640(%rbp)
jmp 0x1ee0c
movzwl -0xc0(%rbp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x1edee
leaq 0x178c5b(%rip), %rax    # 0x197a40
movq %rax, -0x648(%rbp)
jmp 0x1edfe
leaq 0x177664(%rip), %rax    # 0x196459
movq %rax, -0x648(%rbp)
jmp 0x1edfe
movq -0x648(%rbp), %rax
movq %rax, -0x640(%rbp)
movl -0x624(%rbp), %r10d
movl -0x628(%rbp), %r9d
movl -0x62c(%rbp), %r8d
movl -0x630(%rbp), %ecx
movq -0x638(%rbp), %rdx
movq -0x640(%rbp), %rax
movsd -0x290(%rbp), %xmm0
leaq 0x37c5bc(%rip), %rdi    # 0x39b400
leaq 0x1519cc(%rip), %rsi    # 0x170817
movl %r10d, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x1, %al
callq 0x9060
jmp 0x1f03f
movsd 0x25b6d0(%rip), %xmm0   # 0x27a538
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1ee78
jp 0x1ee78
jmp 0x1f03d
cmpl $0x0, 0x25b731(%rip)    # 0x27a5b0
je 0x1f03d
cmpl $0x0, 0x25b5f4(%rip)    # 0x27a480
je 0x1eec3
movq 0x25b6eb(%rip), %rax    # 0x27a580
movslq 0x25b584(%rip), %rcx    # 0x27a420
imulq %rcx, %rax
cvtsi2sd %rax, %xmm0
divsd 0x25b68b(%rip), %xmm0   # 0x27a538
cvtsi2sdl 0x25b6fb(%rip), %xmm1 # 0x27a5b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x248(%rbp)
jmp 0x1ef22
movq 0x25b646(%rip), %rsi    # 0x27a510
leaq -0x4b0(%rbp), %rdi
callq 0x133f0
leaq -0x170(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
movl $0xb0, %edx
callq 0x92c0
movsd 0x34d81a(%rip), %xmm0   # 0x36c710
subsd -0x168(%rbp), %xmm0
movsd 0x150102(%rip), %xmm1   # 0x16f008
mulsd %xmm1, %xmm0
movsd %xmm0, -0x288(%rbp)
movsd -0x288(%rbp), %xmm0
movsd %xmm0, -0x248(%rbp)
xorl %edi, %edi
callq 0x148a00
movq %rax, -0x660(%rbp)
movl 0x34d7b2(%rip), %eax    # 0x36c6e8
movl %eax, -0x658(%rbp)
movl 0x34d7a2(%rip), %eax    # 0x36c6e4
movl %eax, -0x654(%rbp)
movl 0x34d792(%rip), %eax    # 0x36c6e0
movl %eax, -0x650(%rbp)
movsd 0x34d79c(%rip), %xmm0   # 0x36c6f8
movsd 0x1500cc(%rip), %xmm1   # 0x16f030
mulsd %xmm1, %xmm0
movsd 0x150120(%rip), %xmm1   # 0x16f090
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x64c(%rbp)
cmpb $0x0, 0x34daef(%rip)    # 0x36ca74
je 0x1ef97
leaq 0x34db7e(%rip), %rax    # 0x36cb0c
movq %rax, -0x668(%rbp)
jmp 0x1efd6
movzwl -0xc0(%rbp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x1efb8
leaq 0x178a91(%rip), %rax    # 0x197a40
movq %rax, -0x670(%rbp)
jmp 0x1efc8
leaq 0x17749a(%rip), %rax    # 0x196459
movq %rax, -0x670(%rbp)
jmp 0x1efc8
movq -0x670(%rbp), %rax
movq %rax, -0x668(%rbp)
movq -0x668(%rbp), %rax
movq %rax, -0x678(%rbp)
movsd -0x248(%rbp), %xmm0
callq 0x18470
movq -0x660(%rbp), %rdx
movl -0x658(%rbp), %ecx
movl -0x654(%rbp), %r8d
movl -0x650(%rbp), %r9d
movl -0x64c(%rbp), %r11d
movq -0x678(%rbp), %r10
leaq 0x37c3df(%rip), %rdi    # 0x39b400
leaq 0x15182f(%rip), %rsi    # 0x170857
movl %r11d, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
movb $0x0, %al
callq 0x9060
jmp 0x1f03f
movb $0x1, 0x2589f5(%rip)    # 0x277a3b
movb $0x1, 0x2589ed(%rip)    # 0x277a3a
movl $0xb, -0x29c(%rbp)
movzwl -0x29e(%rbp), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x1f072
movl $0xc, -0x29c(%rbp)
cmpl $0x190, 0x258968(%rip)  # imm = 0x190
jl 0x1f08a
cmpl $0x1c2, 0x258958(%rip)  # imm = 0x1C2
jge 0x1f0b6
movl 0x2588f8(%rip), %edi    # 0x277988
addl $0x2, %edi
addl $0x1, %edi
movl 0x2589d0(%rip), %esi    # 0x277a6c
addl $0x2, %esi
movl -0x29c(%rbp), %eax
leaq 0x37c354(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
jmp 0x1f0dd
movl 0x2588cc(%rip), %edi    # 0x277988
addl $0x2, %edi
movl 0x2589a7(%rip), %esi    # 0x277a6c
addl $0x2, %esi
movl -0x29c(%rbp), %eax
leaq 0x37c32b(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl 0x258989(%rip), %eax    # 0x277a6c
addl $0x2, %eax
cltq
movq %rax, -0x680(%rbp)
leaq 0x37c30a(%rip), %rdi    # 0x39b400
callq 0x9120
movq %rax, %rcx
movq -0x680(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x298(%rbp)
movb $0x0, 0x258926(%rip)    # 0x277a3b
movb $0x0, 0x25891e(%rip)    # 0x277a3a
movl -0x260(%rbp), %eax
movl %eax, 0x34d5c0(%rip)    # 0x36c6e8
movl -0x264(%rbp), %eax
movl %eax, 0x34d5b0(%rip)    # 0x36c6e4
movl -0x268(%rbp), %eax
movl %eax, 0x34d5a0(%rip)    # 0x36c6e0
movsd -0x270(%rbp), %xmm0
movsd %xmm0, 0x34d5a8(%rip)   # 0x36c6f8
movl -0x258(%rbp), %eax
movl %eax, 0x34d590(%rip)    # 0x36c6ec
movl -0x254(%rbp), %eax
movl %eax, 0x34d588(%rip)    # 0x36c6f0
movl -0x25c(%rbp), %eax
movl %eax, 0x34d580(%rip)    # 0x36c6f4
movsd -0x278(%rbp), %xmm0
movsd %xmm0, 0x34d58c(%rip)   # 0x36c710
movsd -0x280(%rbp), %xmm0
movsd %xmm0, 0x34d584(%rip)   # 0x36c718
cmpb $0x0, 0x27cd85(%rip)    # 0x29bf20
je 0x1f473
movq 0x25b368(%rip), %rax    # 0x27a510
addq 0x25b379(%rip), %rax    # 0x27a528
movq %rax, -0x238(%rbp)
movq -0x238(%rbp), %rax
cmpq 0x25b33c(%rip), %rax    # 0x27a500
jl 0x1f1e0
movq 0x25b333(%rip), %rcx    # 0x27a500
movq -0x238(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x238(%rbp)
jmp 0x1f1b6
movq -0x238(%rbp), %rsi
leaq -0x560(%rbp), %rdi
callq 0x133f0
leaq -0x220(%rbp), %rdi
leaq -0x560(%rbp), %rsi
movl $0xb0, %edx
callq 0x92c0
movsd -0x218(%rbp), %xmm0
movsd %xmm0, 0x34d4f5(%rip)   # 0x36c710
movsd 0x34d4ed(%rip), %xmm0   # 0x36c710
movsd %xmm0, -0x688(%rbp)
movl 0x34d6d7(%rip), %edx    # 0x36c908
xorl %esi, %esi
xorps %xmm0, %xmm0
movl %esi, %edi
callq 0x122210
movaps %xmm0, %xmm1
movsd -0x688(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x34d4c4(%rip)   # 0x36c718
movl $0x2, %edi
callq 0x1355f0
movzbl 0x25b340(%rip), %eax    # 0x27a5a5
cmpl $0x1, %eax
jne 0x1f27a
leaq 0x151618(%rip), %rax    # 0x170889
movq %rax, -0x230(%rbp)
jmp 0x1f2a6
movzbl 0x25b324(%rip), %eax    # 0x27a5a5
cmpl $0x2, %eax
jne 0x1f296
leaq 0x151600(%rip), %rax    # 0x17088d
movq %rax, -0x230(%rbp)
jmp 0x1f2a4
leaq 0x1515f5(%rip), %rax    # 0x170892
movq %rax, -0x230(%rbp)
jmp 0x1f2a6
movq -0x230(%rbp), %rax
movq %rax, -0x6a8(%rbp)
xorl %edi, %edi
callq 0x148a00
movq %rax, -0x6a0(%rbp)
movl 0x34d420(%rip), %eax    # 0x36c6e8
movl %eax, -0x698(%rbp)
movl 0x34d410(%rip), %eax    # 0x36c6e4
movl %eax, -0x694(%rbp)
movl 0x34d400(%rip), %eax    # 0x36c6e0
movl %eax, -0x690(%rbp)
movsd 0x34d40a(%rip), %xmm0   # 0x36c6f8
movsd 0x14fd3a(%rip), %xmm1   # 0x16f030
mulsd %xmm1, %xmm0
movsd 0x14fd8e(%rip), %xmm1   # 0x16f090
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x68c(%rbp)
cmpb $0x0, 0x34d75d(%rip)    # 0x36ca74
je 0x1f329
leaq 0x34d7ec(%rip), %rax    # 0x36cb0c
movq %rax, -0x6b0(%rbp)
jmp 0x1f368
movzwl -0x220(%rbp), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x1f34a
leaq 0x1786ff(%rip), %rax    # 0x197a40
movq %rax, -0x6b8(%rbp)
jmp 0x1f35a
leaq 0x177108(%rip), %rax    # 0x196459
movq %rax, -0x6b8(%rbp)
jmp 0x1f35a
movq -0x6b8(%rbp), %rax
movq %rax, -0x6b0(%rbp)
movl -0x68c(%rbp), %r10d
movl -0x690(%rbp), %r11d
movl -0x694(%rbp), %r9d
movl -0x698(%rbp), %r8d
movq -0x6a0(%rbp), %rcx
movq -0x6a8(%rbp), %rdx
movq -0x6b0(%rbp), %rax
leaq 0x37c060(%rip), %rdi    # 0x39b400
leaq 0x1514f2(%rip), %rsi    # 0x170899
movl %r11d, (%rsp)
movl %r10d, 0x8(%rsp)
movq %rax, 0x10(%rsp)
movb $0x0, %al
callq 0x9060
movl -0x260(%rbp), %eax
movl %eax, 0x34d320(%rip)    # 0x36c6e8
movl -0x264(%rbp), %eax
movl %eax, 0x34d310(%rip)    # 0x36c6e4
movl -0x268(%rbp), %eax
movl %eax, 0x34d300(%rip)    # 0x36c6e0
movsd -0x270(%rbp), %xmm0
movsd %xmm0, 0x34d308(%rip)   # 0x36c6f8
movl -0x258(%rbp), %eax
movl %eax, 0x34d2f0(%rip)    # 0x36c6ec
movl -0x254(%rbp), %eax
movl %eax, 0x34d2e8(%rip)    # 0x36c6f0
movl -0x25c(%rbp), %eax
movl %eax, 0x34d2e0(%rip)    # 0x36c6f4
movsd -0x278(%rbp), %xmm0
movsd %xmm0, 0x34d2ec(%rip)   # 0x36c710
movsd -0x280(%rbp), %xmm0
movsd %xmm0, 0x34d2e4(%rip)   # 0x36c718
movb $0x1, 0x258600(%rip)    # 0x277a3b
movb $0x1, 0x2585f8(%rip)    # 0x277a3a
movl 0x258540(%rip), %edi    # 0x277988
addl $0x3, %edi
movl 0x25861b(%rip), %esi    # 0x277a6c
addl $0x2, %esi
movl $0xb, %edx
leaq 0x37bfa0(%rip), %rcx    # 0x39b400
callq 0x10ee0
movb $0x0, 0x2585cf(%rip)    # 0x277a3b
movb $0x0, 0x2585c7(%rip)    # 0x277a3a
movl 0x25850f(%rip), %edi    # 0x277988
addl $0x4, %edi
xorl %esi, %esi
movl $0xf, %edx
leaq 0x37bd66(%rip), %rcx    # 0x39b1f0
callq 0x10ee0
movl $0x0, -0x23c(%rbp)
cmpl $0x14, -0x23c(%rbp)
jge 0x1f658
movslq -0x23c(%rbp), %rcx
leaq 0x19d86c(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x18(%rax)
jne 0x1f4c9
jmp 0x1f644
cmpl $0xe, -0x23c(%rbp)
jne 0x1f4d8
movl -0x8(%rbp), %eax
movl %eax, -0xc(%rbp)
movl $0x0, -0x250(%rbp)
movl -0x23c(%rbp), %edi
movl -0x8(%rbp), %esi
callq 0x19bd0
movl %eax, -0x24c(%rbp)
movl -0x24c(%rbp), %eax
cmpl -0x250(%rbp), %eax
jle 0x1f510
movl -0x24c(%rbp), %eax
movl %eax, -0x250(%rbp)
movl -0x23c(%rbp), %edi
movl -0x8(%rbp), %esi
callq 0x1afa0
movl %eax, -0x24c(%rbp)
movl -0x24c(%rbp), %eax
cmpl -0x250(%rbp), %eax
jle 0x1f53e
movl -0x24c(%rbp), %eax
movl %eax, -0x250(%rbp)
movsd 0x34cc2a(%rip), %xmm0   # 0x36c170
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1f553
jp 0x1f553
jmp 0x1f59a
cmpb $0x0, 0x27c9c4(%rip)    # 0x29bf1e
je 0x1f56a
movzbl 0x27c9ba(%rip), %eax    # 0x29bf1d
cmpl $0x0, %eax
jne 0x1f56a
jmp 0x1f59a
movl -0x23c(%rbp), %edi
movl -0x8(%rbp), %esi
callq 0x1bc80
movl %eax, -0x24c(%rbp)
movl -0x24c(%rbp), %eax
cmpl -0x250(%rbp), %eax
jle 0x1f598
movl -0x24c(%rbp), %eax
movl %eax, -0x250(%rbp)
jmp 0x1f59a
movzbl 0x25ae97(%rip), %eax    # 0x27a438
cmpl $0x0, %eax
jne 0x1f5a8
jmp 0x1f626
cmpq $0x0, 0x25afc8(%rip)    # 0x27a578
jg 0x1f5b4
jmp 0x1f626
movl -0x23c(%rbp), %eax
movl %eax, -0x6bc(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0x6c0(%rbp)
leaq -0x610(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
movl $0xb0, %edx
callq 0x92c0
movq %rsp, %rdi
movl $0x16, %ecx
leaq -0x610(%rbp), %rsi
rep  movsq (%rsi), %es:(%rdi)
movl -0x6c0(%rbp), %esi
movl -0x6bc(%rbp), %edi
callq 0x1cea0
movl %eax, -0x24c(%rbp)
movl -0x24c(%rbp), %eax
cmpl -0x250(%rbp), %eax
jle 0x1f624
movl -0x24c(%rbp), %eax
movl %eax, -0x250(%rbp)
jmp 0x1f626
movl -0x250(%rbp), %eax
addl $0x1, %eax
addl -0x8(%rbp), %eax
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
cmpl 0x2583aa(%rip), %eax    # 0x2779e8
jl 0x1f642
jmp 0x1f658
jmp 0x1f644
movl -0x23c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x23c(%rbp)
jmp 0x1f499
movabsq $0x105b8b0400, %rax     # imm = 0x105B8B0400
andq 0x258447(%rip), %rax    # 0x277ab0
cmpq $0x0, %rax
jne 0x1f697
cmpl $0x0, 0x25ab3a(%rip)    # 0x27a1b0
je 0x1f681
cmpl $0x0, 0x34cf25(%rip)    # 0x36c5a4
je 0x1f697
cmpq $0x400000, 0x258424(%rip) # imm = 0x400000
jne 0x1f699
cmpl $0x0, 0x34d4ff(%rip)    # 0x36cb94
jne 0x1f699
jmp 0x1f69b
jmp 0x1f69b
cmpl $0x0, 0x19e346(%rip)    # 0x1bd9e8
je 0x1fa3b
cmpq $0x0, 0x37f8b8(%rip)    # 0x39ef68
je 0x1fa3b
movb $0x0, 0x37bd43(%rip)    # 0x39b400
movzbl 0x25af99(%rip), %eax    # 0x27a65d
cmpl $0x0, %eax
jne 0x1f829
movq 0x25ad84(%rip), %rax    # 0x27a458
subq 0x37f89d(%rip), %rax    # 0x39ef78
movq %rax, -0x238(%rbp)
cmpq $0x0, -0x238(%rbp)
jge 0x1f701
movq 0x25ae0d(%rip), %rax    # 0x27a500
addq -0x238(%rbp), %rax
movq %rax, -0x238(%rbp)
movq 0x37f860(%rip), %rax    # 0x39ef68
movslq %eax, %rcx
movq -0x238(%rbp), %rax
cqto
idivq %rcx
movq %rax, -0x238(%rbp)
cvtsi2sdq -0x238(%rbp), %xmm0
movss 0x37f841(%rip), %xmm1   # 0x39ef70
cvtss2sd %xmm1, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x248(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x6c8(%rbp)
movq 0x37f80c(%rip), %rax    # 0x39ef60
movl $0x2, %ecx
cqto
idivq %rcx
movq %rax, %rcx
movq -0x6c8(%rbp), %rax
cmpq %rcx, %rax
jle 0x1f787
leaq 0x37bc8c(%rip), %rdi    # 0x39b400
leaq 0x176f44(%rip), %rsi    # 0x1966bf
movb $0x0, %al
callq 0x9060
jmp 0x1f824
movsd -0x248(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1f79c
jp 0x1f79c
jmp 0x1f7f0
movsd 0x14f8c4(%rip), %xmm0   # 0x16f068
divsd -0x248(%rbp), %xmm0
movsd %xmm0, -0x248(%rbp)
movzbl 0x25aea3(%rip), %eax    # 0x27a65e
movl %eax, %ecx
leaq 0x19d55c(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movsd -0x248(%rbp), %xmm0
leaq 0x37bc20(%rip), %rdi    # 0x39b400
leaq 0x1510e7(%rip), %rsi    # 0x1708ce
movb $0x1, %al
callq 0x9060
jmp 0x1f822
movzbl 0x25ae67(%rip), %eax    # 0x27a65e
movl %eax, %ecx
leaq 0x19d520(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdx
leaq 0x37bbec(%rip), %rdi    # 0x39b400
leaq 0x1510c6(%rip), %rsi    # 0x1708e1
movb $0x0, %al
callq 0x9060
jmp 0x1f824
jmp 0x1f9ca
cmpb $0x0, 0x25ac08(%rip)    # 0x27a438
je 0x1f9c8
cmpl $0x0, 0x25abe3(%rip)    # 0x27a420
jl 0x1f9c8
movslq 0x25abd6(%rip), %rax    # 0x27a420
cmpq 0x262e1f(%rip), %rax    # 0x282670
jge 0x1f9c8
movsd 0x262e19(%rip), %xmm1   # 0x282678
movsd 0x262e21(%rip), %xmm0   # 0x282688
cvtsi2sdl 0x25abb1(%rip), %xmm2 # 0x27a420
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x248(%rbp)
movzbl 0x25add8(%rip), %edi    # 0x27a65e
callq 0x19760
cmpl $0x0, %eax
je 0x1f8f9
movzbl 0x25adc7(%rip), %eax    # 0x27a65e
movl %eax, %ecx
leaq 0x19d480(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0xd0(%rax)
je 0x1f8f9
movzbl 0x25ada4(%rip), %eax    # 0x27a65e
movl %eax, %ecx
leaq 0x19d45d(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movsd -0x248(%rbp), %xmm0
leaq 0x37bb21(%rip), %rdi    # 0x39b400
leaq 0x15100e(%rip), %rsi    # 0x1708f4
leaq 0x15b2b8(%rip), %rcx    # 0x17aba5
movb $0x1, %al
callq 0x9060
jmp 0x1f9c6
cmpq $0x2000000, 0x2581ac(%rip) # imm = 0x2000000
jne 0x1f96c
movzbl 0x25ad51(%rip), %eax    # 0x27a65e
cmpl $0x1, %eax
jne 0x1f96c
movzbl 0x25ad45(%rip), %eax    # 0x27a65e
movl %eax, %ecx
leaq 0x19d3fe(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movsd -0x248(%rbp), %xmm0
movzbl 0x25ad20(%rip), %eax    # 0x27a65e
movl %eax, %ecx
leaq 0x19d3d9(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
leaq 0x37baa4(%rip), %rdi    # 0x39b400
leaq 0x150f9b(%rip), %rsi    # 0x1708fe
movb $0x1, %al
callq 0x9060
jmp 0x1f9c4
movzbl 0x25aceb(%rip), %eax    # 0x27a65e
movl %eax, %ecx
leaq 0x19d3a4(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movsd -0x248(%rbp), %xmm0
movzbl 0x25acc6(%rip), %eax    # 0x27a65e
movl %eax, %ecx
leaq 0x19d37f(%rip), %rax    # 0x1bcd20
imulq $0xe8, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
leaq 0x37ba4a(%rip), %rdi    # 0x39b400
leaq 0x150f37(%rip), %rsi    # 0x1708f4
movb $0x1, %al
callq 0x9060
jmp 0x1f9c6
jmp 0x1f9c8
jmp 0x1f9ca
movb $0x1, 0x25806a(%rip)    # 0x277a3b
movb $0x1, 0x258062(%rip)    # 0x277a3a
cmpb $0x0, 0x25aa59(%rip)    # 0x27a438
je 0x1fa2d
movl 0x257fa1(%rip), %edi    # 0x277988
addl $0x3, %edi
movl -0xc(%rbp), %esi
movl 0x257ff5(%rip), %eax    # 0x2779e8
subl -0xc(%rbp), %eax
cltq
leaq 0x37b7f1(%rip), %rcx    # 0x39b1f0
addq %rax, %rcx
movl $0xf, %edx
callq 0x10ee0
movl 0x257f76(%rip), %edi    # 0x277988
addl $0x3, %edi
movl -0xc(%rbp), %esi
movl 0x19dfd2(%rip), %eax    # 0x1bd9f0
leaq 0x37b9db(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movb $0x0, 0x258007(%rip)    # 0x277a3b
movb $0x0, 0x257fff(%rip)    # 0x277a3a
movl 0x257f47(%rip), %eax    # 0x277988
addl $0x7, %eax
movl %eax, -0x4(%rbp)
callq 0x19b40
cmpl $0x0, 0x37f4e1(%rip)    # 0x39ef34
jne 0x1fdc8
cmpl $0x3e2, 0x257f7d(%rip)  # imm = 0x3E2
jl 0x1fdc8
movb $0x1, 0x257fcb(%rip)    # 0x277a3b
movb $0x1, 0x257fc3(%rip)    # 0x277a3a
movzbl 0x27c4a0(%rip), %eax    # 0x29bf1e
cmpl $0x0, %eax
je 0x1fa93
movzbl 0x27c493(%rip), %eax    # 0x29bf1d
cmpl $0x1, %eax
je 0x1fdba
cmpl $0x0, 0x262d56(%rip)    # 0x2827f0
jne 0x1faaf
leaq 0x150e67(%rip), %rax    # 0x17090a
movq %rax, -0x228(%rbp)
jmp 0x1fce8
cmpl $0x1, 0x262d3a(%rip)    # 0x2827f0
jne 0x1facb
leaq 0x150e50(%rip), %rax    # 0x17090f
movq %rax, -0x228(%rbp)
jmp 0x1fce6
cmpl $0x2, 0x262d1e(%rip)    # 0x2827f0
jne 0x1fae7
leaq 0x150e39(%rip), %rax    # 0x170914
movq %rax, -0x228(%rbp)
jmp 0x1fce4
cmpl $0x3, 0x262d02(%rip)    # 0x2827f0
jne 0x1fb03
leaq 0x150e22(%rip), %rax    # 0x170919
movq %rax, -0x228(%rbp)
jmp 0x1fce2
cmpl $0x5, 0x262ce6(%rip)    # 0x2827f0
jne 0x1fb1f
leaq 0x150df7(%rip), %rax    # 0x17090a
movq %rax, -0x228(%rbp)
jmp 0x1fce0
cmpl $0x6, 0x262cca(%rip)    # 0x2827f0
jne 0x1fb3b
leaq 0x150de0(%rip), %rax    # 0x17090f
movq %rax, -0x228(%rbp)
jmp 0x1fcde
cmpl $0x7, 0x262cae(%rip)    # 0x2827f0
jne 0x1fb57
leaq 0x150dc9(%rip), %rax    # 0x170914
movq %rax, -0x228(%rbp)
jmp 0x1fcdc
cmpl $0x8, 0x262c92(%rip)    # 0x2827f0
jne 0x1fb73
leaq 0x150db2(%rip), %rax    # 0x170919
movq %rax, -0x228(%rbp)
jmp 0x1fcda
cmpl $0xa, 0x262c76(%rip)    # 0x2827f0
jne 0x1fb8f
leaq 0x150d87(%rip), %rax    # 0x17090a
movq %rax, -0x228(%rbp)
jmp 0x1fcd8
cmpl $0xb, 0x262c5a(%rip)    # 0x2827f0
jne 0x1fbab
leaq 0x150d70(%rip), %rax    # 0x17090f
movq %rax, -0x228(%rbp)
jmp 0x1fcd6
cmpl $0xc, 0x262c3e(%rip)    # 0x2827f0
jne 0x1fbc7
leaq 0x150d59(%rip), %rax    # 0x170914
movq %rax, -0x228(%rbp)
jmp 0x1fcd4
cmpl $0xd, 0x262c22(%rip)    # 0x2827f0
jne 0x1fbe3
leaq 0x150d42(%rip), %rax    # 0x170919
movq %rax, -0x228(%rbp)
jmp 0x1fcd2
cmpl $0xf, 0x262c06(%rip)    # 0x2827f0
jne 0x1fbff
leaq 0x150d17(%rip), %rax    # 0x17090a
movq %rax, -0x228(%rbp)
jmp 0x1fcd0
cmpl $0x10, 0x262bea(%rip)   # 0x2827f0
jne 0x1fc1b
leaq 0x150d00(%rip), %rax    # 0x17090f
movq %rax, -0x228(%rbp)
jmp 0x1fcce
cmpl $0x11, 0x262bce(%rip)   # 0x2827f0
jne 0x1fc37
leaq 0x150ce9(%rip), %rax    # 0x170914
movq %rax, -0x228(%rbp)
jmp 0x1fccc
cmpl $0x12, 0x262bb2(%rip)   # 0x2827f0
jne 0x1fc50
leaq 0x150cd2(%rip), %rax    # 0x170919
movq %rax, -0x228(%rbp)
jmp 0x1fcca
cmpl $0x9, 0x262b99(%rip)    # 0x2827f0
jne 0x1fc69
leaq 0x150cbe(%rip), %rax    # 0x17091e
movq %rax, -0x228(%rbp)
jmp 0x1fcc8
cmpl $0x4, 0x262b80(%rip)    # 0x2827f0
jne 0x1fc82
leaq 0x150ca5(%rip), %rax    # 0x17091e
movq %rax, -0x228(%rbp)
jmp 0x1fcc6
cmpl $0xe, 0x262b67(%rip)    # 0x2827f0
jne 0x1fc9b
leaq 0x150c8c(%rip), %rax    # 0x17091e
movq %rax, -0x228(%rbp)
jmp 0x1fcc4
cmpl $0x13, 0x262b4e(%rip)   # 0x2827f0
jne 0x1fcb4
leaq 0x150c73(%rip), %rax    # 0x17091e
movq %rax, -0x228(%rbp)
jmp 0x1fcc2
leaq 0x150c68(%rip), %rax    # 0x170923
movq %rax, -0x228(%rbp)
jmp 0x1fcc4
jmp 0x1fcc6
jmp 0x1fcc8
jmp 0x1fcca
jmp 0x1fccc
jmp 0x1fcce
jmp 0x1fcd0
jmp 0x1fcd2
jmp 0x1fcd4
jmp 0x1fcd6
jmp 0x1fcd8
jmp 0x1fcda
jmp 0x1fcdc
jmp 0x1fcde
jmp 0x1fce0
jmp 0x1fce2
jmp 0x1fce4
jmp 0x1fce6
jmp 0x1fce8
movq 0x19d031(%rip), %rdx    # 0x1bcd20
movq -0x228(%rbp), %rcx
leaq 0x37b703(%rip), %rdi    # 0x39b400
leaq 0x150c24(%rip), %rsi    # 0x170928
movb $0x0, %al
callq 0x9060
cmpb $0x0, 0x25a8a7(%rip)    # 0x27a5b9
je 0x1fd33
movl -0x4(%rbp), %edi
movl 0x257d4f(%rip), %esi    # 0x277a6c
addl $0x55, %esi
movl $0x9, %edx
leaq 0x37b6d4(%rip), %rcx    # 0x39b400
callq 0x10ee0
jmp 0x1fd50
movl -0x4(%rbp), %edi
movl 0x257d30(%rip), %esi    # 0x277a6c
addl $0x55, %esi
movl $0x8, %edx
leaq 0x37b6b5(%rip), %rcx    # 0x39b400
callq 0x10ee0
movq 0x19d0b1(%rip), %rdx    # 0x1bce08
movq -0x228(%rbp), %rcx
leaq 0x37b69b(%rip), %rdi    # 0x39b400
leaq 0x150bbc(%rip), %rsi    # 0x170928
movb $0x0, %al
callq 0x9060
cmpb $0x0, 0x25a83f(%rip)    # 0x27a5b9
je 0x1fd9b
movl -0x4(%rbp), %edi
movl 0x257ce7(%rip), %esi    # 0x277a6c
addl $0x64, %esi
movl $0x6, %edx
leaq 0x37b66c(%rip), %rcx    # 0x39b400
callq 0x10ee0
jmp 0x1fdb8
movl -0x4(%rbp), %edi
movl 0x257cc8(%rip), %esi    # 0x277a6c
addl $0x64, %esi
movl $0x8, %edx
leaq 0x37b64d(%rip), %rcx    # 0x39b400
callq 0x10ee0
jmp 0x1fdba
movb $0x0, 0x257c7a(%rip)    # 0x277a3b
movb $0x0, 0x257c72(%rip)    # 0x277a3a
cmpl $0x0, 0x37f96d(%rip)    # 0x39f73c
je 0x1fe37
leaq 0x37b628(%rip), %rdi    # 0x39b400
leaq 0x170822(%rip), %rsi    # 0x190601
movl $0x1a, %edx
movb $0x0, %al
callq 0x9060
movb $0x1, 0x257c49(%rip)    # 0x277a3b
movb $0x1, 0x257c41(%rip)    # 0x277a3a
movl 0x257b89(%rip), %edi    # 0x277988
addl $0x7, %edi
movl 0x257bd8(%rip), %eax    # 0x2779e0
cltd
idivl 0x257be1(%rip)          # 0x2779f0
movl %eax, %esi
subl $0x2, %esi
movl -0x294(%rbp), %eax
leaq 0x37b5df(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movb $0x0, 0x257c0b(%rip)    # 0x277a3b
movb $0x0, 0x257c03(%rip)    # 0x277a3a
movb $0x0, 0x257bfd(%rip)    # 0x277a3b
movb $0x0, 0x257bf5(%rip)    # 0x277a3a
addq $0x780, %rsp            # imm = 0x780
popq %rbp
retq
nop