// File: /workspace/github_cpp_makefile_star2_O1/melop[P]admixem/config.cpp
// Function: SimulationConfigurations::fnParseSampleGenDef()
void SimulationConfigurations::fnParseSampleGenDef() {
	string sDefFile = this->GetConfig("samplegens");
	if (sDefFile == "") {
		return;
	}

	FILE *pDefFile;

	printf("%s : %s\n", "Start loading sampling range file ...", sDefFile.c_str());

	pDefFile = fopen(sDefFile.c_str(), "r");

	if (!pDefFile) {
		printf("%s : %s\n", "Cannot open sampling range file ...", sDefFile.c_str());
		throw "Cannot open sampling range file!";
	}

	//Go over each line:
	char szBuffer[MAXLINE];


	while(fgets(szBuffer, MAXLINE, pDefFile) != NULL) 
	{
		int nStartGen = 0;
		int nEndGen = 0;
		int nReadField = sscanf(szBuffer, "%d %d", &nStartGen, &nEndGen);
		if (nReadField <= 0 ) {
			continue;
		}

		if (nReadField == 1) {
			nEndGen = nStartGen;
		}

		this->_mvSampleGens.push_back( std::pair< int, int>( nStartGen ,  nEndGen ) );

	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3d0f8, %rsp          # imm = 0x3D0F8
movq %rdi, %rbx
leaq 0x50(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1cfcf(%rip), %rsi     # 0x3665f
leaq 0x1cfd2(%rip), %rdx     # 0x36669
leaq 0x40(%rsp), %r14
movq %r14, %rdi
callq 0xa886
leaq 0x20(%rsp), %rdi
movq %rbx, 0x10(%rsp)
movq %rbx, %rsi
movq %r14, %rdx
callq 0x1007e
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x196d0
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x7390
leaq 0x1c942(%rip), %rsi     # 0x36019
leaq 0x20(%rsp), %rdi
callq 0x7100
testl %eax, %eax
je 0x197bc
movq 0x20(%rsp), %rdx
leaq 0x1c987(%rip), %rdi     # 0x3607c
leaq 0x1cf6e(%rip), %rsi     # 0x3666a
xorl %eax, %eax
callq 0x7060
movq 0x20(%rsp), %rdi
leaq 0x1e5b3(%rip), %rsi     # 0x37cc2
callq 0x7440
testq %rax, %rax
je 0x197e9
movq %rax, %r14
leaq 0x60(%rsp), %rdi
movl $0x3d090, %esi          # imm = 0x3D090
movq %rax, %rdx
callq 0x7590
testq %rax, %rax
je 0x197bc
addq $0xb8, 0x10(%rsp)
xorl %ebx, %ebx
leaq 0x1cf88(%rip), %r15     # 0x366d5
leaq 0x60(%rsp), %r12
leaq 0xc(%rsp), %r13
leaq 0x8(%rsp), %rbp
movl %ebx, 0xc(%rsp)
movl %ebx, 0x8(%rsp)
movq %r12, %rdi
movq %r15, %rsi
movq %r13, %rdx
movq %rbp, %rcx
xorl %eax, %eax
callq 0x7360
testl %eax, %eax
jle 0x197a7
cmpl $0x1, %eax
jne 0x19788
movl 0xc(%rsp), %eax
movl %eax, 0x8(%rsp)
movl 0xc(%rsp), %eax
movl %eax, 0x18(%rsp)
movl 0x8(%rsp), %eax
movl %eax, 0x1c(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x21b40
movq %r12, %rdi
movl $0x3d090, %esi          # imm = 0x3D090
movq %r14, %rdx
callq 0x7590
testq %rax, %rax
jne 0x1975c
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x197d7
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x7390
addq $0x3d0f8, %rsp          # imm = 0x3D0F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x20(%rsp), %rdx
leaq 0x1c887(%rip), %rdi     # 0x3607c
leaq 0x1ce94(%rip), %rsi     # 0x36690
xorl %eax, %eax
callq 0x7060
movl $0x8, %edi
callq 0x7180
leaq 0x1cea0(%rip), %rcx     # 0x366b4
movq %rcx, (%rax)
movq 0x2f71a(%rip), %rsi     # 0x48f38
movq %rax, %rdi
xorl %edx, %edx
callq 0x7660
jmp 0x19834
movq %rax, %rbx
movq 0x40(%rsp), %rdi
jmp 0x19840
movq %rax, %rbx
leaq 0x30(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x19850
movq (%r15), %rsi
incq %rsi
callq 0x7390
movq %rbx, %rdi
callq 0x76a0