// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_threads.c
// Function: bcore_threads_signal_handler
vd_t bcore_threads_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_threads" ) ) )
    {
        case TYPEOF_init1:
        {
            BCORE_REGISTER_OBJECT( bcore_mutex_s );
            BCORE_REGISTER_OBJECT( bcore_lock_s );
            BCORE_REGISTER_OBJECT( bcore_unlock_s );
            BCORE_REGISTER_OBJECT( bcore_condition_s );
            BCORE_REGISTER_OBJECT( bcore_thread_s );
            BCORE_REGISTER_OBJECT( bcore_thread_arr_s );
        }
        break;

        case TYPEOF_get_quicktypes:
        {
            BCORE_REGISTER_QUICKTYPE( bcore_mutex_s );
            BCORE_REGISTER_QUICKTYPE( bcore_lock_s );
            BCORE_REGISTER_QUICKTYPE( bcore_unlock_s );
            BCORE_REGISTER_QUICKTYPE( bcore_condition_s );
            BCORE_REGISTER_QUICKTYPE( bcore_thread_s );
            BCORE_REGISTER_QUICKTYPE( bcore_thread_arr_s );
        };

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movabsq $-0x71d6d98cc4fb0708, %rsi # imm = 0x8E2926733B04F8F8
callq 0xdfce3
movabsq $-0x1fb07977e4413a54, %rcx # imm = 0xE04F86881BBEC5AC
cmpq %rcx, %rax
je 0x1152b7
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x11568e
leaq 0x46a(%rip), %rsi       # 0x11569f
movabsq $-0x4a2a130117625858, %rdi # imm = 0xB5D5ECFEE89DA7A8
callq 0xc5545
leaq 0x4ca(%rip), %rsi       # 0x115715
movabsq $0x5f28c34c85940ebe, %rdi # imm = 0x5F28C34C85940EBE
callq 0xc5545
leaq 0x52a(%rip), %rsi       # 0x11578b
movabsq $-0x725b11f58fa45c93, %rdi # imm = 0x8DA4EE0A705BA36D
callq 0xc5545
leaq 0x58a(%rip), %rsi       # 0x115801
movabsq $0x63a1e406aff0f566, %rdi # imm = 0x63A1E406AFF0F566
callq 0xc5545
leaq 0x5ea(%rip), %rsi       # 0x115877
movabsq $-0x6b951732b6f4fa73, %rdi # imm = 0x946AE8CD490B058D
callq 0xc5545
leaq 0x64a(%rip), %rsi       # 0x1158ed
movabsq $0x6e9457c2993d0391, %rdi # imm = 0x6E9457C2993D0391
callq 0xc5545
jmp 0x11568e
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x11568e
movabsq $-0x5073d588c3beb52e, %rbx # imm = 0xAF8C2A773C414AD2
movq (%r15), %r12
leaq 0x86b48(%rip), %rbp     # 0x19be20
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x11532e
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x11532e
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x11532e
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x115337
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x115357
movq %rbx, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x86ad4(%rip), %rdi     # 0x19be20
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0x388ad(%rip), %rdx     # 0x14dc0b
movq %r13, %rdi
movq %r15, %rsi
callq 0xed5c6
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x11568e
movq (%r15), %r12
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x1153cf
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x1153cf
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x1153cf
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x1153d8
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x1153f8
movq %rbx, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x86a33(%rip), %rdi     # 0x19be20
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0x3881a(%rip), %rdx     # 0x14dc19
movq %r13, %rdi
movq %r15, %rsi
callq 0xed5c6
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x11568e
movq (%r15), %r12
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x115470
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x115470
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x115470
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x115479
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x115499
movq %rbx, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x86992(%rip), %rdi     # 0x19be20
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0x38786(%rip), %rdx     # 0x14dc26
movq %r13, %rdi
movq %r15, %rsi
callq 0xed5c6
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x11568e
movq (%r15), %r12
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x115511
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x115511
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x115511
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x11551a
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x11553a
movq %rbx, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x868f1(%rip), %rdi     # 0x19be20
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0x386f4(%rip), %rdx     # 0x14dc35
movq %r13, %rdi
movq %r15, %rsi
callq 0xed5c6
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x11568e
movq (%r15), %r12
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x1155b2
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x1155b2
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x1155b2
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x1155bb
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x1155db
movq %rbx, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x86850(%rip), %rdi     # 0x19be20
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0x38665(%rip), %rdx     # 0x14dc47
movq %r13, %rdi
movq %r15, %rsi
callq 0xed5c6
movq 0x10(%r14), %r14
testq %r14, %r14
je 0x11568e
movq (%r14), %r15
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r15, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x115653
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x115653
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x115653
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x11565c
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x11567c
movq %rbx, %rdi
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x867af(%rip), %rdi     # 0x19be20
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
leaq 0x385d3(%rip), %rdx     # 0x14dc56
movq %r12, %rdi
movq %r14, %rsi
callq 0xed5c6
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq