	.file	"su.c"
	.intel_syntax noprefix
	.text
	.p2align 4,,15
	.def	MT_DMA_CACHE;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_DMA_CACHE
MT_DMA_CACHE:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	rdx, QWORD PTR CR[rip]
	mov	ecx, ecx
	mov	eax, DWORD PTR [rax+rcx*4]
	and	eax, -8
	mov	DWORD PTR [rdx], eax
	ret
	.seh_endproc
	.p2align 4,,15
	.def	MT_DMA_DRAM;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_DMA_DRAM
MT_DMA_DRAM:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	rdx, QWORD PTR 8+CR[rip]
	mov	ecx, ecx
	mov	eax, DWORD PTR [rax+rcx*4]
	and	eax, -8
	mov	DWORD PTR [rdx], eax
	ret
	.seh_endproc
	.p2align 4,,15
	.def	MT_SP_RESERVED;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_SP_RESERVED
MT_SP_RESERVED:
	.seh_endprologue
	mov	rax, QWORD PTR .refptr.RCP_info_SP[rip]
	mov	rax, QWORD PTR 112[rax]
	mov	DWORD PTR [rax], 0
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	rwW_VCE
	.def	rwW_VCE;	.scl	2;	.type	32;	.endef
	.seh_proc	rwW_VCE
rwW_VCE:
	push	rbx
	.seh_pushreg	rbx
	.seh_endprologue
	movzx	edx, cl
	mov	eax, edx
	mov	r9d, edx
	mov	r8d, edx
	sar	eax, 4
	mov	ecx, edx
	mov	ebx, edx
	and	eax, 1
	sar	r9d, 2
	mov	r11d, edx
	movd	xmm1, eax
	mov	rax, QWORD PTR .refptr.cf_vce[rip]
	mov	r10d, edx
	and	ecx, 1
	sar	r8d, 6
	sar	ebx
	and	r9d, 1
	sar	r11d, 3
	sar	r10d, 5
	and	r8d, 1
	and	ebx, 1
	and	r11d, 1
	and	r10d, 1
	sar	edx, 7
	movd	xmm0, ecx
	movd	xmm3, r9d
	pinsrw	xmm1, r10d, 1
	movd	xmm2, r8d
	pinsrw	xmm0, ebx, 1
	pinsrw	xmm3, r11d, 1
	punpckldq	xmm0, xmm3
	pinsrw	xmm2, edx, 1
	punpckldq	xmm1, xmm2
	punpcklqdq	xmm0, xmm1
	movaps	XMMWORD PTR [rax], xmm0
	pop	rbx
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	LBV
	.def	LBV;	.scl	2;	.type	32;	.endef
	.seh_proc	LBV
LBV:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	r9d, r9d
	mov	ecx, ecx
	xor	edx, 1
	add	r8d, DWORD PTR [rax+r9*4]
	sal	rcx, 5
	mov	rax, QWORD PTR DMEM[rip]
	add	rdx, rcx
	and	r8d, 4095
	xor	r8, 3
	movzx	r8d, BYTE PTR [rax+r8]
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	BYTE PTR [rdx+rax], r8b
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	SBV
	.def	SBV;	.scl	2;	.type	32;	.endef
	.seh_proc	SBV
SBV:
	.seh_endprologue
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	ecx, ecx
	xor	edx, 1
	mov	r9d, r9d
	sal	rcx, 5
	add	rdx, rcx
	movzx	edx, BYTE PTR [rdx+rax]
	lea	rax, SR[rip]
	add	r8d, DWORD PTR [rax+r9*4]
	mov	rax, QWORD PTR DMEM[rip]
	and	r8d, 4095
	xor	r8, 3
	mov	BYTE PTR [rax+r8], dl
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	SSV
	.def	SSV;	.scl	2;	.type	32;	.endef
	.seh_proc	SSV
