// File: /workspace/github_cpp_makefile_star2_O2/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %edi, %r12d
leaq 0x244866(%rip), %rax    # 0x3253a4
movl (%rax), %edi
leaq 0x244845(%rip), %r15    # 0x32538c
movl (%r15), %ecx
pushq $0x2
popq %rsi
movl %ecx, %eax
cltd
idivl %esi
movl %eax, %r9d
movl %edi, %eax
subl %r9d, %eax
leaq 0x121cb3(%rip), %rdx    # 0x202814
movl (%rdx), %r8d
cltd
idivl %r8d
movl %eax, %esi
addl %r9d, %edi
movl %edi, %eax
cltd
idivl %r8d
movl %eax, %edi
leaq 0x244824(%rip), %rax    # 0x3253a0
movl (%rax), %r10d
movl %r10d, %eax
subl %r9d, %eax
leaq 0x121c84(%rip), %rdx    # 0x202810
movl (%rdx), %r11d
cltd
idivl %r11d
movl %eax, %r8d
addl %r9d, %r10d
movl %r10d, %eax
cltd
idivl %r11d
movl %eax, %r13d
leaq 0x121c56(%rip), %rax    # 0x202800
movl (%rax), %r10d
leaq 0x12c990(%rip), %rax    # 0x20d544
imull $0x31a, (%rax), %eax    # imm = 0x31A
pushq $0x64
popq %r9
cltd
idivl %r9d
leaq 0x24481f(%rip), %rdx    # 0x3253e8
movb (%rdx), %dl
leaq 0x14616c(%rip), %r9     # 0x226d3e
orb (%r9), %dl
setne %r9b
leal 0x1(%rsi), %r11d
leal -0x1(%rdi), %edx
leal 0x2(%r8), %ebx
cmpl %eax, %r10d
jle 0xe0bfb
testb %r9b, %r9b
je 0xe0c1a
addl $-0x4, %r13d
addl $0x3, %r8d
movl %r8d, %ebx
jmp 0xe0c25
addl $-0x2, %r13d
testb %r9b, %r9b
je 0xe0c20
leaq 0x121bf9(%rip), %rax    # 0x202804
cmpl $0x258, (%rax)          # imm = 0x258
cmovll %edi, %edx
cmovll %r11d, %esi
jmp 0xe0c22
addl $-0x3, %r13d
jmp 0xe0c25
movl %edi, %edx
movl %esi, %r11d
xorl %r14d, %r14d
testl %r13d, %r13d
cmovlel %r14d, %r13d
testl %ebx, %ebx
cmovlel %r14d, %ebx
testl %r11d, %r11d
cmovlel %r14d, %r11d
testl %edx, %edx
cmovgl %edx, %r14d
leaq 0x215b5f(%rip), %rax    # 0x2f67a8
movb (%rax), %al
leal -0x55(%rax), %edx
cmpb $0x1, %dl
ja 0xe0c64
leaq 0x121baa(%rip), %rax    # 0x202804
cmpl $0x258, (%rax)          # imm = 0x258
jg 0xe0c6c
jmp 0xe0c90
testb %al, %al
je 0xe0d03
movl %r12d, %r15d
movq %r14, %r12
movl %ebx, %r14d
movq %r11, %rbx
callq 0x1747f
movq %rbx, %r11
movl %r14d, %ebx
movq %r12, %r14
movl %r15d, %r12d
leaq 0x2446fc(%rip), %r15    # 0x32538c
leaq 0x215b11(%rip), %rax    # 0x2f67a8
movb (%rax), %al
movl (%r15), %ecx
cmpl $0xa0, %ecx
setge %cl
testb %al, %al
setne %dl
orb %cl, %dl
cmpb $0x1, %dl
jne 0xe17a5
leaq 0x121b9f(%rip), %rdx    # 0x20285b
movb $0x1, %cl
movb %cl, (%rdx)
leaq 0x121b93(%rip), %rdx    # 0x20285a
movb %cl, (%rdx)
testb %al, %al
je 0xe0d07
cmpb $0x49, %al
je 0xe0d41
movzbl %al, %eax
cmpl $0x56, %eax
je 0xe0d41
cmpl $0x55, %eax
je 0xe0ce3
cmpl $0x53, %eax
jne 0xe0d2a
leal 0x3(%r14), %esi
movl %r12d, %edi
movq %r14, %r15
movl %ebx, %r14d
movq %r11, %rbx
callq 0xe17b4
movq %rbx, %r11
movl %r14d, %ebx
movq %r15, %r14
jmp 0xe0d5f
xorl %eax, %eax
jmp 0xe0c9c
leaq 0x121af6(%rip), %rax    # 0x202804
cmpl $0x340, (%rax)          # imm = 0x340
jl 0xe14d5
leaq 0x14601d(%rip), %rax    # 0x226d3e
cmpb $0x0, (%rax)
jne 0xe14d5
movq %r11, %r15
leaq 0x1246dc(%rip), %rax    # 0x205410
leal 0x3(%r14), %esi
cmpb $0x0, (%rax)
je 0xe0d54
xorl %edi, %edi
jmp 0xe0d57
movq %r11, %r15
leaq 0x1246ca(%rip), %rax    # 0x205415
leal 0x3(%r14), %esi
cmpb $0x0, (%rax)
je 0xe0d3d
movl %r12d, %edi
callq 0xe17b4
movq %r15, %r11
movl %r13d, -0x2c(%rbp)
leaq 0xbd516(%rip), %rax     # 0x19e280
movl (%rax), %r13d
leaq 0xbd510(%rip), %rax     # 0x19e284
movl (%rax), %eax
movl %eax, -0x3c(%rbp)
leaq 0x215a28(%rip), %rax    # 0x2f67a8
movzbl (%rax), %eax
movl %eax, %ecx
andb $-0x2, %cl
cmpb $0x58, %cl
movq %r14, -0x50(%rbp)
jne 0xe0dab
leaq 0x121a68(%rip), %rax    # 0x202800
movl (%rax), %ecx
cmpl $0x1c1, %ecx            # imm = 0x1C1
jg 0xe0df8
addl $0x4, -0x2c(%rbp)
addl $-0x4, %ebx
jmp 0xe0dff
leal -0x42(%rax), %ecx
cmpl $0x14, %ecx
ja 0xe1124
movl $0x180080, %edx         # imm = 0x180080
btl %ecx, %edx
jae 0xe1113
addl $0x3, -0x2c(%rbp)
addl $-0x3, %ebx
movl %ebx, -0x30(%rbp)
leaq 0x12463f(%rip), %rax    # 0x205415
movzbl (%rax), %eax
testl %eax, %eax
je 0xe1140
cmpl $0x4, %eax
jne 0xe1791
leaq 0x121a0f(%rip), %rax    # 0x202800
movl (%rax), %ecx
movl -0x30(%rbp), %ebx
jmp 0xe0dff
addl $0x9, -0x2c(%rbp)
addl $-0x9, %ebx
pushq $0x64
popq %rsi
leaq 0x12c73b(%rip), %rax    # 0x20d544
imull $0x31a, (%rax), %eax    # imm = 0x31A
cltd
idivl %esi
leal -0x18(%rax), %edx
cmpl %edx, %ecx
setge %dl
addl $0x18, %eax
cmpl %eax, %ecx
setle %al
andb %dl, %al
movzbl %al, %eax
addl %eax, %r11d
movq %r11, %r12
addl $-0x2, -0x2c(%rbp)
addl $-0x2, %ebx
leaq 0x1480bd(%rip), %r15    # 0x228ef8
movq (%r15), %rcx
leaq 0x2453db(%rip), %r14    # 0x326220
leaq 0x3e0b9(%rip), %rsi     # 0x11ef05
movq %r14, %rdi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
pushq $0x8
popq %rdx
movl %r12d, %edi
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movq (%r15), %rcx
leaq 0x3e099(%rip), %rsi     # 0x11ef0c
movq %r14, %rdi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
movl -0x3c(%rbp), %r15d
addl %r15d, %r13d
leal 0x1(%r12), %edi
movl %edi, -0x38(%rbp)
movzbl 0x737be(%rip), %edx     # 0x154654
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x148051(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
leaq 0x3e058(%rip), %rsi     # 0x11ef0c
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movl %ebx, -0x30(%rbp)
leal 0x2(%r12), %edi
movl %edi, -0x34(%rbp)
movzbl 0x73785(%rip), %edx     # 0x154658
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x148014(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
leaq 0x3e01b(%rip), %rbx     # 0x11ef0c
movq %rbx, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x73754(%rip), %edx     # 0x15465c
movq %r12, -0x48(%rbp)
movl %r12d, %edi
movl -0x2c(%rbp), %r12d
movl %r12d, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x147fd3(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
movq %rbx, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x7371e(%rip), %edx     # 0x154660
movl -0x38(%rbp), %edi
movl %r12d, %esi
movl %r12d, -0x2c(%rbp)
movq %r14, %rcx
callq 0xe2d2
leaq 0x147f9d(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
movq %rbx, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x736ec(%rip), %edx     # 0x154664
movl -0x34(%rbp), %edi
movl %r12d, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x147f6b(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
movq %rbx, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movq -0x50(%rbp), %r12
leal -0x2(%r12), %edi
movl %edi, -0x38(%rbp)
movzbl 0x736b2(%rip), %edx     # 0x154668
movl -0x30(%rbp), %ebx
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x147f2e(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
leaq 0x3df35(%rip), %rsi     # 0x11ef0c
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
leal -0x1(%r12), %edi
movl %edi, -0x34(%rbp)
movzbl 0x73679(%rip), %edx     # 0x15466c
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x147ef4(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
leaq 0x3defb(%rip), %rsi     # 0x11ef0c
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x7364b(%rip), %edx     # 0x154670
movl %r12d, %edi
movl %ebx, %esi
movl -0x2c(%rbp), %ebx
movq %r14, %rcx
callq 0xe2d2
leaq 0x147ebc(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
leaq 0x3dec3(%rip), %rsi     # 0x11ef0c
movq %rsi, %r12
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x73614(%rip), %edx     # 0x154674
movl -0x38(%rbp), %edi
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x147e84(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x735e7(%rip), %edx     # 0x154678
movl -0x34(%rbp), %edi
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x147e53(%rip), %rax    # 0x228ef8
movq (%rax), %rcx
movq %r14, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
movzbl 0x735bd(%rip), %edx     # 0x15467c
leaq 0x24515a(%rip), %rcx    # 0x326220
movq -0x50(%rbp), %r14
movl %r14d, %edi
movl %ebx, %esi
callq 0xe2d2
xorl %eax, %eax
leaq 0x12177e(%rip), %rcx    # 0x20285b
movb %al, (%rcx)
leaq 0x121774(%rip), %rcx    # 0x20285a
movb %al, (%rcx)
leaq 0x2156b9(%rip), %rax    # 0x2f67a8
movb (%rax), %al
andb $-0x2, %al
cmpb $0x58, %al
movq -0x48(%rbp), %r11
movl -0x30(%rbp), %ecx
jne 0xe17a5
addl $-0x9, %ebx
movl %ebx, -0x2c(%rbp)
addl $0x9, %ecx
movl %ecx, -0x30(%rbp)
decl %r11d
jmp 0xe1140
movl $0x801, %edx            # imm = 0x801
btl %ecx, %edx
jae 0xe1124
addl $0x4, -0x2c(%rbp)
addl $-0x4, %ebx
cmpl $0x53, %eax
je 0xe1505
leaq 0x1242dc(%rip), %rcx    # 0x205410
cmpb $0x0, (%rcx)
je 0xe1505
movl %ebx, -0x30(%rbp)
movl $0x560, %ebx            # imm = 0x560
addq 0x58dfc(%rip), %rbx     # 0x139f48
decl -0x30(%rbp)
leaq 0x79b12(%rip), %rsi     # 0x15ac68
leaq 0x147db7(%rip), %rdi    # 0x228f14
xorps %xmm1, %xmm1
movss 0x2783c(%rip), %xmm2    # 0x1089a4
leaq 0x244239(%rip), %r8     # 0x3253a8
xorl %r15d, %r15d
xorl %r9d, %r9d
movl %r14d, -0x38(%rbp)
movl %r11d, -0x34(%rbp)
cmpq $0x3e9, %r15            # imm = 0x3E9
je 0xe1791
movq %r15, %r13
incq %r15
cmpl $0x0, -0x1fc(%rbx)
je 0xe14c9
cmpq $0x3e7, %r13            # imm = 0x3E7
jne 0xe11b1
testb $0x1, (%rsi)
jne 0xe14c9
jmp 0xe11c8
cmpq $0x3e8, %r13            # imm = 0x3E8
jne 0xe11c8
movb $0x1, %r12b
testb $0x2, (%rsi)
jne 0xe14c9
jmp 0xe11cb
xorl %r12d, %r12d
movl (%rbx), %eax
cmpq $0x3e7, %r15            # imm = 0x3E7
ja 0xe11e5
testl %eax, %eax
jg 0xe11e5
movl (%rdi), %ecx
andl $0x1, %ecx
jne 0xe14c9
movl %r15d, %ecx
andl $0x3fe, %ecx            # imm = 0x3FE
cmpl $0x3e8, %ecx            # imm = 0x3E8
je 0xe1203
ucomiss -0x1f8(%rbx), %xmm1
jae 0xe14c9
movss -0x10(%rbx), %xmm3
movss -0xc(%rbx), %xmm0
ucomiss %xmm1, %xmm3
jne 0xe121f
jp 0xe121f
ucomiss %xmm1, %xmm0
jne 0xe121f
jnp 0xe14c9
cmpl $0x3e8, %ecx            # imm = 0x3E8
sete %cl
ucomiss %xmm0, %xmm1
setbe %dl
ucomiss %xmm3, %xmm1
ja 0xe14c9
ucomiss %xmm2, %xmm3
jae 0xe14c9
ucomiss 0x15ebd(%rip), %xmm0    # 0xf7104
ja 0xe14c9
orb %dl, %cl
je 0xe14c9
testl %eax, %eax
jle 0xe1266
cmpl $0x4, (%r8)
jne 0xe1266
movl $0x8, (%r8)
movl -0x8(%rbx), %eax
testb %al, %al
pushq $0x20
popq %rcx
cmovel %ecx, %eax
leaq 0x121588(%rip), %rcx    # 0x202800
cmpl $0x320, (%rcx)          # imm = 0x320
movq %r11, -0x48(%rbp)
movq %r14, -0x50(%rbp)
movss %xmm3, -0x3c(%rbp)
jg 0xe12b5
leaq 0x215514(%rip), %rcx    # 0x2f67a8
cmpb $0x0, (%rcx)
jne 0xe12b5
cmpq $0x3e7, %r13            # imm = 0x3E7
jne 0xe12ef
leaq 0x244f77(%rip), %rax    # 0x326220
movb $0x0, 0x4(%rax)
movl $0x204e5553, (%rax)     # imm = 0x204E5553
jmp 0xe1305
cmpq $0x3e7, %r13            # imm = 0x3E7
jne 0xe12d1
leaq 0x244f5b(%rip), %rax    # 0x326220
movb $0x0, 0x4(%rax)
movl $0x204e5553, (%rax)     # imm = 0x204E5553
jmp 0xe12e7
testb %r12b, %r12b
je 0xe130b
leaq 0x244f43(%rip), %rax    # 0x326220
movb $0x0, 0x4(%rax)
movl $0x4e4f4f4d, (%rax)     # imm = 0x4E4F4F4D
xorl %r14d, %r14d
jmp 0xe1371
testb %r12b, %r12b
je 0xe132b
leaq 0x244f25(%rip), %rax    # 0x326220
movb $0x0, 0x4(%rax)
movl $0x4e4f4f4d, (%rax)     # imm = 0x4E4F4F4D
pushq $0x1
popq %r14
jmp 0xe1371
movq %r9, -0x58(%rbp)
movsbl %al, %ecx
xorl %r14d, %r14d
leaq 0x244f04(%rip), %rdi    # 0x326220
cmpq $0x64, %r15
jb 0xe1345
leaq 0x3aa09(%rip), %rsi     # 0x11bd32
jmp 0xe134c
movq %r9, -0x58(%rbp)
leaq 0x244eea(%rip), %rdi    # 0x326220
cmpq $0x64, %r15
jb 0xe1358
leaq 0x3dbe5(%rip), %rsi     # 0x11ef28
jmp 0xe135f
leaq 0x3dbd4(%rip), %rsi     # 0x11ef20
movl %r15d, %edx
xorl %eax, %eax
callq 0x9060
jmp 0xe136d
leaq 0x3dbcf(%rip), %rsi     # 0x11ef2e
movl %r15d, %edx
xorl %eax, %eax
callq 0x9060
pushq $0x1
popq %r14
movq -0x58(%rbp), %r9
cmpq $0x3e7, %r13            # imm = 0x3E7
movq %r9, %r13
movl %r9d, %eax
pushq $0xe
popq %rcx
cmovel %ecx, %eax
xorl %ecx, %ecx
leaq 0x216463(%rip), %rdx    # 0x2f77f0
xorps %xmm0, %xmm0
ucomisd (%rdx), %xmm0
setbe %cl
leal (%rcx,%rcx,2), %ecx
addl $0xb, %ecx
testb %r12b, %r12b
cmovel %eax, %ecx
movslq %ecx, %rax
leaq 0x732d3(%rip), %rcx     # 0x154680
movl (%rcx,%rax,4), %r12d
callq 0xdfc8c
testl %eax, %eax
je 0xe13de
callq 0xdfc8c
movl %eax, %eax
cmpq %rax, %r15
movl -0x2c(%rbp), %eax
jne 0xe13e1
leaq 0x2160f8(%rip), %rcx    # 0x2f74c8
testb $0x1, (%rcx)
movl $0x0, %ecx
cmovnel %ecx, %r12d
jmp 0xe13e1
movl -0x2c(%rbp), %eax
movq -0x48(%rbp), %rdi
movss -0x3c(%rbp), %xmm1
movss 0x15d12(%rip), %xmm0    # 0xf7104
ucomiss %xmm1, %xmm0
movzbl %r12b, %edx
jbe 0xe1416
addl %eax, %r14d
movl %r14d, %esi
leaq 0x244e18(%rip), %rcx    # 0x326220
callq 0xe2d2
movq -0x48(%rbp), %r11
incl %r11d
jmp 0xe1492
movss 0x27592(%rip), %xmm0    # 0x1089b0
ucomiss %xmm1, %xmm0
jbe 0xe1445
addl %eax, %r14d
movq -0x50(%rbp), %rdi
movl %r14d, %esi
movq %rdi, %r14
leaq 0x244de9(%rip), %rcx    # 0x326220
callq 0xe2d2
movq -0x48(%rbp), %r11
decl %r14d
jmp 0xe1496
movss 0x352bb(%rip), %xmm0    # 0x116708
ucomiss %xmm1, %xmm0
jbe 0xe1471
movl -0x38(%rbp), %r14d
movl %r14d, %edi
movl -0x30(%rbp), %esi
leaq 0x244dbd(%rip), %rcx    # 0x326220
callq 0xe2d2
decl %r14d
movl %r14d, -0x38(%rbp)
jmp 0xe148e
movl -0x34(%rbp), %r14d
movl %r14d, %edi
movl -0x30(%rbp), %esi
leaq 0x244d9e(%rip), %rcx    # 0x326220
callq 0xe2d2
incl %r14d
movl %r14d, -0x34(%rbp)
movq -0x48(%rbp), %r11
movq -0x50(%rbp), %r14
cmpl $0xe, %r13d
leal 0x1(%r13), %eax
movl $0x0, %ecx
cmovgel %ecx, %eax
movl %eax, %r9d
leaq 0x797b8(%rip), %rsi     # 0x15ac68
leaq 0x147a5d(%rip), %rdi    # 0x228f14
xorps %xmm1, %xmm1
movss 0x274e2(%rip), %xmm2    # 0x1089a4
leaq 0x243edf(%rip), %r8     # 0x3253a8
addq $0x348, %rbx            # imm = 0x348
jmp 0xe117d
leaq 0x121324(%rip), %rax    # 0x202800
cmpl $0x3e2, (%rax)          # imm = 0x3E2
jl 0xe0d5f
leaq 0x243ea1(%rip), %rax    # 0x325390
movl (%rax), %eax
leaq 0x121384(%rip), %rcx    # 0x20287c
cmpl (%rcx), %eax
jl 0xe0d2a
jmp 0xe0d5f
testl %r12d, %r12d
setne %cl
cmpl $0x53, %eax
sete %dl
orb %cl, %dl
leaq 0x123efb(%rip), %rcx    # 0x205415
movb (%rcx), %cl
cmpb $0x4, %cl
setae %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0xe177b
leaq 0x1212c9(%rip), %rcx    # 0x202800
movl (%rcx), %ecx
testl %eax, %eax
jne 0xe0dff
cmpl $0x3e2, %ecx            # imm = 0x3E2
jl 0xe1561
leaq 0x243e40(%rip), %rax    # 0x325390
movl (%rax), %eax
leaq 0x121323(%rip), %rcx    # 0x20287c
cmpl (%rcx), %eax
jl 0xe0e2a
leaq 0x244cb8(%rip), %r14    # 0x326220
leaq 0x3d9a4(%rip), %rsi     # 0x11ef13
movq %r14, %rdi
movl %r13d, %edx
xorl %eax, %eax
movq %r11, %r12
callq 0x9060
pushq $0x8
popq %rdx
movl %r12d, %edi
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
leaq 0x3d981(%rip), %rsi     # 0x11ef17
movq %r14, %rdi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
movl -0x3c(%rbp), %r15d
addl %r15d, %r13d
leal 0x1(%r12), %edi
movl %edi, -0x38(%rbp)
movzbl 0x7309b(%rip), %edx     # 0x154654
movl %ebx, %esi
movl %ebx, -0x30(%rbp)
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
leaq 0x3d947(%rip), %rsi     # 0x11ef17
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
leal 0x2(%r12), %edi
movl %edi, -0x34(%rbp)
movzbl 0x7306c(%rip), %edx     # 0x154658
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
leaq 0x3d917(%rip), %rsi     # 0x11ef17
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x73048(%rip), %edx     # 0x15465c
movq %r12, -0x48(%rbp)
movl %r12d, %edi
movl -0x2c(%rbp), %ebx
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
leaq 0x3d8e5(%rip), %r12     # 0x11ef17
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x73017(%rip), %edx     # 0x154660
movl -0x38(%rbp), %edi
movl %ebx, %esi
movl %ebx, -0x2c(%rbp)
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x72ff1(%rip), %edx     # 0x154664
movl -0x34(%rbp), %edi
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movq -0x50(%rbp), %r12
leal -0x2(%r12), %edi
movl %edi, -0x38(%rbp)
movzbl 0x72fc2(%rip), %edx     # 0x154668
movl -0x30(%rbp), %ebx
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
leaq 0x3d85a(%rip), %rsi     # 0x11ef17
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
leal -0x1(%r12), %edi
movl %edi, -0x34(%rbp)
movzbl 0x72f93(%rip), %edx     # 0x15466c
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
leaq 0x3d82a(%rip), %rsi     # 0x11ef17
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x72f6f(%rip), %edx     # 0x154670
movl %r12d, %edi
movl %ebx, %esi
movl -0x2c(%rbp), %ebx
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
leaq 0x3d7fc(%rip), %r12     # 0x11ef17
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x72f42(%rip), %edx     # 0x154674
movl -0x38(%rbp), %edi
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
addl %r15d, %r13d
movzbl 0x72f1f(%rip), %edx     # 0x154678
movl -0x34(%rbp), %edi
movl %ebx, %esi
movq %r14, %rcx
callq 0xe2d2
movq %r14, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x9060
jmp 0xe10b8
movl %ebx, -0x30(%rbp)
testl %r12d, %r12d
setne %al
testb %cl, %cl
setne %cl
testb %cl, %al
je 0xe1140
xorl %eax, %eax
leaq 0x1210c1(%rip), %rcx    # 0x20285b
movb %al, (%rcx)
leaq 0x1210b7(%rip), %rcx    # 0x20285a
movb %al, (%rcx)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq