// File: /workspace/github_cpp_makefile_star2_O2/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, 0x2bb81a(%rip)    # 0x35c698
leaq 0x161a4b(%rip), %r13    # 0x2028d0
movq (%r13), %rax
movabsq $0x1000000000, %rcx     # imm = 0x1000000000
pushq $0x1
popq %r14
cmpq %rcx, %rax
je 0xa0f13
cmpq $0x1000000, %rax        # imm = 0x1000000
je 0xa0f13
cmpq $0x8000000, %rax        # imm = 0x8000000
je 0xa0f13
cmpq $0x10000000, %rax       # imm = 0x10000000
je 0xa0f13
cmpq $0x20000, %rax          # imm = 0x20000
jne 0xa0ed9
movl %ebx, %edi
movl %r15d, %esi
xorl %edx, %edx
callq 0xb960e
addl $0xc0, %ebx
leaq 0x188047(%rip), %rax    # 0x228f1c
movl %ebx, (%rax)
jmp 0xa0f1d
cmpq $0x400000, %rax         # imm = 0x400000
sete %dl
leaq 0x256acf(%rip), %rcx    # 0x2f79b8
cmpl $0x0, (%rcx)
setne %sil
leaq 0x256abd(%rip), %rcx    # 0x2f79b4
movl (%rcx), %ecx
testl %ecx, %ecx
sete %dil
andb %dl, %dil
andb %sil, %dil
cmpb $0x1, %dil
je 0xa0f13
cmpq $0x2000000, %rax        # imm = 0x2000000
jne 0xa0f2f
movl %ebx, %edi
movl %r15d, %esi
callq 0x9f77a
movl %r14d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movabsq $0x105b8b0400, %rdx     # imm = 0x105B8B0400
testq %rdx, %rax
jne 0xa0f1d
testl %ecx, %ecx
sete %cl
cmpq $0x400000, %rax         # imm = 0x400000
sete %al
leaq 0x16407d(%rip), %rdx    # 0x204fd0
cmpl $0x0, (%rdx)
setne %dl
leaq 0x256464(%rip), %rsi    # 0x2f73c4
cmpl $0x0, (%rsi)
sete %sil
testb %sil, %dl
jne 0xa0f1d
andb %cl, %al
jne 0xa0f1d
leaq 0x2852a9(%rip), %rcx    # 0x326220
movabsq $0x202020204e525020, %rax # imm = 0x202020204E525020
movq %rax, (%rcx)
movb $0x0, 0x8(%rcx)
leaq 0x25580d(%rip), %r14    # 0x2f679c
xorl %eax, %eax
cmpl $0x50, (%r14)
setne %al
leal (%rax,%rax,4), %edx
addl $0xa, %edx
movl %ebx, %edi
movl %r15d, %esi
callq 0xe2d2
leaq 0x2557d5(%rip), %rax    # 0x2f6784
cmpl $0x2, (%rax)
jl 0xa0fd5
xorl %eax, %eax
cmpl $0x50, (%r14)
setne %al
leal 0x1e(%r15), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x285252(%rip), %rcx    # 0x326220
movl %ebx, %edi
callq 0xe2d2
leaq 0x285244(%rip), %r12    # 0x326220
movq %r12, %rdi
callq 0x9120
movq %rax, %r14
addl %r15d, %r14d
leaq 0x6fecf(%rip), %rsi     # 0x110ec0
pushq $0x1
popq %rdx
movq %r12, %rdi
xorl %eax, %eax
callq 0x9060
xorl %eax, %eax
leaq 0x255795(%rip), %rcx    # 0x2f679c
cmpl $0x41, (%rcx)
setne %al
leal 0xa(%rax,%rax,4), %edx
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
leaq 0x25577c(%rip), %r12    # 0x2f679c
callq 0xe2d2
leaq 0x255758(%rip), %rax    # 0x2f6784
cmpl $0x2, (%rax)
jl 0xa1053
xorl %eax, %eax
cmpl $0x41, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x2851d4(%rip), %rcx    # 0x326220
movl %ebx, %edi
callq 0xe2d2
leaq 0x2851c6(%rip), %r15    # 0x326220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x6fe5c(%rip), %rsi     # 0x110ec8
pushq $0x1
popq %rdx
movq %r15, %rdi
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 0xe2d2
leaq 0x2556e9(%rip), %rax    # 0x2f6784
cmpl $0x2, (%rax)
jl 0xa10c2
xorl %eax, %eax
cmpl $0x45, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x285165(%rip), %rcx    # 0x326220
movl %ebx, %edi
callq 0xe2d2
leaq 0x285157(%rip), %r15    # 0x326220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x187e1d(%rip), %rax    # 0x228ef8
movq (%rax), %rdx
leaq 0x78929(%rip), %rsi     # 0x119a0e
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 0xe2d2
leaq 0x255673(%rip), %rax    # 0x2f6784
cmpl $0x2, (%rax)
jl 0xa1138
xorl %eax, %eax
cmpl $0x53, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x2850ef(%rip), %rcx    # 0x326220
movl %ebx, %edi
callq 0xe2d2
leaq 0x2850e1(%rip), %r15    # 0x326220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x187dcb(%rip), %rax    # 0x228f1c
movl %ebx, (%rax)
leaq 0x2561e6(%rip), %rcx    # 0x2f7340
cmpl $0x0, (%rcx)
je 0xa11ea
leaq 0x25561a(%rip), %rax    # 0x2f6784
cmpl $0x1, (%rax)
jg 0xa11ea
movq %rax, %r12
movabsq $0x52454c50504f4420, %rax # imm = 0x52454C50504F4420
movq %rax, (%r15)
movw $0x20, 0x8(%r15)
xorl %eax, %eax
leaq 0x25560d(%rip), %rcx    # 0x2f679c
cmpl $0x44, (%rcx)
setne %al
leal 0xa(%rax,%rax,4), %edx
movl %ebx, %edi
movl %r14d, %esi
movq %r15, %rcx
callq 0xe2d2
cmpl $0x2, (%r12)
jl 0xa11d4
xorl %eax, %eax
leaq 0x2555e6(%rip), %rcx    # 0x2f679c
cmpl $0x44, (%rcx)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x285053(%rip), %rcx    # 0x326220
movl %ebx, %edi
callq 0xe2d2
leaq 0x285045(%rip), %rdi    # 0x326220
callq 0x9120
addl %eax, %r14d
leaq 0x256156(%rip), %rcx    # 0x2f7340
andl $0x0, 0x2bb49f(%rip)    # 0x35c690
movb $0x0, (%r15)
cmpl $0x0, 0x2bb498(%rip)    # 0x35c694
je 0xa1266
cmpq $0x20000000, (%r13)     # imm = 0x20000000
jne 0xa12d8
leaq 0x255571(%rip), %rax    # 0x2f6784
cmpl $0x1, (%rax)
jg 0xa12d8
leaq 0x25619d(%rip), %rax    # 0x2f73c0
cmpl $0x0, (%rax)
je 0xa1504
movq %r15, %rdi
callq 0x9120
xorl %ecx, %ecx
leaq 0x25555f(%rip), %rdx    # 0x2f679c
cmpl $0x55, (%rdx)
movabsq $0x296d2841525520, %rdx # imm = 0x296D2841525520
movq %rdx, (%r15,%rax)
setne %cl
leal (%rcx,%rcx,4), %eax
addl $0xa, %eax
movl $0x2, 0x2bb42f(%rip)    # 0x35c690
jmp 0xa1506
leaq 0x2560d7(%rip), %rax    # 0x2f7344
cmpl $0x0, (%rax)
setne %al
leaq 0x25552a(%rip), %r13    # 0x2f67a4
movl (%r13), %r12d
testl %r12d, %r12d
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0xa131a
leaq 0x2562da(%rip), %rax    # 0x2f7570
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 0xa12bf
jnp 0xa1370
movabsq $0x5245495252414320, %rcx # imm = 0x5245495252414320
movq %rcx, (%rax)
movl $0x202052, 0x7(%rax)    # imm = 0x202052
jmp 0xa1384
leaq 0x25605d(%rip), %rax    # 0x2f733c
movl (%rax), %r13d
movb $0xf, %al
testl %r13d, %r13d
je 0xa1506
cmpl $0x0, (%rcx)
jne 0xa1506
movq %r15, %rdi
callq 0x9120
addq %r15, %rax
cmpl $0x5, %r13d
jne 0xa1349
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%rax)
movb $0x0, 0x8(%rax)
jmp 0xa1356
leaq 0x25601b(%rip), %rax    # 0x2f733c
movl (%rax), %eax
testl %eax, %eax
je 0xa13af
movq %r15, %rdi
cmpl $0x5, %eax
je 0xa1392
cmpl $0x4, %eax
jne 0xa13b3
callq 0x9120
movabsq $0x2020455441545320, %rcx # imm = 0x2020455441545320
jmp 0xa13a1
movl $0x204554, 0x3(%rax)    # imm = 0x204554
movl $0x54415453, (%rax)     # imm = 0x54415453
leaq 0x25543f(%rip), %rcx    # 0x2f679c
xorl %eax, %eax
cmpl $0x4d, (%rcx)
setne %al
leal (%rax,%rax,4), %eax
addl $0xa, %eax
jmp 0xa1506
movabsq $0x4148505f45444f43, %rcx # imm = 0x4148505F45444F43
movq %rcx, (%rax)
movl $0x455341, 0x7(%rax)    # imm = 0x455341
xorl %eax, %eax
leaq 0x25540f(%rip), %rcx    # 0x2f679c
cmpl $0x57, (%rcx)
jmp 0xa13db
callq 0x9120
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%r15,%rax)
movw $0x20, 0x8(%r15,%rax)
jmp 0xa13cf
movb $0xf, %al
jmp 0xa13e4
callq 0x9120
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%r15,%rax)
movl $0x202020, 0x7(%r15,%rax) # imm = 0x202020
xorl %eax, %eax
leaq 0x2553c4(%rip), %rcx    # 0x2f679c
cmpl $0x4d, (%rcx)
setne %al
leal (%rax,%rax,4), %eax
addl $0xa, %eax
cmpb $0x0, (%r15)
je 0xa1413
movzbl %al, %edx
leaq 0x284e2c(%rip), %r12    # 0x326220
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
callq 0xe2d2
movq %r12, %rdi
callq 0x9120
addl %r14d, %eax
movl (%r13), %r12d
movl %eax, %r14d
movb $0x0, (%r15)
testl %r12d, %r12d
jne 0xa14bd
leaq 0x255f21(%rip), %rax    # 0x2f7348
cmpl $0x0, (%rax)
je 0xa1455
movq %r15, %rdi
callq 0x9120
movabsq $0x41524f4455455350, %rcx # imm = 0x41524F4455455350
movq %rcx, (%r15,%rax)
movabsq $0x2045474e41524f, %rcx # imm = 0x2045474E41524F
movq %rcx, 0x5(%r15,%rax)
pushq $0x52
jmp 0xa1488
leaq 0x255f60(%rip), %rax    # 0x2f73bc
cmpl $0x0, (%rax)
je 0xa14bd
movq %r15, %rdi
callq 0x9120
movabsq $0x425f4b434f4c4320, %rcx # imm = 0x425F4B434F4C4320
movq %rcx, (%r15,%rax)
movabsq $0x20534149425f4b, %rcx # imm = 0x20534149425F4B
movq %rcx, 0x5(%r15,%rax)
pushq $0x42
popq %rax
leaq 0x25530c(%rip), %rdx    # 0x2f679c
xorl %ecx, %ecx
cmpl %eax, (%rdx)
setne %cl
leal 0xa(%rcx,%rcx,4), %edx
leaq 0x284d7e(%rip), %r12    # 0x326220
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
callq 0xe2d2
movq %r12, %rdi
callq 0x9120
addl %r14d, %eax
movl %eax, %r14d
movb $0x0, (%r15)
leaq 0x255ef8(%rip), %rax    # 0x2f73c0
cmpl $0x0, (%rax)
je 0xa1504
movq %r15, %rdi
callq 0x9120
xorl %ecx, %ecx
leaq 0x2552be(%rip), %rdx    # 0x2f679c
cmpl $0x55, (%rdx)
movabsq $0x296d2841525520, %rdx # imm = 0x296D2841525520
movq %rdx, (%r15,%rax)
setne %cl
leal (%rcx,%rcx,4), %eax
addl $0xa, %eax
movl $0x1, 0x2bb18e(%rip)    # 0x35c690
jmp 0xa1506
movb $0xf, %al
movzbl %al, %edx
leaq 0x284d10(%rip), %r15    # 0x326220
movl %ebx, %edi
movl %r14d, %esi
movq %r15, %rcx
callq 0xe2d2
movq %r15, %rdi
callq 0x9120
addl %r14d, %eax
movl %eax, 0x2bb16a(%rip)    # 0x35c698
xorl %r14d, %r14d
jmp 0xa0f1d