// File: /workspace/github_c_makefile_star2_O0/dalnefre[P]kernel_abe/cons.c
// Function: test_cons
void
test_cons()
{
	CONS* p;
	CONS* q;
	CONS* r;

	DBUG_ENTER("test_cons");
	TRACE(printf("--test_cons--\n"));
	assert(nilp(NIL));
	assert(consp(NIL));
	assert(!atomp(NIL));
	assert(!funcp(NIL));
	assert(!numberp(NIL));
	
	assert(nilp((NIL)->first));
	assert((NIL)->first == NIL);
	assert(nilp((NIL)->rest));
	assert((NIL)->rest == NIL);
	
	p = cons(NIL, NIL);
	DBUG_PRINT("", ("p:cons(NIL,NIL)=%p", p));
	assert(p != NIL);
	assert(!nilp(p));
	assert(consp(p));
	assert(!atomp(p));
	assert(!funcp(p));
	assert(!numberp(p));
	assert(nilp(car(p)));
	assert(car(p) == NIL);
	assert(nilp(cdr(p)));
	assert(cdr(p) == NIL);
	
	q = cons(NIL, p);
	DBUG_PRINT("", ("q:cons(NIL,p)=%p", q));
	assert(q != NIL);
	assert(!nilp(q));
	assert(consp(q));
	assert(!atomp(q));
	assert(!funcp(q));
	assert(!numberp(q));
	assert(nilp(car(q)));
	assert(car(q) == NIL);
	assert(!nilp(cdr(q)));
	assert(consp(cdr(q)));
	assert(cdr(q) == p);
	
	DBUG_PRINT("", ("testing reverse()"));
	p = cons(NUMBER(0), cons(cons(NUMBER(1), cons(NUMBER(2), NIL)), NIL));
	DBUG_PRINT("", ("p=%s", cons_to_str(p)));
	q = reverse(p);
	DBUG_PRINT("", ("q=%s", cons_to_str(q)));
	assert(car(cdr(q)) == NUMBER(0));
	assert(car(car(q)) == NUMBER(1));
	assert(car(cdr(car(q))) == NUMBER(2));
	
	DBUG_PRINT("", ("testing map_remove()"));
	p = NIL;
	p = map_put(p, NUMBER(0), NUMBER(0));
	p = map_put(p, NUMBER(1), NUMBER(1));
	p = map_put(p, NUMBER(1), NUMBER(2));
	p = map_put(p, NUMBER(0), NUMBER(3));
	r = p;
	DBUG_PRINT("", ("p=%s", cons_to_str(p)));
	assert(length(p) == 4);
	assert(map_get(p, NUMBER(0)) == NUMBER(3));
	q = map_remove(p, NIL);
	DBUG_PRINT("", ("q=%s", cons_to_str(q)));
	assert(p != q);
	p = map_remove(r, NUMBER(0));
	DBUG_PRINT("", ("p=%s", cons_to_str(p)));
	assert(p != r);
	assert(length(p) == 1);
	q = map_cut(r, NUMBER(0));
	DBUG_PRINT("", ("q=%s", cons_to_str(q)));
	assert(r != q);
	assert(p != q);
	assert(length(p) == 1);
	assert(length(q) == 3);
	assert(length(r) == 4);
	assert(map_get(q, NUMBER(0)) == NUMBER(0));
	p = map_cut(q, NUMBER(0));
	DBUG_PRINT("", ("p=%s", cons_to_str(p)));
	assert(p == q);
	assert(length(p) == 2);
	assert(map_get(p, NUMBER(0)) == NULL);
	
	DBUG_RETURN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
leaq 0x4fdc(%rip), %rax      # 0x2b40b
movq %rax, -0x40(%rbp)
leaq 0x8ee6(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, -0x38(%rbp)
movl $0x15d, -0x34(%rbp)     # imm = 0x15D
leaq 0x2f1a(%rip), %rax      # 0x2936f
movq %rax, -0x30(%rbp)
leaq 0x8e50(%rip), %rax      # 0x2f2b0
movq %rax, -0x28(%rbp)
leaq 0x8eb5(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x20(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x28490
leaq 0x4f8f(%rip), %rdi      # 0x2b415
movb $0x0, %al
callq 0x20e0
movl $0x1, %eax
cmpq $0x0, %rax
je 0x2649a
jmp 0x264b9
leaq 0x4f83(%rip), %rdi      # 0x2b424
leaq 0x4d7c(%rip), %rsi      # 0x2b224
movl $0x15f, %edx            # imm = 0x15F
leaq 0x4f7a(%rip), %rcx      # 0x2b42e
callq 0x2100
movl $0x1, %eax
cmpq $0x0, %rax
je 0x264c6
jmp 0x264e5
leaq 0x4f72(%rip), %rdi      # 0x2b43f
leaq 0x4d50(%rip), %rsi      # 0x2b224
movl $0x160, %edx            # imm = 0x160
leaq 0x4f4e(%rip), %rcx      # 0x2b42e
callq 0x2100
xorl %eax, %eax
testb $0x1, %al
jne 0x264ef
jmp 0x264ed
jmp 0x2650e
leaq 0x4f54(%rip), %rdi      # 0x2b44a
leaq 0x4d27(%rip), %rsi      # 0x2b224
movl $0x161, %edx            # imm = 0x161
leaq 0x4f25(%rip), %rcx      # 0x2b42e
callq 0x2100
xorl %eax, %eax
leaq 0x8d79(%rip), %rcx      # 0x2f290
movl $0x1, %edx
cmpq %rdx, %rcx
movb %al, -0x41(%rbp)
je 0x2652b
xorl %eax, %eax
movb %al, -0x41(%rbp)
jmp 0x2652b
movb -0x41(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x2653d
jmp 0x2655c
leaq 0x4f12(%rip), %rdi      # 0x2b456
leaq 0x4cd9(%rip), %rsi      # 0x2b224
movl $0x162, %edx            # imm = 0x162
leaq 0x4ed7(%rip), %rcx      # 0x2b42e
callq 0x2100
xorl %eax, %eax
testb $0x1, %al
jne 0x26566
jmp 0x26564
jmp 0x26585
leaq 0x4ef5(%rip), %rdi      # 0x2b462
leaq 0x4cb0(%rip), %rsi      # 0x2b224
movl $0x163, %edx            # imm = 0x163
leaq 0x4eae(%rip), %rcx      # 0x2b42e
callq 0x2100
leaq 0x8d04(%rip), %rax      # 0x2f290
cmpq %rax, 0x8cfd(%rip)      # 0x2f290
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x265a5
jmp 0x265c4
leaq 0x4ec4(%rip), %rdi      # 0x2b470
leaq 0x4c71(%rip), %rsi      # 0x2b224
movl $0x165, %edx            # imm = 0x165
leaq 0x4e6f(%rip), %rcx      # 0x2b42e
callq 0x2100
leaq 0x8cc5(%rip), %rax      # 0x2f290
cmpq %rax, 0x8cbe(%rip)      # 0x2f290
jne 0x265d6
jmp 0x265f5
leaq 0x4ea6(%rip), %rdi      # 0x2b483
leaq 0x4c40(%rip), %rsi      # 0x2b224
movl $0x166, %edx            # imm = 0x166
leaq 0x4e3e(%rip), %rcx      # 0x2b42e
callq 0x2100
leaq 0x8c94(%rip), %rax      # 0x2f290
cmpq %rax, 0x8c95(%rip)      # 0x2f298
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x26615
jmp 0x26634
leaq 0x4e7b(%rip), %rdi      # 0x2b497
leaq 0x4c01(%rip), %rsi      # 0x2b224
movl $0x167, %edx            # imm = 0x167
leaq 0x4dff(%rip), %rcx      # 0x2b42e
callq 0x2100
leaq 0x8c55(%rip), %rax      # 0x2f290
cmpq %rax, 0x8c56(%rip)      # 0x2f298
jne 0x26646
jmp 0x26665
leaq 0x4e5c(%rip), %rdi      # 0x2b4a9
leaq 0x4bd0(%rip), %rsi      # 0x2b224
movl $0x168, %edx            # imm = 0x168
leaq 0x4dce(%rip), %rcx      # 0x2b42e
callq 0x2100
leaq 0x8c24(%rip), %rsi      # 0x2f290
movq %rsi, %rdi
callq 0x25290
movq %rax, -0x8(%rbp)
leaq 0x92a1(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x266d5
leaq 0x8c95(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x2cd6(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x2ccb(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x266d5
leaq 0x8c6b(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x16b, 0xc(%rax)       # imm = 0x16B
movq -0x8(%rbp), %rsi
leaq 0x4dee(%rip), %rdi      # 0x2b4bc
movb $0x0, %al
callq 0x28540
jmp 0x266d7
leaq 0x8bb2(%rip), %rax      # 0x2f290
cmpq %rax, -0x8(%rbp)
je 0x266e6
jmp 0x26705
leaq 0x4de2(%rip), %rdi      # 0x2b4cf
leaq 0x4b30(%rip), %rsi      # 0x2b224
movl $0x16c, %edx            # imm = 0x16C
leaq 0x4d2e(%rip), %rcx      # 0x2b42e
callq 0x2100
leaq 0x8b84(%rip), %rax      # 0x2f290
cmpq %rax, -0x8(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x26722
jmp 0x26741
leaq 0x3813(%rip), %rdi      # 0x29f3c
leaq 0x4af4(%rip), %rsi      # 0x2b224
movl $0x16d, %edx            # imm = 0x16D
leaq 0x4cf2(%rip), %rcx      # 0x2b42e
callq 0x2100
xorl %eax, %eax
cmpq $0x0, -0x8(%rbp)
movb %al, -0x42(%rbp)
je 0x2675f
movq -0x8(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x42(%rbp)
movb -0x42(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x26771
jmp 0x26790
leaq 0x42ec(%rip), %rdi      # 0x2aa64
leaq 0x4aa5(%rip), %rsi      # 0x2b224
movl $0x16e, %edx            # imm = 0x16E
leaq 0x4ca3(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rax
andq $0x3, %rax
cmpq $0x2, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x267ae
jmp 0x267cd
leaq 0x42b8(%rip), %rdi      # 0x2aa6d
leaq 0x4a68(%rip), %rsi      # 0x2b224
movl $0x16f, %edx            # imm = 0x16F
leaq 0x4c66(%rip), %rcx      # 0x2b42e
callq 0x2100
xorl %eax, %eax
movl $0x1, %ecx
cmpq %rcx, -0x8(%rbp)
movb %al, -0x43(%rbp)
je 0x267ef
movq -0x8(%rbp), %rax
andq $0x3, %rax
cmpq $0x3, %rax
sete %al
movb %al, -0x43(%rbp)
movb -0x43(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x26801
jmp 0x26820
leaq 0x4cd0(%rip), %rdi      # 0x2b4d8
leaq 0x4a15(%rip), %rsi      # 0x2b224
movl $0x170, %edx            # imm = 0x170
leaq 0x4c13(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rax
andq $0x3, %rax
cmpq $0x3, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x2683e
jmp 0x2685d
leaq 0x4c9d(%rip), %rdi      # 0x2b4e2
leaq 0x49d8(%rip), %rsi      # 0x2b224
movl $0x171, %edx            # imm = 0x171
leaq 0x4bd6(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x25380
leaq 0x8a23(%rip), %rcx      # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x26882
jmp 0x268a1
leaq 0x4c65(%rip), %rdi      # 0x2b4ee
leaq 0x4994(%rip), %rsi      # 0x2b224
movl $0x172, %edx            # imm = 0x172
leaq 0x4b92(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x25380
leaq 0x89df(%rip), %rcx      # 0x2f290
cmpq %rcx, %rax
jne 0x268b8
jmp 0x268d7
leaq 0x4c3c(%rip), %rdi      # 0x2b4fb
leaq 0x495e(%rip), %rsi      # 0x2b224
movl $0x173, %edx            # imm = 0x173
leaq 0x4b5c(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x25510
leaq 0x89a9(%rip), %rcx      # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x268fc
jmp 0x2691b
leaq 0x3f0a(%rip), %rdi      # 0x2a80d
leaq 0x491a(%rip), %rsi      # 0x2b224
movl $0x174, %edx            # imm = 0x174
leaq 0x4b18(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x25510
leaq 0x8965(%rip), %rcx      # 0x2f290
cmpq %rcx, %rax
jne 0x26932
jmp 0x26951
leaq 0x4bd0(%rip), %rdi      # 0x2b509
leaq 0x48e4(%rip), %rsi      # 0x2b224
movl $0x175, %edx            # imm = 0x175
leaq 0x4ae2(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rsi
leaq 0x8934(%rip), %rdi      # 0x2f290
callq 0x25290
movq %rax, -0x10(%rbp)
leaq 0x8fb4(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x269c2
leaq 0x89a8(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x29e9(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x29de(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x269c2
leaq 0x897e(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x178, 0xc(%rax)       # imm = 0x178
movq -0x10(%rbp), %rsi
leaq 0x4b5c(%rip), %rdi      # 0x2b517
movb $0x0, %al
callq 0x28540
jmp 0x269c4
leaq 0x88c5(%rip), %rax      # 0x2f290
cmpq %rax, -0x10(%rbp)
je 0x269d3
jmp 0x269f2
leaq 0x4b4e(%rip), %rdi      # 0x2b528
leaq 0x4843(%rip), %rsi      # 0x2b224
movl $0x179, %edx            # imm = 0x179
leaq 0x4a41(%rip), %rcx      # 0x2b42e
callq 0x2100
leaq 0x8897(%rip), %rax      # 0x2f290
cmpq %rax, -0x10(%rbp)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x26a0f
jmp 0x26a2e
leaq 0x4b1b(%rip), %rdi      # 0x2b531
leaq 0x4807(%rip), %rsi      # 0x2b224
movl $0x17a, %edx            # imm = 0x17A
leaq 0x4a05(%rip), %rcx      # 0x2b42e
callq 0x2100
xorl %eax, %eax
cmpq $0x0, -0x10(%rbp)
movb %al, -0x44(%rbp)
je 0x26a4c
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x44(%rbp)
movb -0x44(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x26a5e
jmp 0x26a7d
leaq 0x4ad5(%rip), %rdi      # 0x2b53a
leaq 0x47b8(%rip), %rsi      # 0x2b224
movl $0x17b, %edx            # imm = 0x17B
leaq 0x49b6(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x2, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x26a9b
jmp 0x26aba
leaq 0x4aa1(%rip), %rdi      # 0x2b543
leaq 0x477b(%rip), %rsi      # 0x2b224
movl $0x17c, %edx            # imm = 0x17C
leaq 0x4979(%rip), %rcx      # 0x2b42e
callq 0x2100
xorl %eax, %eax
movl $0x1, %ecx
cmpq %rcx, -0x10(%rbp)
movb %al, -0x45(%rbp)
je 0x26adc
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x3, %rax
sete %al
movb %al, -0x45(%rbp)
movb -0x45(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x26aee
jmp 0x26b0d
leaq 0x4a58(%rip), %rdi      # 0x2b54d
leaq 0x4728(%rip), %rsi      # 0x2b224
movl $0x17d, %edx            # imm = 0x17D
leaq 0x4926(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rax
andq $0x3, %rax
cmpq $0x3, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x26b2b
jmp 0x26b4a
leaq 0x4a25(%rip), %rdi      # 0x2b557
leaq 0x46eb(%rip), %rsi      # 0x2b224
movl $0x17e, %edx            # imm = 0x17E
leaq 0x48e9(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25380
leaq 0x8736(%rip), %rcx      # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x26b6f
jmp 0x26b8e
leaq 0x49ed(%rip), %rdi      # 0x2b563
leaq 0x46a7(%rip), %rsi      # 0x2b224
movl $0x17f, %edx            # imm = 0x17F
leaq 0x48a5(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25380
leaq 0x86f2(%rip), %rcx      # 0x2f290
cmpq %rcx, %rax
jne 0x26ba5
jmp 0x26bc4
leaq 0x49c4(%rip), %rdi      # 0x2b570
leaq 0x4671(%rip), %rsi      # 0x2b224
movl $0x180, %edx            # imm = 0x180
leaq 0x486f(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25510
leaq 0x86bc(%rip), %rcx      # 0x2f290
cmpq %rcx, %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
jne 0x26be9
jmp 0x26c08
leaq 0x498e(%rip), %rdi      # 0x2b57e
leaq 0x462d(%rip), %rsi      # 0x2b224
movl $0x181, %edx            # imm = 0x181
leaq 0x482b(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x46(%rbp)
je 0x26c36
movq -0x10(%rbp), %rdi
callq 0x25510
andq $0x3, %rax
cmpq $0x0, %rax
sete %al
movb %al, -0x46(%rbp)
movb -0x46(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x26c48
jmp 0x26c67
leaq 0x493d(%rip), %rdi      # 0x2b58c
leaq 0x45ce(%rip), %rsi      # 0x2b224
movl $0x182, %edx            # imm = 0x182
leaq 0x47cc(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25510
cmpq -0x8(%rbp), %rax
jne 0x26c78
jmp 0x26c97
leaq 0x491b(%rip), %rdi      # 0x2b59a
leaq 0x459e(%rip), %rsi      # 0x2b224
movl $0x183, %edx            # imm = 0x183
leaq 0x479c(%rip), %rcx      # 0x2b42e
callq 0x2100
jmp 0x26c99
leaq 0x8c80(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x26cf2
leaq 0x8674(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x26b5(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x26aa(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x26cf2
leaq 0x864a(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x185, 0xc(%rax)       # imm = 0x185
leaq 0x48bb(%rip), %rdi      # 0x2b5a6
movb $0x0, %al
callq 0x28540
jmp 0x26cf4
movl $0xb, %edi
leaq 0x8590(%rip), %rsi      # 0x2f290
callq 0x25290
movq %rax, %rsi
movl $0x7, %edi
callq 0x25290
movq %rax, %rdi
leaq 0x8574(%rip), %rsi      # 0x2f290
callq 0x25290
movq %rax, %rsi
movl $0x3, %edi
callq 0x25290
movq %rax, -0x8(%rbp)
leaq 0x8be7(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x26d97
leaq 0x85db(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x261c(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x2611(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x26d97
leaq 0x85b1(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x187, 0xc(%rax)       # imm = 0x187
movq -0x8(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x3a71(%rip), %rdi      # 0x2a801
movb $0x0, %al
callq 0x28540
jmp 0x26d99
movq -0x8(%rbp), %rdi
callq 0x259a0
movq %rax, -0x10(%rbp)
leaq 0x8b73(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x26e0b
leaq 0x8567(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x25a8(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x259d(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x26e0b
leaq 0x853d(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x189, 0xc(%rax)       # imm = 0x189
movq -0x10(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x3add(%rip), %rdi      # 0x2a8e1
movb $0x0, %al
callq 0x28540
jmp 0x26e0d
movq -0x10(%rbp), %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25380
movl $0x3, %ecx
cmpq %rcx, %rax
jne 0x26e2a
jmp 0x26e49
leaq 0x4787(%rip), %rdi      # 0x2b5b8
leaq 0x43ec(%rip), %rsi      # 0x2b224
movl $0x18a, %edx            # imm = 0x18A
leaq 0x45ea(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25380
movq %rax, %rdi
callq 0x25380
movl $0x7, %ecx
cmpq %rcx, %rax
jne 0x26e66
jmp 0x26e85
leaq 0x4764(%rip), %rdi      # 0x2b5d1
leaq 0x43b0(%rip), %rsi      # 0x2b224
movl $0x18b, %edx            # imm = 0x18B
leaq 0x45ae(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25380
movq %rax, %rdi
callq 0x25510
movq %rax, %rdi
callq 0x25380
movl $0xb, %ecx
cmpq %rcx, %rax
jne 0x26eaa
jmp 0x26ec9
leaq 0x4739(%rip), %rdi      # 0x2b5ea
leaq 0x436c(%rip), %rsi      # 0x2b224
movl $0x18c, %edx            # imm = 0x18C
leaq 0x456a(%rip), %rcx      # 0x2b42e
callq 0x2100
jmp 0x26ecb
leaq 0x8a4e(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x26f24
leaq 0x8442(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x2483(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x2478(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x26f24
leaq 0x8418(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x18e, 0xc(%rax)       # imm = 0x18E
leaq 0x46eb(%rip), %rdi      # 0x2b608
movb $0x0, %al
callq 0x28540
jmp 0x26f26
leaq 0x8363(%rip), %rax      # 0x2f290
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x3, %edx
movq %rdx, %rsi
callq 0x25e20
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x7, %edx
movq %rdx, %rsi
callq 0x25e20
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x7, %esi
movl $0xb, %edx
callq 0x25e20
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x3, %esi
movl $0xf, %edx
callq 0x25e20
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x8988(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x26ff6
leaq 0x837c(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x23bd(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x23b2(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x26ff6
leaq 0x8352(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x195, 0xc(%rax)       # imm = 0x195
movq -0x8(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x3812(%rip), %rdi      # 0x2a801
movb $0x0, %al
callq 0x28540
jmp 0x26ff8
movq -0x8(%rbp), %rdi
callq 0x25a60
cmpl $0x4, %eax
jne 0x27008
jmp 0x27027
leaq 0x460e(%rip), %rdi      # 0x2b61d
leaq 0x420e(%rip), %rsi      # 0x2b224
movl $0x196, %edx            # imm = 0x196
leaq 0x440c(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x25d30
movl $0xf, %ecx
cmpq %rcx, %rax
jne 0x27045
jmp 0x27064
leaq 0x45e0(%rip), %rdi      # 0x2b62c
leaq 0x41d1(%rip), %rsi      # 0x2b224
movl $0x197, %edx            # imm = 0x197
leaq 0x43cf(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
leaq 0x8221(%rip), %rsi      # 0x2f290
callq 0x26190
movq %rax, -0x10(%rbp)
leaq 0x88a1(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x270dd
leaq 0x8295(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x22d6(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x22cb(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x270dd
leaq 0x826b(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x199, 0xc(%rax)       # imm = 0x199
movq -0x10(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x380b(%rip), %rdi      # 0x2a8e1
movb $0x0, %al
callq 0x28540
jmp 0x270df
movq -0x8(%rbp), %rax
cmpq -0x10(%rbp), %rax
je 0x270eb
jmp 0x2710a
leaq 0x38df(%rip), %rdi      # 0x2a9d1
leaq 0x412b(%rip), %rsi      # 0x2b224
movl $0x19a, %edx            # imm = 0x19A
leaq 0x4329(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x18(%rbp), %rdi
movl $0x3, %esi
callq 0x26190
movq %rax, -0x8(%rbp)
leaq 0x87fd(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x27181
leaq 0x81f1(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x2232(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x2227(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x27181
leaq 0x81c7(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x19c, 0xc(%rax)       # imm = 0x19C
movq -0x8(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x3687(%rip), %rdi      # 0x2a801
movb $0x0, %al
callq 0x28540
jmp 0x27183
movq -0x8(%rbp), %rax
cmpq -0x18(%rbp), %rax
je 0x2718f
jmp 0x271ae
leaq 0x44b9(%rip), %rdi      # 0x2b64f
leaq 0x4087(%rip), %rsi      # 0x2b224
movl $0x19d, %edx            # imm = 0x19D
leaq 0x4285(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x25a60
cmpl $0x1, %eax
jne 0x271be
jmp 0x271dd
leaq 0x4491(%rip), %rdi      # 0x2b656
leaq 0x4058(%rip), %rsi      # 0x2b224
movl $0x19e, %edx            # imm = 0x19E
leaq 0x4256(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x18(%rbp), %rdi
movl $0x3, %esi
callq 0x262f0
movq %rax, -0x10(%rbp)
leaq 0x872a(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x27254
leaq 0x811e(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x215f(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x2154(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x27254
leaq 0x80f4(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x1a0, 0xc(%rax)       # imm = 0x1A0
movq -0x10(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x3694(%rip), %rdi      # 0x2a8e1
movb $0x0, %al
callq 0x28540
jmp 0x27256
movq -0x18(%rbp), %rax
cmpq -0x10(%rbp), %rax
je 0x27262
jmp 0x27281
leaq 0x43fc(%rip), %rdi      # 0x2b665
leaq 0x3fb4(%rip), %rsi      # 0x2b224
movl $0x1a1, %edx            # imm = 0x1A1
leaq 0x41b2(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rax
cmpq -0x10(%rbp), %rax
je 0x2728d
jmp 0x272ac
leaq 0x373d(%rip), %rdi      # 0x2a9d1
leaq 0x3f89(%rip), %rsi      # 0x2b224
movl $0x1a2, %edx            # imm = 0x1A2
leaq 0x4187(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x25a60
cmpl $0x1, %eax
jne 0x272bc
jmp 0x272db
leaq 0x4393(%rip), %rdi      # 0x2b656
leaq 0x3f5a(%rip), %rsi      # 0x2b224
movl $0x1a3, %edx            # imm = 0x1A3
leaq 0x4158(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x25a60
cmpl $0x3, %eax
jne 0x272eb
jmp 0x2730a
leaq 0x437a(%rip), %rdi      # 0x2b66c
leaq 0x3f2b(%rip), %rsi      # 0x2b224
movl $0x1a4, %edx            # imm = 0x1A4
leaq 0x4129(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x18(%rbp), %rdi
callq 0x25a60
cmpl $0x4, %eax
jne 0x2731a
jmp 0x27339
leaq 0x435a(%rip), %rdi      # 0x2b67b
leaq 0x3efc(%rip), %rsi      # 0x2b224
movl $0x1a5, %edx            # imm = 0x1A5
leaq 0x40fa(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x25d30
movl $0x3, %ecx
cmpq %rcx, %rax
jne 0x27357
jmp 0x27376
leaq 0x432c(%rip), %rdi      # 0x2b68a
leaq 0x3ebf(%rip), %rsi      # 0x2b224
movl $0x1a6, %edx            # imm = 0x1A6
leaq 0x40bd(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x10(%rbp), %rdi
movl $0x3, %esi
callq 0x262f0
movq %rax, -0x8(%rbp)
leaq 0x8591(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x273ed
leaq 0x7f85(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x1fc6(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x1fbb(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x273ed
leaq 0x7f5b(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x1a8, 0xc(%rax)       # imm = 0x1A8
movq -0x8(%rbp), %rdi
callq 0x1d250
movq %rax, %rsi
leaq 0x341b(%rip), %rdi      # 0x2a801
movb $0x0, %al
callq 0x28540
jmp 0x273ef
movq -0x8(%rbp), %rax
cmpq -0x10(%rbp), %rax
jne 0x273fb
jmp 0x2741a
leaq 0x35b1(%rip), %rdi      # 0x2a9b3
leaq 0x3e1b(%rip), %rsi      # 0x2b224
movl $0x1a9, %edx            # imm = 0x1A9
leaq 0x4019(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x25a60
cmpl $0x2, %eax
jne 0x2742a
jmp 0x27449
leaq 0x427c(%rip), %rdi      # 0x2b6ad
leaq 0x3dec(%rip), %rsi      # 0x2b224
movl $0x1aa, %edx            # imm = 0x1AA
leaq 0x3fea(%rip), %rcx      # 0x2b42e
callq 0x2100
movq -0x8(%rbp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x25d30
cmpq $0x0, %rax
jne 0x27463
jmp 0x27482
leaq 0x4252(%rip), %rdi      # 0x2b6bc
leaq 0x3db3(%rip), %rsi      # 0x2b224
movl $0x1ab, %edx            # imm = 0x1AB
leaq 0x3fb1(%rip), %rcx      # 0x2b42e
callq 0x2100
movl $0x1ad, -0x34(%rbp)     # imm = 0x1AD
leaq -0x40(%rbp), %rdi
callq 0x28660
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)