// File: /workspace/github_cpp_makefile_star2_O3/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 $0x378, %rsp            # imm = 0x378
leaq -0x88(%rbp), %rcx
movq %rcx, -0x10(%rcx)
xorl %eax, %eax
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x190(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movl $0x0, 0xae20(%rdi)
leaq 0x6cd4(%rdi), %r15
xorpd %xmm0, %xmm0
movupd %xmm0, 0x6cd4(%rdi)
movupd %xmm0, 0x6ce0(%rdi)
leaq 0xb820(%rdi), %r12
leaq -0x50(%rbp), %rbx
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 0x6cf0(%rdi), %rax
movq %rax, -0xb8(%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)
movq %rdi, -0x38(%rbp)
leaq 0xae18(%rdi), %rax
movq %rax, -0xd8(%rbp)
leaq -0x60(%rbp), %r13
movq $0x0, -0x70(%rbp)
movq $0x0, -0x78(%rbp)
movq %r15, -0x30(%rbp)
movq %r12, -0xa8(%rbp)
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x8600
movsbl %al, %edx
movq %r12, %rdi
leaq -0x98(%rbp), %rsi
callq 0x8bd0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x2433c
movq -0x90(%rbp), %rcx
addq $-0x3c, %rcx
movl $0x3c, %edx
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
callq 0x8660
leaq -0x1a0(%rbp), %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x60(%rbp), %rdi
cmpq %rbx, %rdi
je 0x23986
callq 0x85d0
movq -0x1a0(%rbp), %r14
movq %r14, %rdi
leaq 0x47f94(%rip), %rsi     # 0x6b92b
callq 0x8160
testq %rax, %rax
jne 0x2433c
movq %r14, %rdi
leaq 0x47f8a(%rip), %rsi     # 0x6b939
callq 0x8160
testq %rax, %rax
je 0x239ce
movq %r12, %rdi
callq 0x8b10
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
jmp 0x23911
movq %r14, %rdi
leaq 0x47f69(%rip), %rsi     # 0x6b941
callq 0x8160
testq %rax, %rax
movq %r14, -0xc0(%rbp)
je 0x23a7a
movl $0x9, %ecx
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x60(%rbp), %r14
movq %r14, %rdi
callq 0x87d0
movq -0x38(%rbp), %rbx
movsd %xmm0, 0x6c20(%rbx)
leaq -0x50(%rbp), %rax
cmpq %rax, %r14
je 0x23a34
movq %r14, %rdi
callq 0x85d0
movsd 0x6c20(%rbx), %xmm0
movq -0xc0(%rbp), %r14
movq -0x98(%rbp), %rax
movzbl 0x28(%rax), %eax
cmpb $0x20, %al
movl $0x47, %ecx
cmovel %ecx, %eax
movb %al, 0x6c28(%rbx)
movsd 0x45ec2(%rip), %xmm1    # 0x69920
ucomisd %xmm0, %xmm1
leaq -0x50(%rbp), %rbx
ja 0x243bc
ucomisd 0x46e34(%rip), %xmm0    # 0x6a8a8
ja 0x243bc
movq %r14, %rdi
leaq 0x47ee6(%rip), %rsi     # 0x6b96a
callq 0x8160
testq %rax, %rax
je 0x23ac1
movl $0x4, %ecx
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x180(%rbp), %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x60(%rbp), %rdi
cmpq %rbx, %rdi
je 0x23ac1
callq 0x85d0
movq %r14, %rdi
leaq 0x47eab(%rip), %rsi     # 0x6b976
callq 0x8160
testq %rax, %rax
je 0x23b3e
movl $0x14, %ecx
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x178(%rbp), %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x60(%rbp), %rdi
cmpq %rbx, %rdi
je 0x23b08
callq 0x85d0
movl $0x14, %edx
movl $0x14, %ecx
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
callq 0x8660
movq -0x170(%rbp), %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x60(%rbp), %rdi
cmpq %rbx, %rdi
je 0x23b3e
callq 0x85d0
movq %r14, %rdi
leaq 0x47e34(%rip), %rsi     # 0x6b97c
callq 0x8160
testq %rax, %rax
je 0x23bbb
movl $0x14, %ecx
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x168(%rbp), %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x60(%rbp), %rdi
cmpq %rbx, %rdi
je 0x23b85
callq 0x85d0
movl $0x14, %edx
movl $0x14, %ecx
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
callq 0x8660
movq -0x130(%rbp), %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x60(%rbp), %rdi
cmpq %rbx, %rdi
je 0x23bbb
callq 0x85d0
movq %r14, %rdi
leaq 0x47dbd(%rip), %rsi     # 0x6b982
callq 0x8160
testq %rax, %rax
je 0x23bf9
movq -0x98(%rbp), %rdi
leaq 0x55a20(%rip), %rsi     # 0x795fd
movq -0x160(%rbp), %rdx
movq -0x158(%rbp), %rcx
movq -0x150(%rbp), %r8
xorl %eax, %eax
callq 0x8610
movq %r14, %rdi
leaq 0x47d8f(%rip), %rsi     # 0x6b992
callq 0x8160
testq %rax, %rax
je 0x23c37
movq -0x98(%rbp), %rdi
leaq 0x559e2(%rip), %rsi     # 0x795fd
movq -0x148(%rbp), %rdx
movq -0x140(%rbp), %rcx
movq -0x138(%rbp), %r8
xorl %eax, %eax
callq 0x8610
movq %r14, %rdi
leaq 0x47d60(%rip), %rsi     # 0x6b9a1
callq 0x8160
testq %rax, %rax
je 0x23f1d
movq -0x98(%rbp), %rax
movsbl (%rax), %esi
leaq 0x47daa(%rip), %rdi     # 0x6ba0a
callq 0x1d54b
movl %eax, -0x64(%rbp)
movq -0xa8(%rbp), %r12
cmpl $-0x1, -0x64(%rbp)
leaq -0x50(%rbp), %rbx
je 0x23cf3
movl $0x3, %edx
movl $0x3, %ecx
leaq -0x60(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x8660
movq -0x30(%rbp), %rbx
movq -0x60(%rbp), %r14
movq %r14, %rdi
callq 0x89a0
movslq -0x64(%rbp), %r15
movl %eax, (%rbx,%r15,4)
leaq -0x50(%rbp), %rcx
cmpq %rcx, %r14
je 0x23cc0
movq %r14, %rdi
callq 0x85d0
movl (%rbx,%r15,4), %eax
movslq %eax, %rdx
imulq $0x4ec4ec4f, %rdx, %rbx # imm = 0x4EC4EC4F
movq %rbx, %rcx
shrq $0x3f, %rcx
sarq $0x22, %rbx
imull $0xc4ec4ec5, %edx, %edx # imm = 0xC4EC4EC5
addl $0x9d89d89, %edx        # imm = 0x9D89D89
cmpl $0x13b13b13, %edx       # imm = 0x13B13B13
movq %r15, -0x40(%rbp)
jb 0x23d10
addl %ecx, %ebx
incl %ebx
jmp 0x23d1c
movq %r12, %rdi
callq 0x8b10
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
movq -0x30(%rbp), %r15
leaq -0x60(%rbp), %r13
jmp 0x23911
addl %ecx, %ebx
testl %eax, %eax
movl $0x1, %eax
cmovel %eax, %ebx
movq %r12, %rdi
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
callq 0x8800
testl %ebx, %ebx
jle 0x23e34
movl %ebx, %eax
movq %rax, -0xc8(%rbp)
imulq $0x640, -0x40(%rbp), %rax # imm = 0x640
addq -0xb8(%rbp), %rax
movq %rax, -0xa0(%rbp)
xorl %r14d, %r14d
movq -0xa8(%rbp), %rbx
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x8600
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x98(%rbp), %rsi
callq 0x8bd0
leal (%r14,%r14,2), %eax
movq %r14, -0xb0(%rbp)
leal (%r14,%rax,4), %r15d
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
cmpl %r15d, (%rax,%rcx,4)
jle 0x23e12
movl $0x7, %r14d
movq -0xa0(%rbp), %r12
xorl %ebx, %ebx
movl $0x3, %ecx
leaq -0x60(%rbp), %r13
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
movq %r14, %rdx
callq 0x8660
movq %r12, %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x60(%rbp), %rdi
leaq -0x50(%rbp), %rax
cmpq %rax, %rdi
je 0x23de7
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 0x23daf
movq -0xb0(%rbp), %r14
incq %r14
addq $0x1a0, -0xa0(%rbp) # imm = 0x1A0
cmpq -0xc8(%rbp), %r14
jne 0x23d56
movq -0x38(%rbp), %rax
movsd 0x6c20(%rax), %xmm0
ucomisd 0x47958(%rip), %xmm0    # 0x6b7a0
jb 0x23f1d
leaq 0x47bb5(%rip), %rdi     # 0x6ba0a
movl $0x43, %esi
callq 0x1d54b
cmpl %eax, -0x64(%rbp)
jne 0x23f1d
movq -0x38(%rbp), %rax
movsd 0x47934(%rip), %xmm0    # 0x6b7a8
ucomisd 0x6c20(%rax), %xmm0
jbe 0x23f1d
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %r15d
testl %r15d, %r15d
jle 0x23f1d
imulq $0x640, -0x40(%rbp), %r12 # imm = 0x640
addq -0xb8(%rbp), %r12
xorl %r13d, %r13d
movq (%r12), %r14
movq %r14, %rdi
leaq 0x47afe(%rip), %rsi     # 0x6b9b5
callq 0x8160
testq %rax, %rax
jne 0x23efd
movq %r14, %rdi
leaq 0x4744d(%rip), %rsi     # 0x6b318
callq 0x8160
testq %rax, %rax
jne 0x23efd
movq %r14, %rdi
leaq 0x47ad9(%rip), %rsi     # 0x6b9b8
callq 0x8160
testq %rax, %rax
jne 0x23efd
movq %r14, %rdi
leaq 0x47ac8(%rip), %rsi     # 0x6b9bb
callq 0x8160
testq %rax, %rax
je 0x23f0e
movb $0x32, 0x1(%r14)
movq -0x30(%rbp), %rax
movq -0x40(%rbp), %rcx
movl (%rax,%rcx,4), %r15d
incq %r13
movslq %r15d, %rax
addq $0x20, %r12
cmpq %rax, %r13
jl 0x23ea9
movq -0xc0(%rbp), %r14
movq %r14, %rdi
leaq 0x47a90(%rip), %rsi     # 0x6b9be
callq 0x8160
testq %rax, %rax
movq -0x30(%rbp), %r15
movq -0xa8(%rbp), %r12
leaq -0x60(%rbp), %r13
je 0x24212
movl $0x6, %ecx
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
xorl %edx, %edx
callq 0x8660
movq -0x60(%rbp), %r14
movq %r14, %rdi
callq 0x89a0
movl %eax, (%r15)
leaq -0x50(%rbp), %rcx
cmpq %rcx, %r14
je 0x23f84
movq %r14, %rdi
callq 0x85d0
movl (%r15), %eax
testl %eax, %eax
je 0x2412d
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 %r12, %rdi
movq -0x78(%rbp), %rsi
movq -0x70(%rbp), %rdx
callq 0x8800
movb %r15b, %r14b
addl %r14d, %ebx
testl %ebx, %ebx
jle 0x24146
movl %ebx, %eax
movq %rax, -0xc8(%rbp)
movq -0xb8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq $0x0, -0xb0(%rbp)
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x8600
movsbl %al, %edx
movq %r12, %rdi
leaq -0x98(%rbp), %rsi
callq 0x8bd0
movq -0xb0(%rbp), %rax
leal (%rax,%rax,8), %ecx
movq -0x30(%rbp), %rax
movl (%rax), %eax
movl %ecx, -0x40(%rbp)
cmpl %ecx, %eax
jle 0x240fb
movl $0x6, %r12d
movq -0xa0(%rbp), %r14
xorl %ebx, %ebx
movl $0x6, %ecx
leaq -0x60(%rbp), %rdi
leaq -0x98(%rbp), %rsi
movq %r12, %rdx
callq 0x8660
movq -0x60(%rbp), %rdi
leaq 0x51fb5(%rip), %rsi     # 0x76018
leaq -0x2a0(%rbp), %rdx
xorl %eax, %eax
callq 0x8610
movq -0x60(%rbp), %rdi
leaq -0x50(%rbp), %rax
cmpq %rax, %rdi
je 0x24083
callq 0x85d0
leaq -0x50(%rbp), %r15
movq %r15, -0x60(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x8290
leaq (%rax,%rbp), %rdx
addq $-0x2a0, %rdx           # imm = 0xFD60
leaq -0x60(%rbp), %r13
movq %r13, %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x1100a
movq %r14, %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x60(%rbp), %rdi
cmpq %r15, %rdi
je 0x240ce
callq 0x85d0
incq %rbx
movq -0x30(%rbp), %rax
movl (%rax), %eax
movl %eax, %ecx
subl -0x40(%rbp), %ecx
cmpl $0x9, %ecx
movl $0x9, %edx
cmovgel %edx, %ecx
movslq %ecx, %rcx
addq $0x20, %r14
addq $0x6, %r12
cmpq %rcx, %rbx
jl 0x24040
movq -0xb0(%rbp), %rdx
incq %rdx
addq $0x120, -0xa0(%rbp) # imm = 0x120
movq %rdx, -0xb0(%rbp)
cmpq -0xc8(%rbp), %rdx
movq -0xa8(%rbp), %r12
jne 0x23fef
jmp 0x2414c
movq %r12, %rdi
callq 0x8b10
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
leaq -0x50(%rbp), %rbx
jmp 0x23911
movq -0x30(%rbp), %rax
movl (%rax), %eax
movl $0x1, %ebx
movl $0x7330, %r14d          # imm = 0x7330
movq -0x30(%rbp), %r13
movl %eax, (%r13,%rbx,4)
testl %eax, %eax
jle 0x2418b
movq -0x38(%rbp), %r15
xorl %r12d, %r12d
leaq 0x6cf0(%r15), %rsi
leaq (%r15,%r14), %rdi
callq 0x8380
incq %r12
movslq (%r13), %rax
addq $0x20, %r15
cmpq %rax, %r12
jl 0x2416b
incq %rbx
addq $0x640, %r14            # imm = 0x640
cmpq $0x7, %rbx
jne 0x2415b
leaq 0x47868(%rip), %rdi     # 0x6ba0a
movl $0x43, %esi
callq 0x1d54b
movq -0xa8(%rbp), %r12
cmpl $-0x1, %eax
movq -0x30(%rbp), %r15
leaq -0x60(%rbp), %r13
movq -0xc0(%rbp), %r14
je 0x24212
cltq
cmpl $0x0, (%r15,%rax,4)
jle 0x24212
imulq $0x640, %rax, %rcx      # imm = 0x640
addq -0xb8(%rbp), %rcx
xorl %edx, %edx
movq (%rcx), %rsi
movb 0x1(%rsi), %dil
cmpb $0x32, %dil
jne 0x241f8
movb $0x37, 0x1(%rsi)
movq (%rcx), %rsi
movb 0x1(%rsi), %dil
cmpb $0x31, %dil
jne 0x24202
movb $0x32, 0x1(%rsi)
incq %rdx
movslq (%r15,%rax,4), %rsi
addq $0x20, %rcx
cmpq %rsi, %rdx
jl 0x241e0
movq %r14, %rdi
leaq 0x477b2(%rip), %rsi     # 0x6b9ce
callq 0x8160
testq %rax, %rax
je 0x24242
movq -0x98(%rbp), %rdi
leaq 0x5125f(%rip), %rsi     # 0x75493
movq -0x128(%rbp), %rdx
xorl %eax, %eax
callq 0x8610
movq %r14, %rdi
leaq 0x4778b(%rip), %rsi     # 0x6b9d7
callq 0x8160
testq %rax, %rax
leaq -0x50(%rbp), %rbx
je 0x242bd
movq -0x98(%rbp), %rdi
subq $0x8, %rsp
leaq 0x4777d(%rip), %rsi     # 0x6b9e9
movq -0x120(%rbp), %rdx
movq -0x118(%rbp), %rcx
movq -0x110(%rbp), %r8
movq -0x108(%rbp), %r9
xorl %eax, %eax
leaq -0x3a0(%rbp), %r10
pushq %r10
leaq -0xd0(%rbp), %r10
pushq %r10
pushq -0x100(%rbp)
callq 0x8610
addq $0x20, %rsp
cvttsd2si -0xd0(%rbp), %eax
movq -0x38(%rbp), %rcx
movl %eax, 0xae04(%rcx)
movq %r14, %rdi
leaq 0x47732(%rip), %rsi     # 0x6b9f9
callq 0x8160
testq %rax, %rax
je 0x24327
movq -0x98(%rbp), %rdi
leaq 0x475f5(%rip), %rsi     # 0x6b8d4
movq -0xf8(%rbp), %rdx
movq -0xf0(%rbp), %rcx
movq -0xe8(%rbp), %r8
movq -0xe0(%rbp), %r9
xorl %eax, %eax
leaq -0xd0(%rbp), %r10
pushq %r10
pushq -0xd8(%rbp)
callq 0x8610
addq $0x10, %rsp
cvttsd2si -0xd0(%rbp), %eax
movq -0x38(%rbp), %rcx
movl %eax, 0xae1c(%rcx)
movq %r12, %rdi
callq 0x8b10
movq %rax, -0x78(%rbp)
movq %rdx, -0x70(%rbp)
jmp 0x23911
movq -0x38(%rbp), %rax
movsd 0x6c20(%rax), %xmm0
ucomisd 0x46598(%rip), %xmm0    # 0x6a8e8
jb 0x2437a
movq -0x38(%rbp), %rax
movl 0xae20(%rax), %eax
xorl %ecx, %ecx
movq -0x38(%rbp), %rdx
cmpl $0x0, (%r15,%rcx,4)
je 0x24371
incl %eax
movl %eax, 0xae20(%rdx)
incq %rcx
cmpq $0x7, %rcx
jne 0x24362
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x24392
callq 0x85d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x243aa
callq 0x85d0
addq $0x378, %rsp            # imm = 0x378
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x69c0d(%rip), %rdi     # 0x8dfd0
leaq 0x47585(%rip), %rsi     # 0x6b94f
callq 0x8620
movl $0x1, %edi
callq 0x87b0
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
jmp 0x24403
movq %rax, %rbx
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x2441e
callq 0x85d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x24436
callq 0x85d0
movq %rbx, %rdi
callq 0x8b30