// File: /workspace/github_cpp_makefile_star2_O3/jkingan[P]ladyheather/heathgps.cpp
// Function: parse_cry()
void parse_cry()
{
int i;

   get_msg_field();  // eat the TPS3

   if(get_msg_field()) {  // pos mode
      i = atoi(msg_field);
      minor_alarms &= (~MINOR_SURVEY);
      if(i == 0) {
         rcvr_mode = RCVR_MODE_3D;
      }
      else if((i == 1) || (i == 2)) {
         rcvr_mode = RCVR_MODE_SURVEY;
         minor_alarms |= MINOR_SURVEY;
      }
      else if(i == 3) {
         rcvr_mode = RCVR_MODE_HOLD;
      }
      else {
         rcvr_mode = RCVR_MODE_UNKNOWN;
      }
      have_rcvr_mode = 87;
   }

   if(get_msg_field()) {  // sigma
      i = atoi(msg_field);
   }

   if(get_msg_field()) {  // sigma thresh
      i = atoi(msg_field);
   }

   i = 0;
   if(get_msg_field()) {  // survey samples taken so far
      i = atoi(msg_field);
   }

   if(get_msg_field()) {  // survey time in minutes
      survey_secs = atoi(msg_field) - i;
      if(survey_secs < 0) survey_secs = 0;
   }

   if(get_msg_field()) {  // traim solution
      traim_alarm = atoi(msg_field);
traim_mode = 1;
      have_traim = 87;
   }

   if(get_msg_field()) {  // traim status
      traim_status = atoi(msg_field);
   }

   if(get_msg_field()) {  // removed sat count
      traim_deleted = atoi(msg_field);
   }

   if(get_msg_field()) {  // reserved
      i = atohex(msg_field);
   }

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
callq 0x810b1
callq 0x810b1
testl %eax, %eax
je 0x84015
leaq 0x2b7a8b(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x289217(%rip), %rcx    # 0x30d1d8
movl (%rcx), %edx
movl %edx, %esi
andl $-0x21, %esi
movl %esi, (%rcx)
testl %eax, %eax
je 0x83fe4
cmpl $0x2, %eax
ja 0x83ff0
leaq 0x2890f6(%rip), %rax    # 0x30d0d0
movb $0xb, (%rax)
orl $0x20, %edx
movl %edx, (%rcx)
jmp 0x8400b
leaq 0x2890e5(%rip), %rax    # 0x30d0d0
movb $0x4, (%rax)
jmp 0x8400b
cmpl $0x3, %eax
jne 0x84001
leaq 0x2890d4(%rip), %rax    # 0x30d0d0
movb $0x7, (%rax)
jmp 0x8400b
leaq 0x2890c8(%rip), %rax    # 0x30d0d0
movb $0x63, (%rax)
leaq 0x2893fb(%rip), %rax    # 0x30d40d
movb $0x57, (%rax)
callq 0x810b1
callq 0x810b1
callq 0x810b1
testl %eax, %eax
je 0x84038
leaq 0x2b7a11(%rip), %rdi    # 0x33ba40
callq 0x95e0
movl %eax, %ebx
jmp 0x8403a
xorl %ebx, %ebx
callq 0x810b1
testl %eax, %eax
je 0x84061
leaq 0x2b79f6(%rip), %rdi    # 0x33ba40
callq 0x95e0
subl %ebx, %eax
xorl %ecx, %ecx
testl %eax, %eax
cmovgl %eax, %ecx
leaq 0x289e35(%rip), %rax    # 0x30de94
movl %ecx, (%rax)
callq 0x810b1
testl %eax, %eax
je 0x84099
leaq 0x2b79cf(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x2b922f(%rip), %rcx    # 0x33d2ac
movl %eax, (%rcx)
leaq 0x19703a(%rip), %rax    # 0x21b0c0
movl $0x1, (%rax)
leaq 0x289335(%rip), %rax    # 0x30d3c8
movl $0x57, (%rax)
callq 0x810b1
testl %eax, %eax
je 0x840b7
leaq 0x2b7997(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x197013(%rip), %rcx    # 0x21b0c8
movl %eax, (%rcx)
callq 0x810b1
testl %eax, %eax
je 0x840d5
leaq 0x2b7979(%rip), %rdi    # 0x33ba40
callq 0x95e0
leaq 0x2b91d5(%rip), %rcx    # 0x33d2a8
movl %eax, (%rcx)
callq 0x810b1
testl %eax, %eax
je 0x840f0
leaq 0x2b795b(%rip), %rdi    # 0x33ba40
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x98c6
addq $0x8, %rsp
popq %rbx
popq %rbp
retq