// File: jkingan[P]ladyheather/heathmsc.cpp
// Function: draw_azel_prns(int)
void draw_azel_prns(int signals)
{
int i, j;
int kl, kr;
char el_dir;
float az,el;
int q1_row,q2_row,q3_row,q4_row;
int q3_q4_col, q1_q2_col;
int l, step;
int color;

   // label the round maps

   q4_row = q1_row = ((AZEL_Y - AZEL_SIZE/2) / TEXT_HEIGHT) + 1;
   q3_row = q2_row = ((AZEL_Y + AZEL_SIZE/2) / TEXT_HEIGHT) - 1;
   q3_q4_col = (AZEL_X-AZEL_SIZE/2)/TEXT_WIDTH+2;
   q1_q2_col = (AZEL_X+AZEL_SIZE/2)/TEXT_WIDTH-2;
   if(SCREEN_WIDTH <= NARROW_SCREEN) {
      if(all_adevs || shared_plot) {  // plot area shared with az/el map
         if(SCREEN_HEIGHT < SHORT_SCREEN) {
            ++q4_row;  ++q1_row;
            ++q3_row;  ++q2_row;
         }
      }
      else {
         ++q3_row; ++q2_row;
      }
      --q4_row; --q1_row;
   }
   else if(all_adevs || shared_plot) {  // az/el map shared with plot area
      q1_q2_col -= 2;
      q3_q4_col += 1;
   }
   else {
      q1_q2_col -= 1;
   }

   if(0 & (SCREEN_HEIGHT < SHORT_SCREEN)) {
      --q2_row;
      --q3_row;
   }

   if(q1_q2_col < 0) q1_q2_col = 0;
   if(q3_q4_col < 0) q3_q4_col = 0;
   if(q1_row < 0) q1_row = 0;
   if(q2_row < 0) q2_row = 0;
   if(q3_row < 0) q3_row = 0;
   if(q4_row < 0) q4_row = 0;

   if((zoom_screen == 'U') || (zoom_screen == 'V')) {
      if(SCREEN_HEIGHT > SHORT_SCREEN) show_title();
   }
   else if(zoom_screen) {
      show_title();
   }

   if(small_azel()) return;  // map is too small to label

   no_x_margin = no_y_margin = 1;

   #ifdef SIG_LEVELS 
      if(zoom_screen || ((SCREEN_HEIGHT >= AZEL_TITLE_THRESH) && (all_adevs == SINGLE_ADEVS)) || ((SCREEN_WIDTH >= MEDIUM_WIDTH) && (AZEL_ROW < PLOT_ROW))) {
         if(zoom_screen == 'S')      label_circles(signals, q2_row+3); 
         else if(zoom_screen == 'U') label_circles(signals, q2_row+3); 
         else if((zoom_screen == 'V') || (zoom_screen == 'I')) {
            if(plot_signals) label_circles(signals, q2_row+3); 
            else             label_circles(0, q2_row+3); 
         }
         else if(map_and_watch) label_circles(0, q2_row+3);
         else                   label_circles(signals, q2_row+3);
      }

      l = min_sig_db;
      step = sig_level_step;

      if((zoom_screen == 'X') || (zoom_screen == 'Y')) {
         if(SCREEN_WIDTH < TINY_TINY_WIDTH) {
            q1_q2_col += 4;
            q3_q4_col -= 4;
         }
         else {
            q1_q2_col += 9;
            q3_q4_col -= 9;
         }
         goto xxxx;
      }
      else if((zoom_screen == 'U') || (zoom_screen == 'V') || (zoom_screen == 'I')) {
         q1_q2_col += 3;
         q3_q4_col -= 3;
         if(plot_signals == 4) goto xxxx;
         else if(plot_signals == 0) goto yyyy;
no_x_margin = no_y_margin = 0;
         return;
      }
      else if((zoom_screen == 'M') || (zoom_screen == 'B')) {
         q1_q2_col += 4;
         q3_q4_col -= 4;
      }

      if(map_and_watch && (zoom_screen != 'S')) ;
      else if((signals || (zoom_screen == 'S')) && (plot_signals >= 4)) {
         if(zoom_screen || ((SCREEN_WIDTH >= MEDIUM_WIDTH) && (AZEL_ROW < PLOT_ROW))) {
            xxxx:
            q1_q2_col-=2;
            q3_q4_col-=2;
            if(zoom_screen && (SCREEN_WIDTH >= (NARROW_SCREEN-24)) && (SCREEN_WIDTH <= (NARROW_SCREEN+24))) {  // !!!!! == NARROW_SCREEN?
               ++q1_row;  ++q4_row;
            }
//sprintf(debug_text, "q1r:%d  q2r:%d  q3r:%d  q4r:%d  q34c:%d  q12c:%d", q1_row,q2_row,q3_row,q4_row, q3_q4_col, q1_q2_col);
//DEBUGSTR(debug_text);

            sprintf(out, "<%d %s", l, level_type);
            vidstr(q4_row+0, q3_q4_col, LOW_SIGNAL,      out);
            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q4_row+1, q3_q4_col, level_color[1],  out);
            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q4_row+2, q3_q4_col, level_color[2],  out);

            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q1_row+0, q1_q2_col, level_color[3],  out);
            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q1_row+1, q1_q2_col, level_color[4],  out);
            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q1_row+2, q1_q2_col, level_color[5],  out);

            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q3_row-2, q3_q4_col, level_color[6],  out);
            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q3_row-1, q3_q4_col, level_color[7],  out);
            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q3_row-0, q3_q4_col, level_color[8],  out);

            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q2_row-2, q1_q2_col, level_color[9],  out);
            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q2_row-1, q1_q2_col, level_color[10], out);
            sprintf(out, ">%d %s", l, level_type); l+=step;
            vidstr(q2_row-0, q1_q2_col, level_color[11], out);
         }
         else {
            sprintf(out, "<%d", l);
            vidstr(q4_row+0, q3_q4_col, LOW_SIGNAL,      out);
            sprintf(out, ">%d", l); l+=step;
            vidstr(q4_row+1, q3_q4_col, level_color[1],  out);   
            sprintf(out, ">%d", l); l+=step;
            vidstr(q4_row+2, q3_q4_col, level_color[2],  out);   

            sprintf(out, ">%d", l); l+=step;
            vidstr(q1_row+0, q1_q2_col, level_color[3],  out);   
            sprintf(out, ">%d", l); l+=step;
            vidstr(q1_row+1, q1_q2_col, level_color[4],  out);   
            sprintf(out, ">%d", l); l+=step;
            vidstr(q1_row+2, q1_q2_col, level_color[5],  out);   

            sprintf(out, ">%d", l); l+=step;
            vidstr(q3_row-2, q3_q4_col, level_color[6],  out);   
            sprintf(out, ">%d", l); l+=step;
            vidstr(q3_row-1, q3_q4_col, level_color[7],  out);   
            sprintf(out, ">%d", l); l+=step;
            vidstr(q3_row-0, q3_q4_col, level_color[8],  out);   

            sprintf(out, ">%d", l); l+=step;
            vidstr(q2_row-2, q1_q2_col, level_color[9],  out);
            sprintf(out, ">%d", l); l+=step;
            vidstr(q2_row-1, q1_q2_col, level_color[10], out);
            sprintf(out, ">%d", l); l+=step;
            vidstr(q2_row-0, q1_q2_col, level_color[11], out);
         }
         no_x_margin = no_y_margin = 0;
