// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathmsc.cpp
// Function: parse_log_comment(char*)
int parse_log_comment(char *line)
{
char *s;
char ti[120];

   // process comment line in a log file

   // !!! This is a VERY crude parser that depends upon fixed spacing.
   // !!! If you change any of the log file output formats,  you will need
   // !!! to make changes in this code also.

   if(line == 0) return 1;

   if(xml_log_fmt && strstr(line, "<!--")) {  // XML comment
      if(strlen(line) < 6) return 1;

      if((line[10] == ':') && (line[13] == ':')) goto time_cmt;  // time comment
      if(!strnicmp(&line[6], "TITLE:", 6)) {
         strcpy(plot_title, &line[6+6]);
         s = strstr(plot_title, "-->");
         if(s) *s = 0;
         goto set_title;
      }
      else if(!strnicmp(&line[6], "DEBUG1:", 7)) {
         strcpy(debug_text, &line[7+6]);
         s = strstr(debug_text, "-->");
         if(s) *s = 0;
         goto set_title1;
      }
      else if(!strnicmp(&line[6], "DEBUG2:", 7)) {
         strcpy(debug_text2, &line[7+6]);
         s = strstr(debug_text2, "-->");
         if(s) *s = 0;
         goto set_title2;
      }
      else if(!strnicmp(&line[6], "DEBUG3:", 7)) {
         strcpy(debug_text3, &line[7+6]);
         s = strstr(debug_text3, "-->");
         if(s) *s = 0;
         goto set_title3;
      }
      else if(!strnicmp(&line[6], "DEBUG4:", 7)) {
         strcpy(debug_text4, &line[7+6]);
         s = strstr(debug_text4, "-->");
         if(s) *s = 0;
         goto set_title4;
      }
      else if(!strnicmp(&line[6], "DEBUG5:", 7)) {
         strcpy(debug_text5, &line[7+6]);
         s = strstr(debug_text5, "-->");
         if(s) *s = 0;
         goto set_title5;
      }
      else if(!strnicmp(&line[6], "DEBUG6:", 7)) {
         strcpy(debug_text6, &line[7+6]);
         s = strstr(debug_text6, "-->");
         if(s) *s = 0;
         goto set_title6;
      }
      else if(!strnicmp(&line[6], "DEBUG7:", 7)) {
         strcpy(debug_text7, &line[7+6]);
         s = strstr(debug_text7, "-->");
         if(s) *s = 0;
         goto set_title7;
      }
      else if(!strnicmp(&line[6], "MARKER", 6)) {
         log_mark_number = atoi(&line[6+6]);
         if((log_mark_number >= 0) && (log_mark_number < MAX_MARKER)) {
            mark_q_entry[log_mark_number] = plot_q_in;
         }
      }
      else if(!strnicmp(&line[6], "OSC_GAIN", 8)) {
         osc_gain = (DATA_SIZE) atof(&line[6+8]);
         user_osc_gain = osc_gain;
         lars_gain = osc_gain;
         log_osc_gain = osc_gain;
         gain_color = YELLOW;
      }

      return 1;
   }
   else if((line[0] == '#') || (line[0] == ';') || (line[0] == '*') || (line[0] == '/')) { 
      if((line[5] == ':') && (line[8] == ':')) {  // time comment
         time_cmt:
         if(strstr(line, "seconds") == 0) return 1;

         s = strstr(line, "interval");
         if(s == 0) return 1;

         read_log_interval = (DATA_SIZE) atof(s+8);
if(read_log_interval && (user_set_qi == 0)) queue_interval = (long) read_log_interval;
         if(read_log_interval && pause_data) {
            if(!restore_nav_rate) {            // save current nav rate
               saved_nav_rate = nav_rate;
               restore_nav_rate = 1;
            }
            if(0 && read_log_interval) {
               nav_rate = ((DATA_SIZE) 1.0 / read_log_interval); // set nav rate to what's in the log so plots scale properly
            }
            else nav_rate = 1.0;
         }

         if(strstr(line, "GPS")) {
            time_flags = TFLAGS_NULL;
            s = strstr(line, "GPS");
         }
         else if(strstr(line, "UTC")) {
            time_flags = TFLAGS_UTC;
            s = strstr(line, "UTC");
         }

         if(s) sscanf(s+3, "%d %s %d", &day, &ti[0], &year);
         for(month=1; month<=12; month++) {
            if(!strcmp(months[month], &ti[0])) goto got_month;
         }
         month = 0;

         got_month:
         valid_read_log = 1;
      }
      else if((line[1] == '!') && strstr(line, "discipline mode")) {  // discipline mode comment
         discipline_mode = DIS_MODE_NORMAL;
         if     (strstr(line, "Normal"))          discipline_mode = DIS_MODE_NORMAL;
         else if(strstr(line, "Power-up"))        discipline_mode = DIS_MODE_POWERUP;
         else if(strstr(line, "Auto holdover"))   discipline_mode = DIS_MODE_AUTO_HOLD;
         else if(strstr(line, "Manual holdover")) discipline_mode = DIS_MODE_MANUAL_HOLD;
         else if(strstr(line, "Recovery mode"))   discipline_mode = DIS_MODE_RECOVERY;
         else if(strstr(line, "Fast recovery"))   discipline_mode = DIS_MODE_FAST_RECOVERY;
         else if(strstr(line, "Disabled"))        discipline_mode = DIS_MODE_DISABLED;
         else if(strstr(line, "Warming up"))      discipline_mode = DIS_MODE_WARMUP;
         else if(strstr(line, "Settling"))        discipline_mode = DIS_MODE_WARMUP;
      }
      else if(!strnicmp(line, "#TITLE", 6)) {
         strcpy(plot_title, &line[7]);
         set_title:
         set_log_title(plot_title);
      }
      else if(!strnicmp(line, "#DEBUG1", 7)) {
         strcpy(debug_text, &line[8]);
         set_title1:
         set_log_title(debug_text);
      }
      else if(!strnicmp(line, "#DEBUG2", 7)) {
         strcpy(debug_text2, &line[8]);
         set_title2:
         set_log_title(debug_text2);
      }
      else if(!strnicmp(line, "#DEBUG3", 7)) {
         strcpy(debug_text3, &line[8]);
         set_title3:
         set_log_title(debug_text3);
      }
      else if(!strnicmp(line, "#DEBUG4", 7)) {
         strcpy(debug_text4, &line[8]);
         set_title4:
         set_log_title(debug_text4);
      }
      else if(!strnicmp(line, "#DEBUG5", 7)) {
         strcpy(debug_text5, &line[8]);
         set_title5:
         set_log_title(debug_text5);
      }
      else if(!strnicmp(line, "#DEBUG6", 7)) {
         strcpy(debug_text6, &line[8]);
         set_title6:
         set_log_title(debug_text6);
      }
      else if(!strnicmp(line, "#DEBUG7", 7)) {
         strcpy(debug_text7, &line[8]);
         set_title7:
         set_log_title(debug_text7);
      }
      else if(!strnicmp(line, "#MARKER", 7)) {
         log_mark_number = 0;
         sscanf(&line[8], "%d", &log_mark_number);
         if((log_mark_number >= 0) && (log_mark_number < MAX_MARKER)) {
            mark_q_entry[log_mark_number] = plot_q_in;
         }
      }
      else if(!strnicmp(line, "#OSC_GAIN", 9)) {
         osc_gain = (-3.5);
         osc_gain = (DATA_SIZE) atof(&line[10]);
         user_osc_gain = osc_gain;
         lars_gain = osc_gain;
         log_osc_gain = osc_gain;
         gain_color = YELLOW;
      }
      else if(!strnicmp(line, "#SCALE", 6)) {
         log_pps_scale = log_osc_scale = 1.0;
         sscanf(&line[7], "%lf %lf", &log_pps_scale, &log_osc_scale);
      }
      else if(!strnicmp(line, "#INTERVAL", 9)) {
         adev_period = 1.0;
         sscanf(&line[10], "%lf", &adev_period);   // aaaaaapppppp other periods 
      }
      else if(!strnicmp(line, "#PERIOD", 7)) {
         adev_period = 1.0;
         sscanf(&line[8], "%lf", &adev_period);    // aaaaaapppppp other periods 
      }
      else if(!strnicmp(line, "#LLA", 4)) {
         sscanf(&line[5], "%lf %lf %lf", &precise_lat, &precise_lon, &precise_alt);
         precise_lon /= RAD_TO_DEG;
         precise_lat /= RAD_TO_DEG;
         cos_factor = cos(precise_lat);
         if(cos_factor == 0.0) cos_factor = 0.001;
      }
      return 1;
   }

   return 0;
}

