// File: /workspace/github_cpp_makefile_star2_O1/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, 0x35b5fe(%rip)    # 0x451e08
movl $0xf, 0x35b5f8(%rip)    # 0x451e0c
leaq 0x1220b5(%rip), %rax    # 0x2188d0
movq (%rax), %rax
cmpq $0x1ffff, %rax          # imm = 0x1FFFF
jg 0xf6840
cmpq $0x400, %rax            # imm = 0x400
je 0xf7057
cmpq $0x10000, %rax          # imm = 0x10000
je 0xf7057
jmp 0xf6858
cmpq $0x20000, %rax          # imm = 0x20000
je 0xf7057
cmpq $0x80000, %rax          # imm = 0x80000
je 0xf7057
testl %r15d, %r15d
setne %cl
leaq 0x124bb0(%rip), %rax    # 0x21b415
movb (%rax), %al
cmpb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xf6898
leaq 0x215f2e(%rip), %rax    # 0x30c7a8
leal -0x2(%r14), %ecx
cmpb $0x55, (%rax)
cmovnel %r14d, %ecx
leaq 0x3e73c(%rip), %rax     # 0x134fc8
movq %rax, -0x30(%rbp)
movl %ecx, %r14d
jmp 0xf69a1
testl %r15d, %r15d
setne %cl
cmpb $0x2, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xf68db
leaq 0x215ef7(%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 0x3e70f(%rip), %rax     # 0x134fe5
jmp 0xf699d
testl %r15d, %r15d
setne %cl
cmpb $0x3, %al
sete %dl
testb %dl, %cl
je 0xf68f6
leaq 0x3e716(%rip), %rax     # 0x135007
jmp 0xf699d
testl %r15d, %r15d
setne %cl
cmpb $0x4, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0xf6936
leaq 0x215e99(%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 0x3e6f2(%rip), %rax     # 0x135026
jmp 0xf699d
testl %r15d, %r15d
setne %cl
cmpb $0x5, %al
sete %al
testb %al, %cl
je 0xf694e
leaq 0x3e6f3(%rip), %rax     # 0x13503f
jmp 0xf699d
callq 0xf88ae
leaq 0x215e4e(%rip), %rax    # 0x30c7a8
movzbl (%rax), %eax
cmpl $0x49, %eax
je 0xf696c
cmpl $0x56, %eax
je 0xf696c
cmpl $0x55, %eax
jne 0xf6972
addl $-0x2, %r14d
jmp 0xf6996
cmpb $0x42, %al
sete %cl
cmpb $0x4d, %al
sete %al
orb %cl, %al
leaq 0x121e7f(%rip), %rcx    # 0x218804
cmpl $0x190, (%rcx)          # imm = 0x190
setl %cl
andb %al, %cl
movzbl %cl, %eax
subl %eax, %r14d
leaq 0x245883(%rip), %rax    # 0x33c220
movq %rax, -0x30(%rbp)
leaq 0x215e00(%rip), %rax    # 0x30c7a8
cmpb $0x1, (%rax)
sbbl $-0x1, %r14d
leaq 0x2449ea(%rip), %rbx    # 0x33b3a0
movl (%rbx), %eax
leaq 0x2449cd(%rip), %rcx    # 0x33b38c
movl (%rcx), %edx
movl %edx, %ecx
shrl $0x1f, %ecx
addl %edx, %ecx
sarl %ecx
leaq 0x2449c7(%rip), %r12    # 0x33b398
subl (%r12), %ecx
subl %ecx, %eax
leaq 0x121e32(%rip), %r13    # 0x218810
movl (%r13), %edi
cltd
idivl %edi
movl %eax, %esi
addl %ecx, %ecx
movl %ecx, %eax
cltd
idivl %edi
leaq 0x121e13(%rip), %rcx    # 0x218808
movslq (%rcx), %rcx
cltq
subq %rax, %rcx
addq 0x59574(%rip), %rcx     # 0x14ff78
movl %r14d, %edi
movl $0xf, %edx
callq 0xe7d0
cmpl $0x0, 0x35b3f0(%rip)    # 0x451e08
movl (%rbx), %eax
je 0xf6a38
cltd
idivl (%r13)
movl %eax, %r12d
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0x9120
shrq %rax
subl %eax, %r12d
jmp 0xf6a5c
leaq 0x24494d(%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 0x35b3a9(%rip), %edx    # 0x451e0c
movl %r14d, %edi
movl %r12d, %esi
movq %rbx, %rcx
callq 0xe7d0
leaq 0x244914(%rip), %rax    # 0x33b38c
movl (%rax), %eax
cmpl $0xa0, %eax
setge %dl
leaq 0x215d1f(%rip), %rcx    # 0x30c7a8
movb (%rcx), %cl
testb %cl, %cl
setne %sil
orb %dl, %sil
cmpb $0x1, %sil
jne 0xf7057
testl %r15d, %r15d
setne %sil
leaq 0x121dbc(%rip), %r8     # 0x218868
movb $0x1, (%r8)
leaq 0x12495e(%rip), %rdx    # 0x21b415
movb (%rdx), %dl
cmpb $0x3, %dl
sete %dil
andb %sil, %dil
cmpb $0x1, %dil
jne 0xf6ea2
testb %cl, %cl
leaq 0x2448ca(%rip), %rcx    # 0x33b3a0
movl (%rcx), %r14d
leaq 0x2448c4(%rip), %rsi    # 0x33b3a4
leaq 0x121d2d(%rip), %rcx    # 0x218814
movl (%rcx), %ecx
movl $0x0, %ebx
cmovnel %ecx, %ebx
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
leaq 0x244897(%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 0x121cf5(%rip), %r13    # 0x218810
addl (%r13), %edx
movl %r14d, %esi
subl %edx, %esi
leaq 0x3e538(%rip), %rcx     # 0x135063
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
leaq 0x24484e(%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 0x3e4e0(%rip), %rcx     # 0x135055
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
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 0x3e4bc(%rip), %rcx     # 0x135059
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
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 0x3e47f(%rip), %rcx     # 0x13505d
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
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 0x3e455(%rip), %rcx     # 0x135061
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
movl (%r15), %eax
movl %eax, %r14d
shrl $0x1f, %r14d
addl %eax, %r14d
sarl %r14d
subl (%r12), %r14d
leaq 0x24476d(%rip), %rbx    # 0x33b3a0
movl (%rbx), %eax
addl %r14d, %eax
movl (%r13), %r15d
leaq 0x244761(%rip), %rcx    # 0x33b3a4
addl (%rcx), %r14d
leaq 0x121bc7(%rip), %rcx    # 0x218814
movl (%rcx), %ecx
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
subl %edx, %r14d
leaq 0x215b46(%rip), %rcx    # 0x30c7a8
cmpb $0x0, (%rcx)
leal (%rax,%r15,2), %eax
movl $0x0, %ecx
cmovel %ecx, %r15d
addl %eax, %r15d
leaq 0x2455a4(%rip), %rbx    # 0x33c220
leaq 0x3e3e4(%rip), %rsi     # 0x135067
movq %rbx, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe7d0
leaq 0x2446e0(%rip), %rax    # 0x33b38c
movl (%rax), %ecx
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
subl (%r12), %eax
leaq 0x2446de(%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 0x35a23(%rip), %xmm1    # 0x12c704
cvttss2si %xmm1, %r14d
addl %esi, %r14d
leaq 0x121b24(%rip), %rdx    # 0x218814
movl (%rdx), %r15d
mulss 0x162e9(%rip), %xmm0    # 0x10cfe4
cvttss2si %xmm0, %edx
leaq 0x24469e(%rip), %rbx    # 0x33b3a4
addl (%rbx), %eax
leal (%rdx,%r15,2), %edx
subl %edx, %eax
leaq 0x215a93(%rip), %rdx    # 0x30c7a8
cmpb $0x0, (%rdx)
movl $0x0, %edx
cmovnel %edx, %r15d
cmovnel %edx, %ecx
addl %eax, %r15d
subl %ecx, %r14d
leaq 0x3e335(%rip), %rsi     # 0x135066
leaq 0x2454e8(%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 0xe7d0
leaq 0x24462b(%rip), %rax    # 0x33b38c
movl (%rax), %ecx
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
subl (%r12), %eax
leaq 0x244629(%rip), %rcx    # 0x33b3a0
movl (%rcx), %ecx
subl %eax, %ecx
addl (%r13), %ecx
leal (%rax,%rax), %edx
xorps %xmm0, %xmm0
cvtsi2ss %edx, %xmm0
movss 0x16253(%rip), %xmm1    # 0x10cfe4
mulss %xmm0, %xmm1
cvttss2si %xmm1, %r14d
addl %ecx, %r14d
leaq 0x244600(%rip), %rcx    # 0x33b3a4
addl (%rcx), %eax
leaq 0x121a67(%rip), %rcx    # 0x218814
movl (%rcx), %r15d
leal (%r15,%r15,2), %ecx
mulss 0x35948(%rip), %xmm0    # 0x12c704
cvttss2si %xmm0, %edx
subl %ecx, %eax
subl %edx, %eax
leaq 0x2159dd(%rip), %rbx    # 0x30c7a8
cmpb $0x0, (%rbx)
movl $0x0, %ecx
cmovnel %ecx, %r15d
addl %eax, %r15d
leaq 0x3e28a(%rip), %rsi     # 0x13506b
leaq 0x245438(%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 0xe7d0
leaq 0x24457b(%rip), %rax    # 0x33b38c
movl (%rax), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
movl (%r12), %r14d
subl %ecx, %r14d
leaq 0x244576(%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 0x21595e(%rip), %rax    # 0x30c7a8
cmpb $0x0, (%rax)
leaq 0x1219c0(%rip), %rax    # 0x218814
movl (%rax), %eax
movl $0x0, %ecx
cmovnel %eax, %ecx
leaq 0x24453f(%rip), %rdx    # 0x33b3a4
addl (%rdx), %r14d
addl %eax, %ecx
subl %ecx, %r14d
leaq 0x3e1fc(%rip), %rsi     # 0x135070
movq %rbx, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
movl %r14d, %edi
movl %r15d, %esi
movl $0xf, %edx
movq %rbx, %rcx
callq 0xe7d0
leaq 0x1219cb(%rip), %r8     # 0x218868
jmp 0xf7053
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 0x2444da(%rip), %rcx    # 0x33b3a0
jne 0xf7053
leaq 0x2444b9(%rip), %r13    # 0x33b38c
movl (%rcx), %ebx
leaq 0x121934(%rip), %rcx    # 0x218810
movl (%rcx), %ecx
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
subl %edx, %ebx
leaq 0x2444b4(%rip), %r15    # 0x33b3a4
movl (%r15), %r14d
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x121911(%rip), %rax    # 0x218814
movl (%rax), %eax
movl %eax, %edx
shrl $0x1f, %edx
addl %eax, %edx
sarl %edx
movl %r14d, %edi
subl %ecx, %edi
leaq 0x24447e(%rip), %r12    # 0x33b398
addl (%r12), %edi
subl %eax, %edi
subl %edx, %edi
leaq 0x303b9(%rip), %rcx     # 0x1272e2
movl %ebx, %esi
movl $0xf, %edx
callq 0xe7d0
leaq 0x21586c(%rip), %rax    # 0x30c7a8
movb (%rax), %al
addb $-0x55, %al
cmpb $0x2, %al
jb 0xf6f83
movl (%r13), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
leaq 0x1218bc(%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 0x2b3d1(%rip), %rcx     # 0x122345
movl %r14d, %edi
movl %ebx, %esi
movl $0xf, %edx
callq 0xe7d0
leaq 0x244416(%rip), %rax    # 0x33b3a0
movl (%rax), %r14d
movl (%r15), %ebx
leaq 0x12187d(%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 0x121855(%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 0x2b94e(%rip), %rcx     # 0x12292c
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
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 0x1243fe(%rip), %rcx    # 0x21b415
cmpb $0x4, (%rcx)
setae %dl
leaq 0x215784(%rip), %rcx    # 0x30c7a8
movb (%rcx), %cl
movl %ecx, %esi
andb $-0x5, %sil
cmpb $0x49, %sil
sete %sil
orb %dl, %sil
cmpb $0x1, %sil
jne 0xf7066
leaq 0x30231(%rip), %rcx     # 0x127275
movl %ebx, %edi
movl %r14d, %esi
movl $0xf, %edx
jmp 0xf6e91
movb $0x0, (%r8)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x121793(%rip), %rdx    # 0x218800
xorl %esi, %esi
testb %cl, %cl
cmovnel %eax, %esi
cmpl $0x500, (%rdx)          # imm = 0x500
cmovnel %eax, %esi
addl %r14d, %esi
leaq 0x301ee(%rip), %rcx     # 0x127275
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
leaq 0x12177a(%rip), %rax    # 0x218814
movl (%rax), %eax
leal 0x3(%rax), %ebx
testl %eax, %eax
cmovnsl %eax, %ebx
leaq 0x2442f5(%rip), %rax    # 0x33b3a0
movl (%rax), %r14d
sarl $0x2, %ebx
leaq 0x2442ec(%rip), %rax    # 0x33b3a4
addl (%rax), %ebx
leaq 0x2442cb(%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 0x3df5d(%rip), %rcx     # 0x135055
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
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 0x3df20(%rip), %rcx     # 0x135059
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
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 0x3dedb(%rip), %rcx     # 0x13505d
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
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 0x3deb1(%rip), %rcx     # 0x135061
movl %ebx, %edi
movl $0xf, %edx
callq 0xe7d0
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 0x3de70(%rip), %rcx     # 0x135061
callq 0xe7d0
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 0x3de2f(%rip), %rcx     # 0x13505d
callq 0xe7d0
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 0x3ddf6(%rip), %rcx     # 0x135059
callq 0xe7d0
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 0x3ddba(%rip), %rcx     # 0x135055
jmp 0xf6e91