// File: /workspace/github_c_makefile_star2_O0/dalnefre[P]kernel_abe/kernel.c
// Function: type_pred_oper
static
BEH_DECL(type_pred_oper)
{
	CONS* type = MINE;
	CONS* msg = WHAT;
	CONS* cust;
	CONS* req;

	DBUG_ENTER("type_pred_oper");
	ENSURE(funcp(type));
	ENSURE(is_pr(msg));
	cust = hd(msg);
	ENSURE(actorp(cust));
	req = tl(msg);

	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* env = tl(tl(req)); */

		SEND(opnds, pr(cust, pr(ATOM("foldl"),
			pr(a_true, pr(MK_FUNC(boolean_and),
			pr(ATOM("type_eq"), type))))));
	} else {
		oper_type(CFG);  /* DELEGATE BEHAVIOR */
	}
	DBUG_RETURN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %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, -0x18(%rbp)
leaq 0x142cb(%rip), %rax     # 0x29b7b
movq %rax, -0x50(%rbp)
leaq 0x19a65(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, -0x48(%rbp)
movl $0x397, -0x44(%rbp)     # imm = 0x397
leaq 0x13a99(%rip), %rax     # 0x2936f
movq %rax, -0x40(%rbp)
leaq 0x1985f(%rip), %rax     # 0x2f140
movq %rax, -0x38(%rbp)
leaq 0x19a34(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x30(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x28490
xorl %eax, %eax
movl $0x1, %ecx
cmpq %rcx, -0x10(%rbp)
movb %al, -0x59(%rbp)
je 0x15922
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x3, %rax
sete %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x159af
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rdi
leaq -0xfdf5(%rip), %rsi     # 0x5b50
leaq 0x19944(%rip), %rdx     # 0x2f290
callq 0x1b6f0
movq %rax, -0x68(%rbp)
leaq 0x13bfc(%rip), %rdi     # 0x29558
callq 0x216e0
movq %rax, -0x78(%rbp)
leaq 0x136b0(%rip), %rdi     # 0x2901c
callq 0x216e0
movq %rax, %rdi
movl $0xe63, %esi            # imm = 0xE63
callq 0x25290
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
movl $0x398, -0x44(%rbp)     # imm = 0x398
leaq -0x50(%rbp), %rdi
callq 0x28660
jmp 0x15e72
xorl %eax, %eax
cmpq $0x0, -0x18(%rbp)
movb %al, -0x79(%rbp)
je 0x159cd
movq -0x18(%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 0x15a18
leaq 0x198ac(%rip), %rax     # 0x2f290
cmpq %rax, -0x18(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x15a18
movq -0x18(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x15aa7
movq -0x8(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x8(%rbp), %rdi
leaq -0xfede(%rip), %rsi     # 0x5b50
leaq 0x1985b(%rip), %rdx     # 0x2f290
callq 0x1b6f0
movq %rax, -0x88(%rbp)
leaq 0x13b10(%rip), %rdi     # 0x29558
callq 0x216e0
movq %rax, -0x98(%rbp)
leaq 0x135c1(%rip), %rdi     # 0x2901c
callq 0x216e0
movq %rax, %rdi
movl $0xe67, %esi            # imm = 0xE67
callq 0x25290
movq -0x98(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
movl $0x399, -0x44(%rbp)     # imm = 0x399
leaq -0x50(%rbp), %rdi
callq 0x28660
jmp 0x15e72
movq -0x18(%rbp), %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
jne 0x15b63
movq -0x8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x8(%rbp), %rdi
leaq -0xff9a(%rip), %rsi     # 0x5b50
leaq 0x1979f(%rip), %rdx     # 0x2f290
callq 0x1b6f0
movq %rax, -0xa0(%rbp)
leaq 0x13a54(%rip), %rdi     # 0x29558
callq 0x216e0
movq %rax, -0xb0(%rbp)
leaq 0x13505(%rip), %rdi     # 0x2901c
callq 0x216e0
movq %rax, %rdi
movl $0xe6f, %esi            # imm = 0xE6F
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 $0x39b, -0x44(%rbp)     # imm = 0x39B
leaq -0x50(%rbp), %rdi
callq 0x28660
jmp 0x15e72
movq -0x18(%rbp), %rdi
callq 0x25510
movq %rax, -0x28(%rbp)
leaq 0x19da9(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x15bd5
leaq 0x1979d(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x139ca(%rip), %rcx     # 0x2955b
movq %rcx, 0x10(%rax)
leaq 0x139bf(%rip), %rdi     # 0x2955b
callq 0x278a0
cmpl $0x0, %eax
je 0x15bd5
leaq 0x19773(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x39e, 0xc(%rax)       # imm = 0x39E
movq -0x20(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x14997(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x15bd7
jmp 0x15bd9
leaq 0x19d40(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x15c3e
leaq 0x19734(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x13966(%rip), %rcx     # 0x29560
movq %rcx, 0x10(%rax)
leaq 0x1395b(%rip), %rdi     # 0x29560
callq 0x278a0
cmpl $0x0, %eax
je 0x15c3e
leaq 0x1970a(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x39f, 0xc(%rax)       # imm = 0x39F
movq -0x28(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x1492e(%rip), %rdi     # 0x2a565
movb $0x0, %al
callq 0x28540
jmp 0x15c40
xorl %eax, %eax
cmpq $0x0, -0x28(%rbp)
movb %al, -0xb1(%rbp)
je 0x15c64
movq -0x28(%rbp), %rax
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 0x15e59
leaq 0x1960e(%rip), %rax     # 0x2f290
cmpq %rax, -0x28(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x15e59
movq -0x28(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x15e59
movq -0x28(%rbp), %rdi
callq 0x25510
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0xb2(%rbp)
je 0x15cee
movq -0x28(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0xb2(%rbp)
movb -0xb2(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x15e59
movq -0x28(%rbp), %rdi
callq 0x25510
leaq 0x1957b(%rip), %rcx     # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x15e59
movq -0x28(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x15e59
movq -0x28(%rbp), %rdi
callq 0x25380
movq %rax, -0xc0(%rbp)
leaq 0x138bb(%rip), %rdi     # 0x29623
callq 0x216e0
movq %rax, %rcx
movq -0xc0(%rbp), %rax
cmpq %rcx, %rax
jne 0x15e59
movq -0x28(%rbp), %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25380
movq %rax, -0x58(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq 0x13832(%rip), %rdi     # 0x295ef
callq 0x216e0
movq %rax, -0xe0(%rbp)
movq 0x195a8(%rip), %rax     # 0x2f378
movq %rax, -0xe8(%rbp)
leaq 0x4752(%rip), %rax      # 0x1a530
shlq $0x2, %rax
orq $0x3, %rax
movq %rax, -0xf0(%rbp)
leaq 0x137c2(%rip), %rdi     # 0x295b6
callq 0x216e0
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x25290
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0xe8(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0xe0(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0xd8(%rbp), %rdi
movq %rax, %rsi
callq 0x25290
movq -0xd0(%rbp), %rdi
movq -0xc8(%rbp), %rsi
movq %rax, %rdx
callq 0x1b810
jmp 0x15e62
movq -0x8(%rbp), %rdi
callq 0x16b20
movl $0x3ab, -0x44(%rbp)     # imm = 0x3AB
leaq -0x50(%rbp), %rdi
callq 0x28660
addq $0xf0, %rsp
popq %rbp
retq
nopl (%rax,%rax)