// File: /workspace/github_c_makefile_star2_O0/negge[P]xlink/src/xlink.c
// Function: xlink_module_dump_symbols
void xlink_module_dump_symbols(xlink_module *mod) {
  int i;
  if (mod->npublics > 0) {
    printf("Public names:\n");
    for (i = 1; i <= mod->npublics; i++) {
      xlink_public *pub;
      char buf[256];
      pub = xlink_module_get_public(mod, i);
      sprintf(buf, "'%s'", pub->name);
      printf("%2i : %16s %c group %8s, segment %8s, offset 0x%04x, type %i\n",
       i, buf, pub->is_local ? 'L' : ' ',
       pub->group ? xlink_group_get_name(pub->group) : ":0",
       pub->segment ? xlink_segment_get_name(pub->segment) : ":0",
       pub->offset, pub->type_idx);
    }
  }
  if (mod->nexterns > 0) {
    printf("External names:\n");
    for (i = 1; i <= mod->nexterns; i++) {
      xlink_extern *ext;
      char buf[256];
      ext = xlink_module_get_extern(mod, i);
      sprintf(buf, "'%s'", ext->name);
      printf("%2i : %16s %c type %i\n", i, buf, ext->is_local ? 'L' : ' ',
       ext->type_idx);
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x270, %rsp            # imm = 0x270
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x150(%rax)
jle 0x5488
leaq 0x98df(%rip), %rdi      # 0xec16
movb $0x0, %al
callq 0x20a0
movl $0x1, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x150(%rcx), %eax
jg 0x5486
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x3700
movq %rax, -0x18(%rbp)
leaq -0x120(%rbp), %rdi
movq -0x18(%rbp), %rdx
addq $0x24, %rdx
leaq 0x9e4b(%rip), %rsi      # 0xf1c9
movb $0x0, %al
callq 0x21b0
movl -0xc(%rbp), %eax
movl %eax, -0x244(%rbp)
leaq -0x120(%rbp), %rax
movq %rax, -0x240(%rbp)
movq -0x18(%rbp), %rax
movl 0x12c(%rax), %edx
movl $0x20, %eax
movl $0x4c, %ecx
cmpl $0x0, %edx
cmovnel %ecx, %eax
movl %eax, -0x234(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x53dd
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x2a50
movq %rax, -0x250(%rbp)
jmp 0x53ed
leaq 0x987f(%rip), %rax      # 0xec63
movq %rax, -0x250(%rbp)
jmp 0x53ed
movq -0x250(%rbp), %rax
movq %rax, -0x258(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x541c
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x2760
movq %rax, -0x260(%rbp)
jmp 0x542c
leaq 0x9840(%rip), %rax      # 0xec63
movq %rax, -0x260(%rbp)
jmp 0x542c
movq -0x258(%rbp), %r8
movl -0x234(%rbp), %ecx
movq -0x240(%rbp), %rdx
movl -0x244(%rbp), %esi
movq -0x260(%rbp), %r9
movq -0x18(%rbp), %rax
movl 0x124(%rax), %r10d
movq -0x18(%rbp), %rax
movl 0x128(%rax), %eax
leaq 0x97bc(%rip), %rdi      # 0xec25
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x0, %al
callq 0x20a0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x5345
jmp 0x5488
movq -0x8(%rbp), %rax
cmpl $0x0, 0x160(%rax)
jle 0x5547
leaq 0x97c6(%rip), %rdi      # 0xec66
movb $0x0, %al
callq 0x20a0
movl $0x1, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x160(%rcx), %eax
jg 0x5545
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x39c0
movq %rax, -0x128(%rbp)
leaq -0x230(%rbp), %rdi
movq -0x128(%rbp), %rdx
addq $0x10, %rdx
leaq 0x9cdc(%rip), %rsi      # 0xf1c9
movb $0x0, %al
callq 0x21b0
movl -0xc(%rbp), %esi
leaq -0x230(%rbp), %rdx
movq -0x128(%rbp), %rax
movl 0x114(%rax), %edi
movl $0x20, %ecx
movl $0x4c, %eax
cmpl $0x0, %edi
cmovnel %eax, %ecx
movq -0x128(%rbp), %rax
movl 0x110(%rax), %r8d
leaq 0x9747(%rip), %rdi      # 0xec77
movb $0x0, %al
callq 0x20a0
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x54ae
jmp 0x5547
addq $0x270, %rsp            # imm = 0x270
popq %rbp
retq