// File: /workspace/github_cpp_makefile_star2_O1/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 0x120859(%rip), %rax    # 0x2187d8
cmpl $0x0, (%rax)
je 0xf7f93
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x21480e(%rip), %rbx    # 0x30c7a8
movzbl (%rbx), %eax
cmpl $0x43, %eax
je 0xf7f84
cmpl $0x4c, %eax
je 0xf7f84
leaq 0x123465(%rip), %r14    # 0x21b413
cmpb $0x0, (%r14)
je 0xf7fd9
leal -0x42(%rax), %ecx
cmpl $0x17, %ecx
ja 0xf7fd3
movl $0xf20880, %edx         # imm = 0xF20880
btl %ecx, %edx
jb 0xf7ff4
testl %ecx, %ecx
je 0xf7fef
cmpl $0xc, %ecx
je 0xf808b
testl %eax, %eax
jne 0xf7f84
jmp 0xf7ff4
addl $-0x42, %eax
cmpl $0x17, %eax
ja 0xf7f84
movl $0xd00880, %ecx         # imm = 0xD00880
btl %eax, %ecx
jb 0xf7ff4
testl %eax, %eax
jne 0xf7f84
callq 0xed5e
leaq 0x2432b5(%rip), %r12    # 0x33b2b0
cmpb $0x0, (%r12)
setne %cl
leaq 0x2433de(%rip), %r13    # 0x33b3e8
movb (%r13), %al
testb %al, %al
sete %dl
testb %dl, %cl
jne 0xf7f84
leaq 0x146f36(%rip), %rcx    # 0x23ef58
cmpl $0x0, (%rcx)
setne %cl
testb %al, %al
setne %al
andb %cl, %al
cmpb $0x1, %al
jne 0xf8043
leaq 0x2433b2(%rip), %rax    # 0x33b3ec
testb $0x2, (%rax)
jne 0xf7f84
leaq 0x243346(%rip), %rax    # 0x33b390
movl (%rax), %edx
leaq 0x243341(%rip), %rax    # 0x33b394
movl (%rax), %esi
leaq 0x243330(%rip), %rax    # 0x33b38c
movl (%rax), %r15d
movl %r15d, %eax
shrl $0x1f, %eax
addl %r15d, %eax
sarl %eax
leal (%rax,%rsi), %ecx
decl %ecx
leaq 0x24332a(%rip), %rdi    # 0x33b3a0
movl %ecx, (%rdi)
leal -0x1(%rax,%rdx), %eax
leaq 0x243321(%rip), %rcx    # 0x33b3a4
movl %eax, (%rcx)
movb (%rbx), %al
cmpb $0x4e, %al
jne 0xf809e
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xed5e
movq %rsi, -0x30(%rbp)
movq %rdx, -0x38(%rbp)
cmpb $0x56, %al
je 0xf80ea
leaq 0x215747(%rip), %rax    # 0x30d7f8
movl (%rax), %edi
testl %edi, %edi
je 0xf80ea
leaq 0x21573e(%rip), %rax    # 0x30d7fc
movl (%rax), %esi
testl %esi, %esi
je 0xf80ea
leaq 0x215735(%rip), %rax    # 0x30d800
movl (%rax), %edx
testl %edx, %edx
je 0xf80ea
leaq 0x2431fc(%rip), %rax    # 0x33b2d4
cmpb $0x0, (%rax)
jne 0xf80ea
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0xf1f0
movzbl (%rbx), %eax
testl %eax, %eax
je 0xf80fd
cmpl $0x57, %eax
je 0xf8112
cmpl $0x42, %eax
je 0xf8112
jmp 0xf812c
leaq 0x12330c(%rip), %rax    # 0x21b410
cmpb $0x0, (%rax)
je 0xf83c0
callq 0xf735a
leaq 0x146e25(%rip), %rax    # 0x23ef3e
cmpb $0x0, (%rax)
je 0xf8127
callq 0x7a2cc
testb %al, %al
jne 0xf812c
callq 0xf3598
movzbl (%rbx), %eax
cmpl $0x49, %eax
je 0xf8271
cmpl $0x56, %eax
je 0xf8271
leaq 0x1232cd(%rip), %rcx    # 0x21b415
movb (%rcx), %cl
testb %cl, %cl
sete %dl
leaq 0x1232ae(%rip), %rsi    # 0x21b404
movl (%rsi), %esi
cmpl $0x2, %esi
sete %dil
testb %dil, %dl
jne 0xf8271
leaq 0x1232a1(%rip), %rdx    # 0x21b410
movb (%rdx), %dl
testb %dl, %dl
setne %r8b
movb (%r12), %dil
testb %dil, %dil
setne %r9b
andb %r8b, %r9b
cmpl $0x1, %esi
sete %r8b
testb %r8b, %r9b
jne 0xf8271
cmpl $0x1, %esi
sete %sil
testb %dil, %dil
setne %dil
leaq 0x123267(%rip), %r8     # 0x21b411
cmpb $0x0, (%r8)
setne %r8b
andb %dil, %r8b
testb %sil, %r8b
jne 0xf8271
testb %dl, %dl
je 0xf81fd
leaq 0x120637(%rip), %rdx    # 0x218800
leaq 0x12b374(%rip), %rsi    # 0x223544
imull $0x31a, (%rsi), %esi    # imm = 0x31A
movslq %esi, %rsi
imulq $0x51eb851f, %rsi, %rsi # imm = 0x51EB851F
movq %rsi, %rdi
shrq $0x3f, %rdi
sarq $0x25, %rsi
addl %edi, %esi
cmpl %esi, (%rdx)
jl 0xf81fd
leaq 0x144b46(%rip), %rdx    # 0x23cd3e
cmpb $0x0, (%rdx)
je 0xf823b
testb %cl, %cl
setne %cl
cmpb $0x0, (%r14)
setne %dl
andb %cl, %dl
leaq 0x1205ee(%rip), %rcx    # 0x218800
movl (%rcx), %ecx
cmpl $0x4fa, %ecx            # imm = 0x4FA
setge %dil
andb %dl, %dil
leaq 0x144b16(%rip), %rsi    # 0x23cd3e
movb (%rsi), %sil
testb %sil, %sil
sete %r8b
testb %r8b, %dil
je 0xf8684
leaq 0x243122(%rip), %rcx    # 0x33b364
movl (%rcx), %ecx
leaq 0x243145(%rip), %rdx    # 0x33b390
movl %ecx, (%rdx)
leaq 0x243114(%rip), %rcx    # 0x33b368
movl (%rcx), %ecx
leaq 0x243137(%rip), %rdx    # 0x33b394
movl %ecx, (%rdx)
leaq 0x243106(%rip), %rcx    # 0x33b36c
movl (%rcx), %ecx
leaq 0x24311d(%rip), %rdx    # 0x33b38c
movl %ecx, (%rdx)
leaq 0x243114(%rip), %rcx    # 0x33b38c
movl (%rcx), %ecx
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
decl %edx
leaq 0x243108(%rip), %rcx    # 0x33b394
movl (%rcx), %ecx
addl %edx, %ecx
leaq 0x243109(%rip), %rsi    # 0x33b3a0
movl %ecx, (%rsi)
leaq 0x2430f0(%rip), %rcx    # 0x33b390
addl (%rcx), %edx
leaq 0x2430fb(%rip), %rcx    # 0x33b3a4
movl %edx, (%rcx)
leaq 0x12061e(%rip), %rcx    # 0x2188d0
cmpq $0x400, (%rcx)          # imm = 0x400
je 0xf7f84
testb %al, %al
jne 0xf82e1
leaq 0x123146(%rip), %rax    # 0x21b410
leaq 0x123140(%rip), %rcx    # 0x21b411
movb (%rcx), %cl
orb (%rax), %cl
jne 0xf82e1
movl $0xb, %edi
callq 0xee11
leaq 0x2430c0(%rip), %rax    # 0x33b3a8
movl $0x8, (%rax)
movzbl (%rbx), %eax
cmpl $0x4c, %eax
jg 0xf8315
testl %eax, %eax
movq -0x30(%rbp), %rsi
je 0xf840a
cmpl $0x42, %eax
je 0xf843b
cmpl $0x49, %eax
je 0xf8376
jmp 0xf8575
leal -0x53(%rax), %ecx
cmpl $0x6, %ecx
movq -0x30(%rbp), %rsi
ja 0xf8428
leaq 0x32ee4(%rip), %rax     # 0x12b210
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movl $0x1, %edi
callq 0xf5ae3
leaq 0x24305a(%rip), %rax    # 0x33b3a0
movl (%rax), %esi
leaq 0x243055(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x243034(%rip), %rax    # 0x33b38c
movl (%rax), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x24302e(%rip), %rax    # 0x33b398
subl (%rax), %ecx
movl $0x1, %edi
jmp 0xf8471
movl $0x1, %edi
callq 0xf5ae3
leaq 0x243019(%rip), %r12    # 0x33b3a0
movl (%r12), %esi
leaq 0x243012(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x242ff1(%rip), %r13    # 0x33b38c
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x242fe9(%rip), %rax    # 0x33b398
subl (%rax), %ecx
movl $0x1, %edi
callq 0xf3fdd
jmp 0xf84cc
leaq 0x123041(%rip), %rax    # 0x21b408
cmpb $0x0, (%rax)
je 0xf812c
leaq 0x12303e(%rip), %rax    # 0x21b415
cmpb $0x0, (%rax)
jne 0xf812c
leaq 0x144957(%rip), %rax    # 0x23cd3e
cmpb $0x0, (%rax)
leaq 0x12040f(%rip), %rax    # 0x218800
movl (%rax), %esi
je 0xf85f7
cmpl $0x690, %esi            # imm = 0x690
jl 0xf7f84
jmp 0xf812c
leaq 0x122fff(%rip), %rax    # 0x21b410
cmpb $0x0, (%rax)
jne 0xf843b
leaq 0x122ff4(%rip), %rax    # 0x21b411
cmpb $0x0, (%rax)
jne 0xf8575
jmp 0xf843b
cmpl $0x4d, %eax
jne 0xf8575
movl $0xc, %edi
callq 0xee11
xorl %edi, %edi
callq 0xf5ae3
leaq 0x242f57(%rip), %rax    # 0x33b3a0
movl (%rax), %esi
leaq 0x242f52(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x242f31(%rip), %rax    # 0x33b38c
movl (%rax), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x242f2b(%rip), %rax    # 0x33b398
subl (%rax), %ecx
xorl %edi, %edi
callq 0xf3fdd
jmp 0xf8571
movl $0xe, %edi
callq 0xee11
movl $0xb, %edi
callq 0xf5ae3
leaq 0x242f0a(%rip), %r12    # 0x33b3a0
movl (%r12), %esi
leaq 0x242f03(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x242ee2(%rip), %r13    # 0x33b38c
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x242eda(%rip), %rax    # 0x33b398
subl (%rax), %ecx
xorl %edi, %edi
callq 0xf3fdd
callq 0xf86eb
movl (%r12), %edi
leaq 0x242ecd(%rip), %rax    # 0x33b3a4
movl (%rax), %esi
movl (%r13), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
leaq 0x242eab(%rip), %rax    # 0x33b398
subl (%rax), %edx
callq 0xf52ae
jmp 0xf8571
movl $0xd, %edi
callq 0xee11
xorl %edi, %edi
callq 0xf5ae3
leaq 0x242e92(%rip), %r12    # 0x33b3a0
movl (%r12), %esi
leaq 0x242e8b(%rip), %rax    # 0x33b3a4
movl (%rax), %edx
leaq 0x242e6a(%rip), %r13    # 0x33b38c
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x242e62(%rip), %rax    # 0x33b398
subl (%rax), %ecx
xorl %edi, %edi
callq 0xf3fdd
callq 0xf86eb
movl (%r12), %edi
leaq 0x242e55(%rip), %rax    # 0x33b3a4
movl (%rax), %esi
movl (%r13), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
leaq 0x242e33(%rip), %rax    # 0x33b398
subl (%rax), %edx
callq 0xf52ae
callq 0xf3598
movq -0x30(%rbp), %rsi
movzbl (%rbx), %eax
leal -0x49(%rax), %ecx
cmpl $0x10, %ecx
ja 0xf858a
movl $0x18001, %edx          # imm = 0x18001
btl %ecx, %edx
jb 0xf85c6
cmpb $0x0, (%r14)
je 0xf85eb
leaq 0x242e09(%rip), %rax    # 0x33b3a0
movl (%rax), %edi
leaq 0x242e04(%rip), %rax    # 0x33b3a4
movl (%rax), %esi
leaq 0x242de3(%rip), %rax    # 0x33b38c
movl (%rax), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
leaq 0x242ddd(%rip), %rax    # 0x33b398
subl (%rax), %edx
callq 0xf52ae
movq -0x30(%rbp), %rsi
leaq 0x242dc3(%rip), %rax    # 0x33b390
movq -0x38(%rbp), %rcx
movl %ecx, (%rax)
leaq 0x242dba(%rip), %rax    # 0x33b394
movl %esi, (%rax)
leaq 0x242da9(%rip), %rax    # 0x33b38c
movl %r15d, (%rax)
jmp 0xf7f84
cmpl $0x4d, %eax
je 0xf8590
cmpl $0x42, %eax
je 0xf8590
jmp 0xf85c6
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 0xf7f84
testb %cl, %cl
setne %dil
cmpl $0x690, %esi            # imm = 0x690
setge %sil
testb %dil, %sil
jne 0xf812c
testb %cl, %cl
sete %sil
andb %sil, %dl
cmpb $0x1, %dl
jne 0xf86d4
leaq 0x242c48(%rip), %rax    # 0x33b298
movl (%rax), %eax
leaq 0x242d33(%rip), %rcx    # 0x33b38c
movl %eax, (%rcx)
leaq 0x242c46(%rip), %rax    # 0x33b2a8
movl (%rax), %eax
leaq 0x242d25(%rip), %rcx    # 0x33b390
movl %eax, (%rcx)
leaq 0x242c38(%rip), %rax    # 0x33b2ac
movl (%rax), %eax
leaq 0x242d17(%rip), %rcx    # 0x33b394
movl %eax, (%rcx)
jmp 0xf812c
testb %sil, %sil
sete %sil
cmpb $0x0, (%r13)
setne %dil
andb %sil, %dil
andb %dil, %dl
cmpb $0x1, %dl
jne 0xf8271
leaq 0x12ae9a(%rip), %rdx    # 0x223544
imull $0x31a, (%rdx), %edx    # imm = 0x31A
movslq %edx, %rdx
imulq $0x51eb851f, %rdx, %rdx # imm = 0x51EB851F
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
cmpl %edx, %ecx
jge 0xf823b
jmp 0xf8271
testb %cl, %cl
setne %cl
testb %al, %al
sete %al
orb %cl, %al
jne 0xf7f84
jmp 0xf812c