// File: /workspace/github_c_makefile_star2_O3/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 0x1782
movl %eax, %ebx
leaq 0x27e5(%rip), %rdi      # 0x440b
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movl %ebx, 0x4(%rsp)
testl %ebx, %ebx
je 0x26ef
leaq 0x33ac(%rip), %r15      # 0x4fee
xorl %esi, %esi
leaq 0x27d5(%rip), %rdi      # 0x4420
movl %esi, 0xc(%rsp)
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
leaq 0x27ce(%rip), %rdi      # 0x4433
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
leaq 0x27cd(%rip), %rdi      # 0x444a
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
leaq 0x27cc(%rip), %rdi      # 0x4461
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
leaq 0x27cb(%rip), %rdi      # 0x4478
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
leaq 0x27ca(%rip), %rdi      # 0x448f
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
leaq 0x38f6(%rip), %rdi      # 0x55cc
callq 0x1040
movq %r14, %rdi
callq 0x16e8
leaq 0x28e0(%rip), %rdi      # 0x45ca
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
leaq 0x38f7(%rip), %rdi      # 0x55f2
callq 0x1040
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
leaq 0x2832(%rip), %r13      # 0x454b
movq %r13, %rdi
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
leaq 0x38b1(%rip), %rdi      # 0x55df
callq 0x1040
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
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 0x1782
leaq 0x2f30(%rip), %rdi      # 0x4caf
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
cmpl $0x0, 0x8(%rsp)
je 0x22d3
xorl %r12d, %r12d
leaq 0x326c(%rip), %rdi      # 0x5013
movl %ebx, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %r14, %rdi
callq 0x16e8
movq %r14, %rdi
callq 0x16e8
movq %r14, %rdi
callq 0x16e8
movq %r14, %rdi
callq 0x16e8
movq %r14, %rdi
callq 0x16e8
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebp
movq %r14, %rdi
callq 0x17c4
movl %eax, %r13d
movq %r14, %rdi
callq 0x17c4
leaq 0x321e(%rip), %rdi      # 0x502c
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebp
movq %r14, %rdi
callq 0x17c4
leaq 0x3222(%rip), %rdi      # 0x5064
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x322f(%rip), %rdi      # 0x5098
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x322b(%rip), %rdi      # 0x50bb
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x3227(%rip), %rdi      # 0x50de
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x3223(%rip), %rdi      # 0x5101
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x321f(%rip), %rdi      # 0x5124
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x321b(%rip), %rdi      # 0x5147
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x3217(%rip), %rdi      # 0x516a
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x3213(%rip), %rdi      # 0x518d
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x320f(%rip), %rdi      # 0x51b0
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x320b(%rip), %rdi      # 0x51d3
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x3207(%rip), %rdi      # 0x51f6
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
leaq 0x320e(%rip), %rdi      # 0x5219
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebp
movq %r14, %rdi
callq 0x17e5
movl %eax, %r13d
movq %r14, %rdi
callq 0x17e5
leaq 0x31e9(%rip), %rdi      # 0x522c
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17c4
leaq 0x3208(%rip), %rdi      # 0x526b
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x31f6(%rip), %rdi      # 0x527c
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
leaq 0x31ff(%rip), %rdi      # 0x52ab
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
leaq 0x2f1f(%rip), %rbx      # 0x4fdd
movq %r14, %rdi
callq 0x16e8
movq %rbx, %rdi
movl %r12d, %esi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
testb $0x1, %r12b
je 0x20ee
movl $0xa, %edi
callq 0x1030
incl %r12d
cmpl $0x8, %r12d
jne 0x20be
xorl %r12d, %r12d
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
movl %eax, %r13d
movq %r14, %rdi
callq 0x1782
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 0x20fa
xorl %r12d, %r12d
leaq 0x31a9(%rip), %r15      # 0x52f4
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
movl %eax, %r13d
movq %r14, %rdi
callq 0x1782
leaq 0x3156(%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 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
movl %eax, %r13d
movq %r14, %rdi
callq 0x1782
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 0x214b
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x312a(%rip), %rdi      # 0x5319
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x312b(%rip), %rdi      # 0x5341
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x16e8
leaq 0x312c(%rip), %rdi      # 0x5369
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
leaq 0x3138(%rip), %rdi      # 0x5391
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
leaq 0x3144(%rip), %rdi      # 0x53b6
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
leaq 0x3150(%rip), %rdi      # 0x53db
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
leaq 0x315c(%rip), %rdi      # 0x5400
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
leaq 0x3168(%rip), %rdi      # 0x5425
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
leaq 0x2d20(%rip), %r15      # 0x4fee
jmp 0x26d0
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
xorl %r12d, %r12d
leaq 0x29d9(%rip), %rdi      # 0x4cc8
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
leaq 0x29d4(%rip), %rdi      # 0x4cf3
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
leaq 0x29d9(%rip), %rdi      # 0x4d1e
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
leaq 0x29da(%rip), %rdi      # 0x4d43
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
leaq 0x29db(%rip), %rdi      # 0x4d68
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebp
movq %r14, %rdi
callq 0x17c4
leaq 0x29d2(%rip), %rdi      # 0x4d8d
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebp
movq %r14, %rdi
callq 0x17c4
leaq 0x29d0(%rip), %rdi      # 0x4dbb
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
leaq 0x29f1(%rip), %r13      # 0x4df0
movq %r14, %rdi
callq 0x16e8
movq %rax, %rbx
movq %r14, %rdi
callq 0x17e5
movl %eax, %ebp
movq %r14, %rdi
callq 0x17e5
movq %r13, %rdi
movl %r12d, %esi
movq %rbx, %rdx
movl %ebp, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
testb $0x1, %r12b
je 0x2441
movl $0xa, %edi
callq 0x1030
incl %r12d
cmpl $0x8, %r12d
jne 0x23ff
movq %r14, %rdi
callq 0x1782
xorl %r12d, %r12d
leaq 0x29b2(%rip), %rdi      # 0x4e0e
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
movl %eax, %r13d
movq %r14, %rdi
callq 0x1782
leaq 0x298d(%rip), %rdi      # 0x4e20
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
movl %eax, %r13d
movq %r14, %rdi
callq 0x1782
leaq 0x2986(%rip), %rdi      # 0x4e58
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
movl %eax, %r13d
movq %r14, %rdi
callq 0x1782
leaq 0x297f(%rip), %rdi      # 0x4e90
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
movl %eax, %r13d
movq %r14, %rdi
callq 0x1782
leaq 0x2978(%rip), %rdi      # 0x4ec8
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebp
movq %r14, %rdi
callq 0x17e5
movl %eax, %r13d
movq %r14, %rdi
callq 0x17e5
leaq 0x2971(%rip), %rdi      # 0x4f00
movl %ebx, %esi
movl %ebp, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
leaq 0x2984(%rip), %rdi      # 0x4f3d
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
leaq 0x2981(%rip), %rdi      # 0x4f5e
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x17c4
movl %eax, %ebp
movq %r14, %rdi
callq 0x17c4
leaq 0x2978(%rip), %rdi      # 0x4f83
movl %ebx, %esi
movl %ebp, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
leaq 0x2987(%rip), %rdi      # 0x4fb8
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
leaq 0x299a(%rip), %rbx      # 0x4fdd
movq %r14, %rdi
callq 0x16e8
movq %rbx, %rdi
movl %r12d, %esi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16e8
testb $0x1, %r12b
je 0x2673
movl $0xa, %edi
callq 0x1030
incl %r12d
cmpl $0x8, %r12d
jne 0x2643
xorl %r12d, %r12d
movq %r14, %rdi
callq 0x1782
movl %eax, %ebx
movq %r14, %rdi
callq 0x1782
movl %eax, %ebp
movq %r14, %rdi
callq 0x1782
movl %eax, %r13d
movq %r14, %rdi
callq 0x1782
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 0x267f
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 0x1c44
movl $0xa, %edi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1030