// File: DoubleString[P]RtConverter/src/Rnxobs/RnxobsFile_sat.cpp
// Function: bamboo::RnxobsFile_sat::v_openRnx(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void RnxobsFile_sat::v_openRnx(string obscmd) {
	int curmjd,iy,im,id,ih,imi;
	double cursod,dsec;
	if (this->in.is_open())
		this->in.close();
	Deploy* dly = RtRinexStream::m_getCurConfigures();
	char obsFile[1024],key[256],name[256];
	curmjd = atoi(obscmd.substr(0,index_string(obscmd.c_str(),':')).c_str());
	cursod = atof(obscmd.substr(index_string(obscmd.c_str(),':') + 1).c_str());
	mjd2date(curmjd,cursod,&iy,&im,&id,&ih,&imi,&dsec);
	sprintf(obsFile,"%s%c",dly->obsdir, FILEPATHSEP);
	Patterns::s_getInstance()->m_getPatternName(true,"","",iy,im,id,ih,obsFile);
	strcpy(name,staname.c_str());
	sprintf(key, "STANAM=%s", toLower(name));
	Patterns::s_getInstance()->m_getPatternName(false, "rnxo", key, iy, im, id, ih,
			obsFile + strlen(obsFile));
	this->dir = string(obsFile);
	this->in.open(this->dir.c_str(), ios::in | ios::binary);
	if (!in) {
		cout << "***WARNING(RnxobsFile_sat):cant open file " << this->dir
				<< " to read!" << endl;
		return;
	}
	// Read Rnxobs Head
	this->m_readRnxHead();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x750, %rsp            # imm = 0x750