SSV:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	r9d, r9d
	mov	ecx, ecx
	mov	eax, DWORD PTR [rax+r9*4]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	r9, QWORD PTR DMEM[rip]
	lea	eax, [rax+r8*2]
	mov	r8d, edx
	add	edx, 1
	xor	r8d, 1
	and	eax, 4095
	and	edx, 15
	movzx	r10d, BYTE PTR [rcx+r8]
	mov	r8d, eax
	xor	rdx, 1
	add	eax, 1
	xor	r8d, 3
	and	eax, 4095
	xor	rax, 3
	mov	BYTE PTR [r9+r8], r10b
	movzx	ecx, BYTE PTR [rcx+rdx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	SDV
	.def	SDV;	.scl	2;	.type	32;	.endef
	.seh_proc	SDV
SDV:
	push	rdi
	.seh_pushreg	rdi
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	.seh_endprologue
	lea	rax, SR[rip]
	mov	r10, QWORD PTR DMEM[rip]
	mov	r9d, r9d
	mov	ecx, ecx
	mov	eax, DWORD PTR [rax+r9*4]
	sal	rcx, 5
	lea	r9d, [rax+r8*8]
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	r8d, r9d
	and	r8d, 4095
	add	rax, rcx
	cmp	edx, 8
	ja	.L10
	test	dl, 1
	je	.L11
.L10:
	movdqa	xmm0, XMMWORD PTR [rax]
	mov	ecx, edx
	xor	ecx, 1
	movaps	XMMWORD PTR 16[rax], xmm0
	movzx	r9d, BYTE PTR [rax+rcx]
	mov	ecx, r8d
	xor	ecx, 3
	mov	BYTE PTR [r10+rcx], r9b
	lea	ecx, 1[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r10d, BYTE PTR [rax+rcx]
	lea	ecx, 1[r8]
	and	ecx, 4095
	xor	rcx, 3
	mov	BYTE PTR [r9+rcx], r10b
	lea	ecx, 2[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r10d, BYTE PTR [rax+rcx]
	lea	ecx, 2[r8]
	and	ecx, 4095
	xor	rcx, 3
	mov	BYTE PTR [r9+rcx], r10b
	lea	ecx, 3[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r10d, BYTE PTR [rax+rcx]
	lea	ecx, 3[r8]
	and	ecx, 4095
	xor	rcx, 3
	mov	BYTE PTR [r9+rcx], r10b
	lea	ecx, 4[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r10d, BYTE PTR [rax+rcx]
	lea	ecx, 4[r8]
	and	ecx, 4095
	xor	rcx, 3
	mov	BYTE PTR [r9+rcx], r10b
	lea	ecx, 5[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r10d, BYTE PTR [rax+rcx]
	lea	ecx, 5[r8]
	and	ecx, 4095
	xor	rcx, 3
	mov	BYTE PTR [r9+rcx], r10b
	lea	ecx, 6[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	add	edx, 7
	xor	ecx, 1
	xor	edx, 1
	movzx	r10d, BYTE PTR [rax+rcx]
	lea	ecx, 6[r8]
	add	r8d, 7
	and	ecx, 4095
	and	r8d, 4095
	xor	rcx, 3
	xor	r8, 3
	mov	BYTE PTR [r9+rcx], r10b
	movzx	edx, BYTE PTR [rax+rdx]
	mov	rax, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rax+r8], dl
.L9:
	pop	rbx
	pop	rsi
	pop	rdi
	ret
	.p2align 4,,10
.L11:
	lea	r11, .L15[rip]
	and	r9d, 7
	mov	ecx, edx
	movsx	rdx, DWORD PTR [r11+r9*4]
	lea	rdi, [rax+rcx]
	lea	rsi, 2[rax+rcx]
	lea	rbx, 4[rax+rcx]
	add	rdx, r11
	jmp	rdx
	.section .rdata,"dr"
	.align 4
.L15:
	.long	.L13-.L15
	.long	.L14-.L15
	.long	.L16-.L15
	.long	.L17-.L15
	.long	.L18-.L15
	.long	.L19-.L15
	.long	.L20-.L15
	.long	.L21-.L15
	.text
	.p2align 4,,10
.L20:
	movzx	r9d, WORD PTR [rdi]
	mov	edx, r8d
	add	r8d, 2
	and	r8d, 4095
	mov	WORD PTR -2[r10+rdx], r9w
	movzx	edx, WORD PTR [rsi]
	mov	WORD PTR 2[r10+r8], dx
	movzx	edx, WORD PTR [rbx]
	mov	WORD PTR [r10+r8], dx
	movzx	eax, WORD PTR 6[rax+rcx]
	mov	WORD PTR 6[r10+r8], ax
	jmp	.L9
	.p2align 4,,10
.L13:
	movzx	edx, WORD PTR [rdi]
	mov	WORD PTR 2[r10+r8], dx
	movzx	edx, WORD PTR [rsi]
	mov	WORD PTR [r10+r8], dx
	movzx	edx, WORD PTR [rbx]
	mov	WORD PTR 6[r10+r8], dx
	movzx	eax, WORD PTR 6[rax+rcx]
	mov	WORD PTR 4[r10+r8], ax
	jmp	.L9
	.p2align 4,,10
.L14:
	movzx	edx, WORD PTR [rdi]
	mov	r11d, r8d
	mov	WORD PTR [r10+r11], dx
	movzx	r9d, BYTE PTR 3[rax+rcx]
	lea	edx, -1[r8]
	mov	BYTE PTR [r10+rdx], r9b
	movzx	r10d, BYTE PTR [rsi]
	lea	edx, 6[r8]
	mov	r9, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r9+rdx], r10b
	movzx	edx, WORD PTR [rbx]
	mov	r9, QWORD PTR DMEM[rip]
	mov	WORD PTR 4[r9+r11], dx
	movzx	r10d, BYTE PTR 7[rax+rcx]
	lea	edx, 3[r8]
	add	r8d, 10
	and	r8d, 4095
	mov	BYTE PTR [r9+rdx], r10b
	movzx	edx, BYTE PTR 6[rax+rcx]
	mov	rax, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rax+r8], dl
	jmp	.L9
	.p2align 4,,10
.L16:
	movzx	r9d, WORD PTR [rdi]
	mov	edx, r8d
	add	r8d, 8
	and	r8d, 4095
	mov	WORD PTR -2[r10+rdx], r9w
	movzx	r9d, WORD PTR [rsi]
	mov	WORD PTR 4[r10+rdx], r9w
	movzx	r9d, WORD PTR [rbx]
	mov	WORD PTR 2[r10+rdx], r9w
	movzx	eax, WORD PTR 6[rax+rcx]
	mov	WORD PTR [r10+r8], ax
	jmp	.L9
	.p2align 4,,10
.L17:
	movzx	r9d, BYTE PTR 1[rax+rcx]
	lea	edx, -3[r8]
	mov	BYTE PTR [r10+rdx], r9b
	movzx	r10d, BYTE PTR [rdi]
	lea	edx, 4[r8]
	mov	r9, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r9+rdx], r10b
	mov	r9, QWORD PTR DMEM[rip]
	mov	edx, r8d
	movzx	r10d, WORD PTR [rsi]
	mov	WORD PTR 2[r9+rdx], r10w
	movzx	ecx, BYTE PTR 5[rax+rcx]
	lea	edx, 1[r8]
	add	r8d, 8
	and	r8d, 4095
	mov	BYTE PTR [r9+rdx], cl
	mov	rdx, QWORD PTR DMEM[rip]
	movzx	ecx, BYTE PTR [rbx]
	mov	BYTE PTR [rdx+r8], cl
	movzx	edx, WORD PTR 6[rax]
	mov	rax, QWORD PTR DMEM[rip]
	mov	WORD PTR -2[rax+r8], dx
	jmp	.L9
	.p2align 4,,10
.L18:
	movzx	r9d, WORD PTR [rdi]
	mov	edx, r8d
	add	r8d, 4
	and	r8d, 4095
	mov	WORD PTR 2[r10+rdx], r9w
	movzx	r9d, WORD PTR [rsi]
	mov	WORD PTR [r10+rdx], r9w
	movzx	edx, WORD PTR [rbx]
	mov	WORD PTR 2[r10+r8], dx
	movzx	eax, WORD PTR 6[rax+rcx]
	mov	WORD PTR [r10+r8], ax
	jmp	.L9
	.p2align 4,,10
.L19:
	movzx	r9d, WORD PTR [rdi]
	mov	edx, r8d
	mov	WORD PTR [r10+rdx], r9w
	movzx	r9d, BYTE PTR 3[rax+rcx]
	lea	edx, -1[r8]
	add	r8d, 3
	and	r8d, 4095
	mov	BYTE PTR [r10+rdx], r9b
	movzx	r10d, BYTE PTR [rsi]
	lea	edx, 3[r8]
	mov	r9, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r9+rdx], r10b
	movzx	r10d, WORD PTR [rbx]
	mov	edx, r8d
	mov	r9, QWORD PTR DMEM[rip]
	mov	WORD PTR 1[r9+rdx], r10w
	movzx	r10d, BYTE PTR 7[rax+rcx]
	mov	BYTE PTR [r9+rdx], r10b
	movzx	ecx, BYTE PTR 6[rax+rcx]
	lea	eax, 7[r8]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	jmp	.L9
	.p2align 4,,10
.L21:
	movzx	r9d, BYTE PTR 1[rax+rcx]
	lea	edx, -3[r8]
	add	r8d, 1
	and	r8d, 4095
	mov	BYTE PTR [r10+rdx], r9b
	movzx	r10d, BYTE PTR [rdi]
	lea	edx, 3[r8]
	mov	r9, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r9+rdx], r10b
	mov	rdx, QWORD PTR DMEM[rip]
	mov	r9d, r8d
	movzx	r10d, WORD PTR [rsi]
	mov	WORD PTR 1[rdx+r9], r10w
	movzx	r10d, BYTE PTR 5[rax+rcx]
	mov	BYTE PTR [rdx+r9], r10b
	lea	edx, 7[r8]
	movzx	r10d, BYTE PTR [rbx]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movzx	edx, WORD PTR 6[rax+rcx]
	mov	rax, QWORD PTR DMEM[rip]
	mov	WORD PTR 5[rax+r9], dx
	jmp	.L9
	.seh_endproc
	.p2align 4,,15
	.globl	LUV
	.def	LUV;	.scl	2;	.type	32;	.endef
	.seh_proc	LUV
LUV:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	r9d, r9d
	test	edx, edx
	mov	eax, DWORD PTR [rax+r9*4]
	lea	r9d, [rax+r8*8]
	mov	r8, QWORD PTR DMEM[rip]
	je	.L23
	mov	eax, edx
	mov	ecx, ecx
	xor	r10d, r10d
	neg	eax
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	r11d, r10d
	and	eax, 15
	add	eax, r9d
	and	eax, 4095
	mov	r9d, eax
	xor	r9d, 3
	movzx	r9d, BYTE PTR [r8+r9]
	sal	r9d, 7
	cmp	edx, 1
	mov	WORD PTR [rcx], r9w
	mov	r9d, 16
	cmove	r11d, r9d
	add	eax, 1
	sub	eax, r11d
	and	eax, 4095
	mov	r11d, eax
	xor	r11d, 3
	movzx	r11d, BYTE PTR [r8+r11]
	sal	r11d, 7
	cmp	edx, 2
	mov	WORD PTR 2[rcx], r11w
	mov	r11d, r10d
	cmove	r11d, r9d
	add	eax, 1
	sub	eax, r11d
	and	eax, 4095
	mov	r11d, eax
	xor	r11d, 3
	movzx	r11d, BYTE PTR [r8+r11]
	sal	r11d, 7
	cmp	edx, 3
	mov	WORD PTR 4[rcx], r11w
	mov	r11d, r10d
	cmove	r11d, r9d
	add	eax, 1
	sub	eax, r11d
	and	eax, 4095
	mov	r11d, eax
	xor	r11d, 3
	movzx	r11d, BYTE PTR [r8+r11]
	sal	r11d, 7
	cmp	edx, 4
	mov	WORD PTR 6[rcx], r11w
	mov	r11d, r10d
	cmove	r11d, r9d
	add	eax, 1
	sub	eax, r11d
	and	eax, 4095
	mov	r11d, eax
	xor	r11d, 3
	movzx	r11d, BYTE PTR [r8+r11]
	sal	r11d, 7
	cmp	edx, 5
	mov	WORD PTR 8[rcx], r11w
	mov	r11d, r10d
	cmove	r11d, r9d
	add	eax, 1
	sub	eax, r11d
	and	eax, 4095
	mov	r11d, eax
	xor	r11d, 3
	movzx	r11d, BYTE PTR [r8+r11]
	sal	r11d, 7
	cmp	edx, 6
	mov	WORD PTR 10[rcx], r11w
	mov	r11d, r10d
	cmove	r11d, r9d
	add	eax, 1
	sub	eax, r11d
	and	eax, 4095
	mov	r11d, eax
	xor	r11d, 3
	movzx	r11d, BYTE PTR [r8+r11]
	sal	r11d, 7
	cmp	edx, 7
	cmovne	r9d, r10d
	add	eax, 1
	mov	WORD PTR 12[rcx], r11w
	sub	eax, r9d
	and	eax, 4095
	xor	rax, 3
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR 14[rcx], ax
	ret
	.p2align 4,,10
.L23:
	lea	r11, .L34[rip]
	mov	eax, r9d
	and	r9d, 7
	and	eax, 4088
	mov	ecx, ecx
	lea	edx, 4[rax]
	sal	rcx, 5
	lea	r10, [r8+rdx]
	movsx	rdx, DWORD PTR [r11+r9*4]
	add	rdx, r11
	jmp	rdx
	.section .rdata,"dr"
	.align 4
.L34:
	.long	.L32-.L34
	.long	.L33-.L34
	.long	.L35-.L34
	.long	.L36-.L34
	.long	.L37-.L34
	.long	.L38-.L34
	.long	.L39-.L34
	.long	.L40-.L34
	.text
	.p2align 4,,10
.L39:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	add	rdx, rcx
	lea	ecx, 5[rax]
	add	eax, 8
	movzx	ecx, BYTE PTR [r8+rcx]
	and	eax, 4095
	sal	ecx, 7
	mov	WORD PTR [rdx], cx
	movzx	ecx, BYTE PTR [r10]
	sal	ecx, 7
	mov	WORD PTR 2[rdx], cx
	lea	ecx, 3[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 4[rdx], cx
	lea	ecx, 2[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 6[rdx], cx
	lea	ecx, 1[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 8[rdx], cx
	mov	ecx, eax
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 10[rdx], cx
	lea	ecx, 7[rax]
	add	eax, 6
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 12[rdx], cx
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L32:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	add	rdx, rcx
	movzx	ecx, BYTE PTR [r10]
	sal	ecx, 7
	mov	WORD PTR 14[rdx], cx
	lea	ecx, 5[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 12[rdx], cx
	lea	ecx, 6[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 10[rdx], cx
	lea	ecx, 7[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 8[rdx], cx
	mov	ecx, eax
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 6[rdx], cx
	lea	ecx, 1[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 4[rdx], cx
	lea	ecx, 2[rax]
	add	eax, 3
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 2[rdx], cx
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR [rdx], ax
	ret
	.p2align 4,,10
.L33:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	add	rdx, rcx
	lea	ecx, 2[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR [rdx], cx
	lea	ecx, 1[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 2[rdx], cx
	mov	ecx, eax
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 4[rdx], cx
	lea	ecx, 7[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 6[rdx], cx
	lea	ecx, 6[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 8[rdx], cx
	lea	ecx, 5[rax]
	add	eax, 11
	movzx	ecx, BYTE PTR [r8+rcx]
	and	eax, 4095
	sal	ecx, 7
	mov	WORD PTR 10[rdx], cx
	movzx	ecx, BYTE PTR [r10]
	sal	ecx, 7
	mov	WORD PTR 12[rdx], cx
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L35:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	add	rdx, rcx
	lea	ecx, 1[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR [rdx], cx
	mov	ecx, eax
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 2[rdx], cx
	lea	ecx, 7[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 4[rdx], cx
	lea	ecx, 6[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 6[rdx], cx
	lea	ecx, 5[rax]
	add	eax, 8
	movzx	ecx, BYTE PTR [r8+rcx]
	and	eax, 4095
	sal	ecx, 7
	mov	WORD PTR 8[rdx], cx
	movzx	ecx, BYTE PTR [r10]
	sal	ecx, 7
	mov	WORD PTR 10[rdx], cx
	lea	ecx, 3[rax]
	add	eax, 2
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 12[rdx], cx
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L36:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	add	rdx, rcx
	mov	ecx, eax
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR [rdx], cx
	lea	ecx, 7[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 2[rdx], cx
	lea	ecx, 6[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 4[rdx], cx
	lea	ecx, 5[rax]
	add	eax, 8
	movzx	ecx, BYTE PTR [r8+rcx]
	and	eax, 4095
	sal	ecx, 7
	mov	WORD PTR 6[rdx], cx
	movzx	ecx, BYTE PTR [r10]
	sal	ecx, 7
	mov	WORD PTR 8[rdx], cx
	lea	ecx, 3[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 10[rdx], cx
	lea	ecx, 2[rax]
	add	eax, 1
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 12[rdx], cx
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L37:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	add	rdx, rcx
	lea	ecx, 7[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR [rdx], cx
	lea	ecx, 6[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 2[rdx], cx
	lea	ecx, 5[rax]
	add	eax, 8
	movzx	ecx, BYTE PTR [r8+rcx]
	and	eax, 4095
	sal	ecx, 7
	mov	WORD PTR 4[rdx], cx
	movzx	ecx, BYTE PTR [r10]
	sal	ecx, 7
	mov	WORD PTR 6[rdx], cx
	lea	ecx, 3[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 8[rdx], cx
	lea	ecx, 2[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 10[rdx], cx
	lea	ecx, 1[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 12[rdx], cx
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L38:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	add	rdx, rcx
	lea	ecx, 6[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR [rdx], cx
	lea	ecx, 5[rax]
	add	eax, 8
	movzx	ecx, BYTE PTR [r8+rcx]
	and	eax, 4095
	sal	ecx, 7
	mov	WORD PTR 2[rdx], cx
	movzx	ecx, BYTE PTR [r10]
	sal	ecx, 7
	mov	WORD PTR 4[rdx], cx
	lea	ecx, 3[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 6[rdx], cx
	lea	ecx, 2[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 8[rdx], cx
	lea	ecx, 1[rax]
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 10[rdx], cx
	mov	ecx, eax
	add	eax, 7
	movzx	ecx, BYTE PTR [r8+rcx]
	sal	ecx, 7
	mov	WORD PTR 12[rdx], cx
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L40:
	movzx	edx, BYTE PTR [r10]
	add	eax, 8
	add	rcx, QWORD PTR .refptr.VR[rip]
	and	eax, 4095
	sal	edx, 7
	mov	WORD PTR [rcx], dx
	lea	edx, 3[rax]
	movzx	edx, BYTE PTR [r8+rdx]
	sal	edx, 7
	mov	WORD PTR 2[rcx], dx
	lea	edx, 2[rax]
	movzx	edx, BYTE PTR [r8+rdx]
	sal	edx, 7
	mov	WORD PTR 4[rcx], dx
	lea	edx, 1[rax]
	movzx	edx, BYTE PTR [r8+rdx]
	sal	edx, 7
	mov	WORD PTR 6[rcx], dx
	mov	edx, eax
	movzx	edx, BYTE PTR [r8+rdx]
	sal	edx, 7
	mov	WORD PTR 8[rcx], dx
	lea	edx, 7[rax]
	movzx	edx, BYTE PTR [r8+rdx]
	sal	edx, 7
	mov	WORD PTR 10[rcx], dx
	lea	edx, 6[rax]
	add	eax, 5
	movzx	edx, BYTE PTR [r8+rdx]
	sal	edx, 7
	mov	WORD PTR 12[rcx], dx
	movzx	eax, BYTE PTR [r8+rax]
	sal	eax, 7
	mov	WORD PTR 14[rcx], ax
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC0:
	.ascii "LSV\12Illegal element.\0"
.LC1:
	.ascii "LSV\12Weird addr.\0"
	.text
	.p2align 4,,15
	.globl	LSV
	.def	LSV;	.scl	2;	.type	32;	.endef
	.seh_proc	LSV
LSV:
	.seh_endprologue
	test	dl, 1
	jne	.L51
	lea	rax, SR[rip]
	mov	r9d, r9d
	mov	eax, DWORD PTR [rax+r9*4]
	lea	eax, [rax+r8*2]
	mov	r8d, eax
	and	eax, 3
	and	r8d, 4095
	cmp	eax, 3
	je	.L52
	lea	eax, -2[rax+rax]
	mov	ecx, ecx
	mov	edx, edx
	cdqe
	sal	rcx, 5
	sub	r8, rax
	mov	rax, QWORD PTR DMEM[rip]
	add	rcx, rdx
	movzx	r8d, WORD PTR [rax+r8]
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	WORD PTR [rcx+rax], r8w
	ret
	.p2align 4,,10
.L51:
	lea	rcx, .LC0[rip]
	jmp	message
	.p2align 4,,10
.L52:
	lea	rcx, .LC1[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC2:
	.ascii "LLV\12Odd element.\0"
	.text
	.p2align 4,,15
	.globl	LLV
	.def	LLV;	.scl	2;	.type	32;	.endef
	.seh_proc	LLV
LLV:
	.seh_endprologue
	test	dl, 1
	jne	.L57
	mov	r9d, r9d
	mov	ecx, ecx
	mov	edx, edx
	lea	rax, SR[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	eax, DWORD PTR [rax+r9*4]
	mov	r9, QWORD PTR DMEM[rip]
	lea	r11, [rcx+rdx]
	lea	r8d, [rax+r8*4]
	lea	r10, 2[rcx+rdx]
	mov	eax, r8d
	and	eax, 4095
	test	r8b, 1
	jne	.L58
	and	r8d, 3
	mov	edx, eax
	add	eax, 2
	add	r8d, 2147483647
	and	eax, 4095
	add	r8d, r8d
	movsx	r8, r8d
	sub	rdx, r8
	add	r8, r9
	movzx	edx, WORD PTR [r9+rdx]
	mov	WORD PTR [r11], dx
	movzx	eax, WORD PTR [r8+rax]
	mov	WORD PTR [r10], ax
	ret
	.p2align 4,,10
.L58:
	mov	r8d, eax
	add	eax, 1
	xor	r8d, 3
	and	eax, 4095
	movzx	r8d, BYTE PTR [r9+r8]
	mov	BYTE PTR 1[rcx+rdx], r8b
	mov	r8d, eax
	add	eax, 1
	xor	r8d, 3
	and	eax, 4095
	movzx	r8d, BYTE PTR [r9+r8]
	mov	BYTE PTR [r11], r8b
	mov	r8d, eax
	add	eax, 1
	xor	r8d, 3
	and	eax, 4095
	movzx	r8d, BYTE PTR [r9+r8]
	xor	rax, 3
	mov	BYTE PTR 3[rcx+rdx], r8b
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR [r10], al
	ret
	.p2align 4,,10
.L57:
	lea	rcx, .LC2[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC3:
	.ascii "LDV\12Odd element.\0"
	.text
	.p2align 4,,15
	.globl	LDV
	.def	LDV;	.scl	2;	.type	32;	.endef
	.seh_proc	LDV
LDV:
	push	rbp
	.seh_pushreg	rbp
	push	rdi
	.seh_pushreg	rdi
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	.seh_endprologue
	test	dl, 1
	jne	.L71
	mov	r9d, r9d
	mov	ecx, ecx
	mov	edx, edx
	lea	rax, SR[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	eax, DWORD PTR [rax+r9*4]
	lea	r11, .L63[rip]
	mov	r9, QWORD PTR DMEM[rip]
	lea	rbp, [rcx+rdx]
	lea	eax, [rax+r8*8]
	lea	rdi, 2[rcx+rdx]
	mov	r10d, eax
	and	eax, 7
	movsx	r8, DWORD PTR [r11+rax*4]
	and	r10d, 4095
	lea	rsi, 4[rcx+rdx]
	lea	rbx, 6[rcx+rdx]
	add	r8, r11
	jmp	r8
	.section .rdata,"dr"
	.align 4
.L63:
	.long	.L61-.L63
	.long	.L62-.L63
	.long	.L64-.L63
	.long	.L65-.L63
	.long	.L66-.L63
	.long	.L67-.L63
	.long	.L68-.L63
	.long	.L69-.L63
	.text
	.p2align 4,,10
.L71:
	lea	rcx, .LC3[rip]
	pop	rbx
	pop	rsi
	pop	rdi
	pop	rbp
	jmp	message
	.p2align 4,,10
.L68:
	mov	eax, r10d
	movzx	eax, WORD PTR -2[r9+rax]
	mov	WORD PTR 0[rbp], ax
	lea	eax, 2[r10]
	and	eax, 4095
	movzx	edx, WORD PTR 2[r9+rax]
	mov	WORD PTR [rdi], dx
	movzx	edx, WORD PTR [r9+rax]
	mov	WORD PTR [rsi], dx
	movzx	eax, WORD PTR 6[r9+rax]
	mov	WORD PTR [rbx], ax
.L59:
	pop	rbx
	pop	rsi
	pop	rdi
	pop	rbp
	ret
	.p2align 4,,10
.L61:
	mov	eax, r10d
	movzx	edx, WORD PTR 2[r9+rax]
	mov	WORD PTR 0[rbp], dx
	movzx	edx, WORD PTR [r9+rax]
	mov	WORD PTR [rdi], dx
	movzx	edx, WORD PTR 6[r9+rax]
	mov	WORD PTR [rsi], dx
	movzx	eax, WORD PTR 4[r9+rax]
	mov	WORD PTR [rbx], ax
	jmp	.L59
	.p2align 4,,10
.L62:
	mov	r8d, r10d
	movzx	eax, WORD PTR [r9+r8]
	mov	WORD PTR 0[rbp], ax
	lea	eax, -1[r10]
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 3[rcx+rdx], al
	lea	eax, 6[r10]
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR [rdi], al
	movzx	eax, WORD PTR 4[r9+r8]
	mov	WORD PTR [rsi], ax
	lea	eax, 3[r10]
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 7[rcx+rdx], al
	lea	eax, 10[r10]
	and	eax, 4095
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR [rbx], al
	jmp	.L59
	.p2align 4,,10
.L64:
	mov	eax, r10d
	movzx	edx, WORD PTR -2[r9+rax]
	mov	WORD PTR 0[rbp], dx
	movzx	edx, WORD PTR 4[r9+rax]
	mov	WORD PTR [rdi], dx
	movzx	eax, WORD PTR 2[r9+rax]
	mov	WORD PTR [rsi], ax
	lea	eax, 8[r10]
	and	eax, 4095
	movzx	eax, WORD PTR [r9+rax]
	mov	WORD PTR [rbx], ax
	jmp	.L59
	.p2align 4,,10
.L65:
	lea	eax, -3[r10]
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 1[rcx+rdx], al
	lea	eax, 4[r10]
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 0[rbp], al
	mov	eax, r10d
	movzx	eax, WORD PTR 2[r9+rax]
	mov	WORD PTR [rdi], ax
	lea	eax, 1[r10]
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 5[rcx+rdx], al
	lea	eax, 8[r10]
	and	eax, 4095
	movzx	edx, BYTE PTR [r9+rax]
	mov	BYTE PTR [rsi], dl
	movzx	eax, WORD PTR -2[r9+rax]
	mov	WORD PTR [rbx], ax
	jmp	.L59
	.p2align 4,,10
.L66:
	mov	eax, r10d
	movzx	edx, WORD PTR 2[r9+rax]
	mov	WORD PTR 0[rbp], dx
	movzx	eax, WORD PTR [r9+rax]
	mov	WORD PTR [rdi], ax
	lea	eax, 4[r10]
	and	eax, 4095
	movzx	edx, WORD PTR 2[r9+rax]
	mov	WORD PTR [rsi], dx
	movzx	eax, WORD PTR [r9+rax]
	mov	WORD PTR [rbx], ax
	jmp	.L59
	.p2align 4,,10
.L67:
	mov	eax, r10d
	movzx	eax, WORD PTR [r9+rax]
	mov	WORD PTR 0[rbp], ax
	lea	eax, -1[r10]
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 3[rcx+rdx], al
	lea	eax, 3[r10]
	and	eax, 4095
	lea	r8d, 3[rax]
	movzx	r8d, BYTE PTR [r9+r8]
	mov	BYTE PTR [rdi], r8b
	mov	r8d, eax
	add	eax, 7
	movzx	r10d, WORD PTR 1[r9+r8]
	mov	WORD PTR [rsi], r10w
	movzx	r8d, BYTE PTR [r9+r8]
	mov	BYTE PTR 7[rcx+rdx], r8b
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR [rbx], al
	jmp	.L59
	.p2align 4,,10
.L69:
	lea	eax, -3[r10]
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 1[rcx+rdx], al
	lea	eax, 1[r10]
	and	eax, 4095
	lea	r8d, 3[rax]
	movzx	r8d, BYTE PTR [r9+r8]
	mov	BYTE PTR 0[rbp], r8b
	mov	r8d, eax
	add	eax, 7
	movzx	r10d, WORD PTR 1[r9+r8]
	mov	WORD PTR [rdi], r10w
	movzx	r10d, BYTE PTR [r9+r8]
	mov	BYTE PTR 5[rcx+rdx], r10b
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR [rsi], al
	movzx	eax, WORD PTR 5[r9+r8]
	mov	WORD PTR [rbx], ax
	jmp	.L59
	.seh_endproc
	.section .rdata,"dr"
	.align 8
.LC4:
	.ascii "Reserved vector unit transfer operation.\0"
	.text
	.p2align 4,,15
	.globl	res_lsw
	.def	res_lsw;	.scl	2;	.type	32;	.endef
	.seh_proc	res_lsw
res_lsw:
	.seh_endprologue
	lea	rcx, .LC4[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC5:
	.ascii "LPV\12Illegal element.\0"
	.text
	.p2align 4,,15
	.globl	LPV
	.def	LPV;	.scl	2;	.type	32;	.endef
	.seh_proc	LPV
LPV:
	.seh_endprologue
	test	edx, edx
	jne	.L85
	mov	r9d, r9d
	mov	rdx, QWORD PTR DMEM[rip]
	mov	ecx, ecx
	lea	rax, SR[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	eax, DWORD PTR [rax+r9*4]
	lea	r10, .L77[rip]
	lea	r8d, [rax+r8*8]
	mov	eax, r8d
	and	r8d, 7
	movsx	r8, DWORD PTR [r10+r8*4]
	and	eax, 4088
	lea	r9d, 4[rax]
	add	r9, rdx
	add	r8, r10
	jmp	r8
	.section .rdata,"dr"
	.align 4
.L77:
	.long	.L75-.L77
	.long	.L76-.L77
	.long	.L78-.L77
	.long	.L79-.L77
	.long	.L80-.L77
	.long	.L81-.L77
	.long	.L82-.L77
	.long	.L83-.L77
	.text
	.p2align 4,,10
.L85:
	lea	rcx, .LC5[rip]
	jmp	message
	.p2align 4,,10
.L82:
	lea	r8d, 5[rax]
	add	eax, 8
	movzx	r8d, BYTE PTR [rdx+r8]
	and	eax, 4095
	sal	r8d, 8
	mov	WORD PTR [rcx], r8w
	movzx	r8d, BYTE PTR [r9]
	sal	r8d, 8
	mov	WORD PTR 2[rcx], r8w
	lea	r8d, 3[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 4[rcx], r8w
	lea	r8d, 2[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 6[rcx], r8w
	lea	r8d, 1[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 8[rcx], r8w
	mov	r8d, eax
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 10[rcx], r8w
	lea	r8d, 7[rax]
	add	eax, 6
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 12[rcx], r8w
	movzx	eax, BYTE PTR [rdx+rax]
	sal	eax, 8
	mov	WORD PTR 14[rcx], ax
	ret
	.p2align 4,,10
.L75:
	movzx	r8d, BYTE PTR [r9]
	sal	r8d, 8
	mov	WORD PTR 14[rcx], r8w
	lea	r8d, 5[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 12[rcx], r8w
	lea	r8d, 6[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 10[rcx], r8w
	lea	r8d, 7[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 8[rcx], r8w
	mov	r8d, eax
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 6[rcx], r8w
	lea	r8d, 1[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 4[rcx], r8w
	lea	r8d, 2[rax]
	add	eax, 3
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 2[rcx], r8w
	movzx	eax, BYTE PTR [rdx+rax]
	sal	eax, 8
	mov	WORD PTR [rcx], ax
	ret
	.p2align 4,,10
.L76:
	lea	r8d, 2[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR [rcx], r8w
	lea	r8d, 1[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 2[rcx], r8w
	mov	r8d, eax
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 4[rcx], r8w
	lea	r8d, 7[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 6[rcx], r8w
	lea	r8d, 6[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 8[rcx], r8w
	lea	r8d, 5[rax]
	add	eax, 11
	movzx	r8d, BYTE PTR [rdx+r8]
	and	eax, 4095
	sal	r8d, 8
	mov	WORD PTR 10[rcx], r8w
	movzx	r8d, BYTE PTR [r9]
	sal	r8d, 8
	mov	WORD PTR 12[rcx], r8w
	movzx	eax, BYTE PTR [rdx+rax]
	sal	eax, 8
	mov	WORD PTR 14[rcx], ax
	ret
	.p2align 4,,10
.L78:
	lea	r8d, 1[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR [rcx], r8w
	mov	r8d, eax
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 2[rcx], r8w
	lea	r8d, 7[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 4[rcx], r8w
	lea	r8d, 6[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 6[rcx], r8w
	lea	r8d, 5[rax]
	add	eax, 8
	movzx	r8d, BYTE PTR [rdx+r8]
	and	eax, 4095
	sal	r8d, 8
	mov	WORD PTR 8[rcx], r8w
	movzx	r8d, BYTE PTR [r9]
	sal	r8d, 8
	mov	WORD PTR 10[rcx], r8w
	lea	r8d, 3[rax]
	add	eax, 2
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 12[rcx], r8w
	movzx	eax, BYTE PTR [rdx+rax]
	sal	eax, 8
	mov	WORD PTR 14[rcx], ax
	ret
	.p2align 4,,10
.L79:
	mov	r8d, eax
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR [rcx], r8w
	lea	r8d, 7[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 2[rcx], r8w
	lea	r8d, 6[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 4[rcx], r8w
	lea	r8d, 5[rax]
	add	eax, 8
	movzx	r8d, BYTE PTR [rdx+r8]
	and	eax, 4095
	sal	r8d, 8
	mov	WORD PTR 6[rcx], r8w
	movzx	r8d, BYTE PTR [r9]
	sal	r8d, 8
	mov	WORD PTR 8[rcx], r8w
	lea	r8d, 3[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 10[rcx], r8w
	lea	r8d, 2[rax]
	add	eax, 1
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 12[rcx], r8w
	movzx	eax, BYTE PTR [rdx+rax]
	sal	eax, 8
	mov	WORD PTR 14[rcx], ax
	ret
	.p2align 4,,10
.L80:
	lea	r8d, 7[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR [rcx], r8w
	lea	r8d, 6[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 2[rcx], r8w
	lea	r8d, 5[rax]
	add	eax, 8
	movzx	r8d, BYTE PTR [rdx+r8]
	and	eax, 4095
	sal	r8d, 8
	mov	WORD PTR 4[rcx], r8w
	movzx	r8d, BYTE PTR [r9]
	sal	r8d, 8
	mov	WORD PTR 6[rcx], r8w
	lea	r8d, 3[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 8[rcx], r8w
	lea	r8d, 2[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 10[rcx], r8w
	lea	r8d, 1[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 12[rcx], r8w
	movzx	eax, BYTE PTR [rdx+rax]
	sal	eax, 8
	mov	WORD PTR 14[rcx], ax
	ret
	.p2align 4,,10
.L81:
	lea	r8d, 6[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR [rcx], r8w
	lea	r8d, 5[rax]
	add	eax, 8
	movzx	r8d, BYTE PTR [rdx+r8]
	and	eax, 4095
	sal	r8d, 8
	mov	WORD PTR 2[rcx], r8w
	movzx	r8d, BYTE PTR [r9]
	sal	r8d, 8
	mov	WORD PTR 4[rcx], r8w
	lea	r8d, 3[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 6[rcx], r8w
	lea	r8d, 2[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 8[rcx], r8w
	lea	r8d, 1[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 10[rcx], r8w
	mov	r8d, eax
	add	eax, 7
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 12[rcx], r8w
	movzx	eax, BYTE PTR [rdx+rax]
	sal	eax, 8
	mov	WORD PTR 14[rcx], ax
	ret
	.p2align 4,,10
.L83:
	movzx	r8d, BYTE PTR [r9]
	add	eax, 8
	and	eax, 4095
	sal	r8d, 8
	mov	WORD PTR [rcx], r8w
	lea	r8d, 3[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 2[rcx], r8w
	lea	r8d, 2[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 4[rcx], r8w
	lea	r8d, 1[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 6[rcx], r8w
	mov	r8d, eax
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 8[rcx], r8w
	lea	r8d, 7[rax]
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 10[rcx], r8w
	lea	r8d, 6[rax]
	add	eax, 5
	movzx	r8d, BYTE PTR [rdx+r8]
	sal	r8d, 8
	mov	WORD PTR 12[rcx], r8w
	movzx	eax, BYTE PTR [rdx+rax]
	sal	eax, 8
	mov	WORD PTR 14[rcx], ax
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC6:
	.ascii "SPV\12Illegal element.\0"
	.text
	.p2align 4,,15
	.globl	SPV
	.def	SPV;	.scl	2;	.type	32;	.endef
	.seh_proc	SPV
SPV:
	.seh_endprologue
	test	edx, edx
	jne	.L98
	mov	r9d, r9d
	mov	r10, QWORD PTR DMEM[rip]
	lea	rax, SR[rip]
	mov	eax, DWORD PTR [rax+r9*4]
	lea	edx, [rax+r8*8]
	lea	r8, .L90[rip]
	mov	eax, edx
	and	edx, 7
	movsx	rdx, DWORD PTR [r8+rdx*4]
	and	eax, 4088
	lea	r9d, 4[rax]
	add	rdx, r8
	jmp	rdx
	.section .rdata,"dr"
	.align 4
.L90:
	.long	.L88-.L90
	.long	.L89-.L90
	.long	.L91-.L90
	.long	.L92-.L90
	.long	.L93-.L90
	.long	.L94-.L90
	.long	.L95-.L90
	.long	.L96-.L90
	.text
	.p2align 4,,10
.L98:
	lea	rcx, .LC6[rip]
	jmp	message
	.p2align 4,,10
.L95:
	lea	edx, 5[rax]
	mov	ecx, ecx
	add	eax, 8
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	and	eax, 4095
	movzx	r8d, WORD PTR [rcx]
	sar	r8w, 8
	mov	BYTE PTR [r10+rdx], r8b
	movsx	r8w, BYTE PTR 3[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+r9], r8b
	movsx	r9w, BYTE PTR 5[rcx]
	lea	edx, 3[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 7[rcx]
	lea	edx, 2[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 9[rcx]
	lea	edx, 1[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 11[rcx]
	mov	edx, eax
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 13[rcx]
	lea	edx, 7[rax]
	add	eax, 6
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	cx, BYTE PTR 15[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	ret
	.p2align 4,,10
.L88:
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movsx	dx, BYTE PTR 15[rcx]
	mov	BYTE PTR [r10+r9], dl
	movsx	r9w, BYTE PTR 13[rcx]
	lea	edx, 5[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 11[rcx]
	lea	edx, 6[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 9[rcx]
	lea	edx, 7[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 7[rcx]
	mov	edx, eax
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 5[rcx]
	lea	edx, 1[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 3[rcx]
	lea	edx, 2[rax]
	add	eax, 3
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movzx	edx, WORD PTR [rcx]
	mov	rcx, QWORD PTR DMEM[rip]
	sar	dx, 8
	mov	BYTE PTR [rcx+rax], dl
	ret
	.p2align 4,,10
.L89:
	lea	edx, 2[rax]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r8d, WORD PTR [rcx]
	sar	r8w, 8
	mov	BYTE PTR [r10+rdx], r8b
	movsx	r10w, BYTE PTR 3[rcx]
	lea	edx, 1[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 5[rcx]
	mov	edx, eax
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 7[rcx]
	lea	edx, 7[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 9[rcx]
	lea	edx, 6[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 11[rcx]
	lea	edx, 5[rax]
	add	eax, 11
	mov	r8, QWORD PTR DMEM[rip]
	and	eax, 4095
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r8w, BYTE PTR 13[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+r9], r8b
	movsx	cx, BYTE PTR 15[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	ret
	.p2align 4,,10
.L91:
	lea	edx, 1[rax]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r8d, WORD PTR [rcx]
	sar	r8w, 8
	mov	BYTE PTR [r10+rdx], r8b
	movsx	r10w, BYTE PTR 3[rcx]
	mov	edx, eax
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 5[rcx]
	lea	edx, 7[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 7[rcx]
	lea	edx, 6[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 9[rcx]
	lea	edx, 5[rax]
	add	eax, 8
	mov	r8, QWORD PTR DMEM[rip]
	and	eax, 4095
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r8w, BYTE PTR 11[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+r9], r8b
	movsx	r9w, BYTE PTR 13[rcx]
	lea	edx, 3[rax]
	add	eax, 2
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	cx, BYTE PTR 15[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	ret
	.p2align 4,,10
.L92:
	mov	ecx, ecx
	mov	r8d, eax
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	edx, WORD PTR [rcx]
	sar	dx, 8
	mov	BYTE PTR [r10+r8], dl
	movsx	r10w, BYTE PTR 3[rcx]
	lea	edx, 7[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 5[rcx]
	lea	edx, 6[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 7[rcx]
	lea	edx, 5[rax]
	add	eax, 8
	mov	r8, QWORD PTR DMEM[rip]
	and	eax, 4095
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r8w, BYTE PTR 9[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+r9], r8b
	movsx	r9w, BYTE PTR 11[rcx]
	lea	edx, 3[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 13[rcx]
	lea	edx, 2[rax]
	add	eax, 1
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	cx, BYTE PTR 15[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	ret
	.p2align 4,,10
.L93:
	lea	edx, 7[rax]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r8d, WORD PTR [rcx]
	sar	r8w, 8
	mov	BYTE PTR [r10+rdx], r8b
	movsx	r10w, BYTE PTR 3[rcx]
	lea	edx, 6[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r10w, BYTE PTR 5[rcx]
	lea	edx, 5[rax]
	add	eax, 8
	mov	r8, QWORD PTR DMEM[rip]
	and	eax, 4095
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r8w, BYTE PTR 7[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+r9], r8b
	movsx	r9w, BYTE PTR 9[rcx]
	lea	edx, 3[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 11[rcx]
	lea	edx, 2[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 13[rcx]
	lea	edx, 1[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	cx, BYTE PTR 15[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	ret
	.p2align 4,,10
.L94:
	lea	edx, 6[rax]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r8d, WORD PTR [rcx]
	sar	r8w, 8
	mov	BYTE PTR [r10+rdx], r8b
	movsx	r10w, BYTE PTR 3[rcx]
	lea	edx, 5[rax]
	add	eax, 8
	mov	r8, QWORD PTR DMEM[rip]
	and	eax, 4095
	mov	BYTE PTR [r8+rdx], r10b
	movsx	r8w, BYTE PTR 5[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+r9], r8b
	movsx	r9w, BYTE PTR 7[rcx]
	lea	edx, 3[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 9[rcx]
	lea	edx, 2[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 11[rcx]
	lea	edx, 1[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 13[rcx]
	mov	edx, eax
	add	eax, 7
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	cx, BYTE PTR 15[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	ret
	.p2align 4,,10
.L96:
	mov	ecx, ecx
	add	eax, 8
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	and	eax, 4095
	movzx	edx, WORD PTR [rcx]
	sar	dx, 8
	mov	BYTE PTR [r10+r9], dl
	movsx	r9w, BYTE PTR 3[rcx]
	lea	edx, 3[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 5[rcx]
	lea	edx, 2[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 7[rcx]
	lea	edx, 1[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 9[rcx]
	mov	edx, eax
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 11[rcx]
	lea	edx, 7[rax]
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	r9w, BYTE PTR 13[rcx]
	lea	edx, 6[rax]
	add	eax, 5
	mov	r8, QWORD PTR DMEM[rip]
	mov	BYTE PTR [r8+rdx], r9b
	movsx	cx, BYTE PTR 15[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rdx+rax], cl
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC7:
	.ascii "SUV\12Illegal element.\0"
.LC8:
	.ascii "SUV\12Weird addr.\0"
	.text
	.p2align 4,,15
	.globl	SUV
	.def	SUV;	.scl	2;	.type	32;	.endef
	.seh_proc	SUV
SUV:
	.seh_endprologue
	test	edx, edx
	jne	.L106
	lea	rax, SR[rip]
	mov	r9d, r9d
	mov	eax, DWORD PTR [rax+r9*4]
	lea	r8d, [rax+r8*8]
	mov	edx, r8d
	and	edx, 4088
	and	r8d, 7
	je	.L102
	cmp	r8d, 4
	jne	.L107
	mov	rax, QWORD PTR .refptr.VR[rip]
	lea	r8d, 7[rdx]
	mov	ecx, ecx
	sal	rcx, 5
	mov	r9, QWORD PTR DMEM[rip]
	add	rax, rcx
	movzx	ecx, WORD PTR [rax]
	sar	cx, 7
	mov	BYTE PTR [r9+r8], cl
	movzx	r8d, WORD PTR 2[rax]
	lea	ecx, 6[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	r8d, WORD PTR 4[rax]
	lea	ecx, 5[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	r8d, WORD PTR 6[rax]
	lea	ecx, 4[rdx]
	add	edx, 8
	mov	r9, QWORD PTR DMEM[rip]
	and	edx, 4095
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	r8d, WORD PTR 8[rax]
	lea	ecx, 3[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	r8d, WORD PTR 10[rax]
	lea	ecx, 2[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	r8d, WORD PTR 12[rax]
	lea	ecx, 1[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	eax, WORD PTR 14[rax]
	mov	rcx, QWORD PTR DMEM[rip]
	sar	ax, 7
	mov	BYTE PTR [rcx+rdx], al
	ret
	.p2align 4,,10
.L102:
	mov	rax, QWORD PTR .refptr.VR[rip]
	lea	r8d, 4[rdx]
	mov	ecx, ecx
	sal	rcx, 5
	mov	r9, QWORD PTR DMEM[rip]
	add	rax, rcx
	movzx	ecx, WORD PTR 14[rax]
	sar	cx, 7
	mov	BYTE PTR [r9+r8], cl
	movzx	r8d, WORD PTR 12[rax]
	lea	ecx, 5[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	r8d, WORD PTR 10[rax]
	lea	ecx, 6[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	r8d, WORD PTR 8[rax]
	lea	ecx, 7[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	ecx, WORD PTR 6[rax]
	mov	r8d, edx
	mov	r9, QWORD PTR DMEM[rip]
	sar	cx, 7
	mov	BYTE PTR [r9+r8], cl
	movzx	r8d, WORD PTR 4[rax]
	lea	ecx, 1[rdx]
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	r8d, WORD PTR 2[rax]
	lea	ecx, 2[rdx]
	add	edx, 3
	mov	r9, QWORD PTR DMEM[rip]
	sar	r8w, 7
	mov	BYTE PTR [r9+rcx], r8b
	movzx	eax, WORD PTR [rax]
	mov	rcx, QWORD PTR DMEM[rip]
	sar	ax, 7
	mov	BYTE PTR [rcx+rdx], al
	ret
	.p2align 4,,10
.L106:
	lea	rcx, .LC7[rip]
	jmp	message
	.p2align 4,,10
.L107:
	lea	rcx, .LC8[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC9:
	.ascii "LHV\12Illegal element.\0"
.LC10:
	.ascii "LHV\12Illegal addr.\0"
	.text
	.p2align 4,,15
	.globl	LHV
	.def	LHV;	.scl	2;	.type	32;	.endef
	.seh_proc	LHV
LHV:
	.seh_endprologue
	test	edx, edx
	jne	.L111
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	test	r8b, 14
	jne	.L112
	mov	rax, QWORD PTR DMEM[rip]
	and	r8d, 4095
	mov	ecx, ecx
	xor	r8d, 1
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	lea	edx, 12[r8]
	movzx	edx, BYTE PTR [rax+rdx]
	sal	edx, 7
	mov	WORD PTR 14[rcx], dx
	lea	edx, 14[r8]
	movzx	edx, BYTE PTR [rax+rdx]
	sal	edx, 7
	mov	WORD PTR 12[rcx], dx
	lea	edx, 8[r8]
	movzx	edx, BYTE PTR [rax+rdx]
	sal	edx, 7
	mov	WORD PTR 10[rcx], dx
	lea	edx, 10[r8]
	movzx	edx, BYTE PTR [rax+rdx]
	sal	edx, 7
	mov	WORD PTR 8[rcx], dx
	lea	edx, 4[r8]
	movzx	edx, BYTE PTR [rax+rdx]
	sal	edx, 7
	mov	WORD PTR 6[rcx], dx
	lea	edx, 6[r8]
	movzx	edx, BYTE PTR [rax+rdx]
	sal	edx, 7
	mov	WORD PTR 4[rcx], dx
	mov	edx, r8d
	add	r8d, 2
	movzx	edx, BYTE PTR [rax+rdx]
	sal	edx, 7
	mov	WORD PTR 2[rcx], dx
	movzx	eax, BYTE PTR [rax+r8]
	sal	eax, 7
	mov	WORD PTR [rcx], ax
	ret
	.p2align 4,,10
.L112:
	lea	rcx, .LC10[rip]
	jmp	message
	.p2align 4,,10
.L111:
	lea	rcx, .LC9[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC11:
	.ascii "SHV\12Illegal element.\0"
.LC12:
	.ascii "SHV\12Illegal addr.\0"
	.text
	.p2align 4,,15
	.globl	SHV
	.def	SHV;	.scl	2;	.type	32;	.endef
	.seh_proc	SHV
SHV:
	.seh_endprologue
	test	edx, edx
	jne	.L116
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	test	r8b, 14
	jne	.L117
	mov	ecx, ecx
	mov	r9, QWORD PTR DMEM[rip]
	and	r8d, 4095
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	xor	r8d, 1
	lea	eax, 12[r8]
	movzx	edx, WORD PTR 14[rcx]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	edx, WORD PTR 12[rcx]
	lea	eax, 14[r8]
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	edx, WORD PTR 10[rcx]
	lea	eax, 8[r8]
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	edx, WORD PTR 8[rcx]
	lea	eax, 10[r8]
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	edx, WORD PTR 6[rcx]
	lea	eax, 4[r8]
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	edx, WORD PTR 4[rcx]
	lea	eax, 6[r8]
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	eax, WORD PTR 2[rcx]
	mov	edx, r8d
	add	r8d, 2
	mov	r9, QWORD PTR DMEM[rip]
	sar	ax, 7
	mov	BYTE PTR [r9+rdx], al
	movzx	eax, WORD PTR [rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	sar	ax, 7
	mov	BYTE PTR [rdx+r8], al
	ret
	.p2align 4,,10
.L117:
	lea	rcx, .LC12[rip]
	jmp	message
	.p2align 4,,10
.L116:
	lea	rcx, .LC11[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC13:
	.ascii "SFV\12Illegal element.\0"
	.text
	.p2align 4,,15
	.globl	SFV
	.def	SFV;	.scl	2;	.type	32;	.endef
	.seh_proc	SFV
SFV:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	and	r8d, 4083
	xor	r8d, 3
	test	edx, edx
	je	.L120
	cmp	edx, 8
	jne	.L124
	mov	ecx, ecx
	mov	r9, QWORD PTR DMEM[rip]
	mov	edx, r8d
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	eax, WORD PTR 8[rcx]
	sar	ax, 7
	mov	BYTE PTR [r9+rdx], al
	movzx	edx, WORD PTR 10[rcx]
	lea	eax, 4[r8]
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	edx, WORD PTR 12[rcx]
	lea	eax, 8[r8]
	add	r8d, 12
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	eax, WORD PTR 14[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	sar	ax, 7
	mov	BYTE PTR [rdx+r8], al
	ret
	.p2align 4,,10
.L124:
	lea	rcx, .LC13[rip]
	jmp	message
	.p2align 4,,10
.L120:
	mov	ecx, ecx
	mov	r9, QWORD PTR DMEM[rip]
	mov	edx, r8d
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	eax, WORD PTR [rcx]
	sar	ax, 7
	mov	BYTE PTR [r9+rdx], al
	movzx	edx, WORD PTR 2[rcx]
	lea	eax, 4[r8]
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	edx, WORD PTR 4[rcx]
	lea	eax, 8[r8]
	add	r8d, 12
	mov	r9, QWORD PTR DMEM[rip]
	sar	dx, 7
	mov	BYTE PTR [r9+rax], dl
	movzx	eax, WORD PTR 6[rcx]
	mov	rdx, QWORD PTR DMEM[rip]
	sar	ax, 7
	mov	BYTE PTR [rdx+r8], al
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC14:
	.ascii "LQV\12Odd element.\0"
.LC15:
	.ascii "LQV\12Odd addr.\0"
	.text
	.p2align 4,,15
	.globl	LQV
	.def	LQV;	.scl	2;	.type	32;	.endef
	.seh_proc	LQV
LQV:
	push	rbx
	.seh_pushreg	rbx
	.seh_endprologue
	test	dl, 1
	jne	.L138
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	test	r8b, 1
	jne	.L139
	mov	eax, r8d
	shr	r8d
	mov	ecx, ecx
	mov	r9, QWORD PTR DMEM[rip]
	lea	r10, .L130[rip]
	and	r8d, 7
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movsx	r8, DWORD PTR [r10+r8*4]
	and	eax, 4080
	mov	edx, edx
	lea	rbx, 12[r9+rax]
	lea	r11, [rcx+rdx]
	add	r8, r10
	jmp	r8
	.section .rdata,"dr"
	.align 4
.L130:
	.long	.L128-.L130
	.long	.L129-.L130
	.long	.L131-.L130
	.long	.L132-.L130
	.long	.L133-.L130
	.long	.L134-.L130
	.long	.L135-.L130
	.long	.L136-.L130
	.text
	.p2align 4,,10
.L139:
	lea	rcx, .LC15[rip]
	pop	rbx
	jmp	message
	.p2align 4,,10
.L138:
	lea	rcx, .LC14[rip]
	pop	rbx
	jmp	message
	.p2align 4,,10
.L135:
	movzx	eax, WORD PTR 14[r9+rax]
	mov	WORD PTR [r11], ax
	movzx	eax, WORD PTR [rbx]
	mov	WORD PTR 2[rcx+rdx], ax
	pop	rbx
	ret
	.p2align 4,,10
.L134:
	movzx	r8d, WORD PTR 8[r9+rax]
	mov	WORD PTR [r11], r8w
	movzx	eax, WORD PTR 14[r9+rax]
	mov	WORD PTR 2[rcx+rdx], ax
	movzx	eax, WORD PTR [rbx]
	mov	WORD PTR 4[rcx+rdx], ax
	pop	rbx
	ret
	.p2align 4,,10
.L133:
	movzx	r8d, WORD PTR 10[r9+rax]
	mov	WORD PTR [r11], r8w
	movzx	r8d, WORD PTR 8[r9+rax]
	mov	WORD PTR 2[rcx+rdx], r8w
	movzx	eax, WORD PTR 14[r9+rax]
	mov	WORD PTR 4[rcx+rdx], ax
	movzx	eax, WORD PTR [rbx]
	mov	WORD PTR 6[rcx+rdx], ax
	pop	rbx
	ret
	.p2align 4,,10
.L132:
	movzx	r8d, WORD PTR 4[r9+rax]
	mov	WORD PTR [r11], r8w
	movzx	r8d, WORD PTR 10[r9+rax]
	mov	WORD PTR 2[rcx+rdx], r8w
	movzx	r8d, WORD PTR 8[r9+rax]
	mov	WORD PTR 4[rcx+rdx], r8w
	movzx	eax, WORD PTR 14[r9+rax]
	mov	WORD PTR 6[rcx+rdx], ax
	movzx	eax, WORD PTR [rbx]
	mov	WORD PTR 8[rcx+rdx], ax
	pop	rbx
	ret
	.p2align 4,,10
.L131:
	movzx	r8d, WORD PTR 6[r9+rax]
	mov	WORD PTR [r11], r8w
	movzx	r8d, WORD PTR 4[r9+rax]
	mov	WORD PTR 2[rcx+rdx], r8w
	movzx	r8d, WORD PTR 10[r9+rax]
	mov	WORD PTR 4[rcx+rdx], r8w
	movzx	r8d, WORD PTR 8[r9+rax]
	mov	WORD PTR 6[rcx+rdx], r8w
	movzx	eax, WORD PTR 14[r9+rax]
	mov	WORD PTR 8[rcx+rdx], ax
	movzx	eax, WORD PTR [rbx]
	mov	WORD PTR 10[rcx+rdx], ax
	pop	rbx
	ret
	.p2align 4,,10
.L129:
	movzx	r8d, WORD PTR [r9+rax]
	mov	WORD PTR [r11], r8w
	movzx	r8d, WORD PTR 6[r9+rax]
	mov	WORD PTR 2[rcx+rdx], r8w
	movzx	r8d, WORD PTR 4[r9+rax]
	mov	WORD PTR 4[rcx+rdx], r8w
	movzx	r8d, WORD PTR 10[r9+rax]
	mov	WORD PTR 6[rcx+rdx], r8w
	movzx	r8d, WORD PTR 8[r9+rax]
	mov	WORD PTR 8[rcx+rdx], r8w
	movzx	eax, WORD PTR 14[r9+rax]
	mov	WORD PTR 10[rcx+rdx], ax
	movzx	eax, WORD PTR [rbx]
	mov	WORD PTR 12[rcx+rdx], ax
	pop	rbx
	ret
	.p2align 4,,10
.L128:
	movzx	r8d, WORD PTR 2[r9+rax]
	mov	WORD PTR [r11], r8w
	movzx	r8d, WORD PTR [r9+rax]
	mov	WORD PTR 2[rcx+rdx], r8w
	movzx	r8d, WORD PTR 6[r9+rax]
	mov	WORD PTR 4[rcx+rdx], r8w
	movzx	r8d, WORD PTR 4[r9+rax]
	mov	WORD PTR 6[rcx+rdx], r8w
	movzx	r8d, WORD PTR 10[r9+rax]
	mov	WORD PTR 8[rcx+rdx], r8w
	movzx	r8d, WORD PTR 8[r9+rax]
	mov	WORD PTR 10[rcx+rdx], r8w
	movzx	eax, WORD PTR 14[r9+rax]
	mov	WORD PTR 12[rcx+rdx], ax
	movzx	eax, WORD PTR [rbx]
	mov	WORD PTR 14[rcx+rdx], ax
	pop	rbx
	ret
	.p2align 4,,10
.L136:
	movzx	eax, WORD PTR [rbx]
	mov	WORD PTR [r11], ax
	pop	rbx
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC16:
	.ascii "LRV\12Illegal element.\0"
.LC17:
	.ascii "LRV\12Odd addr.\0"
	.text
	.p2align 4,,15
	.globl	LRV
	.def	LRV;	.scl	2;	.type	32;	.endef
	.seh_proc	LRV
LRV:
	.seh_endprologue
	test	edx, edx
	jne	.L152
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	test	r8b, 1
	jne	.L153
	lea	r9, .L145[rip]
	mov	eax, r8d
	shr	r8d
	and	r8d, 7
	and	eax, 4080
	movsx	rdx, DWORD PTR [r9+r8*4]
	add	rdx, r9
	jmp	rdx
	.section .rdata,"dr"
	.align 4
.L145:
	.long	.L140-.L145
	.long	.L144-.L145
	.long	.L146-.L145
	.long	.L147-.L145
	.long	.L148-.L145
	.long	.L149-.L145
	.long	.L150-.L145
	.long	.L151-.L145
	.text
	.p2align 4,,10
.L153:
	lea	rcx, .LC17[rip]
	jmp	message
	.p2align 4,,10
.L144:
	mov	rdx, QWORD PTR DMEM[rip]
	mov	ecx, ecx
	sal	rcx, 5
	movzx	edx, WORD PTR 2[rdx+rax]
	mov	rax, QWORD PTR .refptr.VR[rip]
	add	rax, rcx
	mov	WORD PTR 14[rax], dx
.L140:
	ret
	.p2align 4,,10
.L152:
	lea	rcx, .LC16[rip]
	jmp	message
	.p2align 4,,10
.L150:
	mov	r8, QWORD PTR DMEM[rip]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r9d, WORD PTR 2[r8+rax]
	mov	rdx, rcx
	mov	WORD PTR 4[rcx], r9w
	movzx	ecx, WORD PTR [r8+rax]
	mov	WORD PTR 6[rdx], cx
	movzx	ecx, WORD PTR 6[r8+rax]
	mov	WORD PTR 8[rdx], cx
	movzx	ecx, WORD PTR 4[r8+rax]
	mov	WORD PTR 10[rdx], cx
	movzx	ecx, WORD PTR 10[r8+rax]
	mov	WORD PTR 12[rdx], cx
	movzx	eax, WORD PTR 8[r8+rax]
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L149:
	mov	r8, QWORD PTR DMEM[rip]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r9d, WORD PTR 2[r8+rax]
	mov	rdx, rcx
	mov	WORD PTR 6[rcx], r9w
	movzx	ecx, WORD PTR [r8+rax]
	mov	WORD PTR 8[rdx], cx
	movzx	ecx, WORD PTR 6[r8+rax]
	mov	WORD PTR 10[rdx], cx
	movzx	ecx, WORD PTR 4[r8+rax]
	mov	WORD PTR 12[rdx], cx
	movzx	eax, WORD PTR 10[r8+rax]
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L148:
	mov	r8, QWORD PTR DMEM[rip]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r9d, WORD PTR 2[r8+rax]
	mov	rdx, rcx
	mov	WORD PTR 8[rcx], r9w
	movzx	ecx, WORD PTR [r8+rax]
	mov	WORD PTR 10[rdx], cx
	movzx	ecx, WORD PTR 6[r8+rax]
	mov	WORD PTR 12[rdx], cx
	movzx	eax, WORD PTR 4[r8+rax]
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L147:
	mov	r8, QWORD PTR DMEM[rip]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r9d, WORD PTR 2[r8+rax]
	mov	rdx, rcx
	mov	WORD PTR 10[rcx], r9w
	movzx	ecx, WORD PTR [r8+rax]
	mov	WORD PTR 12[rdx], cx
	movzx	eax, WORD PTR 6[r8+rax]
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L146:
	mov	r8, QWORD PTR DMEM[rip]
	mov	ecx, ecx
	mov	rdx, QWORD PTR .refptr.VR[rip]
	sal	rcx, 5
	movzx	r9d, WORD PTR 2[r8+rax]
	add	rdx, rcx
	mov	WORD PTR 12[rdx], r9w
	movzx	eax, WORD PTR [r8+rax]
	mov	WORD PTR 14[rdx], ax
	ret
	.p2align 4,,10
.L151:
	mov	r8, QWORD PTR DMEM[rip]
	mov	ecx, ecx
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	movzx	r9d, WORD PTR 2[r8+rax]
	mov	rdx, rcx
	mov	WORD PTR 2[rcx], r9w
	movzx	ecx, WORD PTR [r8+rax]
	mov	WORD PTR 4[rdx], cx
	movzx	ecx, WORD PTR 6[r8+rax]
	mov	WORD PTR 6[rdx], cx
	movzx	ecx, WORD PTR 4[r8+rax]
	mov	WORD PTR 8[rdx], cx
	movzx	ecx, WORD PTR 10[r8+rax]
	mov	WORD PTR 10[rdx], cx
	movzx	ecx, WORD PTR 8[r8+rax]
	mov	WORD PTR 12[rdx], cx
	movzx	eax, WORD PTR 14[r8+rax]
	mov	WORD PTR 14[rdx], ax
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC18:
	.ascii "SQV\12Weird addr.\0"
	.text
	.p2align 4,,15
	.globl	SQV
	.def	SQV;	.scl	2;	.type	32;	.endef
	.seh_proc	SQV
SQV:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	mov	r9d, r8d
	and	r9d, 15
	test	edx, edx
	je	.L155
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	ecx, ecx
	and	r8d, 4095
	sal	rcx, 5
	mov	r10, QWORD PTR DMEM[rip]
	add	rax, rcx
	mov	ecx, 16
	sub	ecx, r9d
	movdqa	xmm0, XMMWORD PTR [rax]
	mov	r9d, ecx
	mov	ecx, edx
	xor	ecx, 1
	movaps	XMMWORD PTR 16[rax], xmm0
	movzx	r11d, BYTE PTR [rax+rcx]
	mov	ecx, r8d
	xor	ecx, 3
	cmp	r9d, 1
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 1[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 1[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 2
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 2[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 2[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 3
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 3[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 3[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 4
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 4[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 4[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 5
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 5[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 5[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 6
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 6[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 6[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 7
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 7[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 7[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 8
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 8[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 8[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 9
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 9[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 9[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 10
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 10[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 10[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 11
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 11[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 11[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 12
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 12[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 12[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 13
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 13[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 13[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 14
	mov	BYTE PTR [r10+rcx], r11b
	je	.L154
	lea	ecx, 14[rdx]
	mov	r10, QWORD PTR DMEM[rip]
	xor	ecx, 1
	movzx	r11d, BYTE PTR [rax+rcx]
	lea	ecx, 14[r8]
	and	ecx, 4095
	xor	rcx, 3
	cmp	r9d, 16
	mov	BYTE PTR [r10+rcx], r11b
	jne	.L154
	add	edx, 15
	add	r8d, 15
	xor	edx, 1
	and	r8d, 4095
	movzx	edx, BYTE PTR [rax+rdx]
	xor	r8, 3
	mov	rax, QWORD PTR DMEM[rip]
	mov	BYTE PTR [rax+r8], dl
.L154:
	ret
	.p2align 4,,10
.L155:
	and	r8d, 4080
	cmp	r9d, 2
	je	.L160
	jbe	.L204
	cmp	r9d, 4
	je	.L163
	cmp	r9d, 6
	jne	.L159
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	ecx, ecx
	sal	rcx, 5
	mov	rdx, QWORD PTR DMEM[rip]
	add	rax, rcx
	movzx	ecx, WORD PTR [rax]
	mov	WORD PTR 4[rdx+r8], cx
	movzx	ecx, WORD PTR 2[rax]
	mov	WORD PTR 10[rdx+r8], cx
	movzx	ecx, WORD PTR 4[rax]
	mov	WORD PTR 8[rdx+r8], cx
	movzx	ecx, WORD PTR 6[rax]
	mov	WORD PTR 14[rdx+r8], cx
	movzx	eax, WORD PTR 8[rax]
	mov	WORD PTR 12[rdx+r8], ax
	ret
	.p2align 4,,10
.L160:
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	ecx, ecx
	sal	rcx, 5
	mov	rdx, QWORD PTR DMEM[rip]
	add	rax, rcx
	movzx	ecx, WORD PTR [rax]
	mov	WORD PTR [rdx+r8], cx
	movzx	ecx, WORD PTR 2[rax]
	mov	WORD PTR 6[rdx+r8], cx
	movzx	ecx, WORD PTR 4[rax]
	mov	WORD PTR 4[rdx+r8], cx
	movzx	ecx, WORD PTR 6[rax]
	mov	WORD PTR 10[rdx+r8], cx
	movzx	ecx, WORD PTR 8[rax]
	mov	WORD PTR 8[rdx+r8], cx
	movzx	ecx, WORD PTR 10[rax]
	mov	WORD PTR 14[rdx+r8], cx
	movzx	eax, WORD PTR 12[rax]
	mov	WORD PTR 12[rdx+r8], ax
	ret
	.p2align 4,,10
.L163:
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	ecx, ecx
	sal	rcx, 5
	mov	rdx, QWORD PTR DMEM[rip]
	add	rax, rcx
	movzx	ecx, WORD PTR [rax]
	mov	WORD PTR 6[rdx+r8], cx
	movzx	ecx, WORD PTR 2[rax]
	mov	WORD PTR 4[rdx+r8], cx
	movzx	ecx, WORD PTR 4[rax]
	mov	WORD PTR 10[rdx+r8], cx
	movzx	ecx, WORD PTR 6[rax]
	mov	WORD PTR 8[rdx+r8], cx
	movzx	ecx, WORD PTR 8[rax]
	mov	WORD PTR 14[rdx+r8], cx
	movzx	eax, WORD PTR 10[rax]
	mov	WORD PTR 12[rdx+r8], ax
	ret
	.p2align 4,,10
.L204:
	test	r9d, r9d
	jne	.L159
	mov	rax, QWORD PTR .refptr.VR[rip]
	mov	ecx, ecx
	sal	rcx, 5
	mov	rdx, QWORD PTR DMEM[rip]
	add	rax, rcx
	movzx	ecx, WORD PTR [rax]
	mov	WORD PTR 2[rdx+r8], cx
	movzx	ecx, WORD PTR 2[rax]
	mov	WORD PTR [rdx+r8], cx
	movzx	ecx, WORD PTR 4[rax]
	mov	WORD PTR 6[rdx+r8], cx
	movzx	ecx, WORD PTR 6[rax]
	mov	WORD PTR 4[rdx+r8], cx
	movzx	ecx, WORD PTR 8[rax]
	mov	WORD PTR 10[rdx+r8], cx
	movzx	ecx, WORD PTR 10[rax]
	mov	WORD PTR 8[rdx+r8], cx
	movzx	ecx, WORD PTR 12[rax]
	mov	WORD PTR 14[rdx+r8], cx
	movzx	eax, WORD PTR 14[rax]
	mov	WORD PTR 12[rdx+r8], ax
	ret
	.p2align 4,,10
.L159:
	lea	rcx, .LC18[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC19:
	.ascii "SRV\12Illegal element.\0"
.LC20:
	.ascii "SRV\12Odd addr.\0"
	.text
	.p2align 4,,15
	.globl	SRV
	.def	SRV;	.scl	2;	.type	32;	.endef
	.seh_proc	SRV
SRV:
	.seh_endprologue
	test	edx, edx
	jne	.L217
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	test	r8b, 1
	jne	.L218
	lea	r9, .L210[rip]
	mov	eax, r8d
	shr	r8d
	and	r8d, 7
	and	eax, 4080
	movsx	rdx, DWORD PTR [r9+r8*4]
	add	rdx, r9
	jmp	rdx
	.section .rdata,"dr"
	.align 4
.L210:
	.long	.L205-.L210
	.long	.L209-.L210
	.long	.L211-.L210
	.long	.L212-.L210
	.long	.L213-.L210
	.long	.L214-.L210
	.long	.L215-.L210
	.long	.L216-.L210
	.text
	.p2align 4,,10
.L218:
	lea	rcx, .LC20[rip]
	jmp	message
	.p2align 4,,10
.L209:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	mov	ecx, ecx
	sal	rcx, 5
	add	rdx, rcx
	movzx	ecx, WORD PTR 14[rdx]
	mov	rdx, QWORD PTR DMEM[rip]
	mov	WORD PTR 2[rdx+rax], cx
.L205:
	ret
	.p2align 4,,10
.L217:
	lea	rcx, .LC19[rip]
	jmp	message
	.p2align 4,,10
.L215:
	mov	ecx, ecx
	mov	r8, QWORD PTR DMEM[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	rdx, rcx
	movzx	ecx, WORD PTR 4[rcx]
	mov	WORD PTR 2[r8+rax], cx
	movzx	ecx, WORD PTR 6[rdx]
	mov	WORD PTR [r8+rax], cx
	movzx	ecx, WORD PTR 8[rdx]
	mov	WORD PTR 6[r8+rax], cx
	movzx	ecx, WORD PTR 10[rdx]
	mov	WORD PTR 4[r8+rax], cx
	movzx	ecx, WORD PTR 12[rdx]
	mov	WORD PTR 10[r8+rax], cx
	movzx	edx, WORD PTR 14[rdx]
	mov	WORD PTR 8[r8+rax], dx
	ret
	.p2align 4,,10
.L214:
	mov	ecx, ecx
	mov	r8, QWORD PTR DMEM[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	rdx, rcx
	movzx	ecx, WORD PTR 6[rcx]
	mov	WORD PTR 2[r8+rax], cx
	movzx	ecx, WORD PTR 8[rdx]
	mov	WORD PTR [r8+rax], cx
	movzx	ecx, WORD PTR 10[rdx]
	mov	WORD PTR 6[r8+rax], cx
	movzx	ecx, WORD PTR 12[rdx]
	mov	WORD PTR 4[r8+rax], cx
	movzx	edx, WORD PTR 14[rdx]
	mov	WORD PTR 10[r8+rax], dx
	ret
	.p2align 4,,10
.L213:
	mov	ecx, ecx
	mov	r8, QWORD PTR DMEM[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	rdx, rcx
	movzx	ecx, WORD PTR 8[rcx]
	mov	WORD PTR 2[r8+rax], cx
	movzx	ecx, WORD PTR 10[rdx]
	mov	WORD PTR [r8+rax], cx
	movzx	ecx, WORD PTR 12[rdx]
	mov	WORD PTR 6[r8+rax], cx
	movzx	edx, WORD PTR 14[rdx]
	mov	WORD PTR 4[r8+rax], dx
	ret
	.p2align 4,,10
.L212:
	mov	rdx, QWORD PTR .refptr.VR[rip]
	mov	ecx, ecx
	sal	rcx, 5
	mov	r8, QWORD PTR DMEM[rip]
	add	rdx, rcx
	movzx	ecx, WORD PTR 10[rdx]
	mov	WORD PTR 2[r8+rax], cx
	movzx	ecx, WORD PTR 12[rdx]
	mov	WORD PTR [r8+rax], cx
	movzx	edx, WORD PTR 14[rdx]
	mov	WORD PTR 6[r8+rax], dx
	ret
	.p2align 4,,10
.L211:
	mov	ecx, ecx
	mov	r8, QWORD PTR DMEM[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	rdx, rcx
	movzx	ecx, WORD PTR 12[rcx]
	mov	WORD PTR 2[r8+rax], cx
	movzx	edx, WORD PTR 14[rdx]
	mov	WORD PTR [r8+rax], dx
	ret
	.p2align 4,,10
.L216:
	mov	ecx, ecx
	mov	r8, QWORD PTR DMEM[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	mov	rdx, rcx
	movzx	ecx, WORD PTR 2[rcx]
	mov	WORD PTR 2[r8+rax], cx
	movzx	ecx, WORD PTR 4[rdx]
	mov	WORD PTR [r8+rax], cx
	movzx	ecx, WORD PTR 6[rdx]
	mov	WORD PTR 6[r8+rax], cx
	movzx	ecx, WORD PTR 8[rdx]
	mov	WORD PTR 4[r8+rax], cx
	movzx	ecx, WORD PTR 10[rdx]
	mov	WORD PTR 10[r8+rax], cx
	movzx	ecx, WORD PTR 12[rdx]
	mov	WORD PTR 8[r8+rax], cx
	movzx	edx, WORD PTR 14[rdx]
	mov	WORD PTR 14[r8+rax], dx
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC21:
	.ascii "MTC0\12CMD_CLOCK\0"
	.text
	.p2align 4,,15
	.def	MT_CMD_CLOCK;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_CMD_CLOCK
MT_CMD_CLOCK:
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 32
	.seh_stackalloc	32
	.seh_endprologue
	mov	ebx, ecx
	lea	rcx, .LC21[rip]
	call	message
	lea	rax, SR[rip]
	mov	edx, DWORD PTR [rax+rbx*4]
	mov	rax, QWORD PTR .refptr.RCP_info_SP[rip]
	mov	rax, QWORD PTR 152[rax]
	mov	DWORD PTR [rax], edx
	add	rsp, 32
	pop	rbx
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC22:
	.ascii "MTC0\12CMD_STATUS\0"
	.text
	.p2align 4,,15
	.def	MT_CMD_STATUS;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_CMD_STATUS
MT_CMD_STATUS:
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	lea	rsi, SR[rip]
	mov	ebx, ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	test	edx, -640
	jne	.L225
.L221:
	mov	r8, QWORD PTR .refptr.RCP_info_SP[rip]
	and	edx, 1
	not	edx
	mov	rcx, QWORD PTR 144[r8]
	and	edx, DWORD PTR [rcx]
	mov	DWORD PTR [rcx], edx
	mov	eax, DWORD PTR [rsi+rbx*4]
	shr	eax
	and	eax, 1
	or	eax, edx
	mov	DWORD PTR [rcx], eax
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx
	and	edx, 2
	not	edx
	and	edx, eax
	mov	DWORD PTR [rcx], edx
	mov	eax, DWORD PTR [rsi+rbx*4]
	shr	eax, 2
	and	eax, 2
	or	edx, eax
	mov	DWORD PTR [rcx], edx
	mov	eax, DWORD PTR [rsi+rbx*4]
	shr	eax, 2
	and	eax, 4
	not	eax
	and	eax, edx
	mov	DWORD PTR [rcx], eax
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 3
	and	edx, 4
	or	eax, edx
	mov	rdx, QWORD PTR 176[r8]
	mov	DWORD PTR [rcx], eax
	mov	eax, DWORD PTR [rsi+rbx*4]
	shr	eax, 6
	xor	eax, 1
	and	eax, 1
	neg	eax
	and	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR [rsi+rbx*4]
	mov	rdx, QWORD PTR 152[r8]
	shr	eax, 9
	xor	eax, 1
	and	eax, 1
	neg	eax
	and	DWORD PTR [rdx], eax
	add	rsp, 40
	pop	rbx
	pop	rsi
	ret
	.p2align 4,,10
.L225:
	lea	rcx, .LC22[rip]
	call	message
	mov	edx, DWORD PTR [rsi+rbx*4]
	jmp	.L221
	.seh_endproc
	.section .rdata,"dr"
.LC23:
	.ascii "MTC0\12CMD_END\0"
	.text
	.p2align 4,,15
	.def	MT_CMD_END;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_CMD_END
MT_CMD_END:
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	mov	rsi, QWORD PTR .refptr.RCP_info_SP[rip]
	mov	rax, QWORD PTR 160[rsi]
	mov	ebx, ecx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L227
	lea	rcx, .LC23[rip]
	call	message
.L227:
	lea	rax, SR[rip]
	mov	rdx, QWORD PTR 128[rsi]
	mov	eax, DWORD PTR [rax+rbx*4]
	and	eax, -8
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR .refptr.GBI_phase[rip]
	mov	rax, QWORD PTR [rax]
	add	rsp, 40
	pop	rbx
	pop	rsi
	rex.W jmp	rax
	.seh_endproc
	.section .rdata,"dr"
.LC24:
	.ascii "MTC0\12CMD_START\0"
	.text
	.p2align 4,,15
	.def	MT_CMD_START;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_CMD_START
MT_CMD_START:
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	mov	rsi, QWORD PTR .refptr.RCP_info_SP[rip]
	lea	rax, SR[rip]
	mov	ecx, ecx
	mov	ebx, DWORD PTR [rax+rcx*4]
	mov	rax, QWORD PTR 160[rsi]
	and	ebx, -8
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L229
	lea	rcx, .LC24[rip]
	call	message
.L229:
	mov	rax, QWORD PTR 120[rsi]
	mov	DWORD PTR [rax], ebx
	mov	rax, QWORD PTR 136[rsi]
	mov	DWORD PTR [rax], ebx
	mov	rax, QWORD PTR 128[rsi]
	mov	DWORD PTR [rax], ebx
	add	rsp, 40
	pop	rbx
	pop	rsi
	ret
	.seh_endproc
	.p2align 4,,15
	.def	MT_READ_ONLY;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_READ_ONLY
MT_READ_ONLY:
	.seh_endprologue
	movzx	edx, cl
	lea	eax, [rdx+rdx*4]
	lea	eax, [rdx+rax*8]
	lea	eax, [rax+rax*4]
	shr	ax, 11
	lea	edx, 48[rax]
	lea	eax, [rax+rax*4]
	mov	BYTE PTR write_to_read_only.7219[rip+21], dl
	add	eax, eax
	sub	ecx, eax
	add	ecx, 48
	mov	BYTE PTR write_to_read_only.7219[rip+22], cl
	lea	rcx, write_to_read_only.7219[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC25:
	.ascii "MTC0\12SP_STATUS\0"
	.text
	.p2align 4,,15
	.def	MT_SP_STATUS;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_SP_STATUS
MT_SP_STATUS:
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	lea	rsi, SR[rip]
	mov	ebx, ecx
	mov	r9d, DWORD PTR [rsi+rbx*4]
	test	r9d, -33554368
	je	.L232
	lea	rcx, .LC25[rip]
	call	message
	mov	r9d, DWORD PTR [rsi+rbx*4]
.L232:
	mov	r8, QWORD PTR .refptr.RCP_info_SP[rip]
	and	r9d, 1
	not	r9d
	mov	rax, QWORD PTR 80[r8]
	mov	edx, DWORD PTR [rax]
	and	edx, r9d
	mov	DWORD PTR [rax], edx
	mov	r9d, DWORD PTR [rsi+rbx*4]
	shr	r9d
	and	r9d, 2
	not	r9d
	and	r9d, edx
	mov	DWORD PTR [rax], r9d
	mov	edx, DWORD PTR [rsi+rbx*4]
	and	edx, 32
	not	edx
	and	r9d, edx
	mov	DWORD PTR [rax], r9d
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx
	and	edx, 64
	not	edx
	and	edx, r9d
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 2
	and	ecx, 128
	not	ecx
	and	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 3
	and	ecx, 256
	not	ecx
	and	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 4
	and	edx, 512
	not	edx
	and	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 5
	and	edx, 1024
	not	edx
	and	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 6
	and	ecx, 2048
	not	ecx
	and	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 7
	and	ecx, 4096
	not	ecx
	and	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 8
	and	edx, 8192
	not	edx
	and	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 9
	and	edx, 16384
	not	edx
	and	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx
	and	ecx, 1
	or	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx
	and	edx, 32
	or	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 2
	and	ecx, 64
	or	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	mov	r8, QWORD PTR 40[r8]
	shr	ecx, 3
	and	ecx, 128
	or	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 4
	and	edx, 256
	or	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 5
	and	edx, 512
	or	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 6
	and	ecx, 1024
	or	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 7
	and	ecx, 2048
	or	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 8
	and	edx, 4096
	or	ecx, edx
	mov	DWORD PTR [rax], ecx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 9
	and	edx, 8192
	or	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 10
	and	ecx, 16384
	or	edx, ecx
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 3
	and	edx, 1
	not	edx
	and	edx, DWORD PTR [r8]
	mov	DWORD PTR [r8], edx
	mov	ecx, DWORD PTR [rsi+rbx*4]
	shr	ecx, 4
	and	ecx, 1
	or	edx, ecx
	mov	DWORD PTR [r8], edx
	mov	edx, DWORD PTR [rsi+rbx*4]
	shr	edx, 4
	and	edx, 1
	or	DWORD PTR [rax], edx
	add	rsp, 40
	pop	rbx
	pop	rsi
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	rwR_VCE
	.def	rwR_VCE;	.scl	2;	.type	32;	.endef
	.seh_proc	rwR_VCE
rwR_VCE:
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	call	get_VCE
	movzx	eax, al
	add	rsp, 40
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC26:
	.ascii "SLV\12Illegal element.\0"
.LC27:
	.ascii "SLV\12Odd addr.\0"
	.text
	.p2align 4,,15
	.globl	SLV
	.def	SLV;	.scl	2;	.type	32;	.endef
	.seh_proc	SLV
SLV:
	.seh_endprologue
	cmp	edx, 12
	ja	.L241
	test	dl, 1
	jne	.L241
	lea	rax, SR[rip]
	mov	r9d, r9d
	mov	eax, DWORD PTR [rax+r9*4]
	lea	eax, [rax+r8*4]
	test	al, 1
	jne	.L242
	mov	ecx, ecx
	mov	r8d, eax
	mov	edx, edx
	mov	r9, QWORD PTR DMEM[rip]
	sal	rcx, 5
	add	rcx, QWORD PTR .refptr.VR[rip]
	and	eax, 3
	and	r8d, 4095
	add	eax, 2147483647
	mov	r10d, r8d
	add	eax, eax
	add	r8d, 2
	cdqe
	and	r8d, 4095
	movzx	r11d, WORD PTR [rcx+rdx]
	sub	r10, rax
	add	rax, r9
	mov	WORD PTR [r9+r10], r11w
	movzx	edx, WORD PTR 2[rcx+rdx]
	mov	WORD PTR [rax+r8], dx
	ret
	.p2align 4,,10
.L241:
	lea	rcx, .LC26[rip]
	jmp	message
	.p2align 4,,10
.L242:
	lea	rcx, .LC27[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC28:
	.ascii "LTV\12Illegal element.\0"
.LC29:
	.ascii "LTV\12Uncertain case!\0"
.LC30:
	.ascii "LTV\12Illegal addr.\0"
	.text
	.p2align 4,,15
	.globl	LTV
	.def	LTV;	.scl	2;	.type	32;	.endef
	.seh_proc	LTV
LTV:
	.seh_endprologue
	test	dl, 1
	jne	.L247
	test	cl, 7
	jne	.L248
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	test	r8b, 15
	jne	.L249
	shr	edx
	mov	r9, QWORD PTR DMEM[rip]
	and	r8d, 4095
	mov	r10d, edx
	mov	rax, QWORD PTR .refptr.VR[rip]
	neg	r10d
	mov	r11d, r10d
	mov	r10d, ecx
	and	r11d, 7
	sal	r10, 4
	add	r10, r11
	movzx	r11d, WORD PTR 2[r9+r8]
	mov	WORD PTR [rax+r10*2], r11w
	mov	r10d, 1
	sub	r10d, edx
	mov	r11d, r10d
	lea	r10d, 1[rcx]
	and	r11d, 7
	sal	r10, 4
	add	r10, r11
	movzx	r11d, WORD PTR [r9+r8]
	mov	WORD PTR [rax+r10*2], r11w
	mov	r10d, 2
	sub	r10d, edx
	mov	r11d, r10d
	lea	r10d, 2[rcx]
	and	r11d, 7
	sal	r10, 4
	add	r10, r11
	movzx	r11d, WORD PTR 6[r9+r8]
	mov	WORD PTR [rax+r10*2], r11w
	mov	r10d, 3
	sub	r10d, edx
	mov	r11d, r10d
	lea	r10d, 3[rcx]
	and	r11d, 7
	sal	r10, 4
	add	r10, r11
	movzx	r11d, WORD PTR 4[r9+r8]
	mov	WORD PTR [rax+r10*2], r11w
	mov	r10d, 4
	sub	r10d, edx
	mov	r11d, r10d
	lea	r10d, 4[rcx]
	and	r11d, 7
	sal	r10, 4
	add	r10, r11
	movzx	r11d, WORD PTR 10[r9+r8]
	mov	WORD PTR [rax+r10*2], r11w
	mov	r10d, 5
	sub	r10d, edx
	mov	r11d, r10d
	lea	r10d, 5[rcx]
	and	r11d, 7
	sal	r10, 4
	add	r10, r11
	movzx	r11d, WORD PTR 8[r9+r8]
	mov	WORD PTR [rax+r10*2], r11w
	mov	r10d, 6
	sub	r10d, edx
	not	edx
	mov	r11d, r10d
	and	edx, 7
	lea	r10d, 6[rcx]
	and	r11d, 7
	add	ecx, 7
	sal	r10, 4
	add	r10, r11
	movzx	r11d, WORD PTR 14[r9+r8]
	sal	rcx, 4
	add	rdx, rcx
	mov	WORD PTR [rax+r10*2], r11w
	movzx	r8d, WORD PTR 12[r9+r8]
	mov	WORD PTR [rax+rdx*2], r8w
	ret
	.p2align 4,,10
.L248:
	lea	rcx, .LC29[rip]
	jmp	message
	.p2align 4,,10
.L247:
	lea	rcx, .LC28[rip]
	jmp	message
	.p2align 4,,10
.L249:
	lea	rcx, .LC30[rip]
	jmp	message
	.seh_endproc
	.section .rdata,"dr"
.LC31:
	.ascii "STV\12Illegal element.\0"
.LC32:
	.ascii "STV\12Uncertain case!\0"
.LC33:
	.ascii "STV\12Illegal addr.\0"
	.text
	.p2align 4,,15
	.globl	STV
	.def	STV;	.scl	2;	.type	32;	.endef
	.seh_proc	STV
STV:
	.seh_endprologue
	test	dl, 1
	jne	.L254
	test	cl, 7
	jne	.L255
	lea	rax, SR[rip]
	mov	r9d, r9d
	sal	r8d, 4
	add	r8d, DWORD PTR [rax+r9*4]
	test	r8b, 15
	jne	.L256
	shr	edx
	mov	r9, QWORD PTR .refptr.VR[rip]
	and	r8d, 4095
	mov	r10d, edx
	mov	rax, QWORD PTR DMEM[rip]
	and	r10d, 7
	add	r10d, ecx
	sal	r10, 5
	movzx	r10d, WORD PTR [r9+r10]
	mov	WORD PTR 2[rax+r8], r10w
	lea	r10d, 1[rdx]
	and	r10d, 7
	add	r10d, ecx
	sal	r10, 5
	movzx	r10d, WORD PTR 2[r9+r10]
	mov	WORD PTR [rax+r8], r10w
	lea	r10d, 2[rdx]
	and	r10d, 7
	add	r10d, ecx
	sal	r10, 5
	movzx	r10d, WORD PTR 4[r9+r10]
	mov	WORD PTR 6[rax+r8], r10w
	lea	r10d, 3[rdx]
	and	r10d, 7
	add	r10d, ecx
	sal	r10, 5
	movzx	r10d, WORD PTR 6[r9+r10]
	mov	WORD PTR 4[rax+r8], r10w
	lea	r10d, 4[rdx]
	and	r10d, 7
	add	r10d, ecx
	sal	r10, 5
	movzx	r10d, WORD PTR 8[r9+r10]
	mov	WORD PTR 10[rax+r8], r10w
	lea	r10d, 5[rdx]
	and	r10d, 7
	add	r10d, ecx
	sal	r10, 5
	movzx	r10d, WORD PTR 10[r9+r10]
	mov	WORD PTR 8[rax+r8], r10w
	lea	r10d, 6[rdx]
	add	edx, 7
	and	r10d, 7
	and	edx, 7
	add	r10d, ecx
	add	edx, ecx
	sal	r10, 5
	sal	rdx, 5
	movzx	r10d, WORD PTR 12[r9+r10]
	mov	WORD PTR 14[rax+r8], r10w
	movzx	edx, WORD PTR 14[r9+rdx]
	mov	WORD PTR 12[rax+r8], dx
	ret
	.p2align 4,,10
.L255:
	lea	rcx, .LC32[rip]
	jmp	message
	.p2align 4,,10
.L254:
	lea	rcx, .LC31[rip]
	jmp	message
	.p2align 4,,10
.L256:
	lea	rcx, .LC33[rip]
	jmp	message
	.seh_endproc
	.p2align 4,,15
	.def	res_lsw.constprop.4;	.scl	3;	.type	32;	.endef
	.seh_proc	res_lsw.constprop.4
res_lsw.constprop.4:
	.seh_endprologue
	lea	rcx, .LC4[rip]
	jmp	message
	.seh_endproc
	.p2align 4,,15
	.globl	LFV
	.def	LFV;	.scl	2;	.type	32;	.endef
	.seh_proc	LFV
LFV:
	.seh_endprologue
	jmp	res_lsw.constprop.4
	.seh_endproc
	.p2align 4,,15
	.globl	SWV
	.def	SWV;	.scl	2;	.type	32;	.endef
	.seh_proc	SWV
SWV:
	.seh_endprologue
	jmp	res_lsw.constprop.4
	.seh_endproc
	.section .rdata,"dr"
.LC34:
	.ascii "RESERVED.\0"
	.text
	.p2align 4,,15
	.globl	res_S
	.def	res_S;	.scl	2;	.type	32;	.endef
	.seh_proc	res_S
res_S:
	.seh_endprologue
	lea	rcx, .LC34[rip]
	jmp	message
	.seh_endproc
	.p2align 4,,15
	.globl	set_PC
	.def	set_PC;	.scl	2;	.type	32;	.endef
	.seh_proc	set_PC
set_PC:
	.seh_endprologue
	and	ecx, 4092
	add	ecx, 67112960
	mov	DWORD PTR temp_PC[rip], ecx
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	SP_CP0_MF
	.def	SP_CP0_MF;	.scl	2;	.type	32;	.endef
	.seh_proc	SP_CP0_MF
SP_CP0_MF:
	.seh_endprologue
	lea	rax, CR[rip]
	and	edx, 15
	mov	ecx, ecx
	mov	r8d, edx
	cmp	edx, 7
	mov	rax, QWORD PTR [rax+r8*8]
	mov	r8d, DWORD PTR [rax]
	lea	rax, SR[rip]
	mov	DWORD PTR [rax+rcx*4], r8d
	mov	DWORD PTR SR[rip], 0
	je	.L265
	cmp	edx, 4
	je	.L266
.L262:
	ret
	.p2align 4,,10
.L266:
	lea	rdx, MFC0_count[rip]
	movzx	eax, WORD PTR [rdx+rcx*2]
	add	eax, 1
	mov	WORD PTR [rdx+rcx*2], ax
	mov	rdx, QWORD PTR .refptr.RCP_info_SP[rip]
	cwde
	cmp	eax, DWORD PTR MF_SP_STATUS_TIMEOUT[rip]
	mov	rdx, QWORD PTR 80[rdx]
	setge	al
	movzx	eax, al
	or	DWORD PTR [rdx], eax
	ret
	.p2align 4,,10
.L265:
	mov	eax, DWORD PTR 20+conf[rip]
	test	eax, eax
	je	.L262
	mov	rax, QWORD PTR .refptr.RCP_info_SP[rip]
	mov	rdx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR 80[rax]
	mov	DWORD PTR [rdx], 1
	or	DWORD PTR [rax], 1
	ret
	.seh_endproc
	.section .rdata,"dr"
	.align 8
.LC35:
	.ascii "DMA over the DMEM-to-IMEM gap.\0"
	.text
	.p2align 4,,15
	.globl	SP_DMA_READ
	.def	SP_DMA_READ;	.scl	2;	.type	32;	.endef
	.seh_proc	SP_DMA_READ
SP_DMA_READ:
	push	r13
	.seh_pushreg	r13
	push	r12
	.seh_pushreg	r12
	push	rbp
	.seh_pushreg	rbp
	push	rdi
	.seh_pushreg	rdi
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	mov	rdi, QWORD PTR .refptr.RCP_info_SP[rip]
	lea	r8, CR[rip]
	lea	rbx, DMEM[rip]
	mov	rax, QWORD PTR 64[rdi]
	mov	ebp, DWORD PTR [rax]
	mov	r11d, ebp
	mov	r9d, ebp
	shr	ebp, 20
	and	r11d, 4095
	shr	r9d, 12
	movzx	r9d, r9b
	add	r11d, 1
	lea	esi, 1[r9]
	mov	r10d, r9d
	add	ebp, r11d
	imul	r10d, r11d
	imul	r9d, ebp
	.p2align 4,,10
.L271:
	sub	esi, 1
	xor	ecx, ecx
	jmp	.L270
	.p2align 4,,10
.L268:
	mov	r13, QWORD PTR DRAM[rip]
	cmp	r11d, ecx
	mov	rax, QWORD PTR 0[r13+rax]
	mov	QWORD PTR [r12], rax
	jbe	.L278
.L270:
	mov	rax, QWORD PTR [r8]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR 8[r8]
	add	edx, r10d
	mov	r13d, DWORD PTR [rax]
	add	edx, ecx
	and	edx, 8184
	mov	r12d, edx
	add	r12, QWORD PTR [rbx]
	add	r13d, r9d
	mov	eax, r13d
	add	eax, ecx
	add	ecx, 8
	and	eax, 16777208
	cmp	DWORD PTR su_max_address[rip], eax
	jnb	.L268
	cmp	r11d, ecx
	mov	QWORD PTR [r12], 0
	ja	.L270
	.p2align 4,,10
.L278:
	sub	r10d, r11d
	sub	r9d, ebp
	test	esi, esi
	jne	.L271
	mov	rax, QWORD PTR CR[rip]
	xor	edx, DWORD PTR [rax]
	and	dh, 16
	je	.L272
	lea	rcx, .LC35[rip]
	call	message
.L272:
	mov	rax, QWORD PTR 96[rdi]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR 80[rdi]
	and	DWORD PTR [rax], -5
	add	rsp, 40
	pop	rbx
	pop	rsi
	pop	rdi
	pop	rbp
	pop	r12
	pop	r13
	ret
	.seh_endproc
	.p2align 4,,15
	.def	MT_DMA_READ_LENGTH;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_DMA_READ_LENGTH
MT_DMA_READ_LENGTH:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	rdx, QWORD PTR 16+CR[rip]
	mov	ecx, ecx
	mov	eax, DWORD PTR [rax+rcx*4]
	or	eax, 7
	mov	DWORD PTR [rdx], eax
	jmp	SP_DMA_READ
	.seh_endproc
	.p2align 4,,15
	.globl	SP_DMA_WRITE
	.def	SP_DMA_WRITE;	.scl	2;	.type	32;	.endef
	.seh_proc	SP_DMA_WRITE
SP_DMA_WRITE:
	push	r12
	.seh_pushreg	r12
	push	rbp
	.seh_pushreg	rbp
	push	rdi
	.seh_pushreg	rdi
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 32
	.seh_stackalloc	32
	.seh_endprologue
	mov	rsi, QWORD PTR .refptr.RCP_info_SP[rip]
	lea	r8, CR[rip]
	mov	rax, QWORD PTR 72[rsi]
	mov	edi, DWORD PTR [rax]
	mov	rax, QWORD PTR CR[rip]
	mov	r11d, edi
	mov	r9d, edi
	shr	edi, 20
	and	r11d, 4095
	shr	r9d, 12
	mov	ebp, DWORD PTR [rax]
	movzx	r9d, r9b
	add	r11d, 1
	lea	ebx, 1[r9]
	mov	r10d, r9d
	add	edi, r11d
	imul	r10d, r11d
	imul	r9d, edi
	.p2align 4,,10
.L283:
	sub	ebx, 1
	xor	ecx, ecx
	.p2align 4,,10
.L282:
	lea	eax, [rcx+rbp]
	add	eax, r10d
	and	eax, 8184
	mov	edx, eax
	mov	rax, QWORD PTR 8[r8]
	mov	r12d, DWORD PTR [rax]
	add	r12d, r9d
	mov	eax, r12d
	add	eax, ecx
	add	ecx, 8
	and	eax, 16777208
	cmp	DWORD PTR su_max_address[rip], eax
	jb	.L281
	mov	r12, QWORD PTR DMEM[rip]
	mov	ebp, edx
	mov	r12, QWORD PTR [r12+rbp]
	mov	rbp, QWORD PTR DRAM[rip]
	mov	QWORD PTR 0[rbp+rax], r12
	mov	rax, QWORD PTR [r8]
	mov	ebp, DWORD PTR [rax]
.L281:
	cmp	r11d, ecx
	ja	.L282
	sub	r10d, r11d
	sub	r9d, edi
	test	ebx, ebx
	jne	.L283
	mov	eax, edx
	xor	eax, ebp
	test	ah, 16
	je	.L284
	lea	rcx, .LC35[rip]
	call	message
.L284:
	mov	rax, QWORD PTR 96[rsi]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR 80[rsi]
	and	DWORD PTR [rax], -5
	add	rsp, 32
	pop	rbx
	pop	rsi
	pop	rdi
	pop	rbp
	pop	r12
	ret
	.seh_endproc
	.p2align 4,,15
	.def	MT_DMA_WRITE_LENGTH;	.scl	3;	.type	32;	.endef
	.seh_proc	MT_DMA_WRITE_LENGTH
MT_DMA_WRITE_LENGTH:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	rdx, QWORD PTR 24+CR[rip]
	mov	ecx, ecx
	mov	eax, DWORD PTR [rax+rcx*4]
	or	eax, 7
	mov	DWORD PTR [rdx], eax
	jmp	SP_DMA_WRITE
	.seh_endproc
	.p2align 4,,15
	.globl	MFC2
	.def	MFC2;	.scl	2;	.type	32;	.endef
	.seh_proc	MFC2
MFC2:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	edx, edx
	mov	r10d, r8d
	add	r8d, 1
	sal	rdx, 5
	add	rdx, QWORD PTR .refptr.VR[rip]
	and	r8d, 15
	mov	ecx, ecx
	xor	r10d, 1
	xor	r8, 1
	lea	r9, [rax+rcx*4]
	movzx	r10d, BYTE PTR [rdx+r10]
	movzx	edx, BYTE PTR [rdx+r8]
	mov	BYTE PTR 1[r9], r10b
	mov	BYTE PTR [r9], dl
	movsx	edx, WORD PTR [rax+rcx*4]
	mov	DWORD PTR [rax+rcx*4], edx
	mov	DWORD PTR SR[rip], 0
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	MTC2
	.def	MTC2;	.scl	2;	.type	32;	.endef
	.seh_proc	MTC2
MTC2:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	ecx, ecx
	mov	edx, edx
	lea	rax, [rax+rcx*4]
	sal	rdx, 5
	add	rdx, QWORD PTR .refptr.VR[rip]
	mov	ecx, r8d
	movzx	r9d, BYTE PTR 1[rax]
	add	r8d, 1
	xor	ecx, 1
	movzx	eax, BYTE PTR [rax]
	xor	r8d, 1
	mov	BYTE PTR [rdx+rcx], r9b
	mov	BYTE PTR [rdx+r8], al
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	CFC2
	.def	CFC2;	.scl	2;	.type	32;	.endef
	.seh_proc	CFC2
CFC2:
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 32
	.seh_stackalloc	32
	.seh_endprologue
	lea	rax, R_VCF[rip]
	and	edx, 3
	mov	ebx, ecx
	call	[QWORD PTR [rax+rdx*8]]
	lea	rdx, SR[rip]
	cwde
	mov	DWORD PTR [rdx+rbx*4], eax
	mov	DWORD PTR SR[rip], 0
	add	rsp, 32
	pop	rbx
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	CTC2
	.def	CTC2;	.scl	2;	.type	32;	.endef
	.seh_proc	CTC2
CTC2:
	.seh_endprologue
	lea	rax, SR[rip]
	mov	ecx, ecx
	and	edx, 3
	movzx	ecx, WORD PTR [rax+rcx*4]
	lea	rax, W_VCF[rip]
	rex.W jmp	[QWORD PTR [rax+rdx*8]]
	.seh_endproc
	.p2align 4,,15
	.globl	run_task
	.def	run_task;	.scl	2;	.type	32;	.endef
	.seh_proc	run_task
run_task:
	push	r15
	.seh_pushreg	r15
	push	r14
	.seh_pushreg	r14
	push	r13
	.seh_pushreg	r13
	push	r12
	.seh_pushreg	r12
	push	rbp
	.seh_pushreg	rbp
	push	rdi
	.seh_pushreg	rdi
	push	rsi
	.seh_pushreg	rsi
	push	rbx
	.seh_pushreg	rbx
	sub	rsp, 104
	.seh_stackalloc	104
	movaps	XMMWORD PTR 80[rsp], xmm6
	.seh_savexmm	xmm6, 80
	.seh_endprologue
	mov	rdi, QWORD PTR .refptr.RCP_info_SP[rip]
	lea	r14, inst_word[rip]
	mov	r8, QWORD PTR IMEM[rip]
	lea	rsi, .L300[rip]
	movdqa	xmm6, XMMWORD PTR .LC36[rip]
	lea	r13, SR[rip]
	lea	rbp, .L328[rip]
	mov	rax, QWORD PTR 104[rdi]
	lea	r12, SWC2[rip]
	mov	ebx, DWORD PTR [rax]
	and	ebx, 4092
	.p2align 4,,10
.L296:
.L297:
	mov	eax, ebx
	add	ebx, 4
	and	eax, 4092
	mov	eax, DWORD PTR [r8+rax]
	mov	edx, eax
	mov	DWORD PTR [r14], eax
	shr	edx, 26
	cmp	edx, 58
	ja	.L298
.L392:
	movsx	rdx, DWORD PTR [rsi+rdx*4]
	add	rdx, rsi
	jmp	rdx
	.section .rdata,"dr"
	.align 4
.L300:
	.long	.L299-.L300
	.long	.L301-.L300
	.long	.L389-.L300
	.long	.L303-.L300
	.long	.L304-.L300
	.long	.L305-.L300
	.long	.L306-.L300
	.long	.L307-.L300
	.long	.L308-.L300
	.long	.L308-.L300
	.long	.L309-.L300
	.long	.L310-.L300
	.long	.L311-.L300
	.long	.L312-.L300
	.long	.L313-.L300
	.long	.L314-.L300
	.long	.L315-.L300
	.long	.L298-.L300
	.long	.L316-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L317-.L300
	.long	.L318-.L300
	.long	.L298-.L300
	.long	.L319-.L300
	.long	.L320-.L300
	.long	.L321-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L322-.L300
	.long	.L323-.L300
	.long	.L298-.L300
	.long	.L324-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L325-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L298-.L300
	.long	.L326-.L300
	.text
	.p2align 4,,10
.L303:
	lea	edx, 4[rbx]
	and	edx, 4092
	mov	DWORD PTR 124[r13], edx
.L389:
	sal	eax, 2
	mov	r8, QWORD PTR IMEM[rip]
	and	eax, 4092
	lea	edx, 67112960[rax]
	mov	DWORD PTR temp_PC[rip], edx
.L346:
	and	ebx, 4092
	mov	eax, DWORD PTR [r8+rbx]
	mov	ebx, edx
	and	ebx, 4092
	mov	edx, eax
	mov	DWORD PTR [r14], eax
	shr	edx, 26
	cmp	edx, 58
	jbe	.L392
	.p2align 4,,10
.L298:
	call	res_S
	mov	r8, QWORD PTR IMEM[rip]
	jmp	.L296
	.p2align 4,,10
.L301:
	mov	edx, eax
	shr	edx, 21
	mov	ecx, edx
	mov	edx, eax
	shr	edx, 16
	and	ecx, 31
	and	edx, 31
	cmp	edx, 1
	je	.L350
	jb	.L351
	cmp	edx, 16
	je	.L352
	cmp	edx, 17
	jne	.L393
	lea	edx, 4[rbx]
	and	edx, 4092
	mov	DWORD PTR 124[r13], edx
.L350:
	mov	edx, ecx
	mov	r9d, DWORD PTR 0[r13+rdx*4]
	test	r9d, r9d
	jns	.L390
	jmp	.L296
	.p2align 4,,10
.L299:
	mov	ecx, eax
	mov	edx, eax
	shr	ecx, 16
	shr	dx, 11
	and	ecx, 31
	movzx	edx, dx
	mov	r9d, ecx
	mov	ecx, eax
	and	ecx, 63
	cmp	ecx, 43
	ja	.L298
	movsx	rcx, DWORD PTR 0[rbp+rcx*4]
	add	rcx, rbp
	jmp	rcx
	.section .rdata,"dr"
	.align 4
.L328:
	.long	.L327-.L328
	.long	.L298-.L328
	.long	.L329-.L328
	.long	.L330-.L328
	.long	.L331-.L328
	.long	.L298-.L328
	.long	.L332-.L328
	.long	.L333-.L328
	.long	.L334-.L328
	.long	.L335-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L336-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L337-.L328
	.long	.L337-.L328
	.long	.L338-.L328
	.long	.L338-.L328
	.long	.L339-.L328
	.long	.L340-.L328
	.long	.L341-.L328
	.long	.L342-.L328
	.long	.L298-.L328
	.long	.L298-.L328
	.long	.L343-.L328
	.long	.L344-.L328
	.text
	.p2align 4,,10
.L326:
	mov	r8d, eax
	mov	r9d, eax
	mov	edx, eax
	sal	r8d, 9
	mov	ecx, eax
	shr	ax, 11
	shr	r9d, 21
	sar	r8w, 9
	and	eax, 31
	shr	edx, 7
	shr	ecx, 16
	movsx	r8d, r8w
	and	edx, 15
	and	ecx, 31
	and	r9d, 31
	call	[QWORD PTR [r12+rax*8]]
	mov	r8, QWORD PTR IMEM[rip]
	jmp	.L296
	.p2align 4,,10
.L325:
	mov	r8d, eax
	mov	r9d, eax
	mov	edx, eax
	sal	r8d, 9
	mov	ecx, eax
	shr	ax, 11
	shr	r9d, 21
	sar	r8w, 9
	and	eax, 31
	shr	edx, 7
	shr	ecx, 16
	and	r9d, 31
	lea	r10, LWC2[rip]
	and	edx, 15
	and	ecx, 31
	movsx	r8d, r8w
	call	[QWORD PTR [r10+rax*8]]
.L387:
	mov	r8, QWORD PTR IMEM[rip]
	jmp	.L296
	.p2align 4,,10
.L324:
	mov	ecx, eax
	movsx	edx, ax
	shr	eax, 16
	mov	r8, QWORD PTR DMEM[rip]
	shr	ecx, 21
	and	eax, 31
	and	ecx, 31
	add	edx, DWORD PTR 0[r13+rcx*4]
	lea	rcx, 0[r13+rax*4]
	movzx	r9d, BYTE PTR 3[rcx]
	mov	eax, edx
	xor	eax, 3
	and	eax, 4095
	mov	BYTE PTR [r8+rax], r9b
	movzx	r9d, BYTE PTR 2[rcx]
	lea	eax, 1[rdx]
	mov	r8, QWORD PTR DMEM[rip]
	xor	eax, 3
	and	eax, 4095
	mov	BYTE PTR [r8+rax], r9b
	movzx	r9d, BYTE PTR 1[rcx]
	lea	eax, 2[rdx]
	add	edx, 3
	mov	r8, QWORD PTR DMEM[rip]
	xor	eax, 3
	and	eax, 4095
	mov	BYTE PTR [r8+rax], r9b
	movzx	ecx, BYTE PTR [rcx]
.L384:
	mov	rax, QWORD PTR DMEM[rip]
	xor	edx, 3
	and	edx, 4095
	mov	BYTE PTR [rax+rdx], cl
	jmp	.L387
	.p2align 4,,10
.L323:
	mov	ecx, eax
	movsx	edx, ax
	shr	eax, 16
	mov	r8, QWORD PTR DMEM[rip]
	shr	ecx, 21
	and	eax, 31
	and	ecx, 31
	add	edx, DWORD PTR 0[r13+rcx*4]
	lea	rcx, 0[r13+rax*4]
	movzx	r9d, BYTE PTR 1[rcx]
	mov	eax, edx
	add	edx, 1
	xor	eax, 3
	and	eax, 4095
	mov	BYTE PTR [r8+rax], r9b
	movzx	ecx, BYTE PTR [rcx]
	jmp	.L384
	.p2align 4,,10
.L322:
	mov	ecx, eax
	movsx	edx, ax
	shr	eax, 16
	shr	ecx, 21
	and	eax, 31
	and	ecx, 31
	add	edx, DWORD PTR 0[r13+rcx*4]
	mov	ecx, DWORD PTR 0[r13+rax*4]
	mov	rax, QWORD PTR DMEM[rip]
	xor	edx, 3
	and	edx, 4095
	mov	BYTE PTR [rax+rdx], cl
	mov	r8, QWORD PTR IMEM[rip]
	jmp	.L296
	.p2align 4,,10
.L321:
	mov	ecx, eax
	movsx	edx, ax
	mov	r9, QWORD PTR DMEM[rip]
	shr	eax, 16
	shr	ecx, 21
	and	eax, 31
	and	ecx, 31
	add	edx, DWORD PTR 0[r13+rcx*4]
	mov	ecx, edx
	add	edx, 1
	xor	ecx, 3
	xor	edx, 3
	and	ecx, 4095
	and	edx, 4095
	movzx	ecx, BYTE PTR [r9+rcx]
	movzx	edx, BYTE PTR [r9+rdx]
	sal	ecx, 8
	or	edx, ecx
	mov	DWORD PTR 0[r13+rax*4], edx
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L320:
	mov	ecx, eax
	mov	edx, eax
	cwde
	shr	ecx, 21
	shr	edx, 16
	and	ecx, 31
	and	edx, 31
	add	eax, DWORD PTR 0[r13+rcx*4]
	mov	rcx, QWORD PTR DMEM[rip]
	xor	eax, 3
	and	eax, 4095
	movzx	eax, BYTE PTR [rcx+rax]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L319:
	mov	ecx, eax
	movsx	edx, ax
	shr	eax, 16
	mov	r9, QWORD PTR DMEM[rip]
	shr	ecx, 21
	and	eax, 31
	and	ecx, 31
	add	edx, DWORD PTR 0[r13+rcx*4]
	lea	rcx, 0[r13+rax*4]
	mov	eax, edx
	xor	eax, 3
	and	eax, 4095
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 3[rcx], al
	lea	eax, 1[rdx]
	xor	eax, 3
	and	eax, 4095
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 2[rcx], al
	lea	eax, 2[rdx]
	add	edx, 3
	xor	eax, 3
	xor	edx, 3
	and	eax, 4095
	and	edx, 4095
	movzx	eax, BYTE PTR [r9+rax]
	mov	BYTE PTR 1[rcx], al
	movzx	eax, BYTE PTR [r9+rdx]
	mov	BYTE PTR [rcx], al
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L318:
	mov	ecx, eax
	movsx	edx, ax
	mov	r9, QWORD PTR DMEM[rip]
	shr	eax, 16
	shr	ecx, 21
	and	eax, 31
	and	ecx, 31
	add	edx, DWORD PTR 0[r13+rcx*4]
	mov	ecx, edx
	add	edx, 1
	xor	ecx, 3
	xor	edx, 3
	and	ecx, 4095
	and	edx, 4095
	movzx	ecx, BYTE PTR [r9+rcx]
	movzx	edx, BYTE PTR [r9+rdx]
	sal	ecx, 8
	or	edx, ecx
	movsx	edx, dx
	mov	DWORD PTR 0[r13+rax*4], edx
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L317:
	mov	ecx, eax
	mov	edx, eax
	cwde
	shr	ecx, 21
	shr	edx, 16
	and	ecx, 31
	and	edx, 31
	add	eax, DWORD PTR 0[r13+rcx*4]
	mov	rcx, QWORD PTR DMEM[rip]
	xor	eax, 3
	and	eax, 4095
	movsx	eax, BYTE PTR [rcx+rax]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L316:
	mov	r10d, eax
	mov	r15d, eax
	mov	r9d, eax
	shr	r10d, 21
	mov	edx, eax
	shr	r15d, 16
	and	r10d, 31
	shr	r9d, 6
	and	r15d, 31
	lea	rcx, .L364[rip]
	mov	r11d, r10d
	shr	dx, 11
	movsx	r11, DWORD PTR [rcx+r11*4]
	and	r9d, 31
	and	eax, 63
	add	r11, rcx
	jmp	r11
	.section .rdata,"dr"
	.align 4
.L364:
	.long	.L363-.L364
	.long	.L298-.L364
	.long	.L365-.L364
	.long	.L298-.L364
	.long	.L366-.L364
	.long	.L298-.L364
	.long	.L367-.L364
	.long	.L298-.L364
	.long	.L298-.L364
	.long	.L298-.L364
	.long	.L298-.L364
	.long	.L298-.L364
	.long	.L298-.L364
	.long	.L298-.L364
	.long	.L298-.L364
	.long	.L298-.L364
	.long	.L368-.L364
	.long	.L368-.L364
	.long	.L369-.L364
	.long	.L369-.L364
	.long	.L370-.L364
	.long	.L370-.L364
	.long	.L370-.L364
	.long	.L370-.L364
	.long	.L371-.L364
	.long	.L371-.L364
	.long	.L371-.L364
	.long	.L371-.L364
	.long	.L371-.L364
	.long	.L371-.L364
	.long	.L371-.L364
	.long	.L371-.L364
	.text
	.p2align 4,,10
.L315:
	mov	ecx, eax
	mov	edx, eax
	shr	eax, 21
	shr	ecx, 16
	shr	dx, 11
	and	ecx, 31
	and	eax, 31
	je	.L355
	cmp	eax, 4
	je	.L356
	call	res_S
	mov	rax, QWORD PTR 80[rdi]
	mov	eax, DWORD PTR [rax]
.L388:
	and	eax, 1
.L359:
	test	eax, eax
	je	.L387
.L348:
	mov	rax, QWORD PTR 104[rdi]
	and	ebx, 4092
	or	ebx, 67112960
	mov	DWORD PTR [rax], ebx
	movaps	xmm6, XMMWORD PTR 80[rsp]
	add	rsp, 104
	pop	rbx
	pop	rsi
	pop	rdi
	pop	rbp
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	ret
	.p2align 4,,10
.L314:
	mov	edx, eax
	sal	eax, 16
	shr	edx, 16
	and	edx, 31
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L313:
	mov	ecx, eax
	mov	edx, eax
	movzx	eax, ax
	shr	ecx, 21
	shr	edx, 16
	and	ecx, 31
	and	edx, 31
	xor	eax, DWORD PTR 0[r13+rcx*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L312:
	mov	ecx, eax
	mov	edx, eax
	movzx	eax, ax
	shr	ecx, 21
	shr	edx, 16
	and	ecx, 31
	and	edx, 31
	or	eax, DWORD PTR 0[r13+rcx*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L311:
	mov	ecx, eax
	mov	edx, eax
	movzx	eax, ax
	shr	ecx, 21
	shr	edx, 16
	and	ecx, 31
	and	edx, 31
	and	eax, DWORD PTR 0[r13+rcx*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L310:
	mov	r9d, eax
	mov	edx, eax
	cwde
	shr	r9d, 21
	shr	edx, 16
	and	r9d, 31
	and	edx, 31
	cmp	DWORD PTR 0[r13+r9*4], eax
	setb	al
	movzx	eax, al
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L309:
	mov	r9d, eax
	mov	edx, eax
	cwde
	shr	r9d, 21
	shr	edx, 16
	and	r9d, 31
	and	edx, 31
	cmp	DWORD PTR 0[r13+r9*4], eax
	setl	al
	movzx	eax, al
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L308:
	mov	ecx, eax
	mov	edx, eax
	cwde
	shr	ecx, 21
	shr	edx, 16
	and	ecx, 31
	and	edx, 31
	add	eax, DWORD PTR 0[r13+rcx*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
	.p2align 4,,10
.L307:
	mov	edx, eax
	shr	edx, 21
	and	edx, 31
	mov	edx, DWORD PTR 0[r13+rdx*4]
	test	edx, edx
	jle	.L296
.L390:
	lea	edx, [rbx+rax*4]
	mov	r8, QWORD PTR IMEM[rip]
	and	edx, 4092
	add	edx, 67112960
	mov	DWORD PTR temp_PC[rip], edx
	jmp	.L346
	.p2align 4,,10
.L306:
	mov	edx, eax
	shr	edx, 21
	and	edx, 31
	mov	ecx, DWORD PTR 0[r13+rdx*4]
	test	ecx, ecx
	jle	.L390
	jmp	.L296
	.p2align 4,,10
.L305:
	mov	ecx, eax
	mov	edx, eax
	shr	ecx, 21
	shr	edx, 16
	and	edx, 31
	and	ecx, 31
	mov	edx, DWORD PTR 0[r13+rdx*4]
	cmp	DWORD PTR 0[r13+rcx*4], edx
	jne	.L390
	jmp	.L296
	.p2align 4,,10
.L304:
	mov	ecx, eax
	mov	edx, eax
	shr	ecx, 21
	shr	edx, 16
	and	edx, 31
	and	ecx, 31
	mov	edx, DWORD PTR 0[r13+rdx*4]
	cmp	DWORD PTR 0[r13+rcx*4], edx
	je	.L390
	jmp	.L296
	.p2align 4,,10
.L356:
	lea	rax, SP_CP0_MT[rip]
	and	edx, 15
	call	[QWORD PTR [rax+rdx*8]]
	mov	rax, QWORD PTR 80[rdi]
	mov	eax, DWORD PTR [rax]
	and	eax, 1
	jmp	.L359
.L352:
	lea	edx, 4[rbx]
	and	edx, 4092
	mov	DWORD PTR 124[r13], edx
.L351:
	mov	edx, ecx
	mov	r10d, DWORD PTR 0[r13+rdx*4]
	test	r10d, r10d
	jns	.L296
	lea	edx, [rbx+rax*4]
	and	edx, 4092
	add	edx, 67112960
	mov	DWORD PTR temp_PC[rip], edx
	jmp	.L346
	.p2align 4,,10
.L355:
	lea	rax, CR[rip]
	and	edx, 15
	movzx	r9d, dx
	cmp	dx, 7
	mov	rax, QWORD PTR [rax+r9*8]
	mov	r8, r9
	mov	r9, QWORD PTR 80[rdi]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR 0[r13+rcx*4], eax
	mov	DWORD PTR 0[r13], 0
	je	.L394
	cmp	r8d, 4
	mov	eax, DWORD PTR [r9]
	jne	.L388
	lea	r8, MFC0_count[rip]
	movzx	edx, WORD PTR [r8+rcx*2]
	add	edx, 1
	mov	WORD PTR [r8+rcx*2], dx
	movsx	edx, dx
	cmp	edx, DWORD PTR MF_SP_STATUS_TIMEOUT[rip]
	setge	dl
	movzx	edx, dl
	or	eax, edx
	mov	DWORD PTR [r9], eax
	and	eax, 1
	jmp	.L359
.L393:
	call	res_S
	mov	edx, DWORD PTR temp_PC[rip]
	mov	r8, QWORD PTR IMEM[rip]
	jmp	.L346
.L363:
	lea	rcx, 0[r13+r15*4]
	movzx	edx, dx
	shr	r9d
	sal	rdx, 5
	add	rdx, QWORD PTR .refptr.VR[rip]
	mov	eax, r9d
	xor	eax, 1
	movzx	eax, BYTE PTR [rdx+rax]
	mov	BYTE PTR 1[rcx], al
	lea	eax, 1[r9]
	and	eax, 15
	xor	rax, 1
	movzx	eax, BYTE PTR [rdx+rax]
	mov	BYTE PTR [rcx], al
	movsx	eax, WORD PTR 0[r13+r15*4]
	mov	DWORD PTR 0[r13+r15*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L365:
	lea	rax, R_VCF[rip]
	and	edx, 3
	call	[QWORD PTR [rax+rdx*8]]
	mov	r8, QWORD PTR IMEM[rip]
	cwde
	mov	DWORD PTR 0[r13+r15*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L366:
	lea	rcx, 0[r13+r15*4]
	movzx	edx, dx
	shr	r9d
	movzx	r10d, BYTE PTR 1[rcx]
	sal	rdx, 5
	mov	eax, r9d
	add	r9d, 1
	add	rdx, QWORD PTR .refptr.VR[rip]
	xor	eax, 1
	xor	r9d, 1
	movzx	ecx, BYTE PTR [rcx]
	mov	BYTE PTR [rdx+rax], r10b
	mov	eax, r9d
	mov	BYTE PTR [rdx+rax], cl
	jmp	.L296
.L367:
	lea	rax, W_VCF[rip]
	and	edx, 3
	movzx	ecx, WORD PTR 0[r13+r15*4]
	call	[QWORD PTR [rax+rdx*8]]
	mov	r8, QWORD PTR IMEM[rip]
	jmp	.L296
.L368:
	mov	r8, QWORD PTR .refptr.VR[rip]
	movzx	edx, dx
	sal	r15, 5
	mov	DWORD PTR 44[rsp], r9d
	sal	rdx, 5
	movdqa	xmm0, XMMWORD PTR [rdx+r8]
	mov	QWORD PTR 32[rsp], r8
	movaps	XMMWORD PTR 64[rsp], xmm0
	movdqa	xmm0, XMMWORD PTR [r15+r8]
.L386:
	mov	r10, QWORD PTR .refptr.COP2_C2[rip]
	movaps	XMMWORD PTR 48[rsp], xmm0
	lea	rdx, 48[rsp]
	lea	rcx, 64[rsp]
	call	[QWORD PTR [r10+rax*8]]
	mov	r9d, DWORD PTR 44[rsp]
	mov	r8, QWORD PTR 32[rsp]
	sal	r9, 5
	movaps	XMMWORD PTR [r9+r8], xmm0
	jmp	.L387
.L369:
	mov	r8, QWORD PTR .refptr.VR[rip]
	sal	r15, 4
	mov	DWORD PTR 44[rsp], r9d
	lea	ecx, -18[r10]
	add	rcx, r15
	movzx	ecx, WORD PTR [r8+rcx*2]
	mov	WORD PTR shuffle_temporary[rip], cx
	lea	ecx, -16[r10]
	add	rcx, r15
	movzx	ecx, WORD PTR [r8+rcx*2]
	mov	WORD PTR shuffle_temporary[rip+4], cx
	lea	ecx, -14[r10]
	add	rcx, r15
	movzx	ecx, WORD PTR [r8+rcx*2]
	mov	WORD PTR shuffle_temporary[rip+8], cx
	lea	ecx, -12[r10]
	add	r15, rcx
	movzx	ecx, WORD PTR [r8+r15*2]
	mov	WORD PTR shuffle_temporary[rip+12], cx
	pshufhw	xmm0, XMMWORD PTR shuffle_temporary[rip], 160
	pshuflw	xmm0, xmm0, 160
.L391:
	movzx	edx, dx
	sal	rdx, 5
	movdqa	xmm1, XMMWORD PTR [rdx+r8]
	mov	QWORD PTR 32[rsp], r8
	movaps	XMMWORD PTR 64[rsp], xmm1
	jmp	.L386
.L370:
	mov	r8, QWORD PTR .refptr.VR[rip]
	lea	ecx, -20[r10]
	sal	r15, 4
	pxor	xmm0, xmm0
	add	rcx, r15
	mov	DWORD PTR 44[rsp], r9d
	pinsrw	xmm0, WORD PTR [r8+rcx*2], 0
	lea	ecx, -16[r10]
	add	r15, rcx
	pinsrw	xmm0, WORD PTR [r8+r15*2], 4
	pshufhw	xmm0, xmm0, 0
	pshuflw	xmm0, xmm0, 0
	jmp	.L391
.L371:
	mov	ecx, r15d
	sub	r10d, 24
	movzx	edx, dx
	mov	DWORD PTR 44[rsp], r9d
	mov	r8, QWORD PTR .refptr.VR[rip]
	sal	rcx, 4
	sal	rdx, 5
	add	rcx, r10
	movzx	ecx, WORD PTR [r8+rcx*2]
	mov	QWORD PTR 32[rsp], r8
	movdqa	xmm0, XMMWORD PTR [rdx+r8]
	movaps	XMMWORD PTR 64[rsp], xmm0
	movd	xmm0, ecx
	pshufb	xmm0, xmm6
	jmp	.L386
.L335:
	lea	ecx, 4[rbx]
	and	ecx, 4092
	mov	DWORD PTR 0[r13+rdx*4], ecx
	mov	DWORD PTR 0[r13], 0
.L334:
	shr	eax, 21
	mov	edx, DWORD PTR 0[r13+rax*4]
	and	edx, 4092
	add	edx, 67112960
	mov	DWORD PTR temp_PC[rip], edx
	jmp	.L346
.L344:
	shr	eax, 21
	mov	ecx, r9d
	mov	ecx, DWORD PTR 0[r13+rcx*4]
	cmp	DWORD PTR 0[r13+rax*4], ecx
	setb	al
	movzx	eax, al
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L336:
	mov	rdx, QWORD PTR 32+CR[rip]
	mov	eax, DWORD PTR [rdx]
	mov	ecx, eax
	or	ecx, 3
	test	al, 64
	mov	DWORD PTR [rdx], ecx
	je	.L348
	mov	rax, QWORD PTR 40[rdi]
	or	DWORD PTR [rax], 1
	call	[QWORD PTR 184[rdi]]
	jmp	.L348
.L333:
	shr	eax, 21
	mov	ecx, DWORD PTR 0[r13+rax*4]
	mov	eax, DWORD PTR 0[r13+r9*4]
	sar	eax, cl
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L329:
	mov	r9d, DWORD PTR 0[r13+r9*4]
	shr	eax, 6
	mov	ecx, eax
	shr	r9d, cl
	mov	DWORD PTR 0[r13+rdx*4], r9d
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L330:
	mov	r9d, DWORD PTR 0[r13+r9*4]
	shr	eax, 6
	mov	ecx, eax
	sar	r9d, cl
	mov	DWORD PTR 0[r13+rdx*4], r9d
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L331:
	shr	eax, 21
	mov	ecx, DWORD PTR 0[r13+rax*4]
	mov	eax, DWORD PTR 0[r13+r9*4]
	sal	eax, cl
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L332:
	shr	eax, 21
	mov	ecx, DWORD PTR 0[r13+rax*4]
	mov	eax, DWORD PTR 0[r13+r9*4]
	shr	eax, cl
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L337:
	shr	eax, 21
	mov	ecx, r9d
	mov	r10d, eax
	mov	eax, DWORD PTR 0[r13+rcx*4]
	add	eax, DWORD PTR 0[r13+r10*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L338:
	shr	eax, 21
	mov	ecx, r9d
	mov	eax, DWORD PTR 0[r13+rax*4]
	sub	eax, DWORD PTR 0[r13+rcx*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L339:
	shr	eax, 21
	mov	ecx, r9d
	mov	eax, DWORD PTR 0[r13+rax*4]
	and	eax, DWORD PTR 0[r13+rcx*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L340:
	shr	eax, 21
	mov	ecx, r9d
	mov	eax, DWORD PTR 0[r13+rax*4]
	or	eax, DWORD PTR 0[r13+rcx*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L341:
	shr	eax, 21
	mov	ecx, r9d
	mov	eax, DWORD PTR 0[r13+rax*4]
	xor	eax, DWORD PTR 0[r13+rcx*4]
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L342:
	shr	eax, 21
	mov	ecx, r9d
	mov	eax, DWORD PTR 0[r13+rax*4]
	or	eax, DWORD PTR 0[r13+rcx*4]
	not	eax
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L343:
	shr	eax, 21
	mov	ecx, r9d
	mov	ecx, DWORD PTR 0[r13+rcx*4]
	cmp	DWORD PTR 0[r13+rax*4], ecx
	setl	al
	movzx	eax, al
	mov	DWORD PTR 0[r13+rdx*4], eax
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L327:
	mov	r9d, DWORD PTR 0[r13+r9*4]
	shr	eax, 6
	mov	ecx, eax
	sal	r9d, cl
	mov	DWORD PTR 0[r13+rdx*4], r9d
	mov	DWORD PTR 0[r13], 0
	jmp	.L296
.L394:
	mov	eax, DWORD PTR 20+conf[rip]
	test	eax, eax
	jne	.L358
	mov	eax, DWORD PTR [r9]
	and	eax, 1
	jmp	.L359
.L358:
	mov	rax, QWORD PTR 112[rdi]
	mov	DWORD PTR [rax], 1
	or	DWORD PTR [r9], 1
	jmp	.L348
	.seh_endproc
	.data
	.align 16
write_to_read_only.7219:
	.ascii "Invalid MTC0 from SR[00].\0"
.lcomm shuffle_temporary,16,16
	.globl	SWC2
	.align 32
SWC2:
	.quad	SBV
	.quad	SSV
	.quad	SLV
	.quad	SDV
	.quad	SQV
	.quad	SRV
	.quad	SPV
	.quad	SUV
	.quad	SHV
	.quad	SFV
	.quad	SWV
	.quad	STV
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.globl	LWC2
	.align 32
LWC2:
	.quad	LBV
	.quad	LSV
	.quad	LLV
	.quad	LDV
	.quad	LQV
	.quad	LRV
	.quad	LPV
	.quad	LUV
	.quad	LHV
	.quad	LFV
	.quad	res_lsw
	.quad	LTV
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.quad	res_lsw
	.comm	MFC0_count, 64, 5
	.comm	temp_PC, 4, 2
	.section .rdata,"dr"
	.align 32
W_VCF:
	.quad	set_VCO
	.quad	set_VCC
	.quad	rwW_VCE
	.quad	rwW_VCE
	.align 32
R_VCF:
	.quad	get_VCO
	.quad	get_VCC
	.quad	rwR_VCE
	.quad	rwR_VCE
	.align 32
SP_CP0_MT:
	.quad	MT_DMA_CACHE
	.quad	MT_DMA_DRAM
	.quad	MT_DMA_READ_LENGTH
	.quad	MT_DMA_WRITE_LENGTH
	.quad	MT_SP_STATUS
	.quad	MT_READ_ONLY
	.quad	MT_READ_ONLY
	.quad	MT_SP_RESERVED
	.quad	MT_CMD_START
	.quad	MT_CMD_END
	.quad	MT_READ_ONLY
	.quad	MT_CMD_STATUS
	.quad	MT_CMD_CLOCK
	.quad	MT_READ_ONLY
	.quad	MT_READ_ONLY
	.quad	MT_READ_ONLY
	.comm	MF_SP_STATUS_TIMEOUT, 4, 2
	.comm	conf, 32, 5
	.comm	CR, 128, 5
	.globl	su_max_address
	.data
	.align 4
su_max_address:
	.long	16777215
	.comm	IMEM, 8, 3
	.comm	DMEM, 8, 3
	.comm	DRAM, 8, 3
	.comm	SR, 128, 5
	.comm	inst_word, 4, 2
	.comm	CPR_specifier, 4, 2
	.section .rdata,"dr"
	.align 16
.LC36:
	.byte	0
	.byte	1
	.byte	0
	.byte	1
	.byte	0
	.byte	1
	.byte	0
	.byte	1
	.byte	0
	.byte	1
	.byte	0
	.byte	1
	.byte	0
	.byte	1
	.byte	0
	.byte	1
	.ident	"GCC: (Rev1, Built by MSYS2 project) 7.3.0"
	.def	message;	.scl	2;	.type	32;	.endef
	.def	get_VCE;	.scl	2;	.type	32;	.endef
	.def	set_VCO;	.scl	2;	.type	32;	.endef
	.def	set_VCC;	.scl	2;	.type	32;	.endef
	.def	get_VCO;	.scl	2;	.type	32;	.endef
	.def	get_VCC;	.scl	2;	.type	32;	.endef
	.section	.rdata$.refptr.COP2_C2, "dr"
	.globl	.refptr.COP2_C2
	.linkonce	discard
.refptr.COP2_C2:
	.quad	COP2_C2
	.section	.rdata$.refptr.GBI_phase, "dr"
	.globl	.refptr.GBI_phase
	.linkonce	discard
.refptr.GBI_phase:
	.quad	GBI_phase
	.section	.rdata$.refptr.VR, "dr"
	.globl	.refptr.VR
	.linkonce	discard
.refptr.VR:
	.quad	VR
	.section	.rdata$.refptr.cf_vce, "dr"
	.globl	.refptr.cf_vce
	.linkonce	discard
.refptr.cf_vce:
	.quad	cf_vce
	.section	.rdata$.refptr.RCP_info_SP, "dr"
	.globl	.refptr.RCP_info_SP
	.linkonce	discard
.refptr.RCP_info_SP:
	.quad	RCP_info_SP
