// File: /workspace/github_cpp_makefile_star2_O2/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:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
pushq $0x1
popq %r12
testq %rdi, %rdi
je 0xc623a
movq %rdi, %rbx
cmpl $0x0, 0x29ecb9(%rip)    # 0x364664
je 0xc5b0f
leaq 0x57565(%rip), %rsi     # 0x11cf1d
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc5b0f
movq %rbx, %rdi
callq 0x9120
cmpq $0x6, %rax
jb 0xc623a
cmpb $0x3a, 0xa(%rbx)
jne 0xc59eb
cmpb $0x3a, 0xd(%rbx)
je 0xc5b46
leaq 0x6(%rbx), %r14
leaq 0x5752c(%rip), %rsi     # 0x11cf22
pushq $0x6
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc5f37
leaq 0x57519(%rip), %rsi     # 0x11cf29
pushq $0x7
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc5f88
leaq 0x57507(%rip), %rsi     # 0x11cf31
pushq $0x7
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc5fec
leaq 0x574f5(%rip), %rsi     # 0x11cf39
pushq $0x7
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc605b
leaq 0x574e3(%rip), %rsi     # 0x11cf41
pushq $0x7
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc60ac
leaq 0x574d1(%rip), %rsi     # 0x11cf49
pushq $0x7
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc611b
leaq 0x574bf(%rip), %rsi     # 0x11cf51
pushq $0x7
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc616c
leaq 0x574ad(%rip), %rsi     # 0x11cf59
pushq $0x7
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc6201
leaq 0x574ed(%rip), %rsi     # 0x11cfb3
pushq $0x6
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc62a1
leaq 0x574db(%rip), %rsi     # 0x11cfbb
pushq $0x8
popq %rdx
movq %r14, %rdi
callq 0x94a0
testl %eax, %eax
jne 0xc623a
addq $0xe, %rbx
movq %rbx, %rdi
callq 0x9470
leaq 0x231602(%rip), %rax    # 0x2f7108
movsd %xmm0, (%rax)
jmp 0xc6271
movzbl (%rbx), %ecx
xorl %eax, %eax
cmpq $0x3b, %rcx
ja 0xc623d
movabsq $0x800840800000000, %rdx # imm = 0x800840800000000
btq %rcx, %rdx
jae 0xc623d
cmpb $0x3a, 0x5(%rbx)
jne 0xc5cb9
cmpb $0x3a, 0x8(%rbx)
jne 0xc5cb9
leaq 0x3ac2c(%rip), %rsi     # 0x100779
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc623a
leaq 0x4a549(%rip), %rsi     # 0x1100ae
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc623a
movq %rax, %r14
leaq 0x8(%rax), %rdi
callq 0x9470
movsd %xmm0, 0x29eade(%rip)   # 0x364668
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xc5b96
jnp 0xc5bb1
leaq 0x13f813(%rip), %rax    # 0x2053b0
cmpl $0x0, (%rax)
jne 0xc5bb1
cvttsd2si %xmm0, %rax
leaq 0x13f7ea(%rip), %rcx    # 0x205398
movq %rax, (%rcx)
ucomisd %xmm1, %xmm0
jne 0xc5bb9
jnp 0xc5c01
leaq 0x13f674(%rip), %rax    # 0x205234
cmpb $0x0, (%rax)
je 0xc5c01
leaq 0x13f7a4(%rip), %rax    # 0x205370
cmpl $0x0, (%rax)
jne 0xc5bed
leaq 0x13f780(%rip), %rcx    # 0x205358
movsd (%rcx), %xmm0
leaq 0x13f785(%rip), %rcx    # 0x205368
movsd %xmm0, (%rcx)
movl $0x1, (%rax)
leaq 0x13f764(%rip), %rax    # 0x205358
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, (%rax)
leaq 0x57c09(%rip), %r15     # 0x11d811
movq %rbx, %rdi
movq %r15, %rsi
callq 0x9090
xorl %ecx, %ecx
testq %rax, %rax
jne 0xc5c34
leaq 0x591ad(%rip), %r15     # 0x11edce
movq %rbx, %rdi
movq %r15, %rsi
callq 0x9090
testq %rax, %rax
je 0xc5c50
pushq $0x1
popq %rcx
leaq 0x231869(%rip), %rax    # 0x2f74a4
movl %ecx, (%rax)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x9090
testq %rax, %rax
je 0xc5c7a
movq %rax, %r14
addq $0x3, %r14
leaq 0x57306(%rip), %rsi     # 0x11cf61
leaq 0x231872(%rip), %rdx    # 0x2f74d4
leaq 0x231873(%rip), %r8     # 0x2f74dc
leaq -0xa0(%rbp), %rcx
movq %r14, %rdi
xorl %eax, %eax
callq 0x9350
pushq $0x1
popq %r15
leaq 0x231853(%rip), %r14    # 0x2f74d8
leaq 0x8eab4(%rip), %r13     # 0x154740
leaq -0xa0(%rbp), %rbx
movl %r15d, (%r14)
cmpq $0xd, %r15
je 0xc5fc1
movq (%r13,%r15,8), %rdi
movq %rbx, %rsi
callq 0x9520
incq %r15
testl %eax, %eax
jne 0xc5c93
jmp 0xc5fc5
cmpb $0x21, 0x1(%rbx)
jne 0xc5d17
leaq 0x49dc4(%rip), %rsi     # 0x10fa8a
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc5d17
leaq 0x2317bd(%rip), %r14    # 0x2f7497
movb $0x0, (%r14)
leaq 0x5643e(%rip), %rsi     # 0x11c123
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
jne 0xc623a
leaq 0x5642d(%rip), %rsi     # 0x11c12a
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc6025
movb $0x1, (%r14)
jmp 0xc623a
leaq 0x57255(%rip), %rsi     # 0x11cf73
pushq $0x6
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc5f0d
leaq 0x57242(%rip), %rsi     # 0x11cf7a
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc5f22
leaq 0x57230(%rip), %rsi     # 0x11cf82
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc5f70
leaq 0x5721e(%rip), %rsi     # 0x11cf8a
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc5fd4
leaq 0x5720c(%rip), %rsi     # 0x11cf92
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc6046
leaq 0x571fa(%rip), %rsi     # 0x11cf9a
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc6094
leaq 0x571e8(%rip), %rsi     # 0x11cfa2
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc6106
leaq 0x571d6(%rip), %rsi     # 0x11cfaa
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc6154
leaq 0x571c4(%rip), %rsi     # 0x11cfb2
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc61c3
leaq 0x571b2(%rip), %rsi     # 0x11cfba
pushq $0x9
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc624c
leaq 0x571a2(%rip), %rsi     # 0x11cfc4
pushq $0x6
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc62d4
leaq 0x5718f(%rip), %rsi     # 0x11cfcb
pushq $0x9
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc6331
leaq 0x5717f(%rip), %rsi     # 0x11cfd5
pushq $0x7
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
je 0xc634b
leaq 0x5716d(%rip), %rsi     # 0x11cfdd
pushq $0x4
popq %rdx
movq %rbx, %rdi
callq 0x94a0
testl %eax, %eax
jne 0xc623a
addq $0x5, %rbx
leaq 0x572fa(%rip), %rsi     # 0x11d188
leaq 0x25f45b(%rip), %r14    # 0x3252f0
leaq 0x25f45c(%rip), %r15    # 0x3252f8
leaq 0x25f45d(%rip), %r8     # 0x325300
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0x9350
movsd (%r15), %xmm0
movsd 0x2d2a0(%rip), %xmm1    # 0xf3160
divsd %xmm1, %xmm0
movsd %xmm0, (%r15)
movsd (%r14), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, (%r14)
callq 0x9710
leaq 0x2310e5(%rip), %rax    # 0x2f6fc8
movsd %xmm0, (%rax)
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xc623a
jp 0xc623a
movabsq $0x3f50624dd2f1a9fc, %rcx # imm = 0x3F50624DD2F1A9FC
movq %rcx, (%rax)
jmp 0xc623a
addq $0x7, %rbx
leaq 0x262938(%rip), %rdi    # 0x328850
movq %rbx, %rsi
callq 0x9330
jmp 0xc5f64
addq $0x8, %rbx
leaq 0x262a73(%rip), %rdi    # 0x3289a0
movq %rbx, %rsi
callq 0x9330
jmp 0xc5fb5
addq $0xc, %rbx
leaq 0x26290e(%rip), %r14    # 0x328850
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9330
leaq 0x51778(%rip), %rsi     # 0x1176cc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xc5f64
movb $0x0, (%rax)
leaq 0x2628e5(%rip), %rdi    # 0x328850
jmp 0xc6235
addq $0x8, %rbx
leaq 0x262b75(%rip), %rdi    # 0x328af0
movq %rbx, %rsi
callq 0x9330
jmp 0xc6019
addq $0xd, %rbx
leaq 0x262a0d(%rip), %r14    # 0x3289a0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9330
leaq 0x51727(%rip), %rsi     # 0x1176cc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xc5fb5
movb $0x0, (%rax)
leaq 0x2629e4(%rip), %rdi    # 0x3289a0
jmp 0xc6235
andl $0x0, (%r14)
movl $0x1, 0x29e6a1(%rip)    # 0x364670
jmp 0xc623a
addq $0x8, %rbx
leaq 0x262c61(%rip), %rdi    # 0x328c40
movq %rbx, %rsi
callq 0x9330
jmp 0xc6088
addq $0xd, %rbx
leaq 0x262af9(%rip), %r14    # 0x328af0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9330
leaq 0x516c3(%rip), %rsi     # 0x1176cc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xc6019
movb $0x0, (%rax)
leaq 0x262ad0(%rip), %rdi    # 0x328af0
jmp 0xc6235
leaq 0x56107(%rip), %rsi     # 0x11c133
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc60e5
movb $0x2, (%r14)
jmp 0xc623a
addq $0x8, %rbx
leaq 0x262d3f(%rip), %rdi    # 0x328d90
movq %rbx, %rsi
callq 0x9330
jmp 0xc60d9
addq $0xd, %rbx
leaq 0x262bda(%rip), %r14    # 0x328c40
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9330
leaq 0x51654(%rip), %rsi     # 0x1176cc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xc6088
movb $0x0, (%rax)
leaq 0x262bb1(%rip), %rdi    # 0x328c40
jmp 0xc6235
addq $0x8, %rbx
leaq 0x262e41(%rip), %rdi    # 0x328ee0
movq %rbx, %rsi
callq 0x9330
jmp 0xc6148
addq $0xd, %rbx
leaq 0x262cd9(%rip), %r14    # 0x328d90
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9330
leaq 0x51603(%rip), %rsi     # 0x1176cc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xc60d9
movb $0x0, (%rax)
leaq 0x262cb0(%rip), %rdi    # 0x328d90
jmp 0xc6235
leaq 0x56055(%rip), %rsi     # 0x11c141
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc61a5
movb $0x3, (%r14)
jmp 0xc623a
addq $0x8, %rbx
leaq 0x262f1f(%rip), %rdi    # 0x329030
movq %rbx, %rsi
callq 0x9330
jmp 0xc6199
addq $0xd, %rbx
leaq 0x262dba(%rip), %r14    # 0x328ee0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9330
leaq 0x51594(%rip), %rsi     # 0x1176cc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xc6148
movb $0x0, (%rax)
leaq 0x262d91(%rip), %rdi    # 0x328ee0
jmp 0xc6235
addq $0x8, %rbx
leaq 0x263021(%rip), %rdi    # 0x329180
movq %rbx, %rsi
callq 0x9330
jmp 0xc622e
addq $0xd, %rbx
leaq 0x262eb9(%rip), %r14    # 0x329030
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9330
leaq 0x51543(%rip), %rsi     # 0x1176cc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xc6199
movb $0x0, (%rax)
leaq 0x262e90(%rip), %rdi    # 0x329030
jmp 0xc6235
leaq 0x55fa5(%rip), %rsi     # 0x11c151
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc6314
movb $0x4, (%r14)
jmp 0xc623a
andl $0x0, 0x29e496(%rip)    # 0x364660
leaq 0x29e48f(%rip), %rdx    # 0x364660
addq $0x8, %rbx
leaq 0x47cc0(%rip), %rsi     # 0x10de9c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9350
movl 0x29e474(%rip), %eax    # 0x364660
cmpq $0x9, %rax
ja 0xc623a
leaq 0x13f12f(%rip), %rcx    # 0x205328
movq (%rcx), %rcx
jmp 0xc62c4
addq $0xd, %rbx
leaq 0x262f74(%rip), %r14    # 0x329180
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9330
leaq 0x514ae(%rip), %rsi     # 0x1176cc
movq %r14, %rdi
callq 0x9090
testq %rax, %rax
je 0xc622e
movb $0x0, (%rax)
leaq 0x262f4b(%rip), %rdi    # 0x329180
callq 0xc5928
movl %r12d, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x230eb5(%rip), %r14    # 0x2f7108
movabsq $-0x3ff4000000000000, %rax # imm = 0xC00C000000000000
movq %rax, (%r14)
addq $0xa, %rbx
movq %rbx, %rdi
callq 0x9470
movsd %xmm0, (%r14)
leaq 0x230f10(%rip), %rax    # 0x2f7188
movsd %xmm0, (%rax)
leaq 0x230e8d(%rip), %rax    # 0x2f7110
movsd %xmm0, (%rax)
leaq 0x230e8a(%rip), %rax    # 0x2f7118
movsd %xmm0, (%rax)
leaq 0x230ecf(%rip), %rax    # 0x2f7168
movl $0xe, (%rax)
jmp 0xc623a
addq $0xc, %rbx
movq %rbx, %rdi
callq 0x95e0
movl %eax, 0x29e3ad(%rip)    # 0x364660
cmpl $0x9, %eax
ja 0xc623a
leaq 0x13f069(%rip), %rcx    # 0x205328
movq (%rcx), %rcx
movl %eax, %eax
leaq 0x13efe5(%rip), %rdx    # 0x2052b0
movq %rcx, (%rdx,%rax,8)
jmp 0xc623a
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0x29e39b(%rip)    # 0x364680
leaq 0x29e394(%rip), %rcx    # 0x364680
movq %rax, 0x29e385(%rip)    # 0x364678
leaq 0x29e37e(%rip), %rdx    # 0x364678
addq $0x7, %rbx
leaq 0x56e87(%rip), %rsi     # 0x11d18c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9350
jmp 0xc623a
leaq 0x55e44(%rip), %rsi     # 0x11c15f
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc6379
movb $0x5, (%r14)
jmp 0xc623a
leaq 0x1609c0(%rip), %rdx    # 0x226cf8
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%rdx)
addq $0xa, %rbx
jmp 0xc6363
leaq 0x1609a6(%rip), %rdx    # 0x226cf8
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, (%rdx)
addq $0x8, %rbx
leaq 0x56e26(%rip), %rsi     # 0x11d190
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9350
jmp 0xc623a
leaq 0x53b09(%rip), %rsi     # 0x119e89
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc6396
movb $0x6, (%r14)
jmp 0xc623a
leaq 0x55dfe(%rip), %rsi     # 0x11c19b
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
jne 0xc63c2
leaq 0x56bb9(%rip), %rsi     # 0x11cf6a
movq %rbx, %rdi
callq 0x9090
testq %rax, %rax
je 0xc623a
movb $0xa, (%r14)
jmp 0xc623a