// File: /workspace/github_c_makefile_star2_O0/dalnefre[P]kernel_abe/gc.c
// Function: test_gc
void
test_gc()
/* internal unit test */
{
/*
	CELL* p;
	CELL* q;
*/
	CONS* r;
	CONS* s;

	DBUG_ENTER("test_gc");
	TRACE(printf("--test_gc--\n"));
	assert(sizeof(WORD) == sizeof(CONS*));
	assert(sizeof(WORD) == sizeof(CELL*));
	DBUG_PRINT("", ("sizeof(CELL) = %u", sizeof(CELL)));
	DBUG_PRINT("", ("gc_phase = 0x%x", gc_phase__mark));
	gc_initialize();
	DBUG_PRINT("", ("gc_phase = 0x%x", gc_phase__mark));

	gc_sanity_check(GC_AGED_LIST);
	gc_sanity_check(GC_SCAN_LIST);
	gc_sanity_check(GC_FRESH_LIST);
	gc_sanity_check(GC_FREE_LIST);
	gc_sanity_check(GC_PERM_LIST);
	
	gc_allocate_cells(GC_FREE_LIST);
	gc_sanity_check(GC_FREE_LIST);
	assert(GC_SIZE(GC_FREE_LIST) == N);
	
	s = NIL;
	s = gc_cons(NUMBER(1), s);
	s = gc_cons(NUMBER(2), s);
	s = gc_cons(NUMBER(-2), gc_rest(s));
	DBUG_PRINT("", ("s@%p = %s", s, cons_to_str(s)));
/*
	r = reverse(s);
	DBUG_PRINT("", ("r@%p = %s", r, cons_to_str(r)));
*/
	gc_sanity_check(GC_FRESH_LIST);
	gc_sanity_check(GC_FREE_LIST);
	assert(GC_SIZE(GC_AGED_LIST) == 0);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 3);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 3));
	
	gc_age_cells();
	assert(GC_SIZE(GC_AGED_LIST) == 3);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 0);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 3));
	
	gc_scan_cell(as_cell(s));	/* scan "root" */
	assert(GC_SIZE(GC_AGED_LIST) == 2);
	assert(GC_SIZE(GC_SCAN_LIST) == 1);
	assert(GC_SIZE(GC_FRESH_LIST) == 0);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 3));
	
	r = gc_cons(NUMBER(-1), gc_rest(gc_rest(s)));
	DBUG_PRINT("", ("r@%p = %s", r, cons_to_str(r)));
	assert(GC_SIZE(GC_AGED_LIST) == 1);
	assert(GC_SIZE(GC_SCAN_LIST) == 2);
	assert(GC_SIZE(GC_FRESH_LIST) == 1);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 4));
	
	assert(gc_refresh_cell() == TRUE);
	assert(GC_SIZE(GC_AGED_LIST) == 1);
	assert(GC_SIZE(GC_SCAN_LIST) == 1);
	assert(GC_SIZE(GC_FRESH_LIST) == 2);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 4));

	assert(gc_refresh_cell() == TRUE);
	assert(GC_SIZE(GC_AGED_LIST) == 1);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 3);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 4));

	assert(gc_refresh_cell() == FALSE);
	assert(GC_SIZE(GC_AGED_LIST) == 1);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 3);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 4));

	gc_free_cells();
	assert(GC_SIZE(GC_AGED_LIST) == 0);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 3);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 3));
	
	gc_age_cells();
	assert(GC_SIZE(GC_AGED_LIST) == 3);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 0);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 3));
	
	gc_scan_cell(as_cell(r));	/* scan "root" */
	assert(GC_SIZE(GC_AGED_LIST) == 2);
	assert(GC_SIZE(GC_SCAN_LIST) == 1);
	assert(GC_SIZE(GC_FRESH_LIST) == 0);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 3));
	
	assert(gc_refresh_cell() == TRUE);
	assert(GC_SIZE(GC_AGED_LIST) == 2);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 1);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 3));

	assert(gc_refresh_cell() == FALSE);
	assert(GC_SIZE(GC_AGED_LIST) == 2);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 1);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 3));

	gc_free_cells();
	assert(GC_SIZE(GC_AGED_LIST) == 0);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 1);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 1));
	
	gc_full_collection(r);	/* all together now... */
	assert(GC_SIZE(GC_AGED_LIST) == 0);
	assert(GC_SIZE(GC_SCAN_LIST) == 0);
	assert(GC_SIZE(GC_FRESH_LIST) == 1);
	assert(GC_SIZE(GC_FREE_LIST) == (N - 1));

	gc_sanity_check(GC_AGED_LIST);
	gc_sanity_check(GC_SCAN_LIST);
	gc_sanity_check(GC_FRESH_LIST);
	gc_sanity_check(GC_FREE_LIST);
	gc_sanity_check(GC_PERM_LIST);
	DBUG_RETURN;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
