// File: /workspace/github_c_makefile_star2_O2/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
pushq $0x1
popq %rsi
pushq $0x2
popq %rdx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x1080
movzwl (%r14), %r15d
movl %r15d, %eax
rolw $0x8, %ax
movw %ax, (%r14)
movw %ax, -0x34(%rbp)
movzwl %ax, %esi
leaq 0x373f(%rip), %rdi      # 0x8736
xorl %eax, %eax
callq 0x10b0
testw %r15w, %r15w
je 0x5432
pushq $0x1
popq %r15
pushq $0x2
popq %r14
leaq -0x2c(%rbp), %r12
xorl %eax, %eax
cmpw -0x34(%rbp), %ax
jae 0x5432
movl %eax, -0x38(%rbp)
leaq -0x31(%rbp), %rdi
movq %r15, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1080
movzbl -0x31(%rbp), %r13d
leaq 0x370c(%rip), %rdi      # 0x874d
movl %r13d, %esi
xorl %eax, %eax
callq 0x10b0
leal -0x40(%r13), %eax
cmpl $0xb, %eax
ja 0x5086
leaq 0x23c9(%rip), %rcx      # 0x7424
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
leaq 0x36df(%rip), %rdi      # 0x8760
jmp 0x51b4
leal -0x10(%r13), %eax
cmpl $0x7, %eax
ja 0x510d
leaq 0x236e(%rip), %rcx      # 0x7404
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
leaq 0x36a4(%rip), %rdi      # 0x8760
xorl %eax, %eax
callq 0x10b0
movq %r12, %rdi
movq %r15, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1080
movzbl -0x2c(%rbp), %esi
leaq 0x36b4(%rip), %rdi      # 0x8793
jmp 0x51b4
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x344a(%rip), %rdi      # 0x8552
jmp 0x51b4
cmpl $0x1, %r13d
je 0x5064
testl %r13d, %r13d
je 0x5064
jmp 0x51bb
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x3633(%rip), %rdi      # 0x877c
jmp 0x51b4
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x3655(%rip), %rdi      # 0x87c4
jmp 0x51b4
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
leaq 0x3618(%rip), %rdi      # 0x87a6
jmp 0x51b4
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x3629(%rip), %rdi      # 0x87dd
xorl %eax, %eax
callq 0x10b0
leaq -0x2e(%rbp), %rdi
movq %r15, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1080
movzbl -0x2e(%rbp), %r13d
movzwl %r13w, %esi
leaq 0x361d(%rip), %rdi      # 0x87fa
xorl %eax, %eax
callq 0x10b0
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
subw $0x1, %r13w
jb 0x522d
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
leaq 0x3605(%rip), %rdi      # 0x880d
xorl %eax, %eax
callq 0x10b0
movq %r12, %rdi
movq %r15, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x1080
movzbl -0x2c(%rbp), %esi
leaq 0x35f8(%rip), %rdi      # 0x8823
jmp 0x51dd
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x3f21(%rip), %rdi      # 0x916b
xorl %eax, %eax
callq 0x10b0
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2c(%rbp), %r13d
rolw $0x8, %r13w
movzwl %r13w, %esi
leaq 0x35c7(%rip), %rdi      # 0x883e
xorl %eax, %eax
callq 0x10b0
subw $0x1, %r13w
jb 0x52ba
leaq -0x30(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x30(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x35b4(%rip), %rdi      # 0x885d
xorl %eax, %eax
callq 0x10b0
movq %rbx, %rdi
callq 0x5441
jmp 0x527e
movl -0x38(%rbp), %eax
incl %eax
jmp 0x5016
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %r13d
rolw $0x8, %r13w
movzwl %r13w, %esi
leaq 0x33e1(%rip), %rdi      # 0x86cc
xorl %eax, %eax
callq 0x10b0
subw $0x1, %r13w
jb 0x51bb
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2c(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x315e(%rip), %rdi      # 0x847e
xorl %eax, %eax
callq 0x10b0
leaq -0x30(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x30(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x3387(%rip), %rdi      # 0x86d2
xorl %eax, %eax
callq 0x10b0
leaq -0x2e(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2e(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x32bb(%rip), %rdi      # 0x8631
jmp 0x52eb
leaq -0x2a(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %r13d
rolw $0x8, %r13w
movzwl %r13w, %esi
leaq 0x332a(%rip), %rdi      # 0x86cc
xorl %eax, %eax
callq 0x10b0
subw $0x1, %r13w
jb 0x51bb
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2c(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x30a7(%rip), %rdi      # 0x847e
xorl %eax, %eax
callq 0x10b0
leaq -0x30(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x30(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x32d0(%rip), %rdi      # 0x86d2
xorl %eax, %eax
callq 0x10b0
leaq -0x2e(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x1080
movzwl -0x2e(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x3204(%rip), %rdi      # 0x8631
jmp 0x53a2
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq