// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/match/rdj-strgraph.c
// Function: gt_strgraph_show_context
int gt_strgraph_show_context(GtStrgraph *strgraph, GtStrgraphFormat format,
    const char *indexname, const char *suffix, GtUword *readnums,
    GtUword nofreadnums, GtUword *otherreadnums,
    GtUword nofotherreadnums, GtUword maxdepth, bool extend,
    GtError *err)
{
  int had_err = 0;
  GtFile *outfp = NULL;
  GtStrgraphVnum i;

  gt_assert(strgraph != NULL);
  gt_assert(format == GT_STRGRAPH_DOT || format == GT_STRGRAPH_DOT_BI);

  outfp = gt_strgraph_get_file(indexname, suffix, true, false);
  gt_file_xprintf(outfp, format == GT_STRGRAPH_DOT ?
      GT_STRGRAPH_DOT_HEADER : GT_STRGRAPH_DOT_BC_HEADER);
  gt_assert(sizeof (GtStrgraphVnum) >= sizeof (GtUword));

  for (i = 0; i < GT_STRGRAPH_NOFVERTICES(strgraph); i++)
    GT_STRGRAPH_V_SET_MARK(strgraph, i, GT_STRGRAPH_V_VACANT);

  had_err = gt_strgraph_dot_show_context(strgraph, format, outfp, readnums,
      nofreadnums, maxdepth, extend, 1UL, err);
  if (!had_err && nofotherreadnums > 0)
    had_err = gt_strgraph_dot_show_context(strgraph, format, outfp,
        otherreadnums, nofotherreadnums, maxdepth, extend, 2UL, err);
  gt_file_xprintf(outfp, GT_STRGRAPH_DOT_FOOTER);
  gt_file_delete(outfp);
  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x1854ad
movl %esi, %ebp
cmpl $0x2, %esi
jae 0x1854db
movq %r9, %r13
movq %r8, %r15
movq %rdi, %r14
pushq $0x1
popq %rax
xorl %r12d, %r12d
movq %rdx, %rdi
movq %rcx, %rsi
movl %eax, %edx
xorl %ecx, %ecx
callq 0x1805c9
movq %rax, %rbx
testl %ebp, %ebp
leaq 0x1cad73(%rip), %rax    # 0x350154
leaq 0x1cad83(%rip), %rsi    # 0x35016b
cmoveq %rax, %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
cmpq 0x80(%r14), %r12
jae 0x185412
movq 0x58(%r14), %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x180026
incq %r12
jmp 0x1853f6
subq $0x8, %rsp
movzbl 0x60(%rsp), %r12d
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
movq %r15, %rcx
movq %r13, %r8
movq 0x58(%rsp), %r9
movq 0x68(%rsp), %r13
pushq %r13
pushq $0x1
pushq %r12
callq 0x185513
addq $0x20, %rsp
movl %eax, %r15d
testl %eax, %eax
setne %al
movq 0x48(%rsp), %r8
testq %r8, %r8
sete %cl
orb %al, %cl
jne 0x185482
subq $0x8, %rsp
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
movq 0x48(%rsp), %rcx
movq 0x58(%rsp), %r9
pushq %r13
pushq $0x2
pushq %r12
callq 0x185513
addq $0x20, %rsp
movl %eax, %r15d
leaq 0x1cce90(%rip), %rsi    # 0x352319
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq %rbx, %rdi
callq 0x8da06
movl %r15d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x2b2ab4(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x15fb55(%rip), %rsi    # 0x2e5013
leaq 0x1ca374(%rip), %rdx    # 0x34f839
leaq 0x1cac35(%rip), %rcx    # 0x350101
leaq 0x1ca2a2(%rip), %r8     # 0x34f775
movl $0x8a1, %r9d            # imm = 0x8A1
jmp 0x185507
movq 0x2b2a86(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x15fb27(%rip), %rsi    # 0x2e5013
leaq 0x1cac27(%rip), %rdx    # 0x35011a
leaq 0x1cac07(%rip), %rcx    # 0x350101
leaq 0x1ca274(%rip), %r8     # 0x34f775
movl $0x8a2, %r9d            # imm = 0x8A2
xorl %eax, %eax
callq 0x17a50
callq 0x17390