// File: /workspace/github_c_makefile_star2_O2/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 $0x28, %rsp
movl %esi, 0x14(%rsp)
movq %rdi, %r14
callq 0x1766
leaq 0x2843(%rip), %rdi      # 0x440b
movl %eax, 0x18(%rsp)
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
leaq 0x3401(%rip), %r15      # 0x4fdd
xorl %esi, %esi
cmpl 0x18(%rsp), %esi
je 0x2697
leaq 0x2831(%rip), %rdi      # 0x4420
movl %esi, 0x1c(%rsp)
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
leaq 0x282a(%rip), %rdi      # 0x4433
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
leaq 0x2829(%rip), %rdi      # 0x444a
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
leaq 0x2828(%rip), %rdi      # 0x4461
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
leaq 0x2827(%rip), %rdi      # 0x4478
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
leaq 0x2826(%rip), %rdi      # 0x448f
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
leaq 0x3952(%rip), %rdi      # 0x55cc
callq 0x1040
movq %r14, %rdi
callq 0x16cc
leaq 0x293c(%rip), %rdi      # 0x45ca
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
leaq 0x3953(%rip), %rdi      # 0x55f2
callq 0x1040
leaq 0xc(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1a84
movl 0xc(%rsp), %esi
movl 0x10(%rsp), %edx
leaq 0x2888(%rip), %r13      # 0x454b
movq %r13, %rdi
xorl %eax, %eax
callq 0x1060
leaq 0x390b(%rip), %rdi      # 0x55df
callq 0x1040
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1a84
movl 0xc(%rsp), %esi
movl 0x10(%rsp), %r12d
movq %r13, %rdi
movl %r12d, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1090
movq %rax, 0x20(%rsp)
movq %r14, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x10b0
movq %r14, %rdi
callq 0x1766
leaq 0x2f8c(%rip), %rdi      # 0x4caf
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
cmpl $0x0, 0x14(%rsp)
je 0x2270
xorl %ebp, %ebp
leaq 0x32c8(%rip), %rdi      # 0x5013
movl %r12d, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %r14, %rdi
callq 0x16cc
movq %r14, %rdi
callq 0x16cc
movq %r14, %rdi
callq 0x16cc
movq %r14, %rdi
callq 0x16cc
movq %r14, %rdi
callq 0x16cc
movq %r14, %rdi
callq 0x17a8
movl %eax, %ebx
movq %r14, %rdi
callq 0x17a8
movl %eax, %r12d
movq %r14, %rdi
callq 0x17a8
movl %eax, %r13d
movq %r14, %rdi
callq 0x17a8
leaq 0x3278(%rip), %rdi      # 0x502c
movl %ebx, %esi
movl %r12d, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x17a8
movl %eax, %r12d
movq %r14, %rdi
callq 0x17a8
leaq 0x327a(%rip), %rdi      # 0x5064
movl %ebx, %esi
movl %r12d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3286(%rip), %rdi      # 0x5098
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3282(%rip), %rdi      # 0x50bb
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x327e(%rip), %rdi      # 0x50de
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x327a(%rip), %rdi      # 0x5101
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3276(%rip), %rdi      # 0x5124
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3272(%rip), %rdi      # 0x5147
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x326e(%rip), %rdi      # 0x516a
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x326a(%rip), %rdi      # 0x518d
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3266(%rip), %rdi      # 0x51b0
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3262(%rip), %rdi      # 0x51d3
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x325e(%rip), %rdi      # 0x51f6
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
leaq 0x3265(%rip), %rdi      # 0x5219
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17a8
movl %eax, %ebx
movq %r14, %rdi
callq 0x17a8
movl %eax, %r12d
movq %r14, %rdi
callq 0x17c9
movl %eax, %r13d
movq %r14, %rdi
callq 0x17c9
leaq 0x323f(%rip), %rdi      # 0x522c
movl %ebx, %esi
movl %r12d, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17a8
leaq 0x325d(%rip), %rdi      # 0x526b
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x324b(%rip), %rdi      # 0x527c
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
leaq 0x3254(%rip), %rdi      # 0x52ab
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
cmpl $0x8, %ebp
je 0x2098
movq %r14, %rdi
callq 0x16cc
movq %r15, %rdi
movl %ebp, %esi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
testb $0x1, %bpl
je 0x2094
pushq $0xa
popq %rdi
callq 0x1030
incl %ebp
jmp 0x2062
xorl %ebp, %ebp
cmpl $0x10, %ebp
je 0x20e6
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
leaq 0x2f20(%rip), %rdi      # 0x4fee
movl %ebp, %esi
movl %ebx, %edx
movl %r12d, %ecx
movl %r13d, %r8d
movl %eax, %r9d
xorl %eax, %eax
callq 0x1060
incl %ebp
jmp 0x209a
xorl %ebp, %ebp
movq %r14, %rdi
cmpl $0x1a, %ebp
je 0x217c
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
leaq 0x31af(%rip), %rdi      # 0x52cf
movl %ebp, %esi
movl %ebx, %edx
movl %r12d, %ecx
movl %r13d, %r8d
movl %eax, %r9d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
leaq 0x3191(%rip), %rdi      # 0x52f4
movl %ebx, %esi
movl %r12d, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
incl %ebp
jmp 0x20e8
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3186(%rip), %rdi      # 0x5319
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3187(%rip), %rdi      # 0x5341
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
movq %rax, %rbx
movq %r14, %rdi
callq 0x16cc
leaq 0x3188(%rip), %rdi      # 0x5369
movq %rbx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
leaq 0x3194(%rip), %rdi      # 0x5391
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
leaq 0x31a0(%rip), %rdi      # 0x53b6
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
leaq 0x31ac(%rip), %rdi      # 0x53db
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
leaq 0x31b8(%rip), %rdi      # 0x5400
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
leaq 0x31c4(%rip), %rdi      # 0x5425
movq %rax, %rsi
xorl %eax, %eax
callq 0x1060
jmp 0x267d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
xorl %ebp, %ebp
leaq 0x2a3c(%rip), %rdi      # 0x4cc8
movl %r12d, %esi
movl %r13d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
leaq 0x2a33(%rip), %rdi      # 0x4cf3
movl %r12d, %esi
movl %r13d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17a8
movl %eax, %r12d
movq %r14, %rdi
callq 0x17a8
leaq 0x2a35(%rip), %rdi      # 0x4d1e
movl %r12d, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17a8
movl %eax, %r12d
movq %r14, %rdi
callq 0x17a8
leaq 0x2a34(%rip), %rdi      # 0x4d43
movl %r12d, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17a8
movl %eax, %r12d
movq %r14, %rdi
callq 0x17a8
leaq 0x2a33(%rip), %rdi      # 0x4d68
movl %r12d, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x17a8
movl %eax, %r13d
movq %r14, %rdi
callq 0x17a8
leaq 0x2a27(%rip), %rdi      # 0x4d8d
movl %r12d, %esi
movl %r13d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x17a8
movl %eax, %r13d
movq %r14, %rdi
callq 0x17a8
leaq 0x2a21(%rip), %rdi      # 0x4dbb
movl %r12d, %esi
movl %r13d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
cmpl $0x8, %ebp
je 0x23f7
callq 0x16cc
movq %rax, %r12
movq %r14, %rdi
callq 0x17c9
movl %eax, %r13d
movq %r14, %rdi
callq 0x17c9
leaq 0x2a1d(%rip), %rdi      # 0x4df0
movl %ebp, %esi
movq %r12, %rdx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
testb $0x1, %bpl
je 0x23f3
pushq $0xa
popq %rdi
callq 0x1030
incl %ebp
jmp 0x23a9
callq 0x1766
xorl %ebp, %ebp
leaq 0x2a09(%rip), %rdi      # 0x4e0e
movl %eax, %esi
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
leaq 0x29e3(%rip), %rdi      # 0x4e20
movl %r12d, %esi
movl %r13d, %edx
movl %ebx, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
leaq 0x29da(%rip), %rdi      # 0x4e58
movl %ebx, %esi
movl %r12d, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
leaq 0x29d1(%rip), %rdi      # 0x4e90
movl %ebx, %esi
movl %r12d, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
leaq 0x29c8(%rip), %rdi      # 0x4ec8
movl %ebx, %esi
movl %r12d, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17a8
movl %eax, %ebx
movq %r14, %rdi
callq 0x17a8
movl %eax, %r12d
movq %r14, %rdi
callq 0x17c9
movl %eax, %r13d
movq %r14, %rdi
callq 0x17c9
leaq 0x29bf(%rip), %rdi      # 0x4f00
movl %ebx, %esi
movl %r12d, %edx
movl %r13d, %ecx
movl %eax, %r8d
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17a8
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
leaq 0x29d1(%rip), %rdi      # 0x4f3d
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x17a8
movl %eax, %ebx
movq %r14, %rdi
callq 0x17a8
leaq 0x29ce(%rip), %rdi      # 0x4f5e
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x17a8
movl %eax, %r12d
movq %r14, %rdi
callq 0x17a8
leaq 0x29c4(%rip), %rdi      # 0x4f83
movl %ebx, %esi
movl %r12d, %edx
movl %eax, %ecx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
leaq 0x29d2(%rip), %rdi      # 0x4fb8
movl %ebx, %esi
movl %eax, %edx
xorl %eax, %eax
callq 0x1060
cmpl $0x8, %ebp
je 0x2627
movq %r14, %rdi
callq 0x16cc
movq %r15, %rdi
movl %ebp, %esi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1060
movq %r14, %rdi
callq 0x16cc
testb $0x1, %bpl
je 0x2623
pushq $0xa
popq %rdi
callq 0x1030
incl %ebp
jmp 0x25f1
xorl %ebp, %ebp
cmpl $0x8, %ebp
je 0x2675
movq %r14, %rdi
callq 0x1766
movl %eax, %ebx
movq %r14, %rdi
callq 0x1766
movl %eax, %r12d
movq %r14, %rdi
callq 0x1766
movl %eax, %r13d
movq %r14, %rdi
callq 0x1766
leaq 0x2991(%rip), %rdi      # 0x4fee
movl %ebp, %esi
movl %ebx, %edx
movl %r12d, %ecx
movl %r13d, %r8d
movl %eax, %r9d
xorl %eax, %eax
callq 0x1060
incl %ebp
jmp 0x2629
pushq $0xa
popq %rdi
callq 0x1030
movq %r14, %rdi
movq 0x20(%rsp), %rsi
xorl %edx, %edx
callq 0x10b0
movl 0x1c(%rsp), %esi
incl %esi
jmp 0x1bde
pushq $0xa
popq %rdi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1030