// File: /workspace/github_cpp_makefile_star2_O3/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 0x1bf0d(%rip), %rsi     # 0x3567f
leaq 0x1bf10(%rip), %rdx     # 0x35689
leaq 0x40(%rsp), %r14
movq %r14, %rdi
callq 0xa91c
leaq 0x20(%rsp), %rdi
movq %rbx, 0x10(%rsp)
movq %rbx, %rsi
movq %r14, %rdx
callq 0x1023e
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x197b2
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x7390
leaq 0x1b880(%rip), %rsi     # 0x35039
leaq 0x20(%rsp), %rdi
callq 0x7100
testl %eax, %eax
je 0x1989e
movq 0x20(%rsp), %rdx
leaq 0x1b8c5(%rip), %rdi     # 0x3509c
leaq 0x1beac(%rip), %rsi     # 0x3568a
xorl %eax, %eax
callq 0x7060
movq 0x20(%rsp), %rdi
leaq 0x1d4d9(%rip), %rsi     # 0x36cca
callq 0x7440
testq %rax, %rax
je 0x198cb
movq %rax, %r14
leaq 0x60(%rsp), %rdi
movl $0x3d090, %esi          # imm = 0x3D090
movq %rax, %rdx
callq 0x7590
testq %rax, %rax
je 0x1989e
addq $0xb8, 0x10(%rsp)
xorl %ebx, %ebx
leaq 0x1bec6(%rip), %r15     # 0x356f5
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 0x19889
movl 0xc(%rsp), %ecx
cmpl $0x1, %eax
jne 0x1986e
movl %ecx, 0x8(%rsp)
movl %ecx, %eax
jmp 0x19872
movl 0x8(%rsp), %eax
movl %ecx, 0x18(%rsp)
movl %eax, 0x1c(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x21b4c
movq %r12, %rdi
movl $0x3d090, %esi          # imm = 0x3D090
movq %r14, %rdx
callq 0x7590
testq %rax, %rax
jne 0x1983e
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x198b9
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 0x1b7c5(%rip), %rdi     # 0x3509c
leaq 0x1bdd2(%rip), %rsi     # 0x356b0
xorl %eax, %eax
callq 0x7060
movl $0x8, %edi
callq 0x7180
leaq 0x1bdde(%rip), %rcx     # 0x356d4
movq %rcx, (%rax)
movq 0x2e638(%rip), %rsi     # 0x47f38
movq %rax, %rdi
xorl %edx, %edx
callq 0x7660
jmp 0x19916
movq %rax, %rbx
movq 0x40(%rsp), %rdi
jmp 0x19922
movq %rax, %rbx
leaq 0x30(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x19932
movq (%r15), %rsi
incq %rsi
callq 0x7390
movq %rbx, %rdi
callq 0x76a0