// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathmsc.cpp
// Function: draw_azel_plot(int)
void draw_azel_plot(int why)
{
int save_row, save_col, save_size;
int did_watch;

   // draw satellite position map, analog watch, and/or signal level map

   if(text_mode) return;
   did_watch = 99;
   if(zoom_screen == 'L') return;
   if(zoom_screen == 'C') return;
   if((zoom_screen == 'M') || (zoom_screen == 'B') || (zoom_screen == 'X')) ;
   else if(zoom_screen == 'Y') ;
   else if(zoom_screen == 'V') ;
   else if(zoom_screen == 'I') ;
   else if(plot_azel == 0) return;

   if     (zoom_screen == 'W') ;
   else if(zoom_screen == 'B') erase_screen();
   else if(zoom_screen == 'M') ;
   else if(zoom_screen == 'S') ;
   else if(zoom_screen == 'X') ;
   else if(zoom_screen == 'Y') ;
   else if(zoom_screen == 'V') ;
   else if(zoom_screen == 'I') ;
   else if(zoom_screen == 'N') {
      erase_screen();
      return;
   }
   else if(zoom_screen) return;

// if(all_adevs && plot_signals && shared_plot) return;  //zzzzzzz
   if(plot_lla && (shared_plot == 0)) return;
   if(first_key && shared_plot && (shared_item & SHARE_MAP)) return;

   save_row = AZEL_ROW;
   save_col = AZEL_COL;
   save_size = AZEL_SIZE;

   AZEL_X = (AZEL_COL+AZEL_SIZE/2-1);   // center point of plot
   AZEL_Y = (AZEL_ROW+AZEL_SIZE/2-1);   


   if(zoom_screen == 'N') {  // blank (mostly) screen
      erase_screen();
      return;
   }

if(last_sun_x && last_sun_y && last_sun_r && (show_fixes == 0) && (zoom_screen != 'V')) {  // erase the old sun disk
   draw_circle(last_sun_x,last_sun_y, last_sun_r, BLACK, 1);
}
   if((zoom_screen == 'W') || (zoom_screen == 'B')) {
      if(luxor && luxor_fault()) ;
      else draw_watch(3);
   }
   else if(zoom_screen) ;
   else if(map_and_watch) {
      small_screen_watch();
      if(luxor && luxor_fault()) ;
      else did_watch = draw_watch(4);
   } 
   else if((plot_watch && (plot_signals == 0)) || (zoom_screen == 'B')) {  // both azel and watch want to be on the screen
      if(all_adevs) {
         if(WIDE_SCREEN == 0) return;
      }
      else if(WIDE_SCREEN && (shared_plot == 0) && plot_lla) return;  // the watch wins
      else if(WIDE_SCREEN && plot_lla) ;
      else if(WIDE_SCREEN && (shared_plot == 0) && (plot_lla == 0)) {
         AZEL_SIZE = LLA_SIZE;
         AZEL_ROW = LLA_ROW;
         AZEL_COL = LLA_COL;
      }
      else if((shared_plot == 0) || all_adevs || plot_lla) {
         return;  // the watch wins
      }
   }
   else if(all_adevs && WIDE_SCREEN && (plot_lla == 0)) {
   }

   if(zoom_screen == 'V') ;
   else if(zoom_screen == 'I') ;
   else if((plot_signals == 0) && (plot_areas == 2)) ;
   else if(map_and_watch && plot_lla && (plot_areas == 1)) ;
   else if(map_and_sigs && plot_lla && (plot_areas == 1)) ;
   else if(map_and_watch && (SCREEN_WIDTH >= XXXX) && (all_adevs == SINGLE_ADEVS)) {
      AZEL_ROW = WATCH_ROW;
      AZEL_COL = WATCH_COL;
      AZEL_SIZE = WATCH_SIZE;
   }
// else if(plot_signals && plot_azel && (SCREEN_WIDTH >= 1280)) {
   else if(plot_signals && plot_azel && (SCREEN_WIDTH >= WIDE_WIDTH) && (all_adevs == SINGLE_ADEVS)) {
      AZEL_ROW = WATCH_ROW;
      AZEL_COL = WATCH_COL;
      AZEL_SIZE = WATCH_SIZE;
   }
   else if(plot_signals && plot_azel && shared_plot && (all_adevs == SINGLE_ADEVS) && (SCREEN_WIDTH >= XXXX)) {
      AZEL_ROW = WATCH_ROW;
      AZEL_COL = WATCH_COL;
      AZEL_SIZE = WATCH_SIZE;
   }
// else if((zoom_screen == 'X') || (zoom_screen == 'Y')) {
//    AZEL_ROW = WATCH_ROW;
//    AZEL_COL = WATCH_COL;
//    AZEL_SIZE = WATCH_SIZE;
// }

   AZEL_X = (AZEL_COL+AZEL_SIZE/2-1);   // center point of plot
   AZEL_Y = (AZEL_ROW+AZEL_SIZE/2-1);   

   if(rcvr_type == NO_RCVR) return;
//// if(rcvr_type == TIDE_RCVR) return;  // ckckck

   if(zoom_screen == 'B') ;
   else if(zoom_screen) ;     
   else if(map_and_watch || map_and_sigs) ;
// else if((did_watch == 0) && (AZEL_ROW == WATCH_ROW) && (AZEL_COL == WATCH_COL)) ;
   else erase_azel(11);       // erase the old az/el plot


   azel_grid_color = AZEL_COLOR;
   if(zoom_screen == 'M') {
      erase_azel(12);
      draw_azel_prns(0);   // label the azel plot
      draw_azel_grid(0, AZEL_X,AZEL_Y, AZEL_RADIUS); // now draw the az/el grid
   }
   else if(zoom_screen == 'X') {
      erase_azel(13);
      draw_azel_prns(0);   // label the azel plot
      draw_azel_grid(0, AZEL_X,AZEL_Y, AZEL_RADIUS); // now draw the az/el grid
      draw_signal_map(10);
      draw_azel_sats(AZEL_X,AZEL_Y, AZEL_RADIUS);   // fill in the satellites
      draw_watch(66);
   }
   else if(zoom_screen == 'Y') {
      erase_azel(14);
      draw_azel_prns(11);   // label the azel plot
      draw_azel_grid(0, AZEL_X,AZEL_Y, AZEL_RADIUS); // now draw the az/el grid
      draw_signal_map(12);
      draw_azel_sats(AZEL_X,AZEL_Y, AZEL_RADIUS);   // fill in the satellites
   }
   else if(zoom_screen == 'B') {
      draw_azel_prns(0);   // label the azel plot
      draw_azel_grid(0, AZEL_X,AZEL_Y, AZEL_RADIUS); // now draw the az/el grid
   }
   else if(zoom_screen == 'S') {
      draw_azel_prns(1);   // label the azel plot
      draw_azel_grid(1, AZEL_X,AZEL_Y, AZEL_RADIUS); // now draw the az/el grid
   }
   else if(zoom_screen == 'V') {
      draw_azel_prns(1);   // label the azel plot
      draw_azel_grid(1, AZEL_X,AZEL_Y, AZEL_RADIUS); // now draw the az/el grid
      draw_azel_sats(AZEL_X,AZEL_Y, AZEL_RADIUS);    // fill in the satellites
   }
   else if(zoom_screen == 'I') {
      draw_azel_prns(1);   // label the azel plot
      draw_azel_grid(1, AZEL_X,AZEL_Y, AZEL_RADIUS); // now draw the az/el grid
      draw_azel_sats(AZEL_X,AZEL_Y, AZEL_RADIUS);   // fill in the satellites
   }
   else if(zoom_screen) ;
   else if(map_and_watch || (map_and_sigs == 0)) { 
      draw_azel_prns(0);   // label the azel plot
      draw_azel_grid(0, AZEL_X,AZEL_Y, AZEL_RADIUS); // now draw the az/el grid
   }

   if(0 && (rcvr_type == NO_RCVR)) ;  // wwwwww
   else if(zoom_screen == 'X') ;
   else if(zoom_screen == 'Y') ;
   else if(zoom_screen == 'I') ;
   else if(plot_azel || (zoom_screen == 'M') || (zoom_screen == 'B')) {
      draw_azel_sats(AZEL_X,AZEL_Y, AZEL_RADIUS);   // fill in the satellites
   }

   AZEL_ROW = save_row;
   AZEL_COL = save_col;
   AZEL_SIZE = save_size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
leaq 0x1200df(%rip), %rax    # 0x2187d8
cmpl $0x0, (%rax)
je 0xf870d
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x214094(%rip), %r14    # 0x30c7a8
movzbl (%r14), %eax
cmpl $0x43, %eax
je 0xf86fe
cmpl $0x4c, %eax
je 0xf86fe
leaq 0x122cea(%rip), %rbx    # 0x21b413
cmpb $0x0, (%rbx)
je 0xf8753
leal -0x42(%rax), %ecx
cmpl $0x17, %ecx
ja 0xf874d
movl $0xf20880, %edx         # imm = 0xF20880
btl %ecx, %edx
jb 0xf876e
testl %ecx, %ecx
je 0xf8769
cmpl $0xc, %ecx
je 0xf8806
testl %eax, %eax
jne 0xf86fe
jmp 0xf876e
addl $-0x42, %eax
cmpl $0x17, %eax
ja 0xf86fe
movl $0xd00880, %ecx         # imm = 0xD00880
btl %eax, %ecx
jb 0xf876e
testl %eax, %eax
jne 0xf86fe
callq 0xeceb
leaq 0x242b3b(%rip), %r12    # 0x33b2b0
cmpb $0x0, (%r12)
setne %cl
leaq 0x242c64(%rip), %r13    # 0x33b3e8
movb (%r13), %al
testb %al, %al
sete %dl
testb %dl, %cl
jne 0xf86fe
leaq 0x1467bc(%rip), %rcx    # 0x23ef58
cmpl $0x0, (%rcx)
setne %cl
testb %al, %al
setne %al
andb %cl, %al
cmpb $0x1, %al
jne 0xf87bd
leaq 0x242c38(%rip), %rax    # 0x33b3ec
testb $0x2, (%rax)
jne 0xf86fe
leaq 0x242bcc(%rip), %rax    # 0x33b390
movl (%rax), %edx
leaq 0x242bc7(%rip), %rax    # 0x33b394
movl (%rax), %esi
leaq 0x242bb6(%rip), %rax    # 0x33b38c
movl (%rax), %r15d
movl %r15d, %eax
shrl $0x1f, %eax
addl %r15d, %eax
sarl %eax
leal (%rax,%rsi), %ecx
decl %ecx
leaq 0x242bb0(%rip), %rdi    # 0x33b3a0
movl %ecx, (%rdi)
leal -0x1(%rax,%rdx), %eax
leaq 0x242ba7(%rip), %rcx    # 0x33b3a4
movl %eax, (%rcx)
movb (%r14), %al
cmpb $0x4e, %al
jne 0xf8819
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xeceb
cmpb $0x56, %al
movq %rdx, -0x38(%rbp)
movq %rsi, -0x30(%rbp)
je 0xf8868
leaq 0x214fcc(%rip), %rcx    # 0x30d7f8
movl (%rcx), %edi
testl %edi, %edi
je 0xf8868
leaq 0x214fc3(%rip), %rcx    # 0x30d7fc
movl (%rcx), %esi
testl %esi, %esi
je 0xf8868
leaq 0x214fba(%rip), %rcx    # 0x30d800
movl (%rcx), %edx
testl %edx, %edx
je 0xf8868
leaq 0x242a81(%rip), %rcx    # 0x33b2d4
cmpb $0x0, (%rcx)
jne 0xf8868
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0xf17c
movb (%r14), %al
testb %al, %al
je 0xf887b
movzbl %al, %ecx
cmpl $0x57, %ecx
je 0xf8890
cmpl $0x42, %ecx
je 0xf8890
jmp 0xf88ad
leaq 0x122b8e(%rip), %rax    # 0x21b410
cmpb $0x0, (%rax)
je 0xf8a69
callq 0xf7a3e
leaq 0x1466a7(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xf88a5
callq 0x7a054
testb %al, %al
jne 0xf88aa
callq 0xf3c61
movb (%r14), %al
cmpb $0x49, %al
je 0xf89f1
movzbl %al, %ecx
cmpl $0x56, %ecx
je 0xf89f1
leaq 0x122b4d(%rip), %rcx    # 0x21b415
movb (%rcx), %cl
testb %cl, %cl
sete %sil
leaq 0x122b2d(%rip), %rdx    # 0x21b404
movl (%rdx), %edx
cmpl $0x2, %edx
sete %dil
testb %dil, %sil
jne 0xf89f1
leaq 0x122b20(%rip), %rsi    # 0x21b410
movb (%rsi), %dil
testb %dil, %dil
setne %r8b
movb (%r12), %sil
testb %sil, %sil
setne %r9b
andb %r8b, %r9b
cmpl $0x1, %edx
sete %r8b
testb %r8b, %r9b
jne 0xf89f1
cmpl $0x1, %edx
sete %dl
testb %sil, %sil
setne %sil
leaq 0x122ae5(%rip), %r8     # 0x21b411
cmpb $0x0, (%r8)
setne %r8b
andb %sil, %r8b
testb %dl, %r8b
jne 0xf89f1
leaq 0x11feb9(%rip), %rdx    # 0x218800
movl (%rdx), %edx
leaq 0x1443ee(%rip), %rsi    # 0x23cd3e
movb (%rsi), %sil
testb %dil, %dil
je 0xf898f
leaq 0x12abe5(%rip), %rdi    # 0x223544
imull $0x31a, (%rdi), %edi    # imm = 0x31A
movslq %edi, %rdi
imulq $0x51eb851f, %rdi, %rdi # imm = 0x51EB851F
movq %rdi, %r8
shrq $0x3f, %r8
sarq $0x25, %rdi
addl %r8d, %edi
cmpl %edi, %edx
setge %dil
testb %sil, %sil
sete %r8b
testb %r8b, %dil
jne 0xf89bb
testb %cl, %cl
setne %dil
cmpb $0x0, (%rbx)
setne %cl
andb %dil, %cl
cmpl $0x4fa, %edx            # imm = 0x4FA
setge %dil
andb %cl, %dil
testb %sil, %sil
sete %r8b
testb %r8b, %dil
je 0xf8e0e
leaq 0x2429a2(%rip), %rcx    # 0x33b364
movl (%rcx), %ecx
leaq 0x2429c5(%rip), %rdx    # 0x33b390
movl %ecx, (%rdx)
leaq 0x242994(%rip), %rcx    # 0x33b368
movl (%rcx), %ecx
leaq 0x2429b7(%rip), %rdx    # 0x33b394
movl %ecx, (%rdx)
leaq 0x242986(%rip), %rcx    # 0x33b36c
movl (%rcx), %ecx
leaq 0x24299d(%rip), %rdx    # 0x33b38c
movl %ecx, (%rdx)
leaq 0x242994(%rip), %rcx    # 0x33b38c
movl (%rcx), %ecx
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
decl %edx
leaq 0x242988(%rip), %rcx    # 0x33b394
movl (%rcx), %ecx
addl %edx, %ecx
leaq 0x242989(%rip), %rsi    # 0x33b3a0
movl %ecx, (%rsi)
leaq 0x242970(%rip), %rcx    # 0x33b390
addl (%rcx), %edx
leaq 0x24297b(%rip), %rcx    # 0x33b3a4
movl %edx, (%rcx)
leaq 0x11fe9e(%rip), %rcx    # 0x2188d0
cmpq $0x400, (%rcx)          # imm = 0x400
je 0xf86fe
testb %al, %al
jne 0xf8ac0
leaq 0x1229c6(%rip), %rax    # 0x21b410
leaq 0x1229c0(%rip), %rcx    # 0x21b411
movb (%rcx), %cl
orb (%rax), %cl
je 0xf8ab3
leaq 0x24294a(%rip), %rax    # 0x33b3a8
movl $0x8, (%rax)
jmp 0xf8b4d
leaq 0x122998(%rip), %rax    # 0x21b408
cmpb $0x0, (%rax)
je 0xf88aa
leaq 0x122995(%rip), %rax    # 0x21b415
cmpb $0x0, (%rax)
jne 0xf88aa
leaq 0x1442ae(%rip), %rax    # 0x23cd3e
cmpb $0x0, (%rax)
leaq 0x11fd66(%rip), %rax    # 0x218800
movl (%rax), %esi
je 0xf8d81
cmpl $0x690, %esi            # imm = 0x690
jl 0xf86fe
jmp 0xf88aa
movl $0xb, %edi
callq 0xed9e
movb (%r14), %al
leaq 0x2428e1(%rip), %rcx    # 0x33b3a8
movl $0x8, (%rcx)
movzbl %al, %ecx
cmpl $0x4c, %ecx
jg 0xf8af0
testl %ecx, %ecx
je 0xf8b4d
cmpl $0x42, %ecx
je 0xf8bc8
cmpl $0x49, %ecx
je 0xf8b6b
jmp 0xf8d01
leal -0x53(%rcx), %edx
cmpl $0x6, %edx
ja 0xf8bb5
leaq 0x327dd(%rip), %rcx     # 0x12b2e0
movslq (%rcx,%rdx,4), %rdx
addq %rcx, %rdx
jmpq *%rdx
movl $0x1, %edi
callq 0xf619f
leaq 0x242883(%rip), %rax    # 0x33b3a0
movl (%rax), %esi
leaq 0x24287e(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x24285d(%rip), %rax    # 0x33b38c
movl (%rax), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x242857(%rip), %rax    # 0x33b398
subl (%rax), %ecx
movl $0x1, %edi
jmp 0xf8bfe
leaq 0x1228bc(%rip), %rax    # 0x21b410
cmpb $0x0, (%rax)
jne 0xf8bc8
leaq 0x1228b1(%rip), %rax    # 0x21b411
cmpb $0x0, (%rax)
jne 0xf8cfe
jmp 0xf8bc8
movl $0x1, %edi
callq 0xf619f
leaq 0x242824(%rip), %r12    # 0x33b3a0
movl (%r12), %esi
leaq 0x24281d(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x2427fc(%rip), %r13    # 0x33b38c
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x2427f4(%rip), %rax    # 0x33b398
subl (%rax), %ecx
movl $0x1, %edi
callq 0xf469c
jmp 0xf8c59
cmpl $0x4d, %ecx
jne 0xf8d01
movl $0xc, %edi
callq 0xed9e
xorl %edi, %edi
callq 0xf619f
leaq 0x2427ca(%rip), %rax    # 0x33b3a0
movl (%rax), %esi
leaq 0x2427c5(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x2427a4(%rip), %rax    # 0x33b38c
movl (%rax), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x24279e(%rip), %rax    # 0x33b398
subl (%rax), %ecx
xorl %edi, %edi
callq 0xf469c
jmp 0xf8cfe
movl $0xe, %edi
callq 0xed9e
movl $0xb, %edi
callq 0xf619f
leaq 0x24277d(%rip), %r12    # 0x33b3a0
movl (%r12), %esi
leaq 0x242776(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x242755(%rip), %r13    # 0x33b38c
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x24274d(%rip), %rax    # 0x33b398
subl (%rax), %ecx
xorl %edi, %edi
callq 0xf469c
callq 0xf8e75
movl (%r12), %edi
leaq 0x242740(%rip), %rax    # 0x33b3a4
movl (%rax), %esi
movl (%r13), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
leaq 0x24271e(%rip), %rax    # 0x33b398
subl (%rax), %edx
callq 0xf59c1
jmp 0xf8cfe
movl $0xd, %edi
callq 0xed9e
xorl %edi, %edi
callq 0xf619f
leaq 0x242705(%rip), %r12    # 0x33b3a0
movl (%r12), %esi
leaq 0x2426fe(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x2426dd(%rip), %r13    # 0x33b38c
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x2426d5(%rip), %rax    # 0x33b398
subl (%rax), %ecx
xorl %edi, %edi
callq 0xf469c
callq 0xf8e75
movl (%r12), %edi
leaq 0x2426c8(%rip), %rax    # 0x33b3a4
movl (%rax), %esi
movl (%r13), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
leaq 0x2426a6(%rip), %rax    # 0x33b398
subl (%rax), %edx
callq 0xf59c1
callq 0xf3c61
movb (%r14), %al
movzbl %al, %ecx
leal -0x49(%rcx), %edx
cmpl $0x10, %edx
ja 0xf8d16
movl $0x18001, %esi          # imm = 0x18001
btl %edx, %esi
jb 0xf8d4d
cmpb $0x0, (%rbx)
je 0xf8d76
leaq 0x24267e(%rip), %rax    # 0x33b3a0
movl (%rax), %edi
leaq 0x242679(%rip), %rax    # 0x33b3a4
movl (%rax), %esi
leaq 0x242658(%rip), %rax    # 0x33b38c
movl (%rax), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
leaq 0x242652(%rip), %rax    # 0x33b398
subl (%rax), %edx
callq 0xf59c1
leaq 0x24263c(%rip), %rax    # 0x33b390
movq -0x38(%rbp), %rcx
movl %ecx, (%rax)
leaq 0x242633(%rip), %rax    # 0x33b394
movq -0x30(%rbp), %rcx
movl %ecx, (%rax)
leaq 0x24261e(%rip), %rax    # 0x33b38c
movl %r15d, (%rax)
jmp 0xf86fe
cmpb $0x4d, %al
je 0xf8d1b
cmpl $0x42, %ecx
je 0xf8d1b
jmp 0xf8d4d
cmpl $0x690, %esi            # imm = 0x690
setge %cl
movb (%r13), %al
testb %al, %al
sete %dl
andb %cl, %dl
movb (%r12), %cl
testb %cl, %cl
setne %dil
testb %dil, %dl
jne 0xf86fe
testb %cl, %cl
setne %dil
cmpl $0x690, %esi            # imm = 0x690
setge %sil
testb %dil, %sil
jne 0xf88aa
testb %cl, %cl
sete %sil
andb %sil, %dl
cmpb $0x1, %dl
jne 0xf8e5e
leaq 0x2424be(%rip), %rax    # 0x33b298
movl (%rax), %eax
leaq 0x2425a9(%rip), %rcx    # 0x33b38c
movl %eax, (%rcx)
leaq 0x2424bc(%rip), %rax    # 0x33b2a8
movl (%rax), %eax
leaq 0x24259b(%rip), %rcx    # 0x33b390
movl %eax, (%rcx)
leaq 0x2424ae(%rip), %rax    # 0x33b2ac
movl (%rax), %eax
leaq 0x24258d(%rip), %rcx    # 0x33b394
movl %eax, (%rcx)
jmp 0xf88aa
testb %sil, %sil
sete %sil
cmpb $0x0, (%r13)
setne %dil
andb %sil, %dil
andb %dil, %cl
cmpb $0x1, %cl
jne 0xf89f1
leaq 0x12a710(%rip), %rcx    # 0x223544
imull $0x31a, (%rcx), %ecx    # imm = 0x31A
movslq %ecx, %rcx
imulq $0x51eb851f, %rcx, %rcx # imm = 0x51EB851F
movq %rcx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rcx
addl %esi, %ecx
cmpl %ecx, %edx
jge 0xf89bb
jmp 0xf89f1
testb %cl, %cl
setne %cl
testb %al, %al
sete %al
orb %cl, %al
jne 0xf86fe
jmp 0xf88aa