// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathmsc.cpp
// Function: label_circles(int, int)
void label_circles(int signals, int row)
{
int col;
int x, y;
char *s;

   // label the various az/el plots

   center_sat = 1;
   cursor_sat_color = WHITE;

   if(rcvr_type == CS_RCVR) return;
   else if(rcvr_type == NO_RCVR) return;
   else if(rcvr_type == THERMO_RCVR) return;
   else if(rcvr_type == TICC_RCVR) return;
////else if(rcvr_type == TIDE_RCVR) return;  // ckckck
   else if(signals && (plot_signals == 1)) {
      s = "Relative strength vs azimuth";
      if(zoom_screen == 'U') row -= 2;
   }
   else if(signals && (plot_signals == 2)) {
      s = "1/EL weighted strength vs azimuth";
      if(zoom_screen == 'U') row -= 2;
      if(zoom_screen == 'V') row -= 2;
      if(zoom_screen == 'I') row -= 2;
   }
   else if(signals && (plot_signals == 3)) s = "Relative strength vs elevation";
   else if(signals && (plot_signals == 4)) {
      s = "Signal strength vs az/el";
      if(zoom_screen == 'U') row -= 2;
      if(zoom_screen == 'V') row -= 2;
      if(zoom_screen == 'I') row -= 2;
   }
   else if(signals && (plot_signals == 5)) {
      s = "Raw signal level data";
   }
   else {
      find_cursor_sat();
      s = &out[0];
      if(zoom_screen == 'U') row -= 2;
      else if(zoom_screen == 'V') row -= 2;
      else if(zoom_screen == 'I') row -= 2;
      else if((zoom_screen == 'B') || (zoom_screen == 'M')) {
         if(SCREEN_HEIGHT < TINY_TINY_HEIGHT) row -= 1;
      }
   }

   if(zoom_screen) ++row;
   col = ((AZEL_X-AZEL_RADIUS)/TEXT_WIDTH);
   x = (AZEL_RADIUS*2) / TEXT_WIDTH;
   vidstr(row,col, WHITE, &blanks[TEXT_COLS-x]);

   if(center_sat) col = (AZEL_X/TEXT_WIDTH) - (strlen(s)/2);
   else           col = ((AZEL_X-AZEL_RADIUS)/TEXT_WIDTH);
   vidstr(row,col, cursor_sat_color, s);

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

   graphics_coords = 1;   // these labels need fine positioning

   if(signals && (plot_signals == 3)) {
      x = AZEL_X;
      y = AZEL_Y;  // AZEL_RADIUS;
      if(zoom_screen) y += TEXT_HEIGHT;
      y += AZEL_RADIUS+TEXT_HEIGHT/2;
      vidstr(y, x-AZEL_RADIUS*1-2*TEXT_WIDTH/2, WHITE, "0%");
      vidstr(y, x-AZEL_RADIUS/2-3*TEXT_WIDTH/2, WHITE, "25%");
      vidstr(y, x-AZEL_RADIUS*0-3*TEXT_WIDTH/2, WHITE, "50%");
      vidstr(y, x+AZEL_RADIUS/2-3*TEXT_WIDTH/2, WHITE, "75%");
      vidstr(y, x+AZEL_RADIUS*1-4*TEXT_WIDTH/2, WHITE, "100%");

      x = AZEL_X+AZEL_RADIUS+TEXT_WIDTH*2;
      y = AZEL_Y+AZEL_RADIUS-TEXT_HEIGHT/2;
      if(zoom_screen) x += TEXT_WIDTH;
      sprintf(out, "0%c", DEGREES);
      vidstr(y,x, WHITE, out);

      x = AZEL_X-AZEL_RADIUS+TEXT_WIDTH*3  + (int) ((float)(AZEL_RADIUS*2)*cos360(30));
      y = AZEL_Y+AZEL_RADIUS-TEXT_HEIGHT*2 - (int) ((float)(AZEL_RADIUS*2)*sin360(30));
      if(zoom_screen == 0) y += TEXT_HEIGHT;
      if(zoom_screen == 0) x -= TEXT_WIDTH;
      sprintf(out, "30%c", DEGREES);
      vidstr(y,x, WHITE, out);

      x = AZEL_X-AZEL_RADIUS+TEXT_WIDTH*1  + (int) ((float)(AZEL_RADIUS*2)*cos360(60));
      y = AZEL_Y+AZEL_RADIUS-TEXT_HEIGHT*3 - (int) ((float)(AZEL_RADIUS*2)*sin360(60));
      if(zoom_screen == 0) y += TEXT_HEIGHT;
      sprintf(out, "60%c", DEGREES);
      vidstr(y,x, WHITE, out);

      x = AZEL_X-AZEL_RADIUS-(TEXT_WIDTH*3/2);
      y = AZEL_Y-AZEL_RADIUS-TEXT_HEIGHT;
      if(zoom_screen) y -= TEXT_HEIGHT;
      sprintf(out, "90%c", DEGREES);
      vidstr(y,x, WHITE, out);
   }
   else if((signals && plot_signals) || (zoom_screen == 'M') || (zoom_screen == 'I')) {
      x = AZEL_X-TEXT_WIDTH/2;
      y = AZEL_Y;  // AZEL_RADIUS;
      vidstr(y-AZEL_RADIUS-TEXT_HEIGHT-TEXT_HEIGHT/2,x, WHITE, "N");

      if((zoom_screen == 'U') || (zoom_screen == 'V')) ;
      else vidstr(y+AZEL_RADIUS+TEXT_HEIGHT/2,x, WHITE, "S");

      x = AZEL_X;
      y = AZEL_Y - TEXT_HEIGHT/2;
      vidstr(y,x-AZEL_RADIUS-TEXT_WIDTH*2-TEXT_WIDTH/2, WHITE, "W");

      x = x+AZEL_RADIUS+TEXT_WIDTH*1+TEXT_WIDTH/2;
      if((plot_signals >= 4) || (zoom_screen == 'M') || (zoom_screen == 'I')) {
         vidstr(y,x, WHITE, "E");
      }
      else {
         if((SCREEN_WIDTH == 1280) && (zoom_screen == 0)) ;
         else x += TEXT_WIDTH;
         vidstr(y,x, WHITE, "E");

         x = AZEL_X;
         y = AZEL_Y+TEXT_HEIGHT/4;  // AZEL_RADIUS;
         vidstr(y, x+AZEL_RADIUS*1/4-3*TEXT_WIDTH/2, WHITE, "25%");
         vidstr(y, x+AZEL_RADIUS*2/4-3*TEXT_WIDTH/2, WHITE, "50%");
         vidstr(y, x+AZEL_RADIUS*3/4-3*TEXT_WIDTH/2, WHITE, "75%");
         vidstr(y, x+AZEL_RADIUS*4/4-4*TEXT_WIDTH/2, WHITE, "100%");

         vidstr(y, x-AZEL_RADIUS*4/4-3*TEXT_WIDTH/2, WHITE, "100%");
         vidstr(y, x-AZEL_RADIUS*3/4-2*TEXT_WIDTH/2, WHITE, "75%");
         vidstr(y, x-AZEL_RADIUS*2/4-2*TEXT_WIDTH/2, WHITE, "50%");
         vidstr(y, x-AZEL_RADIUS*1/4-2*TEXT_WIDTH/2, WHITE, "25%");
      }
   }

   graphics_coords = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %r14d
movl %edi, %r15d
movl $0x1, 0x35ae3a(%rip)    # 0x451d28
movl $0xf, 0x35ae34(%rip)    # 0x451d2c
leaq 0x1219d1(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0x1ffff, %rax          # imm = 0x1FFFF
jg 0xf6f24
cmpq $0x400, %rax            # imm = 0x400
je 0xf773b
cmpq $0x10000, %rax          # imm = 0x10000
je 0xf773b
jmp 0xf6f3c
cmpq $0x20000, %rax          # imm = 0x20000
je 0xf773b
cmpq $0x80000, %rax          # imm = 0x80000
je 0xf773b
testl %r15d, %r15d
setne %cl
leaq 0x1244cc(%rip), %rax    # 0x21b415
movb (%rax), %al
cmpb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xf6f7c
leaq 0x21584a(%rip), %rax    # 0x30c7a8
leal -0x2(%r14), %ecx
cmpb $0x55, (%rax)
cmovnel %r14d, %ecx
leaq 0x3e148(%rip), %rax     # 0x1350b8
movq %rax, -0x30(%rbp)
movl %ecx, %r14d
jmp 0xf7085
testl %r15d, %r15d
setne %cl
cmpb $0x2, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xf6fbf
leaq 0x215813(%rip), %rax    # 0x30c7a8
movb (%rax), %al
leal -0x2(%r14), %ecx
cmpb $0x55, %al
cmovnel %r14d, %ecx
leal -0x2(%rcx), %edx
cmpb $0x56, %al
cmovnel %ecx, %edx
leal -0x2(%rdx), %r14d
cmpb $0x49, %al
cmovnel %edx, %r14d
leaq 0x3e11b(%rip), %rax     # 0x1350d5
jmp 0xf7081
testl %r15d, %r15d
setne %cl
cmpb $0x3, %al
sete %dl
testb %dl, %cl
je 0xf6fda
leaq 0x3e122(%rip), %rax     # 0x1350f7
jmp 0xf7081
testl %r15d, %r15d
setne %cl
cmpb $0x4, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xf701a
leaq 0x2157b5(%rip), %rax    # 0x30c7a8
movb (%rax), %al
leal -0x2(%r14), %ecx
cmpb $0x55, %al
cmovnel %r14d, %ecx
leal -0x2(%rcx), %edx
cmpb $0x56, %al
cmovnel %ecx, %edx
leal -0x2(%rdx), %r14d
cmpb $0x49, %al
cmovnel %edx, %r14d
leaq 0x3e0fe(%rip), %rax     # 0x135116
jmp 0xf7081
testl %r15d, %r15d
setne %cl
cmpb $0x5, %al
sete %al
testb %al, %cl
je 0xf7032
leaq 0x3e0ff(%rip), %rax     # 0x13512f
jmp 0xf7081
callq 0xf9038
leaq 0x21576a(%rip), %rax    # 0x30c7a8
movzbl (%rax), %eax
cmpl $0x49, %eax
je 0xf7050
cmpl $0x56, %eax
je 0xf7050
cmpl $0x55, %eax
jne 0xf7056
addl $-0x2, %r14d
jmp 0xf707a
cmpb $0x42, %al
sete %cl
cmpb $0x4d, %al
sete %al
orb %cl, %al
leaq 0x12179b(%rip), %rcx    # 0x218804
cmpl $0x190, (%rcx)          # imm = 0x190
setl %cl
andb %al, %cl
movzbl %cl, %eax
subl %eax, %r14d
leaq 0x24519f(%rip), %rax    # 0x33c220
movq %rax, -0x30(%rbp)
leaq 0x21571c(%rip), %rax    # 0x30c7a8
cmpb $0x1, (%rax)
sbbl $-0x1, %r14d
leaq 0x244306(%rip), %rbx    # 0x33b3a0
movl (%rbx), %eax
leaq 0x2442e9(%rip), %rcx    # 0x33b38c
movl (%rcx), %edx
movl %edx, %ecx
shrl $0x1f, %ecx
addl %edx, %ecx
sarl %ecx
leaq 0x2442e3(%rip), %r12    # 0x33b398
subl (%r12), %ecx
subl %ecx, %eax
leaq 0x12174e(%rip), %r13    # 0x218810
movl (%r13), %edi
cltd
idivl %edi
movl %eax, %esi
addl %ecx, %ecx
movl %ecx, %eax
cltd
idivl %edi
leaq 0x12172f(%rip), %rcx    # 0x218808
movslq (%rcx), %rcx
cltq
subq %rax, %rcx
addq 0x58e90(%rip), %rcx     # 0x14ff78
movl %r14d, %edi
movl $0xf, %edx
callq 0xe787
cmpl $0x0, 0x35ac2c(%rip)    # 0x451d28
movl (%rbx), %eax
je 0xf711c
cltd
idivl (%r13)
movl %eax, %r12d
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x9120
shrq %rax
subl %eax, %r12d
jmp 0xf7140
leaq 0x244269(%rip), %rcx    # 0x33b38c
movl (%rcx), %ecx
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
addl (%r12), %eax
subl %edx, %eax
cltd
idivl (%r13)
movl %eax, %r12d
movq -0x30(%rbp), %rbx
movzbl 0x35abe5(%rip), %edx    # 0x451d2c
movl %r14d, %edi
movl %r12d, %esi
movq %rbx, %rcx
callq 0xe787
leaq 0x244230(%rip), %rax    # 0x33b38c
movl (%rax), %eax
cmpl $0xa0, %eax
setge %dl
leaq 0x21563b(%rip), %rcx    # 0x30c7a8
movb (%rcx), %cl
testb %cl, %cl
setne %sil
orb %dl, %sil
cmpb $0x1, %sil
jne 0xf773b
testl %r15d, %r15d
setne %sil
leaq 0x1216d8(%rip), %r8     # 0x218868
movb $0x1, (%r8)
leaq 0x12427a(%rip), %rdx    # 0x21b415
movb (%rdx), %dl
cmpb $0x3, %dl
sete %dil
andb %sil, %dil
cmpb $0x1, %dil
jne 0xf7586
testb %cl, %cl
leaq 0x2441e6(%rip), %rcx    # 0x33b3a0
movl (%rcx), %r14d
leaq 0x2441e0(%rip), %rsi    # 0x33b3a4
leaq 0x121649(%rip), %rcx    # 0x218814
movl (%rcx), %ecx
movl $0x0, %ebx
cmovnel %ecx, %ebx
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
leaq 0x2441b3(%rip), %r12    # 0x33b398
subl (%r12), %edx
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
addl (%rsi), %ebx
addl %eax, %ebx
addl %edx, %ebx
leaq 0x121611(%rip), %r13    # 0x218810
addl (%r13), %edx
movl %r14d, %esi
subl %edx, %esi
leaq 0x3df44(%rip), %rcx     # 0x135153
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
leaq 0x24416a(%rip), %r15    # 0x33b38c
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl (%r12), %ecx
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
movl %r14d, %esi
subl %eax, %esi
movl (%r13), %eax
leal (%rax,%rax,2), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %esi
leaq 0x3deec(%rip), %rcx     # 0x135145
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r13), %eax
leal (%rax,%rax,2), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
movl %r14d, %esi
subl %ecx, %esi
leaq 0x3dec8(%rip), %rcx     # 0x135149
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl (%r12), %ecx
movl %ecx, %esi
shrl $0x1f, %esi
addl %ecx, %esi
sarl %esi
addl %r14d, %esi
movl (%r13), %eax
leal (%rax,%rax,2), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %esi
leaq 0x3de8b(%rip), %rcx     # 0x13514d
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r15), %eax
movl %eax, %esi
shrl $0x1f, %esi
addl %eax, %esi
sarl %esi
movl (%r13), %eax
addl %r14d, %esi
addl %eax, %eax
addl (%r12), %eax
subl %eax, %esi
leaq 0x3de61(%rip), %rcx     # 0x135151
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r15), %eax
movl %eax, %r14d
shrl $0x1f, %r14d
addl %eax, %r14d
sarl %r14d
subl (%r12), %r14d
leaq 0x244089(%rip), %rbx    # 0x33b3a0
movl (%rbx), %eax
addl %r14d, %eax
movl (%r13), %r15d
leaq 0x24407d(%rip), %rcx    # 0x33b3a4
addl (%rcx), %r14d
leaq 0x1214e3(%rip), %rcx    # 0x218814
movl (%rcx), %ecx
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
subl %edx, %r14d
leaq 0x215462(%rip), %rcx    # 0x30c7a8
cmpb $0x0, (%rcx)
leal (%rax,%r15,2), %eax
movl $0x0, %ecx
cmovel %ecx, %r15d
addl %eax, %r15d
leaq 0x244ec0(%rip), %rbx    # 0x33c220
leaq 0x3ddf0(%rip), %rsi     # 0x135157
movq %rbx, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
leaq 0x243ffc(%rip), %rax    # 0x33b38c
movl (%rax), %ecx
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
subl (%r12), %eax
leaq 0x243ffa(%rip), %rcx    # 0x33b3a0
movl (%rcx), %edx
subl %eax, %edx
movl (%r13), %ecx
leal (%rcx,%rcx,2), %esi
leal (%rax,%rax), %edi
cvtsi2ss %edi, %xmm0
addl %edx, %esi
movaps %xmm0, %xmm1
mulss 0x35427(%rip), %xmm1    # 0x12c7ec
cvttss2si %xmm1, %r14d
addl %esi, %r14d
leaq 0x121440(%rip), %rdx    # 0x218814
movl (%rdx), %r15d
mulss 0x15c99(%rip), %xmm0    # 0x10d078
cvttss2si %xmm0, %edx
leaq 0x243fba(%rip), %rbx    # 0x33b3a4
addl (%rbx), %eax
leal (%rdx,%r15,2), %edx
subl %edx, %eax
leaq 0x2153af(%rip), %rdx    # 0x30c7a8
cmpb $0x0, (%rdx)
movl $0x0, %edx
cmovnel %edx, %r15d
cmovnel %edx, %ecx
addl %eax, %r15d
subl %ecx, %r14d
leaq 0x3dd41(%rip), %rsi     # 0x135156
leaq 0x244e04(%rip), %rbx    # 0x33c220
movq %rbx, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
leaq 0x243f47(%rip), %rax    # 0x33b38c
movl (%rax), %ecx
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
subl (%r12), %eax
leaq 0x243f45(%rip), %rcx    # 0x33b3a0
movl (%rcx), %ecx
subl %eax, %ecx
addl (%r13), %ecx
leal (%rax,%rax), %edx
xorps %xmm0, %xmm0
cvtsi2ss %edx, %xmm0
movss 0x15c03(%rip), %xmm1    # 0x10d078
mulss %xmm0, %xmm1
cvttss2si %xmm1, %r14d
addl %ecx, %r14d
leaq 0x243f1c(%rip), %rcx    # 0x33b3a4
addl (%rcx), %eax
leaq 0x121383(%rip), %rcx    # 0x218814
movl (%rcx), %r15d
leal (%r15,%r15,2), %ecx
mulss 0x3534c(%rip), %xmm0    # 0x12c7ec
cvttss2si %xmm0, %edx
subl %ecx, %eax
subl %edx, %eax
leaq 0x2152f9(%rip), %rbx    # 0x30c7a8
cmpb $0x0, (%rbx)
movl $0x0, %ecx
cmovnel %ecx, %r15d
addl %eax, %r15d
leaq 0x3dc96(%rip), %rsi     # 0x13515b
leaq 0x244d54(%rip), %rbx    # 0x33c220
movq %rbx, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
movl %r15d, %edi
movl %r14d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
leaq 0x243e97(%rip), %rax    # 0x33b38c
movl (%rax), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
movl (%r12), %r14d
subl %ecx, %r14d
leaq 0x243e92(%rip), %rax    # 0x33b3a0
movl (%rax), %r15d
addl %r14d, %r15d
movl (%r13), %eax
leal (%rax,%rax,2), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %r15d
leaq 0x21527a(%rip), %rax    # 0x30c7a8
cmpb $0x0, (%rax)
leaq 0x1212dc(%rip), %rax    # 0x218814
movl (%rax), %eax
movl $0x0, %ecx
cmovnel %eax, %ecx
leaq 0x243e5b(%rip), %rdx    # 0x33b3a4
addl (%rdx), %r14d
addl %eax, %ecx
subl %ecx, %r14d
leaq 0x3dc08(%rip), %rsi     # 0x135160
movq %rbx, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe787
leaq 0x1212e7(%rip), %r8     # 0x218868
jmp 0xf7737
testl %r15d, %r15d
setne %sil
testb %dl, %dl
setne %dl
andb %sil, %dl
andb $-0x5, %cl
cmpb $0x49, %cl
sete %cl
orb %dl, %cl
cmpb $0x1, %cl
leaq 0x243df6(%rip), %rcx    # 0x33b3a0
jne 0xf7737
leaq 0x243dd5(%rip), %r13    # 0x33b38c
movl (%rcx), %ebx
leaq 0x121250(%rip), %rcx    # 0x218810
movl (%rcx), %ecx
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
subl %edx, %ebx
leaq 0x243dd0(%rip), %r15    # 0x33b3a4
movl (%r15), %r14d
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x12122d(%rip), %rax    # 0x218814
movl (%rax), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
movl %r14d, %edi
subl %ecx, %edi
leaq 0x243d9a(%rip), %r12    # 0x33b398
addl (%r12), %edi
subl %eax, %edi
subl %edx, %edi
leaq 0x2fda0(%rip), %rcx     # 0x1273ad
movl %ebx, %esi
movl $0xf, %edx
callq 0xe787
leaq 0x215188(%rip), %rax    # 0x30c7a8
movb (%rax), %al
addb $-0x55, %al
cmpb $0x2, %al
jb 0xf7667
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x1211d8(%rip), %rax    # 0x218814
movl (%rax), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
subl (%r12), %r14d
addl %ecx, %r14d
addl %edx, %r14d
leaq 0x2adcd(%rip), %rcx     # 0x122425
movl %r14d, %edi
movl %ebx, %esi
movl $0xf, %edx
callq 0xe787
leaq 0x243d32(%rip), %rax    # 0x33b3a0
movl (%rax), %r14d
movl (%r15), %ebx
leaq 0x121199(%rip), %rax    # 0x218814
movl (%rax), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %ebx
movq %r13, %r15
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x121171(%rip), %r13    # 0x218810
movl (%r13), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
movl (%r12), %esi
addl %r14d, %esi
subl %ecx, %esi
addl %eax, %eax
subl %eax, %esi
subl %edx, %esi
leaq 0x2b34a(%rip), %rcx     # 0x122a0c
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
movl (%r13), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
subl (%r12), %r14d
addl %eax, %r14d
addl %ecx, %r14d
addl %edx, %r14d
leaq 0x123d1a(%rip), %rcx    # 0x21b415
cmpb $0x4, (%rcx)
setae %dl
leaq 0x2150a0(%rip), %rcx    # 0x30c7a8
movb (%rcx), %cl
movl %ecx, %esi
andb $-0x5, %sil
cmpb $0x49, %sil
sete %sil
orb %dl, %sil
cmpb $0x1, %sil
jne 0xf774a
leaq 0x2fc18(%rip), %rcx     # 0x127340
movl %ebx, %edi
movl %r14d, %esi
movl $0xf, %edx
jmp 0xf7575
movb $0x0, (%r8)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1210af(%rip), %rdx    # 0x218800
xorl %esi, %esi
testb %cl, %cl
cmovnel %eax, %esi
cmpl $0x500, (%rdx)          # imm = 0x500
cmovnel %eax, %esi
addl %r14d, %esi
leaq 0x2fbd5(%rip), %rcx     # 0x127340
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
leaq 0x121096(%rip), %rax    # 0x218814
movl (%rax), %eax
leal 0x3(%rax), %ebx
testl %eax, %eax
cmovnsl %eax, %ebx
leaq 0x243c11(%rip), %rax    # 0x33b3a0
movl (%rax), %r14d
sarl $0x2, %ebx
leaq 0x243c08(%rip), %rax    # 0x33b3a4
addl (%rax), %ebx
leaq 0x243be7(%rip), %r15    # 0x33b38c
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl (%r12), %ecx
leal 0x3(%rcx), %esi
testl %ecx, %ecx
cmovnsl %ecx, %esi
sarl $0x2, %esi
addl %r14d, %esi
movl (%r13), %eax
leal (%rax,%rax,2), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %esi
leaq 0x3d969(%rip), %rcx     # 0x135145
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl (%r12), %ecx
movl %ecx, %esi
shrl $0x1f, %esi
addl %ecx, %esi
sarl %esi
addl %r14d, %esi
movl (%r13), %eax
leal (%rax,%rax,2), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %esi
leaq 0x3d92c(%rip), %rcx     # 0x135149
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl (%r12), %ecx
leal (%rcx,%rcx,2), %eax
leal (%rcx,%rcx,2), %esi
addl $0x3, %esi
testl %eax, %eax
cmovnsl %eax, %esi
sarl $0x2, %esi
addl %r14d, %esi
movl (%r13), %eax
leal (%rax,%rax,2), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl %ecx, %esi
leaq 0x3d8e7(%rip), %rcx     # 0x13514d
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r15), %eax
movl %eax, %esi
shrl $0x1f, %esi
addl %eax, %esi
sarl %esi
movl (%r13), %eax
addl %r14d, %esi
addl %eax, %eax
addl (%r12), %eax
subl %eax, %esi
leaq 0x3d8bd(%rip), %rcx     # 0x135151
movl %ebx, %edi
movl $0xf, %edx
callq 0xe787
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
movl (%r13), %eax
leal (%rax,%rax,2), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
movl (%r12), %esi
addl %r14d, %esi
subl %ecx, %esi
subl %edx, %esi
movl %ebx, %edi
movl $0xf, %edx
leaq 0x3d87c(%rip), %rcx     # 0x135151
callq 0xe787
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl (%r12), %ecx
leal (%rcx,%rcx,2), %eax
leal (%rcx,%rcx,2), %ecx
addl $0x3, %ecx
testl %eax, %eax
cmovnsl %eax, %ecx
sarl $0x2, %ecx
movl %r14d, %esi
subl (%r13), %esi
subl %ecx, %esi
movl %ebx, %edi
movl $0xf, %edx
leaq 0x3d83b(%rip), %rcx     # 0x13514d
callq 0xe787
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl (%r12), %ecx
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
movl %r14d, %esi
subl (%r13), %esi
subl %eax, %esi
movl %ebx, %edi
movl $0xf, %edx
leaq 0x3d802(%rip), %rcx     # 0x135149
callq 0xe787
movl (%r15), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
subl (%r12), %ecx
leal 0x3(%rcx), %eax
testl %ecx, %ecx
cmovnsl %ecx, %eax
sarl $0x2, %eax
subl (%r13), %r14d
subl %eax, %r14d
movl %ebx, %edi
movl %r14d, %esi
movl $0xf, %edx
leaq 0x3d7c6(%rip), %rcx     # 0x135145
jmp 0xf7575