// File: /workspace/github_c_makefile_star2_O1/CheneyThinker[P]jbyte/src/jbyte_attribute.c
// Function: type_annotation
PRINTF_U2(num_annotations)
  if (num_annotations > 0) {
    for (u2 num_annotations_index = 0; num_annotations_index < num_annotations; num_annotations_index++) {
      PRINTF_U1(target_type)
      switch (target_type) {
        case 0x00://type_parameter_target
          {
            PRINTF_U1(type_parameter_index)
          }
          break;
        case 0x01://type_parameter_target
          {
            PRINTF_U1(type_parameter_index)
          }
          break;
        case 0x10://supertype_target
          {
            PRINTF_U2(supertype_index)
          }
          break;
        case 0x11://type_parameter_bound_target
          {
            PRINTF_U1(type_parameter_index)
            PRINTF_U1(bound_index)
          }
          break;
        case 0x12://type_parameter_bound_target
          {
            PRINTF_U1(type_parameter_index)
            PRINTF_U1(bound_index)
          }
          break;
        case 0x13://empty_target
          break;
        case 0x14://empty_target
          break;
        case 0x15://empty_target
          break;
        case 0x16://formal_parameter_target
          {
            PRINTF_U1(formal_parameter_index)
          }
          break;
        case 0x17://throws_target
          {
            PRINTF_U2(throws_type_index)
          }
          break;
        case 0x40://localvar_target
          {
            PRINTF_U2(table_length)
            for (u2 table_length_index = 0; table_length_index < table_length; table_length_index++) {
              PRINTF_U2(start_pc)
              PRINTF_U2(length)
              PRINTF_U2(index)
            }
          }
          break;
        case 0x41://localvar_target
          {
            PRINTF_U2(table_length)
            for (u2 table_length_index = 0; table_length_index < table_length; table_length_index++) {
              PRINTF_U2(start_pc)
              PRINTF_U2(length)
              PRINTF_U2(index)
            }
          }
          break;
        case 0x42://catch_target
          {
            PRINTF_U2(exception_table_index)
          }
          break;
        case 0x43://offset_target
          {
            PRINTF_U2(offset)
          }
          break;
        case 0x44://offset_target
          {
            PRINTF_U2(offset)
          }
          break;
        case 0x45://offset_target
          {
            PRINTF_U2(offset)
          }
          break;
        case 0x46://offset_target
          {
            PRINTF_U2(offset)
          }
          break;
        case 0x47://type_argument_target
          {
            PRINTF_U1(type_parameter_index)
          }
          break;
        case 0x48://type_argument_target
          {
            PRINTF_U1(type_parameter_index)
          }
          break;
        case 0x49://type_argument_target
          {
            PRINTF_U1(type_parameter_index)
          }
          break;
        case 0x4a://type_argument_target
          {
            PRINTF_U1(type_parameter_index)
          }
          break;
        case 0x4b://type_argument_target
          {
            PRINTF_U1(type_parameter_index)
          }
          break;
      }
      PRINTF_U1(path_length)
      for (u2 path_length_index = 0; path_length_index < path_length; path_length_index++) {
        PRINTF_U1(type_path_kind)
        PRINTF_U1(type_argument_index)
      }
      PRINTF_U2(type_index)
      PRINTF_U2(num_element_value_pairs)
      for (u2 num_element_value_pairs_index = 0; num_element_value_pairs_index < num_element_value_pairs; num_element_value_pairs_index++) {
        PRINTF_U2(element_name_index)
        element_value(pReadFile);
      }
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
leaq -0x3a(%rbp), %r14
movl $0x1, %esi
movl $0x2, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x1080
movzwl (%r14), %r15d
movl %r15d, %eax
rolw $0x8, %ax
movw %ax, (%r14)
movzwl %ax, %esi
leaq 0x4426(%rip), %rdi      # 0x9736
xorl %eax, %eax
callq 0x10b0
testw %r15w, %r15w
je 0x5890
leaq -0x2e(%rbp), %r12
leaq -0x30(%rbp), %r15
leaq 0x414e(%rip), %r13      # 0x947e
xorl %eax, %eax
movl %eax, -0x40(%rbp)
movl $0x1, %esi
movl $0x1, %edx
leaq -0x31(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzbl -0x31(%rbp), %r14d
leaq 0x43f6(%rip), %rdi      # 0x974d
movl %r14d, %esi
xorl %eax, %eax
callq 0x10b0
cmpl $0x3f, %r14d
jle 0x53ab
addl $-0x40, %r14d
cmpl $0xb, %r14d
ja 0x5511
leaq 0x30a8(%rip), %rcx      # 0x8424
movslq (%rcx,%r14,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x1, %esi
movl $0x1, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
leaq 0x43ba(%rip), %rdi      # 0x9760
jmp 0x550a
leal -0x10(%r14), %eax
cmpl $0x7, %eax
ja 0x5447
leaq 0x3045(%rip), %rcx      # 0x8404
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x1, %esi
movl $0x1, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
leaq 0x4377(%rip), %rdi      # 0x9760
xorl %eax, %eax
callq 0x10b0
movl $0x1, %esi
movl $0x1, %edx
leaq -0x2c(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzbl -0x2c(%rbp), %esi
leaq 0x4382(%rip), %rdi      # 0x9793
jmp 0x550a
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2a(%rbp)
movzwl %ax, %esi
leaq 0x4110(%rip), %rdi      # 0x9552
jmp 0x550a
testl %r14d, %r14d
je 0x5385
cmpl $0x1, %r14d
je 0x5385
jmp 0x5511
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2a(%rbp)
movzwl %ax, %esi
leaq 0x42f1(%rip), %rdi      # 0x977c
jmp 0x550a
movl $0x1, %esi
movl $0x1, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
leaq 0x42f8(%rip), %rdi      # 0x97a6
jmp 0x550a
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2a(%rbp)
movzwl %ax, %esi
leaq 0x42e8(%rip), %rdi      # 0x97c4
jmp 0x550a
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2a(%rbp)
movzwl %ax, %esi
leaq 0x42d3(%rip), %rdi      # 0x97dd
xorl %eax, %eax
callq 0x10b0
movl $0x1, %esi
movl $0x1, %edx
movq %r12, %rdi
movq %rbx, %rcx
callq 0x1080
movzbl -0x2e(%rbp), %r12d
movzwl %r12w, %r14d
leaq 0x42c4(%rip), %rdi      # 0x97fa
movl %r14d, %esi
xorl %eax, %eax
callq 0x10b0
testw %r14w, %r14w
leaq 0x42c2(%rip), %r15      # 0x980d
leaq 0x42d1(%rip), %r13      # 0x9823
movq %rbx, %r14
leaq -0x2c(%rbp), %rbx
je 0x55a8
movl $0x1, %esi
movl $0x1, %edx
leaq -0x2a(%rbp), %rdi
movq %r14, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
movq %r15, %rdi
xorl %eax, %eax
callq 0x10b0
movl $0x1, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x1080
movzbl -0x2c(%rbp), %esi
movq %r13, %rdi
xorl %eax, %eax
callq 0x10b0
decw %r12w
jne 0x555b
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %r14, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2a(%rbp)
movzwl %ax, %esi
leaq 0x4b97(%rip), %rdi      # 0xa16b
xorl %eax, %eax
callq 0x10b0
movl $0x1, %esi
movl $0x2, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x1080
movzwl -0x2c(%rbp), %ebx
movl %ebx, %r12d
rolw $0x8, %r12w
movw %r12w, -0x2c(%rbp)
movzwl %r12w, %esi
leaq 0x4232(%rip), %rdi      # 0x983e
xorl %eax, %eax
callq 0x10b0
testw %bx, %bx
leaq 0x4240(%rip), %r13      # 0x985d
leaq -0x30(%rbp), %r15
movq %r14, %rbx
je 0x5671
cmpw $0x2, %r12w
movl $0x1, %r14d
cmovael %r12d, %r14d
movl $0x1, %esi
movl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x30(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x30(%rbp)
movzwl %ax, %esi
movq %r13, %rdi
xorl %eax, %eax
callq 0x10b0
movq %rbx, %rdi
callq 0x589f
decw %r14w
jne 0x5635
movl -0x40(%rbp), %eax
incl %eax
cmpw -0x3a(%rbp), %ax
leaq -0x2e(%rbp), %r12
leaq 0x3df9(%rip), %r13      # 0x947e
jb 0x5332
jmp 0x5890
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %r14d
movl %r14d, %eax
rolw $0x8, %ax
movw %ax, -0x2a(%rbp)
movl %eax, -0x38(%rbp)
movzwl %ax, %esi
leaq 0x4009(%rip), %rdi      # 0x96cc
xorl %eax, %eax
callq 0x10b0
testw %r14w, %r14w
movq %r15, %r12
leaq -0x2c(%rbp), %r15
je 0x5887
movl -0x38(%rbp), %eax
cmpw $0x2, %ax
movl $0x1, %r14d
cmovael %eax, %r14d
movl $0x1, %esi
movl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2c(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2c(%rbp)
movzwl %ax, %esi
movq %r13, %rdi
xorl %eax, %eax
callq 0x10b0
movl $0x1, %esi
movl $0x2, %edx
movq %r12, %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x30(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x30(%rbp)
movzwl %ax, %esi
leaq 0x3f8d(%rip), %rdi      # 0x96d2
xorl %eax, %eax
callq 0x10b0
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2e(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2e(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2e(%rbp)
movzwl %ax, %esi
leaq 0x3eb9(%rip), %rdi      # 0x9631
xorl %eax, %eax
callq 0x10b0
decw %r14w
jne 0x56ec
jmp 0x5887
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %r14d
movl %r14d, %eax
rolw $0x8, %ax
movw %ax, -0x2a(%rbp)
movl %eax, -0x38(%rbp)
movzwl %ax, %esi
leaq 0x3f0b(%rip), %rdi      # 0x96cc
xorl %eax, %eax
callq 0x10b0
testw %r14w, %r14w
movq %r15, %r12
leaq -0x2c(%rbp), %r15
je 0x5887
movl -0x38(%rbp), %eax
cmpw $0x2, %ax
movl $0x1, %r14d
cmovael %eax, %r14d
movl $0x1, %esi
movl $0x2, %edx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2c(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2c(%rbp)
movzwl %ax, %esi
movq %r13, %rdi
xorl %eax, %eax
callq 0x10b0
movl $0x1, %esi
movl $0x2, %edx
movq %r12, %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x30(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x30(%rbp)
movzwl %ax, %esi
leaq 0x3e8f(%rip), %rdi      # 0x96d2
xorl %eax, %eax
callq 0x10b0
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2e(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2e(%rbp), %eax
rolw $0x8, %ax
movw %ax, -0x2e(%rbp)
movzwl %ax, %esi
leaq 0x3dbb(%rip), %rdi      # 0x9631
xorl %eax, %eax
callq 0x10b0
decw %r14w
jne 0x57ea
leaq -0x2e(%rbp), %r12
jmp 0x5511
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq