// File: jkingan[P]ladyheather/heathgps.cpp
// Function: show_sat_table(int, int, int, int, int, int)
void show_sat_table(int row,int col, int col_switch, int col2, int top_row, int rows_avail)
{
int prn;
int i, j;
float az;
float el;
char c, cc;
u08 az_dir;
u08 el_dir;

double dop;
double phase;
int state;
float sig;
float clock;
float acc;

int datum_crapum;
int crap_count;
char el_string[10];
char az_string[10];
char bias_string[20];
int len, max_len;
char fmt[256];
int n;

   // show the satellite info table

   datum_crapum = 0;
   crap_count = 0;
   max_len = 0;
   fmt[0] = 0;

   if(ms_row) {  // clear out the "More sats..." line
      vidstr(ms_row,ms_col, WHITE,   "                             ");
      ms_row = ms_col = 0;
   }

   j = 0;

   for(prn=1; prn<=MAX_PRN; prn++) {
      if(sat[prn].disabled) ; 
      else if(sat[prn].level_msg == 0x00) continue;
      if(0 && (zoom_screen == 'I')) ;
      else if(tracked_only) {
         if(sat[prn].tracking <= 0) continue;
         if(sat[prn].health_flag == 1) continue;
      }

      if     (sort_by == SORT_ELEV)    i = sat_sort[j].prn;
      else if(sort_by == SORT_SIGS)    i = sat_sort[j].prn;
      else if(sort_by == SORT_AZ)      i = sat_sort[j].prn;
      else if(sort_by == SORT_PRN)     i = sat_sort[j].prn;
      else if(sort_by == SORT_DOPPLER) i = sat_sort[j].prn;
      else if(sort_by == SORT_CARRIER) i = sat_sort[j].prn;
      else if(sort_by == SORT_RANGE)   i = sat_sort[j].prn;
      else if(sort_by == SORT_BIAS)    i = sat_sort[j].prn;
      else if(sort_by == SORT_STATE)   i = sat_sort[j].prn;
      else if(sort_by == SORT_URA)     i = sat_sort[j].prn;
      else                             i = prn;

      if(zoom_screen == 'I') {  // zoomed sat info
         ++j;
      }
      else if(sat_cols > 1) {   // two column sat info display
         ++j;
         if(j >= (rows_avail*2)) {
            vidstr(row,col, WHITE,   "More sats... click sat table!");
            ms_row = row;
            ms_col = col;
            break;
         }

         if(all_adevs && (j > 8)) break;  // only room for 8 sats here
      } 
      else {  // single column sat info display
         ++j;
         if(j >= SAT_SHOW_ROWS) {
            vidstr(row,col, WHITE,   "                             ");
         }
         if(j > SAT_SHOW_ROWS) { 
            vidstr(row,col, WHITE,   "More sats... click sat table.");
            ms_row = row;
            ms_col = col;
            break;
         }
         else if(row >= (MOUSE_ROW)) {
            vidstr(row,col, WHITE,   "More sats... click sat table ");
            ms_row = row;
            ms_col = col;
            break;
         }

         if(j > SAT_SHOW_ROWS) break;
         if(all_adevs && (j > 8)) break;  // only room for 8 sats here
         if((col < (TEXT_COLS/2)) && (row >= MOUSE_ROW)) break;
      }

      // filter out potentially bogus data
      az = sat[i].azimuth;
      if(az != 0.0) ++datum_crapum;
      if((az < 0.0) || (az > 360.0)) az = 0.0;

      az_dir = sat[i].az_dir;
      if(az_dir == 0) az_dir = ' ';
      else if(az == 0.0) az_dir = ' ';

      el = sat[i].elevation;
      if(el != 0.0) ++datum_crapum;
      if((el < 0.0) || (el > 90.0)) el = 0.0;

      el_dir = sat[i].el_dir;
      if(el_dir == 0) el_dir = ' ';
      else if(el == 0.0) el_dir = ' ';

      dop = sat[i].doppler;
      if(1 || (rcvr_type == ESIP_RCVR)) ;
      else if((dop <= -9999.0) || (dop >= 99999.0)) dop = 0.0;

      phase = sat[i].code_phase;
      state = sat[i].state;
      sig = sat[i].sig_level;
      if((rcvr_type == MOTO_RCVR) || (rcvr_type == SCPI_RCVR)) {
         if(sig > 255.0F) sig = 0.0F;
         if(sig <= (0.0F)) sig = 0.0F;
      }
      else {
         if(sig > 100.0F) sig = 0.0F;
         if(sig <= (-100.0F)) sig = 0.0F;
         if(sig < 0.0F) sig = 0.0F - sig;
      }

      clock = sat[i].sat_bias;

      acc = sat[i].sv_accuracy;

      out[0] = 0;


      if((az == 0.0) && (el == 0.0)) {
         strcpy(el_string, "N/A  ");
         strcpy(az_string, " N/A ");
      }
      else if(rcvr_type == RFTG_RCVR) {
         strcpy(el_string, "N/A  ");
         strcpy(az_string, " N/A ");
      }
      else {
         if(az == 0.0) strcpy(az_string, " N/A ");
         else          sprintf(az_string, "%5.1f", az);

         if(el == 0.0F)      strcpy(el_string,  " N/A");
         else if(el < 10.0F) sprintf(el_string, " %-3.1f", el);
         else                sprintf(el_string, "%-4.1f", el);
         if(el_string[3] == ' ') el_string[3] = el_dir;
         else                    el_string[4] = el_dir;
         el_string[5] = 0;
      }

      bias_string[0] = 0;
      if(have_range) {
         if(sat[i].range == 0.0)         sprintf(bias_string, "    N/A     ");
         else if(rcvr_type == ESIP_RCVR) sprintf(bias_string, "%12.3f", sat[i].range);
         else                            sprintf(bias_string, "%12.3f", sat[i].range);
      }
      else if(clock == 0.0) strcpy(bias_string,  "    N/A    ");
      else                  sprintf(bias_string, "%#11.4g", clock);

      
      // show the sat info columns
      c = gnss_letter(i);
      if(i == plot_prn) cc = '*';  // plotting this sat's az/el/sig
      else              cc = ' ';

      if(sig == 0.0) {
         if(i > 99)   sprintf(out,  "%03d%c%c  %s  %s   N/A",  i,cc,c, az_string, el_string);
         else         sprintf(out, " %02d%c%c  %s  %s   N/A",  i,cc,c, az_string, el_string);
      }
      else if(i > 99) sprintf(out,  "%03d%c%c  %s  %s %5.1f",  i,cc,c, az_string, el_string, sig);
      else            sprintf(out, " %02d%c%c  %s  %s %5.1f",  i,cc,c, az_string, el_string, sig);

      if(have_doppler && (sat_cols <= 1)) {
         if(dop == 0.0F) sprintf(fmt, "      N/A");
//       else if(rcvr_type == ESIP_RCVR) sprintf(fmt, " %8.0f", dop);
         else if((dop <= -999999.0) || (dop >= 9999999.0)) sprintf(fmt, " %8.0f", dop);
         else if((dop <= -99999.0) || (dop >= 999999.0))   sprintf(fmt, " %8.0f", dop);
         else if((dop <= -9999.0) || (dop >= 99999.0))     sprintf(fmt, " %8.1f", dop);
         else                                              sprintf(fmt, " %8.2f", dop);
         strcat(out, fmt);
      }

//    if((rcvr_type == FURUNO_RCVR) && (sat_cols < 2)) {
      if(show_short_info && ura_title && (sat_cols < 2)) {  // FURUNO_RCVR, ACU_GG, and ACU_360
         goto show_accu;  // we have room to show the URA data
      }
      else if(show_short_info == 0) {
         if(have_phase && (no_raw_table == 0)) {
            if     (phase == 0.0)           sprintf(fmt, "    N/A   ");
            else if(phase <= (-1000000.0F)) sprintf(fmt, " %9ld", (long)phase);
            else if(phase <= (-100000.0F))  sprintf(fmt, " %9.1f", phase);
            else if(phase >= (10000000.0F)) sprintf(fmt, " %9ld", (long)phase);
            else if(phase >= (1000000.0F))  sprintf(fmt, " %9.1f", phase);
            else                            sprintf(fmt, " %9.2f", phase);
            strcat(out, fmt);
         }
         else if(have_state) {
            format_sat_state(state);
         }

         if(no_raw_table) ;
         else if(have_bias || have_range) {
            sprintf(fmt, " %s", bias_string);
            strcat(out, fmt);
         }

         show_accu:
         if(have_accu) {
            if(acc <= 0.0)           sprintf(fmt, "  N/A ");
            else if(acc == 255.0)    sprintf(fmt, "  UNKN");
            else if(acc >= 10000.0F) sprintf(fmt, " LARGE");
            else if(acc >= 1000.0F)  sprintf(fmt, " %5.0f", acc);
            else if(acc >= 100.0F)   sprintf(fmt, " %5.1f", acc);
            else                     sprintf(fmt, " %5.2f", acc);
            strcat(out, fmt);
         }
      }
      else if(have_state && (have_doppler == 0)) {
         format_sat_state(state);
      }

      if(sat_cols > 1) {
         if((j == (col_switch+1)) || (row >= MOUSE_ROW)) {  // switch to next column
            if(col >= col2) ; // column already switched            
            else if(zoom_screen == 'I') ;
            else {
               col = col2;
               row = top_row+1;
            }
         }
      }

      if(sat[i].disabled) {               // user disabled satellite
         vidstr(row++, col, BLUE, out);
      }
      else if(sat[i].health_flag == 1) {  // unhealthy sat
         vidstr(row++, col, RED, out);
      }
      else if(sat[i].tracking <= 0) {     // sat is visible but not tracked
         vidstr(row++, col, YELLOW, out);
      }
      else {                              // sat is being tracked
         vidstr(row++, col, GREEN, out);
         ++crap_count;
      }
      last_sat_row = (row+1);

      len = strlen(out);
      if(len > max_len) max_len = len;

      if(plot_title[0]) n = 2;
      else              n = 1;
++n; // !!!!! should only happen on very short screens
      if(row >= (TEXT_ROWS-n)) {
         vidstr(row,col, WHITE, "More sats skipped...");
         break;
      }
   }

   if((rcvr_type == TSIP_RCVR) && (tsip_type == TBOLT_TYPE) && (res_t == 0) && detect_rcvr_type) { 
      if(datum_flag && have_sat_azel && (datum_crapum == 0) && (crap_count > 2)) { 
         tsip_type = STARLOC_TYPE;
         config_msg_ofs();
         have_el_mask = have_amu = 0;
      }
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl %ecx, -0x10(%rbp)
movl %r8d, -0x14(%rbp)
movl %r9d, -0x18(%rbp)
movl $0x0, -0x54(%rbp)
movl $0x0, -0x58(%rbp)
movl $0x0, -0x88(%rbp)
movb $0x0, -0x190(%rbp)
leaq 0x27a547(%rip), %rax    # 0x36b96c
cmpl $0x0, (%rax)
je 0xf1467
leaq 0x27a53b(%rip), %rax    # 0x36b96c
movl (%rax), %edi
leaq 0x27a536(%rip), %rax    # 0x36b970
movl (%rax), %esi
movl $0xf, %edx
leaq 0xa5268(%rip), %rcx     # 0x1966b0
callq 0x10ee0
leaq 0x27a51c(%rip), %rax    # 0x36b970
movl $0x0, (%rax)
leaq 0x27a50b(%rip), %rax    # 0x36b96c
movl $0x0, (%rax)
movl $0x0, -0x24(%rbp)
movl $0x1, -0x1c(%rbp)
cmpl $0x3e7, -0x1c(%rbp)     # imm = 0x3E7
jg 0xf256a
movslq -0x1c(%rbp), %rcx
leaq 0x1acd03(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
cmpb $0x0, 0x1(%rax)
je 0xf149f
jmp 0xf14c1
movslq -0x1c(%rbp), %rcx
leaq 0x1acce6(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
cmpl $0x0, 0x1c(%rax)
jne 0xf14bf
jmp 0xf255c
jmp 0xf14c1
leaq 0x1acc2c(%rip), %rax    # 0x29e0f4
cmpl $0x0, (%rax)
je 0xf1514
movslq -0x1c(%rbp), %rcx
leaq 0x1accb8(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
cmpl $0x0, 0x218(%rax)
jg 0xf14f0
jmp 0xf255c
movslq -0x1c(%rbp), %rcx
leaq 0x1acc95(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xf1512
jmp 0xf255c
jmp 0xf1514
leaq 0x27a461(%rip), %rax    # 0x36b97c
cmpl $0x45, (%rax)
jne 0xf153c
movslq -0x24(%rbp), %rcx
leaq 0x2e03a5(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16b0
leaq 0x27a439(%rip), %rax    # 0x36b97c
cmpl $0x53, (%rax)
jne 0xf1564
movslq -0x24(%rbp), %rcx
leaq 0x2e037d(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16ae
leaq 0x27a411(%rip), %rax    # 0x36b97c
cmpl $0x41, (%rax)
jne 0xf158c
movslq -0x24(%rbp), %rcx
leaq 0x2e0355(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16ac
leaq 0x27a3e9(%rip), %rax    # 0x36b97c
cmpl $0x50, (%rax)
jne 0xf15b4
movslq -0x24(%rbp), %rcx
leaq 0x2e032d(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16aa
leaq 0x27a3c1(%rip), %rax    # 0x36b97c
cmpl $0x44, (%rax)
jne 0xf15dc
movslq -0x24(%rbp), %rcx
leaq 0x2e0305(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16a8
leaq 0x27a399(%rip), %rax    # 0x36b97c
cmpl $0x57, (%rax)
jne 0xf1604
movslq -0x24(%rbp), %rcx
leaq 0x2e02dd(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16a6
leaq 0x27a371(%rip), %rax    # 0x36b97c
cmpl $0x52, (%rax)
jne 0xf1629
movslq -0x24(%rbp), %rcx
leaq 0x2e02b5(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16a4
leaq 0x27a34c(%rip), %rax    # 0x36b97c
cmpl $0x42, (%rax)
jne 0xf164e
movslq -0x24(%rbp), %rcx
leaq 0x2e0290(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16a2
leaq 0x27a327(%rip), %rax    # 0x36b97c
cmpl $0x4d, (%rax)
jne 0xf1673
movslq -0x24(%rbp), %rcx
leaq 0x2e026b(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16a0
leaq 0x27a302(%rip), %rax    # 0x36b97c
cmpl $0x55, (%rax)
jne 0xf1698
movslq -0x24(%rbp), %rcx
leaq 0x2e0246(%rip), %rax    # 0x3d18d0
shlq $0x4, %rcx
addq %rcx, %rax
movl (%rax), %eax
movl %eax, -0x20(%rbp)
jmp 0xf169e
movl -0x1c(%rbp), %eax
movl %eax, -0x20(%rbp)
jmp 0xf16a0
jmp 0xf16a2
jmp 0xf16a4
jmp 0xf16a6
jmp 0xf16a8
jmp 0xf16aa
jmp 0xf16ac
jmp 0xf16ae
jmp 0xf16b0
leaq 0x27a2d1(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0xf16cd
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xf18f2
leaq 0x27a290(%rip), %rax    # 0x36b964
cmpl $0x1, (%rax)
jle 0xf173e
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl -0x18(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
jl 0xf1722
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl $0xf, %edx
leaq 0x98d8b(%rip), %rcx     # 0x18a48b
callq 0x10ee0
movl -0x4(%rbp), %ecx
leaq 0x27a25d(%rip), %rax    # 0x36b96c
movl %ecx, (%rax)
movl -0x8(%rbp), %ecx
leaq 0x27a255(%rip), %rax    # 0x36b970
movl %ecx, (%rax)
jmp 0xf256a
leaq 0x1aa7f5(%rip), %rax    # 0x29bf1e
cmpb $0x0, (%rax)
je 0xf1739
cmpl $0x8, -0x24(%rbp)
jle 0xf1739
jmp 0xf256a
jmp 0xf18f0
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x198(%rbp)
leaq 0x1aca2d(%rip), %rax    # 0x29e184
movl (%rax), %eax
cmpl -0x18(%rbp), %eax
jle 0xf1769
movl -0x18(%rbp), %eax
movl %eax, -0x19c(%rbp)
jmp 0xf1778
leaq 0x1aca14(%rip), %rax    # 0x29e184
movl (%rax), %eax
movl %eax, -0x19c(%rbp)
movl -0x198(%rbp), %eax
movl -0x19c(%rbp), %ecx
cmpl %ecx, %eax
jl 0xf179f
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl $0xf, %edx
leaq 0xa4f16(%rip), %rcx     # 0x1966b0
callq 0x10ee0
movl -0x24(%rbp), %eax
movl %eax, -0x1a0(%rbp)
leaq 0x1ac9d5(%rip), %rax    # 0x29e184
movl (%rax), %eax
cmpl -0x18(%rbp), %eax
jle 0xf17c1
movl -0x18(%rbp), %eax
movl %eax, -0x1a4(%rbp)
jmp 0xf17d0
leaq 0x1ac9bc(%rip), %rax    # 0x29e184
movl (%rax), %eax
movl %eax, -0x1a4(%rbp)
movl -0x1a0(%rbp), %eax
movl -0x1a4(%rbp), %ecx
cmpl %ecx, %eax
jle 0xf1814
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl $0xf, %edx
leaq 0x98cb7(%rip), %rcx     # 0x18a4a9
callq 0x10ee0
movl -0x4(%rbp), %ecx
leaq 0x27a16b(%rip), %rax    # 0x36b96c
movl %ecx, (%rax)
movl -0x8(%rbp), %ecx
leaq 0x27a163(%rip), %rax    # 0x36b970
movl %ecx, (%rax)
jmp 0xf256a
movl -0x4(%rbp), %eax
leaq 0x18616a(%rip), %rcx    # 0x277988
cmpl (%rcx), %eax
jl 0xf1856
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl $0xf, %edx
leaq 0x98c93(%rip), %rcx     # 0x18a4c7
callq 0x10ee0
movl -0x4(%rbp), %ecx
leaq 0x27a129(%rip), %rax    # 0x36b96c
movl %ecx, (%rax)
movl -0x8(%rbp), %ecx
leaq 0x27a121(%rip), %rax    # 0x36b970
movl %ecx, (%rax)
jmp 0xf256a
jmp 0xf1858
movl -0x24(%rbp), %eax
movl %eax, -0x1a8(%rbp)
leaq 0x1ac91c(%rip), %rax    # 0x29e184
movl (%rax), %eax
cmpl -0x18(%rbp), %eax
jle 0xf187a
movl -0x18(%rbp), %eax
movl %eax, -0x1ac(%rbp)
jmp 0xf1889
leaq 0x1ac903(%rip), %rax    # 0x29e184
movl (%rax), %eax
movl %eax, -0x1ac(%rbp)
movl -0x1a8(%rbp), %eax
movl -0x1ac(%rbp), %ecx
cmpl %ecx, %eax
jle 0xf189e
jmp 0xf256a
leaq 0x1aa679(%rip), %rax    # 0x29bf1e
cmpb $0x0, (%rax)
je 0xf18b5
cmpl $0x8, -0x24(%rbp)
jle 0xf18b5
jmp 0xf256a
movl -0x8(%rbp), %eax
movl %eax, -0x1b0(%rbp)
leaq 0x186123(%rip), %rax    # 0x2779e8
movl (%rax), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x1b0(%rbp), %eax
cmpl %ecx, %eax
jge 0xf18ee
movl -0x4(%rbp), %eax
leaq 0x1860a3(%rip), %rcx    # 0x277988
cmpl (%rcx), %eax
jl 0xf18ee
jmp 0xf256a
jmp 0xf18f0
jmp 0xf18f2
movslq -0x20(%rbp), %rcx
leaq 0x1ac893(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x208(%rax), %xmm0
movss %xmm0, -0x28(%rbp)
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf192a
jp 0xf192a
jmp 0xf1933
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
ja 0xf195c
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x911da(%rip), %xmm1    # 0x182b30
ucomisd %xmm1, %xmm0
jbe 0xf1964
xorps %xmm0, %xmm0
movss %xmm0, -0x28(%rbp)
movslq -0x20(%rbp), %rcx
leaq 0x1ac821(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movb 0x211(%rax), %al
movb %al, -0x2f(%rbp)
movzbl -0x2f(%rbp), %eax
cmpl $0x0, %eax
jne 0xf1991
movb $0x20, -0x2f(%rbp)
jmp 0xf19ab
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf19a9
jp 0xf19a9
movb $0x20, -0x2f(%rbp)
jmp 0xf19ab
movslq -0x20(%rbp), %rcx
leaq 0x1ac7da(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x20c(%rax), %xmm0
movss %xmm0, -0x2c(%rbp)
movss -0x2c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf19e3
jp 0xf19e3
jmp 0xf19ec
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
movss -0x2c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
ja 0xf1a15
movss -0x2c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x7d679(%rip), %xmm1    # 0x16f088
ucomisd %xmm1, %xmm0
jbe 0xf1a1d
xorps %xmm0, %xmm0
movss %xmm0, -0x2c(%rbp)
movslq -0x20(%rbp), %rcx
leaq 0x1ac768(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movb 0x210(%rax), %al
movb %al, -0x30(%rbp)
movzbl -0x30(%rbp), %eax
cmpl $0x0, %eax
jne 0xf1a4a
movb $0x20, -0x30(%rbp)
jmp 0xf1a64
movss -0x2c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf1a62
jp 0xf1a62
movb $0x20, -0x30(%rbp)
jmp 0xf1a64
movslq -0x20(%rbp), %rcx
leaq 0x1ac721(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
movslq -0x20(%rbp), %rcx
leaq 0x1ac702(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movslq -0x20(%rbp), %rcx
leaq 0x1ac6e3(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movl 0x18(%rax), %eax
movl %eax, -0x44(%rbp)
movslq -0x20(%rbp), %rcx
leaq 0x1ac6c8(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x20(%rax), %xmm0
movss %xmm0, -0x48(%rbp)
leaq 0x185fcd(%rip), %rax    # 0x277ab0
cmpq $0x20, (%rax)
je 0xf1af6
leaq 0x185fc0(%rip), %rax    # 0x277ab0
cmpq $0x10, (%rax)
jne 0xf1b23
movss -0x48(%rbp), %xmm0
movss 0x918e5(%rip), %xmm1    # 0x1833e8
ucomiss %xmm1, %xmm0
jbe 0xf1b10
xorps %xmm0, %xmm0
movss %xmm0, -0x48(%rbp)
xorps %xmm0, %xmm0
ucomiss -0x48(%rbp), %xmm0
jb 0xf1b21
xorps %xmm0, %xmm0
movss %xmm0, -0x48(%rbp)
jmp 0xf1b6b
movss -0x48(%rbp), %xmm0
movss 0x917f4(%rip), %xmm1    # 0x183324
ucomiss %xmm1, %xmm0
jbe 0xf1b3d
xorps %xmm0, %xmm0
movss %xmm0, -0x48(%rbp)
movss 0x9189f(%rip), %xmm0    # 0x1833e4
ucomiss -0x48(%rbp), %xmm0
jb 0xf1b53
xorps %xmm0, %xmm0
movss %xmm0, -0x48(%rbp)
xorps %xmm0, %xmm0
ucomiss -0x48(%rbp), %xmm0
jbe 0xf1b69
xorps %xmm0, %xmm0
subss -0x48(%rbp), %xmm0
movss %xmm0, -0x48(%rbp)
jmp 0xf1b6b
movslq -0x20(%rbp), %rcx
leaq 0x1ac61a(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x238(%rax), %xmm0
movss %xmm0, -0x4c(%rbp)
movslq -0x20(%rbp), %rcx
leaq 0x1ac5f8(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movss 0x1fc(%rax), %xmm0
movss %xmm0, -0x50(%rbp)
leaq 0x2a984a(%rip), %rax    # 0x39b400
movb $0x0, (%rax)
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf1c06
jp 0xf1c06
movss -0x2c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf1c06
jp 0xf1c06
leaq -0x62(%rbp), %rdi
leaq 0x988f9(%rip), %rsi     # 0x18a4e5
callq 0x9350
leaq -0x6c(%rbp), %rdi
leaq 0x989c3(%rip), %rsi     # 0x18a5bf
callq 0x9350
jmp 0xf1d02
leaq 0x185ea3(%rip), %rax    # 0x277ab0
cmpq $0x400000, (%rax)       # imm = 0x400000
jne 0xf1c3b
leaq -0x62(%rbp), %rdi
leaq 0x988c4(%rip), %rsi     # 0x18a4e5
callq 0x9350
leaq -0x6c(%rbp), %rdi
leaq 0x9898e(%rip), %rsi     # 0x18a5bf
callq 0x9350
jmp 0xf1d00
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf1c61
jp 0xf1c61
leaq -0x6c(%rbp), %rdi
leaq 0x98965(%rip), %rsi     # 0x18a5bf
callq 0x9350
jmp 0xf1c7c
leaq -0x6c(%rbp), %rdi
movss -0x28(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x9fe3d(%rip), %rsi     # 0x191ab2
movb $0x1, %al
callq 0x9060
movss -0x2c(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0xf1c9d
jp 0xf1c9d
leaq -0x62(%rbp), %rdi
leaq 0x988ef(%rip), %rsi     # 0x18a585
callq 0x9350
jmp 0xf1ce5
movss 0x9167b(%rip), %xmm0    # 0x183320
ucomiss -0x2c(%rbp), %xmm0
jbe 0xf1cc8
leaq -0x62(%rbp), %rdi
movss -0x2c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x9882c(%rip), %rsi     # 0x18a4eb
movb $0x1, %al
callq 0x9060
jmp 0xf1ce3
leaq -0x62(%rbp), %rdi
movss -0x2c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x98817(%rip), %rsi     # 0x18a4f3
movb $0x1, %al
callq 0x9060
jmp 0xf1ce5
movsbl -0x5f(%rbp), %eax
cmpl $0x20, %eax
jne 0xf1cf6
movb -0x30(%rbp), %al
movb %al, -0x5f(%rbp)
jmp 0xf1cfc
movb -0x30(%rbp), %al
movb %al, -0x5e(%rbp)
movb $0x0, -0x5d(%rbp)
jmp 0xf1d02
movb $0x0, -0x80(%rbp)
leaq 0x27a81b(%rip), %rax    # 0x36c528
cmpl $0x0, (%rax)
je 0xf1dbe
movslq -0x20(%rbp), %rcx
leaq 0x1ac46f(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movsd 0x38(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf1d4f
jp 0xf1d4f
leaq -0x80(%rbp), %rdi
leaq 0x987b4(%rip), %rsi     # 0x18a4fa
movb $0x0, %al
callq 0x9060
jmp 0xf1dbc
movl $0x80000000, %ecx       # imm = 0x80000000
leaq 0x185d55(%rip), %rax    # 0x277ab0
cmpq %rcx, (%rax)
jne 0xf1d8e
leaq -0x80(%rbp), %rdi
movslq -0x20(%rbp), %rcx
leaq 0x1ac421(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movsd 0x38(%rax), %xmm0
leaq 0x98782(%rip), %rsi     # 0x18a507
movb $0x1, %al
callq 0x9060
jmp 0xf1dba
leaq -0x80(%rbp), %rdi
movslq -0x20(%rbp), %rcx
leaq 0x1ac3f3(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movsd 0x38(%rax), %xmm0
leaq 0x98754(%rip), %rsi     # 0x18a507
movb $0x1, %al
callq 0x9060
jmp 0xf1dbc
jmp 0xf1e01
movss -0x4c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf1de4
jp 0xf1de4
leaq -0x80(%rbp), %rdi
leaq 0x98731(%rip), %rsi     # 0x18a50e
callq 0x9350
jmp 0xf1dff
leaq -0x80(%rbp), %rdi
movss -0x4c(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x98722(%rip), %rsi     # 0x18a51a
movb $0x1, %al
callq 0x9060
jmp 0xf1e01
movl -0x20(%rbp), %edi
callq 0x12d2b0
movb %al, -0x2d(%rbp)
movl -0x20(%rbp), %eax
leaq 0x279b5e(%rip), %rcx    # 0x36b974
cmpl (%rcx), %eax
jne 0xf1e20
movb $0x2a, -0x2e(%rbp)
jmp 0xf1e24
movb $0x20, -0x2e(%rbp)
movss -0x48(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf1e9c
jp 0xf1e9c
cmpl $0x63, -0x20(%rbp)
jle 0xf1e6d
movl -0x20(%rbp), %edx
movsbl -0x2e(%rbp), %ecx
movsbl -0x2d(%rbp), %r8d
leaq -0x6c(%rbp), %r9
leaq -0x62(%rbp), %rax
leaq 0x2a95a7(%rip), %rdi    # 0x39b400
leaq 0x986c2(%rip), %rsi     # 0x18a522
movq %rax, (%rsp)
movb $0x0, %al
callq 0x9060
jmp 0xf1e9a
movl -0x20(%rbp), %edx
movsbl -0x2e(%rbp), %ecx
movsbl -0x2d(%rbp), %r8d
leaq -0x6c(%rbp), %r9
leaq -0x62(%rbp), %rax
leaq 0x2a9578(%rip), %rdi    # 0x39b400
leaq 0x986aa(%rip), %rsi     # 0x18a539
movq %rax, (%rsp)
movb $0x0, %al
callq 0x9060
jmp 0xf1f12
cmpl $0x63, -0x20(%rbp)
jle 0xf1eda
movl -0x20(%rbp), %edx
movsbl -0x2e(%rbp), %ecx
movsbl -0x2d(%rbp), %r8d
leaq -0x6c(%rbp), %r9
leaq -0x62(%rbp), %rax
movss -0x48(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x2a953a(%rip), %rdi    # 0x39b400
leaq 0x98684(%rip), %rsi     # 0x18a551
movq %rax, (%rsp)
movb $0x1, %al
callq 0x9060
jmp 0xf1f10
movl -0x20(%rbp), %edx
movsbl -0x2e(%rbp), %ecx
movsbl -0x2d(%rbp), %r8d
leaq -0x6c(%rbp), %r9
leaq -0x62(%rbp), %rax
movss -0x48(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x2a9502(%rip), %rdi    # 0x39b400
leaq 0x98663(%rip), %rsi     # 0x18a568
movq %rax, (%rsp)
movb $0x1, %al
callq 0x9060
jmp 0xf1f12
leaq 0x27a607(%rip), %rax    # 0x36c520
cmpl $0x0, (%rax)
je 0xf204c
leaq 0x279a3b(%rip), %rax    # 0x36b964
cmpl $0x1, (%rax)
jg 0xf204c
movsd -0x38(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf1f5c
jp 0xf1f5c
leaq -0x190(%rbp), %rdi
leaq 0x98630(%rip), %rsi     # 0x18a580
movb $0x0, %al
callq 0x9060
jmp 0xf2039
movsd 0x9118c(%rip), %xmm0    # 0x1830f0
ucomisd -0x38(%rbp), %xmm0
jae 0xf1f7e
movsd -0x38(%rbp), %xmm0
movsd 0x91180(%rip), %xmm1    # 0x1830f8
ucomisd %xmm1, %xmm0
jb 0xf1f9d
leaq -0x190(%rbp), %rdi
movsd -0x38(%rbp), %xmm0
leaq 0x985f9(%rip), %rsi     # 0x18a58a
movb $0x1, %al
callq 0x9060
jmp 0xf2037
movsd 0x9115b(%rip), %xmm0    # 0x183100
ucomisd -0x38(%rbp), %xmm0
jae 0xf1fbf
movsd -0x38(%rbp), %xmm0
movsd 0x7f6b7(%rip), %xmm1    # 0x171670
ucomisd %xmm1, %xmm0
jb 0xf1fdb
leaq -0x190(%rbp), %rdi
movsd -0x38(%rbp), %xmm0
leaq 0x985b8(%rip), %rsi     # 0x18a58a
movb $0x1, %al
callq 0x9060
jmp 0xf2035
movsd 0x91125(%rip), %xmm0    # 0x183108
ucomisd -0x38(%rbp), %xmm0
jae 0xf1ffd
movsd -0x38(%rbp), %xmm0
movsd 0x7d139(%rip), %xmm1    # 0x16f130
ucomisd %xmm1, %xmm0
jb 0xf2019
leaq -0x190(%rbp), %rdi
movsd -0x38(%rbp), %xmm0
leaq 0x98581(%rip), %rsi     # 0x18a591
movb $0x1, %al
callq 0x9060
jmp 0xf2033
leaq -0x190(%rbp), %rdi
movsd -0x38(%rbp), %xmm0
leaq 0x9856c(%rip), %rsi     # 0x18a598
movb $0x1, %al
callq 0x9060
jmp 0xf2035
jmp 0xf2037
jmp 0xf2039
leaq -0x190(%rbp), %rsi
leaq 0x2a93b9(%rip), %rdi    # 0x39b400
callq 0x96a0
cmpl $0x0, 0x2df869(%rip)    # 0x3d18bc
je 0xf206f
cmpl $0x0, 0x2df85c(%rip)    # 0x3d18b8
je 0xf206f
leaq 0x2798ff(%rip), %rax    # 0x36b964
cmpl $0x2, (%rax)
jge 0xf206f
jmp 0xf2222
cmpl $0x0, 0x2df846(%rip)    # 0x3d18bc
jne 0xf235c
leaq 0x27a4a1(%rip), %rax    # 0x36c524
cmpl $0x0, (%rax)
je 0xf21b6
leaq 0x2798f1(%rip), %rax    # 0x36b984
cmpl $0x0, (%rax)
jne 0xf21b6
movsd -0x40(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xf20c6
jp 0xf20c6
leaq -0x190(%rbp), %rdi
leaq 0x984e5(%rip), %rsi     # 0x18a59f
movb $0x0, %al
callq 0x9060
jmp 0xf21a1
movsd 0x91042(%rip), %xmm0    # 0x183110
ucomisd -0x40(%rbp), %xmm0
jb 0xf20f5
leaq -0x190(%rbp), %rdi
cvttsd2si -0x40(%rbp), %rdx
leaq 0x984c1(%rip), %rsi     # 0x18a5aa
movb $0x0, %al
callq 0x9060
jmp 0xf219f
movsd 0x9101b(%rip), %xmm0    # 0x183118
ucomisd -0x40(%rbp), %xmm0
jb 0xf2120
leaq -0x190(%rbp), %rdi
movsd -0x40(%rbp), %xmm0
leaq 0x98499(%rip), %rsi     # 0x18a5b0
movb $0x1, %al
callq 0x9060
jmp 0xf219d
movsd -0x40(%rbp), %xmm0
movsd 0x7d083(%rip), %xmm1    # 0x16f1b0
ucomisd %xmm1, %xmm0
jb 0xf2150
leaq -0x190(%rbp), %rdi
cvttsd2si -0x40(%rbp), %rdx
leaq 0x98463(%rip), %rsi     # 0x18a5aa
movb $0x0, %al
callq 0x9060
jmp 0xf219b
movsd -0x40(%rbp), %xmm0
movsd 0x7cee3(%rip), %xmm1    # 0x16f040
ucomisd %xmm1, %xmm0
jb 0xf217f
leaq -0x190(%rbp), %rdi
movsd -0x40(%rbp), %xmm0
leaq 0x9843a(%rip), %rsi     # 0x18a5b0
movb $0x1, %al
callq 0x9060
jmp 0xf2199
leaq -0x190(%rbp), %rdi
movsd -0x40(%rbp), %xmm0
leaq 0x98425(%rip), %rsi     # 0x18a5b7
movb $0x1, %al
callq 0x9060
jmp 0xf219b
jmp 0xf219d
jmp 0xf219f
jmp 0xf21a1
leaq -0x190(%rbp), %rsi
leaq 0x2a9251(%rip), %rdi    # 0x39b400
callq 0x96a0
jmp 0xf21cc
leaq 0x27a35f(%rip), %rax    # 0x36c51c
cmpl $0x0, (%rax)
je 0xf21ca
movl -0x44(%rbp), %edi
callq 0xf0fc0
jmp 0xf21cc
leaq 0x2797b1(%rip), %rax    # 0x36b984
cmpl $0x0, (%rax)
je 0xf21da
jmp 0xf2220
leaq 0x27a3bb(%rip), %rax    # 0x36c59c
cmpl $0x0, (%rax)
jne 0xf21f2
leaq 0x27a33b(%rip), %rax    # 0x36c528
cmpl $0x0, (%rax)
je 0xf221e
leaq -0x190(%rbp), %rdi
leaq -0x80(%rbp), %rdx
leaq 0x9e928(%rip), %rsi     # 0x190b2c
movb $0x0, %al
callq 0x9060
leaq -0x190(%rbp), %rsi
leaq 0x2a91e7(%rip), %rdi    # 0x39b400
callq 0x96a0
jmp 0xf2220
jmp 0xf2222
leaq 0x27a377(%rip), %rax    # 0x36c5a0
cmpl $0x0, (%rax)
je 0xf235a
movss -0x50(%rbp), %xmm0
cvtss2sd %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
jb 0xf225e
leaq -0x190(%rbp), %rdi
leaq 0x9836c(%rip), %rsi     # 0x18a5be
movb $0x0, %al
callq 0x9060
jmp 0xf2347
movss -0x50(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x90db1(%rip), %xmm1    # 0x183020
ucomisd %xmm1, %xmm0
jne 0xf2291
jp 0xf2291
leaq -0x190(%rbp), %rdi
leaq 0x98340(%rip), %rsi     # 0x18a5c5
movb $0x0, %al
callq 0x9060
jmp 0xf2345
movss -0x50(%rbp), %xmm0
movss 0x9114e(%rip), %xmm1    # 0x1833ec
ucomiss %xmm1, %xmm0
jb 0xf22bd
leaq -0x190(%rbp), %rdi
leaq 0x9831b(%rip), %rsi     # 0x18a5cc
movb $0x0, %al
callq 0x9060
jmp 0xf2343
movss -0x50(%rbp), %xmm0
movss 0x9103e(%rip), %xmm1    # 0x183308
ucomiss %xmm1, %xmm0
jb 0xf22ef
leaq -0x190(%rbp), %rdi
movss -0x50(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x982ed(%rip), %rsi     # 0x18a5d3
movb $0x1, %al
callq 0x9060
jmp 0xf2341
movss -0x50(%rbp), %xmm0
movss 0x91028(%rip), %xmm1    # 0x183324
ucomiss %xmm1, %xmm0
jb 0xf2321
leaq -0x190(%rbp), %rdi
movss -0x50(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x9f799(%rip), %rsi     # 0x191ab1
movb $0x1, %al
callq 0x9060
jmp 0xf233f
leaq -0x190(%rbp), %rdi
movss -0x50(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x982a2(%rip), %rsi     # 0x18a5da
movb $0x1, %al
callq 0x9060
jmp 0xf2341
jmp 0xf2343
jmp 0xf2345
jmp 0xf2347
leaq -0x190(%rbp), %rsi
leaq 0x2a90ab(%rip), %rdi    # 0x39b400
callq 0x96a0
jmp 0xf237e
leaq 0x27a1b9(%rip), %rax    # 0x36c51c
cmpl $0x0, (%rax)
je 0xf237c
leaq 0x27a1b1(%rip), %rax    # 0x36c520
cmpl $0x0, (%rax)
jne 0xf237c
movl -0x44(%rbp), %edi
callq 0xf0fc0
jmp 0xf237e
jmp 0xf2380
leaq 0x2795dd(%rip), %rax    # 0x36b964
cmpl $0x1, (%rax)
jle 0xf23d7
movl -0x24(%rbp), %eax
movl -0xc(%rbp), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
je 0xf23a7
movl -0x4(%rbp), %eax
leaq 0x1855e5(%rip), %rcx    # 0x277988
cmpl (%rcx), %eax
jl 0xf23d5
movl -0x8(%rbp), %eax
cmpl -0x10(%rbp), %eax
jl 0xf23b1
jmp 0xf23d3
leaq 0x2795d0(%rip), %rax    # 0x36b988
movzbl (%rax), %eax
cmpl $0x49, %eax
jne 0xf23c2
jmp 0xf23d1
movl -0x10(%rbp), %eax
movl %eax, -0x8(%rbp)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0xf23d3
jmp 0xf23d5
jmp 0xf23d7
movslq -0x20(%rbp), %rcx
leaq 0x1abdae(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
cmpb $0x0, 0x1(%rax)
je 0xf2416
movl -0x4(%rbp), %edi
movl %edi, %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %esi
movl $0x9, %edx
leaq 0x2a8ff4(%rip), %rcx    # 0x39b400
callq 0x10ee0
jmp 0xf24bf
movslq -0x20(%rbp), %rcx
leaq 0x1abd6f(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0xf2454
movl -0x4(%rbp), %edi
movl %edi, %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %esi
movl $0xc, %edx
leaq 0x2a8fb3(%rip), %rcx    # 0x39b400
callq 0x10ee0
jmp 0xf24bd
movslq -0x20(%rbp), %rcx
leaq 0x1abd31(%rip), %rax    # 0x29e190
imulq $0x348, %rcx, %rcx      # imm = 0x348
addq %rcx, %rax
cmpl $0x0, 0x218(%rax)
jg 0xf2493
movl -0x4(%rbp), %edi
movl %edi, %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %esi
movl $0xe, %edx
leaq 0x2a8f74(%rip), %rcx    # 0x39b400
callq 0x10ee0
jmp 0xf24bb
movl -0x4(%rbp), %edi
movl %edi, %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %esi
movl $0xa, %edx
leaq 0x2a8f53(%rip), %rcx    # 0x39b400
callq 0x10ee0
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0xf24bd
jmp 0xf24bf
movl -0x4(%rbp), %ecx
addl $0x1, %ecx
leaq 0x1abc30(%rip), %rax    # 0x29e0fc
movl %ecx, (%rax)
leaq 0x2a8f2b(%rip), %rdi    # 0x39b400
callq 0x9120
movl %eax, -0x84(%rbp)
movl -0x84(%rbp), %eax
cmpl -0x88(%rbp), %eax
jle 0xf24fa
movl -0x84(%rbp), %eax
movl %eax, -0x88(%rbp)
leaq 0x2ab52f(%rip), %rax    # 0x39da30
cmpb $0x0, (%rax)
je 0xf2512
movl $0x2, -0x194(%rbp)
jmp 0xf251c
movl $0x1, -0x194(%rbp)
movl -0x194(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x194(%rbp)
movl -0x4(%rbp), %eax
leaq 0x1854b7(%rip), %rcx    # 0x2779ec
movl (%rcx), %ecx
subl -0x194(%rbp), %ecx
cmpl %ecx, %eax
jl 0xf255a
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
movl $0xf, %edx
leaq 0x9808e(%rip), %rcx     # 0x18a5e1
callq 0x10ee0
jmp 0xf256a
jmp 0xf255c
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0xf1475
leaq 0x18553f(%rip), %rax    # 0x277ab0
cmpq $0x1, (%rax)
jne 0xf25f0
leaq 0x187c36(%rip), %rax    # 0x27a1b4
cmpl $0x0, (%rax)
jne 0xf25f0
leaq 0x18555a(%rip), %rax    # 0x277ae4
movzbl (%rax), %eax
cmpl $0x0, %eax
jne 0xf25f0
leaq 0x187c0f(%rip), %rax    # 0x27a1a8
cmpl $0x0, (%rax)
je 0xf25f0
leaq 0x187c13(%rip), %rax    # 0x27a1b8
cmpl $0x0, (%rax)
je 0xf25ee
leaq 0x279ec3(%rip), %rax    # 0x36c474
cmpl $0x0, (%rax)
je 0xf25ee
cmpl $0x0, -0x54(%rbp)
jne 0xf25ee
cmpl $0x2, -0x58(%rbp)
jle 0xf25ee
leaq 0x187beb(%rip), %rax    # 0x27a1b4
movl $0x53, (%rax)
callq 0x63c20
leaq 0x279ffd(%rip), %rax    # 0x36c5d8
movl $0x0, (%rax)
leaq 0x279ff4(%rip), %rax    # 0x36c5dc
movl $0x0, (%rax)
jmp 0xf25f0
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
nopl (%rax)