// File: /workspace/github_c_makefile_star2_O2/Ihsoh[P]ilang/compiler/preprocessor/evaluator.c
// Function: eval_expr
static int _eval_expr(
	PPGeneratorContext *genctx,
	ParserASTNode *node
) {
	assert(genctx);
	assert(node);

	switch (node->type) {
		case _NODE_EXPR: {
			assert(node->nchilds == 1);
			return _eval_expr(genctx, node->childs[0]);
		}

		case _NODE_EXPR_OR: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				|| _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_AND: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				&& _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_BOR: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				| _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_BXOR: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				^ _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_BAND: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				& _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_EQ: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				== _eval_expr(genctx, node->childs[1]);
		}
		case _NODE_EXPR_NEQ: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				!= _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_LT: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				< _eval_expr(genctx, node->childs[1]);
		}
		case _NODE_EXPR_LE: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				<= _eval_expr(genctx, node->childs[1]);
		}
		case _NODE_EXPR_GT: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				> _eval_expr(genctx, node->childs[1]);
		}
		case _NODE_EXPR_GE: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				>= _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_SHIFT_LEFT: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				<< _eval_expr(genctx, node->childs[1]);
		}
		case _NODE_EXPR_SHIFT_RIGHT: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				>> _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_ADD: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				+ _eval_expr(genctx, node->childs[1]);
		}
		case _NODE_EXPR_SUB: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				- _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_MUL: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				* _eval_expr(genctx, node->childs[1]);
		}
		case _NODE_EXPR_DIV: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				/ _eval_expr(genctx, node->childs[1]);
		}
		case _NODE_EXPR_MOD: {
			assert(node->nchilds == 2);
			return _eval_expr(genctx, node->childs[0])
				% _eval_expr(genctx, node->childs[1]);
		}

		case _NODE_EXPR_NOT: {
			assert(node->nchilds == 1);
			return !_eval_expr(genctx, node->childs[0]);
		}
		case _NODE_EXPR_BNOT: {
			assert(node->nchilds == 1);
			return ~_eval_expr(genctx, node->childs[0]);
		}
		case _NODE_EXPR_POSITIVE: {
			assert(node->nchilds == 1);
			return +_eval_expr(genctx, node->childs[0]);
		}
		case _NODE_EXPR_NEGATIVE: {
			assert(node->nchilds == 1);
			return -_eval_expr(genctx, node->childs[0]);
		}
		case _NODE_EXPR_DEFINED: {
			assert(node->nchilds == 1);
			
			ParserASTNode *child = node->childs[0];
			assert(child->type == _NODE_IDENTIFIER);

			LexerToken *token = child->token;
			assert(token->type == _TOKEN_IDENTIFIER);

			int result;

			ResizableString key;
			rstr_init_with_raw(&key, token->content, token->len);
			if (map_exists_key(genctx->map_kv, &key)) {
				result = 1;
			} else {
				result = 0;
			}
			rstr_free(&key);

			return result;
		}
		case _NODE_EXPR_STREQ: {
			assert(node->nchilds == 2);

			ParserASTNode *node_param1 = node->childs[0];
			ResizableString rstr_param1;
			rstr_init(&rstr_param1);
			_get_string_from_node(genctx, &rstr_param1, node_param1);

			ParserASTNode *node_param2 = node->childs[1];
			ResizableString rstr_param2;
			rstr_init(&rstr_param2);
			_get_string_from_node(genctx, &rstr_param2, node_param2);

			int result = rstr_compare(&rstr_param1, &rstr_param2) ? 1 : 0;

			rstr_free(&rstr_param1);
			rstr_free(&rstr_param2);

			return result;
		}
		case _NODE_EXPR_ATOM: {
			return _eval_expr_atom(genctx, node);
		}

		default: {
			assert(0);
			return 0;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
movq %rdi, %rbx
xorl %r13d, %r13d
leaq 0x10d63(%rip), %r15     # 0x34694
testq %r14, %r14
je 0x241a1
movl (%r14), %eax
leal -0xea0(%rax), %ecx
cmpl $0x15, %ecx
jbe 0x2395b
cmpl $0xe00, %eax            # imm = 0xE00
jne 0x23978
cmpl $0x1, 0x44(%r14)
je 0x2396f
jmp 0x241df
movslq (%r15,%rcx,4), %rax
addq %r15, %rax
jmpq *%rax
cmpl $0x1, 0x44(%r14)
jne 0x241fe
movq 0x48(%r14), %rax
movq (%rax), %r14
jmp 0x23931
leal -0xe70(%rax), %ecx
cmpl $0x3, %ecx
jbe 0x23adc
cmpl $0xe10, %eax            # imm = 0xE10
je 0x23d08
cmpl $0xe20, %eax            # imm = 0xE20
je 0x23d2f
cmpl $0xe30, %eax            # imm = 0xE30
jne 0x239ce
cmpl $0x2, 0x44(%r14)
jne 0x2421d
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movq 0x48(%r14), %rcx
movq 0x8(%rcx), %r14
orl %eax, %r13d
jmp 0x23931
cmpl $0xe40, %eax            # imm = 0xE40
je 0x23fa2
cmpl $0xe50, %eax            # imm = 0xE50
je 0x23f2a
cmpl $0xe60, %eax            # imm = 0xE60
je 0x23e10
cmpl $0xe61, %eax            # imm = 0xE61
je 0x23dd6
cmpl $0xe80, %eax            # imm = 0xE80
je 0x23e4a
cmpl $0xe81, %eax            # imm = 0xE81
je 0x23d6a
cmpl $0xe90, %eax            # imm = 0xE90
je 0x23e81
cmpl $0xe91, %eax            # imm = 0xE91
je 0x23da1
cmpl $0xec0, %eax            # imm = 0xEC0
jne 0x241c0
cmpl $0x1, 0x44(%r14)
jne 0x24372
movq 0x48(%r14), %rax
movq (%rax), %rax
movl (%rax), %ecx
cmpl $0x302, %ecx            # imm = 0x302
je 0x24003
cmpl $0x300, %ecx            # imm = 0x300
je 0x24055
cmpl $0x301, %ecx            # imm = 0x301
je 0x23fe2
cmpl $0x200, %ecx            # imm = 0x200
jne 0x24543
movq 0x10(%rax), %r14
cmpl $0x2000, (%r14)         # imm = 0x2000
jne 0x24562
leaq -0x38(%rbp), %r15
movq %r15, %rdi
callq 0xde1c
movq 0x8(%r14), %rdx
movl 0x4(%r14), %ecx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x29160
movq 0x8(%r15), %rax
testq %rax, %rax
leaq 0x9cdf(%rip), %r14      # 0x2d792
cmovneq %rax, %r14
movl 0x4(%r15), %ebx
movq %r14, %rdi
movl %ebx, %esi
callq 0x10011
testb %al, %al
je 0x240a7
movq %r14, %rdi
movl %ebx, %esi
callq 0x1051e
jmp 0x24180
leaq 0x10ba1(%rip), %rax     # 0x34684
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
cmpl $0x2, 0x44(%r14)
jne 0x2446a
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
xorl %ecx, %ecx
cmpl %eax, %r15d
setl %cl
jmp 0x23f97
cmpl $0x2, 0x44(%r14)
jne 0x2423c
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %ecx
movl %r15d, %eax
cltd
idivl %ecx
movl %eax, %r15d
jmp 0x2418c
cmpl $0x1, 0x44(%r14)
jne 0x2425b
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
notl %eax
jmp 0x23b9d
cmpl $0x1, 0x44(%r14)
jne 0x2427a
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
negl %eax
orl %eax, %r13d
jmp 0x23f9a
cmpl $0x1, 0x44(%r14)
jne 0x24299
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
xorl %ecx, %ecx
testl %eax, %eax
jmp 0x23e42
cmpl $0x2, 0x44(%r14)
jne 0x242b8
movq 0x48(%r14), %rax
movq (%rax), %r15
leaq -0x38(%rbp), %r12
movq %r12, %rdi
callq 0xde1c
movq %rbx, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x26a34
movq 0x48(%r14), %rax
movq 0x8(%rax), %r14
leaq -0x48(%rbp), %r12
movq %r12, %rdi
callq 0xde1c
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x26a34
leaq -0x38(%rbp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
callq 0xe8f0
movzbl %al, %r15d
movq %rbx, %rdi
callq 0xe2b9
movq %r12, %rdi
jmp 0x24187
cmpl $0x2, 0x44(%r14)
jne 0x242d7
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %ecx
movl %r15d, %eax
cltd
idivl %ecx
movl %edx, %r15d
jmp 0x2418c
cmpl $0x2, 0x44(%r14)
jne 0x242f6
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r12d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
imull %r12d, %r15d
jmp 0x2418c
cmpl $0x1, 0x44(%r14)
jne 0x24315
movq 0x48(%r14), %rax
movq (%rax), %rax
cmpl $0x200, (%rax)          # imm = 0x200
jne 0x24505
movq 0x10(%rax), %rax
cmpl $0x2000, (%rax)         # imm = 0x2000
jne 0x24524
movq 0x8(%rax), %rsi
movl 0x4(%rax), %edx
leaq -0x38(%rbp), %r14
movq %r14, %rdi
callq 0xdfa2
movq 0x18(%rbx), %rdi
movq %r14, %rsi
callq 0xc52c
movzbl %al, %r15d
movq %r14, %rdi
jmp 0x24187
cmpl $0x2, 0x44(%r14)
jne 0x24334
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
testl %eax, %eax
je 0x23d51
pushq $0x1
popq %r15
jmp 0x2418c
cmpl $0x2, 0x44(%r14)
jne 0x24353
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
testl %eax, %eax
je 0x23fda
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
xorl %ecx, %ecx
testl %eax, %eax
jmp 0x23e08
cmpl $0x2, 0x44(%r14)
jne 0x24391
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %ecx
sarl %cl, %r15d
jmp 0x2418c
cmpl $0x2, 0x44(%r14)
jne 0x243b0
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
subl %eax, %r15d
jmp 0x2418c
cmpl $0x2, 0x44(%r14)
jne 0x243cf
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
xorl %ecx, %ecx
cmpl %eax, %r15d
setne %cl
jmp 0x23f97
cmpl $0x2, 0x44(%r14)
jne 0x243ee
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
xorl %ecx, %ecx
cmpl %eax, %r15d
sete %cl
jmp 0x23f97
cmpl $0x2, 0x44(%r14)
jne 0x2440d
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %ecx
shll %cl, %r15d
jmp 0x2418c
cmpl $0x2, 0x44(%r14)
jne 0x2442c
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r12d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
addl %r12d, %r15d
jmp 0x2418c
cmpl $0x2, 0x44(%r14)
jne 0x2444b
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
xorl %ecx, %ecx
cmpl %eax, %r15d
setg %cl
jmp 0x23f97
cmpl $0x2, 0x44(%r14)
jne 0x24489
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
xorl %ecx, %ecx
cmpl %eax, %r15d
setge %cl
jmp 0x23f97
cmpl $0x2, 0x44(%r14)
jne 0x244a8
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r12d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
andl %r12d, %r15d
jmp 0x2418c
cmpl $0x2, 0x44(%r14)
jne 0x244c7
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
xorl %ecx, %ecx
cmpl %eax, %r15d
setle %cl
orl %ecx, %r13d
movl %r13d, %r15d
jmp 0x2418f
cmpl $0x2, 0x44(%r14)
jne 0x244e6
movq 0x48(%r14), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r12d
movq 0x48(%r14), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0x23910
movl %eax, %r15d
xorl %r12d, %r15d
jmp 0x2418c
xorl %r15d, %r15d
jmp 0x2418c
movq 0x10(%rax), %rax
cmpl $0x1004, (%rax)         # imm = 0x1004
jne 0x24581
movq 0x8(%rax), %rdi
movl 0x4(%rax), %esi
callq 0x1051e
jmp 0x23b5b
movq 0x10(%rax), %r14
leaq -0x38(%rbp), %rbx
movq %rbx, %rdi
callq 0xde1c
movq 0x8(%r14), %rsi
movl 0x4(%r14), %edx
movq %rbx, %rdi
callq 0x10533
movq 0x8(%rbx), %rax
testq %rax, %rax
leaq 0x9761(%rip), %r14      # 0x2d792
cmovneq %rax, %r14
movl 0x4(%rbx), %ebx
movq %r14, %rdi
movl %ebx, %esi
callq 0x101aa
testb %al, %al
je 0x2408a
movq %r14, %rdi
movl %ebx, %esi
callq 0x10784
jmp 0x24180
movq 0x10(%rax), %rax
movl $0xfffff000, %ecx       # imm = 0xFFFFF000
addl (%rax), %ecx
cmpl $0x3, %ecx
ja 0x245a0
leaq 0x1067c(%rip), %rdx     # 0x346ec
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq 0x8(%rax), %rdi
movl 0x4(%rax), %esi
callq 0x1071d
jmp 0x23b5b
movq %r14, %rdi
movl %ebx, %esi
callq 0x10269
testb %al, %al
je 0x240c4
movq %r14, %rdi
movl %ebx, %esi
callq 0x108a0
jmp 0x24180
movq %r14, %rdi
movl %ebx, %esi
callq 0x10135
testb %al, %al
je 0x24114
movq %r14, %rdi
movl %ebx, %esi
callq 0x1071d
jmp 0x24180
movq %r14, %rdi
movl %ebx, %esi
callq 0x10318
testb %al, %al
je 0x2412e
movq %r14, %rdi
movl %ebx, %esi
callq 0x109ac
jmp 0x24180
movq 0x8(%rax), %rdi
movl 0x4(%rax), %esi
callq 0x10945
jmp 0x23b5b
movq 0x8(%rax), %rdi
movl 0x4(%rax), %esi
callq 0x10ae1
jmp 0x23b5b
movq 0x8(%rax), %rdi
movl 0x4(%rax), %esi
callq 0x10839
jmp 0x23b5b
movq %r14, %rdi
movl %ebx, %esi
callq 0x101f1
testb %al, %al
je 0x2414b
movq %r14, %rdi
movl %ebx, %esi
callq 0x10839
jmp 0x24180
movq %r14, %rdi
movl %ebx, %esi
callq 0x1040f
xorl %r15d, %r15d
testb %al, %al
je 0x24183
movq %r14, %rdi
movl %ebx, %esi
callq 0x10b48
jmp 0x24180
movq %r14, %rdi
movl %ebx, %esi
callq 0x102b0
testb %al, %al
je 0x24165
movq %r14, %rdi
movl %ebx, %esi
callq 0x10945
jmp 0x24180
movq %r14, %rdi
movl %ebx, %esi
callq 0x1035f
xorl %r15d, %r15d
testb %al, %al
je 0x24183
movq %r14, %rdi
movl %ebx, %esi
callq 0x10ae1
movl %eax, %r15d
leaq -0x38(%rbp), %rdi
callq 0xe2b9
orl %r13d, %r15d
movl %r15d, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xcb13(%rip), %rdi      # 0x30cbb
leaq 0x10580(%rip), %rsi     # 0x3472f
leaq 0x10602(%rip), %rcx     # 0x347b8
movl $0x4ce, %edx            # imm = 0x4CE
callq 0xa0b0
leaq 0x91a9(%rip), %rdi      # 0x2d370
leaq 0x10561(%rip), %rsi     # 0x3472f
leaq 0x105e3(%rip), %rcx     # 0x347b8
movl $0x579, %edx            # imm = 0x579
callq 0xa0b0
leaq 0xc4c4(%rip), %rdi      # 0x306aa
leaq 0x10542(%rip), %rsi     # 0x3472f
leaq 0x105c4(%rip), %rcx     # 0x347b8
movl $0x4d2, %edx            # imm = 0x4D2
callq 0xa0b0
leaq 0xc4a5(%rip), %rdi      # 0x306aa
leaq 0x10523(%rip), %rsi     # 0x3472f
leaq 0x105a5(%rip), %rcx     # 0x347b8
movl $0x543, %edx            # imm = 0x543
callq 0xa0b0
leaq 0xc6ab(%rip), %rdi      # 0x308cf
leaq 0x10504(%rip), %rsi     # 0x3472f
leaq 0x10586(%rip), %rcx     # 0x347b8
movl $0x4e3, %edx            # imm = 0x4E3
callq 0xa0b0
leaq 0xc68c(%rip), %rdi      # 0x308cf
leaq 0x104e5(%rip), %rsi     # 0x3472f
leaq 0x10567(%rip), %rcx     # 0x347b8
movl $0x530, %edx            # imm = 0x530
callq 0xa0b0
leaq 0xc448(%rip), %rdi      # 0x306aa
leaq 0x104c6(%rip), %rsi     # 0x3472f
leaq 0x10548(%rip), %rcx     # 0x347b8
movl $0x53f, %edx            # imm = 0x53F
callq 0xa0b0
leaq 0xc429(%rip), %rdi      # 0x306aa
leaq 0x104a7(%rip), %rsi     # 0x3472f
leaq 0x10529(%rip), %rcx     # 0x347b8
movl $0x547, %edx            # imm = 0x547
callq 0xa0b0
leaq 0xc40a(%rip), %rdi      # 0x306aa
leaq 0x10488(%rip), %rsi     # 0x3472f
leaq 0x1050a(%rip), %rcx     # 0x347b8
movl $0x53b, %edx            # imm = 0x53B
callq 0xa0b0
leaq 0xc610(%rip), %rdi      # 0x308cf
leaq 0x10469(%rip), %rsi     # 0x3472f
leaq 0x104eb(%rip), %rcx     # 0x347b8
movl $0x561, %edx            # imm = 0x561
callq 0xa0b0
leaq 0xc5f1(%rip), %rdi      # 0x308cf
leaq 0x1044a(%rip), %rsi     # 0x3472f
leaq 0x104cc(%rip), %rcx     # 0x347b8
movl $0x535, %edx            # imm = 0x535
callq 0xa0b0
leaq 0xc5d2(%rip), %rdi      # 0x308cf
leaq 0x1042b(%rip), %rsi     # 0x3472f
leaq 0x104ad(%rip), %rcx     # 0x347b8
movl $0x52b, %edx            # imm = 0x52B
callq 0xa0b0
leaq 0xc38e(%rip), %rdi      # 0x306aa
leaq 0x1040c(%rip), %rsi     # 0x3472f
leaq 0x1048e(%rip), %rcx     # 0x347b8
movl $0x54b, %edx            # imm = 0x54B
callq 0xa0b0
leaq 0xc594(%rip), %rdi      # 0x308cf
leaq 0x103ed(%rip), %rsi     # 0x3472f
leaq 0x1046f(%rip), %rcx     # 0x347b8
movl $0x4d7, %edx            # imm = 0x4D7
callq 0xa0b0
leaq 0xc575(%rip), %rdi      # 0x308cf
leaq 0x103ce(%rip), %rsi     # 0x3472f
leaq 0x10450(%rip), %rcx     # 0x347b8
movl $0x4dd, %edx            # imm = 0x4DD
callq 0xa0b0
leaq 0xc331(%rip), %rdi      # 0x306aa
leaq 0x103af(%rip), %rsi     # 0x3472f
leaq 0x104fd(%rip), %rcx     # 0x34884
movl $0x483, %edx            # imm = 0x483
callq 0xa0b0
leaq 0xc537(%rip), %rdi      # 0x308cf
leaq 0x10390(%rip), %rsi     # 0x3472f
leaq 0x10412(%rip), %rcx     # 0x347b8
movl $0x51a, %edx            # imm = 0x51A
callq 0xa0b0
leaq 0xc518(%rip), %rdi      # 0x308cf
leaq 0x10371(%rip), %rsi     # 0x3472f
leaq 0x103f3(%rip), %rcx     # 0x347b8
movl $0x525, %edx            # imm = 0x525
callq 0xa0b0
leaq 0xc4f9(%rip), %rdi      # 0x308cf
leaq 0x10352(%rip), %rsi     # 0x3472f
leaq 0x103d4(%rip), %rcx     # 0x347b8
movl $0x4fa, %edx            # imm = 0x4FA
callq 0xa0b0
leaq 0xc4da(%rip), %rdi      # 0x308cf
leaq 0x10333(%rip), %rsi     # 0x3472f
leaq 0x103b5(%rip), %rcx     # 0x347b8
movl $0x4f5, %edx            # imm = 0x4F5
callq 0xa0b0
leaq 0xc4bb(%rip), %rdi      # 0x308cf
leaq 0x10314(%rip), %rsi     # 0x3472f
leaq 0x10396(%rip), %rcx     # 0x347b8
movl $0x515, %edx            # imm = 0x515
callq 0xa0b0
leaq 0xc49c(%rip), %rdi      # 0x308cf
leaq 0x102f5(%rip), %rsi     # 0x3472f
leaq 0x10377(%rip), %rcx     # 0x347b8
movl $0x520, %edx            # imm = 0x520
callq 0xa0b0
leaq 0xc47d(%rip), %rdi      # 0x308cf
leaq 0x102d6(%rip), %rsi     # 0x3472f
leaq 0x10358(%rip), %rcx     # 0x347b8
movl $0x50a, %edx            # imm = 0x50A
callq 0xa0b0
leaq 0xc45e(%rip), %rdi      # 0x308cf
leaq 0x102b7(%rip), %rsi     # 0x3472f
leaq 0x10339(%rip), %rcx     # 0x347b8
movl $0x500, %edx            # imm = 0x500
callq 0xa0b0
leaq 0xc43f(%rip), %rdi      # 0x308cf
leaq 0x10298(%rip), %rsi     # 0x3472f
leaq 0x1031a(%rip), %rcx     # 0x347b8
movl $0x50f, %edx            # imm = 0x50F
callq 0xa0b0
leaq 0xc420(%rip), %rdi      # 0x308cf
leaq 0x10279(%rip), %rsi     # 0x3472f
leaq 0x102fb(%rip), %rcx     # 0x347b8
movl $0x4ef, %edx            # imm = 0x4EF
callq 0xa0b0
leaq 0xc401(%rip), %rdi      # 0x308cf
leaq 0x1025a(%rip), %rsi     # 0x3472f
leaq 0x102dc(%rip), %rcx     # 0x347b8
movl $0x505, %edx            # imm = 0x505
callq 0xa0b0
leaq 0xc3e2(%rip), %rdi      # 0x308cf
leaq 0x1023b(%rip), %rsi     # 0x3472f
leaq 0x102bd(%rip), %rcx     # 0x347b8
movl $0x4e9, %edx            # imm = 0x4E9
callq 0xa0b0
leaq 0x102e2(%rip), %rdi     # 0x347ee
leaq 0x1021c(%rip), %rsi     # 0x3472f
leaq 0x1029e(%rip), %rcx     # 0x347b8
movl $0x54e, %edx            # imm = 0x54E
callq 0xa0b0
leaq 0x102e3(%rip), %rdi     # 0x3480e
leaq 0x101fd(%rip), %rsi     # 0x3472f
leaq 0x1027f(%rip), %rcx     # 0x347b8
movl $0x551, %edx            # imm = 0x551
callq 0xa0b0
leaq 0x8e26(%rip), %rdi      # 0x2d370
leaq 0x101de(%rip), %rsi     # 0x3472f
leaq 0x1032c(%rip), %rcx     # 0x34884
movl $0x494, %edx            # imm = 0x494
callq 0xa0b0
leaq 0x8e07(%rip), %rdi      # 0x2d370
leaq 0x101bf(%rip), %rsi     # 0x3472f
leaq 0x10348(%rip), %rcx     # 0x348bf
movl $0x42a, %edx            # imm = 0x42A
callq 0xa0b0
leaq 0x8de8(%rip), %rdi      # 0x2d370
leaq 0x101a0(%rip), %rsi     # 0x3472f
leaq 0x103a3(%rip), %rcx     # 0x34939
movl $0x458, %edx            # imm = 0x458
callq 0xa0b0
leaq 0x8dc9(%rip), %rdi      # 0x2d370
leaq 0x10181(%rip), %rsi     # 0x3472f
leaq 0x10346(%rip), %rcx     # 0x348fb
movl $0x446, %edx            # imm = 0x446
callq 0xa0b0