// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/obo_parse_tree.c
// Function: gt_obo_parse_tree_new
GtOBOParseTree* gt_obo_parse_tree_new(const char *obo_file_path, GtError *err)
{
  GtOBOParseTree *obo_parse_tree;
  GtIO *obo_file;
  gt_error_check(err);
  gt_assert(obo_file_path);
  obo_file = gt_io_new(obo_file_path, "r");
  obo_parse_tree = gt_malloc(sizeof *obo_parse_tree);
  obo_parse_tree->obo_header = obo_header_new();
  obo_parse_tree->stanzas = gt_array_new(sizeof (GtOBOStanza*));
  if (parse_obo_file(obo_parse_tree, obo_file, err)) {
    gt_obo_parse_tree_delete(obo_parse_tree);
    gt_io_delete(obo_file);
    return NULL;
  }
  gt_io_delete(obo_file);
  return obo_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 0x2de7d5
movq %rbx, %rdi
callq 0x89eb7
testb %al, %al
jne 0x2def86
movq %rbx, 0x8(%rsp)
testq %r14, %r14
je 0x2def24
leaq 0x1c643(%rip), %rsi     # 0x2fae2d
movq %r14, %rdi
callq 0x924fc
movq %rax, %r14
leaq 0xab939(%rip), %r15     # 0x38a135
pushq $0x10
popq %rdi
movq %r15, %rsi
movl $0x1a9, %edx            # imm = 0x1A9
callq 0x93160
movq %rax, %r13
pushq $0x8
popq %r12
pushq $0x2c
popq %rdx
movq %r12, %rdi
movq %r15, %rsi
callq 0x93160
movq %rax, %r15
movq %r12, %rdi
callq 0x5809c
movq %rax, (%r15)
movq %r15, (%r13)
movq %r12, %rdi
callq 0x5809c
movq %rax, 0x8(%r13)
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x2de859
movq %r15, %rdi
callq 0x89eb7
testb %al, %al
jne 0x2defb7
movq %r13, 0x10(%rsp)
testq %r14, %r14
je 0x2def55
xorl %ecx, %ecx
pushq $0x1
popq %rbx
movabsq $0x300002400, %r12      # imm = 0x300002400
testl %ecx, %ecx
jne 0x2dea7b
movq %r14, %rdi
callq 0x92771
cmpb $0x21, %al
ja 0x2de8cf
movzbl %al, %eax
btq %rax, %r12
jae 0x2de8cf
testq %r15, %r15
je 0x2de8a8
movq %r15, %rdi
callq 0x89eb7
testb %al, %al
jne 0x2dee30
movq %r14, %rdi
callq 0x92771
movq %r14, %rdi
movq %r15, %rsi
cmpb $0x20, %al
jne 0x2de8c1
callq 0x2df2ec
jmp 0x2de8c6
callq 0x2df3b2
xorl %ecx, %ecx
testl %eax, %eax
setne %cl
jmp 0x2de876
testq %r15, %r15
je 0x2de8e4
movq %r15, %rdi
callq 0x89eb7
testb %al, %al
jne 0x2defe8
callq 0xacb84
movq %rax, %rbp
callq 0xacb84
movq %rax, %r15
movq 0x10(%rsp), %r12
movq %rbp, 0x20(%rsp)
movq %rax, 0x18(%rsp)
movq %rbp, %rdi
callq 0xad357
movq %r15, %rdi
callq 0xad357
movq %r14, %rdi
movq %rbp, %rsi
movq %r15, %rdx
movq 0x8(%rsp), %rcx
callq 0x2df460
testl %eax, %eax
jne 0x2dea65
movq (%r12), %r13
movq %rbp, %rdi
callq 0xad1fa
movq %rax, %rbp
movq %r15, %rdi
callq 0xad1fa
testq %r13, %r13
je 0x2dee68
testq %rbp, %rbp
je 0x2dee68
movq %rax, %r15
testq %rax, %rax
je 0x2dee68
pushq $0x10
popq %rdi
leaq 0xab7c8(%rip), %rsi     # 0x38a135
pushq $0x45
popq %rdx
callq 0x93160
movq %rax, %r12
movq %rax, 0x28(%rsp)
movq %rbp, %rdi
callq 0x6c2be
movq %rax, (%r12)
movq %r15, %rdi
callq 0x6c2be
movq %rax, 0x8(%r12)
movq (%r13), %rdi
leaq 0x28(%rsp), %rsi
pushq $0x8
popq %rdx
callq 0x5851d
movq %r14, %rdi
xorl %esi, %esi
callq 0x2df5ce
testb %al, %al
movq 0x10(%rsp), %r12
movq 0x20(%rsp), %rbp
movq 0x18(%rsp), %r15
jne 0x2de903
movq (%r12), %r12
movq %r14, %rdi
callq 0x9286d
movq %rax, %rbx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2de9ee
callq 0x89eb7
testb %al, %al
jne 0x2df0a4
testq %r12, %r12
je 0x2df04a
testq %rbx, %rbx
je 0x2df04a
movq %rbx, 0x30(%rsp)
xorl %r15d, %r15d
leaq 0xab886(%rip), %rbp     # 0x38a295
movq (%r12), %rdi
callq 0x586a4
cmpq %rax, %r15
jae 0x2dea48
movq (%r12), %rdi
movq %r15, %rsi
callq 0x581aa
movq (%rax), %r13
movq (%r13), %rdi
movq %rbp, %rsi
callq 0x179e0
incq %r15
testl %eax, %eax
jne 0x2dea0f
xorl %ebx, %ebx
cmpq $0x0, 0x8(%r13)
jne 0x2dea67
leaq 0xab855(%rip), %rsi     # 0x38a2a4
movq 0x8(%rsp), %rdi
movq 0x30(%rsp), %rdx
xorl %eax, %eax
callq 0x89dbb
pushq $-0x1
popq %rbx
jmp 0x2dea67
movl %eax, %ebx
movq 0x18(%rsp), %rdi
callq 0xae103
movq 0x20(%rsp), %rdi
callq 0xae103
movq 0x10(%rsp), %r12
testl %ebx, %ebx
jne 0x2decf5
movq %r14, %rdi
callq 0x926fd
testb %al, %al
je 0x2decdf
movq %r14, %rdi
callq 0x92771
cmpb $0xa, %al
movq 0x8(%rsp), %rbx
je 0x2deaf9
movzbl %al, %eax
cmpl $0xd, %eax
je 0x2deaca
cmpl $0x21, %eax
je 0x2deaea
cmpl $0x20, %eax
jne 0x2deb08
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2df2ec
movl %eax, %ebx
jmp 0x2dea80
movq %r14, %rdi
callq 0x927d7
movq %r14, %rdi
callq 0x92771
xorl %ebx, %ebx
cmpb $0xa, %al
jne 0x2dea80
movq %r14, %rdi
callq 0x927d7
jmp 0x2dea80
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2df3b2
movl %eax, %ebx
jmp 0x2dea80
movq %r14, %rdi
callq 0x927d7
xorl %ebx, %ebx
jmp 0x2dea80
testq %rbx, %rbx
je 0x2deb1d
movq %rbx, %rdi
callq 0x89eb7
testb %al, %al
jne 0x2deec2
callq 0xacb84
movq %rax, %r13
callq 0xacb84
movq %rax, %rbp
callq 0xacb84
movq %rax, %r15
movq %r14, %rdi
callq 0x9282c
movq %rax, 0x18(%rsp)
testq %rbx, %rbx
je 0x2deb57
movq %rbx, %rdi
callq 0x89eb7
testb %al, %al
jne 0x2deef3
movq %r15, 0x20(%rsp)
testq %r13, %r13
je 0x2dee94
movq %r14, %rdi
pushq $0x5b
popq %rsi
movq 0x8(%rsp), %r15
movq %r15, %rdx
callq 0x928fc
testl %eax, %eax
je 0x2deb9d
movl %eax, %ebx
movq 0x20(%rsp), %rdi
callq 0xae103
movq %rbp, %rdi
callq 0xae103
movq %r13, %rdi
callq 0xae103
jmp 0x2dea80
movq %r14, %rdi
movq %r13, %rsi
xorl %edx, %edx
movq %r15, %rcx
callq 0x2df61a
testl %eax, %eax
jne 0x2decd0
movq %r14, %rdi
xorl %esi, %esi
callq 0x2df5ce
testb %al, %al
jne 0x2deb9d
movq %r14, %rdi
pushq $0x5d
popq %rsi
movq %r15, %rdx
callq 0x928fc
testl %eax, %eax
jne 0x2deb7c
movq %r14, %rdi
pushq $0xa
popq %rsi
movq %r15, %rdx
callq 0x928fc
testl %eax, %eax
jne 0x2deb7c
movq %r13, %rdi
callq 0xad1fa
movq %rax, %r15
movq %r14, %rdi
callq 0x928b6
movq %r15, %rdi
movq 0x18(%rsp), %rsi
movq %rax, %rdx
callq 0x2df878
movq %rax, 0x28(%rsp)
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x2df077
movq 0x8(%r12), %rdi
leaq 0x28(%rsp), %rsi
pushq $0x8
popq %rdx
callq 0x5851d
xorl %ebx, %ebx
testl %ebx, %ebx
jne 0x2deb7e
movq %r14, %rdi
xorl %esi, %esi
callq 0x2df5ce
testb %al, %al
jne 0x2dec57
movq %r14, %rdi
callq 0x92771
cmpb $0x21, %al
jne 0x2decd8
movq %rbp, %r15
movq %rbp, %rdi
callq 0xad357
movq 0x20(%rsp), %r12
movq %r12, %rdi
callq 0xad357
movq %r14, %rdi
callq 0x92771
movq %r14, %rdi
cmpb $0x21, %al
jne 0x2dec91
movq 0x8(%rsp), %rsi
callq 0x2df3b2
movl %eax, %ebx
movq 0x10(%rsp), %r12
jmp 0x2dec31
movq %r15, %rsi
movq %r12, %rdx
movq 0x8(%rsp), %rcx
callq 0x2df460
movl %eax, %ebx
movq %r15, %rdi
callq 0xad1fa
movq %rax, %r15
movq %r12, %rdi
callq 0xad1fa
movq 0x18(%rsp), %rdi
movq %r15, %rsi
movq 0x10(%rsp), %r12
movq %rax, %rdx
callq 0x2df92f
jmp 0x2dec31
pushq $-0x1
popq %rbx
jmp 0x2deb7e
xorl %ebx, %ebx
jmp 0x2deb7e
pushq $-0x1
popq %rbx
movq %r14, %rdi
movl %ebx, %esi
movq 0x8(%rsp), %rdx
callq 0x928fc
testl %eax, %eax
je 0x2ded1a
movq %r12, %rdi
callq 0x2df0d1
xorl %r12d, %r12d
movq %r14, %rdi
callq 0x925cc
movq %r12, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2ded31
callq 0x89eb7
testb %al, %al
jne 0x2df019
xorl %eax, %eax
leaq 0xa06af(%rip), %r15     # 0x37f3e9
xorl %r13d, %r13d
testl %eax, %eax
jne 0x2decf5
movq %r12, %rdi
callq 0x2df2a5
cmpq %rax, %r13
jae 0x2ded00
movq 0x8(%r12), %rdi
movq %r13, %rsi
callq 0x581aa
movq (%rax), %rbp
movq %r12, %rdi
movq %r13, %rsi
callq 0x2df1b1
movq %rax, %rdi
movq %r15, %rsi
callq 0x179e0
testl %eax, %eax
je 0x2dedf3
movq %r12, %rdi
movq %r13, %rsi
callq 0x2df1b1
movq %rax, %rdi
leaq 0xab5c7(%rip), %rsi     # 0x38a354
callq 0x179e0
testl %eax, %eax
je 0x2dedf3
movq %r12, %rdi
movq %r13, %rsi
callq 0x2df1b1
movq %rax, %rdi
leaq 0xab5b1(%rip), %rsi     # 0x38a35c
callq 0x179e0
movl %eax, %ecx
xorl %eax, %eax
testl %ecx, %ecx
jne 0x2dee23
movq %rbp, %rdi
leaq 0xa0843(%rip), %rsi     # 0x37f605
movq 0x8(%rsp), %rdx
callq 0x2df786
movl %eax, %ecx
movl %ebx, %eax
testl %ecx, %ecx
jne 0x2dee23
movq %rbp, %rdi
leaq 0x43d8d(%rip), %rsi     # 0x322b6b
movq 0x8(%rsp), %rdx
callq 0x2df786
movl %eax, %ecx
leaq 0xab574(%rip), %rsi     # 0x38a365
jmp 0x2dee10
movq %rbp, %rdi
leaq 0xa0808(%rip), %rsi     # 0x37f605
movq 0x8(%rsp), %rdx
callq 0x2df786
movl %eax, %ecx
leaq 0x43d5b(%rip), %rsi     # 0x322b6b
movl %ebx, %eax
testl %ecx, %ecx
jne 0x2dee23
movq %rbp, %rdi
movq 0x8(%rsp), %rdx
callq 0x2df786
incq %r13
movq 0x10(%rsp), %r12
jmp 0x2ded3d
movq 0x159131(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x61d2(%rip), %rsi      # 0x2e5013
leaq 0x6377(%rip), %rdx      # 0x2e51bf
leaq 0x5e1f5(%rip), %rcx     # 0x33d044
leaq 0xab2df(%rip), %r8      # 0x38a135
movl $0xf2, %r9d
xorl %eax, %eax
callq 0x17a50
callq 0x17390
movq 0x1590f9(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x619a(%rip), %rsi      # 0x2e5013
leaq 0xab3bc(%rip), %rdx     # 0x38a23c
leaq 0xab3d0(%rip), %rcx     # 0x38a257
leaq 0xab2a7(%rip), %r8      # 0x38a135
pushq $0x44
popq %r9
jmp 0x2dee5c
movq 0x1590cd(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x616e(%rip), %rsi      # 0x2e5013
leaq 0xab43a(%rip), %rdx     # 0x38a2e6
leaq 0xab5cc(%rip), %rcx     # 0x38a47f
leaq 0xab27b(%rip), %r8      # 0x38a135
movl $0x14a, %r9d            # imm = 0x14A
jmp 0x2dee5c
movq 0x15909f(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x6140(%rip), %rsi      # 0x2e5013
leaq 0x62e5(%rip), %rdx      # 0x2e51bf
leaq 0xab449(%rip), %rcx     # 0x38a32a
leaq 0xab24d(%rip), %r8      # 0x38a135
movl $0x15d, %r9d            # imm = 0x15D
jmp 0x2dee5c
movq 0x15906e(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x610f(%rip), %rsi      # 0x2e5013
leaq 0x62b4(%rip), %rdx      # 0x2e51bf
leaq 0xab56d(%rip), %rcx     # 0x38a47f
leaq 0xab21c(%rip), %r8      # 0x38a135
movl $0x149, %r9d            # imm = 0x149
jmp 0x2dee5c
movq 0x15903d(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x60de(%rip), %rsi      # 0x2e5013
leaq 0xa040c(%rip), %rdx     # 0x37f348
leaq 0xab1dc(%rip), %rcx     # 0x38a11f
leaq 0xab1eb(%rip), %r8      # 0x38a135
movl $0x1a7, %r9d            # imm = 0x1A7
jmp 0x2dee5c
movq 0x15900c(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x60ad(%rip), %rsi      # 0x2e5013
leaq 0xab287(%rip), %rdx     # 0x38a1f4
leaq 0xab271(%rip), %rcx     # 0x38a1e5
leaq 0xab1ba(%rip), %r8      # 0x38a135
movl $0x181, %r9d            # imm = 0x181
jmp 0x2dee5c
movq 0x158fdb(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x607c(%rip), %rsi      # 0x2e5013
leaq 0x6221(%rip), %rdx      # 0x2e51bf
leaq 0xab17a(%rip), %rcx     # 0x38a11f
leaq 0xab189(%rip), %r8      # 0x38a135
movl $0x1a6, %r9d            # imm = 0x1A6
jmp 0x2dee5c
movq 0x158faa(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x604b(%rip), %rsi      # 0x2e5013
leaq 0x61f0(%rip), %rdx      # 0x2e51bf
leaq 0xab20f(%rip), %rcx     # 0x38a1e5
leaq 0xab158(%rip), %r8      # 0x38a135
movl $0x180, %r9d            # imm = 0x180
jmp 0x2dee5c
movq 0x158f79(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x601a(%rip), %rsi      # 0x2e5013
leaq 0x61bf(%rip), %rdx      # 0x2e51bf
leaq 0x69fb3(%rip), %rcx     # 0x348fba
leaq 0xab127(%rip), %r8      # 0x38a135
movl $0x130, %r9d            # imm = 0x130
jmp 0x2dee5c
movq 0x158f48(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x5fe9(%rip), %rsi      # 0x2e5013
leaq 0x618e(%rip), %rdx      # 0x2e51bf
leaq 0xab2f9(%rip), %rcx     # 0x38a331
leaq 0xab0f6(%rip), %r8      # 0x38a135
movl $0x87, %r9d
jmp 0x2dee5c
movq 0x158f17(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x5fb8(%rip), %rsi      # 0x2e5013
leaq 0xab218(%rip), %rdx     # 0x38a27a
leaq 0xab1fd(%rip), %rcx     # 0x38a266
leaq 0xab0c5(%rip), %r8      # 0x38a135
pushq $0x5c
jmp 0x2dee90
movq 0x158eea(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x5f8b(%rip), %rsi      # 0x2e5013
leaq 0xab268(%rip), %rdx     # 0x38a2f7
leaq 0xab27e(%rip), %rcx     # 0x38a314
leaq 0xab098(%rip), %r8      # 0x38a135
pushq $0x6e
jmp 0x2dee90
movq 0x158ebd(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x5f5e(%rip), %rsi      # 0x2e5013
leaq 0x6103(%rip), %rdx      # 0x2e51bf
leaq 0xab1a3(%rip), %rcx     # 0x38a266
leaq 0xab06b(%rip), %r8      # 0x38a135
pushq $0x5b
jmp 0x2dee90