// File: /workspace/github_cpp_makefile_star2_O2/jkingan[P]ladyheather/heathgps.cpp
// Function: parse_x72_val(int)
void parse_x72_val(int id)
{
char *s;
char *s2;
u32 val;
float fp_val;
int fp;
int i;

   // parse and decode the FIRST value from a message response

   fp_val = 0.0F;
   val = 0;

   s = strchr(scpi_status_line, ':');  // see if there is a ':' numeric parameter on the line
   if(s) {
      if(id == X72_SET_DDS_MSG) {  // "f" set DDS frequency offset
         fp = 1;
         fp_val = (float) atof(s+1);
      }
      else if(strchr(scpi_status_line, '.')) {  // floating point value
         fp = 1;
         fp_val = x72_float(s+1);
      }
      else {  // decimal value
         fp = 0;
         val = (u32) atohex(s+1);
      }

      if(id == X72_GET_PPS_MSG) {  // see if PPS line also has hw discipline state
         s2 = strstr(scpi_status_line, "PPSSTATE:");
         if(s2) {
            have_x72_fw_dis = 1;
            if(x72_user_dis == 0) {
               x72_state = atoi(&s2[9]);
               have_x72_state = 2;
            
               discipline_mode = DIS_MODE_NORMAL;
               if(x72_state < X72_STATE_START0) discipline_mode = DIS_MODE_UNKNOWN;
               if(x72_state > X72_STATE_SLOPECALC) discipline_mode = DIS_MODE_UNKNOWN;

               if     (x72_state == X72_STATE_START0)   discipline_mode = DIS_MODE_NORMAL; // POWERUP; !!!!! qwerty
               else if(x72_state == X72_STATE_START1)   discipline_mode = DIS_MODE_POWERUP;
               else if(x72_state == X72_STATE_START2)   discipline_mode = DIS_MODE_POWERUP;
               else if(x72_state == X72_STATE_HOLDOVER) discipline_mode = DIS_MODE_AUTO_HOLD;
               else if(x72_state == X72_STATE_JAM1)     discipline_mode = DIS_MODE_RECOVERY;
               else if(x72_state == X72_STATE_JAM2)     discipline_mode = DIS_MODE_RECOVERY;
               else if(x72_state == X72_STATE_JAM2)     discipline_mode = DIS_MODE_RECOVERY;
            }
         }
      }

      *s = 0;  // trim the rest of the line after the first val
   }

   if(x72_sync_fail(id)) {  // see if message sync was lost (invalid parameter seen for a message response)
   }
   else if(id == X72_HEALTH_MSG) {  // "w" health message values
      if(strstr(scpi_status_line, "SCONT")) {
         x72_scont = val;
         have_x72_scont = 1;
      }
      else if(strstr(scpi_status_line, "SERNUM")) {
         x72_sernum = val;
         have_x72_sernum = 1;
      }
      else if(strstr(scpi_status_line, "PWRHRS")) {
         scpi_life = val;
         have_lifetime = 1;
      }
      else if(strstr(scpi_status_line, "PWRTICKS")) {
         x72_pwrticks = val;
         have_x72_pwrticks = 1;
      }
      else if(strstr(scpi_status_line, "LHHRS")) {
         x72_lhhrs = val;
         have_x72_lhhrs = 1;
      }
      else if(strstr(scpi_status_line, "LHTICKS")) {
         x72_lhticks = val;
         have_x72_lhticks = 1;
      }
      else if(strstr(scpi_status_line, "RHHRS")) {
         x72_rhhrs = val;
         have_x72_rhhrs = 1;
      }
      else if(strstr(scpi_status_line, "RHTICKS")) {
         x72_rhticks = val;
         have_x72_rhticks = 1;
      }
      else if(strstr(scpi_status_line, "DMP17")) {
         x72_dmp17 = (double) fp_val;
         have_x72_dmp17 = 1;
      }
      else if(strstr(scpi_status_line, "DMP5")) {
         x72_dmp5 = (double) fp_val;
         have_x72_dmp5 = 1;
      }
      else if(strstr(scpi_status_line, "DHTRVOLT")) {
         x72_dhtrvolt = (double) fp_val;
         have_x72_dhtrvolt = 1;
      }
      else if(strstr(scpi_status_line, "PLMP")) {
         x72_plmp = (double) fp_val;
         have_x72_plmp = 1;
      }
      else if(strstr(scpi_status_line, "PRES")) {
         x72_pres = (double) fp_val;
         have_x72_pres = 1;
      }
      else if(strstr(scpi_status_line, "DLVTHERMC")) {
         x72_dlvthermc = (double) fp_val;
         have_x72_dlvthermc = 1;
      }
      else if(strstr(scpi_status_line, "DRVTHERMC")) {
         x72_drvthermc = (double) fp_val;
         have_x72_drvthermc = 1;
      }
      else if(strstr(scpi_status_line, "DLVOLT")) {
         x72_dlvolt = (double) fp_val;
         have_x72_dlvolt = 1;
      }
      else if(strstr(scpi_status_line, "DMVOUTC")) {
         x72_dmvoutc = (double) fp_val;
         have_x72_dmvoutc = 1;
      }
      else if(strstr(scpi_status_line, "DTEMPLO")) {
         x72_dtemplo = (double) fp_val;
         have_x72_dtemplo = 1;
      }
      else if(strstr(scpi_status_line, "DTEMPHI")) {
         x72_dtemphi = (double) fp_val;
         have_x72_dtemphi = 1;
      }
      else if(strstr(scpi_status_line, "DVOLTLO")) {
         x72_dvoltlo = (double) fp_val;
         have_x72_dvoltlo = 1;
      }
      else if(strstr(scpi_status_line, "DVOLTHI")) {
         x72_dvolthi = (double) fp_val;
         have_x72_dvolthi = 1;
      }
      else if(strstr(scpi_status_line, "IFPGACTL")) {
         x72_creg = val;
         decode_x72_creg();
         have_x72_creg = 1;
      }
      else if(strstr(scpi_status_line, "DCURTEMP")) {
         temperature = (DATA_SIZE) fp_val;
         have_temperature = 105;
      }
      else if(strstr(scpi_status_line, "DLVOUTC")) {
         x72_dlvoutc = (double) fp_val;
         have_x72_dlvoutc = 1;
      }
      else if(strstr(scpi_status_line, "DRVOUTC")) {
         x72_drvoutc = (double) fp_val;
         have_x72_drvoutc = 1;
      }
      else if(strstr(scpi_status_line, "DMV2DEMAVG")) {
         x72_dmv2demavg = (double) fp_val;
         have_x72_dmv2demavg = 1;
      }
   }
   else if(id == X72_GET_CREG_MSG) {  // "p" get control reg
      if(strstr(scpi_status_line, "CONTROL REG")) {
         x72_creg = val;
         decode_x72_creg();
         have_x72_creg = 1;
      }
   }
   else if(id == X72_GET_PPS_MSG) {  // "j" get PPS offset value
      if(strstr(scpi_status_line, "DELTA REG")) {
         last_x72_pps = x72_pps;
         x72_pps = val;
         x72_ival = i = fix_x72_tics((int) val);
         if(have_x72_pps == 0) {
            last_ival = x72_ival;
            last_x72_pps = x72_pps;
         }
         x72_pps_diff = (x72_ival - last_ival);
         last_ival = x72_ival;

///      i = fix_x72_tics(x72_ival);
         pps_offset = (OFS_SIZE) (((double) i) * 1.0E9 / x72_osc);
last_pps_offset = pps_offset;
tsip_error = 0;
// if(x72_user_dis) sprintf(debug_text6, "x72_pps:%d  val:%d  lastiv:%d  i:%d  pps_offset:%g", x72_pps, val, i, last_ival, pps_offset);  //burp
         have_pps_offset = 1;
         have_x72_pps = 1;
         ++x72_run_time;

      }
   }
   else if(id == X72_SET_DDS_MSG) {  // "f" set DDS frequency offset
      if(strstr(scpi_status_line, "CHANGE FREQUENCY")) {
         x72_dds_word = fp_val;
         have_x72_dds_word = 1;
      }
   }
   else if(id == X72_SET_DMODE_MSG) {  // "g" set discipling
      if(strstr(scpi_status_line, "DISABLED")) {
         have_x72_fw_dmode = 1;
         x72_fw_dmode = 0;
      }
      else if(strstr(scpi_status_line, "ENABLED")) {
         have_x72_fw_dmode = 1;
         x72_fw_dmode = 1;
      }
   }
   else if(id == X72_SET_FC_MSG) {  // "a" set EFC enable
      if(strstr(scpi_status_line, "DISABLED")) { 
         x72_efc = 0; 
         have_x72_efc = 1; 
      }
      else if(strstr(scpi_status_line, "ENABLED")) { 
         x72_efc = 1; 
         have_x72_efc = 1; 
      }
   }
   else if(id == X72_SET_SRVC_MSG) {  // "l" set service output pin state
      if(strstr(scpi_status_line, "HIGH")) { 
         x72_srvc = 1; 
         have_x72_srvc = 1; 
      }
      else if(strstr(scpi_status_line, "LOW")) { 
         x72_srvc = 0; 
         have_x72_srvc = 1; 
      }
   }


if(0 && debug_file) {
   if((scpi_status_line[0] == 'R') && (scpi_status_line[1] == '>')) ;  // no obvious number to show
   else if(scpi_status_line[1] == 0) ; // no obvious number to show 
   else if(fp) fprintf(debug_file, "%s -> 0x%08X -> %g\n", scpi_status_line, val, fp_val);
   else        fprintf(debug_file, "%s -> 0x%08X -> %u\n", scpi_status_line, val,  val);
}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movl %edi, %ebx
leaq 0x2d56a4(%rip), %rdi    # 0x356b40
pushq $0x3a
popq %rsi
callq 0x9100
testq %rax, %rax
je 0x814cb
movq %rax, %r14
cmpl $0x2bd, %ebx            # imm = 0x2BD
jne 0x814d6
movq %r14, %rdi
incq %rdi
callq 0x9470
cvtsd2ss %xmm0, %xmm0
xorl %r12d, %r12d
jmp 0x815af
xorl %r12d, %r12d
xorps %xmm0, %xmm0
jmp 0x815b7
leaq 0x2d5663(%rip), %rdi    # 0x356b40
pushq $0x2e
popq %rsi
callq 0x9100
movq %rax, %r15
movq %r14, %rdi
incq %rdi
callq 0x98b2
xorl %r12d, %r12d
pxor %xmm0, %xmm0
testq %r15, %r15
je 0x81503
movd %eax, %xmm0
cmovel %eax, %r12d
cmpl $0x2c1, %ebx            # imm = 0x2C1
jne 0x815af
movd %xmm0, -0x28(%rbp)
leaq 0x2d5621(%rip), %rdi    # 0x356b40
leaq 0x8c83a(%rip), %rsi     # 0x10dd60
callq 0x9090
testq %rax, %rax
je 0x815aa
leaq 0x1837dd(%rip), %rcx    # 0x204d14
movl $0x1, (%rcx)
leaq 0x1839ac(%rip), %rcx    # 0x204ef0
cmpl $0x0, (%rcx)
movd -0x28(%rbp), %xmm0
jne 0x815af
addq $0x9, %rax
movq %rax, %rdi
callq 0x95e0
leaq 0x18389f(%rip), %rcx    # 0x204e00
movl %eax, (%rcx)
movl %eax, %ecx
sarl $0x1f, %ecx
cmpl $0xa, %eax
movl $0xff, %edx
cmovll %ecx, %edx
leaq 0x18375a(%rip), %rcx    # 0x204cd4
movl $0x2, (%rcx)
leaq 0x275f10(%rip), %rcx    # 0x2f7497
movb %dl, (%rcx)
cmpl $0x5, %eax
ja 0x815aa
movl %eax, %eax
leaq 0x87ff9(%rip), %rdx     # 0x109590
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
movss -0x28(%rbp), %xmm0
jmpq *%rax
movb $0x1, (%rcx)
jmp 0x815af
movss -0x28(%rbp), %xmm0
movb $0x0, (%r14)
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x28(%rbp)
movl %ebx, %edi
callq 0x82b43
testl %eax, %eax
je 0x815d4
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
addl $0xfffffd44, %ebx       # imm = 0xFFFFFD44
cmpl $0xd, %ebx
ja 0x815c7
leaq 0x87fc2(%rip), %rax     # 0x1095a8
movslq (%rax,%rbx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
leaq 0x2d554a(%rip), %rdi    # 0x356b40
leaq 0x91392(%rip), %rsi     # 0x11298f
callq 0x9090
testq %rax, %rax
je 0x817a0
leaq 0x183726(%rip), %rax    # 0x204d38
andl $0x0, (%rax)
leaq 0x1836e8(%rip), %rax    # 0x204d04
jmp 0x81c92
leaq 0x2d5518(%rip), %rdi    # 0x356b40
leaq 0x8c6f8(%rip), %rsi     # 0x10dd27
callq 0x9090
testq %rax, %rax
je 0x815c7
leaq 0x183798(%rip), %rax    # 0x204dd8
movl %r12d, (%rax)
callq 0x82aee
leaq 0x183621(%rip), %rax    # 0x204c70
jmp 0x81c92
leaq 0x2d54e5(%rip), %rdi    # 0x356b40
leaq 0x8c7c5(%rip), %rsi     # 0x10de27
callq 0x9090
testq %rax, %rax
je 0x815c7
leaq 0x183831(%rip), %rax    # 0x204ea8
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x183651(%rip), %rax    # 0x204cd8
jmp 0x81c92
leaq 0x2d54ad(%rip), %rdi    # 0x356b40
leaq 0x8c6d0(%rip), %rsi     # 0x10dd6a
callq 0x9090
testq %rax, %rax
je 0x817d1
leaq 0x18372d(%rip), %rax    # 0x204ddc
movl %r12d, (%rax)
leaq 0x1835bb(%rip), %rax    # 0x204c74
jmp 0x81c92
leaq 0x2d547b(%rip), %rdi    # 0x356b40
leaq 0x912c3(%rip), %rsi     # 0x11298f
callq 0x9090
testq %rax, %rax
je 0x81803
leaq 0x183637(%rip), %rax    # 0x204d18
movl $0x1, (%rax)
leaq 0x183722(%rip), %rax    # 0x204e10
andl $0x0, (%rax)
jmp 0x815c7
leaq 0x2d5443(%rip), %rdi    # 0x356b40
leaq 0x8c62f(%rip), %rsi     # 0x10dd33
callq 0x9090
testq %rax, %rax
je 0x815c7
leaq 0x1836e3(%rip), %rax    # 0x204dfc
movl (%rax), %ecx
movl %ecx, 0x2d54c7(%rip)    # 0x356be8
movl %r12d, (%rax)
leaq 0x18353d(%rip), %rax    # 0x204c68
movsd (%rax), %xmm0
cvttsd2si %xmm0, %ecx
pushq $0x2
popq %rsi
movl %ecx, %eax
cltd
idivl %esi
xorl %edx, %edx
cmpl %r12d, %eax
cmovll %ecx, %edx
movl %r12d, %ecx
subl %edx, %ecx
leaq 0x1837ed(%rip), %rax    # 0x204f3c
movl %ecx, (%rax)
leaq 0x183578(%rip), %rax    # 0x204cd0
cmpl $0x0, (%rax)
je 0x8186b
movl 0x2da739(%rip), %edx    # 0x35bea0
jmp 0x81874
leaq 0x2d53cd(%rip), %rdi    # 0x356b40
leaq 0x8c6c6(%rip), %rsi     # 0x10de40
callq 0x9090
testq %rax, %rax
je 0x81839
leaq 0x1835ad(%rip), %rax    # 0x204d3c
pushq $0x1
popq %rcx
movl %ecx, (%rax)
leaq 0x18356d(%rip), %rax    # 0x204d08
jmp 0x81832
leaq 0x2d5399(%rip), %rdi    # 0x356b40
leaq 0x8c68a(%rip), %rsi     # 0x10de38
callq 0x9090
testq %rax, %rax
je 0x815c7
leaq 0x183575(%rip), %rax    # 0x204d38
pushq $0x1
popq %rcx
movl %ecx, (%rax)
leaq 0x183535(%rip), %rax    # 0x204d04
jmp 0x81832
leaq 0x2d5368(%rip), %rdi    # 0x356b40
leaq 0x8c591(%rip), %rsi     # 0x10dd70
callq 0x9090
testq %rax, %rax
je 0x818d5
leaq 0x1835ec(%rip), %rax    # 0x204de0
movl %r12d, (%rax)
leaq 0x18347a(%rip), %rax    # 0x204c78
jmp 0x81c92
leaq 0x2d5336(%rip), %rdi    # 0x356b40
leaq 0x8c627(%rip), %rsi     # 0x10de38
callq 0x9090
testq %rax, %rax
je 0x815c7
leaq 0x1834f2(%rip), %rax    # 0x204d18
pushq $0x1
popq %rcx
movl %ecx, (%rax)
leaq 0x1835de(%rip), %rax    # 0x204e10
movl %ecx, (%rax)
jmp 0x815c7
leaq 0x2d5300(%rip), %rdi    # 0x356b40
leaq 0x8fbb6(%rip), %rsi     # 0x1113fd
callq 0x9090
testq %rax, %rax
je 0x815c7
leaq 0x1834e0(%rip), %rax    # 0x204d3c
andl $0x0, (%rax)
leaq 0x1834a2(%rip), %rax    # 0x204d08
jmp 0x81c92
movl %r12d, 0x2d5376(%rip)   # 0x356be8
movl %ecx, %edx
movl %ecx, %esi
subl %edx, %esi
movl %esi, 0x2d536e(%rip)    # 0x356bec
movl %ecx, 0x2da61c(%rip)    # 0x35bea0
cvtsi2sd %ecx, %xmm1
mulsd 0x71798(%rip), %xmm1    # 0xf3028
divsd %xmm0, %xmm1
leaq 0x274f1d(%rip), %rcx    # 0x2f67b8
movsd %xmm1, (%rcx)
leaq 0x2750a2(%rip), %rcx    # 0x2f6948
leaq 0x1a76c3(%rip), %rdx    # 0x228f70
andl $0x0, (%rdx)
movsd %xmm1, (%rcx)
leaq 0x27597d(%rip), %rcx    # 0x2f7238
pushq $0x1
popq %rdx
movl %edx, (%rcx)
movl %edx, (%rax)
incl 0x2d5328(%rip)          # 0x356bf0
jmp 0x815c7
movb $0x4, (%rcx)
jmp 0x815af
leaq 0x2d5264(%rip), %rdi    # 0x356b40
leaq 0x8c494(%rip), %rsi     # 0x10dd77
callq 0x9090
testq %rax, %rax
je 0x81913
leaq 0x275b68(%rip), %rax    # 0x2f745c
movl %r12d, (%rax)
leaq 0x2759ca(%rip), %rax    # 0x2f72c8
jmp 0x81c92
movb $0x0, (%rcx)
jmp 0x815af
movb $0x2, (%rcx)
jmp 0x815af
leaq 0x2d5226(%rip), %rdi    # 0x356b40
leaq 0x8c45d(%rip), %rsi     # 0x10dd7e
callq 0x9090
testq %rax, %rax
je 0x81941
leaq 0x1834b2(%rip), %rax    # 0x204de4
movl %r12d, (%rax)
leaq 0x183340(%rip), %rax    # 0x204c7c
jmp 0x81c92
leaq 0x2d51f8(%rip), %rdi    # 0x356b40
leaq 0x8c438(%rip), %rsi     # 0x10dd87
callq 0x9090
testq %rax, %rax
je 0x8196f
leaq 0x183488(%rip), %rax    # 0x204de8
movl %r12d, (%rax)
leaq 0x183316(%rip), %rax    # 0x204c80
jmp 0x81c92
leaq 0x2d51ca(%rip), %rdi    # 0x356b40
leaq 0x8c410(%rip), %rsi     # 0x10dd8d
callq 0x9090
testq %rax, %rax
je 0x8199d
leaq 0x18345e(%rip), %rax    # 0x204dec
movl %r12d, (%rax)
leaq 0x1832ec(%rip), %rax    # 0x204c84
jmp 0x81c92
leaq 0x2d519c(%rip), %rdi    # 0x356b40
leaq 0x8c3ea(%rip), %rsi     # 0x10dd95
callq 0x9090
testq %rax, %rax
je 0x819cb
leaq 0x183434(%rip), %rax    # 0x204df0
movl %r12d, (%rax)
leaq 0x1832c2(%rip), %rax    # 0x204c88
jmp 0x81c92
leaq 0x2d516e(%rip), %rdi    # 0x356b40
leaq 0x8c3c2(%rip), %rsi     # 0x10dd9b
callq 0x9090
testq %rax, %rax
je 0x819f9
leaq 0x18340a(%rip), %rax    # 0x204df4
movl %r12d, (%rax)
leaq 0x183298(%rip), %rax    # 0x204c8c
jmp 0x81c92
leaq 0x2d5140(%rip), %rdi    # 0x356b40
leaq 0x8c39c(%rip), %rsi     # 0x10dda3
callq 0x9090
testq %rax, %rax
je 0x81a2d
leaq 0x183410(%rip), %rax    # 0x204e28
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x183268(%rip), %rax    # 0x204c90
jmp 0x81c92
leaq 0x2d510c(%rip), %rdi    # 0x356b40
leaq 0x8c36e(%rip), %rsi     # 0x10dda9
callq 0x9090
testq %rax, %rax
je 0x81a61
leaq 0x1833e4(%rip), %rax    # 0x204e30
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x183238(%rip), %rax    # 0x204c94
jmp 0x81c92
leaq 0x2d50d8(%rip), %rdi    # 0x356b40
leaq 0x8c33f(%rip), %rsi     # 0x10ddae
callq 0x9090
testq %rax, %rax
je 0x81a95
leaq 0x1833b8(%rip), %rax    # 0x204e38
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x183208(%rip), %rax    # 0x204c98
jmp 0x81c92
leaq 0x2d50a4(%rip), %rdi    # 0x356b40
leaq 0x864e0(%rip), %rsi     # 0x107f83
callq 0x9090
testq %rax, %rax
je 0x81ac9
leaq 0x18338c(%rip), %rax    # 0x204e40
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x1831d8(%rip), %rax    # 0x204c9c
jmp 0x81c92
leaq 0x2d5070(%rip), %rdi    # 0x356b40
leaq 0x88cb6(%rip), %rsi     # 0x10a78d
callq 0x9090
testq %rax, %rax
je 0x81afd
leaq 0x183360(%rip), %rax    # 0x204e48
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x1831a8(%rip), %rax    # 0x204ca0
jmp 0x81c92
leaq 0x2d503c(%rip), %rdi    # 0x356b40
leaq 0x8c2ac(%rip), %rsi     # 0x10ddb7
callq 0x9090
testq %rax, %rax
je 0x81b31
leaq 0x183334(%rip), %rax    # 0x204e50
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x183178(%rip), %rax    # 0x204ca4
jmp 0x81c92
leaq 0x2d5008(%rip), %rdi    # 0x356b40
leaq 0x8c282(%rip), %rsi     # 0x10ddc1
callq 0x9090
testq %rax, %rax
je 0x81b65
leaq 0x183308(%rip), %rax    # 0x204e58
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x183148(%rip), %rax    # 0x204ca8
jmp 0x81c92
leaq 0x2d4fd4(%rip), %rdi    # 0x356b40
leaq 0x8c258(%rip), %rsi     # 0x10ddcb
callq 0x9090
testq %rax, %rax
je 0x81b99
leaq 0x1832dc(%rip), %rax    # 0x204e60
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x183118(%rip), %rax    # 0x204cac
jmp 0x81c92
leaq 0x2d4fa0(%rip), %rdi    # 0x356b40
leaq 0x8c22b(%rip), %rsi     # 0x10ddd2
callq 0x9090
testq %rax, %rax
je 0x81bcd
leaq 0x1832b0(%rip), %rax    # 0x204e68
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x1830e8(%rip), %rax    # 0x204cb0
jmp 0x81c92
leaq 0x2d4f6c(%rip), %rdi    # 0x356b40
leaq 0x8c1ff(%rip), %rsi     # 0x10ddda
callq 0x9090
testq %rax, %rax
je 0x81c01
leaq 0x183284(%rip), %rax    # 0x204e70
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x1830b8(%rip), %rax    # 0x204cb4
jmp 0x81c92
leaq 0x2d4f38(%rip), %rdi    # 0x356b40
leaq 0x8c1d3(%rip), %rsi     # 0x10dde2
callq 0x9090
testq %rax, %rax
je 0x81c32
leaq 0x183258(%rip), %rax    # 0x204e78
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x183088(%rip), %rax    # 0x204cb8
jmp 0x81c92
leaq 0x2d4f07(%rip), %rdi    # 0x356b40
leaq 0x8c1aa(%rip), %rsi     # 0x10ddea
callq 0x9090
testq %rax, %rax
je 0x81c63
leaq 0x18322f(%rip), %rax    # 0x204e80
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x18305b(%rip), %rax    # 0x204cbc
jmp 0x81c92
leaq 0x2d4ed6(%rip), %rdi    # 0x356b40
leaq 0x8c181(%rip), %rsi     # 0x10ddf2
callq 0x9090
testq %rax, %rax
je 0x81c9d
leaq 0x183206(%rip), %rax    # 0x204e88
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x18302e(%rip), %rax    # 0x204cc0
movl $0x1, (%rax)
jmp 0x815c7
leaq 0x2d4e9c(%rip), %rdi    # 0x356b40
leaq 0x8c14f(%rip), %rsi     # 0x10ddfa
callq 0x9090
testq %rax, %rax
jne 0x81639
leaq 0x2d4e80(%rip), %rdi    # 0x356b40
leaq 0x8c13c(%rip), %rsi     # 0x10de03
callq 0x9090
testq %rax, %rax
je 0x81cf3
leaq 0x274d40(%rip), %rax    # 0x2f6a18
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x275564(%rip), %rax    # 0x2f724c
movl $0x69, (%rax)
jmp 0x815c7
leaq 0x2d4e46(%rip), %rdi    # 0x356b40
leaq 0x8c10b(%rip), %rsi     # 0x10de0c
callq 0x9090
testq %rax, %rax
je 0x81d27
leaq 0x18317e(%rip), %rax    # 0x204e90
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x182fa2(%rip), %rax    # 0x204cc4
jmp 0x81c92
leaq 0x2d4e12(%rip), %rdi    # 0x356b40
leaq 0x8c0df(%rip), %rsi     # 0x10de14
callq 0x9090
testq %rax, %rax
je 0x81d5b
leaq 0x183152(%rip), %rax    # 0x204e98
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x182f72(%rip), %rax    # 0x204cc8
jmp 0x81c92
leaq 0x2d4dde(%rip), %rdi    # 0x356b40
leaq 0x8c0b3(%rip), %rsi     # 0x10de1c
callq 0x9090
testq %rax, %rax
je 0x815c7
leaq 0x183122(%rip), %rax    # 0x204ea0
movsd -0x28(%rbp), %xmm0
movsd %xmm0, (%rax)
leaq 0x182f3e(%rip), %rax    # 0x204ccc
jmp 0x81c92