// File: /workspace/github_c_makefile_star2_O0/Oric4ever[P]lcc65/6502/build/../src/expr.c
// Function: cast
Tree cast(p, type) Tree p; Type type; {
	Field q;
	Type pty, ty = unqual(type);

	p = value(p);
	if (p->type == type)
		return p;
	pty = unqual(p->type);
	if (pty == ty)
		return retype(p, type);
	if (pty == signedchar || pty == chartype)
		p = simplify(CVC, inttype, p, 0);
	else if (pty == shorttype)
		p = simplify(CVS, inttype, p, 0);
	else if (pty == longtype)
		p = retype(p, inttype);
	else if (pty == floattype)
		p = simplify(CVF, doubletype, p, 0);
	else if (pty == longdouble)
		p = retype(p, doubletype);
	else if (pty == unsignedchar)
		p = simplify(CVC, unsignedtype, p, 0);
	else if (pty == unsignedshort)
		p = simplify(CVS, unsignedtype, p, 0);
	else if (pty == unsignedlong)
		p = retype(p, unsignedtype);
	else if (isptr(pty)) {
		if (isstruct(pty->type) && isptr(ty) && isstruct(ty->type)
		&& (q = extends(pty->type, ty->type)))
			return simplify(ADD+P, ty, p, constnode(q->offset, inttype));
		if (isptr(ty)) {
			if (isfunc(pty->type) && !isfunc(ty->type)
			|| !isfunc(pty->type) &&  isfunc(ty->type))
				warning("conversion from `%t' to `%t' is compiler-dependent\n",
					p->type, ty);
			return retype(p, type);
		}
		p = simplify(CVP, unsignedtype, p, 0);
	}
	else if (isstruct(pty) && isstruct(ty) && (q = extends(pty, ty)))
		return rvalue(simplify(ADD+P, ptr(ty), addrof(p),
			constnode(q->offset, inttype)));
	pty = unqual(p->type);
	if (pty == inttype || isenum(pty)) {
		if (ty == floattype || ty == doubletype || ty == longdouble)
			p = simplify(CVI, doubletype, p, 0);
		else if (ty == unsignedtype  || ty == unsignedchar
		     ||  ty == unsignedshort || ty == unsignedlong || isptr(ty))
			p = simplify(CVI, unsignedtype, p, 0);
	} else if (pty == doubletype) {
		if (ty == signedchar || ty == chartype || isenum(ty)
		||  ty == shorttype  || ty == inttype  || ty == longtype)
			p = simplify(CVD, inttype, p, 0);
		else if (ty == unsignedtype  || ty == unsignedchar
		     ||  ty == unsignedshort || ty == unsignedlong || isptr(ty)) {
			/*
			 * For (unsigned)d for double d, build
			 * d >= INT_MAX+1 ? (unsigned)(int)(d-(INT_MAX+1)) + INT_MAX+1 :
			 *		    (unsigned)(int)d
			 */
			Tree c = tree(CNST+D, doubletype, 0, 0);
			c->u.v.d = (double)INT_MAX + 1;
			p = condnode(
				simplify(GE, doubletype, p, c),
				(*opnode['+'])(ADD,
					cast(cast(simplify(SUB, doubletype, p, c), inttype), unsignedtype),
					constnode((unsigned)INT_MAX + 1, unsignedtype)),
				simplify(CVD, inttype, p, 0));
		}
	} else if (pty == unsignedtype) {
		if (ty == signedchar || ty == chartype || isenum(ty)
		||  ty == shorttype  || ty == inttype  || ty == longtype)
			p = simplify(CVU, inttype, p, 0);
		else if (ty == floattype || ty == doubletype || ty == longdouble) {
			/*
			 * For (double)u for unsigned u, build
			 * (int)u >= 0 ? (double)(int)u : (double)(int)u + UINT_MAX + 1
			 */
			Tree u = simplify(CVU, inttype, p, 0);
			p = tree(CNST+D, doubletype, 0, 0);
			p->u.v.d = utod(UINT_MAX) + 1;
			p = condnode(
				simplify(GE, inttype, u, constnode(0, inttype)),
				simplify(CVI, doubletype, u, 0),
				(*opnode['+'])(ADD, simplify(CVI, doubletype, u, 0), p));
		}
	} else
		assert(0);
	if (ty == signedchar || ty == chartype || ty == shorttype)
		p = simplify(CVI, type, p, 0);
	else if (ty == floattype)
		p = simplify(CVD, type, p, 0);
	else if (ty == unsignedchar || ty == unsignedshort || isptr(ty))
		p = simplify(CVU, type, p, 0);
	else
		p = retype(p, type);
	return p;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xe9da
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0xe9e2
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0xe030
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpq -0x18(%rbp), %rax
jne 0xea12
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xf769
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpl $0xf, (%rax)
jb 0xea31
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x50(%rbp)
jmp 0xea3d
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
jne 0xea65
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x25a20
movq %rax, -0x8(%rbp)
jmp 0xf769
movq -0x28(%rbp), %rax
leaq 0x357a8(%rip), %rcx     # 0x44218
cmpq (%rcx), %rax
je 0xea85
movq -0x28(%rbp), %rax
leaq 0x35760(%rip), %rcx     # 0x441e0
cmpq (%rcx), %rax
jne 0xeaaa
leaq 0x3576c(%rip), %rax     # 0x441f8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0x50, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf06e
movq -0x28(%rbp), %rax
leaq 0x3575b(%rip), %rcx     # 0x44210
cmpq (%rcx), %rax
jne 0xeadf
leaq 0x35737(%rip), %rax     # 0x441f8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0xa0, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf06c
movq -0x28(%rbp), %rax
leaq 0x3571e(%rip), %rcx     # 0x44208
cmpq (%rcx), %rax
jne 0xeb0b
movq -0x10(%rbp), %rdi
leaq 0x356fe(%rip), %rax     # 0x441f8
movq (%rax), %rsi
callq 0x25a20
movq %rax, -0x10(%rbp)
jmp 0xf06a
movq -0x28(%rbp), %rax
leaq 0x356da(%rip), %rcx     # 0x441f0
cmpq (%rcx), %rax
jne 0xeb40
leaq 0x356c6(%rip), %rax     # 0x441e8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0x70, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf068
movq -0x28(%rbp), %rax
leaq 0x356b5(%rip), %rcx     # 0x44200
cmpq (%rcx), %rax
jne 0xeb6c
movq -0x10(%rbp), %rdi
leaq 0x3568d(%rip), %rax     # 0x441e8
movq (%rax), %rsi
callq 0x25a20
movq %rax, -0x10(%rbp)
jmp 0xf066
movq -0x28(%rbp), %rax
leaq 0x356a9(%rip), %rcx     # 0x44220
cmpq (%rcx), %rax
jne 0xeba1
leaq 0x356b5(%rip), %rax     # 0x44238
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0x50, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf064
movq -0x28(%rbp), %rax
leaq 0x35684(%rip), %rcx     # 0x44230
cmpq (%rcx), %rax
jne 0xebd6
leaq 0x35680(%rip), %rax     # 0x44238
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0xa0, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf062
movq -0x28(%rbp), %rax
leaq 0x35647(%rip), %rcx     # 0x44228
cmpq (%rcx), %rax
jne 0xec02
movq -0x10(%rbp), %rdi
leaq 0x35647(%rip), %rax     # 0x44238
movq (%rax), %rsi
callq 0x25a20
movq %rax, -0x10(%rbp)
jmp 0xf060
movq -0x28(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xec19
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0xec21
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
cmpl $0x7, (%rax)
jne 0xef1b
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
jb 0xec4d
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
jmp 0xec59
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
cmpl $0x9, (%rax)
je 0xec9a
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
jb 0xec81
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
jmp 0xec8d
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpl $0xa, (%rax)
jne 0xed9d
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xecb1
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x70(%rbp)
jmp 0xecb9
movq -0x30(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
cmpl $0x7, (%rax)
jne 0xed9d
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
jb 0xece5
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x78(%rbp)
jmp 0xecf1
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
cmpl $0x9, (%rax)
je 0xed2e
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
jb 0xed19
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x80(%rbp)
jmp 0xed25
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
cmpl $0xa, (%rax)
jne 0xed9d
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x282b0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0xed9d
movq -0x30(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x20(%rbp), %rax
movl 0x10(%rax), %edi
leaq 0x35487(%rip), %rax     # 0x441f8
movq (%rax), %rsi
callq 0xc7b0
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
movq %rax, %rcx
movl $0x137, %edi            # imm = 0x137
callq 0x1c390
movq %rax, -0x8(%rbp)
jmp 0xf769
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xedb7
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x98(%rbp)
jmp 0xedc2
movq -0x30(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
cmpl $0x7, (%rax)
jne 0xeef6
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
jb 0xedf4
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0xa0(%rbp)
jmp 0xee03
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
cmpl $0xb, (%rax)
jne 0xee4c
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
jb 0xee31
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0xa8(%rbp)
jmp 0xee40
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
cmpl $0xb, (%rax)
jne 0xeec6
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
jb 0xee6e
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb0(%rbp)
jmp 0xee7d
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
cmpl $0xb, (%rax)
je 0xeee0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0xf, (%rax)
jb 0xeeab
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb8(%rbp)
jmp 0xeeba
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
cmpl $0xb, (%rax)
jne 0xeee0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x30(%rbp), %rdx
leaq 0x21221(%rip), %rdi     # 0x300fa
movb $0x0, %al
callq 0xdba0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x25a20
movq %rax, -0x8(%rbp)
jmp 0xf769
leaq 0x3533b(%rip), %rax     # 0x44238
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0x90, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf05e
movq -0x28(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xef35
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xc0(%rbp)
jmp 0xef40
movq -0x28(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
cmpl $0x9, (%rax)
je 0xef81
movq -0x28(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xef66
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xc8(%rbp)
jmp 0xef71
movq -0x28(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
cmpl $0xa, (%rax)
jne 0xf05c
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xef9b
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xd0(%rbp)
jmp 0xefa6
movq -0x30(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rax
cmpl $0x9, (%rax)
je 0xefe3
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xefcc
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xd8(%rbp)
jmp 0xefd7
movq -0x30(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
cmpl $0xa, (%rax)
jne 0xf05c
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x282b0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0xf05c
movq -0x30(%rbp), %rdi
callq 0x27120
movq %rax, -0xe8(%rbp)
movq -0x10(%rbp), %rdi
callq 0xdc70
movq %rax, -0xe0(%rbp)
movq -0x20(%rbp), %rax
movl 0x10(%rax), %edi
leaq 0x351d0(%rip), %rax     # 0x441f8
movq (%rax), %rsi
callq 0xc7b0
movq -0xe8(%rbp), %rsi
movq -0xe0(%rbp), %rdx
movq %rax, %rcx
movl $0x137, %edi            # imm = 0x137
callq 0x1c390
movq %rax, %rdi
callq 0xf780
movq %rax, -0x8(%rbp)
jmp 0xf769
jmp 0xf05e
jmp 0xf060
jmp 0xf062
jmp 0xf064
jmp 0xf066
jmp 0xf068
jmp 0xf06a
jmp 0xf06c
jmp 0xf06e
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
cmpl $0xf, (%rax)
jb 0xf090
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0xf0(%rbp)
jmp 0xf09f
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
leaq 0x35143(%rip), %rcx     # 0x441f8
cmpq (%rcx), %rax
je 0xf0ef
movq -0x28(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xf0d4
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xf8(%rbp)
jmp 0xf0df
movq -0x28(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
cmpl $0xd, (%rax)
jne 0xf1dc
movq -0x30(%rbp), %rax
leaq 0x350f6(%rip), %rcx     # 0x441f0
cmpq (%rcx), %rax
je 0xf11f
movq -0x30(%rbp), %rax
leaq 0x350de(%rip), %rcx     # 0x441e8
cmpq (%rcx), %rax
je 0xf11f
movq -0x30(%rbp), %rax
leaq 0x350e6(%rip), %rcx     # 0x44200
cmpq (%rcx), %rax
jne 0xf144
leaq 0x350c2(%rip), %rax     # 0x441e8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0x80, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf1d7
movq -0x30(%rbp), %rax
leaq 0x350e9(%rip), %rcx     # 0x44238
cmpq (%rcx), %rax
je 0xf1b5
movq -0x30(%rbp), %rax
leaq 0x350c1(%rip), %rcx     # 0x44220
cmpq (%rcx), %rax
je 0xf1b5
movq -0x30(%rbp), %rax
leaq 0x350c1(%rip), %rcx     # 0x44230
cmpq (%rcx), %rax
je 0xf1b5
movq -0x30(%rbp), %rax
leaq 0x350a9(%rip), %rcx     # 0x44228
cmpq (%rcx), %rax
je 0xf1b5
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xf19e
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x100(%rbp)
jmp 0xf1a9
movq -0x30(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x100(%rbp), %rax
cmpl $0x7, (%rax)
jne 0xf1d5
leaq 0x3507c(%rip), %rax     # 0x44238
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0x80, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf1d7
jmp 0xf661
movq -0x28(%rbp), %rax
leaq 0x35001(%rip), %rcx     # 0x441e8
cmpq (%rcx), %rax
jne 0xf42a
movq -0x30(%rbp), %rax
leaq 0x3501d(%rip), %rcx     # 0x44218
cmpq (%rcx), %rax
je 0xf271
movq -0x30(%rbp), %rax
leaq 0x34fd5(%rip), %rcx     # 0x441e0
cmpq (%rcx), %rax
je 0xf271
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xf22a
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x108(%rbp)
jmp 0xf235
movq -0x30(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rax
cmpl $0xd, (%rax)
je 0xf271
movq -0x30(%rbp), %rax
leaq 0x34fc4(%rip), %rcx     # 0x44210
cmpq (%rcx), %rax
je 0xf271
movq -0x30(%rbp), %rax
leaq 0x34f9c(%rip), %rcx     # 0x441f8
cmpq (%rcx), %rax
je 0xf271
movq -0x30(%rbp), %rax
leaq 0x34f9c(%rip), %rcx     # 0x44208
cmpq (%rcx), %rax
jne 0xf296
leaq 0x34f80(%rip), %rax     # 0x441f8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0x60, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf425
movq -0x30(%rbp), %rax
leaq 0x34f97(%rip), %rcx     # 0x44238
cmpq (%rcx), %rax
je 0xf30b
movq -0x30(%rbp), %rax
leaq 0x34f6f(%rip), %rcx     # 0x44220
cmpq (%rcx), %rax
je 0xf30b
movq -0x30(%rbp), %rax
leaq 0x34f6f(%rip), %rcx     # 0x44230
cmpq (%rcx), %rax
je 0xf30b
movq -0x30(%rbp), %rax
leaq 0x34f57(%rip), %rcx     # 0x44228
cmpq (%rcx), %rax
je 0xf30b
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xf2f0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x110(%rbp)
jmp 0xf2fb
movq -0x30(%rbp), %rax
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rax
cmpl $0x7, (%rax)
jne 0xf423
leaq 0x34ed6(%rip), %rax     # 0x441e8
movq (%rax), %rsi
movl $0x12, %edi
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rdx
callq 0x256f0
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movsd 0x20ac2(%rip), %xmm0    # 0x2fdf8
movsd %xmm0, 0x28(%rax)
leaq 0x34ea6(%rip), %rax     # 0x441e8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movq -0x38(%rbp), %rcx
movl $0x1f0, %edi            # imm = 0x1F0
callq 0x1c390
movq %rax, -0x120(%rbp)
leaq 0x29deb(%rip), %rax     # 0x39150
movq 0x158(%rax), %rax
movq %rax, -0x128(%rbp)
leaq 0x34e6e(%rip), %rax     # 0x441e8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movq -0x38(%rbp), %rcx
movl $0x140, %edi            # imm = 0x140
callq 0x1c390
movq %rax, %rdi
leaq 0x34e5f(%rip), %rax     # 0x441f8
movq (%rax), %rsi
callq 0xe9b0
movq %rax, %rdi
leaq 0x34e8d(%rip), %rax     # 0x44238
movq (%rax), %rsi
callq 0xe9b0
movq %rax, -0x130(%rbp)
leaq 0x34e77(%rip), %rax     # 0x44238
movq (%rax), %rsi
movl $0x80000000, %edi       # imm = 0x80000000
callq 0xc7b0
movq -0x130(%rbp), %rsi
movq %rax, %rdx
movq -0x128(%rbp), %rax
movl $0x130, %edi            # imm = 0x130
callq *%rax
movq %rax, -0x118(%rbp)
leaq 0x34e04(%rip), %rax     # 0x441f8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0x60, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq -0x120(%rbp), %rdi
movq -0x118(%rbp), %rsi
movq %rax, %rdx
callq 0xcc60
movq %rax, -0x10(%rbp)
jmp 0xf425
jmp 0xf65f
movq -0x28(%rbp), %rax
leaq 0x34e03(%rip), %rcx     # 0x44238
cmpq (%rcx), %rax
jne 0xf63e
movq -0x30(%rbp), %rax
leaq 0x34dcf(%rip), %rcx     # 0x44218
cmpq (%rcx), %rax
je 0xf4bf
movq -0x30(%rbp), %rax
leaq 0x34d87(%rip), %rcx     # 0x441e0
cmpq (%rcx), %rax
je 0xf4bf
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xf478
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x138(%rbp)
jmp 0xf483
movq -0x30(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x138(%rbp), %rax
cmpl $0xd, (%rax)
je 0xf4bf
movq -0x30(%rbp), %rax
leaq 0x34d76(%rip), %rcx     # 0x44210
cmpq (%rcx), %rax
je 0xf4bf
movq -0x30(%rbp), %rax
leaq 0x34d4e(%rip), %rcx     # 0x441f8
cmpq (%rcx), %rax
je 0xf4bf
movq -0x30(%rbp), %rax
leaq 0x34d4e(%rip), %rcx     # 0x44208
cmpq (%rcx), %rax
jne 0xf4e4
leaq 0x34d32(%rip), %rax     # 0x441f8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0xb0, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf63c
movq -0x30(%rbp), %rax
leaq 0x34d01(%rip), %rcx     # 0x441f0
cmpq (%rcx), %rax
je 0xf518
movq -0x30(%rbp), %rax
leaq 0x34ce9(%rip), %rcx     # 0x441e8
cmpq (%rcx), %rax
je 0xf518
movq -0x30(%rbp), %rax
leaq 0x34cf1(%rip), %rcx     # 0x44200
cmpq (%rcx), %rax
jne 0xf63a
leaq 0x34cd9(%rip), %rax     # 0x441f8
movq (%rax), %rsi
movq -0x10(%rbp), %rdx
movl $0xb0, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x40(%rbp)
leaq 0x34ca9(%rip), %rax     # 0x441e8
movq (%rax), %rsi
movl $0x12, %edi
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rdx
callq 0x256f0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movsd 0x2088d(%rip), %xmm0    # 0x2fdf0
movsd %xmm0, 0x28(%rax)
leaq 0x34c89(%rip), %rax     # 0x441f8
movq (%rax), %rax
movq %rax, -0x160(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x158(%rbp)
leaq 0x34c6d(%rip), %rax     # 0x441f8
movq (%rax), %rsi
xorl %edi, %edi
callq 0xc7b0
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
movq %rax, %rcx
movl $0x1f0, %edi            # imm = 0x1F0
callq 0x1c390
movq %rax, -0x148(%rbp)
leaq 0x34c2a(%rip), %rax     # 0x441e8
movq (%rax), %rsi
movq -0x40(%rbp), %rdx
movl $0x80, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x140(%rbp)
leaq 0x29b6f(%rip), %rax     # 0x39150
movq 0x158(%rax), %rax
movq %rax, -0x150(%rbp)
leaq 0x34bf2(%rip), %rax     # 0x441e8
movq (%rax), %rsi
movq -0x40(%rbp), %rdx
movl $0x80, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, %rsi
movq -0x150(%rbp), %rax
movq -0x10(%rbp), %rdx
movl $0x130, %edi            # imm = 0x130
callq *%rax
movq -0x148(%rbp), %rdi
movq -0x140(%rbp), %rsi
movq %rax, %rdx
callq 0xcc60
movq %rax, -0x10(%rbp)
jmp 0xf63c
jmp 0xf65d
leaq 0x1fa92(%rip), %rdi     # 0x2f0d7
leaq 0x20a3d(%rip), %rsi     # 0x30089
movl $0x115, %edx            # imm = 0x115
leaq 0x20ad6(%rip), %rcx     # 0x3012e
callq 0x30c0
jmp 0xf65f
jmp 0xf661
movq -0x30(%rbp), %rax
leaq 0x34bac(%rip), %rcx     # 0x44218
cmpq (%rcx), %rax
je 0xf691
movq -0x30(%rbp), %rax
leaq 0x34b64(%rip), %rcx     # 0x441e0
cmpq (%rcx), %rax
je 0xf691
movq -0x30(%rbp), %rax
leaq 0x34b84(%rip), %rcx     # 0x44210
cmpq (%rcx), %rax
jne 0xf6b0
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x80, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf761
movq -0x30(%rbp), %rax
leaq 0x34b35(%rip), %rcx     # 0x441f0
cmpq (%rcx), %rax
jne 0xf6df
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0x60, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf75f
movq -0x30(%rbp), %rax
leaq 0x34b36(%rip), %rcx     # 0x44220
cmpq (%rcx), %rax
je 0xf730
movq -0x30(%rbp), %rax
leaq 0x34b36(%rip), %rcx     # 0x44230
cmpq (%rcx), %rax
je 0xf730
movq -0x30(%rbp), %rax
cmpl $0xf, (%rax)
jb 0xf719
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x168(%rbp)
jmp 0xf724
movq -0x30(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x168(%rbp), %rax
cmpl $0x7, (%rax)
jne 0xf74c
movq -0x18(%rbp), %rsi
movq -0x10(%rbp), %rdx
movl $0xb0, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x1c390
movq %rax, -0x10(%rbp)
jmp 0xf75d
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x25a20
movq %rax, -0x10(%rbp)
jmp 0xf75f
jmp 0xf761
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
nopw %cs:(%rax,%rax)