// File: /workspace/github_c_makefile_star2_O0/dalnefre[P]kernel_abe/kernel.c
// Function: vau_type
static
BEH_DECL(vau_type)
{
	CONS* state = MINE;
	CONS* ptree;
	CONS* body;
	CONS* s_env;
	CONS* msg = WHAT;
	CONS* cust;
	CONS* req;

	DBUG_ENTER("vau_type");
	ENSURE(is_pr(state));
	ptree = hd(state);
	ENSURE(is_pr(tl(state)));
	body = hd(tl(state));
	s_env = tl(tl(state));
	ENSURE(is_pr(msg));
	cust = hd(msg);
	ENSURE(actorp(cust));
	req = tl(msg);

	DBUG_PRINT("ptree", ("%s", cons_to_str(ptree)));
	DBUG_PRINT("body", ("%s", cons_to_str(body)));
	DBUG_PRINT("s_env", ("%s", cons_to_str(s_env)));
	DBUG_PRINT("cust", ("%s", cons_to_str(cust)));
	DBUG_PRINT("req", ("%s", cons_to_str(req)));
	if (is_pr(req) && is_pr(tl(req))
	&& (hd(req) == ATOM("comb"))) {
		CONS* opnds = hd(tl(req));
		CONS* d_env = tl(tl(req));
		CONS* local = ACTOR(env_type, pr(s_env, NIL));
		CONS* formal = ACTOR(pair_type, pr(opnds, d_env));
		CONS* k_eval = ACTOR(eval_sequence_beh, pr(cust, pr(body, local)));

		DBUG_PRINT("opnds", ("%s", cons_to_str(opnds)));
		DBUG_PRINT("d_env", ("%s", cons_to_str(d_env)));
		SEND(ptree, pr(k_eval, pr(ATOM("match"), pr(formal, local))));
	} else {
		oper_type(CFG);  /* DELEGATE BEHAVIOR */
	}
	DBUG_RETURN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
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 0x10417(%rip), %rax     # 0x29b37
movq %rax, -0x68(%rbp)
leaq 0x15bf5(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, -0x60(%rbp)
movl $0x759, -0x5c(%rbp)     # imm = 0x759
leaq 0xfc29(%rip), %rax      # 0x2936f
movq %rax, -0x58(%rbp)
leaq 0x159ef(%rip), %rax     # 0x2f140
movq %rax, -0x50(%rbp)
leaq 0x15bc4(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x48(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x28490
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x91(%rbp)
je 0x19794
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x91(%rbp)
movb -0x91(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x197e2
leaq 0x15ae2(%rip), %rax     # 0x2f290
cmpq %rax, -0x10(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x197e2
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x19871
movq -0x8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x13ca8(%rip), %rsi    # 0x5b50
leaq 0x15a91(%rip), %rdx     # 0x2f290
callq 0x1b6f0
movq %rax, -0xa0(%rbp)
leaq 0xfd46(%rip), %rdi      # 0x29558
callq 0x216e0
movq %rax, -0xb0(%rbp)
leaq 0xf7f7(%rip), %rdi      # 0x2901c
callq 0x216e0
movq %rax, %rdi
movl $0x1d6b, %esi           # imm = 0x1D6B
callq 0x25290
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0xa8(%rbp), %rdi
movq -0xa0(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
movl $0x75a, -0x5c(%rbp)     # imm = 0x75A
leaq -0x68(%rbp), %rdi
callq 0x28660
jmp 0x1a124
movq -0x10(%rbp), %rdi
callq 0x25380
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0xb1(%rbp)
je 0x198b2
movq -0x10(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x1990d
movq -0x10(%rbp), %rdi
callq 0x25510
leaq 0x159bb(%rip), %rcx     # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x1990d
movq -0x10(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x1999c
movq -0x8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x13dd3(%rip), %rsi    # 0x5b50
leaq 0x15966(%rip), %rdx     # 0x2f290
callq 0x1b6f0
movq %rax, -0xc0(%rbp)
leaq 0xfc1b(%rip), %rdi      # 0x29558
callq 0x216e0
movq %rax, -0xd0(%rbp)
leaq 0xf6cc(%rip), %rdi      # 0x2901c
callq 0x216e0
movq %rax, %rdi
movl $0x1d73, %esi           # imm = 0x1D73
callq 0x25290
movq -0xd0(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
movl $0x75c, -0x5c(%rbp)     # imm = 0x75C
leaq -0x68(%rbp), %rdi
callq 0x28660
jmp 0x1a124
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, -0xd1(%rbp)
je 0x199ea
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0xd1(%rbp)
movb -0xd1(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x19a38
leaq 0x1588c(%rip), %rax     # 0x2f290
cmpq %rax, -0x30(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x19a38
movq -0x30(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x19ac7
movq -0x8(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x13efe(%rip), %rsi    # 0x5b50
leaq 0x1583b(%rip), %rdx     # 0x2f290
callq 0x1b6f0
movq %rax, -0xe0(%rbp)
leaq 0xfaf0(%rip), %rdi      # 0x29558
callq 0x216e0
movq %rax, -0xf0(%rbp)
leaq 0xf5a1(%rip), %rdi      # 0x2901c
callq 0x216e0
movq %rax, %rdi
movl $0x1d7f, %esi           # imm = 0x1D7F
callq 0x25290
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0xe8(%rbp), %rdi
movq -0xe0(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
movl $0x75f, -0x5c(%rbp)     # imm = 0x75F
leaq -0x68(%rbp), %rdi
callq 0x28660
jmp 0x1a124
movq -0x30(%rbp), %rdi
callq 0x25380
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x19b83
movq -0x8(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x13fba(%rip), %rsi    # 0x5b50
leaq 0x1577f(%rip), %rdx     # 0x2f290
callq 0x1b6f0
movq %rax, -0xf8(%rbp)
leaq 0xfa34(%rip), %rdi      # 0x29558
callq 0x216e0
movq %rax, -0x108(%rbp)
leaq 0xf4e5(%rip), %rdi      # 0x2901c
callq 0x216e0
movq %rax, %rdi
movl $0x1d87, %esi           # imm = 0x1D87
callq 0x25290
movq -0x108(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x100(%rbp), %rdi
movq -0xf8(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
movl $0x761, -0x5c(%rbp)     # imm = 0x761
leaq -0x68(%rbp), %rdi
callq 0x28660
jmp 0x1a124
movq -0x30(%rbp), %rdi
callq 0x25510
movq %rax, -0x40(%rbp)
leaq 0x15d89(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x19bf5
leaq 0x1577d(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xff24(%rip), %rcx      # 0x29ad5
movq %rcx, 0x10(%rax)
leaq 0xff19(%rip), %rdi      # 0x29ad5
callq 0x278a0
cmpl $0x0, %eax
je 0x19bf5
leaq 0x15753(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x764, 0xc(%rax)       # imm = 0x764
movq -0x18(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x10977(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x19bf7
jmp 0x19bf9
leaq 0x15d20(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x19c5e
leaq 0x15714(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xfec1(%rip), %rcx      # 0x29adb
movq %rcx, 0x10(%rax)
leaq 0xfeb6(%rip), %rdi      # 0x29adb
callq 0x278a0
cmpl $0x0, %eax
je 0x19c5e
leaq 0x156ea(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x765, 0xc(%rax)       # imm = 0x765
movq -0x20(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x1090e(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x19c60
jmp 0x19c62
leaq 0x15cb7(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x19cc7
leaq 0x156ab(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xfebd(%rip), %rcx      # 0x29b40
movq %rcx, 0x10(%rax)
leaq 0xfeb2(%rip), %rdi      # 0x29b40
callq 0x278a0
cmpl $0x0, %eax
je 0x19cc7
leaq 0x15681(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x766, 0xc(%rax)       # imm = 0x766
movq -0x28(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x108a5(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x19cc9
jmp 0x19ccb
leaq 0x15c4e(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x19d30
leaq 0x15642(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xf86f(%rip), %rcx      # 0x2955b
movq %rcx, 0x10(%rax)
leaq 0xf864(%rip), %rdi      # 0x2955b
callq 0x278a0
cmpl $0x0, %eax
je 0x19d30
leaq 0x15618(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x767, 0xc(%rax)       # imm = 0x767
movq -0x38(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x1083c(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x19d32
jmp 0x19d34
leaq 0x15be5(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x19d99
leaq 0x155d9(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xf80b(%rip), %rcx      # 0x29560
movq %rcx, 0x10(%rax)
leaq 0xf800(%rip), %rdi      # 0x29560
callq 0x278a0
cmpl $0x0, %eax
je 0x19d99
leaq 0x155af(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x768, 0xc(%rax)       # imm = 0x768
movq -0x40(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x107d3(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x19d9b
xorl %eax, %eax
cmpq $0x0, -0x40(%rbp)
movb %al, -0x109(%rbp)
je 0x19dbf
movq -0x40(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x109(%rbp)
movb -0x109(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x1a10b
leaq 0x154b3(%rip), %rax     # 0x2f290
cmpq %rax, -0x40(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x1a10b
movq -0x40(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x1a10b
movq -0x40(%rbp), %rdi
callq 0x25510
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x10a(%rbp)
je 0x19e49
movq -0x40(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x10a(%rbp)
movb -0x10a(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x1a10b
movq -0x40(%rbp), %rdi
callq 0x25510
leaq 0x15420(%rip), %rcx     # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x1a10b
movq -0x40(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x1a10b
movq -0x40(%rbp), %rdi
callq 0x25380
movq %rax, -0x118(%rbp)
leaq 0xf760(%rip), %rdi      # 0x29623
callq 0x216e0
movq %rax, %rcx
movq -0x118(%rbp), %rax
cmpq %rcx, %rax
jne 0x1a10b
movq -0x40(%rbp), %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25380
movq %rax, -0x70(%rbp)
movq -0x40(%rbp), %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25510
movq %rax, -0x78(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x28(%rbp), %rdi
leaq 0x15375(%rip), %rsi     # 0x2f290
callq 0x25290
movq -0x138(%rbp), %rdi
movq %rax, %rdx
leaq -0x40b1(%rip), %rsi     # 0x15e80
callq 0x1b6f0
movq %rax, -0x80(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0x70(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x25290
movq -0x130(%rbp), %rdi
movq %rax, %rdx
leaq -0x16153(%rip), %rsi    # 0x3e10
callq 0x1b6f0
movq %rax, -0x88(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x20(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x25290
movq -0x128(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x120(%rbp), %rdi
movq %rax, %rdx
leaq -0x1742(%rip), %rsi     # 0x18870
callq 0x1b6f0
movq %rax, -0x90(%rbp)
leaq 0x1595b(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x1a023
leaq 0x1534f(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xfb01(%rip), %rcx      # 0x29ae0
movq %rcx, 0x10(%rax)
leaq 0xfaf6(%rip), %rdi      # 0x29ae0
callq 0x278a0
cmpl $0x0, %eax
je 0x1a023
leaq 0x15325(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x771, 0xc(%rax)       # imm = 0x771
movq -0x70(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x10549(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x1a025
jmp 0x1a027
leaq 0x158f2(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x1a08c
leaq 0x152e6(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xfafe(%rip), %rcx      # 0x29b46
movq %rcx, 0x10(%rax)
leaq 0xfaf3(%rip), %rdi      # 0x29b46
callq 0x278a0
cmpl $0x0, %eax
je 0x1a08c
leaq 0x152bc(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x772, 0xc(%rax)       # imm = 0x772
movq -0x78(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x104e0(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x1a08e
movq -0x8(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x150(%rbp)
leaq 0xf520(%rip), %rdi      # 0x295d9
callq 0x216e0
movq %rax, -0x158(%rbp)
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x25290
movq -0x158(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x150(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x148(%rbp), %rdi
movq -0x140(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
jmp 0x1a114
movq -0x8(%rbp), %rdi
callq 0x16b20
movl $0x777, -0x5c(%rbp)     # imm = 0x777
leaq -0x68(%rbp), %rdi
callq 0x28660
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
nopl (%rax)