// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathgps.cpp
// Function: show_info_header(int, int)
int show_info_header(int row, int col)
{
int color;
   // show the sat info table header line

   info_header_col = col;
   if(rcvr_type == CS_RCVR) {
      show_cs_log(row,col, 0);
      last_sat_row = row + MAX_CS_LOGS;
      return 1;
   }
   else if(rcvr_type == LPFRS_RCVR) {
      show_osc_params(row,col);
      return 1;
   }
   else if(rcvr_type == PRS_RCVR) {
      show_osc_params(row,col);
      return 1;
   }
   else if(rcvr_type == SA35_RCVR) {
      show_osc_params(row,col);
      return 1;
   }
   else if(rcvr_type == SRO_RCVR) {
      show_osc_params(row,col);
      return 1;
   }
   else if((rcvr_type == RFTG_RCVR) && have_rftg_unit && (rftg_unit == 0)) {
      show_osc_params(row,col);
      return 1;
   }
   else if(rcvr_type == X72_RCVR) {
      show_osc_params(row,col);
      return 1;
   }
   else if(NO_SATS) {
      return 1;
   }

   sprintf(out, " PRN    ");
   if(sort_by == SORT_PRN) vidstr(row,col, GREEN, out);
   else                    vidstr(row,col, WHITE, out);
   if(sat_cols > 1) {
      if(sort_by == SORT_PRN) vidstr(row,col+COL2, GREEN, out);
      else                    vidstr(row,col+COL2, WHITE, out);
   }
   col += strlen(out);

   sprintf(out, "%cAZ   ", DEGREES);
   if(sort_by == SORT_AZ) vidstr(row,col, GREEN, out);
   else                   vidstr(row,col, WHITE, out);
   if(sat_cols > 1) {
      if(sort_by == SORT_AZ) vidstr(row,col+COL2, GREEN, out);
      else                   vidstr(row,col+COL2, WHITE, out);
   }
   col += strlen(out);

   sprintf(out, "%cEL    ", DEGREES);
   if(sort_by == SORT_ELEV) vidstr(row,col, GREEN, out);
   else                     vidstr(row,col, WHITE, out);
   if(sat_cols > 1) {
      if(sort_by == SORT_ELEV) vidstr(row,col+COL2, GREEN, out);
      else                     vidstr(row,col+COL2, WHITE, out);
   }
   col += strlen(out);

// if(rcvr_type == ESIP_RCVR) level_type = "dBHz";
   sprintf(out, "%s  ", level_type);
   if(sort_by == SORT_SIGS) vidstr(row,col, GREEN, out);
   else                     vidstr(row,col, WHITE, out);
   if(sat_cols > 1) {
      if(sort_by == SORT_SIGS) vidstr(row,col+COL2, GREEN, out);
      else                     vidstr(row,col+COL2, WHITE, out);
   }
   col += strlen(out);
   last_sat_row = row;

   if(have_doppler && (sat_cols <= 1)) {
      sprintf(out, " DOPPLER ");
      if(sort_by == SORT_DOPPLER) vidstr(row,col, GREEN, out);
      else                        vidstr(row,col, WHITE, out);
      if(sat_cols > 1) {
         if(sort_by == SORT_DOPPLER) vidstr(row,col+COL2, GREEN, out);
         else                        vidstr(row,col+COL2, WHITE, out);
      }
      col += strlen(out);
   }

   ura_title = 0;
   out[0] = 0;
   color = WHITE;
   if(show_short_info == 0) {
      if(have_phase && (no_raw_table == 0)) {
         if(jd_obs) strcat(out, " CARRIER  ");
         else       strcat(out, "CODE_PHASE"); // thunderbolt
         if(sort_by == SORT_CARRIER) color = GREEN;
      }
      else if(have_state) {
         if    (have_state == SIRF_STATE)  strcat(out, " STATE   ");
         else if(have_state == UBX_STATE ) strcat(out, "  STATE  ");
         else                              strcat(out, "  STATE   ");
         if(sort_by == SORT_STATE) color = GREEN;
      }

      if(out[0]) {
         vidstr(row,col, color, out);
         col += strlen(out);
      }

      out[0] = 0;
      color = WHITE;
      if(no_raw_table) ;
      else if(have_range) {
         strcat(out, "PSEUDORANGE ");
         if(sort_by == SORT_RANGE) color = GREEN;
         vidstr(row,col, color, out);
         col += strlen(out);
      }
      else if(have_bias) {
         strcat(out, " CLOCK_BIAS ");
         if(sort_by == SORT_BIAS) color = GREEN;
         vidstr(row,col, color, out);
         col += strlen(out);
      }

      out[0] = 0;
      color = WHITE;
      if(have_accu) {
         strcat(out, " URA(m)");
         if(sort_by == SORT_URA) color = GREEN;
         ura_title = 1;
      }
   }
   else if(0 && (ACU_GG || ACU_360) && (sat_cols < 2)) {
      out[0] = 0;
      if(have_accu) {
         strcat(out, " URA(m)");
         if(sort_by == SORT_URA) color = GREEN;
         ura_title = 3;
      }
   }
   else if((rcvr_type == FURUNO_RCVR) && (sat_cols < 2)) {
      out[0] = 0;
      if(have_accu) {
         strcat(out, " URA(m)");
         if(sort_by == SORT_URA) color = GREEN;
         ura_title = 2;
      }
   }
   else if(have_state && (have_doppler == 0)) {
      out[0] = 0;
      if(have_state == UBX_STATE) strcat(out, "  STATE ");
      else                        strcat(out, "STATE ");
      if(sort_by == SORT_STATE) color = GREEN;
   }

   vidstr(row, col, color, out);
   col += strlen(out);
   info_header_col = col;
   return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %esi, %r15d
movl %edi, %ebx
movl %esi, 0x2c159b(%rip)    # 0x372698
leaq 0x1677cc(%rip), %r13    # 0x2188d0
movq (%r13), %rcx
cmpq $0x7ffffff, %rcx        # imm = 0x7FFFFFF
jle 0xb1134
cmpq $0x8000000, %rcx        # imm = 0x8000000
je 0xb1182
cmpq $0x10000000, %rcx       # imm = 0x10000000
je 0xb1182
movabsq $0x1000000000, %rax     # imm = 0x1000000000
cmpq %rax, %rcx
je 0xb1182
jmp 0xb1146
cmpq $0x20000, %rcx          # imm = 0x20000
je 0xb11a0
cmpq $0x1000000, %rcx        # imm = 0x1000000
je 0xb1182
cmpq $0x400000, %rcx         # imm = 0x400000
sete %al
leaq 0x25c861(%rip), %rdx    # 0x30d9b8
cmpl $0x0, (%rdx)
setne %sil
leaq 0x25c84f(%rip), %rdx    # 0x30d9b4
movl (%rdx), %edx
testl %edx, %edx
sete %dil
andb %al, %dil
andb %sil, %dil
cmpb $0x1, %dil
je 0xb1182
cmpq $0x2000000, %rcx        # imm = 0x2000000
jne 0xb11bd
movl %ebx, %edi
movl %r15d, %esi
callq 0xaf8f3
movl $0x1, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %ebx, %edi
movl %r15d, %esi
xorl %edx, %edx
callq 0xcaa62
addl $0xc0, %ebx
leaq 0x18dd63(%rip), %rax    # 0x23ef1c
movl %ebx, (%rax)
jmp 0xb118c
movl $0x1, %eax
movabsq $0x105b8b0400, %rsi     # imm = 0x105B8B0400
testq %rsi, %rcx
jne 0xb1191
testl %edx, %edx
sete %dl
cmpq $0x400000, %rcx         # imm = 0x400000
sete %cl
leaq 0x169de9(%rip), %rsi    # 0x21afd0
cmpl $0x0, (%rsi)
setne %sil
leaq 0x25c1cf(%rip), %rdi    # 0x30d3c4
cmpl $0x0, (%rdi)
sete %dil
testb %dil, %sil
jne 0xb1191
andb %dl, %cl
jne 0xb1191
leaq 0x28b014(%rip), %rcx    # 0x33c220
movabsq $0x202020204e525020, %rax # imm = 0x202020204E525020
movq %rax, (%rcx)
movb $0x0, 0x8(%rcx)
leaq 0x25b578(%rip), %r14    # 0x30c79c
xorl %eax, %eax
cmpl $0x50, (%r14)
setne %al
leal (%rax,%rax,4), %edx
addl $0xa, %edx
movl %ebx, %edi
movl %r15d, %esi
callq 0xe787
leaq 0x25b540(%rip), %rax    # 0x30c784
cmpl $0x2, (%rax)
jl 0xb126a
xorl %eax, %eax
cmpl $0x50, (%r14)
setne %al
leal 0x1e(%r15), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28afbd(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe787
leaq 0x28afaf(%rip), %r12    # 0x33c220
movq %r12, %rdi
callq 0x9120
movq %rax, %r14
addl %r15d, %r14d
leaq 0x75cf5(%rip), %rsi     # 0x126f7b
movq %r12, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
xorl %eax, %eax
leaq 0x25b4fe(%rip), %rcx    # 0x30c79c
cmpl $0x41, (%rcx)
setne %al
leal 0xa(%rax,%rax,4), %edx
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
leaq 0x25b4e5(%rip), %r12    # 0x30c79c
callq 0xe787
leaq 0x25b4c1(%rip), %rax    # 0x30c784
cmpl $0x2, (%rax)
jl 0xb12ea
xorl %eax, %eax
cmpl $0x41, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28af3d(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe787
leaq 0x28af2f(%rip), %r15    # 0x33c220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x75c80(%rip), %rsi     # 0x126f83
movq %r15, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
xorl %eax, %eax
cmpl $0x45, (%r12)
setne %al
leal 0xa(%rax,%rax,4), %edx
movl %ebx, %edi
movl %r14d, %esi
movq %r15, %rcx
callq 0xe787
leaq 0x25b450(%rip), %rax    # 0x30c784
cmpl $0x2, (%rax)
jl 0xb135b
xorl %eax, %eax
cmpl $0x45, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28aecc(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe787
leaq 0x28aebe(%rip), %r15    # 0x33c220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x18db84(%rip), %rax    # 0x23eef8
movq (%rax), %rdx
leaq 0x7e770(%rip), %rsi     # 0x12faee
movq %r15, %rdi
xorl %eax, %eax
callq 0x9060
xorl %eax, %eax
cmpl $0x53, (%r12)
setne %al
leal 0xa(%rax,%rax,4), %edx
movl %ebx, %edi
movl %r14d, %esi
movq %r15, %rcx
callq 0xe787
leaq 0x25b3da(%rip), %rax    # 0x30c784
cmpl $0x2, (%rax)
jl 0xb13d1
xorl %eax, %eax
cmpl $0x53, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28ae56(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe787
leaq 0x28ae48(%rip), %r15    # 0x33c220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x18db32(%rip), %rax    # 0x23ef1c
movl %ebx, (%rax)
leaq 0x25bf4d(%rip), %rcx    # 0x30d340
cmpl $0x0, (%rcx)
je 0xb1483
leaq 0x25b381(%rip), %rax    # 0x30c784
cmpl $0x1, (%rax)
jg 0xb1483
movq %rax, %r12
movabsq $0x52454c50504f4420, %rax # imm = 0x52454C50504F4420
movq %rax, (%r15)
movw $0x20, 0x8(%r15)
xorl %eax, %eax
leaq 0x25b374(%rip), %rcx    # 0x30c79c
cmpl $0x44, (%rcx)
setne %al
leal 0xa(%rax,%rax,4), %edx
movl %ebx, %edi
movl %r14d, %esi
movq %r15, %rcx
callq 0xe787
cmpl $0x2, (%r12)
jl 0xb146d
xorl %eax, %eax
leaq 0x25b34d(%rip), %rcx    # 0x30c79c
cmpl $0x44, (%rcx)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28adba(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe787
leaq 0x28adac(%rip), %rdi    # 0x33c220
callq 0x9120
addl %eax, %r14d
leaq 0x25bebd(%rip), %rcx    # 0x30d340
movl $0x0, 0x2c1203(%rip)    # 0x372690
movb $0x0, (%r15)
cmpl $0x0, 0x2c11fc(%rip)    # 0x372694
je 0xb1502
cmpq $0x20000000, (%r13)     # imm = 0x20000000
jne 0xb1574
leaq 0x25b2d5(%rip), %rax    # 0x30c784
cmpl $0x1, (%rax)
jg 0xb1574
leaq 0x25bf01(%rip), %rax    # 0x30d3c0
cmpl $0x0, (%rax)
je 0xb17a5
movq %r15, %rdi
callq 0x9120
xorl %ecx, %ecx
leaq 0x25b2c3(%rip), %rdx    # 0x30c79c
cmpl $0x55, (%rdx)
movabsq $0x296d2841525520, %rdx # imm = 0x296D2841525520
movq %rdx, (%r15,%rax)
setne %cl
leal (%rcx,%rcx,4), %eax
addl $0xa, %eax
movl $0x2, 0x2c1193(%rip)    # 0x372690
jmp 0xb17a7
leaq 0x25be3b(%rip), %rax    # 0x30d344
cmpl $0x0, (%rax)
setne %al
leaq 0x25b28e(%rip), %r13    # 0x30c7a4
movl (%r13), %r12d
testl %r12d, %r12d
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xb15b6
leaq 0x25c03e(%rip), %rax    # 0x30d570
movsd (%rax), %xmm0
movsd %xmm0, -0x30(%rbp)
movq %r15, %rdi
callq 0x9120
addq %r15, %rax
xorpd %xmm0, %xmm0
movsd -0x30(%rbp), %xmm1
ucomisd %xmm0, %xmm1
jne 0xb155b
jnp 0xb160c
movabsq $0x5245495252414320, %rcx # imm = 0x5245495252414320
movq %rcx, (%rax)
movl $0x202052, 0x7(%rax)    # imm = 0x202052
jmp 0xb1620
leaq 0x25bdc1(%rip), %rax    # 0x30d33c
movl (%rax), %r13d
movb $0xf, %al
testl %r13d, %r13d
je 0xb17a7
cmpl $0x0, (%rcx)
jne 0xb17a7
movq %r15, %rdi
callq 0x9120
addq %r15, %rax
cmpl $0x5, %r13d
jne 0xb15e5
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%rax)
movb $0x0, 0x8(%rax)
jmp 0xb15f2
leaq 0x25bd7f(%rip), %rax    # 0x30d33c
movl (%rax), %eax
testl %eax, %eax
je 0xb164b
movq %r15, %rdi
cmpl $0x5, %eax
je 0xb162e
cmpl $0x4, %eax
jne 0xb164f
callq 0x9120
movabsq $0x2020455441545320, %rcx # imm = 0x2020455441545320
jmp 0xb163d
movl $0x204554, 0x3(%rax)    # imm = 0x204554
movl $0x54415453, (%rax)     # imm = 0x54415453
leaq 0x25b1a3(%rip), %rcx    # 0x30c79c
xorl %eax, %eax
cmpl $0x4d, (%rcx)
setne %al
leal (%rax,%rax,4), %eax
addl $0xa, %eax
jmp 0xb17a7
movabsq $0x4148505f45444f43, %rcx # imm = 0x4148505F45444F43
movq %rcx, (%rax)
movl $0x455341, 0x7(%rax)    # imm = 0x455341
xorl %eax, %eax
leaq 0x25b173(%rip), %rcx    # 0x30c79c
cmpl $0x57, (%rcx)
jmp 0xb1677
callq 0x9120
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%r15,%rax)
movw $0x20, 0x8(%r15,%rax)
jmp 0xb166b
movb $0xf, %al
jmp 0xb1680
callq 0x9120
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%r15,%rax)
movl $0x202020, 0x7(%r15,%rax) # imm = 0x202020
xorl %eax, %eax
leaq 0x25b128(%rip), %rcx    # 0x30c79c
cmpl $0x4d, (%rcx)
setne %al
leal (%rax,%rax,4), %eax
addl $0xa, %eax
cmpb $0x0, (%r15)
je 0xb16af
movzbl %al, %edx
leaq 0x28ab90(%rip), %r12    # 0x33c220
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
callq 0xe787
movq %r12, %rdi
callq 0x9120
addl %r14d, %eax
movl (%r13), %r12d
movl %eax, %r14d
movb $0x0, (%r15)
testl %r12d, %r12d
jne 0xb175e
leaq 0x25bc85(%rip), %rax    # 0x30d348
cmpl $0x0, (%rax)
je 0xb16f4
movq %r15, %rdi
callq 0x9120
movabsq $0x41524f4455455350, %rcx # imm = 0x41524F4455455350
movq %rcx, (%r15,%rax)
movabsq $0x2045474e41524f, %rcx # imm = 0x2045474E41524F
movq %rcx, 0x5(%r15,%rax)
movl $0x52, %eax
jmp 0xb172a
leaq 0x25bcc1(%rip), %rax    # 0x30d3bc
cmpl $0x0, (%rax)
je 0xb175e
movq %r15, %rdi
callq 0x9120
movabsq $0x425f4b434f4c4320, %rcx # imm = 0x425F4B434F4C4320
movq %rcx, (%r15,%rax)
movabsq $0x20534149425f4b, %rcx # imm = 0x20534149425F4B
movq %rcx, 0x5(%r15,%rax)
movl $0x42, %eax
leaq 0x25b06b(%rip), %rdx    # 0x30c79c
xorl %ecx, %ecx
cmpl %eax, (%rdx)
setne %cl
leal 0xa(%rcx,%rcx,4), %edx
leaq 0x28aadd(%rip), %r12    # 0x33c220
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
callq 0xe787
movq %r12, %rdi
callq 0x9120
addl %r14d, %eax
movl %eax, %r14d
movb $0x0, (%r15)
leaq 0x25bc57(%rip), %rax    # 0x30d3c0
cmpl $0x0, (%rax)
je 0xb17a5
movq %r15, %rdi
callq 0x9120
xorl %ecx, %ecx
leaq 0x25b01d(%rip), %rdx    # 0x30c79c
cmpl $0x55, (%rdx)
movabsq $0x296d2841525520, %rdx # imm = 0x296D2841525520
movq %rdx, (%r15,%rax)
setne %cl
leal (%rcx,%rcx,4), %eax
addl $0xa, %eax
movl $0x1, 0x2c0eed(%rip)    # 0x372690
jmp 0xb17a7
movb $0xf, %al
movzbl %al, %edx
leaq 0x28aa6f(%rip), %r15    # 0x33c220
movl %ebx, %edi
movl %r14d, %esi
movq %r15, %rcx
callq 0xe787
movq %r15, %rdi
callq 0x9120
addl %r14d, %eax
movl %eax, 0x2c0ec9(%rip)    # 0x372698
xorl %eax, %eax
jmp 0xb1191