// File: /workspace/github_c_makefile_star2_O0/dalnefre[P]kernel_abe/actor.c
// Function: abe__send_after
void
abe__send_after(CONFIG* cfg, CONS* delay, CONS* target, CONS* msg)
/*
 * Queue a message for delayed delivery to the target actor.
 */
{
	CONS* t;
	time_t s;
	time_t us;

	DBUG_ENTER("send_after");
	assert(numberp(delay));
	DBUG_PRINT("", ("delay=%d", MK_INT(delay)));
	DBUG_PRINT("", ("target=%s", cons_to_str(target)));
	DBUG_PRINT("", ("msg=%s", cons_to_str(msg)));
	assert(actorp(target));
	t = tv_increment(cfg->t_now_s, cfg->t_now_us, MK_INT(delay));
	s = MK_INT(map_get_def(t, ATOM("s"), NUMBER(0)));
	us = MK_INT(map_get_def(t, ATOM("us"), NUMBER(0)));
	DBUG_PRINT("", ("t = %lus %luus", s, us));
	t = cq_cons(t, cq_cons(target, msg));
	t_queue_insert(&cfg->t_queue, t, s, us);
	++cfg->t_count;
	DBUG_PRINT("", ("t_count=%d", cfg->t_count));
	DBUG_PRINT("", ("t_queue=%s", cons_to_str(cfg->t_queue)));
#if 0	/* HACK: ignore delay */
	DBUG_PRINT("WARNING", ("SEND_AFTER DOES NOT DELAY"));
	abe__send(cfg, target, msg);
#endif
	DBUG_RETURN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
leaq 0xe1e9(%rip), %rax      # 0x29dcb
movq %rax, -0x60(%rbp)
leaq 0x13733(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, -0x58(%rbp)
movl $0x190, -0x54(%rbp)     # imm = 0x190
leaq 0xd767(%rip), %rax      # 0x2936f
movq %rax, -0x50(%rbp)
leaq 0x13585(%rip), %rax     # 0x2f198
movq %rax, -0x48(%rbp)
leaq 0x13702(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x40(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x28490
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x3, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x1bc50
jmp 0x1bc6f
leaq 0xe17f(%rip), %rdi      # 0x29dd6
leaq 0xdf8f(%rip), %rsi      # 0x29bed
movl $0x191, %edx            # imm = 0x191
leaq 0xe17b(%rip), %rcx      # 0x29de5
callq 0x2100
jmp 0x1bc71
leaq 0x13ca8(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x1bcd4
leaq 0x1369c(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xd6dd(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0xd6d2(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x1bcd4
leaq 0x13672(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x192, 0xc(%rax)       # imm = 0x192
movq -0x10(%rbp), %rax
sarq $0x2, %rax
movl %eax, %esi
leaq 0xe14f(%rip), %rdi      # 0x29e1c
movb $0x0, %al
callq 0x28540
jmp 0x1bcd6
jmp 0x1bcd8
leaq 0x13c41(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x1bd3d
leaq 0x13635(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xd676(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0xd66b(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x1bd3d
leaq 0x1360b(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x193, 0xc(%rax)       # imm = 0x193
movq -0x18(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0xe037(%rip), %rdi      # 0x29d6d
movb $0x0, %al
callq 0x28540
jmp 0x1bd3f
jmp 0x1bd41
leaq 0x13bd8(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x1bda6
leaq 0x135cc(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xd60d(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0xd602(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x1bda6
leaq 0x135a2(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x194, 0xc(%rax)       # imm = 0x194
movq -0x20(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0xe010(%rip), %rdi      # 0x29daf
movb $0x0, %al
callq 0x28540
jmp 0x1bda8
movq -0x18(%rbp), %rax
andq $0x3, %rax
cmpq $0x1, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x1bdc6
jmp 0x1bde5
leaq 0xdfaa(%rip), %rdi      # 0x29d77
leaq 0xde19(%rip), %rsi      # 0x29bed
movl $0x195, %edx            # imm = 0x195
leaq 0xe005(%rip), %rcx      # 0x29de5
callq 0x2100
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x10(%rbp), %rax
sarq $0x2, %rax
movslq %eax, %rdx
callq 0x1acf0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq 0xe74e(%rip), %rdi      # 0x2a566
callq 0x216e0
movq -0x70(%rbp), %rdi
movq %rax, %rsi
movl $0x3, %edx
callq 0x25d30
sarq $0x2, %rax
cltq
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq 0xde9c(%rip), %rdi      # 0x29ce3
callq 0x216e0
movq -0x68(%rbp), %rdi
movq %rax, %rsi
movl $0x3, %edx
callq 0x25d30
sarq $0x2, %rax
cltq
movq %rax, -0x38(%rbp)
leaq 0x13ab2(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x1bec8
leaq 0x134a6(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xd4e7(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0xd4dc(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x1bec8
leaq 0x1347c(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x199, 0xc(%rax)       # imm = 0x199
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdx
leaq 0xde16(%rip), %rdi      # 0x29cd7
movb $0x0, %al
callq 0x28540
jmp 0x1beca
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1bac0
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x1bac0
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
addq $0x60, %rdi
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rcx
callq 0x1c000
movq -0x8(%rbp), %rax
movl 0x68(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x68(%rax)
leaq 0x13a04(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x1bf75
leaq 0x133f8(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xd439(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0xd42e(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x1bf75
leaq 0x133ce(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x19d, 0xc(%rax)       # imm = 0x19D
movq -0x8(%rbp), %rax
movl 0x68(%rax), %esi
leaq 0xe0c3(%rip), %rdi      # 0x2a031
movb $0x0, %al
callq 0x28540
jmp 0x1bf77
jmp 0x1bf79
leaq 0x139a0(%rip), %rax     # 0x2f920
cmpl $0x0, (%rax)
je 0x1bfe2
leaq 0x13394(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0xd3d5(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0xd3ca(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x1bfe2
leaq 0x1336a(%rip), %rax     # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x19e, 0xc(%rax)       # imm = 0x19E
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0xde4a(%rip), %rdi      # 0x29e25
movb $0x0, %al
callq 0x28540
jmp 0x1bfe4
movl $0x1a3, -0x54(%rbp)     # imm = 0x1A3
leaq -0x60(%rbp), %rdi
callq 0x28660
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)