// File: /workspace/github_cpp_makefile_star2_O3/DoubleString[P]RtConverter/src/RtConverter/Deploy.cpp
// Function: bamboo::Deploy::m_readConfiguresJson(bool)
void Deploy::m_readConfiguresJson(bool lexit) {
	fstream f;
	struct stat st;
	int iy, im, id, ih, imin, i, isys, j, ivrs, nsys, result,isat;
	double dsec, seslen;
	string item;
	char value[1024] = { 0 }, freq[MAXSYS][LEN_STRING] = { 0 }, cmd[1024] = { 0 };

	Json::CharReaderBuilder rbuilder;
	rbuilder["collectComments"] = false;
	Json::Value root;
	JSONCPP_STRING errs;
	f.open(f_jsonConfigures, ios::in);
	if (!f.is_open()) {
		printf("file = %s,failed to open file", f_jsonConfigures);
		if (lexit) exit(1); else return;
	}
	bool parse_ok = Json::parseFromStream(rbuilder, f, &root, &errs);
	f.close();
	if (!parse_ok) {
		printf("file = %s,failed to parse file", f_jsonConfigures);
		if (lexit) exit(1); else return;
	}
	post_stalist.clear();
	rt_mounts.clear();
	try {
		item = "post-configures";
		bamboo::excludeAnnoValue(value, root[item]["time"].asCString());
		sscanf(value, "%d%d%d%d%d%lf", &iy, &im, &id, &ih, &imin, &dsec);
		yr2year(iy);
		bamboo::excludeAnnoValue(value, root[item]["seslen"].asCString());
		sscanf(value, "%lf", &seslen);
		this->mjd0 = md_julday(iy, im, id);
		this->sod0 = ih * 3600 + imin * 60 + dsec;
		this->mjd1 = (int)(this->mjd0 + (this->sod0 + seslen) / 86400);
		this->sod1 = this->sod0 + seslen
			- (this->mjd1 - this->mjd0) * 86400.0;
		bamboo::excludeAnnoValue(value, root[item]["interval"].asCString());
		sscanf(value, "%lf", &dintv);

		bamboo::excludeAnnoValue(value, root[item]["speed"].asCString());
		sscanf(value, "%d", &speed);

		bamboo::excludeAnnoValue(value, root[item]["freqused"].asCString());
		split_string(true, value, ' ', ' ', ' ', &nsys, (char*)freq,
			LEN_STRING);
		for (i = 0; i < nsys; i++) {
			isys = -1;
			j = index_string(freq[i], ':');
			if (strstr(freq[i], "GPS") != NULL)
				isys = index_string(SYS, 'G');
			else if (strstr(freq[i], "GLS") != NULL)
				isys = index_string(SYS, 'R');
			else if (strstr(freq[i], "GAL") != NULL)
				isys = index_string(SYS, 'E');
			else if (strstr(freq[i], "BDS") != NULL
				|| strstr(freq[i], "CPS") != NULL
				|| strstr(freq[i], "CMS") != NULL)
				isys = index_string(SYS, 'C');
			else if (strstr(freq[i], "QZS") != NULL)
				isys = index_string(SYS, 'J');
			else {
				printf("freq = %s: unknown GNSS system", freq[i]);
				exit(1);
			}
			if (isys != -1) {
				split_string(true, freq[i] + j + 1, ' ', ' ', '_',
					this->nfreq + isys, (char*)(this->freq[isys]),
					LEN_FREQ);
				for (j = 0; j < this->nfreq[isys]; j++) {
					if (strstr(this->freq[isys][j], "L1") != NULL
						|| strstr(this->freq[isys][j], "G1") != NULL
						|| strstr(this->freq[isys][j], "E1") != NULL)
						strcpy(this->freq[isys][j], "L1");
					else if (strstr(this->freq[isys][j], "L2") != NULL
						|| strstr(this->freq[isys][j], "G2") != NULL
						|| strstr(this->freq[isys][j], "E2") != NULL
						|| strstr(this->freq[isys][j], "B1") != NULL) {
						strcpy(this->freq[isys][j], "L2");
					}
					else if (strstr(this->freq[isys][j], "L5") != NULL
						|| strstr(this->freq[isys][j], "E5a") != NULL)
						strcpy(this->freq[isys][j], "L5");
					else if (strstr(this->freq[isys][j], "E6") != NULL
						|| strstr(this->freq[isys][j], "B3") != NULL
						|| strstr(this->freq[isys][j], "LEX") != NULL)
						strcpy(this->freq[isys][j], "L6");
					else if (strstr(this->freq[isys][j], "E5b") != NULL
						|| strstr(this->freq[isys][j], "B2") != NULL)
						strcpy(this->freq[isys][j], "L7");
					else if (strstr(this->freq[isys][j], "E5") != NULL)
						strcpy(this->freq[isys][j], "L8");
				}
			}
		}
		
		bamboo::excludeAnnoValue(obsdir, root[item]["obsdir"].asCString());
		bamboo::excludeAnnoValue(outdir, root[item]["outdir"].asCString());
		bamboo::excludeAnnoValue(ephdir, root[item]["brdmdir"].asCString());
		for (i = 0; i < root[item]["sta-list"].size(); i++) {
			bamboo::excludeAnnoValue(value, root[item]["sta-list"][i].asCString());
			if (!m_checkStation(value)) {
				cout << "Existing same station,will continue for " << value << endl;
				continue;
			}
			post_stalist.push_back(value);
		}
		item = "satellites";
		const char* system[] = { "GPS","BDS","GAL","GLO" };
		nprn = 0;
		cprn->clear();
		for (isys = 0; isys < sizeof(system) / sizeof(char*); isys++) {
			for (isat = 0; isat < root[item][system[isys]].size(); isat++) {
				cprn[nprn++] = string(root[item][system[isys]][isat].asCString());
			}
		}
		item = "rt-configures";
		for (i = 0; i < root[item]["vrs-list"].size(); i++) {
			string svr = root[item]["vrs-list"][i]["server"].asCString();
			list<VrsStaItem> list_items;
			bamboo::excludeAnnoValue(value, root[item]["vrs-list"][i]["type"].asCString());
			int type = VrsStaItem::stream_type::stream;
			if (strstr(value, "vrs"))  
				type = VrsStaItem::stream_type::vrs;
			for (ivrs = 0; ivrs < root[item]["vrs-list"][i]["sta-list"].size(); ivrs++) {
				VrsStaItem vrsitem;
				bamboo::excludeAnnoValue(value, root[item]["vrs-list"][i]["sta-list"][ivrs]["name"].asCString());
				vrsitem.staname = value;
				vrsitem.type = type;
				if (vrsitem.type == VrsStaItem::stream_type::vrs) {
					bamboo::excludeAnnoValue(value, root[item]["vrs-list"][i]["sta-list"][ivrs]["xyz"].asCString());
					sscanf(value, "%lf%lf%lf", vrsitem.x, vrsitem.x + 1, vrsitem.x + 2);
				}
				if (!m_checkStation(vrsitem.staname)) {
					cout << "Existing same station,will continue for " << vrsitem.staname << endl;
					continue;
				}
				memset(cmd, 0, sizeof(cmd));
				if (vrsitem.type == VrsStaItem::stream_type::stream) {
					if ('/' == svr.back())
						sprintf(cmd, "%s%s", svr.c_str(), vrsitem.staname.c_str());
					else
						sprintf(cmd, "%s/%s", svr.c_str(), vrsitem.staname.c_str());
				}
				else {
					sprintf(cmd, "%s", svr.c_str());
				}
				vrsitem.strpath = string(cmd);
				list_items.push_back(vrsitem);
			}
			rt_mounts[svr] = list_items;
		}
		bamboo::excludeAnnoValue(value, root[item]["nrtk-port"].asCString());
		sscanf(value, "%d", &nrtkport);

		bamboo::excludeAnnoValue(value, root[item]["rtk-port"].asCString());
		sscanf(value, "%d", &rtkport);

		bamboo::excludeAnnoValue(value, root[item]["eph-port"].asCString());
		sscanf(value, "%d", &ephport);
		
		result = stat(f_jsonConfigures, &st);
		lastAct = st.st_mtime;
	}
	catch (...) {
		printf("file = %s,failed to parse database item", f_jsonConfigures);
		if (lexit) exit(1); else return;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28e8, %rsp           # imm = 0x28E8
movl %esi, -0x34(%rbp)
movq %rdi, -0x30(%rbp)
leaq -0x880(%rbp), %rdi
callq 0x8780
leaq -0x48(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq -0x670(%rbp), %rdi
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x8390
leaq -0x2910(%rbp), %rbx
movl $0x1c00, %edx           # imm = 0x1C00
movq %rbx, %rdi
xorl %esi, %esi
callq 0x8390
leaq -0xd10(%rbp), %rdi
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x8390
leaq -0x248(%rbp), %rdi
callq 0xef26
leaq -0x270(%rbp), %rdi
xorl %esi, %esi
callq 0x12f06
leaq -0x1e8(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x3ff58(%rip), %rsi     # 0x695d8
leaq 0x3ff60(%rip), %rdx     # 0x695e7
leaq -0x1f8(%rbp), %rdi
callq 0x1100a
leaq -0x248(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0xf856
leaq -0x270(%rbp), %rsi
movq %rax, %rdi
callq 0x1323e
movq -0x1f8(%rbp), %rdi
cmpq %r14, %rdi
je 0x296c6
callq 0x85d0
leaq -0x270(%rbp), %rdi
callq 0x1315e
leaq -0x98(%rbp), %rdi
xorl %esi, %esi
callq 0x12ab8
leaq -0x1c8(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq -0x30(%rbp), %rax
leaq 0x1c40(%rax), %rsi
leaq -0x880(%rbp), %rdi
movq %rsi, -0x70(%rbp)
movl $0x8, %edx
callq 0x8590
leaq -0x800(%rbp), %rdi
callq 0x8180
testb %al, %al
je 0x29fe5
leaq -0x248(%rbp), %rdi
leaq -0x880(%rbp), %rsi
leaq -0x98(%rbp), %rdx
leaq -0x1d8(%rbp), %rcx
callq 0xfab1
movl %eax, %r14d
leaq -0x880(%rbp), %rdi
callq 0x80a0
testb %r14b, %r14b
je 0x2a003
movq -0x30(%rbp), %r14
leaq 0x1bf8(%r14), %r15
movq %r15, %rdi
callq 0x27eac
movq %r15, 0x1c00(%r14)
movq %r15, -0x60(%rbp)
movq %r15, 0x1bf8(%r14)
movq $0x0, 0x1c08(%r14)
leaq 0x1c10(%r14), %rdi
movq %rdi, -0x168(%rbp)
callq 0x2ae3e
leaq -0x58(%rbp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x42365(%rip), %rcx     # 0x6bb1a
movl $0xf, %r8d
xorl %esi, %esi
callq 0x8980
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x42351(%rip), %rsi     # 0x6bb2a
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
leaq -0x670(%rbp), %rdi
movq %rax, %rsi
callq 0x20923
leaq -0x198(%rbp), %r10
leaq -0xa4(%rbp), %r11
leaq 0x420c7(%rip), %rsi     # 0x6b8d4
leaq -0x670(%rbp), %rdi
leaq -0xb4(%rbp), %r14
leaq -0xb0(%rbp), %rcx
leaq -0xac(%rbp), %r8
leaq -0xa8(%rbp), %r9
movq %r14, %rdx
xorl %eax, %eax
pushq %r10
pushq %r11
callq 0x8610
addq $0x10, %rsp
movq %r14, %rdi
callq 0x1cf0d
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x422ce(%rip), %rsi     # 0x6bb2f
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
leaq -0x670(%rbp), %rdi
movq %rax, %rsi
callq 0x20923
leaq 0x4bc0c(%rip), %rsi     # 0x75493
leaq -0x670(%rbp), %rdi
leaq -0x190(%rbp), %rdx
xorl %eax, %eax
callq 0x8610
movl -0xb4(%rbp), %edi
movl -0xb0(%rbp), %esi
movl -0xac(%rbp), %edx
callq 0x1c8ec
movq -0x30(%rbp), %rsi
movl %eax, (%rsi)
imull $0xe10, -0xa8(%rbp), %ecx # imm = 0xE10
imull $0x3c, -0xa4(%rbp), %edx
addl %ecx, %edx
cvtsi2sd %edx, %xmm0
addsd -0x198(%rbp), %xmm0
movsd %xmm0, 0x10(%rsi)
cvtsi2sd %eax, %xmm1
addsd -0x190(%rbp), %xmm0
movsd 0x40fdf(%rip), %xmm2    # 0x6a8d0
movapd %xmm0, %xmm3
divsd %xmm2, %xmm3
addsd %xmm1, %xmm3
cvttsd2si %xmm3, %ecx
movl %ecx, 0x4(%rsi)
subl %eax, %ecx
xorps %xmm1, %xmm1
cvtsi2sd %ecx, %xmm1
mulsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rsi)
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x42205(%rip), %rsi     # 0x6bb36
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
leaq -0x670(%rbp), %rdi
movq %rax, %rsi
callq 0x20923
movq -0x30(%rbp), %rax
leaq 0x28(%rax), %rdx
leaq 0x4bb34(%rip), %rsi     # 0x75493
leaq -0x670(%rbp), %rdi
xorl %eax, %eax
callq 0x8610
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x421bb(%rip), %rsi     # 0x6bb3f
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
leaq -0x670(%rbp), %rdi
movq %rax, %rsi
callq 0x20923
movq -0x30(%rbp), %rax
leaq 0x8(%rax), %rdx
leaq 0x4c779(%rip), %rsi     # 0x7612b
leaq -0x670(%rbp), %rdi
xorl %eax, %eax
callq 0x8610
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x4216e(%rip), %rsi     # 0x6bb45
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
leaq -0x670(%rbp), %rdi
movq %rax, %rsi
callq 0x20923
leaq -0x670(%rbp), %rsi
leaq -0x64(%rbp), %r9
movl $0x1, %edi
movl $0x20, %edx
movl $0x20, %ecx
movl $0x20, %r8d
pushq $0x400                  # imm = 0x400
pushq %rbx
callq 0x1d941
addq $0x10, %rsp
cmpl $0x0, -0x64(%rbp)
jle 0x29d3c
movq -0x30(%rbp), %rax
leaq 0x30(%rax), %rcx
movq %rcx, -0xa0(%rbp)
addq $0x5c, %rax
movq %rax, -0x160(%rbp)
xorl %r13d, %r13d
leaq 0x418c5(%rip), %r15     # 0x6b318
movq %r13, %rax
shlq $0xa, %rax
leaq (%rax,%rbp), %rbx
addq $-0x2910, %rbx          # imm = 0xD6F0
movq %rbx, %rdi
movl $0x3a, %esi
callq 0x1d54b
movl %eax, %r12d
movq %rbx, %rdi
leaq 0x418c1(%rip), %rsi     # 0x6b340
callq 0x8160
movb $0x47, %r14b
testq %rax, %rax
jne 0x29b18
movq %rbx, %rdi
leaq 0x420b4(%rip), %rsi     # 0x6bb4e
callq 0x8160
movb $0x52, %r14b
testq %rax, %rax
jne 0x29b18
movq %rbx, %rdi
leaq 0x420a1(%rip), %rsi     # 0x6bb52
callq 0x8160
movb $0x45, %r14b
testq %rax, %rax
jne 0x29b18
movq %rbx, %rdi
leaq 0x418f2(%rip), %rsi     # 0x6b3ba
callq 0x8160
movb $0x43, %r14b
testq %rax, %rax
jne 0x29b18
movq %rbx, %rdi
leaq 0x42077(%rip), %rsi     # 0x6bb56
callq 0x8160
testq %rax, %rax
jne 0x29b18
movq %rbx, %rdi
leaq 0x42067(%rip), %rsi     # 0x6bb5a
callq 0x8160
testq %rax, %rax
jne 0x29b18
movq %rbx, %rdi
leaq 0x42057(%rip), %rsi     # 0x6bb5e
callq 0x8160
movb $0x4a, %r14b
testq %rax, %rax
je 0x2a7eb
movzbl %r14b, %esi
leaq 0x42145(%rip), %rdi     # 0x6bc68
callq 0x1d54b
cmpl $-0x1, %eax
je 0x29d2c
movslq %r12d, %rcx
leaq (%rbx,%rcx), %rsi
incq %rsi
cltq
movq -0xa0(%rbp), %rcx
leaq (%rcx,%rax,4), %rbx
leaq (%rax,%rax,2), %rax
movq -0x160(%rbp), %rcx
leaq (%rcx,%rax,4), %r12
movl $0x1, %edi
movl $0x20, %edx
movl $0x20, %ecx
movl $0x5f, %r8d
movq %rbx, %r9
pushq $0x4
pushq %r12
callq 0x1d941
addq $0x10, %rsp
cmpl $0x0, (%rbx)
jle 0x29d2c
xorl %r14d, %r14d
movq %r12, %rdi
movq %r15, %rsi
callq 0x8160
testq %rax, %rax
jne 0x29bc0
movq %r12, %rdi
leaq 0x41fdf(%rip), %rsi     # 0x6bb81
callq 0x8160
testq %rax, %rax
jne 0x29bc0
movq %r12, %rdi
leaq 0x41fce(%rip), %rsi     # 0x6bb84
callq 0x8160
testq %rax, %rax
je 0x29be1
movb $0x0, 0x2(%r12)
movw $0x314c, (%r12)         # imm = 0x314C
incq %r14
movslq (%rbx), %rax
addq $0x4, %r12
cmpq %rax, %r14
jl 0x29b88
jmp 0x29d2c
movq %r12, %rdi
leaq 0x41730(%rip), %rsi     # 0x6b31b
callq 0x8160
testq %rax, %rax
jne 0x29c31
movq %r12, %rdi
leaq 0x41f88(%rip), %rsi     # 0x6bb87
callq 0x8160
testq %rax, %rax
jne 0x29c31
movq %r12, %rdi
leaq 0x4eeb5(%rip), %rsi     # 0x78ac8
callq 0x8160
testq %rax, %rax
jne 0x29c31
movq %r12, %rdi
leaq 0x41f63(%rip), %rsi     # 0x6bb8a
callq 0x8160
testq %rax, %rax
je 0x29c40
movb $0x0, 0x2(%r12)
movw $0x324c, (%r12)         # imm = 0x324C
jmp 0x29bcd
movq %r12, %rdi
leaq 0x416d4(%rip), %rsi     # 0x6b31e
callq 0x8160
testq %rax, %rax
jne 0x29c68
movq %r12, %rdi
leaq 0x41f2f(%rip), %rsi     # 0x6bb8d
callq 0x8160
testq %rax, %rax
je 0x29c7a
movb $0x0, 0x2(%r12)
movw $0x354c, (%r12)         # imm = 0x354C
jmp 0x29bcd
movq %r12, %rdi
leaq 0x41f0d(%rip), %rsi     # 0x6bb91
callq 0x8160
testq %rax, %rax
jne 0x29cb6
movq %r12, %rdi
leaq 0x41efc(%rip), %rsi     # 0x6bb94
callq 0x8160
testq %rax, %rax
jne 0x29cb6
movq %r12, %rdi
leaq 0x41eeb(%rip), %rsi     # 0x6bb97
callq 0x8160
testq %rax, %rax
je 0x29cc8
movb $0x0, 0x2(%r12)
movw $0x364c, (%r12)         # imm = 0x364C
jmp 0x29bcd
movq %r12, %rdi
leaq 0x41ec9(%rip), %rsi     # 0x6bb9b
callq 0x8160
testq %rax, %rax
jne 0x29cf0
movq %r12, %rdi
leaq 0x41eb9(%rip), %rsi     # 0x6bb9f
callq 0x8160
testq %rax, %rax
je 0x29d02
movb $0x0, 0x2(%r12)
movw $0x374c, (%r12)         # imm = 0x374C
jmp 0x29bcd
movq %r12, %rdi
leaq 0x41e96(%rip), %rsi     # 0x6bba2
callq 0x8160
testq %rax, %rax
je 0x29bcd
movb $0x0, 0x2(%r12)
movw $0x384c, (%r12)         # imm = 0x384C
jmp 0x29bcd
incq %r13
movslq -0x64(%rbp), %rax
cmpq %rax, %r13
jl 0x29a53
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x41e52(%rip), %rsi     # 0x6bba5
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
movq -0x30(%rbp), %rcx
leaq 0xb0(%rcx), %rdi
movq %rax, %rsi
callq 0x20923
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x41e1f(%rip), %rsi     # 0x6bbac
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
movq -0x30(%rbp), %rcx
leaq 0x1b0(%rcx), %rdi
movq %rax, %rsi
callq 0x20923
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x41dec(%rip), %rsi     # 0x6bbb3
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
movq -0x30(%rbp), %rcx
leaq 0x2b0(%rcx), %rdi
movq %rax, %rsi
callq 0x20923
xorl %ebx, %ebx
leaq -0x670(%rbp), %r13
leaq -0x1b8(%rbp), %r15
movq 0x641cf(%rip), %r14     # 0x8dfd0
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
movq %rax, %rdi
leaq 0x41da0(%rip), %rsi     # 0x6bbbb
callq 0x154fe
movq %rax, %rdi
callq 0x145be
cmpl %eax, %ebx
jae 0x2a029
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
movq %rax, %rdi
leaq 0x41d71(%rip), %rsi     # 0x6bbbb
callq 0x154fe
movq %rax, %rdi
movl %ebx, %esi
callq 0x14bea
movq %rax, %rdi
callq 0x1365a
movq %r13, %rdi
movq %rax, %rsi
callq 0x20923
leaq -0x1a8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq %r13, %rdi
callq 0x8290
leaq (%rax,%rbp), %rdx
addq $-0x670, %rdx           # imm = 0xF990
movq %r15, %rdi
movq %r13, %rsi
callq 0x1100a
movq -0x30(%rbp), %rdi
movq %r15, %r12
movq %r15, %rsi
callq 0x2abd2
movl %eax, %r15d
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x29ec2
callq 0x85d0
testb %r15b, %r15b
je 0x29f30
leaq -0x110(%rbp), %rax
movq %rax, -0x120(%rbp)
movq %r13, %rdi
callq 0x8290
leaq (%rax,%rbp), %rdx
addq $-0x670, %rdx           # imm = 0xF990
leaq -0x120(%rbp), %rdi
movq %r13, %rsi
callq 0x1100a
movl $0x30, %edi
callq 0x8640
movq %rax, %rcx
addq $0x20, %rcx
movq %rcx, 0x10(%rax)
movq -0x120(%rbp), %rdx
leaq -0x110(%rbp), %r15
cmpq %r15, %rdx
je 0x29f86
movq %rdx, 0x10(%rax)
movq -0x110(%rbp), %rcx
movq %rcx, 0x20(%rax)
jmp 0x29f8f
movl $0x28, %edx
movq %r14, %rdi
leaq 0x41c85(%rip), %rsi     # 0x6bbc4
callq 0x8720
movq %r12, %r15
movq %r13, %rdi
callq 0x8290
movq %r14, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x8720
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x8600
movsbl %al, %esi
movq %r14, %rdi
callq 0x8050
movq %rax, %rdi
callq 0x8450
jmp 0x29fde
movupd (%r15), %xmm0
movupd %xmm0, (%rcx)
movq -0x118(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq %r15, -0x120(%rbp)
movq $0x0, -0x118(%rbp)
movb $0x0, -0x110(%rbp)
movq %rax, %rdi
movq -0x60(%rbp), %rsi
callq 0x80c0
movq -0x30(%rbp), %rax
incq 0x1c08(%rax)
movq -0x120(%rbp), %rdi
cmpq %r15, %rdi
je 0x29fdb
callq 0x85d0
movq %r12, %r15
incl %ebx
jmp 0x29e01
leaq 0x41af1(%rip), %rdi     # 0x6badd
movq -0x70(%rbp), %rsi
xorl %eax, %eax
callq 0x8080
cmpb $0x0, -0x34(%rbp)
je 0x2a78b
jmp 0x2a01f
leaq 0x41af1(%rip), %rdi     # 0x6bafb
movq -0x70(%rbp), %rsi
xorl %eax, %eax
callq 0x8080
cmpb $0x0, -0x34(%rbp)
je 0x2a78b
movl $0x1, %edi
callq 0x87b0
leaq -0x58(%rbp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x41bb5(%rip), %rcx     # 0x6bbed
movl $0xa, %r8d
xorl %esi, %esi
callq 0x8980
movq -0x30(%rbp), %rax
movl $0x0, 0x4c(%rax)
leaq 0x6b0(%rax), %rcx
movq %rcx, -0x60(%rbp)
movq $0x0, 0x6b8(%rax)
movq 0x6b0(%rax), %rax
movb $0x0, (%rax)
xorl %ebx, %ebx
leaq -0x58(%rbp), %r14
leaq -0x120(%rbp), %r15
xorl %r13d, %r13d
leaq -0x98(%rbp), %rdi
movq %r14, %rsi
callq 0x15526
leaq 0x635ea(%rip), %rcx     # 0x8d680
movq (%rcx,%rbx,8), %r12
movq %rax, %rdi
movq %r12, %rsi
callq 0x154fe
movq %rax, %rdi
callq 0x145be
cmpl %eax, %r13d
jae 0x2a12f
leaq -0x98(%rbp), %rdi
movq %r14, %rsi
callq 0x15526
movq %rax, %rdi
movq %r12, %rsi
callq 0x154fe
movq %rax, %rdi
movl %r13d, %esi
callq 0x14bea
movq %rax, %rdi
callq 0x1365a
movq %r15, %rdi
movq %rax, %rsi
leaq -0x158(%rbp), %rdx
callq 0x8260
movq -0x30(%rbp), %rcx
movslq 0x4c(%rcx), %rdi
leal 0x1(%rdi), %eax
movl %eax, 0x4c(%rcx)
shlq $0x5, %rdi
addq -0x60(%rbp), %rdi
movq %r15, %rsi
callq 0x87c0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x2a127
callq 0x85d0
incl %r13d
jmp 0x2a080
incq %rbx
cmpq $0x4, %rbx
jne 0x2a07d
leaq -0x58(%rbp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x41ab1(%rip), %rcx     # 0x6bbfc
xorl %r14d, %r14d
movl $0xd, %r8d
xorl %esi, %esi
callq 0x8980
leaq -0x158(%rbp), %rbx
leaq -0x138(%rbp), %r12
leaq -0x670(%rbp), %r13
xorl %r15d, %r15d
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
movq %rax, %rdi
leaq 0x41a7d(%rip), %rsi     # 0x6bc0a
callq 0x154fe
movq %rax, %rdi
callq 0x145be
cmpl %eax, %r15d
jae 0x2a674
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
movq %rax, %rdi
leaq 0x41a4d(%rip), %rsi     # 0x6bc0a
callq 0x154fe
movq %rax, %rdi
movl %r15d, %esi
callq 0x14bea
movq %rax, %rdi
leaq 0x41a3c(%rip), %rsi     # 0x6bc13
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
movq %rbx, %rdi
movq %rax, %rsi
leaq -0x120(%rbp), %rdx
callq 0x8260
movq %r12, -0x130(%rbp)
movq %r12, -0x138(%rbp)
movq $0x0, -0x128(%rbp)
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
movq %rax, %rdi
leaq 0x419e1(%rip), %rsi     # 0x6bc0a
callq 0x154fe
movq %rax, %rdi
movl %r15d, %esi
callq 0x14bea
movq %rax, %rdi
leaq 0x419d7(%rip), %rsi     # 0x6bc1a
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
movq %r13, %rdi
movq %rax, %rsi
callq 0x20923
movq %r13, %rdi
leaq 0x419ba(%rip), %rsi     # 0x6bc1f
callq 0x8160
xorl %ecx, %ecx
movq %rax, -0x60(%rbp)
testq %rax, %rax
sete %cl
movl %ecx, -0xa0(%rbp)
xorl %r12d, %r12d
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
movq %rax, %rdi
leaq 0x41971(%rip), %rsi     # 0x6bc0a
callq 0x154fe
movq %rax, %rdi
movl %r15d, %esi
callq 0x14bea
movq %rax, %rdi
leaq 0x41908(%rip), %rsi     # 0x6bbbb
callq 0x154fe
movq %rax, %rdi
callq 0x145be
cmpl %eax, %r12d
jae 0x2a618
leaq -0xf0(%rbp), %rax
movq %rax, -0x100(%rbp)
movq %r14, -0xf8(%rbp)
movb %r14b, -0xf0(%rbp)
leaq -0xd0(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq %r14, -0xd8(%rbp)
movb %r14b, -0xd0(%rbp)
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
movq %rax, %rdi
leaq 0x418ef(%rip), %rsi     # 0x6bc0a
callq 0x154fe
movq %rax, %rdi
movl %r15d, %esi
callq 0x14bea
movq %rax, %rdi
leaq 0x41886(%rip), %rsi     # 0x6bbbb
callq 0x154fe
movq %rax, %rdi
movl %r12d, %esi
callq 0x14bea
movq %rax, %rdi
leaq 0x3efd5(%rip), %rsi     # 0x69324
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
movq %r13, %rdi
movq %rax, %rsi
callq 0x20923
movq -0xf8(%rbp), %rbx
movq %r13, %rdi
callq 0x8290
leaq -0x100(%rbp), %rdi
xorl %esi, %esi
movq %rbx, %rdx
movq %r13, %rcx
movq %rax, %r8
callq 0x8980
movl -0xa0(%rbp), %eax
movl %eax, -0x120(%rbp)
cmpq $0x0, -0x60(%rbp)
je 0x2a430
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
movq %rax, %rdi
leaq 0x4184c(%rip), %rsi     # 0x6bc0a
callq 0x154fe
movq %rax, %rdi
movl %r15d, %esi
callq 0x14bea
movq %rax, %rdi
leaq 0x417e3(%rip), %rsi     # 0x6bbbb
callq 0x154fe
movq %rax, %rdi
movl %r12d, %esi
callq 0x14bea
movq %rax, %rdi
leaq 0x41831(%rip), %rsi     # 0x6bc23
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
movq %r13, %rdi
movq %rax, %rsi
callq 0x20923
movq %r13, %rdi
leaq 0x4f1e9(%rip), %rsi     # 0x795fd
leaq -0x118(%rbp), %rdx
leaq -0x110(%rbp), %rcx
leaq -0x108(%rbp), %r8
xorl %eax, %eax
callq 0x8610
leaq -0x178(%rbp), %rax
movq %rax, -0x188(%rbp)
movq -0x100(%rbp), %rsi
movq -0xf8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x188(%rbp), %rdi
callq 0x111e0
movq -0x30(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x2abd2
movl %eax, %ebx
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x2a485
callq 0x85d0
testb %bl, %bl
je 0x2a4d4
movl $0x400, %edx            # imm = 0x400
leaq -0xd10(%rbp), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x8390
cmpl $0x1, -0x120(%rbp)
jne 0x2a535
movq -0x158(%rbp), %rdx
movq -0x150(%rbp), %rax
cmpb $0x2f, -0x1(%rdx,%rax)
movq -0x100(%rbp), %rcx
jne 0x2a546
movq %r14, %rdi
leaq 0x455a2(%rip), %rsi     # 0x6fa74
jmp 0x2a550
movl $0x28, %edx
movq 0x63af0(%rip), %rdi     # 0x8dfd0
leaq 0x416dd(%rip), %rsi     # 0x6bbc4
callq 0x8720
movq -0x100(%rbp), %rsi
movq -0xf8(%rbp), %rdx
movq 0x63acf(%rip), %rdi     # 0x8dfd0
callq 0x8720
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x8600
movsbl %al, %esi
movq %rbx, %rdi
callq 0x8050
movq %rax, %rdi
callq 0x8450
jmp 0x2a5e0
movq -0x158(%rbp), %rsi
movq %r14, %rdi
callq 0x85c0
jmp 0x2a557
movq %r14, %rdi
leaq 0x416d7(%rip), %rsi     # 0x6bc27
xorl %eax, %eax
callq 0x8120
leaq -0x208(%rbp), %rbx
movq %rbx, -0x218(%rbp)
movq %r14, %rdi
callq 0x8290
leaq (%rax,%rbp), %rdx
addq $-0xd10, %rdx           # imm = 0xF2F0
leaq -0x218(%rbp), %r13
movq %r13, %rdi
movq %r14, %rsi
callq 0x1100a
leaq -0xe0(%rbp), %rdi
movq %r13, %rsi
callq 0x87c0
movq -0x218(%rbp), %rdi
cmpq %rbx, %rdi
movl $0x0, %r14d
je 0x2a5b0
callq 0x85d0
leaq -0x138(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x283b8
leaq -0x670(%rbp), %r13
movq %rax, %rdi
leaq -0x138(%rbp), %rsi
callq 0x80c0
incq -0x128(%rbp)
movq -0xe0(%rbp), %rdi
leaq -0xd0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a5f8
callq 0x85d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x2a610
callq 0x85d0
incl %r12d
jmp 0x2a27f
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rbx
movq %rbx, %rsi
callq 0x2ada6
leaq -0x138(%rbp), %r12
cmpq %r12, %rax
je 0x2a64c
movq -0x138(%rbp), %rsi
movq %rax, %rdi
movq %r12, %rdx
callq 0x2b1ec
movq %r12, %rdi
callq 0x28266
movq -0x158(%rbp), %rdi
leaq -0x148(%rbp), %rax
cmpq %rax, %rdi
je 0x2a66c
callq 0x85d0
incl %r15d
jmp 0x2a173
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x415a2(%rip), %rsi     # 0x6bc2d
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
leaq -0x670(%rbp), %rdi
movq %rax, %rsi
callq 0x20923
movq -0x30(%rbp), %rax
leaq 0x54(%rax), %rdx
leaq 0x4ba72(%rip), %rsi     # 0x7612b
leaq -0x670(%rbp), %rdi
xorl %eax, %eax
callq 0x8610
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x41550(%rip), %rsi     # 0x6bc2e
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
leaq -0x670(%rbp), %rdi
movq %rax, %rsi
callq 0x20923
movq -0x30(%rbp), %rax
leaq 0x50(%rax), %rdx
leaq 0x4ba1f(%rip), %rsi     # 0x7612b
leaq -0x670(%rbp), %rdi
xorl %eax, %eax
callq 0x8610
leaq -0x98(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x15526
leaq 0x41506(%rip), %rsi     # 0x6bc37
movq %rax, %rdi
callq 0x154fe
movq %rax, %rdi
callq 0x1365a
leaq -0x670(%rbp), %rdi
movq %rax, %rsi
callq 0x20923
movq -0x30(%rbp), %r14
leaq 0x58(%r14), %rdx
leaq 0x4b9cc(%rip), %rsi     # 0x7612b
leaq -0x670(%rbp), %rdi
xorl %eax, %eax
callq 0x8610
leaq -0x910(%rbp), %rbx
movq -0x70(%rbp), %rdi
movq %rbx, %rsi
callq 0x8580
movq 0x58(%rbx), %rax
movq %rax, 0x1bf0(%r14)
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2a7a3
callq 0x85d0
leaq -0x98(%rbp), %rdi
callq 0x1315e
leaq -0x248(%rbp), %rdi
callq 0xf1f0
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x2a7cd
callq 0x85d0
leaq -0x880(%rbp), %rdi
callq 0x8170
addq $0x28e8, %rsp           # imm = 0x28E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x41370(%rip), %rdi     # 0x6bb62
movq %rbx, %rsi
xorl %eax, %eax
callq 0x8080
jmp 0x2a01f
jmp 0x2a919
jmp 0x2a80d
movq %rax, %rbx
jmp 0x2a831
movq %rax, %rbx
jmp 0x2a940
movq %rax, %rbx
jmp 0x2a94c
movq %rax, %rbx
movq -0x1f8(%rbp), %rdi
cmpq %r14, %rdi
je 0x2a831
callq 0x85d0
leaq -0x270(%rbp), %rdi
jmp 0x2a93b
jmp 0x2a8ad
movq %rax, %rbx
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x2a8ea
jmp 0x2a8e5
jmp 0x2a8ad
jmp 0x2a8ad
jmp 0x2a8ad
movq %rax, %rbx
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x2a8ea
jmp 0x2a8e5
jmp 0x2a8ad
jmp 0x2a8b2
jmp 0x2a8ad
jmp 0x2a8ad
jmp 0x2a8ad
jmp 0x2a8b2
jmp 0x2a8ad
jmp 0x2a8b7
movq %rax, %rbx
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x2a8ba
callq 0x85d0
jmp 0x2a8ba
jmp 0x2a8ad
jmp 0x2a8ad
movq %rax, %rbx
jmp 0x2a8ea
movq %rax, %rbx
jmp 0x2a8c6
movq %rax, %rbx
leaq -0x120(%rbp), %rdi
callq 0x2ad70
leaq -0x138(%rbp), %rdi
callq 0x28266
movq -0x158(%rbp), %rdi
leaq -0x148(%rbp), %rax
cmpq %rax, %rdi
je 0x2a8ea
callq 0x85d0
movq %rbx, %rdi
callq 0x8270
leaq 0x41347(%rip), %rdi     # 0x6bc40
movq -0x70(%rbp), %rsi
xorl %eax, %eax
callq 0x8080
cmpb $0x0, -0x34(%rbp)
jne 0x2a914
callq 0x8a60
jmp 0x2a78b
jmp 0x2a01f
movq %rax, %rbx
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x2a934
callq 0x85d0
leaq -0x98(%rbp), %rdi
callq 0x1315e
leaq -0x248(%rbp), %rdi
callq 0xf1f0
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x2a95e
callq 0x85d0
leaq -0x880(%rbp), %rdi
callq 0x8170
movq %rbx, %rdi
callq 0x8b30