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

   log_packet_id("dop/almanac");

   if(get_msg_field()) {  // GQ
      i = atoi(msg_field);
      if     (i == 9) pdop = 1.0;
      else if(i == 8) pdop = 3.0;
      else if(i == 7) pdop = 4.0;
      else if(i == 6) pdop = 5.0;
      else if(i == 5) pdop = 6.0;
      else if(i == 4) pdop = 8.0;
      else if(i == 3) pdop = 10.0;
      else if(i == 2) pdop = 15.0;
      else if(i == 1) pdop = 25.0;
      else if(i == 0) pdop = 50.0;
      have_dops |= PDOP;
   }

   if(get_msg_field()) {  // alm status
      i = atoi(msg_field);
      if(i == 0) minor_alarms &= (~MINOR_ALMANAC);
      else       minor_alarms |= MINOR_ALMANAC;
      have_almanac = 444;
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0xa94c5(%rip), %rdi     # 0x188e34
callq 0x7add0
callq 0xb0bd0
cmpl $0x0, %eax
je 0xdfad3
leaq 0x2bb297(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, -0x4(%rbp)
cmpl $0x9, -0x4(%rbp)
jne 0xdf9af
leaq 0x1a2d2a(%rip), %rax    # 0x2826c8
movsd 0x8f6c2(%rip), %xmm0    # 0x16f068
movsd %xmm0, (%rax)
jmp 0xdfabe
cmpl $0x8, -0x4(%rbp)
jne 0xdf9cd
leaq 0x1a2d0c(%rip), %rax    # 0x2826c8
movsd 0x8f81c(%rip), %xmm0    # 0x16f1e0
movsd %xmm0, (%rax)
jmp 0xdfabc
cmpl $0x7, -0x4(%rbp)
jne 0xdf9eb
leaq 0x1a2cee(%rip), %rax    # 0x2826c8
movsd 0x91cee(%rip), %xmm0    # 0x1716d0
movsd %xmm0, (%rax)
jmp 0xdfaba
cmpl $0x6, -0x4(%rbp)
jne 0xdfa09
leaq 0x1a2cd0(%rip), %rax    # 0x2826c8
movsd 0x8f760(%rip), %xmm0    # 0x16f160
movsd %xmm0, (%rax)
jmp 0xdfab8
cmpl $0x5, -0x4(%rbp)
jne 0xdfa27
leaq 0x1a2cb2(%rip), %rax    # 0x2826c8
movsd 0xa3652(%rip), %xmm0    # 0x183070
movsd %xmm0, (%rax)
jmp 0xdfab6
cmpl $0x4, -0x4(%rbp)
jne 0xdfa42
leaq 0x1a2c94(%rip), %rax    # 0x2826c8
movsd 0x91b9c(%rip), %xmm0    # 0x1715d8
movsd %xmm0, (%rax)
jmp 0xdfab4
cmpl $0x3, -0x4(%rbp)
jne 0xdfa5d
leaq 0x1a2c79(%rip), %rax    # 0x2826c8
movsd 0x8f669(%rip), %xmm0    # 0x16f0c0
movsd %xmm0, (%rax)
jmp 0xdfab2
cmpl $0x2, -0x4(%rbp)
jne 0xdfa78
leaq 0x1a2c5e(%rip), %rax    # 0x2826c8
movsd 0xa34d6(%rip), %xmm0    # 0x182f48
movsd %xmm0, (%rax)
jmp 0xdfab0
cmpl $0x1, -0x4(%rbp)
jne 0xdfa93
leaq 0x1a2c43(%rip), %rax    # 0x2826c8
movsd 0xa360b(%rip), %xmm0    # 0x183098
movsd %xmm0, (%rax)
jmp 0xdfaae
cmpl $0x0, -0x4(%rbp)
jne 0xdfaac
leaq 0x1a2c28(%rip), %rax    # 0x2826c8
movsd 0x8f720(%rip), %xmm0    # 0x16f1c8
movsd %xmm0, (%rax)
jmp 0xdfaae
jmp 0xdfab0
jmp 0xdfab2
jmp 0xdfab4
jmp 0xdfab6
jmp 0xdfab8
jmp 0xdfaba
jmp 0xdfabc
jmp 0xdfabe
leaq 0x1a2bff(%rip), %rax    # 0x2826c4
movl (%rax), %ecx
orl $0x1, %ecx
leaq 0x1a2bf3(%rip), %rax    # 0x2826c4
movl %ecx, (%rax)
callq 0xb0bd0
cmpl $0x0, %eax
je 0xdfb31
leaq 0x2bb13c(%rip), %rdi    # 0x39ac20
callq 0x95c0
movl %eax, -0x4(%rbp)
cmpl $0x0, -0x4(%rbp)
jne 0xdfb0c
leaq 0x28c8bf(%rip), %rax    # 0x36c3b8
movl (%rax), %ecx
andl $0xfffff7ff, %ecx       # imm = 0xFFFFF7FF
leaq 0x28c8b0(%rip), %rax    # 0x36c3b8
movl %ecx, (%rax)
jmp 0xdfb24
leaq 0x28c8a5(%rip), %rax    # 0x36c3b8
movl (%rax), %ecx
orl $0x800, %ecx            # imm = 0x800
leaq 0x28c896(%rip), %rax    # 0x36c3b8
movl %ecx, (%rax)
leaq 0x28c959(%rip), %rax    # 0x36c484
movl $0x1bc, (%rax)          # imm = 0x1BC
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)