// File: /workspace/github_c_makefile_star2_O1/mikeakohn[P]print_pe/build/../src/minidump.c
// Function: print_minidump_thread_list
void print_minidump_thread_list(FILE *in, uint32_t cpu_arch)
{
  uint32_t n;
  uint32_t num_threads = read_uint32(in);

  printf("  - num_threads: %d\n", num_threads);

  for (n = 0; n < num_threads; n++)
  {
    printf("  -- Thread %d --\n", n);

    printf("        thread_id: %u\n", read_uint32(in));
    printf("    suspend_count: %u\n", read_uint32(in));
    printf("   priority_class: %u\n", read_uint32(in));
    printf("         priority: %u\n", read_uint32(in));
    printf("              teb: %" PRIx64 "\n", read_uint64(in));
    printf("            stack:\n");
    print_minidump_memory_descriptor(in);
    printf("   thread_context:\n");
    print_minidump_thread(in, cpu_arch);
  }

  printf("\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %esi, 0x8(%rsp)
movq %rdi, %r14
callq 0x178e
movl %eax, %ebx
leaq 0x27d9(%rip), %rdi      # 0x440b
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movl %ebx, 0x4(%rsp)
testl %ebx, %ebx
je 0x26fb
leaq 0x33a0(%rip), %r15      # 0x4fee
xorl %esi, %esi
leaq 0x27c9(%rip), %rdi      # 0x4420
movl %esi, 0xc(%rsp)
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
leaq 0x27c2(%rip), %rdi      # 0x4433
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
leaq 0x27c1(%rip), %rdi      # 0x444a
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
leaq 0x27c0(%rip), %rdi      # 0x4461
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
leaq 0x27bf(%rip), %rdi      # 0x4478
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
leaq 0x27be(%rip), %rdi      # 0x448f
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
leaq 0x38ea(%rip), %rdi      # 0x55cc
callq 0x1040
movq %r14, %rdi
callq 0x16f4
leaq 0x28d4(%rip), %rdi      # 0x45ca
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
leaq 0x38eb(%rip), %rdi      # 0x55f2
callq 0x1040
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
leaq 0x2826(%rip), %r13      # 0x454b
movq %r13, %rdi
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
leaq 0x38a5(%rip), %rdi      # 0x55df
callq 0x1040
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %r12d
movq %r13, %rdi
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1090
movq %rax, 0x10(%rsp)
movl %r12d, %esi
movq %r14, %rdi
xorl %edx, %edx
callq 0x10b0
movq %r14, %rdi
callq 0x178e
leaq 0x2f24(%rip), %rdi      # 0x4caf
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
cmpl $0x0, 0x8(%rsp)
je 0x22df
xorl %r12d, %r12d
leaq 0x3260(%rip), %rdi      # 0x5013
movl %ebx, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %r14, %rdi
callq 0x16f4
movq %r14, %rdi
callq 0x16f4
movq %r14, %rdi
callq 0x16f4
movq %r14, %rdi
callq 0x16f4
movq %r14, %rdi
callq 0x16f4
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebp
movq %r14, %rdi
callq 0x17d0
movl %eax, %r13d
movq %r14, %rdi
callq 0x17d0
leaq 0x3212(%rip), %rdi      # 0x502c
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebp
movq %r14, %rdi
callq 0x17d0
leaq 0x3216(%rip), %rdi      # 0x5064
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x3223(%rip), %rdi      # 0x5098
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x321f(%rip), %rdi      # 0x50bb
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x321b(%rip), %rdi      # 0x50de
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x3217(%rip), %rdi      # 0x5101
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x3213(%rip), %rdi      # 0x5124
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x320f(%rip), %rdi      # 0x5147
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x320b(%rip), %rdi      # 0x516a
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x3207(%rip), %rdi      # 0x518d
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x3203(%rip), %rdi      # 0x51b0
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x31ff(%rip), %rdi      # 0x51d3
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x31fb(%rip), %rdi      # 0x51f6
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
leaq 0x3202(%rip), %rdi      # 0x5219
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebp
movq %r14, %rdi
callq 0x17f1
movl %eax, %r13d
movq %r14, %rdi
callq 0x17f1
leaq 0x31dd(%rip), %rdi      # 0x522c
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17d0
leaq 0x31fc(%rip), %rdi      # 0x526b
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x31ea(%rip), %rdi      # 0x527c
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
leaq 0x31f3(%rip), %rdi      # 0x52ab
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
leaq 0x2f13(%rip), %rbx      # 0x4fdd
movq %r14, %rdi
callq 0x16f4
movq %rbx, %rdi
movl %r12d, %esi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
testb $0x1, %r12b
je 0x20fa
movl $0xa, %edi
callq 0x1030
incl %r12d
cmpl $0x8, %r12d
jne 0x20ca
xorl %r12d, %r12d
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
movl %eax, %r13d
movq %r14, %rdi
callq 0x178e
movq %r15, %rdi
movl %r12d, %esi
movl %ebx, %edx
movl %ebp, %ecx
movl %r13d, %r8d
movl %eax, %r9d
xorl %eax, %eax
callq 0x1060
incl %r12d
cmpl $0x10, %r12d
jne 0x2106
xorl %r12d, %r12d
leaq 0x319d(%rip), %r15      # 0x52f4
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
movl %eax, %r13d
movq %r14, %rdi
callq 0x178e
leaq 0x314a(%rip), %rdi      # 0x52cf
movl %r12d, %esi
movl %ebx, %edx
movl %ebp, %ecx
movl %r13d, %r8d
movl %eax, %r9d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
movl %eax, %r13d
movq %r14, %rdi
callq 0x178e
movq %r15, %rdi
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
incl %r12d
cmpl $0x1a, %r12d
jne 0x2157
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x311e(%rip), %rdi      # 0x5319
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x311f(%rip), %rdi      # 0x5341
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x16f4
leaq 0x3120(%rip), %rdi      # 0x5369
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
leaq 0x312c(%rip), %rdi      # 0x5391
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
leaq 0x3138(%rip), %rdi      # 0x53b6
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
leaq 0x3144(%rip), %rdi      # 0x53db
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
leaq 0x3150(%rip), %rdi      # 0x5400
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
leaq 0x315c(%rip), %rdi      # 0x5425
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
leaq 0x2d14(%rip), %r15      # 0x4fee
jmp 0x26dc
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
xorl %r12d, %r12d
leaq 0x29cd(%rip), %rdi      # 0x4cc8
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
leaq 0x29c8(%rip), %rdi      # 0x4cf3
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
leaq 0x29cd(%rip), %rdi      # 0x4d1e
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
leaq 0x29ce(%rip), %rdi      # 0x4d43
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
leaq 0x29cf(%rip), %rdi      # 0x4d68
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebp
movq %r14, %rdi
callq 0x17d0
leaq 0x29c6(%rip), %rdi      # 0x4d8d
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebp
movq %r14, %rdi
callq 0x17d0
leaq 0x29c4(%rip), %rdi      # 0x4dbb
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
leaq 0x29e5(%rip), %r13      # 0x4df0
movq %r14, %rdi
callq 0x16f4
movq %rax, %rbx
movq %r14, %rdi
callq 0x17f1
movl %eax, %ebp
movq %r14, %rdi
callq 0x17f1
movq %r13, %rdi
movl %r12d, %esi
movq %rbx, %rdx
movl %ebp, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
testb $0x1, %r12b
je 0x244d
movl $0xa, %edi
callq 0x1030
incl %r12d
cmpl $0x8, %r12d
jne 0x240b
movq %r14, %rdi
callq 0x178e
xorl %r12d, %r12d
leaq 0x29a6(%rip), %rdi      # 0x4e0e
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
movl %eax, %r13d
movq %r14, %rdi
callq 0x178e
leaq 0x2981(%rip), %rdi      # 0x4e20
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
movl %eax, %r13d
movq %r14, %rdi
callq 0x178e
leaq 0x297a(%rip), %rdi      # 0x4e58
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
movl %eax, %r13d
movq %r14, %rdi
callq 0x178e
leaq 0x2973(%rip), %rdi      # 0x4e90
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
movl %eax, %r13d
movq %r14, %rdi
callq 0x178e
leaq 0x296c(%rip), %rdi      # 0x4ec8
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebp
movq %r14, %rdi
callq 0x17f1
movl %eax, %r13d
movq %r14, %rdi
callq 0x17f1
leaq 0x2965(%rip), %rdi      # 0x4f00
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
leaq 0x2978(%rip), %rdi      # 0x4f3d
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
leaq 0x2975(%rip), %rdi      # 0x4f5e
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x17d0
movl %eax, %ebp
movq %r14, %rdi
callq 0x17d0
leaq 0x296c(%rip), %rdi      # 0x4f83
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
leaq 0x297b(%rip), %rdi      # 0x4fb8
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
leaq 0x298e(%rip), %rbx      # 0x4fdd
movq %r14, %rdi
callq 0x16f4
movq %rbx, %rdi
movl %r12d, %esi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16f4
testb $0x1, %r12b
je 0x267f
movl $0xa, %edi
callq 0x1030
incl %r12d
cmpl $0x8, %r12d
jne 0x264f
xorl %r12d, %r12d
movq %r14, %rdi
callq 0x178e
movl %eax, %ebx
movq %r14, %rdi
callq 0x178e
movl %eax, %ebp
movq %r14, %rdi
callq 0x178e
movl %eax, %r13d
movq %r14, %rdi
callq 0x178e
movq %r15, %rdi
movl %r12d, %esi
movl %ebx, %edx
movl %ebp, %ecx
movl %r13d, %r8d
movl %eax, %r9d
xorl %eax, %eax
callq 0x1060
incl %r12d
cmpl $0x8, %r12d
jne 0x268b
movl $0xa, %edi
callq 0x1030
movq %r14, %rdi
movq 0x10(%rsp), %rsi
xorl %edx, %edx
callq 0x10b0
movl 0xc(%rsp), %esi
incl %esi
cmpl 0x4(%rsp), %esi
jne 0x1c50
movl $0xa, %edi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1030