// File: /workspace/github_cpp_makefile_star2_O1/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 0x811da
testl %eax, %eax
je 0x83a41
leaq 0x2b8070(%rip), %rdi    # 0x33ba40
leaq 0x9f3d4(%rip), %rsi     # 0x122dab
callq 0x9090
testq %rax, %rax
jne 0x839ed
leaq 0x2b8058(%rip), %rdi    # 0x33ba40
callq 0x9899
leaq 0x2b804c(%rip), %rdi    # 0x33ba40
leaq 0x9f3b6(%rip), %rsi     # 0x122db1
callq 0x9090
testq %rax, %rax
je 0x83a0b
popq %rbp
jmp 0x82dab
leaq 0x2b802e(%rip), %rdi    # 0x33ba40
leaq 0x9f39e(%rip), %rsi     # 0x122db7
callq 0x9090
testq %rax, %rax
je 0x83a29
popq %rbp
jmp 0x82e55
leaq 0x2b8010(%rip), %rdi    # 0x33ba40
leaq 0x9f386(%rip), %rsi     # 0x122dbd
callq 0x9090
testq %rax, %rax
je 0x83a43
popq %rbp
retq
leaq 0x2b7ff6(%rip), %rdi    # 0x33ba40
leaq 0x9f372(%rip), %rsi     # 0x122dc3
callq 0x9090
testq %rax, %rax
je 0x83a61
popq %rbp
jmp 0x836fb
leaq 0x2b7fd8(%rip), %rdi    # 0x33ba40
leaq 0x9f33c(%rip), %rsi     # 0x122dab
callq 0x9090
testq %rax, %rax
je 0x83a7f
popq %rbp
jmp 0x8319f
leaq 0x2b7fba(%rip), %rdi    # 0x33ba40
leaq 0x9f33c(%rip), %rsi     # 0x122dc9
callq 0x9090
testq %rax, %rax
jne 0x83a41
leaq 0x2b7fa2(%rip), %rdi    # 0x33ba40
leaq 0x9f32a(%rip), %rsi     # 0x122dcf
callq 0x9090
testq %rax, %rax
jne 0x83a41
leaq 0x2b7f8a(%rip), %rdi    # 0x33ba40
leaq 0x9f318(%rip), %rsi     # 0x122dd5
callq 0x9090
testq %rax, %rax
jne 0x83a41
leaq 0x2b7f6e(%rip), %rdi    # 0x33ba40
leaq 0x9f302(%rip), %rsi     # 0x122ddb
callq 0x9090
testq %rax, %rax
je 0x83ae9
popq %rbp
jmp 0x8341c
leaq 0x2b7f50(%rip), %rdi    # 0x33ba40
leaq 0x9f2ea(%rip), %rsi     # 0x122de1
callq 0x9090
testq %rax, %rax
je 0x83b07
popq %rbp
jmp 0x82ed0
leaq 0x2b7f32(%rip), %rdi    # 0x33ba40
leaq 0x9f2d2(%rip), %rsi     # 0x122de7
callq 0x9090
testq %rax, %rax
je 0x83b25
popq %rbp
jmp 0x830a8
leaq 0x2b7f14(%rip), %rdi    # 0x33ba40
leaq 0x9f2ba(%rip), %rsi     # 0x122ded
callq 0x9090
testq %rax, %rax
je 0x83b43
popq %rbp
jmp 0x8313b
leaq 0x2b7ef6(%rip), %rdi    # 0x33ba40
leaq 0x9f2a2(%rip), %rsi     # 0x122df3
callq 0x9090
testq %rax, %rax
je 0x83b61
popq %rbp
jmp 0x833b9
leaq 0x2b7ed8(%rip), %rdi    # 0x33ba40
leaq 0x9f28a(%rip), %rsi     # 0x122df9
callq 0x9090
testq %rax, %rax
je 0x83b7f
popq %rbp
jmp 0x83831
leaq 0x2b7eba(%rip), %rdi    # 0x33ba40
leaq 0x9f272(%rip), %rsi     # 0x122dff
callq 0x9090
testq %rax, %rax
je 0x83b9d
popq %rbp
jmp 0x811da
leaq 0x2b7e9c(%rip), %rdi    # 0x33ba40
leaq 0x9f25a(%rip), %rsi     # 0x122e05
callq 0x9090
testq %rax, %rax
je 0x83bbb
popq %rbp
jmp 0x83809
leaq 0x2b7e7e(%rip), %rdi    # 0x33ba40
leaq 0x9f242(%rip), %rsi     # 0x122e0b
callq 0x9090
testq %rax, %rax
je 0x83bd9
popq %rbp
jmp 0x8302b
leaq 0x2b7e60(%rip), %rdi    # 0x33ba40
leaq 0x9f22a(%rip), %rsi     # 0x122e11
callq 0x9090
testq %rax, %rax
jne 0x83b97
leaq 0x2b7e48(%rip), %rdi    # 0x33ba40
leaq 0x9f218(%rip), %rsi     # 0x122e17
callq 0x9090
testq %rax, %rax
jne 0x83b97
jmp 0x83a41