// File: /workspace/github_cpp_makefile_star2_O1/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, 0x2c1890(%rip)    # 0x372698
leaq 0x167ac1(%rip), %r13    # 0x2188d0
movq (%r13), %rcx
cmpq $0x7ffffff, %rcx        # imm = 0x7FFFFFF
jle 0xb0e3f
cmpq $0x8000000, %rcx        # imm = 0x8000000
je 0xb0e8d
cmpq $0x10000000, %rcx       # imm = 0x10000000
je 0xb0e8d
movabsq $0x1000000000, %rax     # imm = 0x1000000000
cmpq %rax, %rcx
je 0xb0e8d
jmp 0xb0e51
cmpq $0x20000, %rcx          # imm = 0x20000
je 0xb0eab
cmpq $0x1000000, %rcx        # imm = 0x1000000
je 0xb0e8d
cmpq $0x400000, %rcx         # imm = 0x400000
sete %al
leaq 0x25cb56(%rip), %rdx    # 0x30d9b8
cmpl $0x0, (%rdx)
setne %sil
leaq 0x25cb44(%rip), %rdx    # 0x30d9b4
movl (%rdx), %edx
testl %edx, %edx
sete %dil
andb %al, %dil
andb %sil, %dil
cmpb $0x1, %dil
je 0xb0e8d
cmpq $0x2000000, %rcx        # imm = 0x2000000
jne 0xb0ec8
movl %ebx, %edi
movl %r15d, %esi
callq 0xaf600
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 0xca410
addl $0xc0, %ebx
leaq 0x18e058(%rip), %rax    # 0x23ef1c
movl %ebx, (%rax)
jmp 0xb0e97
movl $0x1, %eax
movabsq $0x105b8b0400, %rsi     # imm = 0x105B8B0400
testq %rsi, %rcx
jne 0xb0e9c
testl %edx, %edx
sete %dl
cmpq $0x400000, %rcx         # imm = 0x400000
sete %cl
leaq 0x16a0de(%rip), %rsi    # 0x21afd0
cmpl $0x0, (%rsi)
setne %sil
leaq 0x25c4c4(%rip), %rdi    # 0x30d3c4
cmpl $0x0, (%rdi)
sete %dil
testb %dil, %sil
jne 0xb0e9c
andb %dl, %cl
jne 0xb0e9c
leaq 0x28b309(%rip), %rcx    # 0x33c220
movabsq $0x202020204e525020, %rax # imm = 0x202020204E525020
movq %rax, (%rcx)
movb $0x0, 0x8(%rcx)
leaq 0x25b86d(%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 0xe7d0
leaq 0x25b835(%rip), %rax    # 0x30c784
cmpl $0x2, (%rax)
jl 0xb0f75
xorl %eax, %eax
cmpl $0x50, (%r14)
setne %al
leal 0x1e(%r15), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28b2b2(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe7d0
leaq 0x28b2a4(%rip), %r12    # 0x33c220
movq %r12, %rdi
callq 0x9120
movq %rax, %r14
addl %r15d, %r14d
leaq 0x75f0a(%rip), %rsi     # 0x126e9b
movq %r12, %rdi
movl $0x1, %edx
xorl %eax, %eax
callq 0x9060
xorl %eax, %eax
leaq 0x25b7f3(%rip), %rcx    # 0x30c79c
cmpl $0x41, (%rcx)
setne %al
leal 0xa(%rax,%rax,4), %edx
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
leaq 0x25b7da(%rip), %r12    # 0x30c79c
callq 0xe7d0
leaq 0x25b7b6(%rip), %rax    # 0x30c784
cmpl $0x2, (%rax)
jl 0xb0ff5
xorl %eax, %eax
cmpl $0x41, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28b232(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe7d0
leaq 0x28b224(%rip), %r15    # 0x33c220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x75e95(%rip), %rsi     # 0x126ea3
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 0xe7d0
leaq 0x25b745(%rip), %rax    # 0x30c784
cmpl $0x2, (%rax)
jl 0xb1066
xorl %eax, %eax
cmpl $0x45, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28b1c1(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe7d0
leaq 0x28b1b3(%rip), %r15    # 0x33c220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x18de79(%rip), %rax    # 0x23eef8
movq (%rax), %rdx
leaq 0x7e975(%rip), %rsi     # 0x12f9fe
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 0xe7d0
leaq 0x25b6cf(%rip), %rax    # 0x30c784
cmpl $0x2, (%rax)
jl 0xb10dc
xorl %eax, %eax
cmpl $0x53, (%r12)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28b14b(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe7d0
leaq 0x28b13d(%rip), %r15    # 0x33c220
movq %r15, %rdi
callq 0x9120
addl %eax, %r14d
leaq 0x18de27(%rip), %rax    # 0x23ef1c
movl %ebx, (%rax)
leaq 0x25c242(%rip), %rcx    # 0x30d340
cmpl $0x0, (%rcx)
je 0xb118e
leaq 0x25b676(%rip), %rax    # 0x30c784
cmpl $0x1, (%rax)
jg 0xb118e
movq %rax, %r12
movabsq $0x52454c50504f4420, %rax # imm = 0x52454C50504F4420
movq %rax, (%r15)
movw $0x20, 0x8(%r15)
xorl %eax, %eax
leaq 0x25b669(%rip), %rcx    # 0x30c79c
cmpl $0x44, (%rcx)
setne %al
leal 0xa(%rax,%rax,4), %edx
movl %ebx, %edi
movl %r14d, %esi
movq %r15, %rcx
callq 0xe7d0
cmpl $0x2, (%r12)
jl 0xb1178
xorl %eax, %eax
leaq 0x25b642(%rip), %rcx    # 0x30c79c
cmpl $0x44, (%rcx)
setne %al
leal 0x1e(%r14), %esi
leal (%rax,%rax,4), %edx
addl $0xa, %edx
leaq 0x28b0af(%rip), %rcx    # 0x33c220
movl %ebx, %edi
callq 0xe7d0
leaq 0x28b0a1(%rip), %rdi    # 0x33c220
callq 0x9120
addl %eax, %r14d
leaq 0x25c1b2(%rip), %rcx    # 0x30d340
movl $0x0, 0x2c14f8(%rip)    # 0x372690
movb $0x0, (%r15)
cmpl $0x0, 0x2c14f1(%rip)    # 0x372694
je 0xb1211
cmpq $0x20000000, (%r13)     # imm = 0x20000000
jne 0xb1283
leaq 0x25b5ca(%rip), %rax    # 0x30c784
cmpl $0x1, (%rax)
jg 0xb1283
movb $0x0, (%r15)
leaq 0x25c1f2(%rip), %rax    # 0x30d3c0
cmpl $0x0, (%rax)
je 0xb14ad
movq %r15, %rdi
callq 0x9120
xorl %ecx, %ecx
leaq 0x25b5b4(%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, 0x2c1484(%rip)    # 0x372690
jmp 0xb14af
leaq 0x25c12c(%rip), %rax    # 0x30d344
cmpl $0x0, (%rax)
leaq 0x25b582(%rip), %r13    # 0x30c7a4
je 0xb12c9
cmpl $0x0, (%r13)
jne 0xb12c9
leaq 0x25c336(%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
leaq 0x25b53a(%rip), %rdx    # 0x30c79c
jne 0xb126a
jnp 0xb1322
movabsq $0x5245495252414320, %rcx # imm = 0x5245495252414320
movq %rcx, (%rax)
movl $0x202052, 0x7(%rax)    # imm = 0x202052
jmp 0xb1336
leaq 0x25c0b2(%rip), %rax    # 0x30d33c
movl (%rax), %r13d
movb $0xf, %al
testl %r13d, %r13d
je 0xb14af
cmpl $0x0, (%rcx)
jne 0xb14af
movb $0x0, (%r15)
movq %r15, %rdi
callq 0x9120
addq %r15, %rax
cmpl $0x5, %r13d
jne 0xb12fb
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%rax)
movb $0x0, 0x8(%rax)
jmp 0xb1308
leaq 0x25c06c(%rip), %rax    # 0x30d33c
movl (%rax), %eax
testl %eax, %eax
leaq 0x25b4c1(%rip), %r12    # 0x30c79c
je 0xb135a
movq %r15, %rdi
cmpl $0x5, %eax
je 0xb133d
cmpl $0x4, %eax
jne 0xb135e
callq 0x9120
movabsq $0x2020455441545320, %rcx # imm = 0x2020455441545320
jmp 0xb134c
movl $0x204554, 0x3(%rax)    # imm = 0x204554
movl $0x54415453, (%rax)     # imm = 0x54415453
leaq 0x25b48d(%rip), %rcx    # 0x30c79c
xorl %eax, %eax
cmpl $0x4d, (%rcx)
setne %al
leal (%rax,%rax,4), %eax
addl $0xa, %eax
jmp 0xb14af
movabsq $0x4148505f45444f43, %rcx # imm = 0x4148505F45444F43
movq %rcx, (%rax)
movl $0x455341, 0x7(%rax)    # imm = 0x455341
xorl %eax, %eax
cmpl $0x57, (%rdx)
jmp 0xb1381
callq 0x9120
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%r15,%rax)
movw $0x20, 0x8(%r15,%rax)
jmp 0xb137a
movb $0xf, %al
jmp 0xb138a
callq 0x9120
movabsq $0x2045544154532020, %rcx # imm = 0x2045544154532020
movq %rcx, (%r15,%rax)
movl $0x202020, 0x7(%r15,%rax) # imm = 0x202020
xorl %eax, %eax
cmpl $0x4d, (%r12)
setne %al
leal (%rax,%rax,4), %eax
addl $0xa, %eax
cmpb $0x0, (%r15)
je 0xb13b5
movzbl %al, %edx
leaq 0x28ae86(%rip), %r12    # 0x33c220
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
callq 0xe7d0
movq %r12, %rdi
callq 0x9120
addl %r14d, %eax
movl %eax, %r14d
movb $0x0, (%r15)
cmpl $0x0, (%r13)
jne 0xb1466
leaq 0x25bf7d(%rip), %rax    # 0x30d348
cmpl $0x0, (%rax)
je 0xb13fc
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 0xb1432
leaq 0x25bfb9(%rip), %rax    # 0x30d3bc
cmpl $0x0, (%rax)
je 0xb1466
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 0x25b363(%rip), %rdx    # 0x30c79c
xorl %ecx, %ecx
cmpl %eax, (%rdx)
setne %cl
leal 0xa(%rcx,%rcx,4), %edx
leaq 0x28add5(%rip), %r12    # 0x33c220
movl %ebx, %edi
movl %r14d, %esi
movq %r12, %rcx
callq 0xe7d0
movq %r12, %rdi
callq 0x9120
addl %r14d, %eax
movl %eax, %r14d
movb $0x0, (%r15)
leaq 0x25bf4f(%rip), %rax    # 0x30d3c0
cmpl $0x0, (%rax)
je 0xb14ad
movq %r15, %rdi
callq 0x9120
xorl %ecx, %ecx
leaq 0x25b315(%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, 0x2c11e5(%rip)    # 0x372690
jmp 0xb14af
movb $0xf, %al
movzbl %al, %edx
leaq 0x28ad67(%rip), %r15    # 0x33c220
movl %ebx, %edi
movl %r14d, %esi
movq %r15, %rcx
callq 0xe7d0
movq %r15, %rdi
callq 0x9120
addl %r14d, %eax
movl %eax, 0x2c11c1(%rip)    # 0x372698
xorl %eax, %eax
jmp 0xb0e9c