// File: /workspace/github_c_makefile_star2_O0/dalnefre[P]kernel_abe/kernel.c
// Function: join_beh
static
BEH_DECL(join_beh)
{
	CONS* state = MINE;
	CONS* cust;
	CONS* k_first;
	CONS* k_rest;
	CONS* msg = WHAT;

	DBUG_ENTER("join_beh");
	assert(is_pr(state));
	cust = hd(state);
	assert(actorp(cust));
	assert(is_pr(tl(state)));
	k_first = hd(tl(state));
	k_rest = tl(tl(state));

	if (is_pr(msg)) {
		if (hd(msg) == k_first) {
			BECOME(join_rest_beh, pr(cust, pr(k_rest, tl(msg))));
		} else if (hd(msg) == k_rest) {
			BECOME(join_first_beh, pr(cust, pr(k_first, tl(msg))));
		}
	}
	DBUG_RETURN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25380
movq %rax, %rdi
callq 0x1a600
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25510
movq %rax, -0x30(%rbp)
leaq 0x20496(%rip), %rax     # 0x296d6
movq %rax, -0x58(%rbp)
leaq 0x260d5(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, -0x50(%rbp)
movl $0x187, -0x4c(%rbp)     # imm = 0x187
leaq 0x20109(%rip), %rax     # 0x2936f
movq %rax, -0x48(%rbp)
leaq 0x25ecf(%rip), %rax     # 0x2f140
movq %rax, -0x40(%rbp)
leaq 0x260a4(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x38(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x28490
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x59(%rbp)
je 0x92ae
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x92f7
leaq 0x25fcb(%rip), %rax     # 0x2f290
cmpq %rax, -0x10(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x92f7
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x92f7
jmp 0x9316
leaq 0x20351(%rip), %rdi     # 0x2964f
leaq 0x1fd17(%rip), %rsi     # 0x2901c
movl $0x188, %edx            # imm = 0x188
leaq 0x203ce(%rip), %rcx     # 0x296df
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25380
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x9341
jmp 0x9360
leaq 0x2032c(%rip), %rdi     # 0x29674
leaq 0x1fccd(%rip), %rsi     # 0x2901c
movl $0x18a, %edx            # imm = 0x18A
leaq 0x20384(%rip), %rcx     # 0x296df
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x5a(%rbp)
je 0x938e
movq -0x10(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x5a(%rbp)
movb -0x5a(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x93e4
movq -0x10(%rbp), %rdi
callq 0x25510
leaq 0x25ee2(%rip), %rcx     # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x93e4
movq -0x10(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x93e4
jmp 0x9403
leaq 0x20296(%rip), %rdi     # 0x29681
leaq 0x1fc2a(%rip), %rsi     # 0x2901c
movl $0x18b, %edx            # imm = 0x18B
leaq 0x202e1(%rip), %rcx     # 0x296df
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25380
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25510
movq %rax, -0x28(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x30(%rbp)
movb %al, -0x5b(%rbp)
je 0x944b
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x5b(%rbp)
movb -0x5b(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x9578
leaq 0x25e2a(%rip), %rax     # 0x2f290
cmpq %rax, -0x30(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x9578
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x9578
movq -0x30(%rbp), %rdi
callq 0x25380
cmpq -0x20(%rbp), %rax
jne 0x9504
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25380
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x30(%rbp), %rdi
callq 0x25510
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x70(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x68(%rbp), %rdi
movq %rax, %rdx
leaq 0xa3(%rip), %rsi        # 0x95a0
callq 0x1aae0
jmp 0x9576
movq -0x30(%rbp), %rdi
callq 0x25380
cmpq -0x28(%rbp), %rax
jne 0x9574
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25380
movq %rax, -0x80(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x30(%rbp), %rdi
callq 0x25510
movq -0x90(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x88(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x80(%rbp), %rdi
movq %rax, %rdx
leaq 0x411(%rip), %rsi       # 0x9980
callq 0x1aae0
jmp 0x9576
jmp 0x9578
movl $0x196, -0x4c(%rbp)     # imm = 0x196
leaq -0x58(%rbp), %rdi
callq 0x28660
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)