// File: jkingan[P]ladyheather/heathgps.cpp
// Function: parse_scpi_posn()
void parse_scpi_posn()
{
double sign;

   log_packet_id("scpi posn");

   sign = 1.0;
   msg_col = 0;
   if(get_msg_field()) {
      if(msg_field[0] == 'S') sign = (-1.0);
      else if(msg_field[1] == 'S') sign = (-1.0);
   }
   if(get_msg_field()) {
      lat = atof(msg_field);
   }
   if(get_msg_field()) {
      lat += atof(msg_field) / 60.0;
   }
   if(get_msg_field()) {
      lat += atof(msg_field) / 3600.0;
   }
   lat *= sign;

   sign = 1.0;
   if(get_msg_field()) {
      if(msg_field[0] == 'W') sign = (-1.0);
   }
   if(get_msg_field()) {
      lon = atof(msg_field);
   }
   if(get_msg_field()) {
      lon += atof(msg_field) / 60.0;
   }
   if(get_msg_field()) {
      lon += atof(msg_field) / 3600.0;
   }
   lon *= sign;

   if(get_msg_field()) {
      alt = atof(msg_field);
   }
if(debug_file) fprintf(debug_file, "###lla: %.9f %.9f %.3f\n", lat,lon,alt);
   lat = lat * PI / 180.0;
   lon = lon * PI / 180.0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xb0161(%rip), %rdi     # 0x1884b0
callq 0x7add0
movsd 0x96d0c(%rip), %xmm0    # 0x16f068
movsd %xmm0, -0x8(%rbp)
leaq 0x2c2abc(%rip), %rax    # 0x39ae24
movl $0x0, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd83b7
leaq 0x2c28a1(%rip), %rax    # 0x39ac20
movsbl (%rax), %eax
cmpl $0x53, %eax
jne 0xd8396
movsd 0x96d89(%rip), %xmm0    # 0x16f118
movsd %xmm0, -0x8(%rbp)
jmp 0xd83b5
leaq 0x2c2883(%rip), %rax    # 0x39ac20
movsbl 0x1(%rax), %eax
cmpl $0x53, %eax
jne 0xd83b3
movsd 0x96d6a(%rip), %xmm0    # 0x16f118
movsd %xmm0, -0x8(%rbp)
jmp 0xd83b5
jmp 0xd83b7
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd83d8
leaq 0x2c2858(%rip), %rdi    # 0x39ac20
callq 0x9480
leaq 0x293ddc(%rip), %rax    # 0x36c1b0
movsd %xmm0, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd8410
leaq 0x2c2837(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd 0x96c22(%rip), %xmm1    # 0x16f018
divsd %xmm1, %xmm0
leaq 0x293daf(%rip), %rax    # 0x36c1b0
addsd (%rax), %xmm0
leaq 0x293da4(%rip), %rax    # 0x36c1b0
movsd %xmm0, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd8448
leaq 0x2c27ff(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd 0x96be2(%rip), %xmm1    # 0x16f010
divsd %xmm1, %xmm0
leaq 0x293d77(%rip), %rax    # 0x36c1b0
addsd (%rax), %xmm0
leaq 0x293d6c(%rip), %rax    # 0x36c1b0
movsd %xmm0, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x293d5c(%rip), %rax    # 0x36c1b0
mulsd (%rax), %xmm0
leaq 0x293d51(%rip), %rax    # 0x36c1b0
movsd %xmm0, (%rax)
movsd 0x96bfd(%rip), %xmm0    # 0x16f068
movsd %xmm0, -0x8(%rbp)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd8498
leaq 0x2c279f(%rip), %rax    # 0x39ac20
movsbl (%rax), %eax
cmpl $0x57, %eax
jne 0xd8496
movsd 0x96c87(%rip), %xmm0    # 0x16f118
movsd %xmm0, -0x8(%rbp)
jmp 0xd8498
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd84b9
leaq 0x2c2777(%rip), %rdi    # 0x39ac20
callq 0x9480
leaq 0x293d03(%rip), %rax    # 0x36c1b8
movsd %xmm0, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd84f1
leaq 0x2c2756(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd 0x96b41(%rip), %xmm1    # 0x16f018
divsd %xmm1, %xmm0
leaq 0x293cd6(%rip), %rax    # 0x36c1b8
addsd (%rax), %xmm0
leaq 0x293ccb(%rip), %rax    # 0x36c1b8
movsd %xmm0, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd8529
leaq 0x2c271e(%rip), %rdi    # 0x39ac20
callq 0x9480
movsd 0x96b01(%rip), %xmm1    # 0x16f010
divsd %xmm1, %xmm0
leaq 0x293c9e(%rip), %rax    # 0x36c1b8
addsd (%rax), %xmm0
leaq 0x293c93(%rip), %rax    # 0x36c1b8
movsd %xmm0, (%rax)
movsd -0x8(%rbp), %xmm0
leaq 0x293c83(%rip), %rax    # 0x36c1b8
mulsd (%rax), %xmm0
leaq 0x293c78(%rip), %rax    # 0x36c1b8
movsd %xmm0, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xd8565
leaq 0x2c26cb(%rip), %rdi    # 0x39ac20
callq 0x9480
leaq 0x293c5f(%rip), %rax    # 0x36c1c0
movsd %xmm0, (%rax)
leaq 0x1c5004(%rip), %rax    # 0x29d570
cmpq $0x0, (%rax)
je 0xd85ab
leaq 0x1c4ff7(%rip), %rax    # 0x29d570
movq (%rax), %rdi
leaq 0x293c2d(%rip), %rax    # 0x36c1b0
movsd (%rax), %xmm0
leaq 0x293c2a(%rip), %rax    # 0x36c1b8
movsd (%rax), %xmm1
leaq 0x293c27(%rip), %rax    # 0x36c1c0
movsd (%rax), %xmm2
leaq 0xaff16(%rip), %rsi     # 0x1884ba
movb $0x3, %al
callq 0x9550
movsd 0x99015(%rip), %xmm0    # 0x1715c8
leaq 0x293bf6(%rip), %rax    # 0x36c1b0
mulsd (%rax), %xmm0
movsd 0x96ab2(%rip), %xmm1    # 0x16f078
divsd %xmm1, %xmm0
leaq 0x293bdf(%rip), %rax    # 0x36c1b0
movsd %xmm0, (%rax)
movsd 0x98feb(%rip), %xmm0    # 0x1715c8
leaq 0x293bd4(%rip), %rax    # 0x36c1b8
mulsd (%rax), %xmm0
movsd 0x96a88(%rip), %xmm1    # 0x16f078
divsd %xmm1, %xmm0
leaq 0x293bbd(%rip), %rax    # 0x36c1b8
movsd %xmm0, (%rax)
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)