// File: jkingan[P]ladyheather/heathgps.cpp
// Function: primary_misc()
void primary_misc()
{
   //  This routine is called once a time stamp message has been received.
   //  It handles time conversions, event handling, etc.
   //

   last_misc_second = seconds;

   if(time_flags & TFLAGS_UTC) {  // receiver time is in UTC
      jd_gps = jd_utc + jtime(0,0,utc_offset,0.0);
   }
   else {  // receiver time is in GPS - convert GPS time to UTC time
      jd_utc -= jtime(0,0,utc_offset,0.0);
   }

   jd_tt = jd_gps + utc_delta_t() - jtime(0,0,0,((double) utc_offset)+TSX_TWEAK);  // TT is 51.184 seconds ahead of GPS

   jd_local = jd_utc + time_zone() + jtime(0,0,0,TSX_TWEAK);  // local time (UTC adjusted for time zone)
   gregorian(0, jd_local);
   this_year = g_year;  // the current year in the local time zone

   have_time = 1;
   if(have_year != year) {    // it's the first valid year we have seen or year has changed
      have_year = year;
      init_dsm(this_year);    // tweek month tables for possible leap year
      calc_dst_times(this_year, dst_list[dst_area]);  // find daylight savings change times
      calc_dst_times(this_year, dst_list[dst_area]);  // do it again to get things right if starting up near DST switch time
   }                                       // and recalculate the seasons, etc

   ticker ^= 1;               // used to flash the alarm on the screen
   adjust_tz(10);             // tweak pri_xxxx time variables for time zone and daylight savings time

   if(hours != last_hours) {
      dst_ofs = dst_offset();
      jd_local = jd_utc + time_zone() + jtime(0,0,0,TSX_TWEAK);
      last_hours = hours;
   }

   have_sun_el = 0;
   eclipsed = 0;
   if((lat != 0.0) || (lon != 0.0)) {
      sun_el = sun_posn(jd_utc, 0);   // calculate sun position
      set_sat_azel(SUN_PRN, (float) sun_az, (float) sun_el);
      have_sun_el = 1;
      log_sun_posn();

      moon_posn(jd_tt);               // calculate moon position
      if(need_posns > 0) --need_posns;
      eclipse();
   }

   if(realtime_sun || need_sunrise || ((pri_minutes == 00) && (pri_seconds == SUN_SECOND))) {  // update sunrise time
      if(have_utc_ofs) {
         if(do_moonrise) calc_moonrise();
         else            calc_sunrise(0.0, 20);
         if((lat != 0.0) || (lon != 0.0) || NO_SATS) {
            need_sunrise = 0;
         }
      }
   }

   moon_info(jd_utc);       // calculate moon phase, etc

   #ifdef SAT_TRAILS
      update_sat_trails();  // update sat az/el position array
   #endif


   if(set_time_minutely) {  // we do it a xx:xx:06 local time every minute
      if(pri_seconds == SYNC_SECOND) {
         need_time_set();
      }
   }
   else if(set_time_hourly) {  // we do it a xx:05:06 local time every hour
      if((pri_minutes == SYNC_MINUTE) && (pri_seconds == SYNC_SECOND)) {
         need_time_set();
      }
   }
   else if(set_time_daily) {  // we do it a 4:05:06 local time every day
      if((pri_hours == SYNC_HOUR) && (pri_minutes == SYNC_MINUTE) && (pri_seconds == SYNC_SECOND)) {
         need_time_set();
      }
   }

   set_cpu_clock();           // set system clock to receiver time

   // Apparently some X11 libs have an internal 32 bit counter that
   // causes a "resource temporarily unavailable" exit when it overflows.
   // Here we periodically re-init the screen in an attempt to prevent
   // this from happening.  The counter overflow seems to happen after
   // several days to weeks so we re-init the screen once a day.
   // Also, we rebuild the lla scattergram plot from plot queue data
   // so it remains "fresh".  The screen re-init is only done if the keyboard
   // has been idle for over REINIT_IDLE_TIME seconds.

   if(reinit_jd == 0.0) reinit_jd = (jd_utc + REINIT_INTERVAL);
   if((jd_utc > reinit_jd) && (idle_time >= REINIT_IDLE_TIME) && (pri_seconds == REINIT_SECOND)) {
      reinit_jd = (jd_utc + REINIT_INTERVAL);
      #ifdef USE_X11
         init_screen(9101);
         need_redraw = 9101;
      #endif

      rebuild_lla_plot(0);  // keep LLA plot fresh
   }

   #ifdef GREET_STUFF
      if(new_moon_info || (pri_day != last_day)) {    // calculate new moon info for the month
         if(new_moon_info || (pri_seconds == MOON_STUFF)) {
            calc_moons(jd_local, 10);
            last_day = pri_day;
            new_moon_info = 0;

            if(MAX_AVG_COUNT == 0.0F) {  // keep signal level info fresh
               freshen_sig_info();       // restart signal averaging from the current averages
            }
         }
      }
   #endif

   greet_on = 1;        // it's now OK to calculate greetings
   get_delta_t();       // try to get delta_t from external file deltat.dat
   check_end_times();   // exit program at preset time

   silly_clocks();      // do alarm clock and cuckoo clock
   grav_force(jd_utc);  // calculate gravity and earth tides
   show_satinfo();      // show satellite info
   dump_prn_info();     // write sat PRN az/el/sig level file if open
   draw_maps();         // draw maps and analog watch

   echo_nmea();         // if NMEA echo is enabled sent out NMEA formatted data

   if(time_flags != last_time_flags) {     // redo big clock if time settings have changed
      sync_log_file();  // time reference changed,  note it in the log file
      last_time_flags = time_flags;
   }

   if(set_gps_mode || set_utc_mode) {
      if(luxor) {
         if(set_gps_mode) time_flags |= TFLAGS_UTC;
         else if(set_utc_mode) time_flags &= (~TFLAGS_UTC);
      }

      if(time_flags & TFLAGS_UTC) {  // we are in UTC mode
         if(set_gps_mode) set_timing_mode(TMODE_GPS, 10);
         set_utc_mode = set_gps_mode = 0;
      }
      else { // we are in GPS mode
         if(set_utc_mode) set_timing_mode(TMODE_UTC, 11);
         set_utc_mode = set_gps_mode = 0;
      }
   }

   show_time_info();   // draw primary timing data
   if(configed_mode == RCVR_MODE_DGPS) {   // secondary timing not available in DGPS mode
      refresh_page();
   }

   if(user_fix_set) {  // command line option enabled fix map display
      config_fix_display();
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
leaq 0x2efa29(%rip), %rax    # 0x36c6a8
movl (%rax), %eax
movl %eax, 0x14c6d9(%rip)    # 0x1c9360
leaq 0x2ef9f6(%rip), %rax    # 0x36c684
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x7ccd6
leaq 0x2efa71(%rip), %rax    # 0x36c710
movsd (%rax), %xmm0
movsd %xmm0, -0x8(%rbp)
leaq 0x2efc59(%rip), %rax    # 0x36c908
movl (%rax), %edx
xorl %esi, %esi
xorps %xmm0, %xmm0
movl %esi, %edi
callq 0x122210
movaps %xmm0, %xmm1
movsd -0x8(%rbp), %xmm0
addsd %xmm1, %xmm0
leaq 0x2efa48(%rip), %rax    # 0x36c718
movsd %xmm0, (%rax)
jmp 0x7cd08
leaq 0x2efc2b(%rip), %rax    # 0x36c908
movl (%rax), %edx
xorl %esi, %esi
xorps %xmm0, %xmm0
movl %esi, %edi
callq 0x122210
movaps %xmm0, %xmm1
leaq 0x2efa1b(%rip), %rax    # 0x36c710
movsd (%rax), %xmm0
subsd %xmm1, %xmm0
leaq 0x2efa0c(%rip), %rax    # 0x36c710
movsd %xmm0, (%rax)
leaq 0x2efa09(%rip), %rax    # 0x36c718
movsd (%rax), %xmm0
movsd %xmm0, -0x28(%rbp)
callq 0x119920
movaps %xmm0, %xmm1
movsd -0x28(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
leaq 0x2efbd3(%rip), %rax    # 0x36c908
cvtsi2sdl (%rax), %xmm0
leaq 0x2f0368(%rip), %rax    # 0x36d0a8
movsd (%rax), %xmm1
movsd 0xf22e4(%rip), %xmm2    # 0x16f030
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
xorl %edx, %edx
movl %edx, %edi
movl %edx, %esi
callq 0x122210
movaps %xmm0, %xmm1
movsd -0x20(%rbp), %xmm0
subsd %xmm1, %xmm0
leaq 0x2ef9ae(%rip), %rax    # 0x36c720
movsd %xmm0, (%rax)
leaq 0x2ef993(%rip), %rax    # 0x36c710
movsd (%rax), %xmm0
movsd %xmm0, -0x18(%rbp)
callq 0x133f80
movaps %xmm0, %xmm1
movsd -0x18(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x10(%rbp)
leaq 0x2f0305(%rip), %rax    # 0x36d0a8
movsd (%rax), %xmm0
movsd 0xf2281(%rip), %xmm1    # 0x16f030
divsd %xmm1, %xmm0
xorl %edx, %edx
movl %edx, %edi
movl %edx, %esi
callq 0x122210
movaps %xmm0, %xmm1
movsd -0x10(%rbp), %xmm0
addsd %xmm1, %xmm0
leaq 0x2ef957(%rip), %rax    # 0x36c728
movsd %xmm0, (%rax)
leaq 0x2ef94c(%rip), %rax    # 0x36c728
movsd (%rax), %xmm0
xorl %edi, %edi
callq 0x11dd00
leaq 0x2efa96(%rip), %rax    # 0x36c884
movl (%rax), %ecx
leaq 0x2ef909(%rip), %rax    # 0x36c700
movl %ecx, (%rax)
leaq 0x2212bc(%rip), %rax    # 0x29e0bc
movb $0x1, (%rax)
leaq 0x2212b6(%rip), %rax    # 0x29e0c0
movl (%rax), %eax
leaq 0x2ef8a9(%rip), %rcx    # 0x36c6bc
cmpl (%rcx), %eax
je 0x7ce7d
leaq 0x2ef89e(%rip), %rax    # 0x36c6bc
movl (%rax), %ecx
leaq 0x221299(%rip), %rax    # 0x29e0c0
movl %ecx, (%rax)
leaq 0x2ef8d0(%rip), %rax    # 0x36c700
movl (%rax), %edi
callq 0x132930
leaq 0x2ef8c2(%rip), %rax    # 0x36c700
movl (%rax), %edi
leaq 0x2efc35(%rip), %rax    # 0x36ca7c
movslq (%rax), %rcx
leaq 0x14c9df(%rip), %rax    # 0x1c9830
movq (%rax,%rcx,8), %rsi
callq 0x1339f0
leaq 0x2ef89f(%rip), %rax    # 0x36c700
movl (%rax), %edi
leaq 0x2efc12(%rip), %rax    # 0x36ca7c
movslq (%rax), %rcx
leaq 0x14c9bc(%rip), %rax    # 0x1c9830
movq (%rax,%rcx,8), %rsi
callq 0x1339f0
leaq 0x2f023c(%rip), %rax    # 0x36d0c0
movzbl (%rax), %eax
xorl $0x1, %eax
movb %al, %cl
leaq 0x2f022d(%rip), %rax    # 0x36d0c0
movb %cl, (%rax)
movl $0xa, %edi
callq 0x1355f0
leaq 0x2ef80a(%rip), %rax    # 0x36c6b0
movl (%rax), %eax
leaq 0x2efa31(%rip), %rcx    # 0x36c8e0
cmpl (%rcx), %eax
je 0x7cf38
callq 0x133d80
movl %eax, %ecx
leaq 0x2efbbb(%rip), %rax    # 0x36ca80
movl %ecx, (%rax)
leaq 0x2ef842(%rip), %rax    # 0x36c710
movsd (%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
callq 0x133f80
movaps %xmm0, %xmm1
movsd -0x38(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
leaq 0x2f01b4(%rip), %rax    # 0x36d0a8
movsd (%rax), %xmm0
movsd 0xf2130(%rip), %xmm1    # 0x16f030
divsd %xmm1, %xmm0
xorl %edx, %edx
movl %edx, %edi
movl %edx, %esi
callq 0x122210
movaps %xmm0, %xmm1
movsd -0x30(%rbp), %xmm0
addsd %xmm1, %xmm0
leaq 0x2ef806(%rip), %rax    # 0x36c728
movsd %xmm0, (%rax)
leaq 0x2ef783(%rip), %rax    # 0x36c6b0
movl (%rax), %ecx
leaq 0x2ef9aa(%rip), %rax    # 0x36c8e0
movl %ecx, (%rax)
leaq 0x2efa69(%rip), %rax    # 0x36c9a8
movl $0x0, (%rax)
leaq 0x2efaa4(%rip), %rax    # 0x36c9f0
movl $0x0, (%rax)
leaq 0x2ef257(%rip), %rax    # 0x36c1b0
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x7cf83
jp 0x7cf83
leaq 0x2ef249(%rip), %rax    # 0x36c1b8
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x7cf83
jp 0x7cf83
jmp 0x7d013
leaq 0x2ef786(%rip), %rax    # 0x36c710
movsd (%rax), %xmm0
xorl %edi, %edi
callq 0x13cd20
leaq 0x2ef9fc(%rip), %rax    # 0x36c998
movsd %xmm0, (%rax)
leaq 0x2efa09(%rip), %rax    # 0x36c9b0
movsd (%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
leaq 0x2ef9e2(%rip), %rax    # 0x36c998
movsd (%rax), %xmm1
cvtsd2ss %xmm1, %xmm1
movl $0x3e8, %edi            # imm = 0x3E8
callq 0x7d450
leaq 0x2ef9d9(%rip), %rax    # 0x36c9a8
movl $0x1, (%rax)
callq 0x151220
leaq 0x2ef73f(%rip), %rax    # 0x36c720
movsd (%rax), %xmm0
callq 0x13b5b0
leaq 0x1fd5cf(%rip), %rax    # 0x27a5c0
movzbl (%rax), %eax
cmpl $0x0, %eax
jle 0x7d00e
leaq 0x1fd5c0(%rip), %rax    # 0x27a5c0
movb (%rax), %cl
addb $-0x1, %cl
leaq 0x1fd5b4(%rip), %rax    # 0x27a5c0
movb %cl, (%rax)
callq 0x7d850
leaq 0x2ef77a(%rip), %rax    # 0x36c794
cmpl $0x0, (%rax)
jne 0x7d04b
leaq 0x2ef76a(%rip), %rax    # 0x36c790
cmpl $0x0, (%rax)
jne 0x7d04b
leaq 0x2ef6b2(%rip), %rax    # 0x36c6e4
cmpl $0x0, (%rax)
jne 0x7d106
leaq 0x2ef69e(%rip), %rax    # 0x36c6e0
cmpl $0x1a, (%rax)
jne 0x7d106
leaq 0x2ef4aa(%rip), %rax    # 0x36c4fc
cmpl $0x0, (%rax)
je 0x7d104
leaq 0x2ef7fe(%rip), %rax    # 0x36c860
cmpl $0x0, (%rax)
je 0x7d06e
callq 0x13ddb0
jmp 0x7d07b
xorps %xmm0, %xmm0
movl $0x14, %edi
callq 0x13e3b0
leaq 0x2ef12e(%rip), %rax    # 0x36c1b0
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x7d0f5
jp 0x7d0f5
leaq 0x2ef120(%rip), %rax    # 0x36c1b8
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x7d0f5
jp 0x7d0f5
leaq 0x1faa02(%rip), %rcx    # 0x277ab0
movabsq $0x105b8b0400, %rax     # imm = 0x105B8B0400
andq (%rcx), %rax
cmpq $0x0, %rax
jne 0x7d0f5
leaq 0x1fd0e8(%rip), %rax    # 0x27a1b0
cmpl $0x0, (%rax)
je 0x7d0d9
leaq 0x2ef4d0(%rip), %rax    # 0x36c5a4
cmpl $0x0, (%rax)
je 0x7d0f5
leaq 0x1fa9d0(%rip), %rax    # 0x277ab0
cmpq $0x400000, (%rax)       # imm = 0x400000
jne 0x7d102
leaq 0x2efaa4(%rip), %rax    # 0x36cb94
cmpl $0x0, (%rax)
jne 0x7d102
leaq 0x2ef694(%rip), %rax    # 0x36c790
movl $0x0, (%rax)
jmp 0x7d104
jmp 0x7d106
leaq 0x2ef603(%rip), %rax    # 0x36c710
movsd (%rax), %xmm0
callq 0x13a910
callq 0x150910
leaq 0x2eff72(%rip), %rax    # 0x36d094
cmpb $0x0, (%rax)
je 0x7d13a
leaq 0x2ef5b2(%rip), %rax    # 0x36c6e0
cmpl $0x6, (%rax)
jne 0x7d138
callq 0x138980
jmp 0x7d1a0
leaq 0x2eff52(%rip), %rax    # 0x36d093
cmpb $0x0, (%rax)
je 0x7d165
leaq 0x2ef597(%rip), %rax    # 0x36c6e4
cmpl $0x5, (%rax)
jne 0x7d163
leaq 0x2ef587(%rip), %rax    # 0x36c6e0
cmpl $0x6, (%rax)
jne 0x7d163
callq 0x138980
jmp 0x7d19e
leaq 0x2eff26(%rip), %rax    # 0x36d092
cmpb $0x0, (%rax)
je 0x7d19c
leaq 0x2ef570(%rip), %rax    # 0x36c6e8
cmpl $0x4, (%rax)
jne 0x7d19a
leaq 0x2ef560(%rip), %rax    # 0x36c6e4
cmpl $0x5, (%rax)
jne 0x7d19a
leaq 0x2ef550(%rip), %rax    # 0x36c6e0
cmpl $0x6, (%rax)
jne 0x7d19a
callq 0x138980
jmp 0x7d19c
jmp 0x7d19e
jmp 0x7d1a0
callq 0xac70
leaq 0x2ef7bc(%rip), %rax    # 0x36c968
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x7d1d9
jp 0x7d1d9
movsd 0xf1ea5(%rip), %xmm0    # 0x16f068
leaq 0x2ef546(%rip), %rax    # 0x36c710
addsd (%rax), %xmm0
leaq 0x2ef793(%rip), %rax    # 0x36c968
movsd %xmm0, (%rax)
leaq 0x2ef530(%rip), %rax    # 0x36c710
movsd (%rax), %xmm0
leaq 0x2ef77d(%rip), %rax    # 0x36c968
ucomisd (%rax), %xmm0
jbe 0x7d252
leaq 0x2ef588(%rip), %rax    # 0x36c780
movsd (%rax), %xmm0
movsd 0xf1ebc(%rip), %xmm1    # 0x16f0c0
ucomisd %xmm1, %xmm0
jb 0x7d252
leaq 0x2ef4cf(%rip), %rax    # 0x36c6e0
cmpl $0x36, (%rax)
jne 0x7d252
movsd 0xf1e4a(%rip), %xmm0    # 0x16f068
leaq 0x2ef4eb(%rip), %rax    # 0x36c710
addsd (%rax), %xmm0
leaq 0x2ef738(%rip), %rax    # 0x36c968
movsd %xmm0, (%rax)
movl $0x238d, %edi           # imm = 0x238D
callq 0xd430
leaq 0x1fa7df(%rip), %rax    # 0x277a24
movl $0x238d, (%rax)         # imm = 0x238D
xorl %edi, %edi
callq 0x15b8f0
leaq 0x2ef717(%rip), %rax    # 0x36c970
cmpl $0x0, (%rax)
jne 0x7d272
leaq 0x2ef487(%rip), %rax    # 0x36c6ec
movl (%rax), %eax
leaq 0x2ef6f2(%rip), %rcx    # 0x36c960
cmpl (%rcx), %eax
je 0x7d2c5
leaq 0x2ef6f7(%rip), %rax    # 0x36c970
cmpl $0x0, (%rax)
jne 0x7d28a
leaq 0x2ef45b(%rip), %rax    # 0x36c6e0
cmpl $0x30, (%rax)
jne 0x7d2c3
leaq 0x2ef497(%rip), %rax    # 0x36c728
movsd (%rax), %xmm0
movl $0xa, %edi
callq 0x13f470
leaq 0x2ef446(%rip), %rax    # 0x36c6ec
movl (%rax), %ecx
leaq 0x2ef6b1(%rip), %rax    # 0x36c960
movl %ecx, (%rax)
leaq 0x2ef6b8(%rip), %rax    # 0x36c970
movl $0x0, (%rax)
callq 0x1576c0
jmp 0x7d2c5
leaq 0x1fa708(%rip), %rax    # 0x2779d4
movl $0x1, (%rax)
callq 0x136800
callq 0x136160
callq 0x137780
leaq 0x2ef428(%rip), %rax    # 0x36c710
movsd (%rax), %xmm0
callq 0x146e00
callq 0x7da90
callq 0x7e550
callq 0x154ea0
callq 0x7caf0
leaq 0x2ef378(%rip), %rax    # 0x36c684
movl (%rax), %eax
leaq 0x2ef373(%rip), %rcx    # 0x36c688
cmpl (%rcx), %eax
je 0x7d330
callq 0x10d630
leaq 0x2ef35f(%rip), %rax    # 0x36c684
movl (%rax), %ecx
leaq 0x2ef35a(%rip), %rax    # 0x36c688
movl %ecx, (%rax)
leaq 0x2ef35d(%rip), %rax    # 0x36c694
cmpl $0x0, (%rax)
jne 0x7d34c
leaq 0x2ef34d(%rip), %rax    # 0x36c690
cmpl $0x0, (%rax)
je 0x7d41c
leaq 0x220dcb(%rip), %rax    # 0x29e11e
cmpb $0x0, (%rax)
je 0x7d3a0
leaq 0x2ef335(%rip), %rax    # 0x36c694
cmpl $0x0, (%rax)
je 0x7d37b
leaq 0x2ef319(%rip), %rax    # 0x36c684
movl (%rax), %ecx
orl $0x1, %ecx
leaq 0x2ef30d(%rip), %rax    # 0x36c684
movl %ecx, (%rax)
jmp 0x7d39e
leaq 0x2ef30e(%rip), %rax    # 0x36c690
cmpl $0x0, (%rax)
je 0x7d39c
leaq 0x2ef2f6(%rip), %rax    # 0x36c684
movl (%rax), %ecx
andl $-0x2, %ecx
leaq 0x2ef2ea(%rip), %rax    # 0x36c684
movl %ecx, (%rax)
jmp 0x7d39e
jmp 0x7d3a0
leaq 0x2ef2dd(%rip), %rax    # 0x36c684
movl (%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x7d3e5
leaq 0x2ef2dc(%rip), %rax    # 0x36c694
cmpl $0x0, (%rax)
je 0x7d3c9
xorl %edi, %edi
movl $0xa, %esi
callq 0x7e6c0
leaq 0x2ef2c4(%rip), %rax    # 0x36c694
movl $0x0, (%rax)
leaq 0x2ef2b3(%rip), %rax    # 0x36c690
movl $0x0, (%rax)
jmp 0x7d41a
leaq 0x2ef2a4(%rip), %rax    # 0x36c690
cmpl $0x0, (%rax)
je 0x7d400
movl $0x3, %edi
movl $0xb, %esi
callq 0x7e6c0
leaq 0x2ef28d(%rip), %rax    # 0x36c694
movl $0x0, (%rax)
leaq 0x2ef27c(%rip), %rax    # 0x36c690
movl $0x0, (%rax)
jmp 0x7d41c
callq 0x7eeb0
leaq 0x2eee8a(%rip), %rax    # 0x36c2b2
movzbl (%rax), %eax
cmpl $0x5, %eax
jne 0x7d435
callq 0xb0d0
leaq 0x31d079(%rip), %rax    # 0x39a4b5
cmpb $0x0, (%rax)
je 0x7d446
callq 0x538f0
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)