if((zoom_screen == 'X') || (zoom_screen == 'Y')) {
   q1_q2_col -= 9;
   q3_q4_col += 9;

   --q1_row;
   --q4_row;
}
         else return;
      }
      else if(signals && plot_signals) {
         no_x_margin = no_y_margin = 0;
         return;
      }
   #endif

   yyyy:
   j = 0;
   for(i=1; i<=SUN_MOON_PRN; i++) {  // !!!!!! mooooo first draw the sat PRNs in use
      if(sat[i].level_msg == 0x00) continue;
      if((i == SUN_PRN) && (no_sun_moon & 0x01)) continue;
      if((i == MOON_PRN) && (no_sun_moon & 0x02)) continue;

if(tracked_only & (sat[i].tracking <= 0) && (i != SUN_PRN) && (i != MOON_PRN)) continue;
      if(i == SUN_PRN) ;
      else if(i == MOON_PRN);
      else if(sat[i].sig_level <= 0.0) continue; // zzzzzzzzzzzzzzzzzzzz

      el = sat[i].elevation;
      az = sat[i].azimuth;

      if((az == 0.0F) && (el == 0.0F)) continue;
      if((az < 0.0F) || (az >= 360.0F)) continue;
      if(el > 90.0F) continue;
      if(el < 0.0F) {
         if(i == SUN_PRN) ;
         else if(i == MOON_PRN) ;
         else continue;
         el = 0.0F - el;
      }

//sprintf(debug_text2, "Q1r:%d  Q2r:%d  Q3r:%d  Q4r:%d  Q34c:%d  Q12c:%d", q1_row,q2_row,q3_row,q4_row, q3_q4_col, q1_q2_col);
//DEBUGSTR3(debug_text2);

      if(sat[i].tracking > 0) {  //  we are actively tracking at least one satellite
         if(azel_grid_color == AZEL_ALERT) azel_grid_color = AZEL_COLOR;  
      } 
      el_dir = sat[i].el_dir;
      if(el_dir == 0) el_dir = ' ';

      kl = kr = 0;
//gns if(SCREEN_WIDTH > NARROW_SCREEN) {
      if((SCREEN_WIDTH > 800) || zoom_screen) {
         if(i == SUN_PRN)       sprintf(out, "SUN "); 
         else if(i == MOON_PRN) sprintf(out, "MOON"); 
         else if(i >= 100)      sprintf(out, "%03d%c", i,el_dir);
         else                   sprintf(out, "%02d%c ", i,el_dir);
         kl = 1;
         kr = 0;
      }
      else {
         if(i == SUN_PRN)       sprintf(out, "SUN "); 
         else if(i == MOON_PRN) sprintf(out, "MOON"); 
         else if(i >= 100)      sprintf(out, "%03d ", i);
         else                   sprintf(out, "%02d  ", i);
//gns    kl = 0;
//gns    kr = 1;
//       kl = 2;
         kl = 1;  // helps with small screens with no critical info
         kr = 1;
      }

      color = j;
      if(i == SUN_PRN) color = YELLOW_SAT_COLOR;  // !!!! kludge: force YELLOW for the sun
      if(i == MOON_PRN) {
         if(moon_el < 0) color = GREY_SAT_COLOR;
         else            color = YELLOW_SAT_COLOR;  // !!!! kludge: force YELLOW for the moon
      //sprintf(debug_text, "moon: el:%f  moon_el:%f  color:%d", el, moon_el, color);
      }
      color = sat_colors[color];
      if(blink_sat() && (i == blink_sat()) && (seconds & 1)) {  // blink the specified sat
         color = BLACK;
      }

      if(az < 90.0F) {  // figure out what quadrant they are in
         vidstr(q1_row, q1_q2_col+kr, color, out);
         ++q1_row;
      }
      else if(az < 180.0F) {
         vidstr(q2_row, q1_q2_col+kr, color, out);
         --q2_row;
      }
      else if(az < 270.0F) {
         vidstr(q3_row, q3_q4_col-kl, color, out);
         --q3_row;
      }
      else {
         vidstr(q4_row, q3_q4_col-kl, color, out);
         ++q4_row;
      }

      ++j;
      if(j > MAX_SAT_COLOR) j = 0;
   }

   no_x_margin = no_y_margin = 0;
   return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x4(%rbp)
