// File: /workspace/github_cpp_makefile_star2_O1/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 $0x68, %rsp
movl %ecx, %ebx
movq %rdx, 0x10(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdi, %r14
xorl %r12d, %r12d
movb %r12b, 0x20(%rsp)
leaq 0xa9d4(%rip), %rax      # 0x13cf0
movq %rax, 0x28(%rsp)
movb %r12b, 0x30(%rsp)
movq $0x0, 0x38(%rsp)
movabsq $0x40000000000, %rax    # imm = 0x40000000000
movq %rax, 0x40(%rsp)
movl $0x400, %edi            # imm = 0x400
callq 0x2330
movq %rax, 0x38(%rsp)
testq %rax, %rax
jne 0x9360
leaq 0x4cc7(%rip), %rdi      # 0xe020
xorl %eax, %eax
callq 0x289c
leaq 0x58(%rsp), %rax
movl %r12d, -0x10(%rax)
movb %r12b, -0xc(%rax)
movq %r14, -0x8(%rax)
movq $0x0, (%rax)
movb %r12b, 0x8(%rax)
movl %r12d, 0xc(%rax)
movl $0x0, 0xc(%rsp)
cmpb $0x1, 0x60(%rsp)
jne 0x939b
movb $0x0, 0x60(%rsp)
movq 0x38(%rsp), %rbp
jmp 0x93b2
movq 0x50(%rsp), %rsi
leaq 0x20(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3642
movq %rax, %rbp
testq %rbp, %rbp
je 0x957e
movq %rbp, %rdi
callq 0x2140
movq %rax, %r14
cmpl $0x3, %r14d
jl 0x9574
cmpb $0x3e, (%rbp)
jne 0x93f0
testl %ebx, %ebx
setne %cl
cmpl %ebx, %r12d
leal 0x1(%r12), %edx
setge %al
andb %cl, %al
movl %edx, %r12d
jmp 0x9576
movq %rbp, %rdi
leaq 0x4fc6(%rip), %rsi      # 0xe3c0
callq 0x2350
testl %eax, %eax
je 0x9492
movq %rbp, %rdi
leaq 0x4fb4(%rip), %rsi      # 0xe3c5
callq 0x3a31
testb %al, %al
je 0x94fa
movl $0x30, %edi
callq 0x2240
movq %rax, %r13
leaq 0x3(%rbp), %r15
movl $0x1, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movq %r15, %rsi
movl $0x8, %edx
callq 0x4cb6
movq 0x18(%rsp), %rdi
movq %r13, %rsi
callq 0xaee4
movl $0xfffffffd, %eax       # imm = 0xFFFFFFFD
addl %eax, %r14d
movb $0x0, (%rbp,%r14)
movl $0x30, %edi
callq 0x2240
movq %rax, %r14
movl $0x1, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movq %r15, %rsi
movl $0x8, %edx
callq 0x4cb6
movq 0x10(%rsp), %rdi
jmp 0x94f0
movl $0x30, %edi
callq 0x2240
movq %rax, %r14
movl $0x2, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x4cb6
movq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0xaee4
movl $0x30, %edi
callq 0x2240
movq %rax, %r14
movl $0x2, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
xorl %esi, %esi
movl $0x8, %edx
callq 0x4cb6
movq 0x18(%rsp), %rdi
movq %r14, %rsi
callq 0xaee4
jmp 0x9574
movl $0x30, %edi
callq 0x2240
movq %rax, %r15
movl $0x0, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movq %rbp, %rsi
movl $0x8, %edx
callq 0x4cb6
movq 0x18(%rsp), %rdi
movq %r15, %rsi
callq 0xaee4
movl $0xfffffffd, %eax       # imm = 0xFFFFFFFD
addl %eax, %r14d
movb $0x0, (%rbp,%r14)
movl $0x30, %edi
callq 0x2240
movq %rax, %r14
movl $0x0, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movq %rbp, %rsi
movl $0x8, %edx
callq 0x4cb6
movq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0xaee4
incl 0xc(%rsp)
xorl %eax, %eax
testb %al, %al
je 0x9388
leaq 0x20(%rsp), %rdi
callq 0xaf38
movl 0xc(%rsp), %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x95bb
movq %rax, %rbx
movl $0x30, %esi
movq %r13, %rdi
jmp 0x95c6
jmp 0x95bb
movq %rax, %rbx
movl $0x30, %esi
movq %r15, %rdi
jmp 0x95c6
jmp 0x95bb
movq %rax, %rbx
movl $0x30, %esi
movq %r14, %rdi
callq 0x2250
jmp 0x95d2
jmp 0x95cf
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xaf38
movq %rbx, %rdi
callq 0x2400