// File: /workspace/github_c_makefile_star2_O3/dalnefre[P]kernel_abe/schemer.c
// Function: test_schemer
void
test_schemer(CONFIG* cfg)
{
	DBUG_ENTER("test_schemer");
	TRACE(printf("--test_schemer--\n"));

	assert_reduce(cfg, "0", "0");
	assert_reduce(cfg, "1", "1");
	assert_reduce(cfg, "_", "_");	/* NOTE: this is non-standard */

	assert_reduce(cfg, "#t", "#t");
	assert_reduce(cfg, "#f", "#f");
	assert_reduce(cfg, "true", "#t");
	assert_reduce(cfg, "false", "#f");

	assert_reduce(cfg, "()", "()");			/* FIXME: this SHOULD signal FAILURE! */
	assert_reduce(cfg, "()", "NIL");		/* FIXME: this SHOULD signal FAILURE! */
	assert_reduce(cfg, "undefined", "(FAILURE! unknown-symbol undefined)");
	
	assert_reduce(cfg, "(quote 0)", "0");
	assert_reduce(cfg, "(quote x)", "x");
	assert_reduce(cfg, "(quote true)", "true");
	assert_reduce(cfg, "(quote ())", "()");
	assert_reduce(cfg, "(quote (x))", "(x)");
	assert_reduce(cfg, "(quote (x y))", "(x y)");
	assert_reduce(cfg, "(quote ((x) y))", "((x) y)");

	assert_reduce(cfg, "'y", "y");
	assert_reduce(cfg, "'()", "NIL");
	assert_reduce(cfg, "'(a b c)", "(a b c)");

	assert_reduce(cfg, "(define z -1)", "ok");	/* NOTE: this is unspecified */
	assert_reduce(cfg, "z", "-1");
	assert_reduce(cfg, "(define z 1)", "redefined");	/* NOTE: this is unspecified */
	assert_reduce(cfg, "(begin (define z 0) z)", "0");
	assert_reduce(cfg, "(list 1 2 3)", "(1 2 3)");
	assert_reduce(cfg, "(list z 0)", "(0 0)");
	assert_reduce(cfg, "(list)", "()");
	assert_reduce(cfg, "(list 'z)", "(z)");
	assert_reduce(cfg, "(list 'x '(y))", "(x (y))");

	assert_reduce(cfg, "(cons 0 NIL)", "(0)");
	assert_reduce(cfg, "(cons 0 (cons 1 '()))", "(0 1)");
	assert_reduce(cfg, "(cons 0 (quote (1)))", "(0 1)");
	assert_reduce(cfg, "(cons 'x '(y))", "(x y)");
	assert_reduce(cfg, "(car '(x))", "x");
	assert_reduce(cfg, "(cdr '(x))", "()");
	assert_reduce(cfg, "(car '(x y))", "x");
	assert_reduce(cfg, "(cdr '(x y))", "(y)");
	assert_reduce(cfg, "(car (cons #t #f))", "#t");
	assert_reduce(cfg, "(cdr (cons #t #f))", "#f");

	assert_reduce(cfg, "(cond (#f 0) (#t 1))", "1");
	assert_reduce(cfg, "(cond (true 0) (else 1))", "0");
	assert_reduce(cfg, "(cond (false 'no) (else 'or 'yes))", "yes");
#if 0 /* "if" is now defined in "library.scm" */
	assert_reduce(cfg, "(if (eq? true #f) #t #f)", "#f");
	assert_reduce(cfg, "(if (eq? false #f) #t #f)", "#t");
#endif

	assert_reduce(cfg, "((lambda (x) x) 1)", "1");
	assert_reduce(cfg, "(((lambda (x) (lambda (y) (list '+ x y))) 3) 4)", "(+ 3 4)");

	assert_reduce(cfg, "(eq? 0 0)", "#t");
	assert_reduce(cfg, "(eq? 0 1)", "#f");
	assert_reduce(cfg, "(eq? NIL '())", "#t");
	assert_reduce(cfg, "(eq? NIL 0)", "#f");
	assert_reduce(cfg, "(eq? 'x 'x)", "#t");
	assert_reduce(cfg, "(eq? '() '())", "#t");
	assert_reduce(cfg, "(eq? '(x) '(x))", "#f");
	assert_reduce(cfg, "(eq? (cons 0 1) (cons 0 1))", "#f");
	assert_reduce(cfg, "(eq? (car (cons 0 1)) 0)", "#t");
	assert_reduce(cfg, "(eq? (cdr (cons 0 1)) 1)", "#t");

	assert_reduce(cfg, "(pair? #t)", "#f");
	assert_reduce(cfg, "(pair? 0)", "#f");
	assert_reduce(cfg, "(pair? 'x)", "#f");
	assert_reduce(cfg, "(pair? '())", "#f");
	assert_reduce(cfg, "(pair? '(0))", "#t");
	assert_reduce(cfg, "(pair? (cons 0 1))", "#t");
	
	assert_reduce(cfg, "(symbol? #t)", "#f");
	assert_reduce(cfg, "(symbol? 0)", "#f");
	assert_reduce(cfg, "(symbol? 'x)", "#t");
	assert_reduce(cfg, "(symbol? '())", "#f");
	assert_reduce(cfg, "(symbol? '(0))", "#f");
	assert_reduce(cfg, "(symbol? (cons 0 1))", "#f");
	
	assert_reduce(cfg, "(boolean? #t)", "#t");
	assert_reduce(cfg, "(boolean? 0)", "#f");
	assert_reduce(cfg, "(boolean? 'x)", "#f");
	assert_reduce(cfg, "(boolean? '())", "#f");
	assert_reduce(cfg, "(boolean? '(0))", "#f");
	assert_reduce(cfg, "(boolean? (cons 0 1))", "#f");
	
	assert_reduce(cfg, "(number? #t)", "#f");
	assert_reduce(cfg, "(number? 0)", "#t");
	assert_reduce(cfg, "(number? 'x)", "#f");
	assert_reduce(cfg, "(number? '())", "#f");
	assert_reduce(cfg, "(number? '(0))", "#f");
	assert_reduce(cfg, "(number? (cons 0 1))", "#f");

	assert_reduce(cfg, "(and)", "#t");
	assert_reduce(cfg, "(and false)", "#f");
	assert_reduce(cfg, "(and true)", "#t");
	assert_reduce(cfg, "(and false false)", "#f");
	assert_reduce(cfg, "(and false true)", "#f");
	assert_reduce(cfg, "(and true false)", "#f");
	assert_reduce(cfg, "(and true true)", "#t");
	assert_reduce(cfg, "(and 0 1 2)", "2");

	assert_reduce(cfg, "(or)", "#f");
	assert_reduce(cfg, "(or false)", "#f");
	assert_reduce(cfg, "(or true)", "#t");
	assert_reduce(cfg, "(or false false)", "#f");
	assert_reduce(cfg, "(or false true)", "#t");
	assert_reduce(cfg, "(or true false)", "#t");
	assert_reduce(cfg, "(or true true)", "#t");
	assert_reduce(cfg, "(or 0 1 2)", "0");

	assert_reduce(cfg, "(+)", "0");
	assert_reduce(cfg, "(+ 2)", "2");
	assert_reduce(cfg, "(+ 0 0)", "0");
	assert_reduce(cfg, "(+ 0 2)", "2");
	assert_reduce(cfg, "(+ 2 0)", "2");
	assert_reduce(cfg, "(+ 2 3)", "5");
	assert_reduce(cfg, "(+ 1 2 3)", "6");

	assert_reduce(cfg, "(- 2)", "-2");
	assert_reduce(cfg, "(- 0 0)", "0");
	assert_reduce(cfg, "(- 0 2)", "-2");
	assert_reduce(cfg, "(- 2 0)", "2");
	assert_reduce(cfg, "(- 2 3)", "-1");
	assert_reduce(cfg, "(- 1 2 3)", "-4");

	assert_reduce(cfg, "(*)", "1");
	assert_reduce(cfg, "(* 2)", "2");
	assert_reduce(cfg, "(* 0 0)", "0");
	assert_reduce(cfg, "(* 0 2)", "0");
	assert_reduce(cfg, "(* 2 0)", "0");
	assert_reduce(cfg, "(* 2 3)", "6");
	assert_reduce(cfg, "(* 1 2 3)", "6");

	assert_reduce(cfg, "(< 0 0)", "#f");
	assert_reduce(cfg, "(< 0 1)", "#t");
	assert_reduce(cfg, "(< 1 0)", "#f");
	assert_reduce(cfg, "(< 0 1 2)", "#t");
	assert_reduce(cfg, "(< 2 1 0)", "#f");

	assert_reduce(cfg, "(> 0 0)", "#f");
	assert_reduce(cfg, "(> 0 1)", "#f");
	assert_reduce(cfg, "(> 1 0)", "#t");
	assert_reduce(cfg, "(> 0 1 2)", "#f");
	assert_reduce(cfg, "(> 2 1 0)", "#t");
	
	assert_reduce(cfg, "(+ 1 (call/cc (lambda (esc) (+ 2 (esc 3)))))", "4");

#if 0
	assert_reduce("((template (x) (literal x)) 0)", "0");
	assert_reduce("((template (x y) (literal (y x))) TRUE FALSE)", "(FALSE TRUE)");
	assert_reduce("((template (x y) (literal (y x))) foo bar)", "(bar foo)");
	reduce_line(reduce_cfg, "(define 2tuple (template (x y) (prepend x (prepend y ()))))", a_sink);
	assert_reduce("(2tuple () (sum 1 2))", "(() 3)");
	
	assert_reduce("((function (x) (prepend x ())) 0)", "(0)");
	assert_reduce("((function (x) (if x FALSE TRUE)) TRUE)", "FALSE");
	assert_reduce("((function (x) (if x FALSE TRUE)) FALSE)", "TRUE");	
	assert_reduce("((function (x) (list (literal Hello) x)) (literal World))", "(Hello World)");
	assert_reduce("(((function (x) (function (y) (sum x y))) 3) 4)", "7");
	reduce_line(reduce_cfg, "(define fact (function (n) (if (zero? n) 1 (product n (fact (sum n -1))))))", a_sink);
	assert_reduce("(fact 3)", "6");

	assert_reduce("(reduce 0)", "0");
	assert_reduce("(reduce (literal (equal? 0 0)))", "TRUE");

	report_actor_usage(reduce_cfg);
#endif

	DBUG_RETURN;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
leaq 0xc399(%rip), %rax      # 0x18617
movq %rsp, %rdi
movq %rax, (%rdi)
leaq 0x13095(%rip), %rax     # 0x1f320
movq (%rax), %rax
movq 0x50(%rax), %rax
movl 0x8(%rax), %ecx
movl %ecx, 0x8(%rdi)
movl $0xa2c, 0xc(%rdi)       # imm = 0xA2C
leaq 0xe73a(%rip), %rcx      # 0x1a9e0
movq %rcx, 0x10(%rdi)
leaq 0x12e8f(%rip), %rcx     # 0x1f140
movq %rcx, 0x18(%rdi)
movq %rax, 0x20(%rdi)
callq 0x16ea2
leaq 0xcb4c(%rip), %rdi      # 0x18e11
callq 0x20a0
leaq 0xdb21(%rip), %r13      # 0x19df2
movq %r14, %rdi
movq %r13, %rsi
movq %r13, %rdx
callq 0xcc5f
leaq 0xddf2(%rip), %rdx      # 0x1a0d8
movq %r14, %rdi
movq %rdx, %rsi
callq 0xcc5f
leaq 0xc32c(%rip), %rdx      # 0x18624
movq %r14, %rdi
movq %rdx, %rsi
callq 0xcc5f
leaq 0xc31c(%rip), %r15      # 0x18626
movq %r14, %rdi
movq %r15, %rsi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc30a(%rip), %r12      # 0x18629
movq %r14, %rdi
movq %r12, %rsi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc034(%rip), %rbx      # 0x18368
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc019(%rip), %rsi      # 0x18362
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc367(%rip), %rbp      # 0x186c2
movq %r14, %rdi
movq %rbp, %rsi
movq %rbp, %rdx
callq 0xcc5f
leaq 0xe392(%rip), %r15      # 0x1a702
movq %r14, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc2a7(%rip), %rsi      # 0x1862c
leaq 0xc2aa(%rip), %rdx      # 0x18636
movq %r14, %rdi
callq 0xcc5f
leaq 0xc2bf(%rip), %rsi      # 0x1865a
movq %r14, %rdi
movq %r13, %rdx
callq 0xcc5f
leaq 0xc2b7(%rip), %rsi      # 0x18664
leaq 0xdbeb(%rip), %rdx      # 0x19f9f
movq %r14, %rdi
callq 0xcc5f
leaq 0xc2ab(%rip), %rsi      # 0x1866e
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc2a6(%rip), %rsi      # 0x1867b
movq %r14, %rdi
movq %rbp, %rdx
callq 0xcc5f
leaq 0xc29f(%rip), %rsi      # 0x18686
leaq 0xe11b(%rip), %rdx      # 0x1a509
movq %r14, %rdi
callq 0xcc5f
leaq 0xc295(%rip), %rsi      # 0x18692
leaq 0xc29c(%rip), %rdx      # 0x186a0
movq %r14, %rdi
callq 0xcc5f
leaq 0xc293(%rip), %rsi      # 0x186a6
leaq 0xc29c(%rip), %rdx      # 0x186b6
movq %r14, %rdi
callq 0xcc5f
leaq 0xc295(%rip), %rsi      # 0x186be
leaq 0xc28f(%rip), %rdx      # 0x186bf
movq %r14, %rdi
callq 0xcc5f
leaq 0xc282(%rip), %rsi      # 0x186c1
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc274(%rip), %rsi      # 0x186c5
leaq 0xc26e(%rip), %rdx      # 0x186c6
movq %r14, %rdi
callq 0xcc5f
leaq 0xc267(%rip), %rsi      # 0x186ce
leaq 0xbc65(%rip), %rdx      # 0x180d3
movq %r14, %rdi
callq 0xcc5f
leaq 0xc25f(%rip), %rsi      # 0x186dc
leaq 0xc25a(%rip), %rdx      # 0x186de
movq %r14, %rdi
callq 0xcc5f
leaq 0xc24e(%rip), %rsi      # 0x186e1
leaq 0xbc2f(%rip), %rdx      # 0x180c9
movq %r14, %rdi
callq 0xcc5f
leaq 0xc245(%rip), %rsi      # 0x186ee
movq %r14, %rdi
movq %r13, %rdx
callq 0xcc5f
leaq 0xc24a(%rip), %rsi      # 0x18705
leaq 0xc250(%rip), %rdx      # 0x18712
movq %r14, %rdi
callq 0xcc5f
leaq 0xc249(%rip), %rsi      # 0x1871a
leaq 0xc24d(%rip), %rdx      # 0x18725
movq %r14, %rdi
callq 0xcc5f
leaq 0xd965(%rip), %rsi      # 0x19e4c
movq %r14, %rdi
movq %rbp, %rdx
callq 0xcc5f
leaq 0xc232(%rip), %rsi      # 0x1872b
leaq 0xc235(%rip), %rdx      # 0x18735
movq %r14, %rdi
callq 0xcc5f
leaq 0xc22a(%rip), %rsi      # 0x18739
leaq 0xc232(%rip), %rdx      # 0x18748
movq %r14, %rdi
callq 0xcc5f
leaq 0xc22b(%rip), %rsi      # 0x18750
leaq 0xe36c(%rip), %rdx      # 0x1a898
movq %r14, %rdi
callq 0xcc5f
leaq 0xc222(%rip), %rsi      # 0x1875d
leaq 0xc231(%rip), %rbx      # 0x18773
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc225(%rip), %rsi      # 0x18779
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc228(%rip), %rsi      # 0x1878e
movq %r14, %rdi
leaq 0xc130(%rip), %rdx      # 0x186a0
callq 0xcc5f
leaq 0xc221(%rip), %rsi      # 0x1879d
movq %r14, %rdi
leaq 0xda19(%rip), %rbx      # 0x19f9f
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc213(%rip), %rsi      # 0x187a8
movq %r14, %rdi
movq %rbp, %rdx
callq 0xcc5f
leaq 0xc20c(%rip), %rsi      # 0x187b3
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc207(%rip), %rsi      # 0x187c0
leaq 0xdf6f(%rip), %rdx      # 0x1a52f
movq %r14, %rdi
callq 0xcc5f
leaq 0xc1fe(%rip), %rsi      # 0x187cd
movq %r14, %rdi
leaq 0xc04d(%rip), %r15      # 0x18626
movq %r15, %rdx
callq 0xcc5f
leaq 0xc1f8(%rip), %rsi      # 0x187e0
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1f9(%rip), %rsi      # 0x187f3
movq %r14, %rdi
leaq 0xdad4(%rip), %rbx      # 0x1a0d8
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc1f5(%rip), %rsi      # 0x18808
movq %r14, %rdi
movq %r13, %rdx
callq 0xcc5f
leaq 0xc1fc(%rip), %rsi      # 0x18821
leaq 0xc218(%rip), %rdx      # 0x18844
movq %r14, %rdi
callq 0xcc5f
leaq 0xc20d(%rip), %rsi      # 0x18848
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc20e(%rip), %rsi      # 0x1885b
leaq 0xc237(%rip), %rdx      # 0x1888b
movq %r14, %rdi
callq 0xcc5f
leaq 0xc230(%rip), %rsi      # 0x18893
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc228(%rip), %rsi      # 0x1889d
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc220(%rip), %rsi      # 0x188a7
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc21c(%rip), %rsi      # 0x188b5
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc216(%rip), %rsi      # 0x188c1
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc210(%rip), %rsi      # 0x188cd
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc20c(%rip), %rsi      # 0x188db
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc20a(%rip), %rsi      # 0x188eb
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc214(%rip), %rsi      # 0x18907
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc21b(%rip), %rsi      # 0x18920
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc222(%rip), %rsi      # 0x18939
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc21b(%rip), %rsi      # 0x18944
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc213(%rip), %rsi      # 0x1894e
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc20c(%rip), %rsi      # 0x18959
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc206(%rip), %rsi      # 0x18965
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc201(%rip), %rsi      # 0x18972
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc202(%rip), %rsi      # 0x18985
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1fd(%rip), %rsi      # 0x18992
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1f7(%rip), %rsi      # 0x1899e
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc1f2(%rip), %rsi      # 0x189ab
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1ee(%rip), %rsi      # 0x189b9
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1eb(%rip), %rsi      # 0x189c8
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1ee(%rip), %rsi      # 0x189dd
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc1ea(%rip), %rsi      # 0x189eb
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1e5(%rip), %rsi      # 0x189f8
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1e1(%rip), %rsi      # 0x18a06
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1de(%rip), %rsi      # 0x18a15
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1dc(%rip), %rsi      # 0x18a25
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1e0(%rip), %rsi      # 0x18a3b
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1db(%rip), %rsi      # 0x18a48
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc1d5(%rip), %rsi      # 0x18a54
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1d0(%rip), %rsi      # 0x18a61
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1cc(%rip), %rsi      # 0x18a6f
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1c9(%rip), %rsi      # 0x18a7e
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1cc(%rip), %rsi      # 0x18a93
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc1c0(%rip), %rsi      # 0x18a99
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1ba(%rip), %rsi      # 0x18aa5
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc1b3(%rip), %rsi      # 0x18ab0
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1b3(%rip), %rsi      # 0x18ac2
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1b2(%rip), %rsi      # 0x18ad3
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc1b1(%rip), %rsi      # 0x18ae4
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc1af(%rip), %rsi      # 0x18af4
leaq 0xd74c(%rip), %rbx      # 0x1a098
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc1a2(%rip), %rsi      # 0x18b00
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc195(%rip), %rsi      # 0x18b05
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc18e(%rip), %rsi      # 0x18b10
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc186(%rip), %rsi      # 0x18b1a
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc185(%rip), %rsi      # 0x18b2b
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc183(%rip), %rsi      # 0x18b3b
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc181(%rip), %rsi      # 0x18b4b
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc17e(%rip), %rsi      # 0x18b5a
movq %r14, %rdi
movq %r13, %rdx
callq 0xcc5f
leaq 0xc177(%rip), %rsi      # 0x18b65
movq %r14, %rdi
movq %r13, %rdx
movq %r13, %r15
callq 0xcc5f
leaq 0xc166(%rip), %rsi      # 0x18b69
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc15a(%rip), %rsi      # 0x18b6f
movq %r14, %rdi
movq %r13, %rdx
callq 0xcc5f
leaq 0xc150(%rip), %rsi      # 0x18b77
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc146(%rip), %rsi      # 0x18b7f
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc13c(%rip), %rsi      # 0x18b87
leaq 0xc13d(%rip), %rdx      # 0x18b8f
movq %r14, %rdi
callq 0xcc5f
leaq 0xc130(%rip), %rsi      # 0x18b91
leaq 0xc133(%rip), %r13      # 0x18b9b
movq %r14, %rdi
movq %r13, %rdx
callq 0xcc5f
leaq 0xc123(%rip), %rsi      # 0x18b9d
leaq 0xc122(%rip), %rbp      # 0x18ba3
movq %r14, %rdi
movq %rbp, %rdx
callq 0xcc5f
leaq 0xc113(%rip), %rsi      # 0x18ba6
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc109(%rip), %rsi      # 0x18bae
movq %r14, %rdi
movq %rbp, %rdx
callq 0xcc5f
leaq 0xc0ff(%rip), %rsi      # 0x18bb6
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc0f5(%rip), %rsi      # 0x18bbe
movq %r14, %rdi
leaq 0xbc0b(%rip), %rdx      # 0x186de
callq 0xcc5f
leaq 0xc0e7(%rip), %rsi      # 0x18bc6
leaq 0xc0ea(%rip), %rdx      # 0x18bd0
movq %r14, %rdi
callq 0xcc5f
leaq 0xc0de(%rip), %rsi      # 0x18bd3
movq %r14, %rdi
leaq 0xd5d9(%rip), %rdx      # 0x1a0d8
callq 0xcc5f
leaq 0xc0cc(%rip), %rsi      # 0x18bd7
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc0c0(%rip), %rsi      # 0x18bdd
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc0b6(%rip), %rsi      # 0x18be5
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc0ac(%rip), %rsi      # 0x18bed
movq %r14, %rdi
movq %r15, %rdx
callq 0xcc5f
leaq 0xc0a2(%rip), %rsi      # 0x18bf5
movq %r14, %rdi
movq %r13, %rdx
callq 0xcc5f
leaq 0xc098(%rip), %rsi      # 0x18bfd
movq %r14, %rdi
movq %r13, %rdx
callq 0xcc5f
leaq 0xc090(%rip), %rsi      # 0x18c07
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc086(%rip), %rsi      # 0x18c0f
movq %r14, %rdi
leaq 0xba93(%rip), %rbx      # 0x18626
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc075(%rip), %rsi      # 0x18c17
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc06b(%rip), %rsi      # 0x18c1f
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc063(%rip), %rsi      # 0x18c29
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc05b(%rip), %rsi      # 0x18c33
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc051(%rip), %rsi      # 0x18c3b
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc047(%rip), %rsi      # 0x18c43
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc03d(%rip), %rsi      # 0x18c4b
movq %r14, %rdi
movq %r12, %rdx
callq 0xcc5f
leaq 0xc035(%rip), %rsi      # 0x18c55
movq %r14, %rdi
movq %rbx, %rdx
callq 0xcc5f
leaq 0xc02d(%rip), %rsi      # 0x18c5f
leaq 0xdbe0(%rip), %rdx      # 0x1a819
movq %r14, %rdi
callq 0xcc5f
movq %rsp, %rdi
movl $0xadb, 0xc(%rdi)       # imm = 0xADB
callq 0x17027
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq