// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %r14
movabsq $-0x71d6d98cc4fb0708, %rsi # imm = 0x8E2926733B04F8F8
callq 0xe9c93
movabsq $-0x1fb07977e4413a54, %rcx # imm = 0xE04F86881BBEC5AC
cmpq %rcx, %rax
je 0x120534
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
cmpq %rcx, %rax
jne 0x120942
leaq 0x4c9(%rip), %rsi       # 0x12097b
movabsq $-0x4a2a130117625858, %rdi # imm = 0xB5D5ECFEE89DA7A8
callq 0xcf6c4
leaq 0x529(%rip), %rsi       # 0x1209f1
movabsq $0x5f28c34c85940ebe, %rdi # imm = 0x5F28C34C85940EBE
callq 0xcf6c4
leaq 0x589(%rip), %rsi       # 0x120a67
movabsq $-0x725b11f58fa45c93, %rdi # imm = 0x8DA4EE0A705BA36D
callq 0xcf6c4
leaq 0x5e9(%rip), %rsi       # 0x120add
movabsq $0x63a1e406aff0f566, %rdi # imm = 0x63A1E406AFF0F566
callq 0xcf6c4
leaq 0x649(%rip), %rsi       # 0x120b53
movabsq $-0x6b951732b6f4fa73, %rdi # imm = 0x946AE8CD490B058D
callq 0xcf6c4
leaq 0x6a9(%rip), %rsi       # 0x120bc9
movabsq $0x6e9457c2993d0391, %rdi # imm = 0x6E9457C2993D0391
callq 0xcf6c4
jmp 0x120942
movabsq $-0x5073d588c3beb52e, %rbx # imm = 0xAF8C2A773C414AD2
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x1205ea
movq (%r15), %r12
leaq 0x888cb(%rip), %rax     # 0x1a8e20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x1205af
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x1205af
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x1205af
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x12094e
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x1205d8
movq %rbx, %rdi
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x88853(%rip), %rdi     # 0x1a8e20
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x385d4(%rip), %rdx     # 0x158bb3
movq %r13, %rdi
movq %r15, %rsi
callq 0xf7ac8
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x120696
movq (%r15), %r12
leaq 0x8881f(%rip), %rax     # 0x1a8e20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x12065b
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x12065b
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x12065b
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x120956
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x120684
movq %rbx, %rdi
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x887a7(%rip), %rdi     # 0x1a8e20
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x38536(%rip), %rdx     # 0x158bc1
movq %r13, %rdi
movq %r15, %rsi
callq 0xf7ac8
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x120742
movq (%r15), %r12
leaq 0x88773(%rip), %rax     # 0x1a8e20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x120707
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x120707
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x120707
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x12095e
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x120730
movq %rbx, %rdi
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x886fb(%rip), %rdi     # 0x1a8e20
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x38497(%rip), %rdx     # 0x158bce
movq %r13, %rdi
movq %r15, %rsi
callq 0xf7ac8
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x1207ee
movq (%r15), %r12
leaq 0x886c7(%rip), %rax     # 0x1a8e20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x1207b3
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x1207b3
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x1207b3
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x120966
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x1207dc
movq %rbx, %rdi
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x8864f(%rip), %rdi     # 0x1a8e20
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x383fa(%rip), %rdx     # 0x158bdd
movq %r13, %rdi
movq %r15, %rsi
callq 0xf7ac8
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x12089a
movq (%r15), %r12
leaq 0x8861b(%rip), %rax     # 0x1a8e20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x12085f
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x12085f
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x12085f
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x12096e
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x120888
movq %rbx, %rdi
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x885a3(%rip), %rdi     # 0x1a8e20
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x38360(%rip), %rdx     # 0x158bef
movq %r13, %rdi
movq %r15, %rsi
callq 0xf7ac8
movq 0x10(%r14), %r14
testq %r14, %r14
je 0x120942
movq (%r14), %r15
leaq 0x8856f(%rip), %rax     # 0x1a8e20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r15, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x120907
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x120907
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x120907
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x120976
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x120930
movq %rbx, %rdi
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x884fb(%rip), %rdi     # 0x1a8e20
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
leaq 0x382c7(%rip), %rdx     # 0x158bfe
movq %r12, %rdi
movq %r14, %rsi
callq 0xf7ac8
xorl %eax, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
xorl %r13d, %r13d
jmp 0x1205b3
xorl %r13d, %r13d
jmp 0x12065f
xorl %r13d, %r13d
jmp 0x12070b
xorl %r13d, %r13d
jmp 0x1207b7
xorl %r13d, %r13d
jmp 0x120863
xorl %r12d, %r12d
jmp 0x12090b