movq %rsi, -0x6c8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x6c0(%rbp)
addq $0xb820, %rdi           # imm = 0xB820
callq 0x9bd0
testb $0x1, %al
jne 0x3f157
jmp 0x3f16a
movq -0x6c0(%rbp), %rdi
addq $0xb820, %rdi           # imm = 0xB820
callq 0x9170
callq 0x42fa0
movq -0x6c8(%rbp), %rdi
movq %rax, -0x40(%rbp)
callq 0x92b0
movq %rax, %rdi
movl $0x3a, %esi
movl %esi, -0x71c(%rbp)
callq 0x340b0
movq -0x6c8(%rbp), %rsi
movslq %eax, %rcx
xorl %eax, %eax
movl %eax, -0x6ec(%rbp)
movl %eax, %edx
leaq -0x660(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x97a0
movq -0x728(%rbp), %rdi
callq 0x92b0
movq %rax, %rdi
callq 0x9b60
movq -0x728(%rbp), %rdi
movl %eax, -0x14(%rbp)
callq 0x9480
movq -0x6c8(%rbp), %rdi
callq 0x92b0
movl -0x71c(%rbp), %esi
movq %rax, %rdi
callq 0x340b0
movq -0x6c8(%rbp), %rsi
incl %eax
movslq %eax, %rdx
leaq -0x680(%rbp), %rdi
movq %rdi, -0x718(%rbp)
movq $-0x1, %rcx
callq 0x97a0
movq -0x718(%rbp), %rdi
callq 0x92b0
movq %rax, %rdi
callq 0x9940
movq -0x718(%rbp), %rdi
movsd %xmm0, -0x30(%rbp)
callq 0x9480
movl -0x14(%rbp), %edi
movsd -0x30(%rbp), %xmm0
movq %rsp, %rax
leaq -0x38(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x18(%rbp), %rsi
leaq -0x1c(%rbp), %rdx
leaq -0x20(%rbp), %rcx
leaq -0x24(%rbp), %r8
leaq -0x28(%rbp), %r9
callq 0x33420
movl -0x6ec(%rbp), %eax
movq -0x40(%rbp), %rdx
addq $0xb0, %rdx
leaq 0x7e50c(%rip), %rsi     # 0xbd790
movb %al, -0x701(%rbp)
leaq -0x440(%rbp), %rdi
movq %rdi, -0x6d8(%rbp)
movl $0x2f, %ecx
callq 0x9150
callq 0x42fb0
movq -0x6d8(%rbp), %rsi
movq %rax, %rdi
movl -0x18(%rbp), %r8d
movl -0x1c(%rbp), %r9d
movl -0x20(%rbp), %ecx
movl -0x24(%rbp), %edx
movq %rsp, %rax
movq %rsi, 0x10(%rax)
movl %edx, 0x8(%rax)
movl %ecx, (%rax)
leaq 0x7da35(%rip), %rcx     # 0xbcd07
movl $0x1, %esi
movq %rcx, %rdx
callq 0x3e680
movq -0x6c0(%rbp), %rdi
addq $0x5fb0, %rdi           # imm = 0x5FB0
callq 0x92b0
movq %rax, %rsi
leaq -0x640(%rbp), %rdi
movq %rdi, -0x710(%rbp)
callq 0x96f0
movq -0x710(%rbp), %rdi
callq 0x34220
movq %rax, %rdx
movb -0x701(%rbp), %al
leaq 0x7e471(%rip), %rsi     # 0xbd795
leaq -0x540(%rbp), %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x9150
callq 0x42fb0
movq -0x6d8(%rbp), %rdi
movq %rax, -0x6f8(%rbp)
movl -0x18(%rbp), %eax
movl %eax, -0x6e0(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x6dc(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x6fc(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x700(%rbp)
callq 0x92e0
movl -0x700(%rbp), %r10d
movl -0x6fc(%rbp), %edx
movq -0x6f8(%rbp), %rdi
movl -0x6ec(%rbp), %esi
movq -0x6e8(%rbp), %rcx
movl -0x6e0(%rbp), %r8d
movl -0x6dc(%rbp), %r9d
leaq -0x440(%rbp,%rax), %r11
movq %rsp, %rax
movq %r11, 0x10(%rax)
movl %r10d, 0x8(%rax)
movl %edx, (%rax)
leaq 0x7e1f6(%rip), %rdx     # 0xbd5b4
callq 0x3e680
leaq -0x6a1(%rbp), %rdi
movq %rdi, -0x6d0(%rbp)
callq 0x9d30
movq -0x6d8(%rbp), %rsi
movq -0x6d0(%rbp), %rdx
leaq -0x6a0(%rbp), %rdi
callq 0x9a30
jmp 0x3f3f2
movq -0x6c0(%rbp), %rdi
addq $0xba28, %rdi           # imm = 0xBA28
leaq -0x6a0(%rbp), %rsi
callq 0x9920
leaq -0x6a0(%rbp), %rdi
callq 0x9480
leaq -0x6a1(%rbp), %rdi
callq 0x97e0
movq -0x6c0(%rbp), %rdi
movq %rdi, %rax
addq $0xb820, %rax           # imm = 0xB820
movq %rax, -0x738(%rbp)
addq $0xba28, %rdi           # imm = 0xBA28
callq 0x92b0
movq %rax, -0x730(%rbp)
movl $0x8, %edi
movl $0x4, %esi
callq 0x43020
movq -0x738(%rbp), %rdi
movq -0x730(%rbp), %rsi
movl %eax, %edx
callq 0x94b0
movq -0x6c0(%rbp), %rax
movq %rax, %rdi
addq $0xb820, %rdi           # imm = 0xB820
movq 0xb820(%rax), %rax
addq -0x18(%rax), %rdi
callq 0x9320
testb $0x1, %al
jne 0x3f499
jmp 0x3f502
movq 0xb7b20(%rip), %rdi     # 0xf6fc0
leaq 0x7e2f8(%rip), %rsi     # 0xbd79f
callq 0x9760
movq -0x6c0(%rbp), %rsi
movq %rax, %rdi
addq $0xba28, %rsi           # imm = 0xBA28
callq 0x9690
movq %rax, %rdi
leaq 0x7e2fe(%rip), %rsi     # 0xbd7ca
callq 0x9760
movq %rax, %rdi
movq 0xb7ac5(%rip), %rsi     # 0xf6fa0
callq 0x97c0
jmp 0x3f50e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x6b0(%rbp)
movl %eax, -0x6b4(%rbp)
leaq -0x6a1(%rbp), %rdi
callq 0x97e0
jmp 0x3f517
movq -0x6c0(%rbp), %rdi
callq 0x3f530
addq $0x750, %rsp            # imm = 0x750
popq %rbp
retq
movq -0x6b0(%rbp), %rdi
callq 0x9d20
nopw %cs:(%rax,%rax)