// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/xrf_abbr_parse_tree.c
// Function: gt_xrf_abbr_parse_tree_new
GtXRFAbbrParseTree* gt_xrf_abbr_parse_tree_new(const char *xrf_abbr_file_path,
                                               GtError *err)
{
  GtXRFAbbrParseTree *xrf_abbr_parse_tree;
  GtIO *xrf_abbr_file;
  gt_error_check(err);
  gt_assert(xrf_abbr_file_path);
  xrf_abbr_file = gt_io_new(xrf_abbr_file_path, "r");
  xrf_abbr_parse_tree = gt_malloc(sizeof *xrf_abbr_parse_tree);
  xrf_abbr_parse_tree->entries = gt_array_new(sizeof (GtXRFAbbrEntry*));
  if (parse_xrf_abbr_file(xrf_abbr_parse_tree, xrf_abbr_file, err)) {
    gt_xrf_abbr_parse_tree_delete(xrf_abbr_parse_tree);
    gt_io_delete(xrf_abbr_file);
    return NULL;
  }
  gt_io_delete(xrf_abbr_file);
  return xrf_abbr_parse_tree;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %rbx
movq %rdi, %r14
testq %rsi, %rsi
je 0x66739
movq %rbx, %rdi
callq 0xc103
testb %al, %al
jne 0x66ffb
testq %r14, %r14
je 0x66f99
leaq 0x716bc(%rip), %rsi     # 0xd7e05
movq %r14, %rdi
callq 0x8443c
movq %rax, %r14
leaq 0x77b64(%rip), %rsi     # 0xde2bf
pushq $0x8
popq %r15
movq %r15, %rdi
movl $0x184, %edx            # imm = 0x184
callq 0xccb0
movq %rax, %r12
movq %r15, %rdi
callq 0x4b380
movq %rax, (%r12)
testq %rbx, %rbx
je 0x66790
movq %rbx, %rdi
callq 0xc103
testb %al, %al
jne 0x6702c
movq %r12, 0x18(%rsp)
testq %r14, %r14
je 0x66fca
pushq $0x1
popq %rbp
movabsq $0x300002400, %r13      # imm = 0x300002400
leaq 0x77c22(%rip), %r12     # 0xde3d4
xorl %eax, %eax
xorl %r15d, %r15d
testl %eax, %eax
jne 0x6682f
movq %r14, %rdi
callq 0x846b1
cmpb $0x21, %al
ja 0x66832
movzbl %al, %eax
btq %rax, %r13
jae 0x66832
testq %rbx, %rbx
je 0x667e5
movq %rbx, %rdi
callq 0xc103
testb %al, %al
jne 0x66f07
movq %r12, %rdi
xorl %eax, %eax
callq 0xc5d2
movq %r14, %rdi
callq 0x846b1
movq %r14, %rdi
cmpb $0x20, %al
jne 0x66808
movq %rbx, %rsi
callq 0x671c5
jmp 0x6681c
callq 0x846b1
movq %r14, %rdi
cmpb $0x21, %al
jne 0x66823
movq %rbx, %rsi
callq 0x672b2
testl %eax, %eax
setne %al
jmp 0x6682a
callq 0x84717
xorl %eax, %eax
movzbl %al, %eax
jmp 0x667b7
movl %ebp, %r15d
movq 0x18(%rsp), %rbp
testl %r15d, %r15d
jne 0x66e7d
movq %r14, %rdi
callq 0x8463d
testb %al, %al
je 0x66c42
movq %r14, %rdi
callq 0x846b1
cmpb $0xa, %al
je 0x668af
movzbl %al, %eax
cmpl $0xd, %eax
je 0x6687e
cmpl $0x21, %eax
je 0x6689f
cmpl $0x20, %eax
jne 0x668bf
movq %r14, %rdi
movq %rbx, %rsi
callq 0x671c5
movl %eax, %r15d
jmp 0x66837
movq %r14, %rdi
callq 0x84717
movq %r14, %rdi
callq 0x846b1
xorl %r15d, %r15d
cmpb $0xa, %al
jne 0x66837
movq %r14, %rdi
callq 0x84717
jmp 0x66837
movq %r14, %rdi
movq %rbx, %rsi
callq 0x672b2
movl %eax, %r15d
jmp 0x66837
movq %r14, %rdi
callq 0x84717
xorl %r15d, %r15d
jmp 0x66837
testq %rbx, %rbx
je 0x668d4
movq %rbx, %rdi
callq 0xc103
testb %al, %al
jne 0x66f6b
callq 0x13d5c
movq %rax, %r12
callq 0x13d5c
movq %rax, %rbp
movq %r14, %rdi
callq 0x8476c
movq %rax, %r15
movq %r14, %rdi
callq 0x847f6
movq %r15, %rdi
movq %rax, %rsi
callq 0x66520
movq %rax, 0x30(%rsp)
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x66f3f
movq 0x18(%rsp), %rax
movq (%rax), %rdi
leaq 0x30(%rsp), %rsi
pushq $0x8
popq %rdx
callq 0x4b801
testq %r12, %r12
setne %al
testq %rbp, %rbp
setne %cl
andb %al, %cl
movb %cl, 0x8(%rsp)
xorl %r15d, %r15d
testl %r15d, %r15d
jne 0x66c2d
movq %r14, %rdi
xorl %esi, %esi
callq 0x6736e
testb %al, %al
jne 0x66966
movq %r14, %rdi
callq 0x846b1
cmpb $0x21, %al
jne 0x66c2d
movq %r12, %rdi
callq 0x1452f
movq %rbp, %rdi
callq 0x1452f
movq %r14, %rdi
callq 0x846b1
cmpb $0x21, %al
jne 0x66992
movq %r14, %rdi
movq %rbx, %rsi
callq 0x672b2
movl %eax, %r15d
jmp 0x6693f
testq %rbx, %rbx
je 0x669a7
movq %rbx, %rdi
callq 0xc103
testb %al, %al
jne 0x66ed9
leaq 0x6bd0f(%rip), %rdi     # 0xd26bd
xorl %eax, %eax
callq 0xc5d2
cmpb $0x0, 0x8(%rsp)
je 0x66eab
movq %r14, %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rbx, %rcx
callq 0x673b2
testl %eax, %eax
jne 0x66a4e
movq %r14, %rdi
xorl %esi, %esi
callq 0x6736e
testb %al, %al
jne 0x669c0
movq %r14, %rdi
pushq $0x3a
popq %rsi
movq %rbx, %rdx
callq 0x8483c
movl %eax, %r15d
testl %eax, %eax
jne 0x66a52
pushq $0x1
popq %r15
movq %r14, %rdi
callq 0x846b1
cmpb $0x20, %al
jne 0x66a11
movq %r14, %rdi
callq 0x84717
jmp 0x669fb
movq %r14, %rdi
movq %rbp, %rsi
movl %r15d, %edx
movq %rbx, %rcx
callq 0x673b2
testl %eax, %eax
jne 0x66a4e
movq %r14, %rdi
movl %r15d, %esi
callq 0x6736e
testb %al, %al
jne 0x66a11
movq %r14, %rdi
callq 0x846b1
movq %r14, %rdi
cmpb $0x21, %al
jne 0x66aa1
movq %rbx, %rsi
callq 0x672b2
jmp 0x66aac
pushq $-0x1
popq %r15
movq %r12, %rdi
callq 0x143d2
movq %rax, %r13
movq %rbp, %rdi
callq 0x143d2
leaq 0x77a86(%rip), %rdi     # 0xde4f2
movq %r13, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0xc5d2
movq %r12, %rdi
callq 0x143d2
movq %rax, %r13
movq %rbp, %rdi
callq 0x143d2
movq 0x20(%rsp), %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x665a0
jmp 0x6693f
pushq $0xa
popq %rsi
movq %rbx, %rdx
callq 0x8483c
movl %eax, %r15d
testl %eax, %eax
jne 0x66a52
movq %r12, %rdi
callq 0x143d2
movq %rax, %r13
movq %rax, %rdi
leaq 0x6c8cd(%rip), %rsi     # 0xd3395
callq 0xb880
xorl %r15d, %r15d
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x77ae3(%rip), %rsi     # 0xde5c5
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x6c880(%rip), %rsi     # 0xd3379
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x7fc13(%rip), %rsi     # 0xe6723
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x6c87b(%rip), %rsi     # 0xd33a2
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x77a96(%rip), %rsi     # 0xde5d4
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x6c7d0(%rip), %rsi     # 0xd3325
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x77a73(%rip), %rsi     # 0xde5df
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x77a68(%rip), %rsi     # 0xde5eb
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x77a5c(%rip), %rsi     # 0xde5f6
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x77a51(%rip), %rsi     # 0xde602
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x77a46(%rip), %rsi     # 0xde60e
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r13, %rdi
leaq 0x77a38(%rip), %rsi     # 0xde617
callq 0xb880
testl %eax, %eax
je 0x66a52
movq %r14, %rdi
callq 0x847ad
movq %rax, %r13
movq %r14, %rdi
callq 0x8476c
movq %rax, 0x28(%rsp)
movq %r12, %rdi
callq 0x143d2
xorl %r15d, %r15d
leaq 0x778b4(%rip), %rdi     # 0xde4ca
movq %r13, %rsi
movq 0x28(%rsp), %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x161b0
jmp 0x66a52
movq %rbp, %rdi
callq 0x152db
movq %r12, %rdi
callq 0x152db
jmp 0x66832
pushq $-0x1
popq %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x8483c
testl %eax, %eax
jne 0x66e7d
testq %rbx, %rbx
je 0x66c6d
movq %rbx, %rdi
callq 0xc103
testb %al, %al
jne 0x6705d
pushq $0x1
popq %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x55da4
movq %rax, %r12
xorl %r15d, %r15d
xorl %r13d, %r13d
movq %rax, 0x8(%rsp)
testl %r15d, %r15d
jne 0x66e75
movq %rbp, %rdi
callq 0x6717f
cmpq %rax, %r13
jae 0x66ea1
movq (%rbp), %rdi
movq %r13, %rsi
callq 0x4b48e
movq (%rax), %r12
movq %r12, %rdi
leaq 0x6c6db(%rip), %rsi     # 0xd3395
callq 0x66632
testq %rax, %rax
je 0x66d21
movq %rax, %r15
movq %r13, 0x20(%rsp)
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %rax, %rsi
callq 0x55ef6
testq %rax, %rax
je 0x66d5c
movq %r12, %rdi
callq 0x66688
movq %rax, %rbp
movq %r12, %rdi
callq 0x666cd
movq %rbx, %rdi
leaq 0x77988(%rip), %rsi     # 0xde686
movq %rbp, %rdx
movq 0x18(%rsp), %rbp
movq %rax, %rcx
movq %r15, %r8
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %r15
movq %r13, %r12
movq 0x20(%rsp), %r13
jmp 0x66d54
movq %r12, %rdi
callq 0x66688
movq %rax, %r15
movq %r12, %rdi
callq 0x666cd
movq %rbx, %rdi
leaq 0x7790d(%rip), %rsi     # 0xde64b
movq %r15, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %r15
movq 0x8(%rsp), %r12
incq %r13
jmp 0x66c87
movq %r13, %rdi
movq %r15, %rsi
movq %r15, %rdx
callq 0x55f31
movq %r12, %rdi
leaq 0x77851(%rip), %rsi     # 0xde5c5
callq 0x66632
testq %rax, %rax
je 0x66dcf
movq %rax, %r15
movq %rax, %rdi
callq 0xb260
cmpq $0xa, %rax
jb 0x66dcf
movq %r12, %rdi
callq 0x66688
movq %rax, %rbp
movq %r12, %rdi
callq 0x666cd
movq %rbx, %rdi
leaq 0x7791b(%rip), %rsi     # 0xde6c7
movq %rbp, %rdx
movq 0x18(%rsp), %rbp
movq %rax, %rcx
movq %r15, %r8
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %r15
movq 0x8(%rsp), %r12
jmp 0x66d1a
movq %r12, %rdi
leaq 0x6c54c(%rip), %rsi     # 0xd3325
callq 0x66632
testq %rax, %rax
movq 0x20(%rsp), %r13
je 0x66e53
movq %rax, %r15
callq 0xbff0
movq %rax, %rbp
leaq 0x17(%rsp), %rdi
movq %r15, %rsi
leaq 0x70cdd(%rip), %rdx     # 0xd7adf
movq %rax, %rcx
callq 0x554b5
testl %eax, %eax
je 0x66e5b
movq %r12, %rdi
callq 0x66688
movq %rax, 0x28(%rsp)
movq %r12, %rdi
callq 0x666cd
movq %rax, %r12
movq %rbp, %rdi
callq 0xc18d
movq %rbx, %rdi
leaq 0x778e1(%rip), %rsi     # 0xde719
movq 0x28(%rsp), %rdx
movq %r12, %rcx
movq %r15, %r8
movq %rax, %r9
xorl %eax, %eax
callq 0xc007
pushq $-0x1
popq %r15
jmp 0x66e5e
xorl %r15d, %r15d
jmp 0x66d4f
xorl %r15d, %r15d
movq 0x8(%rsp), %r12
movq %rbp, %rdi
callq 0xc291
movq 0x18(%rsp), %rbp
jmp 0x66d54
movq %r12, %rdi
callq 0x563a7
movq %rbp, %rdi
callq 0x6708a
xorl %ebp, %ebp
movq %r14, %rdi
callq 0x8450c
movq %rbp, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r12, %rdi
callq 0x563a7
jmp 0x66e87
movq 0xc7106(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x631aa(%rip), %rsi     # 0xca066
leaq 0x775e9(%rip), %rdx     # 0xde4ac
leaq 0x775c2(%rip), %rcx     # 0xde48c
leaq 0x773ee(%rip), %r8      # 0xde2bf
movl $0x113, %r9d            # imm = 0x113
jmp 0x66f33
movq 0xc70d8(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x6317c(%rip), %rsi     # 0xca066
leaq 0x63768(%rip), %rdx     # 0xca659
leaq 0x77594(%rip), %rcx     # 0xde48c
leaq 0x773c0(%rip), %r8      # 0xde2bf
movl $0x111, %r9d            # imm = 0x111
jmp 0x66f33
movq 0xc70aa(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x6314e(%rip), %rsi     # 0xca066
leaq 0x6373a(%rip), %rdx     # 0xca659
leaq 0x7748a(%rip), %rcx     # 0xde3b0
leaq 0x77392(%rip), %r8      # 0xde2bf
movl $0xe4, %r9d
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
movq 0xc7072(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x63116(%rip), %rsi     # 0xca066
leaq 0x774ee(%rip), %rdx     # 0xde445
leaq 0x7750d(%rip), %rcx     # 0xde46b
leaq 0x7735a(%rip), %r8      # 0xde2bf
pushq $0x4c
popq %r9
jmp 0x66f33
movq 0xc7046(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x630ea(%rip), %rsi     # 0xca066
leaq 0x636d6(%rip), %rdx     # 0xca659
leaq 0x7749e(%rip), %rcx     # 0xde428
leaq 0x7732e(%rip), %r8      # 0xde2bf
movl $0x138, %r9d            # imm = 0x138
jmp 0x66f33
movq 0xc7018(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x630bc(%rip), %rsi     # 0xca066
leaq 0x77331(%rip), %rdx     # 0xde2e2
leaq 0x772ec(%rip), %rcx     # 0xde2a4
leaq 0x77300(%rip), %r8      # 0xde2bf
movl $0x182, %r9d            # imm = 0x182
jmp 0x66f33
movq 0xc6fe7(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x6308b(%rip), %rsi     # 0xca066
leaq 0x773a9(%rip), %rdx     # 0xde38b
leaq 0x7738e(%rip), %rcx     # 0xde377
leaq 0x772cf(%rip), %r8      # 0xde2bf
movl $0x15b, %r9d            # imm = 0x15B
jmp 0x66f33
movq 0xc6fb6(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x6305a(%rip), %rsi     # 0xca066
leaq 0x63646(%rip), %rdx     # 0xca659
leaq 0x7728a(%rip), %rcx     # 0xde2a4
leaq 0x7729e(%rip), %r8      # 0xde2bf
movl $0x181, %r9d            # imm = 0x181
jmp 0x66f33
movq 0xc6f85(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x63029(%rip), %rsi     # 0xca066
leaq 0x63615(%rip), %rdx     # 0xca659
leaq 0x7732c(%rip), %rcx     # 0xde377
leaq 0x7726d(%rip), %r8      # 0xde2bf
movl $0x15a, %r9d            # imm = 0x15A
jmp 0x66f33
movq 0xc6f54(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x62ff8(%rip), %rsi     # 0xca066
leaq 0x635e4(%rip), %rdx     # 0xca659
leaq 0x775a7(%rip), %rcx     # 0xde623
leaq 0x7723c(%rip), %r8      # 0xde2bf
pushq $0x58
jmp 0x66f67