// File: /workspace/github_cpp_makefile_star2_O2/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 -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq -0x198(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
andl $0x0, 0xae20(%rdi)
leaq 0x6cd4(%rdi), %rax
movq %rax, -0x40(%rbp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x6cd4(%rdi)
movupd %xmm0, 0x6ce0(%rdi)
leaq 0xb820(%rdi), %rax
movq %rax, -0x38(%rbp)
leaq 0x6c70(%rdi), %rax
movq %rax, -0x188(%rbp)
leaq 0x6c30(%rdi), %rax
movq %rax, -0x180(%rbp)
leaq 0x5fd0(%rdi), %rax
movq %rax, -0x178(%rbp)
leaq 0x6c50(%rdi), %rax
movq %rax, -0x170(%rbp)
leaq 0x5ff0(%rdi), %rax
movq %rax, -0x138(%rbp)
leaq 0x6c90(%rdi), %rax
movq %rax, -0x168(%rbp)
leaq 0x6c98(%rdi), %rax
movq %rax, -0x160(%rbp)
leaq 0x6ca0(%rdi), %rax
movq %rax, -0x158(%rbp)
leaq 0x6cb8(%rdi), %rax
movq %rax, -0x150(%rbp)
leaq 0x6ca8(%rdi), %rax
movq %rax, -0x148(%rbp)
leaq 0x6cb0(%rdi), %rax
movq %rax, -0x140(%rbp)
leaq 0x6cf0(%rdi), %rax
movq %rax, -0xa0(%rbp)
leaq 0x6cc0(%rdi), %rax
movq %rax, -0x130(%rbp)
leaq 0xadf0(%rdi), %rax
movq %rax, -0x128(%rbp)
leaq 0xadf4(%rdi), %rax
movq %rax, -0x120(%rbp)
leaq 0xadf8(%rdi), %rax
movq %rax, -0x118(%rbp)
leaq 0xadfc(%rdi), %rax
movq %rax, -0x110(%rbp)
leaq 0xae00(%rdi), %rax
movq %rax, -0x108(%rbp)
leaq 0xae08(%rdi), %rax
movq %rax, -0x100(%rbp)
leaq 0xae0c(%rdi), %rax
movq %rax, -0xf8(%rbp)
leaq 0xae10(%rdi), %rax
movq %rax, -0xf0(%rbp)
leaq 0xae14(%rdi), %rax
movq %rax, -0xe8(%rbp)
movq %rdi, -0x30(%rbp)
leaq 0xae18(%rdi), %rax
movq %rax, -0xe0(%rbp)
leaq -0xd8(%rbp), %r14
movq $0x0, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movq -0x38(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x8120
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x2047a
movq -0x80(%rbp), %rcx
addq $-0x3c, %rcx
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
pushq $0x3c
popq %rdx
callq 0x8650
leaq -0x1a8(%rbp), %rdi
movq %r14, %rsi
callq 0x87a0
movq %r14, %rdi
callq 0x82c0
movq -0x1a8(%rbp), %rbx
movq %rbx, %rdi
leaq 0x41cf2(%rip), %rsi     # 0x6191b
callq 0x8170
testq %rax, %rax
jne 0x2047a
movq %rbx, %rdi
leaq 0x41ce8(%rip), %rsi     # 0x61929
callq 0x8170
testq %rax, %rax
je 0x1fc61
movq -0x38(%rbp), %rdi
callq 0x8b10
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
jmp 0x1fbc5
movq %rbx, -0x48(%rbp)
movq %rbx, %rdi
leaq 0x41cc2(%rip), %rsi     # 0x61931
callq 0x8170
testq %rax, %rax
je 0x1fcee
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
xorl %edx, %edx
pushq $0x9
popq %rcx
callq 0x8650
movq -0xd8(%rbp), %rdi
callq 0x87b0
movq -0x30(%rbp), %rbx
movsd %xmm0, 0x6c20(%rbx)
movq %r14, %rdi
callq 0x82c0
movq -0x88(%rbp), %rax
movzbl 0x28(%rax), %eax
cmpb $0x20, %al
pushq $0x47
popq %rcx
cmovel %ecx, %eax
movb %al, 0x6c28(%rbx)
movsd 0x6c20(%rbx), %xmm0
movsd 0x3fc4a(%rip), %xmm1    # 0x5f920
ucomisd %xmm0, %xmm1
ja 0x204e7
ucomisd 0x40bb0(%rip), %xmm0    # 0x60898
ja 0x204e7
movq -0x48(%rbp), %rdi
leaq 0x41c61(%rip), %rsi     # 0x6195a
callq 0x8170
testq %rax, %rax
je 0x1fd2e
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
xorl %edx, %edx
pushq $0x4
popq %rcx
callq 0x8650
movq -0x188(%rbp), %rdi
movq %r14, %rsi
callq 0x87a0
movq %r14, %rdi
callq 0x82c0
movq -0x48(%rbp), %rdi
leaq 0x41c2d(%rip), %rsi     # 0x61966
callq 0x8170
testq %rax, %rax
je 0x1fd9d
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
xorl %edx, %edx
pushq $0x14
popq %rbx
movq %rbx, %rcx
callq 0x8650
movq -0x180(%rbp), %rdi
movq %r14, %rsi
callq 0x87a0
movq %r14, %rdi
callq 0x82c0
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
movq %rbx, %rdx
movq %rbx, %rcx
callq 0x8650
movq -0x178(%rbp), %rdi
movq %r14, %rsi
callq 0x87a0
movq %r14, %rdi
callq 0x82c0
movq -0x48(%rbp), %rdi
leaq 0x41bc4(%rip), %rsi     # 0x6196c
callq 0x8170
testq %rax, %rax
je 0x1fe0c
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
xorl %edx, %edx
pushq $0x14
popq %rbx
movq %rbx, %rcx
callq 0x8650
movq -0x170(%rbp), %rdi
movq %r14, %rsi
callq 0x87a0
movq %r14, %rdi
callq 0x82c0
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
movq %rbx, %rdx
movq %rbx, %rcx
callq 0x8650
movq -0x138(%rbp), %rdi
movq %r14, %rsi
callq 0x87a0
movq %r14, %rdi
callq 0x82c0
movq -0x48(%rbp), %rbx
movq %rbx, %rdi
leaq 0x41b58(%rip), %rsi     # 0x61972
callq 0x8170
testq %rax, %rax
je 0x1fe4e
movq -0x88(%rbp), %rdi
leaq 0x4f79b(%rip), %rsi     # 0x6f5cd
movq -0x168(%rbp), %rdx
movq -0x160(%rbp), %rcx
movq -0x158(%rbp), %r8
xorl %eax, %eax
callq 0x8600
movq %rbx, %rdi
leaq 0x41b2a(%rip), %rsi     # 0x61982
callq 0x8170
testq %rax, %rax
je 0x1fe8c
movq -0x88(%rbp), %rdi
leaq 0x4f75d(%rip), %rsi     # 0x6f5cd
movq -0x150(%rbp), %rdx
movq -0x148(%rbp), %rcx
movq -0x140(%rbp), %r8
xorl %eax, %eax
callq 0x8600
movq %rbx, %rdi
leaq 0x41afb(%rip), %rsi     # 0x61991
callq 0x8170
testq %rax, %rax
je 0x2004a
movq -0x88(%rbp), %rax
movsbl (%rax), %esi
leaq 0x41b45(%rip), %rdi     # 0x619fa
callq 0x1a5f7
movl %eax, -0x4c(%rbp)
leaq -0xd8(%rbp), %r14
cmpl $-0x1, -0x4c(%rbp)
je 0x1ff21
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
pushq $0x3
popq %rcx
movq %rcx, %rdx
callq 0x8650
movq -0xd8(%rbp), %rdi
callq 0x8990
movslq -0x4c(%rbp), %r15
movq -0x40(%rbp), %rbx
movl %eax, (%rbx,%r15,4)
movq %r14, %rdi
callq 0x82c0
movq %r15, -0x98(%rbp)
movl (%rbx,%r15,4), %ecx
movl %ecx, %eax
cltd
pushq $0xd
popq %rsi
idivl %esi
testl %edx, %edx
je 0x1ff37
movl %ecx, %eax
cltd
idivl %esi
movl %eax, %ebx
incl %ebx
jmp 0x1ff41
movq -0x38(%rbp), %rdi
callq 0x8b10
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
jmp 0x1fbc5
movl %eax, %ebx
testl %ecx, %ecx
pushq $0x1
popq %rax
cmovel %eax, %ebx
movq -0x38(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdx
callq 0x87e0
testl %ebx, %ebx
movl $0x0, %eax
cmovlel %eax, %ebx
imulq $0x640, -0x98(%rbp), %rax # imm = 0x640
addq -0xa0(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq %rax, -0x90(%rbp)
xorl %eax, %eax
movq %rbx, -0xa8(%rbp)
movq %rax, -0x68(%rbp)
cmpq %rbx, %rax
je 0x20030
movq -0x38(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x8120
imull $0xd, -0x68(%rbp), %r14d
movq -0x90(%rbp), %rbx
pushq $0x7
popq %r12
xorl %r15d, %r15d
movq -0x40(%rbp), %rax
movq -0x98(%rbp), %rcx
movl (%rax,%rcx,4), %eax
subl %r14d, %eax
cmpl $0xd, %eax
pushq $0xd
popq %rcx
cmovgel %ecx, %eax
cltq
cmpq %rax, %r15
jge 0x20012
leaq -0xd8(%rbp), %r13
movq %r13, %rdi
leaq -0x88(%rbp), %rsi
movq %r12, %rdx
pushq $0x3
popq %rcx
callq 0x8650
movq %rbx, %rdi
movq %r13, %rsi
callq 0x87a0
movq %r13, %rdi
callq 0x82c0
incq %r15
addq $0x4, %r12
addq $0x20, %rbx
jmp 0x1ffb5
movq -0x68(%rbp), %rax
incq %rax
addq $0x1a0, -0x90(%rbp) # imm = 0x1A0
movq -0xa8(%rbp), %rbx
jmp 0x1ff85
movq -0x30(%rbp), %rax
movsd 0x6c20(%rax), %xmm0
ucomisd 0x4174c(%rip), %xmm0    # 0x61790
jae 0x203a9
movq -0x48(%rbp), %rdi
leaq 0x41959(%rip), %rsi     # 0x619ae
callq 0x8170
testq %rax, %rax
leaq -0xd8(%rbp), %r14
je 0x20281
movq %r14, %rdi
leaq -0x88(%rbp), %rsi
xorl %edx, %edx
pushq $0x6
popq %rcx
callq 0x8650
movq -0xd8(%rbp), %rdi
callq 0x8990
movq -0x40(%rbp), %rbx
movl %eax, (%rbx)
movq %r14, %rdi
callq 0x82c0
movl (%rbx), %ebx
testl %ebx, %ebx
je 0x20464
movq -0x38(%rbp), %rdi
movq -0x60(%rbp), %rsi
movq -0x58(%rbp), %rdx
callq 0x87e0
movl %ebx, %eax
cltd
pushq $0x9
popq %rcx
idivl %ecx
movl %eax, %ecx
cmpl $0x1, %edx
sbbl $-0x1, %ecx
testl %ecx, %ecx
movl $0x0, %eax
cmovlel %eax, %ecx
movq %rcx, -0xa8(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x90(%rbp)
movq $0x0, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0xa8(%rbp), %rax
je 0x201ca
movq -0x38(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x8120
movq -0x68(%rbp), %rax
leal (%rax,%rax,8), %eax
movl %eax, -0x98(%rbp)
movq -0x90(%rbp), %r12
pushq $0x6
popq %rbx
xorl %r14d, %r14d
movq -0x40(%rbp), %rax
movl (%rax), %eax
subl -0x98(%rbp), %eax
cmpl $0x9, %eax
pushq $0x9
popq %rcx
cmovgel %ecx, %eax
cltq
cmpq %rax, %r14
jge 0x201b6
leaq -0xd8(%rbp), %r15
movq %r15, %rdi
leaq -0x88(%rbp), %rsi
movq %rbx, %rdx
pushq $0x6
popq %rcx
callq 0x8650
movq -0xd8(%rbp), %rdi
leaq 0x4beed(%rip), %rsi     # 0x6c058
leaq -0x3b0(%rbp), %r13
movq %r13, %rdx
xorl %eax, %eax
callq 0x8600
movq %r15, %rdi
callq 0x82c0
movq %r15, %rdi
movq %r13, %rsi
leaq -0x4d(%rbp), %rdx
callq 0x8260
movq %r12, %rdi
movq %r15, %rsi
callq 0x87a0
movq %r15, %rdi
callq 0x82c0
incq %r14
addq $0x6, %rbx
addq $0x20, %r12
jmp 0x20125
incq -0x68(%rbp)
addq $0x120, -0x90(%rbp) # imm = 0x120
jmp 0x200ea
movl $0x7330, %ebx           # imm = 0x7330
pushq $0x1
popq %r14
cmpq $0x7, %r14
je 0x2021c
movq -0x40(%rbp), %rcx
movl (%rcx), %eax
movl %eax, (%rcx,%r14,4)
movq -0x30(%rbp), %r15
xorl %r12d, %r12d
cltq
cmpq %rax, %r12
jge 0x20210
leaq 0x6cf0(%r15), %rsi
leaq (%r15,%rbx), %rdi
callq 0x8380
incq %r12
movq -0x40(%rbp), %rax
movl (%rax), %eax
addq $0x20, %r15
jmp 0x201ea
incq %r14
addq $0x640, %rbx            # imm = 0x640
jmp 0x201d3
leaq 0x417d7(%rip), %rdi     # 0x619fa
pushq $0x43
popq %rsi
callq 0x1a5f7
leaq -0xd8(%rbp), %r14
cmpl $-0x1, %eax
je 0x20281
cltq
imulq $0x640, %rax, %rcx      # imm = 0x640
addq -0xa0(%rbp), %rcx
xorl %edx, %edx
movq -0x40(%rbp), %rsi
movslq (%rsi,%rax,4), %rsi
cmpq %rsi, %rdx
jge 0x20281
movq (%rcx), %rsi
movb 0x1(%rsi), %dil
cmpb $0x32, %dil
jne 0x2026e
movb $0x37, 0x1(%rsi)
movq (%rcx), %rsi
movb 0x1(%rsi), %dil
cmpb $0x31, %dil
jne 0x20278
movb $0x32, 0x1(%rsi)
incq %rdx
addq $0x20, %rcx
jmp 0x20249
movq -0x48(%rbp), %rdi
leaq 0x41732(%rip), %rsi     # 0x619be
callq 0x8170
testq %rax, %rax
je 0x202b2
movq -0x88(%rbp), %rdi
leaq 0x4b205(%rip), %rsi     # 0x6b4a9
movq -0x130(%rbp), %rdx
xorl %eax, %eax
callq 0x8600
movq -0x48(%rbp), %rdi
leaq 0x4170a(%rip), %rsi     # 0x619c7
callq 0x8170
testq %rax, %rax
je 0x2032a
movq -0x88(%rbp), %rdi
subq $0x8, %rsp
leaq 0x41700(%rip), %rsi     # 0x619d9
movq -0x128(%rbp), %rdx
movq -0x120(%rbp), %rcx
movq -0x118(%rbp), %r8
movq -0x110(%rbp), %r9
xorl %eax, %eax
leaq -0x2b0(%rbp), %r10
pushq %r10
leaq -0xb0(%rbp), %r10
pushq %r10
pushq -0x108(%rbp)
callq 0x8600
addq $0x20, %rsp
cvttsd2si -0xb0(%rbp), %eax
movq -0x30(%rbp), %rcx
movl %eax, 0xae04(%rcx)
movq -0x48(%rbp), %rdi
leaq 0x416b4(%rip), %rsi     # 0x619e9
callq 0x8170
testq %rax, %rax
je 0x20393
movq -0x88(%rbp), %rdi
leaq 0x41577(%rip), %rsi     # 0x618c4
movq -0x100(%rbp), %rdx
movq -0xf8(%rbp), %rcx
movq -0xf0(%rbp), %r8
movq -0xe8(%rbp), %r9
xorl %eax, %eax
leaq -0xb0(%rbp), %r10
pushq %r10
pushq -0xe0(%rbp)
callq 0x8600
popq %rcx
popq %rdx
cvttsd2si -0xb0(%rbp), %eax
movq -0x30(%rbp), %rcx
movl %eax, 0xae1c(%rcx)
movq -0x38(%rbp), %rdi
callq 0x8b10
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
jmp 0x1fbc5
leaq 0x4164a(%rip), %rdi     # 0x619fa
pushq $0x43
popq %rsi
callq 0x1a5f7
cmpl %eax, -0x4c(%rbp)
jne 0x2004a
movq -0x30(%rbp), %rax
movsd 0x413cb(%rip), %xmm0    # 0x61798
ucomisd 0x6c20(%rax), %xmm0
jbe 0x2004a
xorl %r14d, %r14d
movq -0x40(%rbp), %rax
movq -0x98(%rbp), %rcx
movslq (%rax,%rcx,4), %rax
cmpq %rax, %r14
jge 0x2004a
movq -0xb8(%rbp), %rax
movq (%rax), %rbx
movq %rbx, %rdi
leaq 0x4159b(%rip), %rsi     # 0x619a5
callq 0x8170
testq %rax, %rax
jne 0x20450
movq %rbx, %rdi
leaq 0x40eea(%rip), %rsi     # 0x61308
callq 0x8170
testq %rax, %rax
jne 0x20450
movq %rbx, %rdi
leaq 0x41576(%rip), %rsi     # 0x619a8
callq 0x8170
testq %rax, %rax
jne 0x20450
movq %rbx, %rdi
leaq 0x41565(%rip), %rsi     # 0x619ab
callq 0x8170
testq %rax, %rax
je 0x20454
movb $0x32, 0x1(%rbx)
incq %r14
addq $0x20, -0xb8(%rbp)
jmp 0x203de
movq -0x38(%rbp), %rdi
callq 0x8b10
movq %rax, -0x60(%rbp)
movq %rdx, -0x58(%rbp)
jmp 0x1fbc5
movq -0x30(%rbp), %rax
movsd 0x6c20(%rax), %xmm0
ucomisd 0x4044a(%rip), %xmm0    # 0x608d8
jae 0x204ba
leaq -0x1a8(%rbp), %rdi
callq 0x82c0
leaq -0x88(%rbp), %rdi
callq 0x82c0
addq $0x388, %rsp            # imm = 0x388
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x30(%rbp), %rax
movl 0xae20(%rax), %eax
xorl %ecx, %ecx
cmpq $0x7, %rcx
je 0x20490
movq -0x40(%rbp), %rdx
cmpl $0x0, (%rdx,%rcx,4)
je 0x204e2
incl %eax
movq -0x30(%rbp), %rdx
movl %eax, 0xae20(%rdx)
incq %rcx
jmp 0x204c6
movq 0x65ada(%rip), %rdi     # 0x85fc8
leaq 0x4144a(%rip), %rsi     # 0x6193f
callq 0x8610
pushq $0x1
popq %rdi
callq 0x8790
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
jmp 0x2052c
movq %rax, %rbx
leaq -0x1a8(%rbp), %rdi
callq 0x82c0
leaq -0x88(%rbp), %rdi
callq 0x82c0
movq %rbx, %rdi
callq 0x8b30
nop