// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/match/rdj-strgraph.c
// Function: gt_strgraph_traverse_from_vertex
static inline void gt_strgraph_traverse_from_vertex(GtStrgraph *strgraph,
    GtStrgraphVnum i, void(*process_start) (GtStrgraphVnum, void*),
    void(*process_edge) (GtStrgraphVnum, GtStrgraphLength, void*), void *data)
{
  GtStrgraphVEdgenum j;
  gt_assert(GT_STRGRAPH_V_OUTDEG(strgraph, i) > 0);
  for (j = 0; j < GT_STRGRAPH_V_NOFEDGES(strgraph, i); j++)
  {
    if (GT_STRGRAPH_EDGE_IS_REDUCED(strgraph, i, j))
      continue;
    if (GT_STRGRAPH_V_MARK(strgraph, GT_STRGRAPH_EDGE_DEST(strgraph, i, j))
        == GT_STRGRAPH_V_ELIMINATED)
      continue;
    if (process_start != NULL)
      process_start(i, data);
    gt_strgraph_traverse_simple_path(strgraph, i, j, process_edge, data);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %r8, 0x18(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x70(%rdi), %rax
testq %rax, %rax
je 0x1e3fc3
movq %rcx, %r14
movq 0x8(%rsp), %rcx
cmpq %rcx, 0x8(%rax)
jbe 0x1e3fc3
movq %rdx, %rbp
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3fc3
movq %rdi, %r13
movq (%rax), %rdi
movq %rdx, %rsi
imulq 0x8(%rsp), %rsi
callq 0x2fcc2c
testq %rax, %rax
je 0x1e3fc8
movq 0x60(%r13), %rax
testq %rax, %rax
je 0x1e3f50
movq 0x8(%rsp), %rcx
leaq 0x1(%rcx), %r15
xorl %r12d, %r12d
movq %r14, 0x20(%rsp)
movq %rbp, 0x28(%rsp)
movq %r15, 0x30(%rsp)
cmpq %r15, 0x8(%rax)
jbe 0x1e3f50
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f50
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r15, %rsi
callq 0x2fcc2c
movq %rax, %rbx
movq 0x60(%r13), %rax
testq %rax, %rax
je 0x1e3f91
movq 0x8(%rsp), %rcx
cmpq %rcx, 0x8(%rax)
jbe 0x1e3f91
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f91
movq (%rax), %rdi
movq %rdx, %rsi
imulq 0x8(%rsp), %rsi
callq 0x2fcc2c
subq %rax, %rbx
cmpq %rbx, %r12
jae 0x1e3f55
movq 0x60(%r13), %rax
testq %rax, %rax
je 0x1e3f96
movq 0x8(%rsp), %rcx
cmpq %rcx, 0x8(%rax)
jbe 0x1e3f96
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f96
movq 0x88(%r13), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq 0x8(%rsp), %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1e3f9b
addq %r12, %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1e3f9b
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1e3f9b
movq %r12, 0x10(%rsp)
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %rbx
movq 0x90(%r13), %rdi
callq 0x2f9d41
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
notl %edx
addl %edx, %edx
movslq %edx, %rax
andq %rbx, %rax
shrq %rax
cmpq 0x90(%r13), %rax
je 0x1e3f36
movq 0x60(%r13), %rax
testq %rax, %rax
je 0x1e3fa0
movq 0x8(%rsp), %rcx
cmpq %rcx, 0x8(%rax)
jbe 0x1e3fa0
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3fa0
movq 0x58(%r13), %r12
movq 0x88(%r13), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq 0x8(%rsp), %rsi
callq 0x2fcc2c
testq %rbx, %rbx
je 0x1e3faa
addq 0x10(%rsp), %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1e3faa
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1e3faa
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x80(%r13), %rdi
callq 0x2f9d41
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebx
notl %ebx
movq 0x90(%r13), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %ebx
movslq %ebx, %rbx
andq %r15, %rbx
movq 0x90(%r13), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shrq %cl, %rbx
testq %r12, %r12
je 0x1e3fa5
cmpq %rbx, 0x8(%r12)
jbe 0x1e3fa5
movl 0x10(%r12), %edx
cmpq $0x41, %rdx
jae 0x1e3fa5
movq (%r12), %rdi
imulq %rdx, %rbx
movq %rbx, %rsi
callq 0x2fcc2c
cmpl $0x2, %eax
je 0x1e3f36
testq %rbp, %rbp
je 0x1e3af5
movq 0x8(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq *%rbp
movq 0x60(%r13), %rax
testq %rax, %rax
je 0x1e3faf
movq 0x8(%rsp), %rcx
cmpq %rcx, 0x8(%rax)
jbe 0x1e3faf
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3faf
movq 0x88(%r13), %rbx
movq (%rax), %rdi
movq %rdx, %rsi
imulq 0x8(%rsp), %rsi
callq 0x2fcc2c
testq %rbx, %rbx
movq 0x10(%rsp), %rcx
je 0x1e3fb4
addq %rcx, %rax
cmpq %rax, 0x8(%rbx)
jbe 0x1e3fb4
movl 0x10(%rbx), %edx
cmpq $0x41, %rdx
jae 0x1e3fb4
movq (%rbx), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %rbp
movq 0x80(%r13), %rdi
callq 0x2f9d41
movl %eax, %r15d
movq 0x90(%r13), %rdi
callq 0x2f9d41
movl %eax, %ebx
movq 0x90(%r13), %rdi
callq 0x2f9d41
movq 0x70(%r13), %rsi
testq %rsi, %rsi
je 0x1e3f64
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %r15d, %ecx
shll %cl, %edx
notl %edx
incb %bl
movl %ebx, %ecx
shll %cl, %edx
movslq %edx, %rcx
andq %rcx, %rbp
incb %al
movl %eax, %ecx
shrq %cl, %rbp
movq 0x10(%rsp), %r15
movq 0x8(%rsp), %r12
cmpq %rbp, 0x8(%rsi)
jbe 0x1e3f64
movl 0x10(%rsi), %edx
cmpq $0x41, %rdx
jae 0x1e3f64
movq %rbp, %rbx
movq (%rsi), %rdi
movq %rdx, %rsi
imulq %rbp, %rsi
callq 0x2fcc2c
cmpq $0x1, %rax
jne 0x1e3e86
movq 0x70(%r13), %rax
testq %rax, %rax
je 0x1e3f69
movl %ebx, %ebp
andl $0x1, %ebp
negq %rbp
orq $0x1, %rbp
addq %rbx, %rbp
cmpq %rbp, 0x8(%rax)
jbe 0x1e3f69
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f69
movq (%rax), %rdi
movq %rdx, %rsi
imulq %rbp, %rsi
callq 0x2fcc2c
cmpq 0x8(%rsp), %rbx
je 0x1e3e86
cmpq $0x1, %rax
jne 0x1e3e86
movq 0x58(%r13), %rax
testq %rax, %rax
je 0x1e3f6e
cmpq %rbx, 0x8(%rax)
jbe 0x1e3f6e
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f6e
movq (%rax), %rdi
movq %rdx, %rsi
imulq %rbx, %rsi
callq 0x2fcc2c
cmpl $0x2, %eax
je 0x1e3e86
testq %r14, %r14
je 0x1e3d40
movq 0x60(%r13), %rax
testq %rax, %rax
je 0x1e3f87
cmpq %r12, 0x8(%rax)
jbe 0x1e3f87
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f87
movq 0x88(%r13), %r14
movq (%rax), %rdi
imulq %rdx, %r12
movq %r12, %rsi
callq 0x2fcc2c
testq %r14, %r14
je 0x1e3f8c
addq %r15, %rax
cmpq %rax, 0x8(%r14)
jbe 0x1e3f8c
movl 0x10(%r14), %edx
cmpq $0x41, %rdx
jae 0x1e3f8c
movq (%r14), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x90(%r13), %rdi
callq 0x2f9d41
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
notl %edx
addl %edx, %edx
movslq %edx, %rsi
andq %r15, %rsi
shrq %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
movq 0x20(%rsp), %r14
callq *%r14
movq 0x58(%r13), %rax
testq %rax, %rax
je 0x1e3f73
cmpq %rbx, 0x8(%rax)
jbe 0x1e3f73
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f73
movq (%rax), %rdi
movq %rdx, %rsi
imulq %rbx, %rsi
movl $0x2, %ecx
callq 0x2fcd13
movq 0x58(%r13), %rax
testq %rax, %rax
je 0x1e3f7d
cmpq %rbp, 0x8(%rax)
jbe 0x1e3f7d
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f7d
movq (%rax), %rdi
imulq %rdx, %rbp
movl $0x2, %ecx
movq %rbp, %rsi
callq 0x2fcd13
movq %r13, %rdi
movq %rbx, %rsi
callq 0x1dcfaa
movq %rax, %r15
movq 0x60(%r13), %rax
testq %rax, %rax
je 0x1e3f78
cmpq %rbx, 0x8(%rax)
jbe 0x1e3f78
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3f78
movq 0x88(%r13), %r12
movq (%rax), %rdi
movq %rdx, %rsi
imulq %rbx, %rsi
callq 0x2fcc2c
testq %r12, %r12
je 0x1e3f82
addq %r15, %rax
cmpq %rax, 0x8(%r12)
jbe 0x1e3f82
movl 0x10(%r12), %edx
cmpq $0x41, %rdx
jae 0x1e3f82
movq (%r12), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x80(%r13), %rdi
callq 0x2f9d41
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebp
notl %ebp
movq 0x90(%r13), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %ebp
movslq %ebp, %rbp
andq %r12, %rbp
movq 0x90(%r13), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shrq %cl, %rbp
movq 0x70(%r13), %rsi
movq %rbx, %r12
testq %rsi, %rsi
jne 0x1e3bcf
jmp 0x1e3f64
testq %r14, %r14
movq 0x28(%rsp), %rbp
je 0x1e3f36
movq 0x60(%r13), %rax
testq %rax, %rax
je 0x1e3fbe
cmpq %r12, 0x8(%rax)
jbe 0x1e3fbe
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1e3fbe
movq 0x88(%r13), %r14
movq (%rax), %rdi
imulq %rdx, %r12
movq %r12, %rsi
callq 0x2fcc2c
testq %r14, %r14
je 0x1e3fb9
addq %r15, %rax
cmpq %rax, 0x8(%r14)
jbe 0x1e3fb9
movl 0x10(%r14), %edx
cmpq $0x41, %rdx
jae 0x1e3fb9
movq (%r14), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x90(%r13), %rdi
callq 0x2f9d41
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
notl %edx
addl %edx, %edx
movslq %edx, %rsi
andq %r15, %rsi
shrq %rsi
movq %rbx, %rdi
movq 0x18(%rsp), %rdx
movq 0x20(%rsp), %r14
callq *%r14
movq 0x10(%rsp), %r12
incq %r12
movq 0x60(%r13), %rax
testq %rax, %rax
movq 0x30(%rsp), %r15
jne 0x1e38d3
callq 0x7461b
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x7441a
callq 0x743e1
callq 0x74336
callq 0x742fd
callq 0x7428b
callq 0x742c4
callq 0x74252
callq 0x74219
callq 0x741e0
callq 0x745e2
callq 0x745a9
callq 0x74570
callq 0x74537
callq 0x744c5
callq 0x744fe
callq 0x7448c
callq 0x74453
callq 0x7436f
callq 0x743a8
callq 0x7468d
callq 0x74654