// File: /workspace/github_c_makefile_star2_O0/jondurbin[P]dre2/src/dre2_parse.c
// Function: print_dre2
void print_dre2( struct dre2 *graph )
{
  int i, j, k;
  int index, found;

  printf( "=======================\n" );
  printf( "|| Node || Neighbors ||\n" );
  printf( "=======================\n" );
  for ( i = 0; i < graph->count; i++ )
  {
    printf( "Node %d (%c): ", i, graph->v[i].c );
    for ( j = 0; j < graph->v[i].n_count; j++ )
      printf( "%d, ", graph->v[i].n[j] );
    printf( "\n" );

    if ( graph->v[i].c == DRE2_CHAR_CLASS )
    {
      for ( j = 0; j < RANGE; j++ )
      {
        if ( graph->v[i].possible[j] )
          printf( "x" );
        else
          printf( "." );
      }
      printf( "\n" );
    } else if ( graph->v[i].c < 0 )
    {
      if ( graph->v[i].c == DRE2_DOT )
      {
        for ( j = 0; j < RANGE; j++ )
          printf( "x" );
      } else
      {
        index = graph->v[i].c * -1 - 5;
        if ( index >= 0 && index <= 10 )
        {
          j = 0;
          for ( j = 0; j < RANGE; j++ )
          {
            k = 0;
            found = false;
            while ( dre2_predefined_classes[index][k] != -1 )
            {
              if ( dre2_predefined_classes[index][k] == j )
              {
                found = true;
                break;
              }
              k++;
            }
            if ( found )
              printf( "x" );
            else
              printf( "." );
          }
        }
      }
      printf ( "\n" );
    }
  }
  printf( "\n" );
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
leaq 0x76b8(%rip), %rdi      # 0x10498
movb $0x0, %al
callq 0x2130
leaq 0x76c3(%rip), %rdi      # 0x104b1
movb $0x0, %al
callq 0x2130
leaq 0x769c(%rip), %rdi      # 0x10498
movb $0x0, %al
callq 0x2130
movl $0x0, 0x1c(%rsp)
movl 0x1c(%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl 0x8(%rcx), %eax
jge 0x90be
movl 0x1c(%rsp), %esi
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq 0x1c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl (%rax), %edx
leaq 0x768c(%rip), %rdi      # 0x104ca
movb $0x0, %al
callq 0x2130
movl $0x0, 0x18(%rsp)
movl 0x18(%rsp), %eax
movq 0x20(%rsp), %rcx
movq (%rcx), %rcx
movslq 0x1c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rcx
cmpl 0x10(%rcx), %eax
jge 0x8ea5
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq 0x1c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movslq 0x18(%rsp), %rcx
movl (%rax,%rcx,4), %esi
leaq 0x7648(%rip), %rdi      # 0x104d9
movb $0x0, %al
callq 0x2130
movl 0x18(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x18(%rsp)
jmp 0x8e4d
leaq 0x7659(%rip), %rdi      # 0x10505
movb $0x0, %al
callq 0x2130
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq 0x1c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpl $-0x3, (%rax)
jne 0x8f41
movl $0x0, 0x18(%rsp)
cmpl $0x100, 0x18(%rsp)      # imm = 0x100
jge 0x8f2e
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq 0x1c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rax
movslq 0x18(%rsp), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0x8f11
leaq 0x75d6(%rip), %rdi      # 0x104de
movb $0x0, %al
callq 0x2130
jmp 0x8f1f
leaq 0x75c8(%rip), %rdi      # 0x104e0
movb $0x0, %al
callq 0x2130
jmp 0x8f21
movl 0x18(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x18(%rsp)
jmp 0x8ed4
leaq 0x75d0(%rip), %rdi      # 0x10505
movb $0x0, %al
callq 0x2130
jmp 0x90ac
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq 0x1c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpl $0x0, (%rax)
jge 0x90aa
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq 0x1c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpl $-0x10, (%rax)
jne 0x8fa9
movl $0x0, 0x18(%rsp)
cmpl $0x100, 0x18(%rsp)      # imm = 0x100
jge 0x8fa4
leaq 0x754e(%rip), %rdi      # 0x104de
movb $0x0, %al
callq 0x2130
movl 0x18(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x18(%rsp)
jmp 0x8f7f
jmp 0x909c
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq 0x1c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
imull $-0x1, (%rax), %eax
subl $0x5, %eax
movl %eax, 0x10(%rsp)
cmpl $0x0, 0x10(%rsp)
jl 0x909a
cmpl $0xa, 0x10(%rsp)
jg 0x909a
movl $0x0, 0x18(%rsp)
movl $0x0, 0x18(%rsp)
cmpl $0x100, 0x18(%rsp)      # imm = 0x100
jge 0x9098
movl $0x0, 0x14(%rsp)
movl $0x0, 0xc(%rsp)
movslq 0x10(%rsp), %rcx
movq 0x8fc1(%rip), %rax      # 0x11fd8
shlq $0xa, %rcx
addq %rcx, %rax
movslq 0x14(%rsp), %rcx
cmpl $-0x1, (%rax,%rcx,4)
je 0x9061
movslq 0x10(%rsp), %rcx
movq 0x8fa3(%rip), %rax      # 0x11fd8
shlq $0xa, %rcx
addq %rcx, %rax
movslq 0x14(%rsp), %rcx
movl (%rax,%rcx,4), %eax
cmpl 0x18(%rsp), %eax
jne 0x9054
movl $0x1, 0xc(%rsp)
jmp 0x9061
movl 0x14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0x900b
cmpl $0x0, 0xc(%rsp)
je 0x9078
leaq 0x746f(%rip), %rdi      # 0x104de
movb $0x0, %al
callq 0x2130
jmp 0x9086
leaq 0x7461(%rip), %rdi      # 0x104e0
movb $0x0, %al
callq 0x2130
jmp 0x9088
movl 0x18(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x18(%rsp)
jmp 0x8fed
jmp 0x909a
jmp 0x909c
leaq 0x7462(%rip), %rdi      # 0x10505
movb $0x0, %al
callq 0x2130
jmp 0x90ac
jmp 0x90ae
movl 0x1c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1c(%rsp)
jmp 0x8e0b
leaq 0x7440(%rip), %rdi      # 0x10505
movb $0x0, %al
callq 0x2130
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)