// File: /workspace/github_cpp_makefile_star2_O1/DoubleString[P]RtConverter/src/Rnxobs/RnxobsFile_sat.cpp
// Function: bamboo::RnxobsFile_sat::m_readRnxHead()
void RnxobsFile_sat::m_readRnxHead() {
	int isys, id, i, j, nline;
	double sec;
	string line,strflag;
	char cline[256],tmetag[256];
	this->nsys = 0;
	memset(this->nobstype, 0, sizeof(int) * MAXSYS);
	streampos pos;
	while (getline(this->in, line)) {
		strflag = line.substr(60, line.size() - 60);
		const char* sflag = strflag.c_str();
		if (strstr(sflag, "END OF HEADER") != NULL)
			break;
		if(strstr(sflag,"COMMENT")){
			pos = in.tellg();
			continue;
		}
		if (strstr(sflag, "RINEX VERSION")) {
			this->ver = atof(line.substr(0, 9).c_str());
			this->sys[0] = line[40];
			if (this->sys[0] == ' ')
				this->sys[0] = 'G';
			if (this->ver < 1.0 || this->ver > 4.0){
				cout << "Read Rinex Version Error!\n";
				exit(1);
			}
		}
		if (strstr(sflag, "MARKER NAME")) {
			this->mark = line.substr(0, 4);
		}
		if (strstr(sflag, "REC #")) {
			this->recnum = line.substr(0, 20);
			this->rectype = line.substr(20, 20);
		}
		if (strstr(sflag, "ANT #")) {
			this->antnum = line.substr(0, 20);
			this->anttype = line.substr(20, 20);
		}
		if (strstr(sflag, "APPROX POSITION")) {
			sscanf(line.c_str(), "%lf%lf%lf", &x, &y, &z);
		}
		if (strstr(sflag, "ANTENNA: DELTA")) {
			sscanf(line.c_str(), "%lf%lf%lf", &h, &e, &n);
		}
		if (strstr(sflag, "WAVELENGTH FACT")) {
		}
		if (strstr(sflag, "SYS / # / OBS TYPES")) {
			//id = SYS.find_first_of(line[0]);
			id = index_string(SYS,line[0]);
			if (-1 == id){
				pos = in.tellg();
				continue;
			}
			this->nobstype[id] = atoi(line.substr(3, 3).c_str());
			if (nobstype[id] % 13 != 0)
				nline = (int) (nobstype[id] / 13) + 1;
			else{
				if (nobstype[id] == 0)
					nline =  1;
				else
					nline = (int) (nobstype[id] / 13);
			}
			//maybe can use fseek
			in.seekg(pos);
			for (j = 0; j < nline; j++) {
				getline(in, line);
				for (i = 0; i < (MIN((nobstype[id] - 13 * j), 13)); i++) {
					obstype[id][i + 13 * j] = line.substr(7 + i * 4, 3);
				}
			}
			if (ver >= 3.02 && id == index_string(SYS,'C') && ver < 3.04) {
				for (i = 0; i < nobstype[id]; i++) {
					if (strstr(obstype[id][i].c_str(), "C1") != NULL
							|| strstr(obstype[id][i].c_str(), "L1") != NULL
							|| strstr(obstype[id][i].c_str(), "S1") != NULL
							|| strstr(obstype[id][i].c_str(), "D1") != NULL)
						obstype[id][i][1] = '2';
				}
			}
		}
		if (strstr(sflag, "TYPES OF OBSERV")) {
			nobstype[0] = atoi(line.substr(0, 6).c_str());
			if (nobstype[0] == 0){
				pos = in.tellg();
				continue;
			}
			if (nobstype[0] % 9 != 0)
				nline = (int) (nobstype[0] / 9) + 1;
			else
				nline = (int) (nobstype[0] / 9);
			in.seekg(pos);
			for (j = 0; j < nline; j++) {
				getline(in, line);
				for (i = 0; i < (MIN((nobstype[0] - 9 * j), 9)); i++) {
					sscanf(line.substr(6 + 6 * i,6).c_str(),"%s",cline);
					obstype[0][i + 9 * j] = string(cline);
				}
			}
			for (i = 1; i < MAXSYS; i++) {
				nobstype[i] = nobstype[0];
				for (j = 0; j < nobstype[0]; j++)
					obstype[i][j] = obstype[0][j];
			}
			//for whu's tracking stations,the C1 is C2,C2 is C7
			//id = SYS.find_first_of('C');
			id = index_string(SYS,'C');
			if (-1 != id) {
				for (i = 0; i < nobstype[id]; i++) {
					if ('2' == obstype[id][i][1])
						obstype[id][i][1] = '7';
					if ('1' == obstype[id][i][1])
						obstype[id][i][1] = '2';
				}
			}
		}
		if (strstr(sflag, "INTERVAL")) {
			sscanf(line.c_str(), "%lf", &intv);
		}
		if (strstr(sflag, "TIME OF FIRST OBS")) {
			sscanf(line.c_str(), "%d%d%d%d%d%lf%s", t0, t0 + 1, t0 + 2, t0 + 3,
					t0 + 4, &sec,tmetag);
			t0[5] = (int) sec;
		}
		if (strstr(sflag, "TIME OF LAST OBS")) {
			sscanf(line.c_str(), "%d%d%d%d%d%lf", t1, t1 + 1, t1 + 2, t1 + 3,
					t1 + 4, &sec);
			t1[5] = (int) sec;
		}
		pos = in.tellg();
	}
	if (this->ver >= 3.0) {
		for (isys = 0; isys < MAXSYS; isys++) {
			if (this->nobstype[isys])
				(this->nsys)++;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x388, %rsp            # imm = 0x388
leaq -0x90(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x198(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movl $0x0, 0xae20(%rdi)
leaq 0x6cd4(%rdi), %rax
movq %rax, -0x30(%rbp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x6cd4(%rdi)
movupd %xmm0, 0x6ce0(%rdi)
leaq 0xb820(%rdi), %rbx
leaq -0x60(%rbp), %r14
leaq 0x6c70(%rdi), %rax
movq %rax, -0x180(%rbp)
leaq 0x6c30(%rdi), %rax
movq %rax, -0x178(%rbp)
leaq 0x5fd0(%rdi), %rax
movq %rax, -0x170(%rbp)
leaq 0x6c50(%rdi), %rax
movq %rax, -0x168(%rbp)
leaq 0x5ff0(%rdi), %rax
movq %rax, -0x130(%rbp)
leaq 0x6c90(%rdi), %rax
movq %rax, -0x160(%rbp)
leaq 0x6c98(%rdi), %rax
movq %rax, -0x158(%rbp)
leaq 0x6ca0(%rdi), %rax
movq %rax, -0x150(%rbp)
leaq 0x6cb8(%rdi), %rax
movq %rax, -0x148(%rbp)
leaq 0x6ca8(%rdi), %rax
movq %rax, -0x140(%rbp)
leaq 0x6cb0(%rdi), %rax
movq %rax, -0x138(%rbp)
leaq 0x6cc0(%rdi), %rax
movq %rax, -0x128(%rbp)
leaq 0xadf0(%rdi), %rax
movq %rax, -0x120(%rbp)
leaq 0xadf4(%rdi), %rax
movq %rax, -0x118(%rbp)
leaq 0xadf8(%rdi), %rax
movq %rax, -0x110(%rbp)
leaq 0xadfc(%rdi), %rax
movq %rax, -0x108(%rbp)
leaq 0xae00(%rdi), %rax
movq %rax, -0x100(%rbp)
leaq 0xae08(%rdi), %rax
movq %rax, -0xf8(%rbp)
leaq 0xae0c(%rdi), %rax
movq %rax, -0xf0(%rbp)
leaq 0xae10(%rdi), %rax
movq %rax, -0xe8(%rbp)
leaq 0xae14(%rdi), %rax
movq %rax, -0xe0(%rbp)
leaq 0xae18(%rdi), %rax
movq %rax, -0xd8(%rbp)
movq %rdi, -0x38(%rbp)
leaq 0x6cf0(%rdi), %rax
movq %rax, -0xb8(%rbp)
leaq -0x70(%rbp), %r13
movq $0x0, -0x78(%rbp)
movq $0x0, -0x80(%rbp)
movq %rbx, -0x48(%rbp)
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x8600
movsbl %al, %edx
movq %rbx, %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8be0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x24897
movq -0x98(%rbp), %rcx
addq $-0x3c, %rcx
movl $0x3c, %edx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8660
leaq -0x1a8(%rbp), %rdi
movq %r13, %rsi
callq 0x87d0
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x23ee0
callq 0x85d0
movq -0x1a8(%rbp), %r15
movq %r15, %rdi
leaq 0x47a3a(%rip), %rsi     # 0x6b92b
callq 0x8160
movq %rax, -0x188(%rbp)
testq %rax, %rax
jne 0x24889
movq %r15, %rdi
leaq 0x47a29(%rip), %rsi     # 0x6b939
callq 0x8160
testq %rax, %rax
je 0x23f2f
movq %rbx, %rdi
callq 0x8b20
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
jmp 0x24889
movq %r15, %rdi
leaq 0x47a08(%rip), %rsi     # 0x6b941
callq 0x8160
testq %rax, %rax
je 0x23fd1
movl $0x9, %ecx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x70(%rbp), %r14
movq %r14, %rdi
callq 0x87e0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x6c20(%rax)
leaq -0x60(%rbp), %rax
cmpq %rax, %r14
je 0x23f86
movq %r14, %rdi
callq 0x85d0
movq -0xa0(%rbp), %rax
movzbl 0x28(%rax), %eax
cmpb $0x20, %al
movl $0x47, %ecx
cmovel %ecx, %eax
movq -0x38(%rbp), %rcx
movb %al, 0x6c28(%rcx)
movsd 0x6c20(%rcx), %xmm0
movsd 0x4596b(%rip), %xmm1    # 0x69920
ucomisd %xmm0, %xmm1
leaq -0x60(%rbp), %r14
ja 0x2491a
ucomisd 0x468dd(%rip), %xmm0    # 0x6a8a8
ja 0x2491a
movq %r15, %rdi
leaq 0x4798f(%rip), %rsi     # 0x6b96a
callq 0x8160
testq %rax, %rax
je 0x24018
movl $0x4, %ecx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x180(%rbp), %rdi
movq %r13, %rsi
callq 0x87d0
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x24018
callq 0x85d0
movq %r15, %rdi
leaq 0x47954(%rip), %rsi     # 0x6b976
callq 0x8160
testq %rax, %rax
je 0x24095
movl $0x14, %ecx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x178(%rbp), %rdi
movq %r13, %rsi
callq 0x87d0
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x2405f
callq 0x85d0
movl $0x14, %edx
movl $0x14, %ecx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8660
movq -0x170(%rbp), %rdi
movq %r13, %rsi
callq 0x87d0
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x24095
callq 0x85d0
movq %r15, %rdi
leaq 0x478dd(%rip), %rsi     # 0x6b97c
callq 0x8160
testq %rax, %rax
je 0x24112
movl $0x14, %ecx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x168(%rbp), %rdi
movq %r13, %rsi
callq 0x87d0
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x240dc
callq 0x85d0
movl $0x14, %edx
movl $0x14, %ecx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8660
movq -0x130(%rbp), %rdi
movq %r13, %rsi
callq 0x87d0
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x24112
callq 0x85d0
movq %r15, %rdi
leaq 0x47866(%rip), %rsi     # 0x6b982
callq 0x8160
testq %rax, %rax
je 0x24150
movq -0xa0(%rbp), %rdi
leaq 0x554d1(%rip), %rsi     # 0x79605
movq -0x160(%rbp), %rdx
movq -0x158(%rbp), %rcx
movq -0x150(%rbp), %r8
xorl %eax, %eax
callq 0x8610
movq %r15, %rdi
leaq 0x47838(%rip), %rsi     # 0x6b992
callq 0x8160
testq %rax, %rax
je 0x2418e
movq -0xa0(%rbp), %rdi
leaq 0x55493(%rip), %rsi     # 0x79605
movq -0x148(%rbp), %rdx
movq -0x140(%rbp), %rcx
movq -0x138(%rbp), %r8
xorl %eax, %eax
callq 0x8610
movq %r15, -0xd0(%rbp)
movq %r15, %rdi
leaq 0x47802(%rip), %rsi     # 0x6b9a1
callq 0x8160
testq %rax, %rax
je 0x2448a
movq -0xa0(%rbp), %rax
movsbl (%rax), %esi
leaq 0x4784c(%rip), %rdi     # 0x6ba0a
callq 0x1db90
movl %eax, -0x4c(%rbp)
cmpl $-0x1, -0x4c(%rbp)
leaq -0x60(%rbp), %r14
je 0x24258
movl $0x3, %edx
movl $0x3, %ecx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8660
movq -0x48(%rbp), %r15
movq -0x70(%rbp), %r14
movq %r14, %rdi
callq 0x89b0
movslq -0x4c(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq %rdx, -0x40(%rbp)
movl %eax, (%rcx,%rdx,4)
leaq -0x60(%rbp), %rax
cmpq %rax, %r14
je 0x2421d
movq %r14, %rdi
callq 0x85d0
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
movslq (%rax,%rcx,4), %rax
imull $0xc4ec4ec5, %eax, %ecx # imm = 0xC4EC4EC5
addl $0x9d89d89, %ecx        # imm = 0x9D89D89
cmpl $0x13b13b13, %ecx       # imm = 0x13B13B13
jb 0x24271
cltq
imulq $0x4ec4ec4f, %rax, %rax # imm = 0x4EC4EC4F
movq %rax, %rcx
sarq $0x22, %rcx
shrq $0x3f, %rax
leal (%rcx,%rax), %ebx
incl %ebx
jmp 0x2428f
movq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x8b20
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
jmp 0x24889
imulq $0x4ec4ec4f, %rax, %rbx # imm = 0x4EC4EC4F
movq %rbx, %rcx
shrq $0x3f, %rcx
sarq $0x22, %rbx
addl %ecx, %ebx
testl %eax, %eax
movl $0x1, %eax
cmovel %eax, %ebx
movq %r15, %rdi
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0x8810
testl %ebx, %ebx
jle 0x243a4
movl %ebx, %eax
movq %rax, -0xc0(%rbp)
imulq $0x640, -0x40(%rbp), %rax # imm = 0x640
addq -0xb8(%rbp), %rax
movq %rax, -0xa8(%rbp)
xorl %r14d, %r14d
movq -0x48(%rbp), %rbx
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x8600
movsbl %al, %edx
movq %rbx, %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8be0
leaq (%r14,%r14,2), %rax
movq %r14, -0xb0(%rbp)
leaq (%r14,%rax,4), %r15
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
cmpl %r15d, (%rax,%rcx,4)
jle 0x24382
movl $0x7, %r14d
movq -0xa8(%rbp), %r12
xorl %ebx, %ebx
movl $0x3, %ecx
leaq -0x70(%rbp), %r13
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
movq %r14, %rdx
callq 0x8660
movq %r12, %rdi
movq %r13, %rsi
callq 0x87d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x24357
callq 0x85d0
incq %rbx
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %eax
subl %r15d, %eax
cmpl $0xd, %eax
movl $0xd, %ecx
cmovgel %ecx, %eax
cltq
addq $0x4, %r14
addq $0x20, %r12
cmpq %rax, %rbx
jl 0x2431f
movq -0xb0(%rbp), %r14
incq %r14
addq $0x1a0, -0xa8(%rbp) # imm = 0x1A0
cmpq -0xc0(%rbp), %r14
jne 0x242c9
movq -0x38(%rbp), %rax
movsd 0x6c20(%rax), %xmm0
ucomisd 0x473e8(%rip), %xmm0    # 0x6b7a0
leaq -0x70(%rbp), %r13
jb 0x2448a
leaq 0x47641(%rip), %rdi     # 0x6ba0a
movl $0x43, %esi
callq 0x1db90
cmpl %eax, -0x4c(%rbp)
jne 0x2448a
movq -0x38(%rbp), %rax
movsd 0x473c0(%rip), %xmm0    # 0x6b7a8
ucomisd 0x6c20(%rax), %xmm0
jbe 0x2448a
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jle 0x2448a
imulq $0x640, -0x40(%rbp), %r15 # imm = 0x640
addq -0xb8(%rbp), %r15
xorl %r12d, %r12d
movq (%r15), %r14
movq %r14, %rdi
leaq 0x4758e(%rip), %rsi     # 0x6b9b5
callq 0x8160
testq %rax, %rax
jne 0x2446d
movq %r14, %rdi
leaq 0x46edd(%rip), %rsi     # 0x6b318
callq 0x8160
testq %rax, %rax
jne 0x2446d
movq %r14, %rdi
leaq 0x47569(%rip), %rsi     # 0x6b9b8
callq 0x8160
testq %rax, %rax
jne 0x2446d
movq %r14, %rdi
leaq 0x47558(%rip), %rsi     # 0x6b9bb
callq 0x8160
testq %rax, %rax
je 0x24472
movb $0x32, 0x1(%r14)
incq %r12
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
movslq (%rax,%rcx,4), %rax
addq $0x20, %r15
cmpq %rax, %r12
jl 0x2441a
movq -0xd0(%rbp), %r15
movq %r15, %rdi
leaq 0x47523(%rip), %rsi     # 0x6b9be
callq 0x8160
testq %rax, %rax
je 0x24746
movl $0x6, %ecx
movq %r13, %rdi
leaq -0xa0(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x70(%rbp), %r14
movq %r14, %rdi
callq 0x89b0
movq -0x30(%rbp), %rcx
movl %eax, (%rcx)
leaq -0x60(%rbp), %rax
cmpq %rax, %r14
je 0x244e2
movq %r14, %rdi
callq 0x85d0
movq -0x30(%rbp), %rax
movl (%rax), %eax
testl %eax, %eax
je 0x24871
movslq %eax, %rcx
imulq $0x38e38e39, %rcx, %rbx # imm = 0x38E38E39
movq %rbx, %rcx
shrq $0x3f, %rcx
sarq $0x21, %rbx
addl %ecx, %ebx
leal (%rbx,%rbx,8), %ecx
xorl %r14d, %r14d
cmpl %ecx, %eax
setne %r15b
movq -0x48(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0x8810
movb %r15b, %r14b
addl %r14d, %ebx
testl %ebx, %ebx
jle 0x24689
movl %ebx, %eax
movq %rax, -0xc0(%rbp)
movq -0xb8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq $0x0, -0xb0(%rbp)
movq -0x48(%rbp), %rbx
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x8600
movsbl %al, %edx
movq %rbx, %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8be0
movq -0xb0(%rbp), %rax
leaq (%rax,%rax,8), %rcx
movq -0x30(%rbp), %rax
movq %rcx, -0x40(%rbp)
cmpl %ecx, (%rax)
jle 0x24660
movl $0x6, %r12d
movq -0xa8(%rbp), %r14
xorl %ebx, %ebx
movl $0x6, %ecx
leaq -0x70(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
movq %r12, %rdx
callq 0x8660
movq -0x70(%rbp), %rdi
leaq 0x51ac8(%rip), %rsi     # 0x76093
leaq -0x2b0(%rbp), %rdx
xorl %eax, %eax
callq 0x8610
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x245eb
callq 0x85d0
leaq -0x60(%rbp), %r15
movq %r15, -0x70(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0x8290
leaq (%rax,%rbp), %rdx
addq $-0x2b0, %rdx           # imm = 0xFD50
leaq -0x70(%rbp), %r13
movq %r13, %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x1126a
movq %r14, %rdi
movq %r13, %rsi
callq 0x87d0
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x24636
callq 0x85d0
incq %rbx
movq -0x30(%rbp), %rax
movl (%rax), %eax
subl -0x40(%rbp), %eax
cmpl $0x9, %eax
movl $0x9, %ecx
cmovgel %ecx, %eax
cltq
addq $0x20, %r14
addq $0x6, %r12
cmpq %rax, %rbx
jl 0x245a8
movq -0xb0(%rbp), %rcx
incq %rcx
addq $0x120, -0xa8(%rbp) # imm = 0x120
movq %rcx, -0xb0(%rbp)
cmpq -0xc0(%rbp), %rcx
jne 0x24554
movl $0x1, %ebx
movl $0x7330, %r14d          # imm = 0x7330
leaq -0x70(%rbp), %r13
movq -0x30(%rbp), %rcx
movl (%rcx), %eax
movl %eax, (%rcx,%rbx,4)
testl %eax, %eax
jle 0x246cf
movq -0x38(%rbp), %r15
xorl %r12d, %r12d
leaq 0x6cf0(%r15), %rsi
leaq (%r15,%r14), %rdi
callq 0x8380
incq %r12
movq -0x30(%rbp), %rax
movslq (%rax), %rax
addq $0x20, %r15
cmpq %rax, %r12
jl 0x246ac
incq %rbx
addq $0x640, %r14            # imm = 0x640
cmpq $0x7, %rbx
jne 0x24698
leaq 0x47324(%rip), %rdi     # 0x6ba0a
movl $0x43, %esi
callq 0x1db90
cmpl $-0x1, %eax
movq -0xd0(%rbp), %r15
je 0x24746
cltq
movq -0x30(%rbp), %rcx
cmpl $0x0, (%rcx,%rax,4)
jle 0x24746
imulq $0x640, %rax, %rcx      # imm = 0x640
addq -0xb8(%rbp), %rcx
xorl %edx, %edx
movq (%rcx), %rsi
cmpb $0x32, 0x1(%rsi)
jne 0x24725
movb $0x37, 0x1(%rsi)
movq (%rcx), %rsi
cmpb $0x31, 0x1(%rsi)
jne 0x24732
movb $0x32, 0x1(%rsi)
incq %rdx
movq -0x30(%rbp), %rsi
movslq (%rsi,%rax,4), %rsi
addq $0x20, %rcx
cmpq %rsi, %rdx
jl 0x24718
movq %r15, %rdi
leaq 0x4727e(%rip), %rsi     # 0x6b9ce
callq 0x8160
testq %rax, %rax
movq -0x48(%rbp), %rbx
je 0x2477a
movq -0xa0(%rbp), %rdi
leaq 0x50d4d(%rip), %rsi     # 0x754b9
movq -0x128(%rbp), %rdx
xorl %eax, %eax
callq 0x8610
movq %r15, %rdi
leaq 0x47253(%rip), %rsi     # 0x6b9d7
callq 0x8160
testq %rax, %rax
leaq -0x60(%rbp), %r14
je 0x247f5
movq -0xa0(%rbp), %rdi
subq $0x8, %rsp
leaq 0x47245(%rip), %rsi     # 0x6b9e9
movq -0x120(%rbp), %rdx
movq -0x118(%rbp), %rcx
movq -0x110(%rbp), %r8
movq -0x108(%rbp), %r9
xorl %eax, %eax
leaq -0x3b0(%rbp), %r10
pushq %r10
leaq -0xc8(%rbp), %r10
pushq %r10
pushq -0x100(%rbp)
callq 0x8610
addq $0x20, %rsp
cvttsd2si -0xc8(%rbp), %eax
movq -0x38(%rbp), %rcx
movl %eax, 0xae04(%rcx)
movq %r15, %rdi
leaq 0x471fa(%rip), %rsi     # 0x6b9f9
callq 0x8160
testq %rax, %rax
je 0x2485f
movq -0xa0(%rbp), %rdi
leaq 0x470bd(%rip), %rsi     # 0x6b8d4
movq -0xf8(%rbp), %rdx
movq -0xf0(%rbp), %rcx
movq -0xe8(%rbp), %r8
movq -0xe0(%rbp), %r9
xorl %eax, %eax
leaq -0xc8(%rbp), %r10
pushq %r10
pushq -0xd8(%rbp)
callq 0x8610
addq $0x10, %rsp
cvttsd2si -0xc8(%rbp), %eax
movq -0x38(%rbp), %rcx
movl %eax, 0xae1c(%rcx)
movq %rbx, %rdi
callq 0x8b20
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
jmp 0x24889
movq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x8b20
movq %rax, -0x80(%rbp)
movq %rdx, -0x78(%rbp)
leaq -0x60(%rbp), %r14
cmpq $0x0, -0x188(%rbp)
je 0x23e6c
movq -0x38(%rbp), %rax
movsd 0x6c20(%rax), %xmm0
ucomisd 0x4603d(%rip), %xmm0    # 0x6a8e8
jb 0x248d8
movq -0x38(%rbp), %rax
movl 0xae20(%rax), %eax
xorl %ecx, %ecx
movq -0x30(%rbp), %rdx
cmpl $0x0, (%rdx,%rcx,4)
je 0x248cf
incl %eax
movq -0x38(%rbp), %rdx
movl %eax, 0xae20(%rdx)
incq %rcx
cmpq $0x7, %rcx
jne 0x248b9
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x248f0
callq 0x85d0
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x24908
callq 0x85d0
addq $0x388, %rsp            # imm = 0x388
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x696a7(%rip), %rdi     # 0x8dfc8
leaq 0x47027(%rip), %rsi     # 0x6b94f
callq 0x8620
movl $0x1, %edi
callq 0x87c0
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
jmp 0x24961
movq %rax, %rbx
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
je 0x2497c
callq 0x85d0
movq -0xa0(%rbp), %rdi
leaq -0x90(%rbp), %rax
cmpq %rax, %rdi
je 0x24994
callq 0x85d0
movq %rbx, %rdi
callq 0x8b40