// File: 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
subq $0x10, %rsp
callq 0xb0bd0
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb5178
leaq 0x2e5b2e(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, -0x4(%rbp)
leaq 0x2b72b7(%rip), %rax    # 0x36c3b8
movl (%rax), %ecx
andl $-0x21, %ecx
leaq 0x2b72ab(%rip), %rax    # 0x36c3b8
movl %ecx, (%rax)
cmpl $0x0, -0x4(%rbp)
jne 0xb5121
leaq 0x2b7194(%rip), %rax    # 0x36c2b0
movb $0x4, (%rax)
jmp 0xb516e
cmpl $0x1, -0x4(%rbp)
je 0xb512d
cmpl $0x2, -0x4(%rbp)
jne 0xb514e
leaq 0x2b717c(%rip), %rax    # 0x36c2b0
movb $0xb, (%rax)
leaq 0x2b727a(%rip), %rax    # 0x36c3b8
movl (%rax), %ecx
orl $0x20, %ecx
leaq 0x2b726e(%rip), %rax    # 0x36c3b8
movl %ecx, (%rax)
jmp 0xb516c
cmpl $0x3, -0x4(%rbp)
jne 0xb5160
leaq 0x2b7155(%rip), %rax    # 0x36c2b0
movb $0x7, (%rax)
jmp 0xb516a
leaq 0x2b7149(%rip), %rax    # 0x36c2b0
movb $0x63, (%rax)
jmp 0xb516c
jmp 0xb516e
leaq 0x2b7478(%rip), %rax    # 0x36c5ed
movb $0x57, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb5191
leaq 0x2e5a97(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, -0x4(%rbp)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb51aa
leaq 0x2e5a7e(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, -0x4(%rbp)
movl $0x0, -0x4(%rbp)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb51ca
leaq 0x2e5a5e(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, -0x4(%rbp)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb5209
leaq 0x2e5a45(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, %ecx
subl -0x4(%rbp), %ecx
leaq 0x2b7e88(%rip), %rax    # 0x36d074
movl %ecx, (%rax)
leaq 0x2b7e7f(%rip), %rax    # 0x36d074
cmpl $0x0, (%rax)
jge 0xb5207
leaq 0x2b7e73(%rip), %rax    # 0x36d074
movl $0x0, (%rax)
jmp 0xb5209
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb5244
leaq 0x2e5a06(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, %ecx
leaq 0x2e7264(%rip), %rax    # 0x39c48c
movl %ecx, (%rax)
leaq 0x1c506f(%rip), %rax    # 0x27a2a0
movl $0x1, (%rax)
leaq 0x2b736a(%rip), %rax    # 0x36c5a8
movl $0x57, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb5265
leaq 0x2e59cb(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, %ecx
leaq 0x1c5045(%rip), %rax    # 0x27a2a8
movl %ecx, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb5286
leaq 0x2e59aa(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, %ecx
leaq 0x2e7204(%rip), %rax    # 0x39c488
movl %ecx, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb529f
leaq 0x2e5989(%rip), %rdi    # 0x39ac20
callq 0x98d0
movl %eax, -0x4(%rbp)
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)