leaq 0x74cf(%rip), %rax      # 0x2acfe
movq %rax, -0x38(%rbp)
leaq 0xbae6(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, -0x30(%rbp)
movl $0x1d3, -0x2c(%rbp)     # imm = 0x1D3
leaq 0x5b1a(%rip), %rax      # 0x2936f
movq %rax, -0x28(%rbp)
leaq 0xba10(%rip), %rax      # 0x2f270
movq %rax, -0x20(%rbp)
leaq 0xbab5(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x18(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x28490
leaq 0x7480(%rip), %rdi      # 0x2ad06
movb $0x0, %al
callq 0x20e0
leaq 0xc08c(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x238eb
leaq 0xba80(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x5ac1(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x5ab6(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x238eb
leaq 0xba56(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x1d7, 0xc(%rax)       # imm = 0x1D7
leaq 0x7434(%rip), %rdi      # 0x2ad13
movl $0x20, %esi
movb $0x0, %al
callq 0x28540
jmp 0x238ed
jmp 0x238ef
leaq 0xc02a(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x2394f
leaq 0xba1e(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x5a5f(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x5a54(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x2394f
leaq 0xb9f4(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x1d8, 0xc(%rax)       # imm = 0x1D8
movq 0xb947(%rip), %rsi      # 0x2f288
leaq 0x73dd(%rip), %rdi      # 0x2ad25
movb $0x0, %al
callq 0x28540
jmp 0x23951
callq 0x250c0
leaq 0xbfc3(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x239b6
leaq 0xb9b7(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x59f8(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x59ed(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x239b6
leaq 0xb98d(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x1da, 0xc(%rax)       # imm = 0x1DA
movq 0xb8e0(%rip), %rsi      # 0x2f288
leaq 0x7376(%rip), %rdi      # 0x2ad25
movb $0x0, %al
callq 0x28540
jmp 0x239b8
leaq 0xb811(%rip), %rdi      # 0x2f1d0
callq 0x229f0
leaq 0xb825(%rip), %rdi      # 0x2f1f0
callq 0x229f0
leaq 0xb839(%rip), %rdi      # 0x2f210
callq 0x229f0
leaq 0xb84d(%rip), %rdi      # 0x2f230
callq 0x229f0
leaq 0xb861(%rip), %rdi      # 0x2f250
callq 0x229f0
leaq 0xb835(%rip), %rdi      # 0x2f230
callq 0x23300
leaq 0xb829(%rip), %rdi      # 0x2f230
callq 0x229f0
movq 0xb81d(%rip), %rax      # 0x2f230
cmpq $0x100, %rax            # imm = 0x100
jne 0x23a1d
jmp 0x23a3c
leaq 0x7311(%rip), %rdi      # 0x2ad35
leaq 0x70f6(%rip), %rsi      # 0x2ab21
movl $0x1e4, %edx            # imm = 0x1E4
leaq 0x7319(%rip), %rcx      # 0x2ad50
callq 0x2100
leaq 0xb84d(%rip), %rax      # 0x2f290
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rsi
movl $0x7, %edi
callq 0x234f0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rsi
movl $0xb, %edi
callq 0x234f0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x236f0
movq %rax, %rsi
movq $-0x5, %rdi
callq 0x234f0
movq %rax, -0x10(%rbp)
leaq 0xbe92(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x23af8
leaq 0xb886(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x58c7(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x58bc(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x23af8
leaq 0xb85c(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x1ea, 0xc(%rax)       # imm = 0x1EA
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1d250
movq -0x40(%rbp), %rsi
movq %rax, %rdx
leaq 0x726e(%rip), %rdi      # 0x2ad5f
movb $0x0, %al
callq 0x28540
jmp 0x23afa
leaq 0xb70f(%rip), %rdi      # 0x2f210
callq 0x229f0
leaq 0xb723(%rip), %rdi      # 0x2f230
callq 0x229f0
movq 0xb6b7(%rip), %rax      # 0x2f1d0
cmpq $0x0, %rax
jne 0x23b21
jmp 0x23b40
leaq 0x7241(%rip), %rdi      # 0x2ad69
leaq 0x6ff2(%rip), %rsi      # 0x2ab21
movl $0x1f1, %edx            # imm = 0x1F1
leaq 0x7215(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb6a9(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x23b4f
jmp 0x23b6e
leaq 0x722e(%rip), %rdi      # 0x2ad84
leaq 0x6fc4(%rip), %rsi      # 0x2ab21
movl $0x1f2, %edx            # imm = 0x1F2
leaq 0x71e7(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb69b(%rip), %rax      # 0x2f210
cmpq $0x3, %rax
jne 0x23b7d
jmp 0x23b9c
leaq 0x721b(%rip), %rdi      # 0x2ad9f
leaq 0x6f96(%rip), %rsi      # 0x2ab21
movl $0x1f3, %edx            # imm = 0x1F3
leaq 0x71b9(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb68d(%rip), %rax      # 0x2f230
cmpq $0xfd, %rax
jne 0x23bad
jmp 0x23bcc
leaq 0x7207(%rip), %rdi      # 0x2adbb
leaq 0x6f66(%rip), %rsi      # 0x2ab21
movl $0x1f4, %edx            # imm = 0x1F4
leaq 0x7189(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x249e0
movq 0xb5f8(%rip), %rax      # 0x2f1d0
cmpq $0x3, %rax
jne 0x23be0
jmp 0x23bff
leaq 0x71f5(%rip), %rdi      # 0x2addc
leaq 0x6f33(%rip), %rsi      # 0x2ab21
movl $0x1f7, %edx            # imm = 0x1F7
leaq 0x7156(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb5ea(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x23c0e
jmp 0x23c2d
leaq 0x716f(%rip), %rdi      # 0x2ad84
leaq 0x6f05(%rip), %rsi      # 0x2ab21
movl $0x1f8, %edx            # imm = 0x1F8
leaq 0x7128(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb5dc(%rip), %rax      # 0x2f210
cmpq $0x0, %rax
jne 0x23c3c
jmp 0x23c5b
leaq 0x71b4(%rip), %rdi      # 0x2adf7
leaq 0x6ed7(%rip), %rsi      # 0x2ab21
movl $0x1f9, %edx            # imm = 0x1F9
leaq 0x70fa(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb5ce(%rip), %rax      # 0x2f230
cmpq $0xfd, %rax
jne 0x23c6c
jmp 0x23c8b
leaq 0x7148(%rip), %rdi      # 0x2adbb
leaq 0x6ea7(%rip), %rsi      # 0x2ab21
movl $0x1fa, %edx            # imm = 0x1FA
leaq 0x70ca(%rip), %rcx      # 0x2ad50
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x22e20
movq 0xb535(%rip), %rax      # 0x2f1d0
cmpq $0x2, %rax
jne 0x23ca3
jmp 0x23cc2
leaq 0x7169(%rip), %rdi      # 0x2ae13
leaq 0x6e70(%rip), %rsi      # 0x2ab21
movl $0x1fd, %edx            # imm = 0x1FD
leaq 0x7093(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb527(%rip), %rax      # 0x2f1f0
cmpq $0x1, %rax
jne 0x23cd1
jmp 0x23cf0
leaq 0x7156(%rip), %rdi      # 0x2ae2e
leaq 0x6e42(%rip), %rsi      # 0x2ab21
movl $0x1fe, %edx            # imm = 0x1FE
leaq 0x7065(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb519(%rip), %rax      # 0x2f210
cmpq $0x0, %rax
jne 0x23cff
jmp 0x23d1e
leaq 0x70f1(%rip), %rdi      # 0x2adf7
leaq 0x6e14(%rip), %rsi      # 0x2ab21
movl $0x1ff, %edx            # imm = 0x1FF
leaq 0x7037(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb50b(%rip), %rax      # 0x2f230
cmpq $0xfd, %rax
jne 0x23d2f
jmp 0x23d4e
leaq 0x7085(%rip), %rdi      # 0x2adbb
leaq 0x6de4(%rip), %rsi      # 0x2ab21
movl $0x200, %edx            # imm = 0x200
leaq 0x7007(%rip), %rcx      # 0x2ad50
callq 0x2100
movq -0x10(%rbp), %rdi
callq 0x236f0
movq %rax, %rdi
callq 0x236f0
movq %rax, %rsi
movq $-0x1, %rdi
callq 0x234f0
movq %rax, -0x8(%rbp)
leaq 0xbba7(%rip), %rax      # 0x2f920
cmpl $0x0, (%rax)
je 0x23de3
leaq 0xb59b(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
leaq 0x55dc(%rip), %rcx      # 0x2936f
movq %rcx, 0x10(%rax)
leaq 0x55d1(%rip), %rdi      # 0x2936f
callq 0x278a0
cmpl $0x0, %eax
je 0x23de3
leaq 0xb571(%rip), %rax      # 0x2f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl $0x203, 0xc(%rax)       # imm = 0x203
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x1d250
movq -0x48(%rbp), %rsi
movq %rax, %rdx
leaq 0x706d(%rip), %rdi      # 0x2ae49
movb $0x0, %al
callq 0x28540
jmp 0x23de5
movq 0xb3e4(%rip), %rax      # 0x2f1d0
cmpq $0x1, %rax
jne 0x23df4
jmp 0x23e13
leaq 0x7058(%rip), %rdi      # 0x2ae53
leaq 0x6d1f(%rip), %rsi      # 0x2ab21
movl $0x204, %edx            # imm = 0x204
leaq 0x6f42(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb3d6(%rip), %rax      # 0x2f1f0
cmpq $0x2, %rax
jne 0x23e22
jmp 0x23e41
leaq 0x7045(%rip), %rdi      # 0x2ae6e
leaq 0x6cf1(%rip), %rsi      # 0x2ab21
movl $0x205, %edx            # imm = 0x205
leaq 0x6f14(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb3c8(%rip), %rax      # 0x2f210
cmpq $0x1, %rax
jne 0x23e50
jmp 0x23e6f
leaq 0x7032(%rip), %rdi      # 0x2ae89
leaq 0x6cc3(%rip), %rsi      # 0x2ab21
movl $0x206, %edx            # imm = 0x206
leaq 0x6ee6(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb3ba(%rip), %rax      # 0x2f230
cmpq $0xfc, %rax
jne 0x23e80
jmp 0x23e9f
leaq 0x701e(%rip), %rdi      # 0x2aea5
leaq 0x6c93(%rip), %rsi      # 0x2ab21
movl $0x207, %edx            # imm = 0x207
leaq 0x6eb6(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x24c40
movl $0x1, %ecx
cmpq %rcx, %rax
jne 0x23eb0
jmp 0x23ecf
leaq 0x700f(%rip), %rdi      # 0x2aec6
leaq 0x6c63(%rip), %rsi      # 0x2ab21
movl $0x209, %edx            # imm = 0x209
leaq 0x6e86(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb2fa(%rip), %rax      # 0x2f1d0
cmpq $0x1, %rax
jne 0x23ede
jmp 0x23efd
leaq 0x6f6e(%rip), %rdi      # 0x2ae53
leaq 0x6c35(%rip), %rsi      # 0x2ab21
movl $0x20a, %edx            # imm = 0x20A
leaq 0x6e58(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb2ec(%rip), %rax      # 0x2f1f0
cmpq $0x1, %rax
jne 0x23f0c
jmp 0x23f2b
leaq 0x6f1b(%rip), %rdi      # 0x2ae2e
leaq 0x6c07(%rip), %rsi      # 0x2ab21
movl $0x20b, %edx            # imm = 0x20B
leaq 0x6e2a(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb2de(%rip), %rax      # 0x2f210
cmpq $0x2, %rax
jne 0x23f3a
jmp 0x23f59
leaq 0x6f9f(%rip), %rdi      # 0x2aee0
leaq 0x6bd9(%rip), %rsi      # 0x2ab21
movl $0x20c, %edx            # imm = 0x20C
leaq 0x6dfc(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb2d0(%rip), %rax      # 0x2f230
cmpq $0xfc, %rax
jne 0x23f6a
jmp 0x23f89
leaq 0x6f34(%rip), %rdi      # 0x2aea5
leaq 0x6ba9(%rip), %rsi      # 0x2ab21
movl $0x20d, %edx            # imm = 0x20D
leaq 0x6dcc(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x24c40
movl $0x1, %ecx
cmpq %rcx, %rax
jne 0x23f9a
jmp 0x23fb9
leaq 0x6f25(%rip), %rdi      # 0x2aec6
leaq 0x6b79(%rip), %rsi      # 0x2ab21
movl $0x20f, %edx            # imm = 0x20F
leaq 0x6d9c(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb210(%rip), %rax      # 0x2f1d0
cmpq $0x1, %rax
jne 0x23fc8
jmp 0x23fe7
leaq 0x6e84(%rip), %rdi      # 0x2ae53
leaq 0x6b4b(%rip), %rsi      # 0x2ab21
movl $0x210, %edx            # imm = 0x210
leaq 0x6d6e(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb202(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x23ff6
jmp 0x24015
leaq 0x6d87(%rip), %rdi      # 0x2ad84
leaq 0x6b1d(%rip), %rsi      # 0x2ab21
movl $0x211, %edx            # imm = 0x211
leaq 0x6d40(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb1f4(%rip), %rax      # 0x2f210
cmpq $0x3, %rax
jne 0x24024
jmp 0x24043
leaq 0x6d74(%rip), %rdi      # 0x2ad9f
leaq 0x6aef(%rip), %rsi      # 0x2ab21
movl $0x212, %edx            # imm = 0x212
leaq 0x6d12(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb1e6(%rip), %rax      # 0x2f230
cmpq $0xfc, %rax
jne 0x24054
jmp 0x24073
leaq 0x6e4a(%rip), %rdi      # 0x2aea5
leaq 0x6abf(%rip), %rsi      # 0x2ab21
movl $0x213, %edx            # imm = 0x213
leaq 0x6ce2(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x24c40
cmpq $0x0, %rax
jne 0x24080
jmp 0x2409f
leaq 0x6e75(%rip), %rdi      # 0x2aefc
leaq 0x6a93(%rip), %rsi      # 0x2ab21
movl $0x215, %edx            # imm = 0x215
leaq 0x6cb6(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb12a(%rip), %rax      # 0x2f1d0
cmpq $0x1, %rax
jne 0x240ae
jmp 0x240cd
leaq 0x6d9e(%rip), %rdi      # 0x2ae53
leaq 0x6a65(%rip), %rsi      # 0x2ab21
movl $0x216, %edx            # imm = 0x216
leaq 0x6c88(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb11c(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x240dc
jmp 0x240fb
leaq 0x6ca1(%rip), %rdi      # 0x2ad84
leaq 0x6a37(%rip), %rsi      # 0x2ab21
movl $0x217, %edx            # imm = 0x217
leaq 0x6c5a(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb10e(%rip), %rax      # 0x2f210
cmpq $0x3, %rax
jne 0x2410a
jmp 0x24129
leaq 0x6c8e(%rip), %rdi      # 0x2ad9f
leaq 0x6a09(%rip), %rsi      # 0x2ab21
movl $0x218, %edx            # imm = 0x218
leaq 0x6c2c(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb100(%rip), %rax      # 0x2f230
cmpq $0xfc, %rax
jne 0x2413a
jmp 0x24159
leaq 0x6d64(%rip), %rdi      # 0x2aea5
leaq 0x69d9(%rip), %rsi      # 0x2ab21
movl $0x219, %edx            # imm = 0x219
leaq 0x6bfc(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x24f40
movq 0xb06b(%rip), %rax      # 0x2f1d0
cmpq $0x0, %rax
jne 0x2416d
jmp 0x2418c
leaq 0x6bf5(%rip), %rdi      # 0x2ad69
leaq 0x69a6(%rip), %rsi      # 0x2ab21
movl $0x21c, %edx            # imm = 0x21C
leaq 0x6bc9(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb05d(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x2419b
jmp 0x241ba
leaq 0x6be2(%rip), %rdi      # 0x2ad84
leaq 0x6978(%rip), %rsi      # 0x2ab21
movl $0x21d, %edx            # imm = 0x21D
leaq 0x6b9b(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb04f(%rip), %rax      # 0x2f210
cmpq $0x3, %rax
jne 0x241c9
jmp 0x241e8
leaq 0x6bcf(%rip), %rdi      # 0x2ad9f
leaq 0x694a(%rip), %rsi      # 0x2ab21
movl $0x21e, %edx            # imm = 0x21E
leaq 0x6b6d(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xb041(%rip), %rax      # 0x2f230
cmpq $0xfd, %rax
jne 0x241f9
jmp 0x24218
leaq 0x6bbb(%rip), %rdi      # 0x2adbb
leaq 0x691a(%rip), %rsi      # 0x2ab21
movl $0x21f, %edx            # imm = 0x21F
leaq 0x6b3d(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x249e0
movq 0xafac(%rip), %rax      # 0x2f1d0
cmpq $0x3, %rax
jne 0x2422c
jmp 0x2424b
leaq 0x6ba9(%rip), %rdi      # 0x2addc
leaq 0x68e7(%rip), %rsi      # 0x2ab21
movl $0x222, %edx            # imm = 0x222
leaq 0x6b0a(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xaf9e(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x2425a
jmp 0x24279
leaq 0x6b23(%rip), %rdi      # 0x2ad84
leaq 0x68b9(%rip), %rsi      # 0x2ab21
movl $0x223, %edx            # imm = 0x223
leaq 0x6adc(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xaf90(%rip), %rax      # 0x2f210
cmpq $0x0, %rax
jne 0x24288
jmp 0x242a7
leaq 0x6b68(%rip), %rdi      # 0x2adf7
leaq 0x688b(%rip), %rsi      # 0x2ab21
movl $0x224, %edx            # imm = 0x224
leaq 0x6aae(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xaf82(%rip), %rax      # 0x2f230
cmpq $0xfd, %rax
jne 0x242b8
jmp 0x242d7
leaq 0x6afc(%rip), %rdi      # 0x2adbb
leaq 0x685b(%rip), %rsi      # 0x2ab21
movl $0x225, %edx            # imm = 0x225
leaq 0x6a7e(%rip), %rcx      # 0x2ad50
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x22e20
movq 0xaee9(%rip), %rax      # 0x2f1d0
cmpq $0x2, %rax
jne 0x242ef
jmp 0x2430e
leaq 0x6b1d(%rip), %rdi      # 0x2ae13
leaq 0x6824(%rip), %rsi      # 0x2ab21
movl $0x228, %edx            # imm = 0x228
leaq 0x6a47(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xaedb(%rip), %rax      # 0x2f1f0
cmpq $0x1, %rax
jne 0x2431d
jmp 0x2433c
leaq 0x6b0a(%rip), %rdi      # 0x2ae2e
leaq 0x67f6(%rip), %rsi      # 0x2ab21
movl $0x229, %edx            # imm = 0x229
leaq 0x6a19(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xaecd(%rip), %rax      # 0x2f210
cmpq $0x0, %rax
jne 0x2434b
jmp 0x2436a
leaq 0x6aa5(%rip), %rdi      # 0x2adf7
leaq 0x67c8(%rip), %rsi      # 0x2ab21
movl $0x22a, %edx            # imm = 0x22A
leaq 0x69eb(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xaebf(%rip), %rax      # 0x2f230
cmpq $0xfd, %rax
jne 0x2437b
jmp 0x2439a
leaq 0x6a39(%rip), %rdi      # 0x2adbb
leaq 0x6798(%rip), %rsi      # 0x2ab21
movl $0x22b, %edx            # imm = 0x22B
leaq 0x69bb(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x24c40
movl $0x1, %ecx
cmpq %rcx, %rax
jne 0x243ab
jmp 0x243ca
leaq 0x6b14(%rip), %rdi      # 0x2aec6
leaq 0x6768(%rip), %rsi      # 0x2ab21
movl $0x22d, %edx            # imm = 0x22D
leaq 0x698b(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xadff(%rip), %rax      # 0x2f1d0
cmpq $0x2, %rax
jne 0x243d9
jmp 0x243f8
leaq 0x6a33(%rip), %rdi      # 0x2ae13
leaq 0x673a(%rip), %rsi      # 0x2ab21
movl $0x22e, %edx            # imm = 0x22E
leaq 0x695d(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xadf1(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x24407
jmp 0x24426
leaq 0x6976(%rip), %rdi      # 0x2ad84
leaq 0x670c(%rip), %rsi      # 0x2ab21
movl $0x22f, %edx            # imm = 0x22F
leaq 0x692f(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xade3(%rip), %rax      # 0x2f210
cmpq $0x1, %rax
jne 0x24435
jmp 0x24454
leaq 0x6a4d(%rip), %rdi      # 0x2ae89
leaq 0x66de(%rip), %rsi      # 0x2ab21
movl $0x230, %edx            # imm = 0x230
leaq 0x6901(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xadd5(%rip), %rax      # 0x2f230
cmpq $0xfd, %rax
jne 0x24465
jmp 0x24484
leaq 0x694f(%rip), %rdi      # 0x2adbb
leaq 0x66ae(%rip), %rsi      # 0x2ab21
movl $0x231, %edx            # imm = 0x231
leaq 0x68d1(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x24c40
cmpq $0x0, %rax
jne 0x24491
jmp 0x244b0
leaq 0x6a64(%rip), %rdi      # 0x2aefc
leaq 0x6682(%rip), %rsi      # 0x2ab21
movl $0x233, %edx            # imm = 0x233
leaq 0x68a5(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xad19(%rip), %rax      # 0x2f1d0
cmpq $0x2, %rax
jne 0x244bf
jmp 0x244de
leaq 0x694d(%rip), %rdi      # 0x2ae13
leaq 0x6654(%rip), %rsi      # 0x2ab21
movl $0x234, %edx            # imm = 0x234
leaq 0x6877(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xad0b(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x244ed
jmp 0x2450c
leaq 0x6890(%rip), %rdi      # 0x2ad84
leaq 0x6626(%rip), %rsi      # 0x2ab21
movl $0x235, %edx            # imm = 0x235
leaq 0x6849(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xacfd(%rip), %rax      # 0x2f210
cmpq $0x1, %rax
jne 0x2451b
jmp 0x2453a
leaq 0x6967(%rip), %rdi      # 0x2ae89
leaq 0x65f8(%rip), %rsi      # 0x2ab21
movl $0x236, %edx            # imm = 0x236
leaq 0x681b(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xacef(%rip), %rax      # 0x2f230
cmpq $0xfd, %rax
jne 0x2454b
jmp 0x2456a
leaq 0x6869(%rip), %rdi      # 0x2adbb
leaq 0x65c8(%rip), %rsi      # 0x2ab21
movl $0x237, %edx            # imm = 0x237
leaq 0x67eb(%rip), %rcx      # 0x2ad50
callq 0x2100
callq 0x24f40
movq 0xac5a(%rip), %rax      # 0x2f1d0
cmpq $0x0, %rax
jne 0x2457e
jmp 0x2459d
leaq 0x67e4(%rip), %rdi      # 0x2ad69
leaq 0x6595(%rip), %rsi      # 0x2ab21
movl $0x23a, %edx            # imm = 0x23A
leaq 0x67b8(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xac4c(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x245ac
jmp 0x245cb
leaq 0x67d1(%rip), %rdi      # 0x2ad84
leaq 0x6567(%rip), %rsi      # 0x2ab21
movl $0x23b, %edx            # imm = 0x23B
leaq 0x678a(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xac3e(%rip), %rax      # 0x2f210
cmpq $0x1, %rax
jne 0x245da
jmp 0x245f9
leaq 0x68a8(%rip), %rdi      # 0x2ae89
leaq 0x6539(%rip), %rsi      # 0x2ab21
movl $0x23c, %edx            # imm = 0x23C
leaq 0x675c(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xac30(%rip), %rax      # 0x2f230
cmpq $0xff, %rax
jne 0x2460a
jmp 0x24629
leaq 0x6906(%rip), %rdi      # 0x2af17
leaq 0x6509(%rip), %rsi      # 0x2ab21
movl $0x23d, %edx            # imm = 0x23D
leaq 0x672c(%rip), %rcx      # 0x2ad50
callq 0x2100
movq -0x8(%rbp), %rdi
callq 0x22d10
movq 0xab97(%rip), %rax      # 0x2f1d0
cmpq $0x0, %rax
jne 0x24641
jmp 0x24660
leaq 0x6721(%rip), %rdi      # 0x2ad69
leaq 0x64d2(%rip), %rsi      # 0x2ab21
movl $0x240, %edx            # imm = 0x240
leaq 0x66f5(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xab89(%rip), %rax      # 0x2f1f0
cmpq $0x0, %rax
jne 0x2466f
jmp 0x2468e
leaq 0x670e(%rip), %rdi      # 0x2ad84
leaq 0x64a4(%rip), %rsi      # 0x2ab21
movl $0x241, %edx            # imm = 0x241
leaq 0x66c7(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xab7b(%rip), %rax      # 0x2f210
cmpq $0x1, %rax
jne 0x2469d
jmp 0x246bc
leaq 0x67e5(%rip), %rdi      # 0x2ae89
leaq 0x6476(%rip), %rsi      # 0x2ab21
movl $0x242, %edx            # imm = 0x242
leaq 0x6699(%rip), %rcx      # 0x2ad50
callq 0x2100
movq 0xab6d(%rip), %rax      # 0x2f230
cmpq $0xff, %rax
jne 0x246cd
jmp 0x246ec
leaq 0x6843(%rip), %rdi      # 0x2af17
leaq 0x6446(%rip), %rsi      # 0x2ab21
movl $0x243, %edx            # imm = 0x243
leaq 0x6669(%rip), %rcx      # 0x2ad50
callq 0x2100
leaq 0xaadd(%rip), %rdi      # 0x2f1d0
callq 0x229f0
leaq 0xaaf1(%rip), %rdi      # 0x2f1f0
callq 0x229f0
leaq 0xab05(%rip), %rdi      # 0x2f210
callq 0x229f0
leaq 0xab19(%rip), %rdi      # 0x2f230
callq 0x229f0
leaq 0xab2d(%rip), %rdi      # 0x2f250
callq 0x229f0
movl $0x24a, -0x2c(%rbp)     # imm = 0x24A
leaq -0x38(%rbp), %rdi
callq 0x28660
addq $0x50, %rsp
popq %rbp
retq
nop