// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
leaq 0x86036(%rip), %rdi     # 0x1250dc
callq 0x58e77
leaq 0x29cb92(%rip), %rax    # 0x33bc44
movl $0x0, (%rax)
callq 0x811da
movsd 0x69fab(%rip), %xmm1    # 0x109070
testl %eax, %eax
je 0x9f0e7
leaq 0x29c970(%rip), %rax    # 0x33ba40
movsd 0x6a020(%rip), %xmm0    # 0x1090f8
cmpb $0x53, (%rax)
je 0x9f0e3
cmpb $0x53, 0x1(%rax)
jne 0x9f0e7
movapd %xmm0, %xmm1
movsd %xmm1, -0x20(%rbp)
callq 0x811da
testl %eax, %eax
je 0x9f10c
leaq 0x29c944(%rip), %rdi    # 0x33ba40
callq 0x9470
leaq 0x26dec8(%rip), %rax    # 0x30cfd0
movsd %xmm0, (%rax)
callq 0x811da
testl %eax, %eax
je 0x9f138
leaq 0x29c924(%rip), %rdi    # 0x33ba40
callq 0x9470
divsd 0x69edf(%rip), %xmm0    # 0x109008
leaq 0x26dea0(%rip), %rax    # 0x30cfd0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
callq 0x811da
testl %eax, %eax
je 0x9f164
leaq 0x29c8f8(%rip), %rdi    # 0x33ba40
callq 0x9470
divsd 0x69ebb(%rip), %xmm0    # 0x109010
leaq 0x26de74(%rip), %rax    # 0x30cfd0
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
leaq 0x26de65(%rip), %rbx    # 0x30cfd0
movsd -0x20(%rbp), %xmm0
mulsd (%rbx), %xmm0
movsd %xmm0, (%rbx)
callq 0x811da
testl %eax, %eax
setne %r14b
leaq 0x29c8b6(%rip), %rax    # 0x33ba40
cmpb $0x57, (%rax)
sete %r15b
callq 0x811da
testl %eax, %eax
je 0x9f1b1
leaq 0x29c89f(%rip), %rdi    # 0x33ba40
callq 0x9470
leaq 0x26de2b(%rip), %rax    # 0x30cfd8
movsd %xmm0, (%rax)
callq 0x811da
testl %eax, %eax
je 0x9f1dd
leaq 0x29c87f(%rip), %rdi    # 0x33ba40
callq 0x9470
divsd 0x69e3a(%rip), %xmm0    # 0x109008
leaq 0x26de03(%rip), %rax    # 0x30cfd8
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
andb %r15b, %r14b
callq 0x811da
testl %eax, %eax
je 0x9f20c
leaq 0x29c850(%rip), %rdi    # 0x33ba40
callq 0x9470
divsd 0x69e13(%rip), %xmm0    # 0x109010
leaq 0x26ddd4(%rip), %rax    # 0x30cfd8
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
leaq 0x26ddc5(%rip), %r15    # 0x30cfd8
movsd (%r15), %xmm0
testb %r14b, %r14b
je 0x9f224
xorps 0x69f7c(%rip), %xmm0    # 0x1091a0
movsd %xmm0, (%r15)
callq 0x811da
testl %eax, %eax
je 0x9f249
leaq 0x29c807(%rip), %rdi    # 0x33ba40
callq 0x9470
leaq 0x26dd9b(%rip), %rax    # 0x30cfe0
movsd %xmm0, (%rax)
leaq 0x19f140(%rip), %rax    # 0x23e390
movq (%rax), %rdi
testq %rdi, %rdi
je 0x9f27a
movsd (%rbx), %xmm0
movsd (%r15), %xmm1
leaq 0x26dd78(%rip), %rax    # 0x30cfe0
movsd (%rax), %xmm2
leaq 0x85e73(%rip), %rsi     # 0x1250e6
movb $0x3, %al
callq 0x9560
movsd 0x6c596(%rip), %xmm0    # 0x10b818
movsd (%rbx), %xmm1
mulsd %xmm0, %xmm1
movsd 0x6c58e(%rip), %xmm2    # 0x10b820
divsd %xmm2, %xmm1
movsd %xmm1, (%rbx)
mulsd (%r15), %xmm0
divsd %xmm2, %xmm0
movsd %xmm0, (%r15)
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq