// File: 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
subq $0xa0, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl $0x1, 0x35d7fd(%rip)    # 0x4b1318
movl $0xf, 0x35d7f7(%rip)    # 0x4b131c
leaq 0x123f84(%rip), %rax    # 0x277ab0
cmpq $0x20000, (%rax)        # imm = 0x20000
jne 0x153b3a
jmp 0x154b49
leaq 0x123f6f(%rip), %rax    # 0x277ab0
cmpq $0x400, (%rax)          # imm = 0x400
jne 0x153b4f
jmp 0x154b49
leaq 0x123f5a(%rip), %rax    # 0x277ab0
cmpq $0x80000, (%rax)        # imm = 0x80000
jne 0x153b64
jmp 0x154b49
leaq 0x123f45(%rip), %rax    # 0x277ab0
cmpq $0x10000, (%rax)        # imm = 0x10000
jne 0x153b79
jmp 0x154b49
cmpl $0x0, -0x4(%rbp)
je 0x153bb6
leaq 0x126a6f(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x153bb6
leaq 0x440b5(%rip), %rax     # 0x197c4a
movq %rax, -0x20(%rbp)
leaq 0x217de8(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x55, %eax
jne 0x153bb1
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
jmp 0x153d80
cmpl $0x0, -0x4(%rbp)
je 0x153c23
leaq 0x126a32(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x2, %eax
jne 0x153c23
leaq 0x44095(%rip), %rax     # 0x197c67
movq %rax, -0x20(%rbp)
leaq 0x217dab(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x55, %eax
jne 0x153bee
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
leaq 0x217d93(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x56, %eax
jne 0x153c06
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
leaq 0x217d7b(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0x153c1e
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
jmp 0x153d7e
cmpl $0x0, -0x4(%rbp)
je 0x153c48
leaq 0x1269c5(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x3, %eax
jne 0x153c48
leaq 0x4404a(%rip), %rax     # 0x197c89
movq %rax, -0x20(%rbp)
jmp 0x153d7c
cmpl $0x0, -0x4(%rbp)
je 0x153cb5
leaq 0x1269a0(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x4, %eax
jne 0x153cb5
leaq 0x44044(%rip), %rax     # 0x197ca8
movq %rax, -0x20(%rbp)
leaq 0x217d19(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x55, %eax
jne 0x153c80
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
leaq 0x217d01(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x56, %eax
jne 0x153c98
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
leaq 0x217ce9(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0x153cb0
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
jmp 0x153d7a
cmpl $0x0, -0x4(%rbp)
je 0x153cda
leaq 0x126933(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x5, %eax
jne 0x153cda
leaq 0x43ff0(%rip), %rax     # 0x197cc1
movq %rax, -0x20(%rbp)
jmp 0x153d78
callq 0x156d40
leaq 0x24771a(%rip), %rax    # 0x39b400
movq %rax, -0x20(%rbp)
leaq 0x217c97(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x55, %eax
jne 0x153d04
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
jmp 0x153d76
leaq 0x217c7d(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x56, %eax
jne 0x153d1e
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
jmp 0x153d74
leaq 0x217c63(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0x153d38
movl -0x8(%rbp), %eax
subl $0x2, %eax
movl %eax, -0x8(%rbp)
jmp 0x153d72
leaq 0x217c49(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x42, %eax
je 0x153d56
leaq 0x217c3a(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x4d, %eax
jne 0x153d70
leaq 0x123c87(%rip), %rax    # 0x2779e4
cmpl $0x190, (%rax)          # imm = 0x190
jge 0x153d6e
movl -0x8(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x153d70
jmp 0x153d72
jmp 0x153d74
jmp 0x153d76
jmp 0x153d78
jmp 0x153d7a
jmp 0x153d7c
jmp 0x153d7e
jmp 0x153d80
jmp 0x153d82
jmp 0x153d84
jmp 0x153d86
jmp 0x153d88
leaq 0x217bf9(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
je 0x153d9d
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
leaq 0x2467dc(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x24(%rbp)
leaq 0x2467bc(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x24(%rbp), %eax
leaq 0x2467b2(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
subl %ecx, %eax
leaq 0x123c1f(%rip), %rcx    # 0x2779f0
cltd
idivl (%rcx)
movl %eax, -0xc(%rbp)
leaq 0x24678e(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x246789(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll %eax
leaq 0x123bf6(%rip), %rcx    # 0x2779f0
cltd
idivl (%rcx)
movl %eax, -0x10(%rbp)
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
leaq 0x123bdb(%rip), %rax    # 0x2779e8
movl (%rax), %eax
subl -0x10(%rbp), %eax
cltq
leaq 0x2473d5(%rip), %rcx    # 0x39b1f0
addq %rax, %rcx
movl $0xf, %edx
callq 0x10ee0
cmpl $0x0, 0x35d4e9(%rip)    # 0x4b1318
je 0x153e65
leaq 0x246748(%rip), %rax    # 0x39a580
movl (%rax), %eax
leaq 0x123baf(%rip), %rcx    # 0x2779f0
cltd
idivl (%rcx)
cltq
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rdi
callq 0x9120
movq %rax, %rcx
movq -0x30(%rbp), %rax
shrq %rcx
subq %rcx, %rax
movl %eax, -0xc(%rbp)
jmp 0x153e9f
leaq 0x246714(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x34(%rbp)
leaq 0x2466f4(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x34(%rbp), %eax
leaq 0x2466ea(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
subl %ecx, %eax
leaq 0x123b57(%rip), %rcx    # 0x2779f0
cltd
idivl (%rcx)
movl %eax, -0xc(%rbp)
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movl 0x35d471(%rip), %eax    # 0x4b131c
movq -0x20(%rbp), %rcx
movzbl %al, %edx
callq 0x10ee0
callq 0x14e630
cmpl $0x0, %eax
je 0x153ec6
jmp 0x154b49
leaq 0x123b7b(%rip), %rax    # 0x277a48
movb $0x1, (%rax)
cmpl $0x0, -0x4(%rbp)
je 0x1545d3
leaq 0x126714(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x3, %eax
jne 0x1545d3
leaq 0x24668c(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x10(%rbp)
leaq 0x246684(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x14(%rbp)
leaq 0x217a7c(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
je 0x153f20
leaq 0x123adc(%rip), %rax    # 0x2779f4
movl (%rax), %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
leaq 0x246645(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x246640(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
movl %eax, -0x44(%rbp)
leaq 0x123ab0(%rip), %rax    # 0x2779f4
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x44(%rbp), %eax
addl %ecx, %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x246604(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x2465ff(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll $0x0, %eax
subl %eax, %esi
leaq 0x123a69(%rip), %rax    # 0x2779f0
movl (%rax), %eax
shll %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x43d44(%rip), %rcx     # 0x197ce5
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x2465b9(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x2465b4(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
leaq 0x123a19(%rip), %rax    # 0x2779f0
imull $0x3, (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x43ce7(%rip), %rcx     # 0x197cd7
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x24656a(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x246565(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
imull $0x0, %eax, %eax
subl %eax, %esi
leaq 0x1239cf(%rip), %rax    # 0x2779f0
imull $0x3, (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x43ca1(%rip), %rcx     # 0x197cdb
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x246520(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x24651b(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
addl %eax, %esi
leaq 0x123980(%rip), %rax    # 0x2779f0
imull $0x3, (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x43c56(%rip), %rcx     # 0x197cdf
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x2464d1(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x2464cc(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll $0x0, %eax
addl %eax, %esi
leaq 0x123936(%rip), %rax    # 0x2779f0
movl (%rax), %eax
shll $0x2, %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x43c0e(%rip), %rcx     # 0x197ce3
callq 0x10ee0
leaq 0x24649f(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x40(%rbp)
leaq 0x24647f(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x40(%rbp), %eax
leaq 0x246475(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
addl %ecx, %eax
leaq 0x1238e2(%rip), %rcx    # 0x2779f0
movl (%rcx), %ecx
shll %ecx
addl %ecx, %eax
movl %eax, -0x10(%rbp)
leaq 0x246466(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x3c(%rbp)
leaq 0x246442(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x3c(%rbp), %eax
leaq 0x246438(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
addl %ecx, %eax
movl %eax, -0x38(%rbp)
leaq 0x1238a6(%rip), %rax    # 0x2779f4
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x38(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
leaq 0x21781f(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
je 0x15417d
leaq 0x12387b(%rip), %rax    # 0x2779f0
movl (%rax), %eax
addl -0x10(%rbp), %eax
movl %eax, -0x10(%rbp)
leaq 0x24727c(%rip), %rdi    # 0x39b400
leaq 0x43b5e(%rip), %rsi     # 0x197ce9
movl $0x1, %edx
movb $0x0, %al
callq 0x9060
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
movl $0xf, %edx
leaq 0x247257(%rip), %rcx    # 0x39b400
callq 0x10ee0
leaq 0x2463cb(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x5c(%rbp)
leaq 0x2463ab(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x5c(%rbp), %eax
leaq 0x2463a1(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
subl %ecx, %eax
leaq 0x12380e(%rip), %rcx    # 0x2779f0
imull $0x3, (%rcx), %ecx
addl %ecx, %eax
movl %eax, -0x58(%rbp)
leaq 0x24637b(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x246376(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x54(%rbp)
movsd 0x1d469(%rip), %xmm0    # 0x171680
movsd 0x2e911(%rip), %xmm1    # 0x182b30
callq 0x94d0
movsd 0x1af54(%rip), %xmm1    # 0x16f180
divsd %xmm1, %xmm0
callq 0x96f0
movl -0x58(%rbp), %eax
movaps %xmm0, %xmm1
movss -0x54(%rbp), %xmm0
cvtsd2ss %xmm1, %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %ecx
addl %ecx, %eax
movl %eax, -0x10(%rbp)
leaq 0x24632c(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x50(%rbp)
leaq 0x246308(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x50(%rbp), %eax
leaq 0x2462fe(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
addl %ecx, %eax
leaq 0x12376f(%rip), %rcx    # 0x2779f4
movl (%rcx), %ecx
shll %ecx
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
leaq 0x2462d7(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x2462d2(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x48(%rbp)
movsd 0x1d3c5(%rip), %xmm0    # 0x171680
movsd 0x2e86d(%rip), %xmm1    # 0x182b30
callq 0x94d0
movsd 0x1aeb0(%rip), %xmm1    # 0x16f180
divsd %xmm1, %xmm0
callq 0x9080
movl -0x4c(%rbp), %eax
movaps %xmm0, %xmm1
movss -0x48(%rbp), %xmm0
cvtsd2ss %xmm1, %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %ecx
subl %ecx, %eax
movl %eax, -0x14(%rbp)
leaq 0x21768c(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x154313
leaq 0x1236e9(%rip), %rax    # 0x2779f4
movl (%rax), %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
leaq 0x21766e(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x154333
leaq 0x1236c7(%rip), %rax    # 0x2779f0
movl (%rax), %ecx
movl -0x10(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x10(%rbp)
leaq 0x2470c6(%rip), %rdi    # 0x39b400
leaq 0x439a7(%rip), %rsi     # 0x197ce8
movl $0x1, %edx
movb $0x0, %al
callq 0x9060
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
movl $0xf, %edx
leaq 0x2470a1(%rip), %rcx    # 0x39b400
callq 0x10ee0
leaq 0x246215(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x74(%rbp)
leaq 0x2461f5(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x74(%rbp), %eax
leaq 0x2461eb(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
subl %ecx, %eax
leaq 0x123658(%rip), %rcx    # 0x2779f0
movl (%rcx), %ecx
shll $0x0, %ecx
addl %ecx, %eax
movl %eax, -0x70(%rbp)
leaq 0x2461c3(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x2461be(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x6c(%rbp)
movsd 0x1ac49(%rip), %xmm0    # 0x16f018
movsd 0x2e759(%rip), %xmm1    # 0x182b30
callq 0x94d0
movsd 0x1ad9c(%rip), %xmm1    # 0x16f180
divsd %xmm1, %xmm0
callq 0x96f0
movl -0x70(%rbp), %eax
movaps %xmm0, %xmm1
movss -0x6c(%rbp), %xmm0
cvtsd2ss %xmm1, %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %ecx
addl %ecx, %eax
movl %eax, -0x10(%rbp)
leaq 0x246174(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x68(%rbp)
leaq 0x246150(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x68(%rbp), %eax
leaq 0x246146(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
addl %ecx, %eax
leaq 0x1235b7(%rip), %rcx    # 0x2779f4
imull $0x3, (%rcx), %ecx
subl %ecx, %eax
movl %eax, -0x64(%rbp)
leaq 0x246120(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x24611b(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x60(%rbp)
movsd 0x1aba6(%rip), %xmm0    # 0x16f018
movsd 0x2e6b6(%rip), %xmm1    # 0x182b30
callq 0x94d0
movsd 0x1acf9(%rip), %xmm1    # 0x16f180
divsd %xmm1, %xmm0
callq 0x9080
movl -0x64(%rbp), %eax
movaps %xmm0, %xmm1
movss -0x60(%rbp), %xmm0
cvtsd2ss %xmm1, %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %ecx
subl %ecx, %eax
movl %eax, -0x14(%rbp)
leaq 0x2174d5(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x1544ca
leaq 0x123532(%rip), %rax    # 0x2779f4
movl (%rax), %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
leaq 0x246f2f(%rip), %rdi    # 0x39b400
leaq 0x43815(%rip), %rsi     # 0x197ced
movl $0x1, %edx
movb $0x0, %al
callq 0x9060
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
movl $0xf, %edx
leaq 0x246f0a(%rip), %rcx    # 0x39b400
callq 0x10ee0
leaq 0x24607e(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x80(%rbp)
leaq 0x24605e(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x80(%rbp), %eax
leaq 0x246054(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
leaq 0x1234be(%rip), %rax    # 0x2779f0
imull $0x3, (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x10(%rbp)
leaq 0x246036(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x78(%rbp)
leaq 0x246012(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x78(%rbp), %eax
leaq 0x246008(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
subl %ecx, %eax
leaq 0x123479(%rip), %rcx    # 0x2779f4
subl (%rcx), %eax
movl %eax, -0x14(%rbp)
leaq 0x217401(%rip), %rax    # 0x36b988
cmpb $0x0, (%rax)
je 0x15459d
leaq 0x123461(%rip), %rax    # 0x2779f4
movl (%rax), %ecx
movl -0x14(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
leaq 0x246e5c(%rip), %rdi    # 0x39b400
leaq 0x43747(%rip), %rsi     # 0x197cf2
movl $0x1, %edx
movb $0x0, %al
callq 0x9060
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
movl $0xf, %edx
leaq 0x246e37(%rip), %rcx    # 0x39b400
callq 0x10ee0
jmp 0x154b3f
cmpl $0x0, -0x4(%rbp)
je 0x1545e5
leaq 0x126015(%rip), %rax    # 0x27a5f5
cmpb $0x0, (%rax)
jne 0x154607
leaq 0x21739c(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x4d, %eax
je 0x154607
leaq 0x21738d(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0x154b3d
leaq 0x245f72(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x84(%rbp)
leaq 0x1233d3(%rip), %rax    # 0x2779f0
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x84(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x10(%rbp)
leaq 0x245f49(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edi
leaq 0x245f22(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245f1d(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
subl %eax, %edi
leaq 0x12338e(%rip), %rax    # 0x2779f4
subl (%rax), %edi
leaq 0x123385(%rip), %rax    # 0x2779f4
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %edi
movl -0x10(%rbp), %esi
movl $0xf, %edx
leaq 0x360dd(%rip), %rcx     # 0x18a767
callq 0x10ee0
leaq 0x2172f2(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x55, %eax
je 0x1546ad
leaq 0x2172e3(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x56, %eax
jne 0x1546af
jmp 0x1546f5
movl -0x14(%rbp), %edi
leaq 0x245eb3(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245eae(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
addl %eax, %edi
leaq 0x12331f(%rip), %rax    # 0x2779f4
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
addl %eax, %edi
movl -0x10(%rbp), %esi
movl $0xf, %edx
leaq 0x30fc5(%rip), %rcx     # 0x1856b5
callq 0x10ee0
leaq 0x245e84(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x10(%rbp)
leaq 0x245e7c(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x90(%rbp)
leaq 0x1232dd(%rip), %rax    # 0x2779f4
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x90(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245e31(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245e2c(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
subl %eax, %esi
leaq 0x123299(%rip), %rax    # 0x2779f0
movl (%rax), %eax
shll %eax
subl %eax, %esi
leaq 0x12328c(%rip), %rax    # 0x2779f0
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x31520(%rip), %rcx     # 0x185c9c
callq 0x10ee0
movl -0x10(%rbp), %eax
movl %eax, -0x8c(%rbp)
leaq 0x245ddb(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x8c(%rbp), %eax
leaq 0x245dce(%rip), %rdx    # 0x39a578
subl (%rdx), %ecx
addl %ecx, %eax
leaq 0x12323b(%rip), %rcx    # 0x2779f0
movl (%rcx), %ecx
shll $0x0, %ecx
addl %ecx, %eax
movl %eax, -0x88(%rbp)
leaq 0x123227(%rip), %rax    # 0x2779f0
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x88(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x10(%rbp)
leaq 0x125e0e(%rip), %rax    # 0x27a5f5
movzbl (%rax), %eax
cmpl $0x4, %eax
jge 0x15480d
leaq 0x217192(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x4d, %eax
je 0x15480d
leaq 0x217183(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0x154829
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
movl $0xf, %edx
leaq 0x35edb(%rip), %rcx     # 0x18a6fa
callq 0x10ee0
jmp 0x154b3b
leaq 0x1231b0(%rip), %rax    # 0x2779e0
cmpl $0x500, (%rax)          # imm = 0x500
jne 0x154849
leaq 0x217149(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0x154849
jmp 0x154858
leaq 0x1231a0(%rip), %rax    # 0x2779f0
movl (%rax), %eax
addl -0x10(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
movl $0xf, %edx
leaq 0x35e90(%rip), %rcx     # 0x18a6fa
callq 0x10ee0
leaq 0x245d0a(%rip), %rax    # 0x39a580
movl (%rax), %eax
movl %eax, -0x10(%rbp)
leaq 0x245d02(%rip), %rax    # 0x39a584
movl (%rax), %eax
movl %eax, -0x94(%rbp)
leaq 0x123163(%rip), %rax    # 0x2779f4
movl (%rax), %eax
movl $0x4, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x94(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245cb7(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245cb2(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll $0x0, %eax
movl $0x4, %ecx
cltd
idivl %ecx
addl %eax, %esi
leaq 0x123114(%rip), %rax    # 0x2779f0
imull $0x3, (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x433e2(%rip), %rcx     # 0x197cd7
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245c65(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245c60(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll %eax
movl $0x4, %ecx
cltd
idivl %ecx
addl %eax, %esi
leaq 0x1230c3(%rip), %rax    # 0x2779f0
imull $0x3, (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x43395(%rip), %rcx     # 0x197cdb
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245c14(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245c0f(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
imull $0x3, %eax, %eax
movl $0x4, %ecx
cltd
idivl %ecx
addl %eax, %esi
leaq 0x123071(%rip), %rax    # 0x2779f0
imull $0x3, (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x43347(%rip), %rcx     # 0x197cdf
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245bc2(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245bbd(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll $0x2, %eax
movl $0x4, %ecx
cltd
idivl %ecx
addl %eax, %esi
leaq 0x12301f(%rip), %rax    # 0x2779f0
movl (%rax), %eax
shll $0x2, %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x432f7(%rip), %rcx     # 0x197ce3
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245b6e(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245b69(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll $0x2, %eax
movl $0x4, %ecx
cltd
idivl %ecx
subl %eax, %esi
leaq 0x122fcb(%rip), %rax    # 0x2779f0
imull $0x3, (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x432a5(%rip), %rcx     # 0x197ce3
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245b1c(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245b17(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
imull $0x3, %eax, %eax
movl $0x4, %ecx
cltd
idivl %ecx
subl %eax, %esi
leaq 0x122f79(%rip), %rax    # 0x2779f0
movl (%rax), %eax
shll %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x4324e(%rip), %rcx     # 0x197cdf
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245ac9(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245ac4(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll %eax
movl $0x4, %ecx
cltd
idivl %ecx
subl %eax, %esi
leaq 0x122f27(%rip), %rax    # 0x2779f0
movl (%rax), %eax
shll %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x431f8(%rip), %rcx     # 0x197cdb
callq 0x10ee0
movl -0x14(%rbp), %edi
movl -0x10(%rbp), %esi
leaq 0x245a77(%rip), %rax    # 0x39a56c
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
leaq 0x245a72(%rip), %rcx    # 0x39a578
subl (%rcx), %eax
shll $0x0, %eax
movl $0x4, %ecx
cltd
idivl %ecx
subl %eax, %esi
leaq 0x122ed4(%rip), %rax    # 0x2779f0
movl (%rax), %eax
shll %eax
movl $0x2, %ecx
cltd
idivl %ecx
subl %eax, %esi
movl $0xf, %edx
leaq 0x431a1(%rip), %rcx     # 0x197cd7
callq 0x10ee0
jmp 0x154b3d
jmp 0x154b3f
leaq 0x122f02(%rip), %rax    # 0x277a48
movb $0x0, (%rax)
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)