leaq 0x247c52(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x58(%rbp)
leaq 0x247c2e(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x58(%rbp), %eax
subl %ecx, %eax
leaq 0x12509e(%rip), %rcx    # 0x2779f4
cltd
idivl (%rcx)
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl %eax, -0x30(%rbp)
leaq 0x247c1b(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x54(%rbp)
leaq 0x247bf7(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x54(%rbp), %eax
addl %ecx, %eax
leaq 0x125067(%rip), %rcx    # 0x2779f4
cltd
idivl (%rcx)
subl $0x1, %eax
movl %eax, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq 0x247be0(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x50(%rbp)
leaq 0x247bc0(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
leaq 0x12502c(%rip), %rcx    # 0x2779f0
cltd
idivl (%rcx)
addl $0x2, %eax
movl %eax, -0x34(%rbp)
leaq 0x247bac(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x4c(%rbp)
leaq 0x247b8c(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x4c(%rbp), %eax
addl %ecx, %eax
leaq 0x124ff8(%rip), %rcx    # 0x2779f0
cltd
idivl (%rcx)
subl $0x2, %eax
movl %eax, -0x38(%rbp)
leaq 0x124fd8(%rip), %rax    # 0x2779e0
movl (%rax), %eax
movl %eax, -0x48(%rbp)
leaq 0x12fd10(%rip), %rax    # 0x282724
imull $0x31a, (%rax), %eax    # imm = 0x31A
movl $0x64, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x48(%rbp), %eax
cmpl %ecx, %eax
jg 0x152a9e
leaq 0x1494ec(%rip), %rax    # 0x29bf1e
cmpb $0x0, (%rax)
jne 0x152a43
leaq 0x247b8a(%rip), %rax    # 0x39a5c8
cmpb $0x0, (%rax)
je 0x152a78
leaq 0x124f9a(%rip), %rax    # 0x2779e4
cmpl $0x258, (%rax)          # imm = 0x258
jge 0x152a76
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x152a8a
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movl -0x30(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x30(%rbp)
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x152ad5
leaq 0x149479(%rip), %rax    # 0x29bf1e
cmpb $0x0, (%rax)
jne 0x152ab6
leaq 0x247b17(%rip), %rax    # 0x39a5c8
cmpb $0x0, (%rax)
je 0x152aca
movl -0x38(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x152ad3
movl -0x38(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x152ad5
leaq 0x124f08(%rip), %rax    # 0x2779e4
cmpl $0x258, (%rax)          # imm = 0x258
setl %al
andb $0x1, %al
movzbl %al, %eax
andl $0x0, %eax
cmpl $0x0, %eax
je 0x152b04
movl -0x28(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x28(%rbp)
movl -0x2c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x38(%rbp)
jge 0x152b11
movl $0x0, -0x38(%rbp)
cmpl $0x0, -0x34(%rbp)
jge 0x152b1e
movl $0x0, -0x34(%rbp)
cmpl $0x0, -0x24(%rbp)
jge 0x152b2b
movl $0x0, -0x24(%rbp)
cmpl $0x0, -0x28(%rbp)
jge 0x152b38
movl $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
jge 0x152b45
movl $0x0, -0x2c(%rbp)
cmpl $0x0, -0x30(%rbp)
jge 0x152b52
movl $0x0, -0x30(%rbp)
leaq 0x218e2f(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x55, %eax
je 0x152b70
leaq 0x218e20(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x56, %eax
jne 0x152b86
leaq 0x124e6d(%rip), %rax    # 0x2779e4
cmpl $0x258, (%rax)          # imm = 0x258
jle 0x152b84
callq 0x21820
jmp 0x152b99
leaq 0x218dfb(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
je 0x152b97
callq 0x21820
jmp 0x152b99
callq 0x14e630
cmpl $0x0, %eax
je 0x152ba8
jmp 0x153af3
leaq 0x124e8c(%rip), %rax    # 0x277a3b
movb $0x1, (%rax)
leaq 0x124e81(%rip), %rax    # 0x277a3a
movb $0x1, (%rax)
leaq 0x218dc5(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
jne 0x152c11
leaq 0x124e15(%rip), %rax    # 0x2779e4
cmpl $0x340, (%rax)          # imm = 0x340
jl 0x152be6
leaq 0x149340(%rip), %rax    # 0x29bf1e
movzbl (%rax), %eax
cmpl $0x0, %eax
je 0x152c11
leaq 0x124df3(%rip), %rax    # 0x2779e0
cmpl $0x3e2, (%rax)          # imm = 0x3E2
jl 0x152ccc
leaq 0x247970(%rip), %rax    # 0x39a570
movl (%rax), %eax
leaq 0x124e53(%rip), %rcx    # 0x277a5c
cmpl (%rcx), %eax
jge 0x152ccc
leaq 0x218d70(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x53, %eax
jne 0x152c33
movl -0x4(%rbp), %edi
movl -0x28(%rbp), %esi
addl $0x3, %esi
callq 0x153b00
jmp 0x152cca
leaq 0x218d4e(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x55, %eax
jne 0x152c52
movl -0x4(%rbp), %edi
movl -0x28(%rbp), %esi
addl $0x3, %esi
callq 0x153b00
jmp 0x152cc8
leaq 0x218d2f(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x56, %eax
je 0x152c70
leaq 0x218d20(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0x152c9b
leaq 0x12797e(%rip), %rax    # 0x27a5f5
cmpb $0x0, (%rax)
je 0x152c8c
movl -0x4(%rbp), %edi
movl -0x28(%rbp), %esi
addl $0x3, %esi
callq 0x153b00
jmp 0x152c99
movl -0x28(%rbp), %esi
addl $0x3, %esi
xorl %edi, %edi
callq 0x153b00
jmp 0x152cc6
leaq 0x12794e(%rip), %rax    # 0x27a5f0
cmpb $0x0, (%rax)
je 0x152cb6
movl -0x28(%rbp), %esi
addl $0x3, %esi
xorl %edi, %edi
callq 0x153b00
jmp 0x152cc4
movl -0x4(%rbp), %edi
movl -0x28(%rbp), %esi
addl $0x3, %esi
callq 0x153b00
jmp 0x152cc6
jmp 0x152cc8
jmp 0x152cca
jmp 0x152ccc
leaq 0xc078d(%rip), %rax     # 0x213460
movl (%rax), %eax
movl %eax, -0x3c(%rbp)
leaq 0xc0785(%rip), %rax     # 0x213464
movl (%rax), %eax
movl %eax, -0x40(%rbp)
leaq 0x218c9d(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x58, %eax
je 0x152d02
leaq 0x218c8e(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x59, %eax
jne 0x152d3c
leaq 0x124cd7(%rip), %rax    # 0x2779e0
cmpl $0x1c2, (%rax)          # imm = 0x1C2
jge 0x152d25
movl -0x38(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
subl $0x4, %eax
movl %eax, -0x34(%rbp)
jmp 0x152d37
movl -0x38(%rbp), %eax
addl $0x9, %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
subl $0x9, %eax
movl %eax, -0x34(%rbp)
jmp 0x152e77
leaq 0x218c45(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x55, %eax
je 0x152d69
leaq 0x218c36(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x56, %eax
je 0x152d69
leaq 0x218c27(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0x152dbe
movl -0x38(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
subl $0x3, %eax
movl %eax, -0x34(%rbp)
leaq 0x127873(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x4, %eax
jne 0x152d8f
jmp 0x152e77
leaq 0x12785f(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x152da3
jmp 0x1535dc
jmp 0x152da5
leaq 0x124c8f(%rip), %rax    # 0x277a3b
movb $0x0, (%rax)
leaq 0x124c84(%rip), %rax    # 0x277a3a
movb $0x0, (%rax)
jmp 0x153af3
leaq 0x218bc3(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x4d, %eax
je 0x152ddc
leaq 0x218bb4(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x42, %eax
jne 0x152dee
movl -0x38(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
subl $0x4, %eax
movl %eax, -0x34(%rbp)
jmp 0x152df0
jmp 0x152df2
leaq 0x1277f7(%rip), %rax    # 0x27a5f0
cmpb $0x0, (%rax)
je 0x152e12
leaq 0x218b83(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x53, %eax
je 0x152e12
jmp 0x1535da
cmpl $0x0, -0x4(%rbp)
jne 0x152e2b
leaq 0x218b69(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x53, %eax
jne 0x1535ab
leaq 0x1277c3(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x4, %eax
jl 0x1535ab
leaq 0x218b43(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
jne 0x152e75
leaq 0x124b8f(%rip), %rax    # 0x2779e0
cmpl $0x3e2, (%rax)          # imm = 0x3E2
jl 0x153265
leaq 0x24770c(%rip), %rax    # 0x39a570
movl (%rax), %eax
leaq 0x124bef(%rip), %rcx    # 0x277a5c
cmpl (%rcx), %eax
jge 0x153265
jmp 0x152e77
movl -0x38(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x34(%rbp)
leaq 0x218af8(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
je 0x152f01
leaq 0x124b44(%rip), %rax    # 0x2779e0
movl (%rax), %eax
movl %eax, -0x5c(%rbp)
leaq 0x12f87c(%rip), %rax    # 0x282724
imull $0x31a, (%rax), %eax    # imm = 0x31A
movl $0x64, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x5c(%rbp), %eax
subl $0x18, %ecx
cmpl %ecx, %eax
jl 0x152f01
leaq 0x124b17(%rip), %rax    # 0x2779e0
movl (%rax), %eax
movl %eax, -0x60(%rbp)
leaq 0x12f84f(%rip), %rax    # 0x282724
imull $0x31a, (%rax), %eax    # imm = 0x31A
movl $0x64, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x60(%rbp), %eax
addl $0x18, %ecx
cmpl %ecx, %eax
jg 0x152f01
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl -0x3c(%rbp), %edx
leaq 0x14b1cd(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x2484eb(%rip), %rdi    # 0x39b400
leaq 0x44c5b(%rip), %rsi     # 0x197b77
movb $0x0, %al
callq 0x9060
movl -0x30(%rbp), %edi
addl $0x0, %edi
movl -0x34(%rbp), %esi
movl $0x8, %edx
leaq 0x2484c8(%rip), %rcx    # 0x39b400
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14b191(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x2484af(%rip), %rdi    # 0x39b400
leaq 0x44c26(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x30(%rbp), %edi
addl $0x1, %edi
movl -0x34(%rbp), %esi
movl 0x766dd(%rip), %eax     # 0x1c9654
leaq 0x248482(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14b148(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x248466(%rip), %rdi    # 0x39b400
leaq 0x44bdd(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x30(%rbp), %edi
addl $0x2, %edi
movl -0x34(%rbp), %esi
movl 0x76698(%rip), %eax     # 0x1c9658
leaq 0x248439(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14b0ff(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x24841d(%rip), %rdi    # 0x39b400
leaq 0x44b94(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x24(%rbp), %edi
addl $0x0, %edi
movl -0x38(%rbp), %esi
movl 0x76653(%rip), %eax     # 0x1c965c
leaq 0x2483f0(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14b0b6(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x2483d4(%rip), %rdi    # 0x39b400
leaq 0x44b4b(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x24(%rbp), %edi
addl $0x1, %edi
movl -0x38(%rbp), %esi
movl 0x7660e(%rip), %eax     # 0x1c9660
leaq 0x2483a7(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14b06d(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x24838b(%rip), %rdi    # 0x39b400
leaq 0x44b02(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x24(%rbp), %edi
addl $0x2, %edi
movl -0x38(%rbp), %esi
movl 0x765c9(%rip), %eax     # 0x1c9664
leaq 0x24835e(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14b024(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x248342(%rip), %rdi    # 0x39b400
leaq 0x44ab9(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x2c(%rbp), %edi
subl $0x2, %edi
movl -0x34(%rbp), %esi
movl 0x76584(%rip), %eax     # 0x1c9668
leaq 0x248315(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14afdb(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x2482f9(%rip), %rdi    # 0x39b400
leaq 0x44a70(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x2c(%rbp), %edi
subl $0x1, %edi
movl -0x34(%rbp), %esi
movl 0x7653f(%rip), %eax     # 0x1c966c
leaq 0x2482cc(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14af92(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x2482b0(%rip), %rdi    # 0x39b400
leaq 0x44a27(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x2c(%rbp), %edi
subl $0x0, %edi
movl -0x34(%rbp), %esi
movl 0x764fa(%rip), %eax     # 0x1c9670
leaq 0x248283(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14af49(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x248267(%rip), %rdi    # 0x39b400
leaq 0x449de(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x28(%rbp), %edi
subl $0x2, %edi
movl -0x38(%rbp), %esi
movl 0x764b5(%rip), %eax     # 0x1c9674
leaq 0x24823a(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14af00(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x24821e(%rip), %rdi    # 0x39b400
leaq 0x44995(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x28(%rbp), %edi
subl $0x1, %edi
movl -0x38(%rbp), %esi
movl 0x76470(%rip), %eax     # 0x1c9678
leaq 0x2481f1(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x14aeb7(%rip), %rax    # 0x29e0d8
movq (%rax), %rcx
leaq 0x2481d5(%rip), %rdi    # 0x39b400
leaq 0x4494c(%rip), %rsi     # 0x197b7e
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x28(%rbp), %edi
subl $0x0, %edi
movl -0x38(%rbp), %esi
movl 0x7642b(%rip), %eax     # 0x1c967c
leaq 0x2481a8(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
jmp 0x15354c
movl -0x3c(%rbp), %edx
leaq 0x248191(%rip), %rdi    # 0x39b400
leaq 0x4490f(%rip), %rsi     # 0x197b85
movb $0x0, %al
callq 0x9060
movl -0x30(%rbp), %edi
addl $0x0, %edi
movl -0x34(%rbp), %esi
movl $0x8, %edx
leaq 0x24816e(%rip), %rcx    # 0x39b400
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x24815f(%rip), %rdi    # 0x39b400
leaq 0x448e1(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x30(%rbp), %edi
addl $0x1, %edi
movl -0x34(%rbp), %esi
movl 0x7638d(%rip), %eax     # 0x1c9654
leaq 0x248132(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x248120(%rip), %rdi    # 0x39b400
leaq 0x448a2(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x30(%rbp), %edi
addl $0x2, %edi
movl -0x34(%rbp), %esi
movl 0x76352(%rip), %eax     # 0x1c9658
leaq 0x2480f3(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x2480e1(%rip), %rdi    # 0x39b400
leaq 0x44863(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x24(%rbp), %edi
addl $0x0, %edi
movl -0x38(%rbp), %esi
movl 0x76317(%rip), %eax     # 0x1c965c
leaq 0x2480b4(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x2480a2(%rip), %rdi    # 0x39b400
leaq 0x44824(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x24(%rbp), %edi
addl $0x1, %edi
movl -0x38(%rbp), %esi
movl 0x762dc(%rip), %eax     # 0x1c9660
leaq 0x248075(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x248063(%rip), %rdi    # 0x39b400
leaq 0x447e5(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x24(%rbp), %edi
addl $0x2, %edi
movl -0x38(%rbp), %esi
movl 0x762a1(%rip), %eax     # 0x1c9664
leaq 0x248036(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x248024(%rip), %rdi    # 0x39b400
leaq 0x447a6(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x2c(%rbp), %edi
subl $0x2, %edi
movl -0x34(%rbp), %esi
movl 0x76266(%rip), %eax     # 0x1c9668
leaq 0x247ff7(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x247fe5(%rip), %rdi    # 0x39b400
leaq 0x44767(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x2c(%rbp), %edi
subl $0x1, %edi
movl -0x34(%rbp), %esi
movl 0x7622b(%rip), %eax     # 0x1c966c
leaq 0x247fb8(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x247fa6(%rip), %rdi    # 0x39b400
leaq 0x44728(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x2c(%rbp), %edi
subl $0x0, %edi
movl -0x34(%rbp), %esi
movl 0x761f0(%rip), %eax     # 0x1c9670
leaq 0x247f79(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x247f67(%rip), %rdi    # 0x39b400
leaq 0x446e9(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x28(%rbp), %edi
subl $0x2, %edi
movl -0x38(%rbp), %esi
movl 0x761b5(%rip), %eax     # 0x1c9674
leaq 0x247f3a(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x247f28(%rip), %rdi    # 0x39b400
leaq 0x446aa(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x28(%rbp), %edi
subl $0x1, %edi
movl -0x38(%rbp), %esi
movl 0x7617a(%rip), %eax     # 0x1c9678
leaq 0x247efb(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x3c(%rbp), %edx
leaq 0x247ee9(%rip), %rdi    # 0x39b400
leaq 0x4466b(%rip), %rsi     # 0x197b89
movb $0x0, %al
callq 0x9060
movl -0x40(%rbp), %eax
addl -0x3c(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x28(%rbp), %edi
subl $0x0, %edi
movl -0x38(%rbp), %esi
movl 0x7613f(%rip), %eax     # 0x1c967c
leaq 0x247ebc(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
leaq 0x1244e8(%rip), %rax    # 0x277a3b
movb $0x0, (%rax)
leaq 0x1244dd(%rip), %rax    # 0x277a3a
movb $0x0, (%rax)
leaq 0x218421(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x58, %eax
je 0x15357e
leaq 0x218412(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x59, %eax
jne 0x1535a4
movl -0x38(%rbp), %eax
subl $0x9, %eax
movl %eax, -0x38(%rbp)
movl -0x34(%rbp), %eax
addl $0x9, %eax
movl %eax, -0x34(%rbp)
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x30(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x1535a9
jmp 0x153af3
jmp 0x1535d8
cmpl $0x0, -0x4(%rbp)
je 0x1535d6
leaq 0x12703d(%rip), %rax    # 0x27a5f5
cmpb $0x0, (%rax)
je 0x1535d6
leaq 0x124477(%rip), %rax    # 0x277a3b
movb $0x0, (%rax)
leaq 0x12446c(%rip), %rax    # 0x277a3a
movb $0x0, (%rax)
jmp 0x153af3
jmp 0x1535d8
jmp 0x1535da
jmp 0x1535dc
movl $0x0, -0xc(%rbp)
movl $0x1, -0x8(%rbp)
cmpl $0x3e9, -0x8(%rbp)      # imm = 0x3E9
jg 0x153adf
movslq -0x8(%rbp), %rcx
leaq 0x14ab8e(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
cmpl $0x0, 0x1c(%rax)
jne 0x153617
jmp 0x153ad1
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0x153636
leaq 0x7c821(%rip), %rax     # 0x1cfe48
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x153636
jmp 0x153ad1
cmpl $0x3e9, -0x8(%rbp)      # imm = 0x3E9
jne 0x153655
leaq 0x7c802(%rip), %rax     # 0x1cfe48
movl (%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x153655
jmp 0x153ad1
leaq 0x14aa98(%rip), %rax    # 0x29e0f4
movl (%rax), %eax
movslq -0x8(%rbp), %rdx
leaq 0x14ab27(%rip), %rcx    # 0x29e190
imulq $0x348, %rdx, %rdx      # imm = 0x348
addq %rdx, %rcx
cmpl $0x0, 0x218(%rcx)
setle %cl
andb $0x1, %cl
movzbl %cl, %ecx
andl %ecx, %eax
cmpl $0x0, %eax
je 0x1536a1
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
je 0x1536a1
cmpl $0x3e9, -0x8(%rbp)      # imm = 0x3E9
je 0x1536a1
jmp 0x153ad1
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0x1536ac
jmp 0x1536e7
cmpl $0x3e9, -0x8(%rbp)      # imm = 0x3E9
jne 0x1536b7
jmp 0x1536e5
movslq -0x8(%rbp), %rcx
leaq 0x14aace(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jb 0x1536e3
jmp 0x153ad1
jmp 0x1536e5
jmp 0x1536e7
movslq -0x8(%rbp), %rcx
leaq 0x14aa9e(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x20c(%rax), %xmm0
movss %xmm0, -0x20(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x14aa7c(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x208(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x1c(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x15374e
jp 0x15374e
movss -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x15374e
jp 0x15374e
jmp 0x153ad1
xorps %xmm0, %xmm0
ucomiss -0x1c(%rbp), %xmm0
ja 0x153769
movss -0x1c(%rbp), %xmm0
movss 0x2fba0(%rip), %xmm1    # 0x183304
ucomiss %xmm1, %xmm0
jb 0x15376e
jmp 0x153ad1
movss -0x20(%rbp), %xmm0
movss 0x1e1d5(%rip), %xmm1    # 0x171950
ucomiss %xmm1, %xmm0
jbe 0x153785
jmp 0x153ad1
xorps %xmm0, %xmm0
ucomiss -0x20(%rbp), %xmm0
jbe 0x1537b8
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0x153799
jmp 0x1537ab
cmpl $0x3e9, -0x8(%rbp)      # imm = 0x3E9
jne 0x1537a4
jmp 0x1537a9
jmp 0x153ad1
jmp 0x1537ab
xorps %xmm0, %xmm0
subss -0x20(%rbp), %xmm0
movss %xmm0, -0x20(%rbp)
movslq -0x8(%rbp), %rcx
leaq 0x14a9cd(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
cmpl $0x0, 0x218(%rax)
jle 0x1537f1
leaq 0x246dab(%rip), %rax    # 0x39a588
cmpl $0x4, (%rax)
jne 0x1537ef
leaq 0x246d9f(%rip), %rax    # 0x39a588
movl $0x8, (%rax)
jmp 0x1537f1
movslq -0x8(%rbp), %rcx
leaq 0x14a994(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movb 0x210(%rax), %al
movb %al, -0x15(%rbp)
movsbl -0x15(%rbp), %eax
cmpl $0x0, %eax
jne 0x15381c
movb $0x20, -0x15(%rbp)
movl $0x0, -0x14(%rbp)
movl $0x0, -0x10(%rbp)
leaq 0x1241af(%rip), %rax    # 0x2779e0
cmpl $0x320, (%rax)          # imm = 0x320
jg 0x153849
leaq 0x218148(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
je 0x1538e0
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0x153869
leaq 0x247ba7(%rip), %rdi    # 0x39b400
leaq 0x4432d(%rip), %rsi     # 0x197b8d
movb $0x0, %al
callq 0x9060
jmp 0x1538cd
cmpl $0x3e9, -0x8(%rbp)      # imm = 0x3E9
jne 0x153889
leaq 0x247b87(%rip), %rdi    # 0x39b400
leaq 0x2c49e(%rip), %rsi     # 0x17fd1e
movb $0x0, %al
callq 0x9060
jmp 0x1538cb
cmpl $0x64, -0x8(%rbp)
jl 0x1538ad
movl -0x8(%rbp), %edx
movsbl -0x15(%rbp), %ecx
leaq 0x247b63(%rip), %rdi    # 0x39b400
leaq 0x4106a(%rip), %rsi     # 0x19490e
movb $0x0, %al
callq 0x9060
jmp 0x1538c9
movl -0x8(%rbp), %edx
movsbl -0x15(%rbp), %ecx
leaq 0x247b45(%rip), %rdi    # 0x39b400
leaq 0x442d0(%rip), %rsi     # 0x197b92
movb $0x0, %al
callq 0x9060
jmp 0x1538cb
jmp 0x1538cd
movl $0x1, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
jmp 0x15396a
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0x153900
leaq 0x247b10(%rip), %rdi    # 0x39b400
leaq 0x44296(%rip), %rsi     # 0x197b8d
movb $0x0, %al
callq 0x9060
jmp 0x15395c
cmpl $0x3e9, -0x8(%rbp)      # imm = 0x3E9
jne 0x153920
leaq 0x247af0(%rip), %rdi    # 0x39b400
leaq 0x2c407(%rip), %rsi     # 0x17fd1e
movb $0x0, %al
callq 0x9060
jmp 0x15395a
cmpl $0x64, -0x8(%rbp)
jl 0x153940
movl -0x8(%rbp), %edx
leaq 0x247ad0(%rip), %rdi    # 0x39b400
leaq 0x44263(%rip), %rsi     # 0x197b9a
movb $0x0, %al
callq 0x9060
jmp 0x153958
movl -0x8(%rbp), %edx
leaq 0x247ab6(%rip), %rdi    # 0x39b400
leaq 0x4424f(%rip), %rsi     # 0x197ba0
movb $0x0, %al
callq 0x9060
jmp 0x15395a
jmp 0x15395c
movl $0x1, -0x10(%rbp)
movl $0x1, -0x14(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x44(%rbp)
cmpl $0x3e8, -0x8(%rbp)      # imm = 0x3E8
jne 0x153980
movl $0xe, -0x44(%rbp)
cmpl $0x3e9, -0x8(%rbp)      # imm = 0x3E9
jne 0x1539ab
xorps %xmm0, %xmm0
leaq 0x21903d(%rip), %rax    # 0x36c9d0
ucomisd (%rax), %xmm0
jbe 0x1539a2
movl $0xb, -0x44(%rbp)
jmp 0x1539a9
movl $0xe, -0x44(%rbp)
jmp 0x1539ab
movslq -0x44(%rbp), %rcx
leaq 0x75cca(%rip), %rax     # 0x1c9680
movl (%rax,%rcx,4), %eax
movl %eax, -0x44(%rbp)
callq 0x151660
cmpl $0x0, %eax
je 0x1539f2
movl -0x8(%rbp), %eax
movl %eax, -0x64(%rbp)
callq 0x151660
movl %eax, %ecx
movl -0x64(%rbp), %eax
cmpl %ecx, %eax
jne 0x1539f2
leaq 0x218cc7(%rip), %rax    # 0x36c6a8
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1539f2
movl $0x0, -0x44(%rbp)
movss 0x1df56(%rip), %xmm0    # 0x171950
ucomiss -0x1c(%rbp), %xmm0
jbe 0x153a29
movl -0x24(%rbp), %edi
movl -0x38(%rbp), %esi
addl -0x14(%rbp), %esi
movl -0x44(%rbp), %eax
leaq 0x2479ed(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x153ab9
movss 0x2f8e3(%rip), %xmm0    # 0x183314
ucomiss -0x1c(%rbp), %xmm0
jbe 0x153a5d
movl -0x28(%rbp), %edi
movl -0x38(%rbp), %esi
addl -0x14(%rbp), %esi
movl -0x44(%rbp), %eax
leaq 0x2479b6(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x28(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x153ab7
movss 0x3b767(%rip), %xmm0    # 0x18f1cc
ucomiss -0x1c(%rbp), %xmm0
jbe 0x153a91
movl -0x2c(%rbp), %edi
movl -0x34(%rbp), %esi
subl -0x10(%rbp), %esi
movl -0x44(%rbp), %eax
leaq 0x247982(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x2c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x153ab5
movl -0x30(%rbp), %edi
movl -0x34(%rbp), %esi
subl -0x10(%rbp), %esi
movl -0x44(%rbp), %eax
leaq 0x24795c(%rip), %rcx    # 0x39b400
movzbl %al, %edx
callq 0x10ee0
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x153ab7
jmp 0x153ab9
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
cmpl $0xe, -0xc(%rbp)
jle 0x153acf
movl $0x0, -0xc(%rbp)
jmp 0x153ad1
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x1535ea
leaq 0x123f55(%rip), %rax    # 0x277a3b
movb $0x0, (%rax)
leaq 0x123f4a(%rip), %rax    # 0x277a3a
movb $0x0, (%rax)
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax)