// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathgps.cpp
// Function: show_time_info()
void show_time_info()
{
int color;
u08 alarm_state;
long sec;
int row;
int zoomed;
unsigned week;
int flag;

   zoomed = zoom_screen;
   if(1 && (!SMALL_SCREEN) && ((zoom_screen == 'S') || (zoom_screen == 'L') || (zoom_screen == 'M'))) zoomed = 0;
   if(zoom_screen == 'I') zoomed = 0;

   if((text_mode && first_key) || zoomed || luxor) { // screen in use for help/edit info
      time_set_char = ' ';
      return;
   }

   if(alarm_time || alarm_date || egg_timer) alarm_state = ALARM_CHAR;
   else if(dump_time || dump_date || dump_timer || log_time || log_date || log_timer) {
      if(single_dump || single_log) alarm_state = '!';         //!!!!! need separate flags for screen and log dumps
      else                          alarm_state = DUMP_CHAR;
   }
   else if(cuckoo) {
      if(singing_clock) alarm_state = SONG_CHAR;
      else if(ships_clock) alarm_state = '#'; // SONG_CHAR;
      else alarm_state = CHIME_CHAR;
   }
   else alarm_state = ' ';

   if(time_set_char != ' ') {
      sprintf(out, "Time synced %c  ", alarm_state);
      vidstr(TIME_ROW+0, TIME_COL, GREEN, out);
   }
   else if(time_flags & TFLAGS_INVALID) {
      sprintf(out, "Time invalid %c ", alarm_state);
      vidstr(TIME_ROW+0, TIME_COL, RED, out);
      time_color = RED;
   }
   else if(time_flags & TFLAGS_RTC)     {
      sprintf(out, "RTC time %c     ", alarm_state);
      vidstr(TIME_ROW+0, TIME_COL, YELLOW, out);
      time_color = RED;
   }
   else if((time_flags & TFLAGS_NO_UTC_OFS) || !have_utc_ofs) {
      sprintf(out, "NO UTC offset %c", alarm_state);
      if(time_flags & TFLAGS_UTC) vidstr(TIME_ROW+0, TIME_COL, RED, out);
      else                        vidstr(TIME_ROW+0, TIME_COL, YELLOW, out);
      time_color = YELLOW;
   }
   else if((time_flags & TFLAGS_GNSS_MASK) && (rcvr_type == ESIP_RCVR)) {
      if((time_flags & TFLAGS_GNSS_MASK) == TFLAGS_GLONASS)      sprintf(out, "UTC(SU) TIME %c ", alarm_state);
      else if((time_flags & TFLAGS_GNSS_MASK) == TFLAGS_BEIDOU)  sprintf(out, "BEIDOU TIME %c  ", alarm_state);
      else if((time_flags & TFLAGS_GNSS_MASK) == TFLAGS_GALILEO) sprintf(out, "GALILEO TIME %c ", alarm_state);
      else                                                       sprintf(out, "UNKNOWN TIME %c ", alarm_state);
      time_color = YELLOW;
      vidstr(TIME_ROW+0, TIME_COL, time_color, out);
   }
   else if((time_flags & TFLAGS_GNSS_MASK) && (saw_icm || ACU_GG || ACU_360 || (res_t == RES_T_360))) {
      if((time_flags & TFLAGS_GNSS_MASK) == 0x20)      sprintf(out, "GLONASS TIME %c ", alarm_state);
      else if((time_flags & TFLAGS_GNSS_MASK) == 0x30) sprintf(out, "GLONASS TIME %c ", alarm_state); 
      else if((time_flags & TFLAGS_GNSS_MASK) == TFLAGS_GALILEO) sprintf(out, "GALILEO TIME %c ", alarm_state);
      else                                                       sprintf(out, "UNK GNSS TIME%c ", alarm_state);
      time_color = YELLOW;
      vidstr(TIME_ROW+0, TIME_COL, time_color, out);
   }
   else if((time_flags & TFLAGS_USER_TIME) && (STARLOC == 0)) {
      sprintf(out, "USER set time %c", alarm_state);
      vidstr(TIME_ROW+0, TIME_COL, YELLOW, out);
      time_color = YELLOW;
   }
   else if(time_flags & TFLAGS_UTC) {
      if(0 && (rcvr_type == ESIP_RCVR) && (esip_time_source == 3)) {
         sprintf(out, "UTC(SU) OK %c   ", alarm_state);
         if(have_timing_mode) vidstr(TIME_ROW+0, TIME_COL, YELLOW, out);
         else                 vidstr(TIME_ROW+0, TIME_COL, GREY,   out);
      }
      else {
         sprintf(out, "UTC time OK %c  ", alarm_state);
         if(have_timing_mode) vidstr(TIME_ROW+0, TIME_COL, GREEN,  out);
         else                 vidstr(TIME_ROW+0, TIME_COL, GREY,   out);
      }

      if(dst_ofs)            time_color = DST_TIME_COLOR;
      else if(time_zone_set) time_color = DST_TIME_COLOR;  // !!! std_time_color is rather dim for the big clock
      else                   time_color = WHITE;
   }
   else {
      sprintf(out, "GPS time OK %c  ", alarm_state);
      if(have_timing_mode) vidstr(TIME_ROW+0, TIME_COL, YELLOW, out);
      else                 vidstr(TIME_ROW+0, TIME_COL, GREY,   out);
      if(dst_ofs)            time_color = DST_TIME_COLOR;
      else if(time_zone_set) time_color = DST_TIME_COLOR;  // !!! std_time_color is rather dim for the big clock
      else                   time_color = WHITE;
   }

   if(time_color != last_time_color) {  // redraw big clock if time status has changed
      last_time_color = time_color;
   }

   if(leap_time) {  // log possible leap second
      write_log_leapsecond();
   }

   if((last_utc_offset != (-9999)) && (utc_offset != last_utc_offset)) {
      write_log_utc(utc_offset);
   }
   last_utc_offset = utc_offset;


   color = WHITE;
   if(sound_alarm && (ticker & 0x01)) {  // flash screen clocks RED
      color = RED;
   }

   if(seconds_time || fraction_time) {
      sec  = (long) pri_hours * 60L*60L;
      sec += (long) pri_minutes * 60L;
      sec += (long) pri_seconds;
      if(fraction_time) {
         sec *= 1000L;
         sec /= 864L;
         sprintf(out, "%s: .%05ld", tz_info(), sec);
      }
      else {
         sprintf(out, "%s:  %05ld", tz_info(), sec);
      }
      if(dst_ofs)            vidstr(TIME_ROW+2,TIME_COL, DST_TIME_COLOR, out);
      else if(time_zone_set) vidstr(TIME_ROW+2,TIME_COL, STD_TIME_COLOR, out);
      else                   vidstr(TIME_ROW+2,TIME_COL, WHITE, out);

      strcpy(out, fmt_date(0));
      vidstr(TIME_ROW+1,TIME_COL, color, out);
   }
   else {
      sprintf(out, "%02d:%02d:%02d %s", pri_hours,pri_minutes,pri_seconds, tz_info());
      if(dst_ofs)            vidstr(TIME_ROW+1,TIME_COL, DST_TIME_COLOR, out);
      else if(time_zone_set) vidstr(TIME_ROW+1,TIME_COL, STD_TIME_COLOR, out);
      else                   vidstr(TIME_ROW+1,TIME_COL, WHITE, out);

      strcpy(out, fmt_date(0));
      if(rolled && (color == WHITE)) {
         vidstr(TIME_ROW+2,TIME_COL, YELLOW, out);
      }
      else {
         vidstr(TIME_ROW+2,TIME_COL, color, out);
      }
   }
   

   row = TIME_ROW+3;
// if(have_week == 999) color = YELLOW;  // using faked GPS week and tow numbers
   if(have_week) {
      week = (unsigned) gps_week;
      flag = 0;
      if(0 && rolls && (week < 1024)) {  // adjust displayed week for rollovers
         week += 1024 * (unsigned) rolls;
         flag = 1;
      }
      sprintf(out, "Week: %5u  ", week);

      if((color == WHITE) && faked_tow) flag = 1;
      if     (flag)      vidstr(row,TIME_COL, YELLOW, out);
      else if(rolled)    vidstr(row,TIME_COL, color, out);
      else if(rollover)  vidstr(row,TIME_COL, color, out);
      else               vidstr(row,TIME_COL, color, out);
      ++row;
   }

   if(have_tow) {
      sprintf(out, "TOW:%7lu  ", (unsigned long) tow);
      if((color == WHITE) && faked_tow) vidstr(row,TIME_COL, YELLOW, out);
      else                              vidstr(row,TIME_COL, color, out);
      ++row;
   }

   if(have_utc_ofs) {
      sprintf(out, "UTC ofs:%3d  ", utc_offset);
      if(color == RED) ;
      else if(user_set_utc_ofs) color = YELLOW;   // using user value
      else if(have_utc_ofs < 0) color = RED;      // using estimated value
      vidstr(row,TIME_COL, color, out);           // using receiver value
      ++row;
   }

   time_set_char = ' ';
   return;
}

// Assembly:
leaq 0x2a1bb9(%rip), %rax    # 0x2f67a8
movb (%rax), %cl
leaq 0x1adc08(%rip), %rdx    # 0x202800
leaq 0x1b8945(%rip), %rax    # 0x20d544
imull $0x31a, (%rax), %eax    # imm = 0x31A
movl (%rdx), %esi
pushq $0x64
popq %rdi
cltd
idivl %edi
movl %ecx, %edx
cmpl %eax, %esi
jl 0x54c3f
leaq 0x1adbea(%rip), %rax    # 0x202804
cmpl $0x258, (%rax)          # imm = 0x258
movl %ecx, %edx
jl 0x54c3f
movzbl %cl, %eax
addl $-0x4c, %eax
movl %ecx, %edx
cmpl $0x7, %eax
ja 0x54c3f
movl $0x83, %edx
btl %eax, %edx
movl %ecx, %edx
jae 0x54c3f
xorl %edx, %edx
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
cmpb $0x49, %cl
setne %al
leaq 0x1adb7e(%rip), %rcx    # 0x2027d8
cmpl $0x0, (%rcx)
setne %sil
leaq 0x1d42f0(%rip), %rcx    # 0x228f58
cmpl $0x0, (%rcx)
setne %dil
testb %dl, %dl
setne %cl
testb %dil, %sil
jne 0x551b3
andb %cl, %al
jne 0x551b3
leaq 0x1d42b2(%rip), %rax    # 0x228f3e
cmpb $0x0, (%rax)
jne 0x551b3
leaq 0x2a3280(%rip), %rax    # 0x2f7f1c
cmpl $0x0, (%rax)
pushq $0xf
popq %rdx
jne 0x54d64
leaq 0x2a327d(%rip), %rax    # 0x2f7f2c
cmpl $0x0, (%rax)
jne 0x54d64
leaq 0x2a3249(%rip), %rax    # 0x2f7f08
cmpq $0x0, (%rax)
jne 0x54d64
leaq 0x2a3280(%rip), %rax    # 0x2f7f50
cmpl $0x0, (%rax)
jne 0x54d2f
leaq 0x2a3284(%rip), %rax    # 0x2f7f60
cmpl $0x0, (%rax)
jne 0x54d2f
leaq 0x2a3298(%rip), %rax    # 0x2f7f80
cmpq $0x0, (%rax)
jne 0x54d2f
leaq 0x2a32af(%rip), %rax    # 0x2f7fa4
cmpl $0x0, (%rax)
jne 0x54d2f
leaq 0x2a32b3(%rip), %rax    # 0x2f7fb4
cmpl $0x0, (%rax)
jne 0x54d2f
leaq 0x2a32cb(%rip), %rax    # 0x2f7fd8
cmpq $0x0, (%rax)
jne 0x54d2f
leaq 0x2a31c2(%rip), %rax    # 0x2f7edc
cmpb $0x0, (%rax)
je 0x54d4c
leaq 0x2a31b7(%rip), %rax    # 0x2f7edd
cmpb $0x0, (%rax)
je 0x54d51
pushq $0xe
jmp 0x54d4e
leaq 0x2a3263(%rip), %rax    # 0x2f7f99
leaq 0x2a32b4(%rip), %rcx    # 0x2f7ff1
movb (%rcx), %cl
orb (%rax), %cl
pushq $0x21
popq %rax
pushq $0x13
popq %rdx
cmovnel %eax, %edx
jmp 0x54d64
pushq $0x20
popq %rdx
jmp 0x54d64
leaq 0x2a3189(%rip), %rax    # 0x2f7ee1
cmpb $0x0, (%rax)
pushq $0xd
popq %rax
pushq $0x23
popq %rdx
cmovel %eax, %edx
leaq 0x2a3145(%rip), %rax    # 0x2f7eb0
cmpb $0x20, (%rax)
jne 0x54de7
leaq 0x2a272d(%rip), %r14    # 0x2f74a4
movl (%r14), %eax
testb $0x4, %al
jne 0x54e10
btl $0x8, %eax
jb 0x54e2c
testb $0x8, %al
jne 0x551cc
leaq 0x2a2581(%rip), %rcx    # 0x2f731c
cmpl $0x0, (%rcx)
je 0x551cc
movl %eax, %esi
andl $0x30, %esi
setne %dil
leaq 0x1adb1c(%rip), %rcx    # 0x2028d0
movq (%rcx), %rcx
movl $0x80000000, %r8d       # imm = 0x80000000
cmpq %r8, %rcx
sete %r8b
andb %dil, %r8b
cmpb $0x1, %r8b
jne 0x55212
shrl $0x4, %esi
leaq 0xb514d(%rip), %rax     # 0x109f28
movslq (%rax,%rsi,4), %rsi
addq %rax, %rsi
jmp 0x55268
leaq 0x2d1432(%rip), %rbx    # 0x326220
leaq 0xbd63b(%rip), %rsi     # 0x112430
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
pushq $0xa
popq %rdx
xorl %edi, %edi
xorl %esi, %esi
movq %rbx, %rcx
callq 0xe2d2
jmp 0x54e60
leaq 0x2d1409(%rip), %rbx    # 0x326220
leaq 0xbd623(%rip), %rsi     # 0x112441
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
pushq $0xc
jmp 0x54e46
leaq 0x2d13ed(%rip), %rbx    # 0x326220
leaq 0xbd618(%rip), %rsi     # 0x112452
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
pushq $0xe
popq %rdx
xorl %edi, %edi
xorl %esi, %esi
movq %rbx, %rcx
callq 0xe2d2
leaq 0x1b877a(%rip), %rax    # 0x20d5d4
movl $0xc, (%rax)
leaq 0x1b876d(%rip), %rax    # 0x20d5d4
movl (%rax), %eax
leaq 0x1b8768(%rip), %rcx    # 0x20d5d8
cmpl (%rcx), %eax
je 0x54e76
movl %eax, (%rcx)
leaq 0x2a25d3(%rip), %rax    # 0x2f7450
cmpb $0x0, (%rax)
je 0x54e87
callq 0xc2152
leaq 0x2a289e(%rip), %rbx    # 0x2f772c
movl (%rbx), %eax
leaq 0x2a2891(%rip), %r12    # 0x2f7728
movl (%r12), %edi
cmpl $0xffffd8f1, %eax       # imm = 0xFFFFD8F1
jne 0x54ea6
movl %edi, %eax
jmp 0x54eb3
cmpl %eax, %edi
je 0x54eb3
callq 0xc20bf
movl (%r12), %eax
movl %eax, (%rbx)
leaq 0x2a308c(%rip), %rcx    # 0x2f7f48
movb $0xf, %al
movb $0x1, %dl
movl %edx, -0x2c(%rbp)
cmpb $0x0, (%rcx)
je 0x54ed4
leaq 0x2a3011(%rip), %rcx    # 0x2f7ee0
testb $0x1, (%rcx)
jne 0x54ed9
xorl %r13d, %r13d
jmp 0x54ee5
movb $0xc, %al
movb $0x1, %r13b
movl $0x0, -0x2c(%rbp)
leaq 0x2a2891(%rip), %rdx    # 0x2f777d
leaq 0x2a2889(%rip), %rcx    # 0x2f777c
movb (%rcx), %cl
leaq 0x2a260c(%rip), %rsi    # 0x2f7508
movslq (%rsi), %r15
movb (%rdx), %dl
orb %cl, %dl
movzbl %al, %ebx
je 0x54f61
imulq $0xe10, %r15, %rax      # imm = 0xE10
leaq 0x2a25ee(%rip), %rdx    # 0x2f7504
movslq (%rdx), %rdx
imulq $0x3c, %rdx, %rdx
addq %rax, %rdx
leaq 0x2a25d9(%rip), %rax    # 0x2f7500
movslq (%rax), %r14
addq %rdx, %r14
testb %cl, %cl
je 0x5502c
imulq $0x3e8, %r14, %rax      # imm = 0x3E8
movl $0x360, %ecx            # imm = 0x360
cqto
idivq %rcx
movq %rax, %r14
callq 0xdb5c4
leaq 0x2d12cb(%rip), %rdi    # 0x326220
leaq 0xbd5b1(%rip), %rsi     # 0x11250d
jmp 0x5503f
movl %r13d, -0x30(%rbp)
leaq 0x2a2598(%rip), %rax    # 0x2f7504
movl (%rax), %r12d
leaq 0x2a258a(%rip), %rax    # 0x2f7500
movl (%rax), %r13d
callq 0xdb5c4
leaq 0x2d129b(%rip), %r14    # 0x326220
leaq 0x9fbb9(%rip), %rsi     # 0xf4b45
movq %r14, %rdi
movl %r15d, %edx
movl %r12d, %ecx
movl %r13d, %r8d
movq %rax, %r9
xorl %eax, %eax
callq 0x9060
leaq 0x2a28f7(%rip), %rax    # 0x2f78a0
leaq 0x2a28e4(%rip), %rcx    # 0x2f7894
cmpb $0x0, (%rcx)
pushq $0xf
popq %rcx
pushq $0x9
popq %rsi
cmovel %ecx, %esi
cmpl $0x0, (%rax)
pushq $0xb
popq %rdx
cmovel %esi, %edx
pushq $0x1
popq %rdi
xorl %esi, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %edi, %edi
callq 0xdab87
movq %r14, %rdi
movq %rax, %rsi
callq 0x9330
leaq 0x2a2425(%rip), %rax    # 0x2f7410
cmpl $0x0, (%rax)
sete %al
movl -0x2c(%rbp), %ecx
xorb $0x1, %cl
orb %al, %cl
jne 0x5500c
leaq 0x2d121e(%rip), %rcx    # 0x326220
pushq $0x2
popq %rdi
pushq $0xe
popq %rdx
xorl %esi, %esi
jmp 0x5501a
leaq 0x2d120d(%rip), %rcx    # 0x326220
pushq $0x2
popq %rdi
xorl %esi, %esi
movl %ebx, %edx
callq 0xe2d2
leaq 0x2a2702(%rip), %r12    # 0x2f7728
movl -0x30(%rbp), %r13d
jmp 0x550a4
callq 0xdb5c4
leaq 0x2d11e8(%rip), %rdi    # 0x326220
leaq 0xbd4d9(%rip), %rsi     # 0x112518
movq %rax, %rdx
movq %r14, %rcx
xorl %eax, %eax
callq 0x9060
leaq 0x2a284d(%rip), %rax    # 0x2f78a0
leaq 0x2a283a(%rip), %rcx    # 0x2f7894
cmpb $0x0, (%rcx)
pushq $0xf
popq %rcx
pushq $0x9
popq %rsi
cmovel %ecx, %esi
cmpl $0x0, (%rax)
pushq $0xb
popq %rdx
cmovel %esi, %edx
leaq 0x2d11aa(%rip), %r14    # 0x326220
pushq $0x2
popq %rdi
xorl %esi, %esi
movq %r14, %rcx
callq 0xe2d2
xorl %edi, %edi
callq 0xdab87
movq %r14, %rdi
movq %rax, %rsi
callq 0x9330
pushq $0x1
popq %rdi
xorl %esi, %esi
movl %ebx, %edx
movq %r14, %rcx
callq 0xe2d2
leaq 0x2a2281(%rip), %rax    # 0x2f732c
cmpl $0x0, (%rax)
je 0x550fd
leaq 0x2a2681(%rip), %rax    # 0x2f7738
movzwl (%rax), %edx
leaq 0x2d115f(%rip), %r14    # 0x326220
leaq 0xbd45b(%rip), %rsi     # 0x112523
movq %r14, %rdi
xorl %eax, %eax
callq 0x9060
leaq 0x2a266f(%rip), %rax    # 0x2f7748
cmpl $0x0, (%rax)
pushq $0xe
popq %rax
cmovel %ebx, %eax
cmpb $0x0, -0x2c(%rbp)
cmovel %ebx, %eax
movzbl %al, %edx
pushq $0x3
popq %rdi
xorl %esi, %esi
movq %r14, %rcx
callq 0xe2d2
pushq $0x4
jmp 0x550ff
pushq $0x3
popq %r14
leaq 0x2a2220(%rip), %rax    # 0x2f7328
cmpl $0x0, (%rax)
je 0x55158
leaq 0x2a2628(%rip), %rax    # 0x2f773c
movl (%rax), %edx
leaq 0x2d1103(%rip), %r15    # 0x326220
leaq 0xbd40b(%rip), %rsi     # 0x11252f
movq %r15, %rdi
xorl %eax, %eax
callq 0x9060
leaq 0x2a2613(%rip), %rax    # 0x2f7748
cmpl $0x0, (%rax)
pushq $0xe
popq %rax
cmovel %ebx, %eax
cmpb $0x0, -0x2c(%rbp)
cmovel %ebx, %eax
movzbl %al, %edx
movl %r14d, %edi
xorl %esi, %esi
movq %r15, %rcx
callq 0xe2d2
incl %r14d
leaq 0x2a21bd(%rip), %r15    # 0x2f731c
cmpl $0x0, (%r15)
je 0x551b3
movl (%r12), %edx
leaq 0x2d10b0(%rip), %rdi    # 0x326220
leaq 0xbd3c3(%rip), %rsi     # 0x11253a
xorl %eax, %eax
callq 0x9060
movb $0xc, %al
testb %r13b, %r13b
jne 0x5519f
leaq 0x2a25a8(%rip), %rcx    # 0x2f7734
movb $0xe, %al
cmpl $0x0, (%rcx)
jne 0x5519f
cmpl $0x0, (%r15)
pushq $0xc
popq %rax
cmovsl %eax, %ebx
movl %ebx, %eax
movzbl %al, %edx
leaq 0x2d1077(%rip), %rcx    # 0x326220
movl %r14d, %edi
xorl %esi, %esi
callq 0xe2d2
leaq 0x2a2cf6(%rip), %rax    # 0x2f7eb0
movb $0x20, (%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2d104d(%rip), %rbx    # 0x326220
leaq 0xbd289(%rip), %rsi     # 0x112463
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
xorl %eax, %eax
testb $0x1, (%r14)
sete %al
leal 0xc(,%rax,2), %edx
xorl %edi, %edi
xorl %esi, %esi
movq %rbx, %rcx
callq 0xe2d2
leaq 0x1b83cd(%rip), %rax    # 0x20d5d4
movl $0xe, (%rax)
jmp 0x54e60
testl %esi, %esi
je 0x552b4
leaq 0x1d3d0c(%rip), %rsi    # 0x228f2d
cmpb $0x0, (%rsi)
jne 0x55254
cmpq $0x1, %rcx
sete %sil
leaq 0x1afd9f(%rip), %rdi    # 0x204fd4
cmpl $0x41, (%rdi)
sete %dil
andb %sil, %dil
leaq 0x1ad6b2(%rip), %rsi    # 0x2028f8
movl (%rsi), %esi
cmpl $0x47, %esi
sete %r8b
testb %r8b, %dil
je 0x5528d
testb $0x20, %al
leaq 0xbd26c(%rip), %rax     # 0x1124c9
leaq 0xbd254(%rip), %rsi     # 0x1124b8
cmoveq %rax, %rsi
leaq 0x2d0fb1(%rip), %rbx    # 0x326220
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leaq 0x1b8354(%rip), %rax    # 0x20d5d4
movl $0xe, (%rax)
pushq $0xe
jmp 0x54e01
leaq 0x1ad670(%rip), %r8     # 0x202904
movb (%r8), %r8b
testb %dil, %dil
je 0x552ae
cmpb $0x4, %r8b
je 0x55254
cmpl $0x33, %esi
je 0x55254
cmpl $0x47, %esi
je 0x55254
jmp 0x552b4
cmpb $0x4, %r8b
je 0x55254
testb $0x10, %al
je 0x552d2
cmpq $0x1, %rcx
jne 0x55360
leaq 0x1afd0b(%rip), %rcx    # 0x204fd4
cmpl $0x53, (%rcx)
jne 0x55360
leaq 0x2d0f47(%rip), %rbx    # 0x326220
testb $0x1, %al
jne 0x55303
leaq 0xbd218(%rip), %rsi     # 0x1124fc
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leaq 0x2a20d7(%rip), %rax    # 0x2f73cc
cmpl $0x0, (%rax)
pushq $0x8
popq %rax
pushq $0xe
popq %rdx
cmovel %eax, %edx
jmp 0x5532a
leaq 0xbd1e1(%rip), %rsi     # 0x1124eb
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
leaq 0x2a20b1(%rip), %rax    # 0x2f73cc
xorl %ecx, %ecx
cmpl $0x0, (%rax)
setne %cl
leal 0x8(,%rcx,2), %edx
xorl %edi, %edi
xorl %esi, %esi
movq %rbx, %rcx
callq 0xe2d2
leaq 0x2a2563(%rip), %rax    # 0x2f78a0
cmpl $0x0, (%rax)
jne 0x5534e
leaq 0x2a254b(%rip), %rax    # 0x2f7894
cmpb $0x0, (%rax)
je 0x55380
leaq 0x1b827f(%rip), %rax    # 0x20d5d4
movl $0xb, (%rax)
jmp 0x54e60
leaq 0x2d0eb9(%rip), %rbx    # 0x326220
leaq 0xbd16c(%rip), %rsi     # 0x1124da
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
pushq $0xe
popq %rdx
jmp 0x551f4
leaq 0x1b824d(%rip), %rax    # 0x20d5d4
movl $0xf, (%rax)
jmp 0x54e60