// File: rurban[P]dgnlib/dgnhelp.cpp
// Function: DGNTypeToName
const char *DGNTypeToName( int nType )

{
    static char szNumericResult[16];

    switch( nType )
    {
      case DGNT_CELL_LIBRARY:
        return "Cell Library";
        
      case DGNT_CELL_HEADER:
        return "Cell Header";
        
      case DGNT_LINE:
        return "Line";
        
      case DGNT_LINE_STRING:
        return "Line String";

      case DGNT_POINT_STRING:
        return "Point String";

      case DGNT_GROUP_DATA:
        return "Group Data";

      case DGNT_SHAPE:
        return "Shape";
        
      case DGNT_TEXT_NODE:
        return "Text Node";

      case DGNT_DIGITIZER_SETUP:
        return "Digitizer Setup";
        
      case DGNT_TCB:
        return "TCB";
        
      case DGNT_LEVEL_SYMBOLOGY:
        return "Level Symbology";
        
      case DGNT_CURVE:
        return "Curve";
        
      case DGNT_COMPLEX_CHAIN_HEADER:
        return "Complex Chain Header";
        
      case DGNT_COMPLEX_SHAPE_HEADER:
        return "Complex Shape Header";
        
      case DGNT_ELLIPSE:
        return "Ellipse";
        
      case DGNT_ARC:
        return "Arc";
        
      case DGNT_TEXT:
        return "Text";

      case DGNT_BSPLINE_POLE:
        return "B-Spline Pole";

      case DGNT_BSPLINE_SURFACE_HEADER:
        return "B-Spline Surface Header";

      case DGNT_BSPLINE_SURFACE_BOUNDARY:
        return "B-Spline Surface Boundary";

      case DGNT_BSPLINE_KNOT:
        return "B-Spline Knot";

      case DGNT_BSPLINE_CURVE_HEADER:
        return "B-Spline Curve Header";

      case DGNT_BSPLINE_WEIGHT_FACTOR:
        return "B-Spline Weight Factor";

      case DGNT_APPLICATION_ELEM:
        return "Application Element";

      case DGNT_SHARED_CELL_DEFN:
        return "Shared Cell Definition";
        
      case DGNT_SHARED_CELL_ELEM:
        return "Shared Cell Element";
        
      case DGNT_TAG_VALUE:
        return "Tag Value";
        
      case DGNT_CONE:
        return "Cone";

      case DGNT_3DSURFACE_HEADER:
        return "3D Surface Header";

      case DGNT_3DSOLID_HEADER:
        return "3D Solid Header";

      default:
        sprintf( szNumericResult, "%d", nType );
        return szNumericResult;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0xc(%rbp)
movl -0xc(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x41, %eax
ja 0xc4cb
movq -0x18(%rbp), %rax
leaq 0xd4ae(%rip), %rcx      # 0x197a8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xde81(%rip), %rax      # 0x1a18b
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde7e(%rip), %rax      # 0x1a198
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde7a(%rip), %rax      # 0x1a1a4
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde6f(%rip), %rax      # 0x1a1a9
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde6b(%rip), %rax      # 0x1a1b5
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde68(%rip), %rax      # 0x1a1c2
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde63(%rip), %rax      # 0x1a1cd
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde59(%rip), %rax      # 0x1a1d3
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde53(%rip), %rax      # 0x1a1dd
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde53(%rip), %rax      # 0x1a1ed
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde47(%rip), %rax      # 0x1a1f1
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde47(%rip), %rax      # 0x1a201
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde3d(%rip), %rax      # 0x1a207
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde42(%rip), %rax      # 0x1a21c
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde47(%rip), %rax      # 0x1a231
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde3f(%rip), %rax      # 0x1a239
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde33(%rip), %rax      # 0x1a23d
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde28(%rip), %rax      # 0x1a242
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde26(%rip), %rax      # 0x1a250
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde2e(%rip), %rax      # 0x1a268
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde38(%rip), %rax      # 0x1a282
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde36(%rip), %rax      # 0x1a290
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde3c(%rip), %rax      # 0x1a2a6
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde46(%rip), %rax      # 0x1a2bd
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde4d(%rip), %rax      # 0x1a2d1
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde57(%rip), %rax      # 0x1a2e8
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde5e(%rip), %rax      # 0x1a2fc
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde5b(%rip), %rax      # 0x1a306
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde53(%rip), %rax      # 0x1a30b
movq %rax, -0x8(%rbp)
jmp 0xc4ee
leaq 0xde58(%rip), %rax      # 0x1a31d
movq %rax, -0x8(%rbp)
jmp 0xc4ee
movl -0xc(%rbp), %edx
leaq 0x26a5b(%rip), %rdi     # 0x32f30
leaq 0xdca6(%rip), %rsi      # 0x1a182
movb $0x0, %al
callq 0x20a0
leaq 0x26a46(%rip), %rax     # 0x32f30
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)