// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathgps.cpp
// Function: parse_pfec()
void parse_pfec()
{

   // Furuno proprietary messages

   if(get_msg_field()) {  // get the message identifier string
      if(strstr(msg_field, "GPssd")) ;  // message has lower case data
      else strupr(msg_field);
   }
   else return;

   if     (strstr(msg_field, "GPACC")) parse_gpacc();   // satellie accuracy
   else if(strstr(msg_field, "GPANC")) parse_gpanc();   // satellite health
   else if(strstr(msg_field, "GPAST")) parse_gpast();   // * posn,alt/speed/etc - we get from NMEA sentences
   else if(strstr(msg_field, "GPTST")) parse_gptst();   // test results
   else if(strstr(msg_field, "GPssd")) parse_gpssd();   // GPset data
   else if(strstr(msg_field, "GPISD")) parse_gpisd();   // * sentence output rates - we don't need this
   else if(strstr(msg_field, "GPDIE")) parse_gpdie();   // * DGPS status - we don't need this
   else if(strstr(msg_field, "GPTLP")) parse_gptlp();   // * leapseoncd info - we get this from gptps
   else if(strstr(msg_field, "GPTPS")) parse_gptps();   // time info
   else if(strstr(msg_field, "GPGPT")) parse_gpgpt();   // GPS time info
   else if(strstr(msg_field, "GPRRM")) parse_gprrm();   // traim info
   else if(strstr(msg_field, "GPRSD")) parse_gprsd();   // traim config  - gprrq
   else if(strstr(msg_field, "GPTMD")) parse_gptmd();   // survey status - gptmq
   else if(strstr(msg_field, "GPWAV")) parse_gpwav();   // SBAS sat info *
   else if(strstr(msg_field, "GPSTD")) parse_gpstd();   // position fix method  - gpstq
   else if(strstr(msg_field, "GPWAS")) parse_gpwas();   // SBAS posion fix params - gpwaq
   else if(strstr(msg_field, "GPMGE")) parse_gpmge();   // excluded SBAS sats - gpmgq 
   else if(strstr(msg_field, "GPPSP")) parse_gppsp();   // forced SBAS sat - gppsq
   else if(strstr(msg_field, "GPPRI")) parse_gppri();   // satellie position fix status - gpprq
   else if(strstr(msg_field, "GPGAC")) parse_gpgac();   // * SBAS sat almanac status gpgap - gpgaq
   else parse_gp_unkn();                                // * unknown message
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
callq 0x810b1
testl %eax, %eax
je 0x8394a
leaq 0x2b8167(%rip), %rdi    # 0x33ba40
leaq 0x9f5ab(%rip), %rsi     # 0x122e8b
callq 0x9090
testq %rax, %rax
jne 0x838f6
leaq 0x2b814f(%rip), %rdi    # 0x33ba40
callq 0x9899
leaq 0x2b8143(%rip), %rdi    # 0x33ba40
leaq 0x9f58d(%rip), %rsi     # 0x122e91
callq 0x9090
testq %rax, %rax
je 0x83914
popq %rbp
jmp 0x82cb3
leaq 0x2b8125(%rip), %rdi    # 0x33ba40
leaq 0x9f575(%rip), %rsi     # 0x122e97
callq 0x9090
testq %rax, %rax
je 0x83932
popq %rbp
jmp 0x82d5d
leaq 0x2b8107(%rip), %rdi    # 0x33ba40
leaq 0x9f55d(%rip), %rsi     # 0x122e9d
callq 0x9090
testq %rax, %rax
je 0x8394c
popq %rbp
retq
leaq 0x2b80ed(%rip), %rdi    # 0x33ba40
leaq 0x9f549(%rip), %rsi     # 0x122ea3
callq 0x9090
testq %rax, %rax
je 0x8396a
popq %rbp
jmp 0x83607
leaq 0x2b80cf(%rip), %rdi    # 0x33ba40
leaq 0x9f513(%rip), %rsi     # 0x122e8b
callq 0x9090
testq %rax, %rax
je 0x83988
popq %rbp
jmp 0x830b8
leaq 0x2b80b1(%rip), %rdi    # 0x33ba40
leaq 0x9f513(%rip), %rsi     # 0x122ea9
callq 0x9090
testq %rax, %rax
jne 0x8394a
leaq 0x2b8099(%rip), %rdi    # 0x33ba40
leaq 0x9f501(%rip), %rsi     # 0x122eaf
callq 0x9090
testq %rax, %rax
jne 0x8394a
leaq 0x2b8081(%rip), %rdi    # 0x33ba40
leaq 0x9f4ef(%rip), %rsi     # 0x122eb5
callq 0x9090
testq %rax, %rax
jne 0x8394a
leaq 0x2b8065(%rip), %rdi    # 0x33ba40
leaq 0x9f4d9(%rip), %rsi     # 0x122ebb
callq 0x9090
testq %rax, %rax
je 0x839f2
popq %rbp
jmp 0x83328
leaq 0x2b8047(%rip), %rdi    # 0x33ba40
leaq 0x9f4c1(%rip), %rsi     # 0x122ec1
callq 0x9090
testq %rax, %rax
je 0x83a10
popq %rbp
jmp 0x82de9
leaq 0x2b8029(%rip), %rdi    # 0x33ba40
leaq 0x9f4a9(%rip), %rsi     # 0x122ec7
callq 0x9090
testq %rax, %rax
je 0x83a2e
popq %rbp
jmp 0x82fc1
leaq 0x2b800b(%rip), %rdi    # 0x33ba40
leaq 0x9f491(%rip), %rsi     # 0x122ecd
callq 0x9090
testq %rax, %rax
je 0x83a4c
popq %rbp
jmp 0x83054
leaq 0x2b7fed(%rip), %rdi    # 0x33ba40
leaq 0x9f479(%rip), %rsi     # 0x122ed3
callq 0x9090
testq %rax, %rax
je 0x83a6a
popq %rbp
jmp 0x832c5
leaq 0x2b7fcf(%rip), %rdi    # 0x33ba40
leaq 0x9f461(%rip), %rsi     # 0x122ed9
callq 0x9090
testq %rax, %rax
je 0x83a88
popq %rbp
jmp 0x8373a
leaq 0x2b7fb1(%rip), %rdi    # 0x33ba40
leaq 0x9f449(%rip), %rsi     # 0x122edf
callq 0x9090
testq %rax, %rax
je 0x83aa6
popq %rbp
jmp 0x810b1
leaq 0x2b7f93(%rip), %rdi    # 0x33ba40
leaq 0x9f431(%rip), %rsi     # 0x122ee5
callq 0x9090
testq %rax, %rax
je 0x83ac4
popq %rbp
jmp 0x83712
leaq 0x2b7f75(%rip), %rdi    # 0x33ba40
leaq 0x9f419(%rip), %rsi     # 0x122eeb
callq 0x9090
testq %rax, %rax
je 0x83ae2
popq %rbp
jmp 0x82f44
leaq 0x2b7f57(%rip), %rdi    # 0x33ba40
leaq 0x9f401(%rip), %rsi     # 0x122ef1
callq 0x9090
testq %rax, %rax
jne 0x83aa0
leaq 0x2b7f3f(%rip), %rdi    # 0x33ba40
leaq 0x9f3ef(%rip), %rsi     # 0x122ef7
callq 0x9090
testq %rax, %rax
jne 0x83aa0
jmp 0x8394a