// File: /workspace/github_c_makefile_star2_O0/dalnefre[P]kernel_abe/kernel.c
// Function: fork_beh
static
BEH_DECL(fork_beh)
{
	CONS* state = MINE;
	CONS* cust;
	CONS* head;
	CONS* tail;
	CONS* msg = WHAT;
	CONS* h_req;
	CONS* t_req;
	CONS* k_head;
	CONS* k_tail;

	DBUG_ENTER("fork_beh");
	assert(is_pr(state));
	cust = hd(state);
	assert(actorp(cust));
	assert(is_pr(tl(state)));
	head = hd(tl(state));
	assert(actorp(head));
	tail = tl(tl(state));
	assert(actorp(tail));
	assert(is_pr(msg));
	h_req = hd(msg);
	t_req = tl(msg);

	k_head = ACTOR(tag_beh, SELF);
	k_tail = ACTOR(tag_beh, SELF);
	SEND(head, pr(k_head, h_req));
	SEND(tail, pr(k_tail, t_req));
	BECOME(join_beh, pr(cust, pr(k_head, k_tail)));
	DBUG_RETURN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %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 0x218f6(%rip), %rax     # 0x29646
movq %rax, -0x78(%rbp)
leaq 0x275c5(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, -0x70(%rbp)
movl $0x1bc, -0x6c(%rbp)     # imm = 0x1BC
leaq 0x215f9(%rip), %rax     # 0x2936f
movq %rax, -0x68(%rbp)
leaq 0x273bf(%rip), %rax     # 0x2f140
movq %rax, -0x60(%rbp)
leaq 0x27594(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x58(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x28490
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x79(%rbp)
je 0x7dbe
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x79(%rbp)
movb -0x79(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x7e07
leaq 0x274bb(%rip), %rax     # 0x2f290
cmpq %rax, -0x10(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x7e07
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x7e07
jmp 0x7e26
leaq 0x21841(%rip), %rdi     # 0x2964f
leaq 0x21207(%rip), %rsi     # 0x2901c
movl $0x1bd, %edx            # imm = 0x1BD
leaq 0x2183b(%rip), %rcx     # 0x2965c
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 0x7e51
jmp 0x7e70
leaq 0x2181c(%rip), %rdi     # 0x29674
leaq 0x211bd(%rip), %rsi     # 0x2901c
movl $0x1bf, %edx            # imm = 0x1BF
leaq 0x217f1(%rip), %rcx     # 0x2965c
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x7a(%rbp)
je 0x7e9e
movq -0x10(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x7a(%rbp)
movb -0x7a(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x7ef4
movq -0x10(%rbp), %rdi
callq 0x25510
leaq 0x273d2(%rip), %rcx     # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x7ef4
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 0x7ef4
jmp 0x7f13
leaq 0x21786(%rip), %rdi     # 0x29681
leaq 0x2111a(%rip), %rsi     # 0x2901c
movl $0x1c0, %edx            # imm = 0x1C0
leaq 0x2174e(%rip), %rcx     # 0x2965c
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25380
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x7f46
jmp 0x7f65
leaq 0x21745(%rip), %rdi     # 0x29692
leaq 0x210c8(%rip), %rsi     # 0x2901c
movl $0x1c2, %edx            # imm = 0x1C2
leaq 0x216fc(%rip), %rcx     # 0x2965c
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25510
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x7f98
jmp 0x7fb7
leaq 0x21700(%rip), %rdi     # 0x2969f
leaq 0x21076(%rip), %rsi     # 0x2901c
movl $0x1c4, %edx            # imm = 0x1C4
leaq 0x216aa(%rip), %rcx     # 0x2965c
callq 0x2100
xorl %eax, %eax
cmpq $0x0, -0x30(%rbp)
movb %al, -0x7b(%rbp)
je 0x7fd5
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x7b(%rbp)
movb -0x7b(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x801e
leaq 0x272a4(%rip), %rax     # 0x2f290
cmpq %rax, -0x30(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x801e
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x801e
jmp 0x803d
leaq 0x21687(%rip), %rdi     # 0x296ac
leaq 0x20ff0(%rip), %rsi     # 0x2901c
movl $0x1c5, %edx            # imm = 0x1C5
leaq 0x21624(%rip), %rcx     # 0x2965c
callq 0x2100
movq -0x30(%rbp), %rdi
callq 0x25380
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
callq 0x25510
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25380
movq -0xc0(%rbp), %rdi
movq %rax, %rdx
leaq 0x1060(%rip), %rsi      # 0x90e0
callq 0x1b6f0
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25380
movq -0xb8(%rbp), %rdi
movq %rax, %rdx
leaq 0x102e(%rip), %rsi      # 0x90e0
callq 0x1b6f0
movq %rax, -0x50(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x48(%rbp), %rdi
movq -0x38(%rbp), %rsi
callq 0x25290
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
movq -0x8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x50(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0x25290
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x25380
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x25290
movq -0x90(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x88(%rbp), %rdi
movq %rax, %rdx
leaq 0x1087(%rip), %rsi      # 0x9200
callq 0x1aae0
movl $0x1ce, -0x6c(%rbp)     # imm = 0x1CE
leaq -0x78(%rbp), %rdi
callq 0x28660
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)