// File: /workspace/github_cpp_makefile_star2_O2/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 0x75767
testl %eax, %eax
je 0x77dd8
leaq 0x2adcd9(%rip), %rdi    # 0x325a40
leaq 0x95065(%rip), %rsi     # 0x10cdd3
callq 0x9090
testq %rax, %rax
jne 0x77d84
leaq 0x2adcc1(%rip), %rdi    # 0x325a40
callq 0x988f
leaq 0x2adcb5(%rip), %rdi    # 0x325a40
leaq 0x95047(%rip), %rsi     # 0x10cdd9
callq 0x9090
testq %rax, %rax
je 0x77da2
popq %rbp
jmp 0x7723f
leaq 0x2adc97(%rip), %rdi    # 0x325a40
leaq 0x9502f(%rip), %rsi     # 0x10cddf
callq 0x9090
testq %rax, %rax
je 0x77dc0
popq %rbp
jmp 0x772e2
leaq 0x2adc79(%rip), %rdi    # 0x325a40
leaq 0x95017(%rip), %rsi     # 0x10cde5
callq 0x9090
testq %rax, %rax
je 0x77dda
popq %rbp
retq
leaq 0x2adc5f(%rip), %rdi    # 0x325a40
leaq 0x95003(%rip), %rsi     # 0x10cdeb
callq 0x9090
testq %rax, %rax
je 0x77df8
popq %rbp
jmp 0x77aa7
leaq 0x2adc41(%rip), %rdi    # 0x325a40
leaq 0x94fcd(%rip), %rsi     # 0x10cdd3
callq 0x9090
testq %rax, %rax
je 0x77e16
popq %rbp
jmp 0x775e8
leaq 0x2adc23(%rip), %rdi    # 0x325a40
leaq 0x94fcd(%rip), %rsi     # 0x10cdf1
callq 0x9090
testq %rax, %rax
jne 0x77dd8
leaq 0x2adc0b(%rip), %rdi    # 0x325a40
leaq 0x94fbb(%rip), %rsi     # 0x10cdf7
callq 0x9090
testq %rax, %rax
jne 0x77dd8
leaq 0x2adbf3(%rip), %rdi    # 0x325a40
leaq 0x94fa9(%rip), %rsi     # 0x10cdfd
callq 0x9090
testq %rax, %rax
jne 0x77dd8
leaq 0x2adbd7(%rip), %rdi    # 0x325a40
leaq 0x94f93(%rip), %rsi     # 0x10ce03
callq 0x9090
testq %rax, %rax
je 0x77e80
popq %rbp
jmp 0x7784c
leaq 0x2adbb9(%rip), %rdi    # 0x325a40
leaq 0x94f7b(%rip), %rsi     # 0x10ce09
callq 0x9090
testq %rax, %rax
je 0x77e9e
popq %rbp
jmp 0x7735d
leaq 0x2adb9b(%rip), %rdi    # 0x325a40
leaq 0x94f63(%rip), %rsi     # 0x10ce0f
callq 0x9090
testq %rax, %rax
je 0x77ebc
popq %rbp
jmp 0x774f0
leaq 0x2adb7d(%rip), %rdi    # 0x325a40
leaq 0x94f4b(%rip), %rsi     # 0x10ce15
callq 0x9090
testq %rax, %rax
je 0x77eda
popq %rbp
jmp 0x77584
leaq 0x2adb5f(%rip), %rdi    # 0x325a40
leaq 0x94f33(%rip), %rsi     # 0x10ce1b
callq 0x9090
testq %rax, %rax
je 0x77ef8
popq %rbp
jmp 0x777e9
leaq 0x2adb41(%rip), %rdi    # 0x325a40
leaq 0x94f1b(%rip), %rsi     # 0x10ce21
callq 0x9090
testq %rax, %rax
je 0x77f16
popq %rbp
jmp 0x77bd5
leaq 0x2adb23(%rip), %rdi    # 0x325a40
leaq 0x94f03(%rip), %rsi     # 0x10ce27
callq 0x9090
testq %rax, %rax
je 0x77f34
popq %rbp
jmp 0x75767
leaq 0x2adb05(%rip), %rdi    # 0x325a40
leaq 0x94eeb(%rip), %rsi     # 0x10ce2d
callq 0x9090
testq %rax, %rax
je 0x77f52
popq %rbp
jmp 0x77bad
leaq 0x2adae7(%rip), %rdi    # 0x325a40
leaq 0x94ed3(%rip), %rsi     # 0x10ce33
callq 0x9090
testq %rax, %rax
je 0x77f70
popq %rbp
jmp 0x7746f
leaq 0x2adac9(%rip), %rdi    # 0x325a40
leaq 0x94ebb(%rip), %rsi     # 0x10ce39
callq 0x9090
testq %rax, %rax
jne 0x77f2e
leaq 0x2adab1(%rip), %rdi    # 0x325a40
leaq 0x94ea9(%rip), %rsi     # 0x10ce3f
callq 0x9090
testq %rax, %rax
jne 0x77f2e
jmp 0x77dd8