// File: /workspace/github_cpp_makefile_star2_O3/gpertea[P]gclib/htest.cpp
// Function: loadStrings(_IO_FILE*, GPVec<HStrData>&, GPVec<HStrData>&, int)
int loadStrings(FILE* f, GPVec<HStrData>& strgsuf, GPVec<HStrData>& strgs, int toLoad) {
  int num=0;
  GLineReader lr(f);
  char* line=NULL;
  int numcl=0;
  while ((line=lr.nextLine())!=NULL) {
	  int len=strlen(line);
	  if (len<3) continue;
	  if (line[0]=='>') {
		  numcl++;
		  if (toLoad && numcl>toLoad) {
			  break;
		  }
		  continue;
	  }
	  if (strcmp(line, "HCLR")==0) {
		  strgs.Add(new HStrData(NULL, 2));
		  strgsuf.Add(new HStrData(NULL, 2));
		  continue;
	  }
	  if (startsWith(line, "RM ")) {
	     strgsuf.Add(new HStrData(line+3,1) );
	     line[len-3]=0;
	     strgs.Add(new HStrData(line+3,1));
	     continue;
	  }
      strgsuf.Add(new HStrData(line));
      line[len-3]=0;
      strgs.Add(new HStrData(line));
	  num++;
  } //while line
  return num;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movl %ecx, 0x4(%rsp)
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
xorl %r12d, %r12d
movb %r12b, 0x10(%rsp)
leaq 0xac12(%rip), %rax      # 0x13cf0
movq %rax, 0x18(%rsp)
movb %r12b, 0x20(%rsp)
movabsq $0x40000000000, %rax    # imm = 0x40000000000
movq %rax, 0x30(%rsp)
movl $0x400, %edi            # imm = 0x400
callq 0x2330
movq %rax, 0x28(%rsp)
testq %rax, %rax
jne 0x9119
leaq 0x4f0e(%rip), %rdi      # 0xe020
xorl %eax, %eax
callq 0x286c
leaq 0x48(%rsp), %rax
movl %r12d, -0x10(%rax)
movb %r12b, -0xc(%rax)
movq %rbx, -0x8(%rax)
movq $0x0, (%rax)
movb %r12b, 0x8(%rax)
movq $0x0, 0x8(%rsp)
movl %r12d, 0xc(%rax)
movl $0x0, (%rsp)
cmpb $0x1, 0x50(%rsp)
jne 0x915c
movb $0x0, 0x50(%rsp)
movq 0x28(%rsp), %rbx
jmp 0x9173
movq 0x40(%rsp), %rsi
leaq 0x10(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x361c
movq %rax, %rbx
testq %rbx, %rbx
je 0x9338
movq %rbx, %rdi
callq 0x2140
movq %rax, %r13
cmpl $0x3, %r13d
jl 0x9149
cmpb $0x3e, (%rbx)
je 0x929a
movq %rbx, %rdi
leaq 0x52f0(%rip), %rsi      # 0xe490
callq 0x2350
testl %eax, %eax
je 0x9233
movq %rbx, %rdi
leaq 0x52de(%rip), %rsi      # 0xe495
callq 0x3a10
testb %al, %al
je 0x92bf
movl $0x30, %edi
callq 0x2240
movq %rax, %r12
leaq 0x3(%rbx), %rbp
movl $0x1, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movq %rbp, %rsi
movl $0x8, %edx
callq 0x4bec
movq %r15, %rdi
movq %r12, %rsi
callq 0xac9e
movl $0xfffffffd, %eax       # imm = 0xFFFFFFFD
addl %eax, %r13d
movb $0x0, (%rbx,%r13)
movl $0x30, %edi
callq 0x2240
movq %rax, %r13
movl $0x1, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movq %rbp, %rsi
movl $0x8, %edx
callq 0x4bec
movq %r14, %rdi
jmp 0x928d
movl $0x30, %edi
callq 0x2240
movq %rax, %r13
movl $0x2, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x4bec
movq %r14, %rdi
movq %r13, %rsi
callq 0xac9e
movl $0x30, %edi
callq 0x2240
movq %rax, %r13
movl $0x2, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x4bec
movq %r15, %rdi
movq %r13, %rsi
callq 0xac9e
jmp 0x9149
movl 0x4(%rsp), %ecx
testl %ecx, %ecx
setne %al
movq 0x8(%rsp), %rdx
cmpl %ecx, %edx
leal 0x1(%rdx), %ecx
setge %dl
movq %rcx, 0x8(%rsp)
testb %dl, %al
je 0x9149
jmp 0x9338
movl $0x30, %edi
callq 0x2240
movq %rax, %r12
movl $0x0, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movq %rbx, %rsi
movl $0x8, %edx
callq 0x4bec
movq %r15, %rdi
movq %r12, %rsi
callq 0xac9e
movl $0xfffffffd, %eax       # imm = 0xFFFFFFFD
addl %eax, %r13d
movb $0x0, (%rbx,%r13)
movl $0x30, %edi
callq 0x2240
movq %rax, %r12
movl $0x0, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movq %rbx, %rsi
movl $0x8, %edx
callq 0x4bec
movq %r14, %rdi
movq %r12, %rsi
callq 0xac9e
incl (%rsp)
jmp 0x9149
leaq 0x10(%rsp), %rdi
callq 0xacf2
movl (%rsp), %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x936b
jmp 0x936b
jmp 0x937f
jmp 0x935e
jmp 0x935e
movq %rax, %rbx
movl $0x30, %esi
movq %r13, %rdi
jmp 0x9376
movq %rax, %rbx
movl $0x30, %esi
movq %r12, %rdi
callq 0x2250
jmp 0x9382
jmp 0x937f
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xacf2
movq %rbx, %rdi
callq 0x2400