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

   start_msg_decode(0);

   nmea_msg[0] = 0;
   for(i=0; i<tsip_wptr; i++) {  // copy message from tsip buffer to nmea buffer
      c = tsip_byte();
      nmea_msg[i] = c;
      nmea_msg[i+1] = 0;
      if(i >= ((int)sizeof(nmea_msg)-12)) break;
   }

   tsip_wptr = tsip_rptr = 0;
   tsip_sync = 0;

   // get the response from the receiver and pass it to (HOPEFULLY) the routine
   // that expects it...

   strupr(nmea_msg);

if(debug_file) fprintf(debug_file, "Decode cs msg %d:%s\n", cs_msg_id, nmea_msg);

   if((nmea_msg[0] == 'E') && (nmea_msg[1] == '-') && isdigit(nmea_msg[2])) {  // message returned error
      queue_cs_cmd("*CLS", SCPI_CLS_MSG);  // reset the error
      cs_msg_id = 0;
      poll_next_cs();
      return;
   }
   else if((nmea_msg[0] == 'E') && (nmea_msg[1] == '+') && isdigit(nmea_msg[2])) {  // message returned error
      queue_cs_cmd("*CLS", SCPI_CLS_MSG);  // reset the error
      cs_msg_id = 0;
      poll_next_cs();
      return;
   }
   else if((nmea_msg[0] == 'S') && (nmea_msg[1] == 'C') && (nmea_msg[2] == 'P') && (nmea_msg[3] == 'I')) {  // message has no response to process
      cs_msg_id = 0;
      poll_next_cs();
      return;
   }

   if(cs_msg_id == 0) {  // get the echoed command and set the message id
if(debug_file) fprintf(debug_file, "response to:%s (status msg:%d) is next\n", nmea_msg, scpi_status);
      if     (strstr(nmea_msg, "PTIM:TIME?"))       cs_msg_id = CS_TIME_MSG;
      else if(strstr(nmea_msg, "PTIM:MJD?"))        cs_msg_id = CS_MJD_MSG;
      else if(strstr(nmea_msg, "DIAG:CBTS?"))       cs_msg_id = CS_CBTID_MSG;
      else if(strstr(nmea_msg, "DIAG:CONT:STAT?"))  cs_msg_id = CS_LAMP_MSG;
      else if(strstr(nmea_msg, "DIAG:CURR:BEAM?"))  cs_msg_id = CS_BEAM_MSG;
      else if(strstr(nmea_msg, "DIAG:CURR:CFI?"))   cs_msg_id = CS_CFIELD_MSG;
      else if(strstr(nmea_msg, "DIAG:CURR:PUMP?"))  cs_msg_id = CS_PUMP_MSG;
      else if(strstr(nmea_msg, "DIAG:GAIN?"))       cs_msg_id = CS_GAIN_MSG;
      else if(strstr(nmea_msg, "DIAG:RFAM?"))       cs_msg_id = CS_RFAM_MSG;
      else if(strstr(nmea_msg, "DIAG:STAT:GLOB?"))  cs_msg_id = CS_GLOB_MSG;
      else if(strstr(nmea_msg, "DIAG:STAT:SUPP?"))  cs_msg_id = CS_SUPPLY_MSG;
      else if(strstr(nmea_msg, "DIAG:TEMP?"))       cs_msg_id = CS_TEMP_MSG;
      else if(strstr(nmea_msg, "DIAG:VOLT:COV?"))   cs_msg_id = CS_COVEN_MSG;
      else if(strstr(nmea_msg, "DIAG:VOLT:EMUL?"))  cs_msg_id = CS_EMUL_MSG;
      else if(strstr(nmea_msg, "DIAG:VOLT:HWI?"))   cs_msg_id = CS_HWI_MSG;
      else if(strstr(nmea_msg, "DIAG:VOLT:MSP?"))   cs_msg_id = CS_MSP_MSG;
      else if(strstr(nmea_msg, "DIAG:VOLT:PLL?"))   cs_msg_id = CS_PLL_MSG;
      else if(strstr(nmea_msg, "DIAG:VOLT:ROSC?"))  cs_msg_id = CS_QOVEN_MSG;
      else if(strstr(nmea_msg, "DIAG:VOLT:SUPP?"))  cs_msg_id = CS_VOLT_MSG;
      else if(strstr(nmea_msg, "DIAG:LOG:COUN?"))   cs_msg_id = CS_LOGCOUNT_MSG;
      else if(strstr(nmea_msg, "DIAG:TEST?"))       cs_msg_id = SCPI_TEST_MSG;
      else if(strstr(nmea_msg, "DIAG:LOG?"))        cs_msg_id = CS_LOGINFO_MSG;
      else if(strstr(nmea_msg, "PTIM:SYNC?"))       cs_msg_id = CS_SYNC_MSG;
      else if(strstr(nmea_msg, "PTIM:STAN?"))       cs_msg_id = CS_STANDBY_MSG;
      else if(strstr(nmea_msg, "PTIM:SLEW?"))       cs_msg_id = CS_SLEW_MSG;   // !!!! HP5071A does not let us query this setting
      else if(strstr(nmea_msg, "PTIM:LEAP:STAT?"))  cs_msg_id = CS_LEAPSTAT_MSG;
      else if(strstr(nmea_msg, "PTIM:LEAP:DUR?"))   cs_msg_id = CS_LEAPDUR_MSG;
      else if(strstr(nmea_msg, "PTIM:LEAP:MJD?"))   cs_msg_id = CS_LEAPMJD_MSG;
      else if(strstr(nmea_msg, "ROSC:FREQ1?"))      cs_msg_id = CS_FREQ1_MSG;
      else if(strstr(nmea_msg, "ROSC:FREQ2?"))      cs_msg_id = CS_FREQ2_MSG;
      else if(strstr(nmea_msg, "ROSC:STE?"))        cs_msg_id = CS_STER_MSG;
      else if(strstr(nmea_msg, "ROSC:CONT?"))       cs_msg_id = SCPI_EFC_MSG;
      else if(strstr(nmea_msg, "DISP:ENAB?"))       cs_msg_id = CS_DISP_MSG;
      else if(strstr(nmea_msg, "SYST:REM?"))        cs_msg_id = CS_REM_MSG;
      else if(strstr(nmea_msg, "*IDN?"))            cs_msg_id = SCPI_ID_MSG;
      else if(strstr(nmea_msg, "*CLS"))             cs_msg_id = SCPI_CLS_MSG;

      return;
   }

if(debug_file) fprintf(debug_file, "cs %d response:%s\n", cs_msg_id, nmea_msg);
   msg_col = 0;
   if     (cs_msg_id == CS_TIME_MSG)     parse_cs_time();
   else if(cs_msg_id == CS_MJD_MSG)      parse_cs_mjd();
   else if(cs_msg_id == CS_CBTID_MSG)    parse_cs_cbtid();
   else if(cs_msg_id == CS_BEAM_MSG)     parse_cs_beam();
   else if(cs_msg_id == CS_CFIELD_MSG)   parse_cs_cfield();
   else if(cs_msg_id == CS_PUMP_MSG)     parse_cs_pump();
   else if(cs_msg_id == CS_GAIN_MSG)     parse_cs_gain();
   else if(cs_msg_id == CS_RFAM_MSG)     parse_cs_rfam();
   else if(cs_msg_id == CS_GLOB_MSG)     parse_cs_glob();
   else if(cs_msg_id == CS_SUPPLY_MSG)   parse_cs_supply();
   else if(cs_msg_id == CS_TEMP_MSG)     parse_cs_temp();
   else if(cs_msg_id == CS_COVEN_MSG)    parse_cs_coven();
   else if(cs_msg_id == CS_QOVEN_MSG)    parse_cs_qoven();
   else if(cs_msg_id == CS_EMUL_MSG)     parse_cs_emul();
   else if(cs_msg_id == CS_HWI_MSG)      parse_cs_hwi();
   else if(cs_msg_id == CS_MSP_MSG)      parse_cs_msp();
   else if(cs_msg_id == CS_PLL_MSG)      parse_cs_pll();
   else if(cs_msg_id == CS_VOLT_MSG)     parse_cs_volt();
   else if(cs_msg_id == CS_FREQ1_MSG)    parse_cs_freq1();
   else if(cs_msg_id == CS_FREQ2_MSG)    parse_cs_freq2();
   else if(cs_msg_id == CS_STER_MSG)     parse_cs_ster();
   else if(cs_msg_id == CS_SYNC_MSG)     parse_cs_sync();
   else if(cs_msg_id == CS_STANDBY_MSG)  parse_cs_standby();
   else if(cs_msg_id == CS_DISP_MSG)     parse_cs_disp();
   else if(cs_msg_id == CS_REM_MSG)      parse_cs_remote();
   else if(cs_msg_id == CS_LEAPSTAT_MSG) parse_cs_leapstat();
   else if(cs_msg_id == CS_LEAPDUR_MSG)  parse_cs_leapdur();
   else if(cs_msg_id == CS_LEAPMJD_MSG)  parse_cs_leapmjd();
   else if(cs_msg_id == CS_SLEW_MSG)     parse_cs_slew();   // !!!! HP5071A does not let us query this setting
   else if(cs_msg_id == CS_LOGCOUNT_MSG) parse_cs_logcount();
   else if(cs_msg_id == CS_LOGINFO_MSG)  parse_cs_loginfo();
   else if(cs_msg_id == CS_LAMP_MSG)     parse_cs_lamp();
   else if(cs_msg_id == SCPI_ID_MSG)     parse_scpi_id();
   else if(cs_msg_id == SCPI_TEST_MSG)   parse_scpi_test();
   else if(cs_msg_id == SCPI_EFC_MSG)    parse_scpi_efc();

   poll_next_cs();
   cs_msg_id = 0;

   if(sim_file && sim_delay) {  // throttle sim file messages
      Sleep(sim_delay);
   }
   saw_rcvr_msg = 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
