// File: /workspace/github_c_makefile_star2_O3/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 $0x28, %rsp
movq %rdi, %rbx
leaq -0x42(%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)
movw %ax, -0x3a(%rbp)
movzwl %ax, %esi
leaq 0x43d4(%rip), %rdi      # 0x9736
xorl %eax, %eax
callq 0x10b0
testw %r15w, %r15w
je 0x58a5
leaq -0x2e(%rbp), %r12
leaq -0x30(%rbp), %r15
leaq 0x40fc(%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 0x43a4(%rip), %rdi      # 0x974d
movl %r14d, %esi
xorl %eax, %eax
callq 0x10b0
cmpl $0x3f, %r14d
jle 0x53fd
addl $-0x40, %r14d
cmpl $0xb, %r14d
ja 0x5553
leaq 0x3056(%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 0x4368(%rip), %rdi      # 0x9760
jmp 0x554c
leal -0x10(%r14), %eax
cmpl $0x7, %eax
ja 0x5495
leaq 0x2ff3(%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 0x4325(%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 0x4330(%rip), %rdi      # 0x9793
jmp 0x554c
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x40c2(%rip), %rdi      # 0x9552
jmp 0x554c
testl %r14d, %r14d
je 0x53d7
cmpl $0x1, %r14d
je 0x53d7
jmp 0x5553
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x42a7(%rip), %rdi      # 0x977c
jmp 0x554c
movl $0x1, %esi
movl $0x1, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzbl -0x2a(%rbp), %esi
leaq 0x42ae(%rip), %rdi      # 0x97a6
jmp 0x554c
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x42a2(%rip), %rdi      # 0x97c4
jmp 0x554c
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %rbx, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x4291(%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 0x4282(%rip), %rdi      # 0x97fa
movl %r14d, %esi
xorl %eax, %eax
callq 0x10b0
testw %r14w, %r14w
leaq 0x4280(%rip), %r15      # 0x980d
leaq 0x428f(%rip), %r13      # 0x9823
movq %rbx, %r14
leaq -0x2c(%rbp), %rbx
je 0x55ea
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 0x559d
movl $0x1, %esi
movl $0x2, %edx
leaq -0x2a(%rbp), %rdi
movq %r14, %rcx
callq 0x1080
movzwl -0x2a(%rbp), %eax
rolw $0x8, %ax
movzwl %ax, %esi
leaq 0x4b59(%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
movzwl %r12w, %esi
leaq 0x41f9(%rip), %rdi      # 0x983e
xorl %eax, %eax
callq 0x10b0
testw %bx, %bx
leaq 0x4207(%rip), %r13      # 0x985d
leaq -0x30(%rbp), %r15
movq %r14, %rbx
je 0x56a6
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
movzwl %ax, %esi
movq %r13, %rdi
xorl %eax, %eax
callq 0x10b0
movq %rbx, %rdi
callq 0x58b4
decw %r14w
jne 0x566e
movl -0x40(%rbp), %eax
incl %eax
cmpw -0x3a(%rbp), %ax
leaq -0x2e(%rbp), %r12
leaq 0x3dc4(%rip), %r13      # 0x947e
jb 0x5384
jmp 0x58a5
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
movl %eax, -0x38(%rbp)
movzwl %ax, %esi
leaq 0x3fd8(%rip), %rdi      # 0x96cc
xorl %eax, %eax
callq 0x10b0
testw %r14w, %r14w
movq %r15, %r12
leaq -0x2c(%rbp), %r15
je 0x589c
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
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
movzwl %ax, %esi
leaq 0x3f64(%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
movzwl %ax, %esi
leaq 0x3e94(%rip), %rdi      # 0x9631
xorl %eax, %eax
callq 0x10b0
decw %r14w
jne 0x571d
jmp 0x589c
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
movl %eax, -0x38(%rbp)
movzwl %ax, %esi
leaq 0x3eea(%rip), %rdi      # 0x96cc
xorl %eax, %eax
callq 0x10b0
testw %r14w, %r14w
movq %r15, %r12
leaq -0x2c(%rbp), %r15
je 0x589c
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
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
movzwl %ax, %esi
leaq 0x3e76(%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
movzwl %ax, %esi
leaq 0x3da6(%rip), %rdi      # 0x9631
xorl %eax, %eax
callq 0x10b0
decw %r14w
jne 0x580b
leaq -0x2e(%rbp), %r12
jmp 0x5553
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq