// File: jkingan[P]ladyheather/heathgps.cpp
// Function: parse_z12_rid()
void parse_z12_rid()
{
   // Z12 receiver ID
   log_packet_id("z12_rid");

   if(get_msg_field()) {  // type
      msg_field[32] = 0;
      strcpy(z12_type, msg_field);
   }

   if(get_msg_field()) {  // channel options
      msg_field[32] = 0;
      strcpy(z12_chan_opt, msg_field);
   }

   if(get_msg_field()) {  // nav version
      msg_field[32] = 0;
      strcpy(z12_nav_ver, msg_field);
   }

   if(get_msg_field()) {  // rsvd
      msg_field[32] = 0;
      strcpy(z12_rsvd, msg_field);
   }

   if(get_msg_field()) {  // chan version
      msg_field[32] = 0;
      strcpy(z12_chan_ver, msg_field);
   }

   if(jd_obs) {  // prevents writing RINEX file until raw readings are available
      if(rinex_file) {
         if(have_utc_ofs) {  // dont start writing until utc info available
            have_info |= ALL_ID_INFO;
         }
      }
      else if(log_file && (log_fmt == RINEX)) {  // writing .obs file
         if(have_utc_ofs) {  // dont start writing until utc info available
            have_info |= ALL_ID_INFO;
         }
      }
      else {
         have_info |= ALL_ID_INFO;
      }
   }

   if(ZDA_TIME == 0) get_norcvr_message();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0xce534(%rip), %rdi     # 0x18644f
callq 0x7add0
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb7f48
leaq 0x2e2cef(%rip), %rax    # 0x39ac20
movb $0x0, 0x20(%rax)
leaq 0x2e4e34(%rip), %rdi    # 0x39cd70
leaq 0x2e2cdd(%rip), %rsi    # 0x39ac20
callq 0x9350
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb7f70
leaq 0x2e2cc7(%rip), %rax    # 0x39ac20
movb $0x0, 0x20(%rax)
leaq 0x2e4e3c(%rip), %rdi    # 0x39cda0
leaq 0x2e2cb5(%rip), %rsi    # 0x39ac20
callq 0x9350
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb7f98
leaq 0x2e2c9f(%rip), %rax    # 0x39ac20
movb $0x0, 0x20(%rax)
leaq 0x2e4e44(%rip), %rdi    # 0x39cdd0
leaq 0x2e2c8d(%rip), %rsi    # 0x39ac20
callq 0x9350
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb7fc0
leaq 0x2e2c77(%rip), %rax    # 0x39ac20
movb $0x0, 0x20(%rax)
leaq 0x2e4e4c(%rip), %rdi    # 0x39ce00
leaq 0x2e2c65(%rip), %rsi    # 0x39ac20
callq 0x9350
callq 0xb0bd0
cmpl $0x0, %eax
je 0xb7fe8
leaq 0x2e2c4f(%rip), %rax    # 0x39ac20
movb $0x0, 0x20(%rax)
leaq 0x2e4e54(%rip), %rdi    # 0x39ce30
leaq 0x2e2c3d(%rip), %rsi    # 0x39ac20
callq 0x9350
leaq 0x2b4761(%rip), %rax    # 0x36c750
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xb8003
jp 0xb8003
jmp 0xb808b
leaq 0x1e553e(%rip), %rax    # 0x29d548
cmpq $0x0, (%rax)
je 0xb8033
leaq 0x2b44e5(%rip), %rax    # 0x36c4fc
cmpl $0x0, (%rax)
je 0xb8031
leaq 0x2b4b31(%rip), %rax    # 0x36cb54
movl (%rax), %ecx
orl $0xf, %ecx
leaq 0x2b4b25(%rip), %rax    # 0x36cb54
movl %ecx, (%rax)
jmp 0xb8089
leaq 0x1e5506(%rip), %rax    # 0x29d540
cmpq $0x0, (%rax)
je 0xb8072
leaq 0x1e55e1(%rip), %rax    # 0x29d628
cmpl $0x12e, (%rax)          # imm = 0x12E
jne 0xb8072
leaq 0x2b44a6(%rip), %rax    # 0x36c4fc
cmpl $0x0, (%rax)
je 0xb8070
leaq 0x2b4af2(%rip), %rax    # 0x36cb54
movl (%rax), %ecx
orl $0xf, %ecx
leaq 0x2b4ae6(%rip), %rax    # 0x36cb54
movl %ecx, (%rax)
jmp 0xb8087
leaq 0x2b4adb(%rip), %rax    # 0x36cb54
movl (%rax), %ecx
orl $0xf, %ecx
leaq 0x2b4acf(%rip), %rax    # 0x36cb54
movl %ecx, (%rax)
jmp 0xb8089
jmp 0xb808b
popq %rbp
retq
nopl (%rax)