// File: /workspace/github_c_makefile_star2_O0/meaning-matters[P]Except/thread.c
// Function: main
int main(void)
{
    pthread_t   launchers[NUM_LAUNCHERS];

    int i;

    try
    {
        for (i = 0; i < NUM_LAUNCHERS; i++)
        {
            pthread_create(&launchers[i], NULL, launch, (void *)0);
        }
    
        for (i = 0; i < NUM_LAUNCHERS; i++)
        {
            pthread_join(launchers[i], NULL);
        }
    }
    catch(Throwable, e)
    {
        e->printTryTrace(0);
    }
    finally;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl $0x0, -0x4(%rbp)
leaq 0x6fb7(%rip), %rax      # 0x8230
movq (%rax), %rdi
leaq 0x3d81(%rip), %rsi      # 0x5004
movl $0x14, %edx
callq 0x1b80
leaq 0x6f9c(%rip), %rax      # 0x8230
movq (%rax), %rdi
callq 0x1810
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rdi
leaq 0x6f71(%rip), %rsi      # 0x8224
leaq 0x3d4a(%rip), %rdx      # 0x5004
movl $0x14, %ecx
callq 0x24d0
cmpl $0x0, %eax
je 0x1377
movq -0x78(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x1377
movq -0x78(%rbp), %rax
movq (%rax), %rdi
addq $0x8, %rdi
movl $0x1, %esi
callq 0x1130
cmpl $0x0, %eax
jne 0x1377
movq -0x78(%rbp), %rax
movq (%rax), %rax
movl $0x1, 0x1b8(%rax)
movl $0x0, -0x64(%rbp)
cmpl $0xa, -0x64(%rbp)
jge 0x1346
movslq -0x64(%rbp), %rax
leaq -0x60(%rbp), %rdi
shlq $0x3, %rax
addq %rax, %rdi
xorl %eax, %eax
movl %eax, %ecx
leaq 0x1cd(%rip), %rdx       # 0x1500
movq %rcx, %rsi
callq 0x10f0
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0x1313
movl $0x0, -0x64(%rbp)
cmpl $0xa, -0x64(%rbp)
jge 0x1370
movslq -0x64(%rbp), %rax
movq -0x60(%rbp,%rax,8), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1120
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0x134d
jmp 0x1372
jmp 0x13fe
movq -0x78(%rbp), %rdi
leaq 0x6ea2(%rip), %rsi      # 0x8224
leaq 0x6d37(%rip), %rdx      # 0x80c0
leaq 0x3c74(%rip), %rcx      # 0x5004
movl $0x20, %r8d
callq 0x25a0
cmpl $0x0, %eax
je 0x13fc
movq -0x78(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
je 0x13fc
movq -0x78(%rbp), %rdi
leaq 0x6d05(%rip), %rsi      # 0x80c0
callq 0x20f0
cmpl $0x0, %eax
je 0x13fc
movq -0x78(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x1, %esi
callq 0x2ac0
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rax
movq (%rax), %rax
movl $0x2, 0x1b8(%rax)
movq -0x80(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, %edi
callq *0x1f0(%rax)
jmp 0x13fc
jmp 0x13fe
cmpl $0x0, 0x6e1f(%rip)      # 0x8224
jne 0x140c
jmp 0x128d
movq -0x78(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x1b4(%rax)
jne 0x144c
movq -0x78(%rbp), %rax
movq (%rax), %rdi
addq $0xd0, %rdi
movl $0x1, %esi
callq 0x1130
cmpl $0x0, %eax
jne 0x144c
movq -0x78(%rbp), %rax
movq (%rax), %rax
movl $0x1, 0x1b4(%rax)
jmp 0x144e
jmp 0x1453
jmp 0x128d
leaq 0x6dd6(%rip), %rax      # 0x8230
movq (%rax), %rdi
callq 0x1810
movq (%rax), %rax
movl $0x3, 0x1b8(%rax)
leaq 0x6dba(%rip), %rax      # 0x8230
movq (%rax), %rdi
callq 0x1810
movq (%rax), %rcx
movb $0x1, %al
cmpl $0x0, 0x1b4(%rcx)
movb %al, -0x81(%rbp)
jg 0x14ad
leaq 0x6d97(%rip), %rax      # 0x8230
movq (%rax), %rdi
callq 0x21d0
cmpl $0x0, %eax
setne %al
movb %al, -0x81(%rbp)
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x14b9
jmp 0x14e7
jmp 0x14bb
leaq 0x6d6e(%rip), %rax      # 0x8230
movq (%rax), %rdi
callq 0x1810
movq (%rax), %rcx
movl 0x1b4(%rcx), %eax
movl %eax, %edx
addl $-0x1, %edx
movl %edx, 0x1b4(%rcx)
cmpl $0x0, %eax
jle 0x14e5
jmp 0x14bb
jmp 0x146f
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)