// File: /workspace/github_c_makefile_star2_O3/CheneyThinker[P]jbyte/src/jbyte_cp.c
// Function: generator_constant_pool
void generator_constant_pool(FILE* pWriteFile) {
  PUT_U2(constant_pool_count, 0x001d)
  addConstantUtf8("Cheseny.java", pWriteFile);
  addConstantUtf8("test/Cheseny", pWriteFile);
  addConstantUtf8("java/lang/Object", pWriteFile);
  addConstantUtf8("<init>", pWriteFile);
  addConstantUtf8("()V", pWriteFile);
  addConstantUtf8("main", pWriteFile);
  addConstantUtf8("([Ljava/lang/String;)V", pWriteFile);
  addConstantUtf8("java/lang/System", pWriteFile);
  addConstantUtf8("out", pWriteFile);
  addConstantUtf8("Ljava/io/PrintStream;", pWriteFile);
  addConstantUtf8("java/io/PrintStream", pWriteFile);
  addConstantUtf8("println", pWriteFile);
  addConstantUtf8("(Ljava/lang/String;)V", pWriteFile);
  addConstantUtf8("Welcome Cheseny, I love you WangYi!", pWriteFile);
  addConstantUtf8("Code", pWriteFile);
  addConstantUtf8("LineNumberTable", pWriteFile);
  addConstantUtf8("SourceFile", pWriteFile);
  addConstantClass(0x0002, pWriteFile);
  addConstantClass(0x0003, pWriteFile);
  addConstantClass(0x0008, pWriteFile);
  addConstantClass(0x000b, pWriteFile);
  addConstantString(0x000e, pWriteFile);
  addConstantNameAndType(0x0004, 0x0005, pWriteFile);
  addConstantNameAndType(0x0009, 0x000a, pWriteFile);
  addConstantNameAndType(0x000c, 0x000d, pWriteFile);
  addConstantFieldref(0x0014, 0x0018, pWriteFile);
  addConstantMethodref(0x0013, 0x0017, pWriteFile);
  addConstantMethodref(0x0015, 0x0019, pWriteFile);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
leaq -0xa(%rbp), %rdi
movw $0x1d00, (%rdi)         # imm = 0x1D00
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1120
leaq 0x45a6(%rip), %rdi      # 0xa074
movq %rbx, %rsi
callq 0x5d00
leaq 0x45a4(%rip), %rdi      # 0xa081
movq %rbx, %rsi
callq 0x5d00
leaq 0x45a2(%rip), %rdi      # 0xa08e
movq %rbx, %rsi
callq 0x5d00
leaq 0x45a4(%rip), %rdi      # 0xa09f
movq %rbx, %rsi
callq 0x5d00
leaq 0x459c(%rip), %rdi      # 0xa0a6
movq %rbx, %rsi
callq 0x5d00
leaq 0x4591(%rip), %rdi      # 0xa0aa
movq %rbx, %rsi
callq 0x5d00
leaq 0x4587(%rip), %rdi      # 0xa0af
movq %rbx, %rsi
callq 0x5d00
leaq 0x458f(%rip), %rdi      # 0xa0c6
movq %rbx, %rsi
callq 0x5d00
leaq 0x4591(%rip), %rdi      # 0xa0d7
movq %rbx, %rsi
callq 0x5d00
leaq 0x4586(%rip), %rdi      # 0xa0db
movq %rbx, %rsi
callq 0x5d00
leaq 0x458d(%rip), %rdi      # 0xa0f1
movq %rbx, %rsi
callq 0x5d00
leaq 0x4592(%rip), %rdi      # 0xa105
movq %rbx, %rsi
callq 0x5d00
leaq 0x458b(%rip), %rdi      # 0xa10d
movq %rbx, %rsi
callq 0x5d00
leaq 0x4592(%rip), %rdi      # 0xa123
movq %rbx, %rsi
callq 0x5d00
leaq 0x292e(%rip), %rdi      # 0x84ce
movq %rbx, %rsi
callq 0x5d00
leaq 0x298e(%rip), %rdi      # 0x853d
movq %rbx, %rsi
callq 0x5d00
leaq 0x295f(%rip), %rdi      # 0x851d
movq %rbx, %rsi
callq 0x5d00
movl $0x7, %edi
movq %rbx, %rsi
callq 0x10c0
leaq -0xc(%rbp), %rdi
movw $0x200, (%rdi)          # imm = 0x200
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1120
movl $0x7, %edi
movq %rbx, %rsi
callq 0x10c0
leaq -0xe(%rbp), %rdi
movw $0x300, (%rdi)          # imm = 0x300
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1120
movl $0x7, %edi
movq %rbx, %rsi
callq 0x10c0
leaq -0x10(%rbp), %rdi
movw $0x800, (%rdi)          # imm = 0x800
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1120
movl $0x7, %edi
movq %rbx, %rsi
callq 0x10c0
leaq -0x12(%rbp), %rdi
movw $0xb00, (%rdi)          # imm = 0xB00
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1120
movl $0x8, %edi
movq %rbx, %rsi
callq 0x10c0
leaq -0x14(%rbp), %rdi
movw $0xe00, (%rdi)          # imm = 0xE00
movl $0x2, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x1120
movl $0x4, %edi
movl $0x5, %esi
movq %rbx, %rdx
callq 0x5dfc
movl $0x9, %edi
movl $0xa, %esi
movq %rbx, %rdx
callq 0x5dfc
movl $0xc, %edi
movl $0xd, %esi
movq %rbx, %rdx
callq 0x5dfc
movl $0x14, %edi
movl $0x18, %esi
movq %rbx, %rdx
callq 0x5e65
movl $0x13, %edi
movl $0x17, %esi
movq %rbx, %rdx
callq 0x5ece
movl $0x15, %edi
movl $0x19, %esi
movq %rbx, %rdx
addq $0x18, %rsp
popq %rbx
popq %rbp
jmp 0x5ece