// Assembly:
testq %rdi, %rdi
je 0xd6f23
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x80, %rsp
movq %rdi, %rbx
cmpl $0x0, 0x2a3a7a(%rip)    # 0x37a664
je 0xd6d62
leaq 0x5c316(%rip), %rsi     # 0x132f0d
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd6d62
movq %rbx, %rdi
callq 0x9120
cmpq $0x6, %rax
jb 0xd74bf
cmpb $0x3a, 0xa(%rbx)
jne 0xd6c2a
cmpb $0x3a, 0xd(%rbx)
je 0xd6d99
leaq 0x6(%rbx), %r14
leaq 0x5c2dd(%rip), %rsi     # 0x132f12
movl $0x6, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd71ae
leaq 0x5c2c8(%rip), %rsi     # 0x132f19
movl $0x7, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd721d
leaq 0x5c2b4(%rip), %rsi     # 0x132f21
movl $0x7, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd726e
leaq 0x5c2a0(%rip), %rsi     # 0x132f29
movl $0x7, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd72dd
leaq 0x5c28c(%rip), %rsi     # 0x132f31
movl $0x7, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd732e
leaq 0x5c278(%rip), %rsi     # 0x132f39
movl $0x7, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd739d
leaq 0x5c264(%rip), %rsi     # 0x132f41
movl $0x7, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd73ee
leaq 0x5c250(%rip), %rsi     # 0x132f49
movl $0x7, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7486
leaq 0x5c28e(%rip), %rsi     # 0x132fa3
movl $0x6, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7529
leaq 0x5c27a(%rip), %rsi     # 0x132fab
movl $0x8, %edx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
jne 0xd74bf
addq $0xe, %rbx
movq %rbx, %rdi
callq 0x9470
leaq 0x2363af(%rip), %rax    # 0x30d108
movsd %xmm0, (%rax)
jmp 0xd74f9
movzbl (%rbx), %ecx
xorl %eax, %eax
cmpq $0x3b, %rcx
ja 0xd74c4
movabsq $0x800840800000000, %rdx # imm = 0x800840800000000
btq %rcx, %rdx
jae 0xd74c4
cmpb $0x3a, 0x5(%rbx)
jne 0xd6f29
cmpb $0x3a, 0x8(%rbx)
jne 0xd6f29
leaq 0x3f8c5(%rip), %rsi     # 0x116665
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd74bf
leaq 0x4f2d1(%rip), %rsi     # 0x126089
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd74bf
movq %rax, %r14
leaq 0x8(%rax), %rdi
callq 0x9470
movsd %xmm0, 0x2a388b(%rip)   # 0x37a668
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xd6de9
jnp 0xd6e04
leaq 0x1445c0(%rip), %rax    # 0x21b3b0
cmpl $0x0, (%rax)
jne 0xd6e04
cvttsd2si %xmm0, %rax
leaq 0x144597(%rip), %rcx    # 0x21b398
movq %rax, (%rcx)
ucomisd %xmm1, %xmm0
jne 0xd6e0c
jnp 0xd6e54
leaq 0x144421(%rip), %rax    # 0x21b234
cmpb $0x0, (%rax)
je 0xd6e54
leaq 0x144551(%rip), %rax    # 0x21b370
cmpl $0x0, (%rax)
jne 0xd6e40
leaq 0x14452d(%rip), %rcx    # 0x21b358
movsd (%rcx), %xmm0
leaq 0x144532(%rip), %rcx    # 0x21b368
movsd %xmm0, (%rcx)
movl $0x1, (%rax)
leaq 0x144511(%rip), %rax    # 0x21b358
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, (%rax)
leaq 0x5c9a6(%rip), %r15     # 0x133801
movq %rbx, %rdi
movq %r15, %rsi
callq 0x9090
xorl %ecx, %ecx
testq %rax, %rax
jne 0xd6e89
leaq 0x5df4a(%rip), %r15     # 0x134dbe
movq %rbx, %rdi
movq %r15, %rsi
callq 0x9090
movl $0x1, %ecx
testq %rax, %rax
je 0xd6ea0
leaq 0x236614(%rip), %rax    # 0x30d4a4
movl %ecx, (%rax)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x9090
movq %rax, %r14
testq %r14, %r14
je 0xd6ecf
addq $0x3, %r14
leaq 0x5c0a1(%rip), %rsi     # 0x132f51
leaq 0x23661d(%rip), %rdx    # 0x30d4d4
leaq 0x23661e(%rip), %r8     # 0x30d4dc
leaq -0xa0(%rbp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0x9360
leaq 0x236602(%rip), %r14    # 0x30d4d8
movl $0x1, (%r14)
movl $0x1, %r15d
leaq 0x93856(%rip), %r12     # 0x16a740
leaq -0xa0(%rbp), %rbx
movq (%r12,%r15,8), %rdi
movq %rbx, %rsi
callq 0x9520
testl %eax, %eax
je 0xd6f14
incq %r15
movl %r15d, (%r14)
cmpq $0xd, %r15
jne 0xd6ef1
movl $0x0, (%r14)
movl $0x1, 0x2a3752(%rip)    # 0x37a670
jmp 0xd74bf
movl $0x1, %eax
retq
cmpb $0x21, 0x1(%rbx)
jne 0xd6f6f
leaq 0x4eb2c(%rip), %rsi     # 0x125a62
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd6f6f
leaq 0x23654d(%rip), %r14    # 0x30d497
movb $0x0, (%r14)
leaq 0x5b1be(%rip), %rsi     # 0x132113
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd71e7
movb $0x0, (%r14)
jmp 0xd74bf
leaq 0x5bfed(%rip), %rsi     # 0x132f63
movl $0x6, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7181
leaq 0x5bfd8(%rip), %rsi     # 0x132f6a
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7196
leaq 0x5bfc4(%rip), %rsi     # 0x132f72
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7208
leaq 0x5bfb0(%rip), %rsi     # 0x132f7a
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7256
leaq 0x5bf9c(%rip), %rsi     # 0x132f82
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd72c8
leaq 0x5bf88(%rip), %rsi     # 0x132f8a
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7316
leaq 0x5bf74(%rip), %rsi     # 0x132f92
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7388
leaq 0x5bf60(%rip), %rsi     # 0x132f9a
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd73d6
leaq 0x5bf4c(%rip), %rsi     # 0x132fa2
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7445
leaq 0x5bf38(%rip), %rsi     # 0x132faa
movl $0x9, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd74d4
leaq 0x5bf26(%rip), %rsi     # 0x132fb4
movl $0x6, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd7560
leaq 0x5bf11(%rip), %rsi     # 0x132fbb
movl $0x9, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd75bd
leaq 0x5beff(%rip), %rsi     # 0x132fc5
movl $0x7, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xd75d7
leaq 0x5beeb(%rip), %rsi     # 0x132fcd
movl $0x4, %edx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
jne 0xd74bf
addq $0x5, %rbx
leaq 0x5c076(%rip), %rsi     # 0x133178
leaq 0x2641e7(%rip), %r14    # 0x33b2f0
leaq 0x2641e8(%rip), %r15    # 0x33b2f8
leaq 0x2641e9(%rip), %r8     # 0x33b300
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x9360
movsd (%r15), %xmm0
movsd 0x32024(%rip), %xmm1    # 0x109158
divsd %xmm1, %xmm0
movsd %xmm0, (%r15)
movsd (%r14), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, (%r14)
callq 0x9710
leaq 0x235e71(%rip), %rax    # 0x30cfc8
movsd %xmm0, (%rax)
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xd74bf
jp 0xd74bf
movabsq $0x3f50624dd2f1a9fc, %rcx # imm = 0x3F50624DD2F1A9FC
movq %rcx, (%rax)
jmp 0xd74bf
addq $0x7, %rbx
leaq 0x2676c4(%rip), %rdi    # 0x33e850
movq %rbx, %rsi
callq 0x9340
jmp 0xd71db
addq $0x8, %rbx
leaq 0x2677ff(%rip), %rdi    # 0x33e9a0
movq %rbx, %rsi
callq 0x9340
jmp 0xd724a
addq $0xc, %rbx
leaq 0x267697(%rip), %r14    # 0x33e850
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9340
leaq 0x564f1(%rip), %rsi     # 0x12d6bc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xd71db
movb $0x0, (%rax)
leaq 0x26766e(%rip), %rdi    # 0x33e850
jmp 0xd74ba
leaq 0x5af2c(%rip), %rsi     # 0x13211a
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd72a7
movb $0x1, (%r14)
jmp 0xd74bf
addq $0x8, %rbx
leaq 0x2678dd(%rip), %rdi    # 0x33eaf0
movq %rbx, %rsi
callq 0x9340
jmp 0xd729b
addq $0xd, %rbx
leaq 0x267778(%rip), %r14    # 0x33e9a0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9340
leaq 0x56482(%rip), %rsi     # 0x12d6bc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xd724a
movb $0x0, (%rax)
leaq 0x26774f(%rip), %rdi    # 0x33e9a0
jmp 0xd74ba
addq $0x8, %rbx
leaq 0x2679df(%rip), %rdi    # 0x33ec40
movq %rbx, %rsi
callq 0x9340
jmp 0xd730a
addq $0xd, %rbx
leaq 0x267877(%rip), %r14    # 0x33eaf0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9340
leaq 0x56431(%rip), %rsi     # 0x12d6bc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xd729b
movb $0x0, (%rax)
leaq 0x26784e(%rip), %rdi    # 0x33eaf0
jmp 0xd74ba
leaq 0x5ae75(%rip), %rsi     # 0x132123
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd7367
movb $0x2, (%r14)
jmp 0xd74bf
addq $0x8, %rbx
leaq 0x267abd(%rip), %rdi    # 0x33ed90
movq %rbx, %rsi
callq 0x9340
jmp 0xd735b
addq $0xd, %rbx
leaq 0x267958(%rip), %r14    # 0x33ec40
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9340
leaq 0x563c2(%rip), %rsi     # 0x12d6bc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xd730a
movb $0x0, (%rax)
leaq 0x26792f(%rip), %rdi    # 0x33ec40
jmp 0xd74ba
addq $0x8, %rbx
leaq 0x267bbf(%rip), %rdi    # 0x33eee0
movq %rbx, %rsi
callq 0x9340
jmp 0xd73ca
addq $0xd, %rbx
leaq 0x267a57(%rip), %r14    # 0x33ed90
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9340
leaq 0x56371(%rip), %rsi     # 0x12d6bc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xd735b
movb $0x0, (%rax)
leaq 0x267a2e(%rip), %rdi    # 0x33ed90
jmp 0xd74ba
leaq 0x5adc3(%rip), %rsi     # 0x132131
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd7427
movb $0x3, (%r14)
jmp 0xd74bf
addq $0x8, %rbx
leaq 0x267c9d(%rip), %rdi    # 0x33f030
movq %rbx, %rsi
callq 0x9340
jmp 0xd741b
addq $0xd, %rbx
leaq 0x267b38(%rip), %r14    # 0x33eee0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9340
leaq 0x56302(%rip), %rsi     # 0x12d6bc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xd73ca
movb $0x0, (%rax)
leaq 0x267b0f(%rip), %rdi    # 0x33eee0
jmp 0xd74ba
addq $0x8, %rbx
leaq 0x267d9f(%rip), %rdi    # 0x33f180
movq %rbx, %rsi
callq 0x9340
jmp 0xd74b3
addq $0xd, %rbx
leaq 0x267c37(%rip), %r14    # 0x33f030
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9340
leaq 0x562b1(%rip), %rsi     # 0x12d6bc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xd741b
movb $0x0, (%rax)
leaq 0x267c0e(%rip), %rdi    # 0x33f030
jmp 0xd74ba
leaq 0x5ad13(%rip), %rsi     # 0x132141
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd75a0
movb $0x4, (%r14)
jmp 0xd74bf
movl $0x0, 0x2a3211(%rip)    # 0x37a660
leaq 0x2a320a(%rip), %rdx    # 0x37a660
addq $0x8, %rbx
leaq 0x4ca13(%rip), %rsi     # 0x123e74
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9360
movl 0x2a31ef(%rip), %eax    # 0x37a660
cmpq $0x9, %rax
ja 0xd74bf
leaq 0x143eaa(%rip), %rcx    # 0x21b328
movq (%rcx), %rcx
jmp 0xd7550
addq $0xd, %rbx
leaq 0x267cef(%rip), %r14    # 0x33f180
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9340
leaq 0x56219(%rip), %rsi     # 0x12d6bc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xd74b3
movb $0x0, (%rax)
leaq 0x267cc6(%rip), %rdi    # 0x33f180
callq 0xd6b68
movl $0x1, %eax
addq $0x80, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x235c2d(%rip), %r14    # 0x30d108
movabsq $-0x3ff4000000000000, %rax # imm = 0xC00C000000000000
movq %rax, (%r14)
addq $0xa, %rbx
movq %rbx, %rdi
callq 0x9470
movsd %xmm0, (%r14)
leaq 0x235c88(%rip), %rax    # 0x30d188
movsd %xmm0, (%rax)
leaq 0x235c05(%rip), %rax    # 0x30d110
movsd %xmm0, (%rax)
leaq 0x235c02(%rip), %rax    # 0x30d118
movsd %xmm0, (%rax)
leaq 0x235c47(%rip), %rax    # 0x30d168
movl $0xe, (%rax)
jmp 0xd74bf
addq $0xc, %rbx
movq %rbx, %rdi
callq 0x95e0
movl %eax, 0x2a3125(%rip)    # 0x37a660
cmpl $0x9, %eax
ja 0xd74bf
leaq 0x143ddd(%rip), %rcx    # 0x21b328
movq (%rcx), %rcx
movl %eax, %eax
leaq 0x143d59(%rip), %rdx    # 0x21b2b0
movq %rcx, (%rdx,%rax,8)
jmp 0xd74bf
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0x2a310f(%rip)    # 0x37a680
leaq 0x2a3108(%rip), %rcx    # 0x37a680
movq %rax, 0x2a30f9(%rip)    # 0x37a678
leaq 0x2a30f2(%rip), %rdx    # 0x37a678
addq $0x7, %rbx
leaq 0x5bbeb(%rip), %rsi     # 0x13317c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9360
jmp 0xd74bf
leaq 0x5aba8(%rip), %rsi     # 0x13214f
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd7605
movb $0x5, (%r14)
jmp 0xd74bf
leaq 0x165734(%rip), %rdx    # 0x23ccf8
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%rdx)
addq $0xa, %rbx
jmp 0xd75ef
leaq 0x16571a(%rip), %rdx    # 0x23ccf8
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%rdx)
addq $0x8, %rbx
leaq 0x5bb8a(%rip), %rsi     # 0x133180
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9360
jmp 0xd74bf
leaq 0x5886d(%rip), %rsi     # 0x12fe79
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd7622
movb $0x6, (%r14)
jmp 0xd74bf
leaq 0x5ab62(%rip), %rsi     # 0x13218b
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
jne 0xd764e
leaq 0x5b91d(%rip), %rsi     # 0x132f5a
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xd74bf
movb $0xa, (%r14)
jmp 0xd74bf