// File: /workspace/github_c_makefile_star2_O2/markdryan[P]subtilis/arch/arm32/arm_expression.c
// Function: prv_priority1
static subtilis_arm_exp_val_t *prv_priority1(subtilis_arm_ass_context_t *c,
					     subtilis_error_t *err)
{
	const char *tbuf;
	subtilis_arm_exp_val_t *e = NULL;

	tbuf = subtilis_token_get_text(c->t);
	switch (c->t->type) {
	case SUBTILIS_TOKEN_STRING:
		e = subtilis_arm_exp_new_str(&c->t->buf, err);
		if (!e)
			goto cleanup;
		break;
	case SUBTILIS_TOKEN_INTEGER:
		e = subtilis_arm_exp_new_int32(c->t->tok.integer, err);
		if (!e)
			goto cleanup;
		break;
	case SUBTILIS_TOKEN_REAL:
		e = subtilis_arm_exp_new_real(c->t->tok.real, err);
		if (!e)
			goto cleanup;
		break;
	case SUBTILIS_TOKEN_OPERATOR:
		if (!strcmp(tbuf, "(")) {
			e = prv_process_bktd_exp(c, err);
			if (err->type != SUBTILIS_ERROR_OK)
				goto cleanup;
		} else {
			if (!strcmp(tbuf, "-")) {
				e = prv_unary_minus_exp(c, err);
				if (err->type != SUBTILIS_ERROR_OK)
					goto cleanup;

				/* we don't want to read another token here.It's
				 * already been read by the recursive call to
				 * prv_priority1.
				 */

				return e;
			}
			subtilis_error_set_exp_expected(
			    err, "( or - ", c->l->stream->name, c->l->line);
			goto cleanup;
		}
		break;
	case SUBTILIS_TOKEN_IDENTIFIER:
		e = subtilis_arm_exp_process_id(c, tbuf, err);
		break;

	case SUBTILIS_TOKEN_KEYWORD:
		switch (c->t->tok.keyword.type) {
		case SUBTILIS_ARM_KEYWORD_TRUE:
			e = subtilis_arm_exp_new_int32(-1, err);
			break;
		case SUBTILIS_ARM_KEYWORD_FALSE:
			e = subtilis_arm_exp_new_int32(0, err);
			break;
		case SUBTILIS_ARM_KEYWORD_NOT:
			e = prv_not(c, err);
			return e;
		case SUBTILIS_ARM_KEYWORD_INT:
			return prv_int(c, err);
		case SUBTILIS_ARM_KEYWORD_SIN:
			return prv_dbl_unary(c, sin, err);
		case SUBTILIS_ARM_KEYWORD_COS:
			return prv_dbl_unary(c, cos, err);
		case SUBTILIS_ARM_KEYWORD_TAN:
			return prv_dbl_unary(c, tan, err);
		case SUBTILIS_ARM_KEYWORD_ACS:
			return prv_dbl_unary(c, acos, err);
		case SUBTILIS_ARM_KEYWORD_ASN:
			return prv_dbl_unary(c, asin, err);
		case SUBTILIS_ARM_KEYWORD_ATN:
			return prv_dbl_unary(c, atan, err);
		case SUBTILIS_ARM_KEYWORD_SQR:
			return prv_dbl_unary(c, sqrt, err);
		case SUBTILIS_ARM_KEYWORD_EXP:
			return prv_dbl_unary(c, exp, err);
		case SUBTILIS_ARM_KEYWORD_LOG:
			return prv_dbl_unary(c, log10, err);
		case SUBTILIS_ARM_KEYWORD_LN:
			return prv_dbl_unary(c, log, err);
		case SUBTILIS_ARM_KEYWORD_RAD:
			return prv_rad(c, err);
		case SUBTILIS_ARM_KEYWORD_ABS:
			return prv_abs(c, err);
		case SUBTILIS_ARM_KEYWORD_SGN:
			return prv_sgn(c, err);
		case SUBTILIS_ARM_KEYWORD_PI:
			e = subtilis_arm_exp_new_real(22 / 7.0, err);
			break;
		case SUBTILIS_ARM_KEYWORD_CHR_STR:
			return prv_chr_str(c, err);
		case SUBTILIS_ARM_KEYWORD_ASC:
			return prv_asc(c, err);
		case SUBTILIS_ARM_KEYWORD_LEN:
			return prv_len(c, err);
		case SUBTILIS_ARM_KEYWORD_LEFT_STR:
			return prv_left_str(c, err);
		case SUBTILIS_ARM_KEYWORD_RIGHT_STR:
			return prv_right_str(c, err);
		case SUBTILIS_ARM_KEYWORD_MID_STR:
			return prv_mid_str(c, err);
		case SUBTILIS_ARM_KEYWORD_STRING_STR:
			return prv_string_str(c, err);
		case SUBTILIS_ARM_KEYWORD_STR_STR:
			return prv_str_str(c, err);
		default:
			subtilis_error_set_exp_expected(
			    err, "Unexpected keyword in expression",
			    c->l->stream->name, c->l->line);
			goto cleanup;
		}
		break;
	default:
		subtilis_error_set_exp_expected(err, tbuf, c->l->stream->name,
						c->l->line);
		goto cleanup;
	}

	if (err->type != SUBTILIS_ERROR_OK)
		goto cleanup;

	subtilis_lexer_get(c->l, c->t, err);
	if (err->type != SUBTILIS_ERROR_OK)
		goto cleanup;

	return e;

cleanup:

	subtilis_arm_exp_val_free(e);
	return NULL;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rsi, %rbx
movq %rdi, %r15
movq 0x10(%rdi), %rdi
callq 0x12a25
movq 0x10(%r15), %rsi
movl (%rsi), %ecx
decl %ecx
cmpl $0x5, %ecx
ja 0x653c4
leaq 0xbbc3(%rip), %rdx      # 0x70e98
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl 0x8(%rsi), %eax
addl $-0x4, %eax
cmpl $0x22, %eax
ja 0x65843
leaq 0xbbbc(%rip), %rcx      # 0x70eb0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %r15, %rdi
movq %rbx, %rsi
callq 0x660ea
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r14
movl (%rax), %eax
cmpl $0x7, %eax
je 0x659e2
cmpl $0x6, %eax
jne 0x65aa5
movl 0x8(%r14), %eax
testl %eax, %eax
jns 0x65438
negl %eax
jmp 0x6583a
movsd 0x8(%rsi), %xmm0
movq %rbx, %rdi
callq 0x63e09
jmp 0x65369
addq $0x158, %rsi            # imm = 0x158
movq %rsi, %rdi
movq %rbx, %rsi
callq 0x63f0d
jmp 0x65369
movl 0x8(%rsi), %edi
movq %rbx, %rsi
callq 0x63dc8
testq %rax, %rax
jne 0x653a1
jmp 0x6542a
movzbl (%rax), %ecx
cmpl $0x2d, %ecx
je 0x653f0
cmpl $0x28, %ecx
jne 0x653f6
cmpb $0x0, 0x1(%rax)
jne 0x653f6
movq %r15, %rdi
movq %rbx, %rsi
callq 0x65fe7
jmp 0x653a1
movq %r15, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x6451e
movq %rax, %r14
cmpl $0x0, (%rbx)
jne 0x6542d
movq 0x8(%r15), %rdi
movq 0x10(%r15), %rsi
movq %rbx, %rdx
callq 0x12e0e
cmpl $0x0, (%rbx)
jne 0x6542d
jmp 0x65438
movq 0x8(%r15), %rcx
movq 0x30(%rcx), %r8
movl 0x38(%rcx), %r9d
leaq 0xbb8d(%rip), %r10      # 0x70f64
leaq 0x89e7(%rip), %rcx      # 0x6ddc5
pushq $0x15
popq %rsi
movq %rbx, %rdi
movq %rax, %rdx
pushq $0x602                  # imm = 0x602
pushq %r10
jmp 0x65423
cmpb $0x0, 0x1(%rax)
je 0x6544a
movq 0x8(%r15), %rax
movq 0x30(%rax), %r8
movl 0x38(%rax), %r9d
leaq 0xbb5b(%rip), %rax      # 0x70f64
leaq 0xbba5(%rip), %rdx      # 0x70fb5
leaq 0x89ae(%rip), %rcx      # 0x6ddc5
pushq $0x15
popq %rsi
movq %rbx, %rdi
pushq $0x5b7                  # imm = 0x5B7
pushq %rax
callq 0x140cd
popq %rax
popq %rcx
xorl %r14d, %r14d
movq %r14, %rdi
callq 0x63ee7
xorl %r14d, %r14d
movq %r14, %rax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%r15), %rdi
movq %rbx, %rdx
callq 0x12e0e
cmpl $0x0, (%rbx)
jne 0x6542a
movq %r15, %rdi
movq %rbx, %rsi
callq 0x652a0
cmpl $0x0, (%rbx)
jne 0x6542a
movq %rax, %r14
movl (%rax), %eax
cmpl $0x6, %eax
je 0x6595c
cmpl $0x7, %eax
jne 0x65965
movsd 0x8(%r14), %xmm0
xorpd 0x9f30(%rip), %xmm0     # 0x6f3c0
movlpd %xmm0, 0x8(%r14)
jmp 0x653bd
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %rbx, %rdx
callq 0x661fc
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r14
movq %rax, %r15
addq $0x8, %r15
movq %r15, %rdi
callq 0x14804
decl %eax
je 0x65438
movl 0x10(%rsp), %ecx
testl %ecx, %ecx
js 0x65438
subl %ecx, %eax
jle 0x65438
movslq %eax, %rdx
movq %r15, %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x1491c
cmpl $0x0, (%rbx)
jne 0x6542d
movq %r15, %rdi
movq %rbx, %rsi
callq 0x149a8
jmp 0x653bd
movq 0x40aca(%rip), %rsi     # 0xa5fd8
jmp 0x658cd
movq 0x40a8e(%rip), %rsi     # 0xa5fa8
jmp 0x658cd
pushq $-0x1
popq %rdi
jmp 0x65876
movq 0x8(%r15), %rdi
movq %rbx, %rdx
callq 0x12e0e
cmpl $0x0, (%rbx)
jne 0x65435
movq 0x10(%r15), %rdi
callq 0x12a25
cmpb $0x28, (%rax)
jne 0x65554
cmpb $0x0, 0x1(%rax)
je 0x65b08
movq 0x8(%r15), %rcx
movq 0x30(%rcx), %r8
movl 0x38(%rcx), %r9d
leaq 0xb9fd(%rip), %r10      # 0x70f64
leaq 0x8344(%rip), %rdx      # 0x6d8b2
pushq $0x1d
popq %rsi
movq %rbx, %rdi
movq %rax, %rcx
pushq $0x528                  # imm = 0x528
jmp 0x657a0
leaq 0x10(%rsp), %rsi
movq %r15, %rdi
movq %rbx, %rdx
callq 0x661fc
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r14
movq %rax, %r15
addq $0x8, %r15
movq %r15, %rdi
callq 0x14804
decl %eax
je 0x65438
movl 0x10(%rsp), %esi
testl %esi, %esi
js 0x65438
cmpl %esi, %eax
jle 0x65438
subl %esi, %eax
movslq %eax, %rdx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x1491c
jmp 0x653bd
movq %r15, %rdi
movq %rbx, %rsi
callq 0x660ea
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r12
cmpl $0x8, (%rax)
jne 0x65916
movq %r12, %r14
addq $0x8, %r14
movq %r14, %rdi
callq 0x14804
cmpq $0x2, %rax
jae 0x65ac5
pushq $-0x1
popq %rdi
jmp 0x65ad0
movq 0x40963(%rip), %rsi     # 0xa5f88
jmp 0x658cd
movq %r15, %rdi
movq %rbx, %rsi
callq 0x660ea
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r12
movl (%rax), %eax
cmpl $0x7, %eax
je 0x65999
cmpl $0x6, %eax
jne 0x65a09
movl 0x8(%r12), %edx
leaq 0x87cb(%rip), %rsi      # 0x6de2c
leaq 0x10(%rsp), %rdi
xorl %eax, %eax
callq 0x12280
jmp 0x659b3
movq 0x40917(%rip), %rsi     # 0xa5f90
jmp 0x658cd
movq %r15, %rdi
movq %rbx, %rsi
callq 0x660ea
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r14
movl (%rax), %eax
cmpl $0x7, %eax
je 0x659bd
cmpl $0x6, %eax
jne 0x65a31
cmpl $0x0, 0x8(%r14)
js 0x659d8
jne 0x65c1b
jmp 0x65438
movq %r15, %rdi
movq %rbx, %rsi
callq 0x660ea
cmpl $0x0, (%rbx)
je 0x658e6
xorl %r12d, %r12d
jmp 0x65c05
movq %r15, %rdi
movq %rbx, %rsi
callq 0x660ea
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r12
cmpl $0x8, (%rax)
jne 0x65939
movq %r12, %rdi
addq $0x8, %rdi
callq 0x14804
leal -0x1(%rax), %edi
jmp 0x65ad0
movq 0x408b2(%rip), %rsi     # 0xa5fc8
jmp 0x658cd
movq 0x4087e(%rip), %rsi     # 0xa5fa0
jmp 0x658cd
movq 0x4088a(%rip), %rsi     # 0xa5fb8
jmp 0x658cd
movq 0x4085e(%rip), %rsi     # 0xa5f98
jmp 0x658cd
movq 0x408a2(%rip), %rsi     # 0xa5fe8
jmp 0x658cd
movq 0x8(%r15), %rdi
movq %rbx, %rdx
callq 0x12e0e
cmpl $0x0, (%rbx)
jne 0x65435
movq 0x10(%r15), %rdi
callq 0x12a25
cmpb $0x28, (%rax)
jne 0x65778
cmpb $0x0, 0x1(%rax)
je 0x65b99
movq 0x8(%r15), %rcx
movq 0x30(%rcx), %r8
movl 0x38(%rcx), %r9d
leaq 0xb7d9(%rip), %r10      # 0x70f64
leaq 0x8120(%rip), %rdx      # 0x6d8b2
pushq $0x1d
popq %rsi
movq %rbx, %rdi
movq %rax, %rcx
pushq $0x4b6                  # imm = 0x4B6
pushq %r10
callq 0x140cd
popq %rax
popq %rcx
jmp 0x65435
movq 0x8(%r15), %rdi
movq %rbx, %rdx
callq 0x12e0e
cmpl $0x0, (%rbx)
jne 0x65435
movq %r15, %rdi
movq %rbx, %rsi
callq 0x652a0
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r14
movl $0x6, (%rax)
movq %r15, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x660a6
notl %eax
movl %eax, 0x8(%r14)
jmp 0x653bd
movq %r15, %rdi
movq %rbx, %rsi
callq 0x660ea
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r14
movl (%rax), %eax
cmpl $0x2, %eax
jb 0x6598d
cmpl $0x6, %eax
je 0x65438
cmpl $0x7, %eax
jne 0x65ae0
movl $0x6, (%r14)
cvttsd2si 0x8(%r14), %eax
movl %eax, 0x8(%r14)
jmp 0x65438
movq 0x8(%r15), %rax
movq 0x30(%rax), %r8
movl 0x38(%rax), %r9d
leaq 0xb70e(%rip), %rax      # 0x70f64
leaq 0x805c(%rip), %rdx      # 0x6d8b9
leaq 0x8561(%rip), %rcx      # 0x6ddc5
pushq $0x15
popq %rsi
movq %rbx, %rdi
pushq $0x5fc                  # imm = 0x5FC
jmp 0x65422
xorl %edi, %edi
movq %rbx, %rsi
callq 0x63dc8
jmp 0x653a1
movq %r15, %rdi
movq %rbx, %rsi
callq 0x6618d
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r14
movsd 0x8(%rax), %xmm0
mulsd 0x80c1(%rip), %xmm0     # 0x6d968
movsd %xmm0, 0x8(%rax)
jmp 0x65438
movsd 0x80b7(%rip), %xmm0     # 0x6d970
movq %rbx, %rdi
callq 0x63e09
jmp 0x653a1
movq 0x406f3(%rip), %rsi     # 0xa5fc0
movq %r15, %rdi
movq %rbx, %rdx
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x66070
movq %rax, %r12
movl (%rax), %eax
cmpl $0x6, %eax
je 0x65a8b
cmpl $0x7, %eax
jne 0x65a54
movl $0x6, (%r12)
cvttsd2si 0x8(%r12), %eax
movl %eax, 0x8(%r12)
jmp 0x65a82
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb63c(%rip), %r8       # 0x70f64
pushq $0x4a
popq %rsi
movq %rbx, %rdi
movl $0x3c9, %r9d            # imm = 0x3C9
jmp 0x65a27
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb619(%rip), %r8       # 0x70f64
pushq $0x4a
popq %rsi
movq %rbx, %rdi
movl $0x3e7, %r9d            # imm = 0x3E7
jmp 0x65a27
negl 0x8(%r14)
jmp 0x653bd
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb5ed(%rip), %r8       # 0x70f64
pushq $0x44
popq %rsi
movq %rbx, %rdi
movl $0x2c8, %r9d            # imm = 0x2C8
callq 0x142c0
jmp 0x653bd
movl $0x6, (%r14)
jmp 0x65438
movsd 0x8(%r12), %xmm0
leaq 0xad0f(%rip), %rsi      # 0x706b6
leaq 0x10(%rsp), %rdi
movb $0x1, %al
callq 0x12280
leaq 0x10(%rsp), %rdi
jmp 0x65a9b
movl $0x6, (%r14)
movsd 0x8(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x65c15
orl $-0x1, 0x8(%r14)
jmp 0x65438
movsd 0x8(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x65438
xorpd 0x99c2(%rip), %xmm0     # 0x6f3c0
movlpd %xmm0, 0x8(%r14)
jmp 0x65438
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb549(%rip), %r8       # 0x70f64
pushq $0x44
popq %rsi
movq %rbx, %rdi
movl $0x580, %r9d            # imm = 0x580
callq 0x142c0
jmp 0x65c05
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb521(%rip), %r8       # 0x70f64
pushq $0x44
popq %rsi
movq %rbx, %rdi
movl $0x412, %r9d            # imm = 0x412
jmp 0x65afe
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb4fe(%rip), %r8       # 0x70f64
pushq $0x44
popq %rsi
movq %rbx, %rdi
movl $0x337, %r9d            # imm = 0x337
callq 0x142c0
movq %r12, %rdi
callq 0x63ee7
xorl %r12d, %r12d
cmpl $0x0, (%rbx)
jne 0x65c05
movb 0x8(%r12), %al
leaq 0x10(%rsp), %rdi
movb %al, (%rdi)
movb $0x0, 0x1(%rdi)
movq %rbx, %rsi
callq 0x63e57
jmp 0x65ad8
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb4ad(%rip), %r8       # 0x70f64
pushq $0x44
popq %rsi
movq %rbx, %rdi
movl $0x398, %r9d            # imm = 0x398
jmp 0x65afe
movq %r14, %rdi
callq 0x14a53
movsbl (%rax), %edi
movq %rbx, %rsi
callq 0x63dc8
movq %rax, %r14
jmp 0x65c08
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb472(%rip), %r8       # 0x70f64
pushq $0x44
popq %rsi
movq %rbx, %rdi
movl $0x35b, %r9d            # imm = 0x35B
callq 0x142c0
jmp 0x6542d
movq %r15, %rdi
movq %rbx, %rsi
callq 0x647a2
cmpl $0x0, (%rbx)
jne 0x65435
movq %rax, %r12
movq %r15, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x660a6
cmpl $0x0, (%rbx)
jne 0x65b86
movl %eax, %ebp
movq 0x10(%r15), %rdi
callq 0x12a25
movq 0x10(%r15), %rcx
cmpl $0x2, (%rcx)
jne 0x65b55
cmpb $0x2c, (%rax)
jne 0x65b55
cmpb $0x0, 0x1(%rax)
je 0x65cbf
movq 0x8(%r15), %rcx
movq 0x30(%rcx), %r8
movl 0x38(%rcx), %r9d
leaq 0xb3fc(%rip), %r10      # 0x70f64
leaq 0x7a23(%rip), %rdx      # 0x6d592
pushq $0x1d
popq %rsi
movq %rbx, %rdi
movq %rax, %rcx
pushq $0x537                  # imm = 0x537
pushq %r10
callq 0x140cd
popq %rax
popq %rcx
xorl %r14d, %r14d
xorl %r13d, %r13d
movq %r12, %rdi
callq 0x63ee7
movq %r13, %rdi
jmp 0x65c0b
movq %r15, %rdi
movq %rbx, %rsi
callq 0x647a2
movq %rax, %r12
cmpl $0x0, (%rbx)
jne 0x65c05
cmpl $0x8, (%r12)
jne 0x65c32
movq 0x10(%r15), %rdi
callq 0x12a25
movq 0x10(%r15), %rcx
cmpl $0x2, (%rcx)
jne 0x65bd4
cmpb $0x2c, (%rax)
jne 0x65bd4
cmpb $0x0, 0x1(%rax)
je 0x65c55
movq 0x8(%r15), %rcx
movq 0x30(%rcx), %r8
movl 0x38(%rcx), %r9d
leaq 0xb37d(%rip), %r10      # 0x70f64
leaq 0x79a4(%rip), %rdx      # 0x6d592
pushq $0x1d
popq %rsi
movq %rbx, %rdi
movq %rax, %rcx
pushq $0x4c7                  # imm = 0x4C7
pushq %r10
callq 0x140cd
popq %rax
popq %rcx
xorl %r14d, %r14d
movq %r12, %rdi
callq 0x63ee7
jmp 0x65438
ucomisd %xmm1, %xmm0
jbe 0x65c28
movl $0x1, 0x8(%r14)
jmp 0x65438
andl $0x0, 0x8(%r14)
jmp 0x65438
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb320(%rip), %r8       # 0x70f64
pushq $0x4a
popq %rsi
movq %rbx, %rdi
movl $0x4c0, %r9d            # imm = 0x4C0
jmp 0x65a27
movq %r15, %rdi
movq %rbx, %rsi
callq 0x647a2
cmpl $0x0, (%rbx)
jne 0x65c05
movq %rax, %r14
movq %r15, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x660a6
movl %eax, %ebp
movq %r14, %rdi
callq 0x63ee7
cmpl $0x0, (%rbx)
jne 0x65c05
movq 0x10(%r15), %rdi
callq 0x12a25
movq 0x10(%r15), %rsi
cmpl $0x2, (%rsi)
jne 0x65d62
movzbl (%rax), %ecx
cmpl $0x2c, %ecx
je 0x65d58
cmpl $0x29, %ecx
jne 0x65d62
cmpb $0x0, 0x1(%rax)
jne 0x65d62
jmp 0x65e08
movq %r15, %rdi
movq %rbx, %rsi
callq 0x647a2
movq %rax, %r13
cmpl $0x0, (%rbx)
jne 0x65d50
cmpl $0x8, (%r13)
jne 0x65d2d
movq 0x10(%r15), %rdi
callq 0x12a25
movq 0x10(%r15), %rsi
cmpl $0x2, (%rsi)
jne 0x65cfa
cmpb $0x29, (%rax)
jne 0x65cfa
cmpb $0x0, 0x1(%rax)
je 0x65d8f
movq 0x8(%r15), %rcx
movq 0x30(%rcx), %r8
movl 0x38(%rcx), %r9d
leaq 0xb257(%rip), %r10      # 0x70f64
leaq 0x80b1(%rip), %rcx      # 0x6ddc5
pushq $0x16
popq %rsi
movq %rbx, %rdi
movq %rax, %rdx
pushq $0x548                  # imm = 0x548
pushq %r10
callq 0x140cd
popq %rax
popq %rcx
jmp 0x65d50
movq 0x8(%r15), %rax
movq 0x30(%rax), %rdx
movl 0x38(%rax), %ecx
leaq 0xb225(%rip), %r8       # 0x70f64
pushq $0x4a
popq %rsi
movq %rbx, %rdi
movl $0x541, %r9d            # imm = 0x541
callq 0x142c0
xorl %r14d, %r14d
jmp 0x65b8c
cmpb $0x0, 0x1(%rax)
je 0x65e02
movq 0x8(%r15), %rcx
movq 0x30(%rcx), %r8
movl 0x38(%rcx), %r9d
leaq 0xb1ef(%rip), %r10      # 0x70f64
leaq 0x7d3c(%rip), %rdx      # 0x6dab8
pushq $0x1d
popq %rsi
movq %rbx, %rdi
movq %rax, %rcx
pushq $0x4d8                  # imm = 0x4D8
jmp 0x65bfc
movq 0x8(%r15), %rdi
movq %rbx, %rdx
callq 0x12e0e
cmpl $0x0, (%rbx)
jne 0x65d50
movq %r13, %r15
addq $0x8, %r15
movq %r15, %rdi
callq 0x14804
movq %rax, %r14
decq %r14
movq %r15, %rdi
callq 0x14a53
movq %rax, %r15
movslq 0x8(%r12), %rsi
imulq %r14, %rsi
incq %rsi
leaq 0x10(%rsp), %rdi
callq 0x146a8
movslq %ebp, %rbp
incq %rbp
leaq 0x10(%rsp), %rdi
decq %rbp
je 0x65f6b
movq %r15, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x14795
cmpl $0x0, (%rbx)
je 0x65ddc
jmp 0x65f78
cmpb $0x0, 0x1(%rax)
je 0x65e62
pushq $-0x1
popq %rax
movl %eax, 0xc(%rsp)
movq 0x8(%r15), %rdi
movq %rbx, %rdx
callq 0x12e0e
cmpl $0x0, (%rbx)
jne 0x65c05
movq %r12, %r15
addq $0x8, %r15
movq %r15, %rdi
callq 0x14804
movq %rax, %r13
decl %r13d
sete %al
testl %ebp, %ebp
sets %cl
cmpl $0x0, 0xc(%rsp)
sete %dl
orb %cl, %dl
orb %al, %dl
cmpb $0x1, %dl
jne 0x65eea
leaq 0x7f68(%rip), %rdi      # 0x6ddc5
jmp 0x65a9b
movq %r15, %rdi
movq %rbx, %rsi
callq 0x647a2
cmpl $0x0, (%rbx)
jne 0x65c05
movq %rax, %r14
movq %r15, %rdi
movq %rax, %rsi
movq %rbx, %rdx
callq 0x660a6
movl %eax, 0xc(%rsp)
movq %r14, %rdi
callq 0x63ee7
cmpl $0x0, (%rbx)
jne 0x65c05
movq 0x10(%r15), %rdi
callq 0x12a25
movq 0x10(%r15), %rsi
cmpl $0x2, (%rsi)
jne 0x65ebd
cmpb $0x29, (%rax)
jne 0x65ebd
cmpb $0x0, 0x1(%rax)
je 0x65e0f
movq 0x8(%r15), %rcx
movq 0x30(%rcx), %r8
movl 0x38(%rcx), %r9d
leaq 0xb094(%rip), %r10      # 0x70f64
leaq 0x7eee(%rip), %rcx      # 0x6ddc5
pushq $0x16
popq %rsi
movq %rbx, %rdi
movq %rax, %rdx
pushq $0x4ea                  # imm = 0x4EA
jmp 0x65bfc
movq %r15, %rdi
callq 0x14a53
movl %ebp, %edx
cmpl $0x0, 0xc(%rsp)
js 0x65f87
movl %r13d, %ecx
subl %ebp, %ecx
cmpl %ecx, 0xc(%rsp)
jge 0x65f87
xorl %r14d, %r14d
movq %r15, %rdi
xorl %esi, %esi
movq %rbx, %rcx
callq 0x1491c
cmpl $0x0, (%rbx)
jne 0x65c08
addl 0xc(%rsp), %ebp
subl %ebp, %r13d
jle 0x65f47
movl 0xc(%rsp), %esi
movslq %r13d, %rdx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x1491c
cmpl $0x0, (%rbx)
jne 0x65c05
movq %r15, %rdi
movq %rbx, %rsi
callq 0x149a8
cmpl $0x0, (%rbx)
jne 0x65c05
movq %r15, %rdi
movq %rbx, %rsi
callq 0x63f0d
jmp 0x65ad8
movq %rbx, %rsi
callq 0x149a8
cmpl $0x0, (%rbx)
je 0x65f92
leaq 0x10(%rsp), %rdi
callq 0x14a01
jmp 0x65d50
addq %rdx, %rax
movq %rax, %rdi
jmp 0x65a9b
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x63f0d
movq %rax, %r14
movq %r15, %rdi
callq 0x14a01
jmp 0x65b8c