xorl %edi, %edi
callq 0xae4a0
leaq 0x2beeaa(%rip), %rax    # 0x39aa10
movb $0x0, (%rax)
movl $0x0, -0x8(%rbp)
movl -0x8(%rbp), %eax
leaq 0x2bb8b8(%rip), %rcx    # 0x397432
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jge 0xdbbc6
callq 0x7a510
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %dl
movslq -0x8(%rbp), %rcx
leaq 0x2bee79(%rip), %rax    # 0x39aa10
movb %dl, (%rax,%rcx)
movl -0x8(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rcx
leaq 0x2bee66(%rip), %rax    # 0x39aa10
movb $0x0, (%rax,%rcx)
cmpl $0x1f5, -0x8(%rbp)      # imm = 0x1F5
jl 0xdbbb9
jmp 0xdbbc6
jmp 0xdbbbb
movl -0x8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0xdbb70
leaq 0x2bb867(%rip), %rax    # 0x397434
movw $0x0, (%rax)
leaq 0x2bb859(%rip), %rax    # 0x397432
movw $0x0, (%rax)
leaq 0x2bb851(%rip), %rax    # 0x397436
movw $0x0, (%rax)
leaq 0x2bee1f(%rip), %rdi    # 0x39aa10
callq 0x9890
leaq 0x1c1973(%rip), %rax    # 0x29d570
cmpq $0x0, (%rax)
je 0xdbc28
leaq 0x1c1966(%rip), %rax    # 0x29d570
movq (%rax), %rdi
movl 0x2f55dd(%rip), %edx    # 0x3d11f0
leaq 0xad036(%rip), %rsi     # 0x188c50
leaq 0x2bedef(%rip), %rcx    # 0x39aa10
movb $0x0, %al
callq 0x9550
leaq 0x2bede1(%rip), %rax    # 0x39aa10
movsbl (%rax), %eax
cmpl $0x45, %eax
jne 0xdbc81
leaq 0x2bedd2(%rip), %rax    # 0x39aa10
movsbl 0x1(%rax), %eax
cmpl $0x2d, %eax
jne 0xdbc81
leaq 0x2bedc2(%rip), %rax    # 0x39aa10
movsbl 0x2(%rax), %edi
callq 0x9330
cmpl $0x0, %eax
je 0xdbc81
leaq 0xa8c49(%rip), %rdi     # 0x1848ac
movl $0x2, %esi
callq 0x82fd0
movl $0x0, 0x2f5579(%rip)    # 0x3d11f0
callq 0x96ab0
jmp 0xdc6f9
leaq 0x2bed88(%rip), %rax    # 0x39aa10
movsbl (%rax), %eax
cmpl $0x45, %eax
jne 0xdbcda
leaq 0x2bed79(%rip), %rax    # 0x39aa10
movsbl 0x1(%rax), %eax
cmpl $0x2b, %eax
jne 0xdbcda
leaq 0x2bed69(%rip), %rax    # 0x39aa10
movsbl 0x2(%rax), %edi
callq 0x9330
cmpl $0x0, %eax
je 0xdbcda
leaq 0xa8bf0(%rip), %rdi     # 0x1848ac
movl $0x2, %esi
callq 0x82fd0
movl $0x0, 0x2f5520(%rip)    # 0x3d11f0
callq 0x96ab0
jmp 0xdc6f9
leaq 0x2bed2f(%rip), %rax    # 0x39aa10
movsbl (%rax), %eax
cmpl $0x53, %eax
jne 0xdbd2d
leaq 0x2bed20(%rip), %rax    # 0x39aa10
movsbl 0x1(%rax), %eax
cmpl $0x43, %eax
jne 0xdbd2d
leaq 0x2bed10(%rip), %rax    # 0x39aa10
movsbl 0x2(%rax), %eax
cmpl $0x50, %eax
jne 0xdbd2d
leaq 0x2bed00(%rip), %rax    # 0x39aa10
movsbl 0x3(%rax), %eax
cmpl $0x49, %eax
jne 0xdbd2d
movl $0x0, 0x2f54cd(%rip)    # 0x3d11f0
callq 0x96ab0
jmp 0xdc6f9
jmp 0xdbd2f
jmp 0xdbd31
cmpl $0x0, 0x2f54b8(%rip)    # 0x3d11f0
jne 0xdc34d
leaq 0x1c182b(%rip), %rax    # 0x29d570
cmpq $0x0, (%rax)
je 0xdbd70
leaq 0x1c181e(%rip), %rax    # 0x29d570
movq (%rax), %rdi
movl 0x2f3459(%rip), %ecx    # 0x3cf1b4
leaq 0xacc57(%rip), %rsi     # 0x1889b9
leaq 0x2beca7(%rip), %rdx    # 0x39aa10
movb $0x0, %al
callq 0x9550
leaq 0x2bec99(%rip), %rdi    # 0x39aa10
leaq 0xa8b4a(%rip), %rsi     # 0x1848c8
callq 0x9090
cmpq $0x0, %rax
je 0xdbd98
movl $0x12c, 0x2f545d(%rip)  # imm = 0x12C
jmp 0xdc348
leaq 0x2bec71(%rip), %rdi    # 0x39aa10
leaq 0xa8b17(%rip), %rsi     # 0x1848bd
callq 0x9090
cmpq $0x0, %rax
je 0xdbdc0
movl $0x12d, 0x2f5435(%rip)  # imm = 0x12D
jmp 0xdc346
leaq 0x2bec49(%rip), %rdi    # 0x39aa10
leaq 0xacd28(%rip), %rsi     # 0x188af6
callq 0x9090
cmpq $0x0, %rax
je 0xdbde8
movl $0x12e, 0x2f540d(%rip)  # imm = 0x12E
jmp 0xdc344
leaq 0x2bec21(%rip), %rdi    # 0x39aa10
leaq 0xa7ba1(%rip), %rsi     # 0x183997
callq 0x9090
cmpq $0x0, %rax
je 0xdbe10
movl $0x14d, 0x2f53e5(%rip)  # imm = 0x14D
jmp 0xdc342
leaq 0x2bebf9(%rip), %rdi    # 0x39aa10
leaq 0xacce3(%rip), %rsi     # 0x188b01
callq 0x9090
cmpq $0x0, %rax
je 0xdbe38
movl $0x130, 0x2f53bd(%rip)  # imm = 0x130
jmp 0xdc340
leaq 0x2bebd1(%rip), %rdi    # 0x39aa10
leaq 0xacd7d(%rip), %rsi     # 0x188bc3
callq 0x9090
cmpq $0x0, %rax
je 0xdbe60
movl $0x13e, 0x2f5395(%rip)  # imm = 0x13E
jmp 0xdc33e
leaq 0x2beba9(%rip), %rdi    # 0x39aa10
leaq 0xacca3(%rip), %rsi     # 0x188b11
callq 0x9090
cmpq $0x0, %rax
je 0xdbe88
movl $0x131, 0x2f536d(%rip)  # imm = 0x131
jmp 0xdc33c
leaq 0x2beb81(%rip), %rdi    # 0x39aa10
leaq 0xacc8b(%rip), %rsi     # 0x188b21
callq 0x9090
cmpq $0x0, %rax
je 0xdbeb0
movl $0x132, 0x2f5345(%rip)  # imm = 0x132
jmp 0xdc33a
leaq 0x2beb59(%rip), %rdi    # 0x39aa10
leaq 0xacc6e(%rip), %rsi     # 0x188b2c
callq 0x9090
cmpq $0x0, %rax
je 0xdbed8
movl $0x133, 0x2f531d(%rip)  # imm = 0x133
jmp 0xdc338
leaq 0x2beb31(%rip), %rdi    # 0x39aa10
leaq 0xacc51(%rip), %rsi     # 0x188b37
callq 0x9090
cmpq $0x0, %rax
je 0xdbf00
movl $0x134, 0x2f52f5(%rip)  # imm = 0x134
jmp 0xdc336
leaq 0x2beb09(%rip), %rdi    # 0x39aa10
leaq 0xacc39(%rip), %rsi     # 0x188b47
callq 0x9090
cmpq $0x0, %rax
je 0xdbf28
movl $0x135, 0x2f52cd(%rip)  # imm = 0x135
jmp 0xdc334
leaq 0x2beae1(%rip), %rdi    # 0x39aa10
leaq 0xa897b(%rip), %rsi     # 0x1848b1
callq 0x9090
cmpq $0x0, %rax
je 0xdbf50
movl $0x136, 0x2f52a5(%rip)  # imm = 0x136
jmp 0xdc332
leaq 0x2beab9(%rip), %rdi    # 0x39aa10
leaq 0xacbf9(%rip), %rsi     # 0x188b57
callq 0x9090
cmpq $0x0, %rax
je 0xdbf78
movl $0x137, 0x2f527d(%rip)  # imm = 0x137
jmp 0xdc330
leaq 0x2bea91(%rip), %rdi    # 0x39aa10
leaq 0xacbf0(%rip), %rsi     # 0x188b76
callq 0x9090
cmpq $0x0, %rax
je 0xdbfa0
movl $0x138, 0x2f5255(%rip)  # imm = 0x138
jmp 0xdc32e
leaq 0x2bea69(%rip), %rdi    # 0x39aa10
leaq 0xacbd8(%rip), %rsi     # 0x188b86
callq 0x9090
cmpq $0x0, %rax
je 0xdbfc8
movl $0x139, 0x2f522d(%rip)  # imm = 0x139
jmp 0xdc32c
leaq 0x2bea41(%rip), %rdi    # 0x39aa10
leaq 0xacbbf(%rip), %rsi     # 0x188b95
callq 0x9090
cmpq $0x0, %rax
je 0xdbff0
movl $0x13a, 0x2f5205(%rip)  # imm = 0x13A
jmp 0xdc32a
leaq 0x2bea19(%rip), %rdi    # 0x39aa10
leaq 0xacba6(%rip), %rsi     # 0x188ba4
callq 0x9090
cmpq $0x0, %rax
je 0xdc018
movl $0x13b, 0x2f51dd(%rip)  # imm = 0x13B
jmp 0xdc328
leaq 0x2be9f1(%rip), %rdi    # 0x39aa10
leaq 0xacb40(%rip), %rsi     # 0x188b66
callq 0x9090
cmpq $0x0, %rax
je 0xdc040
movl $0x13c, 0x2f51b5(%rip)  # imm = 0x13C
jmp 0xdc326
leaq 0x2be9c9(%rip), %rdi    # 0x39aa10
leaq 0xacb65(%rip), %rsi     # 0x188bb3
callq 0x9090
cmpq $0x0, %rax
je 0xdc068
movl $0x13d, 0x2f518d(%rip)  # imm = 0x13D
jmp 0xdc324
leaq 0x2be9a1(%rip), %rdi    # 0x39aa10
leaq 0xacbbe(%rip), %rsi     # 0x188c34
callq 0x9090
cmpq $0x0, %rax
je 0xdc090
movl $0x14a, 0x2f5165(%rip)  # imm = 0x14A
jmp 0xdc322
leaq 0x2be979(%rip), %rdi    # 0x39aa10
leaq 0xacbc7(%rip), %rsi     # 0x188c65
callq 0x9090
cmpq $0x0, %rax
je 0xdc0b8
movl $0x19, 0x2f513d(%rip)   # 0x3d11f0
jmp 0xdc320
leaq 0x2be951(%rip), %rdi    # 0x39aa10
leaq 0xac9ff(%rip), %rsi     # 0x188ac5
callq 0x9090
cmpq $0x0, %rax
je 0xdc0e0
movl $0x14b, 0x2f5115(%rip)  # imm = 0x14B
jmp 0xdc31e
leaq 0x2be929(%rip), %rdi    # 0x39aa10
leaq 0xacb0a(%rip), %rsi     # 0x188bf8
callq 0x9090
cmpq $0x0, %rax
je 0xdc108
movl $0x142, 0x2f50ed(%rip)  # imm = 0x142
jmp 0xdc31c
leaq 0x2be901(%rip), %rdi    # 0x39aa10
leaq 0xa85d8(%rip), %rsi     # 0x1846ee
callq 0x9090
cmpq $0x0, %rax
je 0xdc130
movl $0x143, 0x2f50c5(%rip)  # imm = 0x143
jmp 0xdc31a
leaq 0x2be8d9(%rip), %rdi    # 0x39aa10
leaq 0xacb32(%rip), %rsi     # 0x188c70
callq 0x9090
cmpq $0x0, %rax
je 0xdc158
movl $0x144, 0x2f509d(%rip)  # imm = 0x144
jmp 0xdc318
leaq 0x2be8b1(%rip), %rdi    # 0x39aa10
leaq 0xaca9e(%rip), %rsi     # 0x188c04
callq 0x9090
cmpq $0x0, %rax
je 0xdc180
movl $0x147, 0x2f5075(%rip)  # imm = 0x147
jmp 0xdc316
leaq 0x2be889(%rip), %rdi    # 0x39aa10
leaq 0xaca87(%rip), %rsi     # 0x188c15
callq 0x9090
cmpq $0x0, %rax
je 0xdc1a8
movl $0x148, 0x2f504d(%rip)  # imm = 0x148
jmp 0xdc314
leaq 0x2be861(%rip), %rdi    # 0x39aa10
leaq 0xaca6f(%rip), %rsi     # 0x188c25
callq 0x9090
cmpq $0x0, %rax
je 0xdc1d0
movl $0x149, 0x2f5025(%rip)  # imm = 0x149
jmp 0xdc312
leaq 0x2be839(%rip), %rdi    # 0x39aa10
leaq 0xac9f5(%rip), %rsi     # 0x188bd3
callq 0x9090
cmpq $0x0, %rax
je 0xdc1f8
movl $0x13f, 0x2f4ffd(%rip)  # imm = 0x13F
jmp 0xdc310
leaq 0x2be811(%rip), %rdi    # 0x39aa10
leaq 0xac9da(%rip), %rsi     # 0x188be0
callq 0x9090
cmpq $0x0, %rax
je 0xdc220
movl $0x140, 0x2f4fd5(%rip)  # imm = 0x140
jmp 0xdc30e
leaq 0x2be7e9(%rip), %rdi    # 0x39aa10
leaq 0xac9bf(%rip), %rsi     # 0x188bed
callq 0x9090
cmpq $0x0, %rax
je 0xdc248
movl $0x141, 0x2f4fad(%rip)  # imm = 0x141
jmp 0xdc30c
leaq 0x2be7c1(%rip), %rdi    # 0x39aa10
leaq 0xa838d(%rip), %rsi     # 0x1845e3
callq 0x9090
cmpq $0x0, %rax
je 0xdc270
movl $0xb, 0x2f4f85(%rip)    # 0x3d11f0
jmp 0xdc30a
leaq 0x2be799(%rip), %rdi    # 0x39aa10
leaq 0xac86d(%rip), %rsi     # 0x188aeb
callq 0x9090
cmpq $0x0, %rax
je 0xdc295
movl $0x145, 0x2f4f5d(%rip)  # imm = 0x145
jmp 0xdc308
leaq 0x2be774(%rip), %rdi    # 0x39aa10
leaq 0xa77c6(%rip), %rsi     # 0x183a69
callq 0x9090
cmpq $0x0, %rax
je 0xdc2ba
movl $0x146, 0x2f4f38(%rip)  # imm = 0x146
jmp 0xdc306
leaq 0x2be74f(%rip), %rdi    # 0x39aa10
leaq 0xa868f(%rip), %rsi     # 0x184957
callq 0x9090
cmpq $0x0, %rax
je 0xdc2df
movl $0x1c, 0x2f4f13(%rip)   # 0x3d11f0
jmp 0xdc304
leaq 0x2be72a(%rip), %rdi    # 0x39aa10
leaq 0xa85bf(%rip), %rsi     # 0x1848ac
callq 0x9090
cmpq $0x0, %rax
je 0xdc302
movl $0x2, 0x2f4eee(%rip)    # 0x3d11f0
jmp 0xdc304
jmp 0xdc306
jmp 0xdc308
jmp 0xdc30a
jmp 0xdc30c
jmp 0xdc30e
jmp 0xdc310
jmp 0xdc312
jmp 0xdc314
jmp 0xdc316
jmp 0xdc318
jmp 0xdc31a
jmp 0xdc31c
jmp 0xdc31e
jmp 0xdc320
jmp 0xdc322
jmp 0xdc324
jmp 0xdc326
jmp 0xdc328
jmp 0xdc32a
jmp 0xdc32c
jmp 0xdc32e
jmp 0xdc330
jmp 0xdc332
jmp 0xdc334
jmp 0xdc336
jmp 0xdc338
jmp 0xdc33a
jmp 0xdc33c
jmp 0xdc33e
jmp 0xdc340
jmp 0xdc342
jmp 0xdc344
jmp 0xdc346
jmp 0xdc348
jmp 0xdc6f9
leaq 0x1c121c(%rip), %rax    # 0x29d570
cmpq $0x0, (%rax)
je 0xdc37f
leaq 0x1c120f(%rip), %rax    # 0x29d570
movq (%rax), %rdi
movl 0x2f4e86(%rip), %edx    # 0x3d11f0
leaq 0xac90a(%rip), %rsi     # 0x188c7b
leaq 0x2be698(%rip), %rcx    # 0x39aa10
movb $0x0, %al
callq 0x9550
leaq 0x2bea9e(%rip), %rax    # 0x39ae24
movl $0x0, (%rax)
cmpl $0x12c, 0x2f4e5a(%rip)  # imm = 0x12C
jne 0xdc3a2
callq 0xdc9c0
jmp 0xdc6b2
cmpl $0x12d, 0x2f4e44(%rip)  # imm = 0x12D
jne 0xdc3b8
callq 0xdcbb0
jmp 0xdc6b0
cmpl $0x12e, 0x2f4e2e(%rip)  # imm = 0x12E
jne 0xdc3ce
callq 0xdcbf0
jmp 0xdc6ae
cmpl $0x130, 0x2f4e18(%rip)  # imm = 0x130
jne 0xdc3e4
callq 0xdccc0
jmp 0xdc6ac
cmpl $0x13e, 0x2f4e02(%rip)  # imm = 0x13E
jne 0xdc3fa
callq 0xdcd00
jmp 0xdc6aa
cmpl $0x131, 0x2f4dec(%rip)  # imm = 0x131
jne 0xdc410
callq 0xdcd40
jmp 0xdc6a8
cmpl $0x132, 0x2f4dd6(%rip)  # imm = 0x132
jne 0xdc426
callq 0xdcdb0
jmp 0xdc6a6
cmpl $0x133, 0x2f4dc0(%rip)  # imm = 0x133
jne 0xdc43c
callq 0xdcdf0
jmp 0xdc6a4
cmpl $0x134, 0x2f4daa(%rip)  # imm = 0x134
jne 0xdc452
callq 0xdce80
jmp 0xdc6a2
cmpl $0x135, 0x2f4d94(%rip)  # imm = 0x135
jne 0xdc468
callq 0xdcfe0
jmp 0xdc6a0
cmpl $0x136, 0x2f4d7e(%rip)  # imm = 0x136
jne 0xdc47e
callq 0xdd0d0
jmp 0xdc69e
cmpl $0x137, 0x2f4d68(%rip)  # imm = 0x137
jne 0xdc494
callq 0xdd130
jmp 0xdc69c
cmpl $0x13c, 0x2f4d52(%rip)  # imm = 0x13C
jne 0xdc4aa
callq 0xdd330
jmp 0xdc69a
cmpl $0x138, 0x2f4d3c(%rip)  # imm = 0x138
jne 0xdc4c0
callq 0xdd170
jmp 0xdc698
cmpl $0x139, 0x2f4d26(%rip)  # imm = 0x139
jne 0xdc4d6
callq 0xdd1d0
jmp 0xdc696
cmpl $0x13a, 0x2f4d10(%rip)  # imm = 0x13A
jne 0xdc4ec
callq 0xdd210
jmp 0xdc694
cmpl $0x13b, 0x2f4cfa(%rip)  # imm = 0x13B
jne 0xdc502
callq 0xdd250
jmp 0xdc692
cmpl $0x13d, 0x2f4ce4(%rip)  # imm = 0x13D
jne 0xdc518
callq 0xdd7f0
jmp 0xdc690
cmpl $0x13f, 0x2f4cce(%rip)  # imm = 0x13F
jne 0xdc52e
callq 0xdd370
jmp 0xdc68e
cmpl $0x140, 0x2f4cb8(%rip)  # imm = 0x140
jne 0xdc544
callq 0xdd3b0
jmp 0xdc68c
cmpl $0x141, 0x2f4ca2(%rip)  # imm = 0x141
jne 0xdc55a
callq 0xdd3f0
jmp 0xdc68a
cmpl $0x142, 0x2f4c8c(%rip)  # imm = 0x142
jne 0xdc570
callq 0xdcef0
jmp 0xdc688
cmpl $0x143, 0x2f4c76(%rip)  # imm = 0x143
jne 0xdc586
callq 0xdcfa0
jmp 0xdc686
cmpl $0x145, 0x2f4c60(%rip)  # imm = 0x145
jne 0xdc59c
callq 0xdd430
jmp 0xdc684
cmpl $0x146, 0x2f4c4a(%rip)  # imm = 0x146
jne 0xdc5b2
callq 0xdd470
jmp 0xdc682
cmpl $0x147, 0x2f4c34(%rip)  # imm = 0x147
jne 0xdc5c8
callq 0xdd4b0
jmp 0xdc680
cmpl $0x148, 0x2f4c1e(%rip)  # imm = 0x148
jne 0xdc5de
callq 0xdd580
jmp 0xdc67e
cmpl $0x149, 0x2f4c08(%rip)  # imm = 0x149
jne 0xdc5f4
callq 0xdd5c0
jmp 0xdc67c
cmpl $0x144, 0x2f4bf2(%rip)  # imm = 0x144
jne 0xdc607
callq 0xdceb0
jmp 0xdc67a
cmpl $0x14a, 0x2f4bdf(%rip)  # imm = 0x14A
jne 0xdc61a
callq 0xdd6f0
jmp 0xdc678
cmpl $0x14b, 0x2f4bcc(%rip)  # imm = 0x14B
jne 0xdc62d
callq 0xdd730
jmp 0xdc676
cmpl $0x14d, 0x2f4bb9(%rip)  # imm = 0x14D
jne 0xdc640
callq 0xdd650
jmp 0xdc674
cmpl $0x1c, 0x2f4ba9(%rip)   # 0x3d11f0
jne 0xdc650
callq 0xd7090
jmp 0xdc672
cmpl $0x19, 0x2f4b99(%rip)   # 0x3d11f0
jne 0xdc660
callq 0xd7ba0
jmp 0xdc670
cmpl $0xb, 0x2f4b89(%rip)    # 0x3d11f0
jne 0xdc66e
callq 0xd6650
jmp 0xdc670
jmp 0xdc672
jmp 0xdc674
jmp 0xdc676
jmp 0xdc678
jmp 0xdc67a
jmp 0xdc67c
jmp 0xdc67e
jmp 0xdc680
jmp 0xdc682
jmp 0xdc684
jmp 0xdc686
jmp 0xdc688
jmp 0xdc68a
jmp 0xdc68c
jmp 0xdc68e
jmp 0xdc690
jmp 0xdc692
jmp 0xdc694
jmp 0xdc696
jmp 0xdc698
jmp 0xdc69a
jmp 0xdc69c
jmp 0xdc69e
jmp 0xdc6a0
jmp 0xdc6a2
jmp 0xdc6a4
jmp 0xdc6a6
jmp 0xdc6a8
jmp 0xdc6aa
jmp 0xdc6ac
jmp 0xdc6ae
jmp 0xdc6b0
jmp 0xdc6b2
callq 0x96ab0
movl $0x0, 0x2f4b2f(%rip)    # 0x3d11f0
leaq 0x1c0ed8(%rip), %rax    # 0x29d5a0
cmpq $0x0, (%rax)
je 0xdc6ec
leaq 0x1a610b(%rip), %rax    # 0x2827e0
cmpq $0x0, (%rax)
je 0xdc6ec
leaq 0x1a60fe(%rip), %rax    # 0x2827e0
movq (%rax), %rax
movl %eax, %edi
callq 0xb8b0
leaq 0x1c1a8d(%rip), %rax    # 0x29e180
movl $0x1, (%rax)
addq $0x10, %rsp
popq %rbp
retq
nop