// File: /workspace/github_cpp_makefile_star2_O3/DoubleString[P]RtConverter/src/Rnxbrd/RnxEphFileAdapter.cpp
// Function: bamboo::RnxEphFileAdapter::v_openRnxEph(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void RnxEphFileAdapter::v_openRnxEph(string ephcmd) {
	int curmjd;
	this->isOpen = 1;
	Deploy dly = Deploy::s_getConfigures();
	int iyear, imon, iday, ih, imin;
	double dsec, cursod;
	curmjd = atoi(ephcmd.substr(0, index_string(ephcmd.c_str(), ':')).c_str());
	cursod = atof(ephcmd.substr(index_string(ephcmd.c_str(), ':') + 1).c_str());

	mjd0 = curmjd;
	sod0 = 0.0;
	mjd1 = curmjd + 1;
	sod1 = 0.0;
	mjd2date(curmjd, cursod, &iyear, &imon, &iday, &ih, &imin, &dsec);
	memset(curFile, 0, sizeof(char) * 1024);
	strcpy(curFile, dly.ephdir);
	Patterns::s_getInstance()->m_getPatternName(true, "", "", iyear, imon, iday,
			ih, curFile);

	if (curFile[strlen(curFile) - 1] == 'p') {
		this->m_readRnxnav('M');
	} else {
		this->m_readRnxnav('G');
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2088, %rsp           # imm = 0x2088
movq %rsi, %r14
movq %rdi, %rbx
movl $0x1, 0xdc8(%rdi)
leaq -0x20b0(%rbp), %rdi
callq 0x2aa68
movq (%r14), %rdi
movl $0x3a, %esi
callq 0x1d54b
movslq %eax, %rcx
leaq -0x68(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x8660
leaq -0x58(%rbp), %r13
movq -0x10(%r13), %r12
movq %r12, %rdi
callq 0x89a0
movl %eax, %r15d
cmpq %r13, %r12
je 0x663a0
movq %r12, %rdi
callq 0x85d0
movq (%r14), %rdi
movl $0x3a, %esi
callq 0x1d54b
incl %eax
movslq %eax, %rdx
leaq -0x68(%rbp), %rdi
movq %r14, %rsi
movq $-0x1, %rcx
callq 0x8660
movq -0x68(%rbp), %r14
movq %r14, %rdi
callq 0x87d0
cmpq %r13, %r14
je 0x663e8
movq %r14, %rdi
movsd %xmm0, -0x40(%rbp)
callq 0x85d0
movsd -0x40(%rbp), %xmm0
movl %r15d, 0xdb0(%rbx)
xorps %xmm1, %xmm1
movups %xmm1, 0xdb8(%rbx)
movl %r15d, %eax
incl %eax
movl %eax, 0xdb4(%rbx)
subq $0x8, %rsp
leaq -0x70(%rbp), %rax
leaq -0x38(%rbp), %rsi
leaq -0x34(%rbp), %rdx
leaq -0x30(%rbp), %rcx
leaq -0x2c(%rbp), %r8
leaq -0x44(%rbp), %r9
movl %r15d, %edi
pushq %rax
callq 0x1cc5e
addq $0x10, %rsp
leaq 0x9b0(%rbx), %r14
movl $0x400, %edx            # imm = 0x400
movq %r14, %rdi
xorl %esi, %esi
callq 0x8390
leaq -0x1e00(%rbp), %rsi
movq %r14, %rdi
callq 0x85c0
leaq 0x29ae7(%rip), %r12     # 0x8ff40
movq (%r12), %r15
testq %r15, %r15
jne 0x6647b
movl $0xc808, %edi           # imm = 0xC808
callq 0x8640
movq %rax, %r15
movq %rax, %rdi
callq 0x228d4
movq %r15, (%r12)
movl -0x38(%rbp), %r8d
movl -0x34(%rbp), %r9d
movl -0x30(%rbp), %eax
movl -0x2c(%rbp), %r10d
subq $0x8, %rsp
leaq 0x4160(%rip), %rcx      # 0x6a5f5
movq %r15, %rdi
movl $0x1, %esi
movq %rcx, %rdx
pushq %r14
pushq %r10
pushq %rax
callq 0x22baa
addq $0x20, %rsp
movq %r14, %rdi
callq 0x8290
cmpb $0x70, 0x9af(%rbx,%rax)
movl $0x4d, %eax
movl $0x47, %esi
cmovel %eax, %esi
movq %rbx, %rdi
callq 0x6651a
leaq -0x20b0(%rbp), %rdi
callq 0x2aa1a
addq $0x2088, %rsp           # imm = 0x2088
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq %r15, %rdi
callq 0x85d0
jmp 0x66505
jmp 0x66502
jmp 0x66502
movq %rax, %rbx
leaq -0x20b0(%rbp), %rdi
callq 0x2aa1a
movq %rbx, %rdi
callq 0x8b30
nop