// File: /workspace/github_c_makefile_star2_O0/pali[P]bmfdec/bmfparse.c
// Function: print_classes
static void print_classes(FILE *fout, struct mof_class *classes, uint32_t count) {
  uint32_t i, j;
  for (i = 0; i < count; ++i) {
    fprintf(fout, "Class %u:\n", i);
    fprintf(fout, "  Name=%s\n", classes[i].name);
    fprintf(fout, "  Superclassname=%s\n", classes[i].superclassname);
    fprintf(fout, "  Classflags=%d\n", (int)classes[i].classflags);
    fprintf(fout, "  Namespace=%s\n", classes[i].namespace);
    print_qualifiers(fout, classes[i].qualifiers, classes[i].qualifiers_count, 2);
    print_variables(fout, classes[i].variables, classes[i].variables_count);
    for (j = 0; j < classes[i].methods_count; ++j) {
      fprintf(fout, "  Method %u:\n", j);
      fprintf(fout, "    Name=%s\n", classes[i].methods[j].name);
      print_qualifiers(fout, classes[i].methods[j].qualifiers, classes[i].methods[j].qualifiers_count, 4);
      fprintf(fout, "    Return value:\n");
      fprintf(fout, "      Type=");
      if (classes[i].methods[j].return_value.variable_type)
         print_variable_type(fout, &classes[i].methods[j].return_value);
      else
         fprintf(fout, "Void");
      fprintf(fout, "\n");
      print_parameters(fout, &classes[i].methods[j]);
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jae 0x2602
movq -0x8(%rbp), %rdi
movl -0x18(%rbp), %edx
leaq 0x66f5(%rip), %rsi      # 0x8a79
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rdx
leaq 0x6723(%rip), %rsi      # 0x8aca
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rdx
leaq 0x66b9(%rip), %rsi      # 0x8a84
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movl 0x18(%rax), %edx
leaq 0x66ab(%rip), %rsi      # 0x8a99
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdx
leaq 0x6698(%rip), %rsi      # 0x8aaa
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x20(%rax), %rsi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movl 0x1c(%rax), %edx
movl $0x2, %ecx
callq 0x6c10
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x30(%rax), %rsi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movl 0x28(%rax), %edx
callq 0x6f10
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
movl -0x18(%rbp), %edx
imulq $0x48, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x38(%rcx), %eax
jae 0x25f2
movq -0x8(%rbp), %rdi
movl -0x1c(%rbp), %edx
leaq 0x6615(%rip), %rsi      # 0x8aba
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x40(%rax), %rax
movl -0x1c(%rbp), %ecx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rdx
leaq 0x65f1(%rip), %rsi      # 0x8ac8
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x40(%rax), %rax
movl -0x1c(%rbp), %ecx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rsi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x40(%rax), %rax
movl -0x1c(%rbp), %ecx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %edx
movl $0x4, %ecx
callq 0x6c10
movq -0x8(%rbp), %rdi
leaq 0x65a0(%rip), %rsi      # 0x8ad5
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
leaq 0x65a1(%rip), %rsi      # 0x8ae8
movb $0x0, %al
callq 0x10e0
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x40(%rax), %rax
movl -0x1c(%rbp), %ecx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
cmpl $0x0, 0x48(%rax)
je 0x259b
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x40(%rax), %rsi
movl -0x1c(%rbp), %eax
imulq $0x60, %rax, %rax
addq %rax, %rsi
addq $0x30, %rsi
callq 0x6f80
jmp 0x25ad
movq -0x8(%rbp), %rdi
leaq 0x654e(%rip), %rsi      # 0x8af4
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
leaq 0x60e4(%rip), %rsi      # 0x869c
movb $0x0, %al
callq 0x10e0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl -0x18(%rbp), %ecx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq 0x40(%rax), %rsi
movl -0x1c(%rbp), %eax
imulq $0x60, %rax, %rax
addq %rax, %rsi
callq 0x7190
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x247d
jmp 0x25f4
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x236a
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)