Repository: RustCrypto/hashes (language: rust)

Issue:
sha2: performance issue on RISC-V
I'm compiling the crate on a `riscv32im-unknown-none-elf`. On a release build with `opt-level = 3` and `lto = fat`, the `sha2::sha256::soft::compress` function looks like this:

<details>
  <summary>riscv32-none-elf-objdump -Cd</summary>

```
8000219c <sha2::sha256::soft::compress>:
8000219c:	e2010113          	addi	sp,sp,-480
800021a0:	1c112e23          	sw	ra,476(sp)
800021a4:	1c812c23          	sw	s0,472(sp)
800021a8:	1c912a23          	sw	s1,468(sp)
800021ac:	1d212823          	sw	s2,464(sp)
800021b0:	1d312623          	sw	s3,460(sp)
800021b4:	1d412423          	sw	s4,456(sp)
800021b8:	1d512223          	sw	s5,452(sp)
800021bc:	1d612023          	sw	s6,448(sp)
800021c0:	1b712e23          	sw	s7,444(sp)
800021c4:	1b812c23          	sw	s8,440(sp)
800021c8:	1b912a23          	sw	s9,436(sp)
800021cc:	1ba12823          	sw	s10,432(sp)
800021d0:	1bb12623          	sw	s11,428(sp)
800021d4:	00060993          	mv	s3,a2
800021d8:	00058413          	mv	s0,a1
800021dc:	00050a13          	mv	s4,a0
800021e0:	16c10513          	addi	a0,sp,364
800021e4:	04000613          	li	a2,64
800021e8:	00000593          	li	a1,0
800021ec:	00004097          	auipc	ra,0x4
800021f0:	07c080e7          	jalr	124(ra) # 80006268 <memset>
800021f4:	000a2483          	lw	s1,0(s4) # 110000 <_hart_stack_size+0x10f800>
800021f8:	004a2903          	lw	s2,4(s4)
800021fc:	008a2e83          	lw	t4,8(s4)
80002200:	00ca2383          	lw	t2,12(s4)
80002204:	010a2a83          	lw	s5,16(s4)
80002208:	014a2803          	lw	a6,20(s4)
8000220c:	018a2b03          	lw	s6,24(s4)
80002210:	01412223          	sw	s4,4(sp)
80002214:	01ca2a03          	lw	s4,28(s4)
80002218:	00099463          	bnez	s3,80002220 <sha2::sha256::soft::compress+0x84>
8000221c:	7950306f          	j	800061b0 <sha2::sha256::soft::compress+0x4014>
80002220:	00699513          	slli	a0,s3,0x6
80002224:	00a40533          	add	a0,s0,a0
80002228:	10a12623          	sw	a0,268(sp)
8000222c:	00010537          	lui	a0,0x10
80002230:	f0050513          	addi	a0,a0,-256 # ff00 <_hart_stack_size+0xf700>
80002234:	10a12423          	sw	a0,264(sp)
80002238:	428a3537          	lui	a0,0x428a3
8000223c:	f9850513          	addi	a0,a0,-104 # 428a2f98 <_hart_stack_size+0x428a2798>
80002240:	10a12223          	sw	a0,260(sp)
80002244:	71374537          	lui	a0,0x71374
80002248:	49150513          	addi	a0,a0,1169 # 71374491 <_hart_stack_size+0x71373c91>
8000224c:	10a12023          	sw	a0,256(sp)
80002250:	b5c10537          	lui	a0,0xb5c10
80002254:	bcf50513          	addi	a0,a0,-1073 # b5c0fbcf <_sstack+0x35bafbcf>
80002258:	0ea12e23          	sw	a0,252(sp)
8000225c:	e9b5e537          	lui	a0,0xe9b5e
80002260:	ba550513          	addi	a0,a0,-1115 # e9b5dba5 <_sstack+0x69afdba5>
80002264:	0ea12c23          	sw	a0,248(sp)
80002268:	3956c537          	lui	a0,0x3956c
8000226c:	25b50513          	addi	a0,a0,603 # 3956c25b <_hart_stack_size+0x3956ba5b>
80002270:	0ea12a23          	sw	a0,244(sp)
80002274:	59f11537          	lui	a0,0x59f11
80002278:	1f150513          	addi	a0,a0,497 # 59f111f1 <_hart_stack_size+0x59f109f1>
8000227c:	0ea12823          	sw	a0,240(sp)
80002280:	923f8537          	lui	a0,0x923f8
80002284:	2a450513          	addi	a0,a0,676 # 923f82a4 <_sstack+0x123982a4>
80002288:	0ea12623          	sw	a0,236(sp)
8000228c:	ab1c6537          	lui	a0,0xab1c6
80002290:	ed550513          	addi	a0,a0,-299 # ab1c5ed5 <_sstack+0x2b165ed5>
80002294:	0ea12423          	sw	a0,232(sp)
80002298:	d807b537          	lui	a0,0xd807b
8000229c:	a9850513          	addi	a0,a0,-1384 # d807aa98 <_sstack+0x5801aa98>
800022a0:	0ea12223          	sw	a0,228(sp)
800022a4:	12836537          	lui	a0,0x12836
800022a8:	b0150513          	addi	a0,a0,-1279 # 12835b01 <_hart_stack_size+0x12835301>
800022ac:	0ea12023          	sw	a0,224(sp)
800022b0:	24318537          	lui	a0,0x24318
800022b4:	5be50513          	addi	a0,a0,1470 # 243185be <_hart_stack_size+0x24317dbe>
800022b8:	0ca12e23          	sw	a0,220(sp)
800022bc:	550c8537          	lui	a0,0x550c8
800022c0:	dc350513          	addi	a0,a0,-573 # 550c7dc3 <_hart_stack_size+0x550c75c3>
800022c4:	0ca12c23          	sw	a0,216(sp)
800022c8:	72be6537          	lui	a0,0x72be6
800022cc:	d7450513          	addi	a0,a0,-652 # 72be5d74 <_hart_stack_size+0x72be5574>
800022d0:	0ca12a23          	sw	a0,212(sp)
800022d4:	80deb537          	lui	a0,0x80deb
800022d8:	1fe50513          	addi	a0,a0,510 # 80deb1fe <_sstack+0xd8b1fe>
800022dc:	0ca12823          	sw	a0,208(sp)
800022e0:	9bdc0537          	lui	a0,0x9bdc0
800022e4:	6a750513          	addi	a0,a0,1703 # 9bdc06a7 <_sstack+0x1bd606a7>
800022e8:	0ca12623          	sw	a0,204(sp)
800022ec:	c19bf537          	lui	a0,0xc19bf
800022f0:	17450513          	addi	a0,a0,372 # c19bf174 <_sstack+0x4195f174>
800022f4:	0ca12423          	sw	a0,200(sp)
800022f8:	e49b7537          	lui	a0,0xe49b7
800022fc:	9c150513          	addi	a0,a0,-1599 # e49b69c1 <_sstack+0x649569c1>
80002300:	0ca12223          	sw	a0,196(sp)
80002304:	efbe4537          	lui	a0,0xefbe4
80002308:	78650513          	addi	a0,a0,1926 # efbe4786 <_sstack+0x6fb84786>
8000230c:	0ca12023          	sw	a0,192(sp)
80002310:	0fc1a537          	lui	a0,0xfc1a
80002314:	dc650513          	addi	a0,a0,-570 # fc19dc6 <_hart_stack_size+0xfc195c6>
80002318:	0aa12e23          	sw	a0,188(sp)
8000231c:	240ca537          	lui	a0,0x240ca
80002320:	1cc50513          	addi	a0,a0,460 # 240ca1cc <_hart_stack_size+0x240c99cc>
80002324:	0aa12c23          	sw	a0,184(sp)
80002328:	2de93537          	lui	a0,0x2de93
8000232c:	c6f50513          	addi	a0,a0,-913 # 2de92c6f <_hart_stack_size+0x2de9246f>
80002330:	0aa12a23          	sw	a0,180(sp)
80002334:	4a748537          	lui	a0,0x4a748
80002338:	4aa50513          	addi	a0,a0,1194 # 4a7484aa <_hart_stack_size+0x4a747caa>
8000233c:	0aa12823          	sw	a0,176(sp)
80002340:	5cb0b537          	lui	a0,0x5cb0b
80002344:	9dc50513          	addi	a0,a0,-1572 # 5cb0a9dc <_hart_stack_size+0x5cb0a1dc>
80002348:	0aa12623          	sw	a0,172(sp)
8000234c:	76f99537          	lui	a0,0x76f99
80002350:	8da50513          	addi	a0,a0,-1830 # 76f988da <_hart_stack_size+0x76f980da>
80002354:	0aa12423          	sw	a0,168(sp)
80002358:	983e5537          	lui	a0,0x983e5
8000235c:	15250513          	addi	a0,a0,338 # 983e5152 <_sstack+0x18385152>
80002360:	0aa12223          	sw	a0,164(sp)
80002364:	a831c537          	lui	a0,0xa831c
80002368:	66d50513          	addi	a0,a0,1645 # a831c66d <_sstack+0x282bc66d>
8000236c:	0aa12023          	sw	a0,160(sp)
80002370:	b0032537          	lui	a0,0xb0032
80002374:	7c850513          	addi	a0,a0,1992 # b00327c8 <_sstack+0x2ffd27c8>
80002378:	08a12e23          	sw	a0,156(sp)
8000237c:	bf598537          	lui	a0,0xbf598
80002380:	fc750513          	addi	a0,a0,-57 # bf597fc7 <_sstack+0x3f537fc7>
80002384:	08a12c23          	sw	a0,152(sp)
80002388:	c6e01537          	lui	a0,0xc6e01
8000238c:	bf350513          	addi	a0,a0,-1037 # c6e00bf3 <_sstack+0x46da0bf3>
80002390:	08a12a23          	sw	a0,148(sp)
80002394:	d5a79537          	lui	a0,0xd5a79
80002398:	14750513          	addi	a0,a0,327 # d5a79147 <_sstack+0x55a19147>
8000239c:	08a12823          	sw	a0,144(sp)
800023a0:	06ca6537          	lui	a0,0x6ca6
800023a4:	35150513          	addi	a0,a0,849 # 6ca6351 <_hart_stack_size+0x6ca5b51>
800023a8:	08a12623          	sw	a0,140(sp)
800023ac:	14293537          	lui	a0,0x14293
800023b0:	96750513          	addi	a0,a0,-1689 # 14292967 <_hart_stack_size+0x14292167>
800023b4:	08a12423          	sw	a0,136(sp)
800023b8:	27b71537          	lui	a0,0x27b71
800023bc:	a8550513          	addi	a0,a0,-1403 # 27b70a85 <_hart_stack_size+0x27b70285>
800023c0:	08a12223          	sw	a0,132(sp)
800023c4:	2e1b2537          	lui	a0,0x2e1b2
800023c8:	13850513          	addi	a0,a0,312 # 2e1b2138 <_hart_stack_size+0x2e1b1938>
800023cc:	08a12023          	sw	a0,128(sp)
800023d0:	4d2c7537          	lui	a0,0x4d2c7
800023d4:	dfc50513          	addi	a0,a0,-516 # 4d2c6dfc <_hart_stack_size+0x4d2c65fc>
800023d8:	06a12e23          	sw	a0,124(sp)
800023dc:	53381537          	lui	a0,0x53381
800023e0:	d1350513          	addi	a0,a0,-749 # 53380d13 <_hart_stack_size+0x53380513>
800023e4:	06a12c23          	sw	a0,120(sp)
800023e8:	650a7537          	lui	a0,0x650a7
800023ec:	35450513          	addi	a0,a0,852 # 650a7354 <_hart_stack_size+0x650a6b54>
800023f0:	06a12a23          	sw	a0,116(sp)
800023f4:	766a1537          	lui	a0,0x766a1
800023f8:	abb50513          	addi	a0,a0,-1349 # 766a0abb <_hart_stack_size+0x766a02bb>
800023fc:	06a12823          	sw	a0,112(sp)
80002400:	81c2d537          	lui	a0,0x81c2d
80002404:	92e50513          	addi	a0,a0,-1746 # 81c2c92e <_sstack+0x1bcc92e>
80002408:	06a12623          	sw	a0,108(sp)
8000240c:	92723537          	lui	a0,0x92723
80002410:	c8550513          	addi	a0,a0,-891 # 92722c85 <_sstack+0x126c2c85>
80002414:	06a12423          	sw	a0,104(sp)
80002418:	a2bff537          	lui	a0,0xa2bff
8000241c:	8a150513          	addi	a0,a0,-1887 # a2bfe8a1 <_sstack+0x22b9e8a1>
80002420:	06a12223          	sw	a0,100(sp)
80002424:	a81a6537          	lui	a0,0xa81a6
80002428:	64b50513          	addi	a0,a0,1611 # a81a664b <_sstack+0x2814664b>
8000242c:	06a12023          	sw	a0,96(sp)
80002430:	c24b9537          	lui	a0,0xc24b9
80002434:	b7050513          	addi	a0,a0,-1168 # c24b8b70 <_sstack+0x42458b70>
80002438:	04a12e23          	sw	a0,92(sp)
8000243c:	c76c5537          	lui	a0,0xc76c5
80002440:	1a350513          	addi	a0,a0,419 # c76c51a3 <_sstack+0x476651a3>
80002444:	04a12c23          	sw	a0,88(sp)
80002448:	d192f537          	lui	a0,0xd192f
8000244c:	81950513          	addi	a0,a0,-2023 # d192e819 <_sstack+0x518ce819>
80002450:	04a12a23          	sw	a0,84(sp)
80002454:	d6990537          	lui	a0,0xd6990
80002458:	62450513          	addi	a0,a0,1572 # d6990624 <_sstack+0x56930624>
8000245c:	04a12823          	sw	a0,80(sp)
80002460:	f40e3537          	lui	a0,0xf40e3
80002464:	58550513          	addi	a0,a0,1413 # f40e3585 <_sstack+0x74083585>
80002468:	04a12623          	sw	a0,76(sp)
8000246c:	106aa537          	lui	a0,0x106aa
80002470:	07050513          	addi	a0,a0,112 # 106aa070 <_hart_stack_size+0x106a9870>
80002474:	04a12423          	sw	a0,72(sp)
80002478:	19a4c537          	lui	a0,0x19a4c
8000247c:	11650513          	addi	a0,a0,278 # 19a4c116 <_hart_stack_size+0x19a4b916>
80002480:	04a12223          	sw	a0,68(sp)
80002484:	1e377537          	lui	a0,0x1e377
80002488:	c0850513          	addi	a0,a0,-1016 # 1e376c08 <_hart_stack_size+0x1e376408>
8000248c:	04a12023          	sw	a0,64(sp)
80002490:	27487537          	lui	a0,0x27487
80002494:	74c50513          	addi	a0,a0,1868 # 2748774c <_hart_stack_size+0x27486f4c>
80002498:	02a12e23          	sw	a0,60(sp)
8000249c:	34b0c537          	lui	a0,0x34b0c
800024a0:	cb550513          	addi	a0,a0,-843 # 34b0bcb5 <_hart_stack_size+0x34b0b4b5>
800024a4:	02a12c23          	sw	a0,56(sp)
800024a8:	391c1537          	lui	a0,0x391c1
800024ac:	cb350513          	addi	a0,a0,-845 # 391c0cb3 <_hart_stack_size+0x391c04b3>
800024b0:	02a12a23          	sw	a0,52(sp)
800024b4:	4ed8b537          	lui	a0,0x4ed8b
800024b8:	a4a50513          	addi	a0,a0,-1462 # 4ed8aa4a <_hart_stack_size+0x4ed8a24a>
800024bc:	02a12823          	sw	a0,48(sp)
800024c0:	5b9cd537          	lui	a0,0x5b9cd
800024c4:	a4f50513          	addi	a0,a0,-1457 # 5b9cca4f <_hart_stack_size+0x5b9cc24f>
800024c8:	02a12623          	sw	a0,44(sp)
800024cc:	682e7537          	lui	a0,0x682e7
800024d0:	ff350513          	addi	a0,a0,-13 # 682e6ff3 <_hart_stack_size+0x682e67f3>
800024d4:	02a12423          	sw	a0,40(sp)
800024d8:	748f8537          	lui	a0,0x748f8
800024dc:	2ee50513          	addi	a0,a0,750 # 748f82ee <_hart_stack_size+0x748f7aee>
800024e0:	02a12223          	sw	a0,36(sp)
800024e4:	78a56537          	lui	a0,0x78a56
800024e8:	36f50513          	addi	a0,a0,879 # 78a5636f <_hart_stack_size+0x78a55b6f>
800024ec:	02a12023          	sw	a0,32(sp)
800024f0:	84c88537          	lui	a0,0x84c88
800024f4:	81450513          	addi	a0,a0,-2028 # 84c87814 <_sstack+0x4c27814>
800024f8:	00a12e23          	sw	a0,28(sp)
800024fc:	8cc70537          	lui	a0,0x8cc70
80002500:	20850513          	addi	a0,a0,520 # 8cc70208 <_sstack+0xcc10208>
80002504:	00a12c23          	sw	a0,24(sp)
80002508:	90bf0537          	lui	a0,0x90bf0
8000250c:	ffa50513          	addi	a0,a0,-6 # 90befffa <_sstack+0x10b8fffa>
80002510:	00a12a23          	sw	a0,20(sp)
80002514:	a4507537          	lui	a0,0xa4507
80002518:	ceb50513          	addi	a0,a0,-789 # a4506ceb <_sstack+0x244a6ceb>
8000251c:	00a12823          	sw	a0,16(sp)
80002520:	bef9a537          	lui	a0,0xbef9a
80002524:	3f750513          	addi	a0,a0,1015 # bef9a3f7 <_sstack+0x3ef3a3f7>
80002528:	00a12623          	sw	a0,12(sp)
8000252c:	c6718537          	lui	a0,0xc6718
80002530:	8f250513          	addi	a0,a0,-1806 # c67178f2 <_sstack+0x466b78f2>
80002534:	00a12423          	sw	a0,8(sp)
80002538:	12812623          	sw	s0,300(sp)
8000253c:	13212823          	sw	s2,304(sp)
80002540:	13d12a23          	sw	t4,308(sp)
80002544:	12712c23          	sw	t2,312(sp)
80002548:	13012e23          	sw	a6,316(sp)
8000254c:	15612c23          	sw	s6,344(sp)
80002550:	15412023          	sw	s4,320(sp)
80002554:	00144503          	lbu	a0,1(s0)
80002558:	00044583          	lbu	a1,0(s0)
8000255c:	00344603          	lbu	a2,3(s0)
80002560:	00244683          	lbu	a3,2(s0)
80002564:	00851513          	slli	a0,a0,0x8
80002568:	00b56533          	or	a0,a0,a1
8000256c:	00861593          	slli	a1,a2,0x8
80002570:	00d5e5b3          	or	a1,a1,a3
80002574:	01059593          	slli	a1,a1,0x10
80002578:	00a5e533          	or	a0,a1,a0
8000257c:	00855593          	srli	a1,a0,0x8
80002580:	10812703          	lw	a4,264(sp)
80002584:	00e5f5b3          	and	a1,a1,a4
80002588:	01855613          	srli	a2,a0,0x18
8000258c:	00c5e5b3          	or	a1,a1,a2
80002590:	00851613          	slli	a2,a0,0x8
80002594:	00ff07b7          	lui	a5,0xff0
80002598:	00f67633          	and	a2,a2,a5
8000259c:	01851513          	slli	a0,a0,0x18
800025a0:	00c56533          	or	a0,a0,a2
800025a4:	00b56533          	or	a0,a0,a1
800025a8:	16a12623          	sw	a0,364(sp)
800025ac:	00544503          	lbu	a0,5(s0)
800025b0:	00444583          	lbu	a1,4(s0)
800025b4:	00744603          	lbu	a2,7(s0)
800025b8:	00644683          	lbu	a3,6(s0)
800025bc:	00851513          	slli	a0,a0,0x8
800025c0:	00b56533          	or	a0,a0,a1
800025c4:	00861593          	slli	a1,a2,0x8
800025c8:	00d5e5b3          	or	a1,a1,a3
800025cc:	01059593          	slli	a1,a1,0x10
800025d0:	00a5e533          	or	a0,a1,a0
800025d4:	00855593          	srli	a1,a0,0x8
800025d8:	00e5f5b3          	and	a1,a1,a4
800025dc:	01855613          	srli	a2,a0,0x18
800025e0:	00c5e5b3          	or	a1,a1,a2
800025e4:	00851613          	slli	a2,a0,0x8
800025e8:	00f67633          	and	a2,a2,a5
800025ec:	01851513          	slli	a0,a0,0x18
800025f0:	00c56533          	or	a0,a0,a2
800025f4:	00b56533          	or	a0,a0,a1
800025f8:	16a12823          	sw	a0,368(sp)
800025fc:	00944503          	lbu	a0,9(s0)
80002600:	00844583          	lbu	a1,8(s0)
80002604:	00b44603          	lbu	a2,11(s0)
80002608:	00a44683          	lbu	a3,10(s0)
8000260c:	00851513          	slli	a0,a0,0x8
80002610:	00b56533          	or	a0,a0,a1
80002614:	00861593          	slli	a1,a2,0x8
80002618:	00d5e5b3          	or	a1,a1,a3
8000261c:	01059593          	slli	a1,a1,0x10
80002620:	00a5e533          	or	a0,a1,a0
80002624:	00855593          	srli	a1,a0,0x8
80002628:	00e5f5b3          	and	a1,a1,a4
8000262c:	01855613          	srli	a2,a0,0x18
80002630:	00c5e5b3          	or	a1,a1,a2
80002634:	00851613          	slli	a2,a0,0x8
80002638:	00f67633          	and	a2,a2,a5
8000263c:	01851513          	slli	a0,a0,0x18
80002640:	00c56533          	or	a0,a0,a2
80002644:	00b56533          	or	a0,a0,a1
80002648:	16a12a23          	sw	a0,372(sp)
8000264c:	00d44503          	lbu	a0,13(s0)
80002650:	00c44583          	lbu	a1,12(s0)
80002654:	00f44603          	lbu	a2,15(s0)
80002658:	00e44683          	lbu	a3,14(s0)
8000265c:	00851513          	slli	a0,a0,0x8
80002660:	00b56533          	or	a0,a0,a1
80002664:	00861593          	slli	a1,a2,0x8
80002668:	00d5e5b3          	or	a1,a1,a3
8000266c:	01059593          	slli	a1,a1,0x10
80002670:	00a5e533          	or	a0,a1,a0
80002674:	00855593          	srli	a1,a0,0x8
80002678:	00e5f5b3          	and	a1,a1,a4
8000267c:	01855613          	srli	a2,a0,0x18
80002680:	00c5e5b3          	or	a1,a1,a2
80002684:	00851613          	slli	a2,a0,0x8
80002688:	00f67633          	and	a2,a2,a5
8000268c:	01851513          	slli	a0,a0,0x18
80002690:	00c56533          	or	a0,a0,a2
80002694:	00b56533          	or	a0,a0,a1
80002698:	16a12c23          	sw	a0,376(sp)
8000269c:	01144503          	lbu	a0,17(s0)
800026a0:	01044583          	lbu	a1,16(s0)
800026a4:	01344603          	lbu	a2,19(s0)
800026a8:	01244683          	lbu	a3,18(s0)
800026ac:	00851513          	slli	a0,a0,0x8
800026b0:	00b56533          	or	a0,a0,a1
800026b4:	00861593          	slli	a1,a2,0x8
800026b8:	00d5e5b3          	or	a1,a1,a3
800026bc:	01059593          	slli	a1,a1,0x10
800026c0:	00a5e533          	or	a0,a1,a0
800026c4:	00855593          	srli	a1,a0,0x8
800026c8:	00e5f5b3          	and	a1,a1,a4
800026cc:	01855613          	srli	a2,a0,0x18
800026d0:	00c5e5b3          	or	a1,a1,a2
800026d4:	00851613          	slli	a2,a0,0x8
800026d8:	00f67633          	and	a2,a2,a5
800026dc:	01851513          	slli	a0,a0,0x18
800026e0:	00c56533          	or	a0,a0,a2
800026e4:	00b56533          	or	a0,a0,a1
800026e8:	16a12e23          	sw	a0,380(sp)
800026ec:	01544503          	lbu	a0,21(s0)
800026f0:	01444583          	lbu	a1,20(s0)
800026f4:	01744603          	lbu	a2,23(s0)
800026f8:	01644683          	lbu	a3,22(s0)
800026fc:	00851513          	slli	a0,a0,0x8
80002700:	00b56533          	or	a0,a0,a1
80002704:	00861593          	slli	a1,a2,0x8
80002708:	00d5e5b3          	or	a1,a1,a3
8000270c:	01059593          	slli	a1,a1,0x10
80002710:	00a5e533          	or	a0,a1,a0
80002714:	00855593          	srli	a1,a0,0x8
80002718:	00e5f5b3          	and	a1,a1,a4
8000271c:	01855613          	srli	a2,a0,0x18
80002720:	00c5e5b3          	or	a1,a1,a2
80002724:	00851613          	slli	a2,a0,0x8
80002728:	00f67633          	and	a2,a2,a5
8000272c:	01851513          	slli	a0,a0,0x18
80002730:	00c56533          	or	a0,a0,a2
80002734:	00b56533          	or	a0,a0,a1
80002738:	18a12023          	sw	a0,384(sp)
8000273c:	01944503          	lbu	a0,25(s0)
80002740:	01844583          	lbu	a1,24(s0)
80002744:	01b44603          	lbu	a2,27(s0)
80002748:	01a44683          	lbu	a3,26(s0)
8000274c:	00851513          	slli	a0,a0,0x8
80002750:	00b56533          	or	a0,a0,a1
80002754:	00861593          	slli	a1,a2,0x8
80002758:	00d5e5b3          	or	a1,a1,a3
8000275c:	01059593          	slli	a1,a1,0x10
80002760:	00a5e533          	or	a0,a1,a0
80002764:	00855593          	srli	a1,a0,0x8
80002768:	00e5f5b3          	and	a1,a1,a4
8000276c:	01855613          	srli	a2,a0,0x18
80002770:	00c5e5b3          	or	a1,a1,a2
80002774:	00851613          	slli	a2,a0,0x8
80002778:	00f67633          	and	a2,a2,a5
8000277c:	01851513          	slli	a0,a0,0x18
80002780:	00c56533          	or	a0,a0,a2
80002784:	00b56533          	or	a0,a0,a1
80002788:	18a12223          	sw	a0,388(sp)
8000278c:	00050313          	mv	t1,a0
80002790:	16a12023          	sw	a0,352(sp)
80002794:	01d44503          	lbu	a0,29(s0)
80002798:	01c44583          	lbu	a1,28(s0)
8000279c:	01f44603          	lbu	a2,31(s0)
800027a0:	01e44683          	lbu	a3,30(s0)
800027a4:	00851513          	slli	a0,a0,0x8
800027a8:	00b56533          	or	a0,a0,a1
800027ac:	00861593          	slli	a1,a2,0x8
800027b0:	00d5e5b3          	or	a1,a1,a3
800027b4:	01059593          	slli	a1,a1,0x10
800027b8:	00a5e533          	or	a0,a1,a0
800027bc:	00855593          	srli	a1,a0,0x8
800027c0:	00e5f5b3          	and	a1,a1,a4
800027c4:	01855613          	srli	a2,a0,0x18
800027c8:	00c5e5b3          	or	a1,a1,a2
800027cc:	00851613          	slli	a2,a0,0x8
800027d0:	00f67633          	and	a2,a2,a5
800027d4:	01851513          	slli	a0,a0,0x18
800027d8:	00c56533          	or	a0,a0,a2
800027dc:	00b56533          	or	a0,a0,a1
800027e0:	18a12423          	sw	a0,392(sp)
800027e4:	00050993          	mv	s3,a0
800027e8:	14a12823          	sw	a0,336(sp)
800027ec:	02144503          	lbu	a0,33(s0)
800027f0:	02044583          	lbu	a1,32(s0)
800027f4:	02344603          	lbu	a2,35(s0)
800027f8:	02244683          	lbu	a3,34(s0)
800027fc:	00851513          	slli	a0,a0,0x8
80002800:	00b56533          	or	a0,a0,a1
80002804:	00861593          	slli	a1,a2,0x8
80002808:	00d5e5b3          	or	a1,a1,a3
8000280c:	01059593          	slli	a1,a1,0x10
80002810:	00a5e533          	or	a0,a1,a0
80002814:	00855593          	srli	a1,a0,0x8
80002818:	00e5f5b3          	and	a1,a1,a4
8000281c:	01855613          	srli	a2,a0,0x18
80002820:	00c5e5b3          	or	a1,a1,a2
80002824:	00851613          	slli	a2,a0,0x8
80002828:	00f67633          	and	a2,a2,a5
8000282c:	01851513          	slli	a0,a0,0x18
80002830:	00c56533          	or	a0,a0,a2
80002834:	00b56533          	or	a0,a0,a1
80002838:	18a12623          	sw	a0,396(sp)
8000283c:	00050093          	mv	ra,a0
80002840:	14a12a23          	sw	a0,340(sp)
80002844:	02544503          	lbu	a0,37(s0)
80002848:	02444583          	lbu	a1,36(s0)
8000284c:	02744603          	lbu	a2,39(s0)
80002850:	02644683          	lbu	a3,38(s0)
80002854:	00851513          	slli	a0,a0,0x8
80002858:	00b56533          	or	a0,a0,a1
8000285c:	00861593          	slli	a1,a2,0x8
80002860:	00d5e5b3          	or	a1,a1,a3
80002864:	01059593          	slli	a1,a1,0x10
80002868:	00a5e533          	or	a0,a1,a0
8000286c:	00855593          	srli	a1,a0,0x8
80002870:	00e5f5b3          	and	a1,a1,a4
80002874:	01855613          	srli	a2,a0,0x18
80002878:	00c5e5b3          	or	a1,a1,a2
8000287c:	00851613          	slli	a2,a0,0x8
80002880:	00f67633          	and	a2,a2,a5
80002884:	01851513          	slli	a0,a0,0x18
80002888:	00c56533          	or	a0,a0,a2
8000288c:	00b56533          	or	a0,a0,a1
80002890:	18a12823          	sw	a0,400(sp)
80002894:	00050293          	mv	t0,a0
80002898:	02944503          	lbu	a0,41(s0)
8000289c:	02844583          	lbu	a1,40(s0)
800028a0:	02b44603          	lbu	a2,43(s0)
800028a4:	02a44683          	lbu	a3,42(s0)
800028a8:	00851513          	slli	a0,a0,0x8
800028ac:	00b56533          	or	a0,a0,a1
800028b0:	00861593          	slli	a1,a2,0x8
800028b4:	00d5e5b3          	or	a1,a1,a3
800028b8:	01059593          	slli	a1,a1,0x10
800028bc:	00a5e533          	or	a0,a1,a0
800028c0:	00855593          	srli	a1,a0,0x8
800028c4:	00e5f5b3          	and	a1,a1,a4
800028c8:	01855613          	srli	a2,a0,0x18
800028cc:	00c5e5b3          	or	a1,a1,a2
800028d0:	00851613          	slli	a2,a0,0x8
800028d4:	00f67633          	and	a2,a2,a5
800028d8:	01851513          	slli	a0,a0,0x18
800028dc:	00c56533          	or	a0,a0,a2
800028e0:	00b56533          	or	a0,a0,a1
800028e4:	18a12a23          	sw	a0,404(sp)
800028e8:	00050c93          	mv	s9,a0
800028ec:	14a12e23          	sw	a0,348(sp)
800028f0:	02d44503          	lbu	a0,45(s0)
800028f4:	02c44583          	lbu	a1,44(s0)
800028f8:	02f44603          	lbu	a2,47(s0)
800028fc:	02e44683          	lbu	a3,46(s0)
80002900:	00851513          	slli	a0,a0,0x8
80002904:	00b56533          	or	a0,a0,a1
80002908:	00861593          	slli	a1,a2,0x8
8000290c:	00d5e5b3          	or	a1,a1,a3
80002910:	01059593          	slli	a1,a1,0x10
80002914:	00a5e533          	or	a0,a1,a0
80002918:	00855593          	srli	a1,a0,0x8
8000291c:	00e5f5b3          	and	a1,a1,a4
80002920:	01855613          	srli	a2,a0,0x18
80002924:	00c5e5b3          	or	a1,a1,a2
80002928:	00851613          	slli	a2,a0,0x8
8000292c:	00f67633          	and	a2,a2,a5
80002930:	01851513          	slli	a0,a0,0x18
80002934:	00c56533          	or	a0,a0,a2
80002938:	00b56fb3          	or	t6,a0,a1
8000293c:	19f12c23          	sw	t6,408(sp)
80002940:	03144503          	lbu	a0,49(s0)
80002944:	03044583          	lbu	a1,48(s0)
80002948:	03344603          	lbu	a2,51(s0)
8000294c:	03244683          	lbu	a3,50(s0)
80002950:	00851513          	slli	a0,a0,0x8
80002954:	00b56533          	or	a0,a0,a1
80002958:	00861593          	slli	a1,a2,0x8
8000295c:	00d5e5b3          	or	a1,a1,a3
80002960:	01059593          	slli	a1,a1,0x10
80002964:	00a5e533          	or	a0,a1,a0
80002968:	00855593          	srli	a1,a0,0x8
8000296c:	00e5f5b3          	and	a1,a1,a4
80002970:	01855613          	srli	a2,a0,0x18
80002974:	00c5e5b3          	or	a1,a1,a2
80002978:	00851613          	slli	a2,a0,0x8
8000297c:	00f67633          	and	a2,a2,a5
80002980:	01851513          	slli	a0,a0,0x18
80002984:	00c56533          	or	a0,a0,a2
80002988:	00b56bb3          	or	s7,a0,a1
8000298c:	19712e23          	sw	s7,412(sp)
80002990:	03544503          	lbu	a0,53(s0)
80002994:	03444583          	lbu	a1,52(s0)
80002998:	03744603          	lbu	a2,55(s0)
8000299c:	03644683          	lbu	a3,54(s0)
800029a0:	00851513          	slli	a0,a0,0x8
800029a4:	00b56533          	or	a0,a0,a1
800029a8:	00861593          	slli	a1,a2,0x8
800029ac:	00d5e5b3          	or	a1,a1,a3
800029b0:	01059593          	slli	a1,a1,0x10
800029b4:	00a5e533          	or	a0,a1,a0
800029b8:	00855593          	srli	a1,a0,0x8
800029bc:	00e5f5b3          	and	a1,a1,a4
800029c0:	01855613          	srli	a2,a0,0x18
800029c4:	00c5e5b3          	or	a1,a1,a2
800029c8:	00851613          	slli	a2,a0,0x8
800029cc:	00f67633          	and	a2,a2,a5
800029d0:	01851513          	slli	a0,a0,0x18
800029d4:	00c56533          	or	a0,a0,a2
800029d8:	00b56533          	or	a0,a0,a1
800029dc:	16a12423          	sw	a0,360(sp)
800029e0:	1aa12023          	sw	a0,416(sp)
800029e4:	03944503          	lbu	a0,57(s0)
800029e8:	03844583          	lbu	a1,56(s0)
800029ec:	03b44603          	lbu	a2,59(s0)
800029f0:	03a44683          	lbu	a3,58(s0)
800029f4:	00851513          	slli	a0,a0,0x8
800029f8:	00b56533          	or	a0,a0,a1
800029fc:	00861593          	slli	a1,a2,0x8
80002a00:	00d5e5b3          	or	a1,a1,a3
80002a04:	01059593          	slli	a1,a1,0x10
80002a08:	00a5e533          	or	a0,a1,a0
80002a0c:	00855593          	srli	a1,a0,0x8
80002a10:	00e5f5b3          	and	a1,a1,a4
80002a14:	01855613          	srli	a2,a0,0x18
80002a18:	00c5e5b3          	or	a1,a1,a2
80002a1c:	00851613          	slli	a2,a0,0x8
80002a20:	00f67633          	and	a2,a2,a5
80002a24:	01851513          	slli	a0,a0,0x18
80002a28:	00c56533          	or	a0,a0,a2
80002a2c:	00b56db3          	or	s11,a0,a1
80002a30:	1bb12223          	sw	s11,420(sp)
80002a34:	03d44503          	lbu	a0,61(s0)
80002a38:	03c44583          	lbu	a1,60(s0)
80002a3c:	03f44603          	lbu	a2,63(s0)
80002a40:	03e44683          	lbu	a3,62(s0)
80002a44:	00851513          	slli	a0,a0,0x8
80002a48:	00b56533          	or	a0,a0,a1
80002a4c:	00861593          	slli	a1,a2,0x8
80002a50:	00d5e5b3          	or	a1,a1,a3
80002a54:	01059593          	slli	a1,a1,0x10
80002a58:	00a5e533          	or	a0,a1,a0
80002a5c:	00855593          	srli	a1,a0,0x8
80002a60:	00e5f5b3          	and	a1,a1,a4
80002a64:	01855613          	srli	a2,a0,0x18
80002a68:	00c5e5b3          	or	a1,a1,a2
80002a6c:	00851613          	slli	a2,a0,0x8
80002a70:	00f67633          	and	a2,a2,a5
80002a74:	01851513          	slli	a0,a0,0x18
80002a78:	00c56533          	or	a0,a0,a2
80002a7c:	00b56d33          	or	s10,a0,a1
80002a80:	1ba12423          	sw	s10,424(sp)
80002a84:	17812e03          	lw	t3,376(sp)
80002a88:	17412883          	lw	a7,372(sp)
80002a8c:	17012f03          	lw	t5,368(sp)
80002a90:	16c12683          	lw	a3,364(sp)
80002a94:	16d12223          	sw	a3,356(sp)
80002a98:	17c12c03          	lw	s8,380(sp)
80002a9c:	006ad513          	srli	a0,s5,0x6
80002aa0:	01aa9593          	slli	a1,s5,0x1a
80002aa4:	00a5e533          	or	a0,a1,a0
80002aa8:	00bad593          	srli	a1,s5,0xb
80002aac:	015a9613          	slli	a2,s5,0x15
80002ab0:	00b665b3          	or	a1,a2,a1
80002ab4:	00b54533          	xor	a0,a0,a1
80002ab8:	019ad593          	srli	a1,s5,0x19
80002abc:	007a9613          	slli	a2,s5,0x7
80002ac0:	00b665b3          	or	a1,a2,a1
80002ac4:	00b54533          	xor	a0,a0,a1
80002ac8:	016845b3          	xor	a1,a6,s6
80002acc:	0155f5b3          	and	a1,a1,s5
80002ad0:	0165c5b3          	xor	a1,a1,s6
80002ad4:	00ba05b3          	add	a1,s4,a1
80002ad8:	00a58533          	add	a0,a1,a0
80002adc:	00d50533          	add	a0,a0,a3
80002ae0:	10412583          	lw	a1,260(sp)
80002ae4:	00b50533          	add	a0,a0,a1
80002ae8:	0024d593          	srli	a1,s1,0x2
80002aec:	01e49613          	slli	a2,s1,0x1e
80002af0:	00b665b3          	or	a1,a2,a1
80002af4:	00d4d613          	srli	a2,s1,0xd
80002af8:	01349693          	slli	a3,s1,0x13
80002afc:	00c6e633          	or	a2,a3,a2
80002b00:	00c5c5b3          	xor	a1,a1,a2
80002b04:	0164d613          	srli	a2,s1,0x16
80002b08:	00a49693          	slli	a3,s1,0xa
80002b0c:	00c6e633          	or	a2,a3,a2
80002b10:	00c5c5b3          	xor	a1,a1,a2
80002b14:	0124f633          	and	a2,s1,s2
80002b18:	01d4f6b3          	and	a3,s1,t4
80002b1c:	01d97733          	and	a4,s2,t4
80002b20:	00e64733          	xor	a4,a2,a4
80002b24:	00d746b3          	xor	a3,a4,a3
80002b28:	00b685b3          	add	a1,a3,a1
80002b2c:	00048b13          	mv	s6,s1
80002b30:	00a58a33          	add	s4,a1,a0
80002b34:	00750533          	add	a0,a0,t2
80002b38:	00655693          	srli	a3,a0,0x6
80002b3c:	01a51713          	slli	a4,a0,0x1a
80002b40:	00d766b3          	or	a3,a4,a3
80002b44:	00b55713          	srli	a4,a0,0xb
80002b48:	01551793          	slli	a5,a0,0x15
80002b4c:	00e7e733          	or	a4,a5,a4
80002b50:	00e6c6b3          	xor	a3,a3,a4
80002b54:	01955713          	srli	a4,a0,0x19
80002b58:	00751793          	slli	a5,a0,0x7
80002b5c:	00e7e733          	or	a4,a5,a4
80002b60:	00e6c6b3          	xor	a3,a3,a4
80002b64:	010ac733          	xor	a4,s5,a6
80002b68:	00e57733          	and	a4,a0,a4
80002b6c:	01074733          	xor	a4,a4,a6
80002b70:	15812583          	lw	a1,344(sp)
80002b74:	01e587b3          	add	a5,a1,t5
80002b78:	00e78733          	add	a4,a5,a4
80002b7c:	00d706b3          	add	a3,a4,a3
80002b80:	10012583          	lw	a1,256(sp)
80002b84:	00b686b3          	add	a3,a3,a1
80002b88:	002a5713          	srli	a4,s4,0x2
80002b8c:	01ea1793          	slli	a5,s4,0x1e
80002b90:	00e7e733          	or	a4,a5,a4
80002b94:	00da5793          	srli	a5,s4,0xd
80002b98:	013a1493          	slli	s1,s4,0x13
80002b9c:	00f4e7b3          	or	a5,s1,a5
80002ba0:	00f74733          	xor	a4,a4,a5
80002ba4:	016a5793          	srli	a5,s4,0x16
80002ba8:	00aa1493          	slli	s1,s4,0xa
80002bac:	00f4e7b3          	or	a5,s1,a5
80002bb0:	00f74733          	xor	a4,a4,a5
80002bb4:	012b47b3          	xor	a5,s6,s2
80002bb8:	00fa77b3          	and	a5,s4,a5
80002bbc:	00c7c633          	xor	a2,a5,a2
80002bc0:	00c70633          	add	a2,a4,a2
80002bc4:	00d60633          	add	a2,a2,a3
80002bc8:	01d68433          	add	s0,a3,t4
80002bcc:	00645693          	srli	a3,s0,0x6
80002bd0:	01a41713          	slli	a4,s0,0x1a
80002bd4:	00d766b3          	or	a3,a4,a3
80002bd8:	00b45713          	srli	a4,s0,0xb
80002bdc:	01541793          	slli	a5,s0,0x15
80002be0:	00e7e733          	or	a4,a5,a4
80002be4:	00e6c6b3          	xor	a3,a3,a4
80002be8:	01945713          	srli	a4,s0,0x19
80002bec:	00741793          	slli	a5,s0,0x7
80002bf0:	00e7e733          	or	a4,a5,a4
80002bf4:	00e6c6b3          	xor	a3,a3,a4
80002bf8:	01554733          	xor	a4,a0,s5
80002bfc:	00e47733          	and	a4,s0,a4
80002c00:	01574733          	xor	a4,a4,s5
80002c04:	13512423          	sw	s5,296(sp)
80002c08:	011807b3          	add	a5,a6,a7
80002c0c:	00e78733          	add	a4,a5,a4
80002c10:	00d706b3          	add	a3,a4,a3
80002c14:	0fc12583          	lw	a1,252(sp)
80002c18:	00b686b3          	add	a3,a3,a1
80002c1c:	00265713          	srli	a4,a2,0x2
80002c20:	01e61793          	slli	a5,a2,0x1e
80002c24:	00e7e733          	or	a4,a5,a4
80002c28:	00d65793          	srli	a5,a2,0xd
80002c2c:	01361493          	slli	s1,a2,0x13
80002c30:	00f4e7b3          	or	a5,s1,a5
80002c34:	00f74733          	xor	a4,a4,a5
80002c38:	01665793          	srli	a5,a2,0x16
80002c3c:	00a61493          	slli	s1,a2,0xa
80002c40:	00f4e7b3          	or	a5,s1,a5
80002c44:	00f74733          	xor	a4,a4,a5
80002c48:	01467eb3          	and	t4,a2,s4
80002c4c:	016674b3          	and	s1,a2,s6
80002c50:	016a77b3          	and	a5,s4,s6
80002c54:	13612223          	sw	s6,292(sp)
80002c58:	00fec7b3          	xor	a5,t4,a5
80002c5c:	0097c7b3          	xor	a5,a5,s1
80002c60:	00e78733          	add	a4,a5,a4
80002c64:	00d703b3          	add	t2,a4,a3
80002c68:	012686b3          	add	a3,a3,s2
80002c6c:	0066d713          	srli	a4,a3,0x6
80002c70:	01a69793          	slli	a5,a3,0x1a
80002c74:	00e7e733          	or	a4,a5,a4
80002c78:	00b6d793          	srli	a5,a3,0xb
80002c7c:	01569493          	slli	s1,a3,0x15
80002c80:	00f4e7b3          	or	a5,s1,a5
80002c84:	00f74733          	xor	a4,a4,a5
80002c88:	0196d793          	srli	a5,a3,0x19
80002c8c:	00769493          	slli	s1,a3,0x7
80002c90:	00f4e7b3          	or	a5,s1,a5
80002c94:	00f74733          	xor	a4,a4,a5
80002c98:	00a447b3          	xor	a5,s0,a0
80002c9c:	00f6f7b3          	and	a5,a3,a5
80002ca0:	00a7c7b3          	xor	a5,a5,a0
80002ca4:	01ca84b3          	add	s1,s5,t3
80002ca8:	00f487b3          	add	a5,s1,a5
80002cac:	00e78733          	add	a4,a5,a4
80002cb0:	0f812583          	lw	a1,248(sp)
80002cb4:	00b707b3          	add	a5,a4,a1
80002cb8:	0023d713          	srli	a4,t2,0x2
80002cbc:	01e39493          	slli	s1,t2,0x1e
80002cc0:	00e4e933          	or	s2,s1,a4
80002cc4:	00d3d493          	srli	s1,t2,0xd
80002cc8:	01339713          	slli	a4,t2,0x13
80002ccc:	00976733          	or	a4,a4,s1
80002cd0:	00e94933          	xor	s2,s2,a4
80002cd4:	0163d493          	srli	s1,t2,0x16
80002cd8:	00a39713          	slli	a4,t2,0xa
80002cdc:	00976733          	or	a4,a4,s1
80002ce0:	00e94733          	xor	a4,s2,a4
80002ce4:	014644b3          	xor	s1,a2,s4
80002ce8:	0093f4b3          	and	s1,t2,s1
80002cec:	01d4c4b3          	xor	s1,s1,t4
80002cf0:	00970733          	add	a4,a4,s1
80002cf4:	00f70733          	add	a4,a4,a5
80002cf8:	016787b3          	add	a5,a5,s6
80002cfc:	0067d493          	srli	s1,a5,0x6
80002d00:	01a79593          	slli	a1,a5,0x1a
80002d04:	0095eeb3          	or	t4,a1,s1
80002d08:	00b7d493          	srli	s1,a5,0xb
80002d0c:	01579593          	slli	a1,a5,0x15
80002d10:	0095e5b3          	or	a1,a1,s1
80002d14:	00beceb3          	xor	t4,t4,a1
80002d18:	0197d493          	srli	s1,a5,0x19
80002d1c:	00779593          	slli	a1,a5,0x7
80002d20:	0095e5b3          	or	a1,a1,s1
80002d24:	00bec5b3          	xor	a1,t4,a1
80002d28:	0086c4b3          	xor	s1,a3,s0
80002d2c:	0097f4b3          	and	s1,a5,s1
80002d30:	0084c4b3          	xor	s1,s1,s0
80002d34:	01850533          	add	a0,a0,s8
80002d38:	00950533          	add	a0,a0,s1
80002d3c:	00b50eb3          	add	t4,a0,a1
80002d40:	00275593          	srli	a1,a4,0x2
80002d44:	01e71493          	slli	s1,a4,0x1e
80002d48:	00b4e5b3          	or	a1,s1,a1
80002d4c:	00d75493          	srli	s1,a4,0xd
80002d50:	01371513          	slli	a0,a4,0x13
80002d54:	00956533          	or	a0,a0,s1
80002d58:	00a5c533          	xor	a0,a1,a0
80002d5c:	01675593          	srli	a1,a4,0x16
80002d60:	00a71493          	slli	s1,a4,0xa
80002d64:	00b4e5b3          	or	a1,s1,a1
80002d68:	00b54533          	xor	a0,a0,a1
80002d6c:	00777933          	and	s2,a4,t2
80002d70:	00c3f4b3          	and	s1,t2,a2
80002d74:	009944b3          	xor	s1,s2,s1
80002d78:	00c775b3          	and	a1,a4,a2
80002d7c:	00b4c5b3          	xor	a1,s1,a1
80002d80:	0f412483          	lw	s1,244(sp)
80002d84:	009e84b3          	add	s1,t4,s1
80002d88:	00a58533          	add	a0,a1,a0
80002d8c:	00950eb3          	add	t4,a0,s1
80002d90:	014484b3          	add	s1,s1,s4
80002d94:	0064d513          	srli	a0,s1,0x6
80002d98:	01a49593          	slli	a1,s1,0x1a
80002d9c:	00a5ea33          	or	s4,a1,a0
80002da0:	00b4d593          	srli	a1,s1,0xb
80002da4:	01549513          	slli	a0,s1,0x15
80002da8:	00b56533          	or	a0,a0,a1
80002dac:	00aa4ab3          	xor	s5,s4,a0
80002db0:	18012a03          	lw	s4,384(sp)
80002db4:	0194d593          	srli	a1,s1,0x19
80002db8:	00749513          	slli	a0,s1,0x7
80002dbc:	00b56533          	or	a0,a0,a1
80002dc0:	00aac533          	xor	a0,s5,a0
80002dc4:	008a05b3          	add	a1,s4,s0
80002dc8:	00d7c433          	xor	s0,a5,a3
80002dcc:	0084f433          	and	s0,s1,s0
80002dd0:	00d44433          	xor	s0,s0,a3
80002dd4:	008585b3          	add	a1,a1,s0
80002dd8:	00a58ab3          	add	s5,a1,a0
80002ddc:	002ed593          	srli	a1,t4,0x2
80002de0:	01ee9413          	slli	s0,t4,0x1e
80002de4:	00b465b3          	or	a1,s0,a1
80002de8:	00ded413          	srli	s0,t4,0xd
80002dec:	013e9513          	slli	a0,t4,0x13
80002df0:	00856533          	or	a0,a0,s0
80002df4:	00a5c533          	xor	a0,a1,a0
80002df8:	016ed593          	srli	a1,t4,0x16
80002dfc:	00ae9413          	slli	s0,t4,0xa
80002e00:	00b465b3          	or	a1,s0,a1
80002e04:	00b54533          	xor	a0,a0,a1
80002e08:	007745b3          	xor	a1,a4,t2
80002e0c:	00bef5b3          	and	a1,t4,a1
80002e10:	0125c5b3          	xor	a1,a1,s2
80002e14:	0f012403          	lw	s0,240(sp)
80002e18:	008a8433          	add	s0,s5,s0
80002e1c:	00b50533          	add	a0,a0,a1
80002e20:	008505b3          	add	a1,a0,s0
80002e24:	00c40533          	add	a0,s0,a2
80002e28:	00655613          	srli	a2,a0,0x6
80002e2c:	01a51413          	slli	s0,a0,0x1a
80002e30:	00c46933          	or	s2,s0,a2
80002e34:	00b55413          	srli	s0,a0,0xb
80002e38:	01551613          	slli	a2,a0,0x15
80002e3c:	00866633          	or	a2,a2,s0
80002e40:	00c94933          	xor	s2,s2,a2
80002e44:	01955413          	srli	s0,a0,0x19
80002e48:	00751613          	slli	a2,a0,0x7
80002e4c:	00866633          	or	a2,a2,s0
80002e50:	00d306b3          	add	a3,t1,a3
80002e54:	00c94633          	xor	a2,s2,a2
80002e58:	00f4c433          	xor	s0,s1,a5
80002e5c:	00857433          	and	s0,a0,s0
80002e60:	00f44433          	xor	s0,s0,a5
80002e64:	008686b3          	add	a3,a3,s0
80002e68:	00c68933          	add	s2,a3,a2
80002e6c:	0025d693          	srli	a3,a1,0x2
80002e70:	01e59413          	slli	s0,a1,0x1e
80002e74:	00d466b3          	or	a3,s0,a3
80002e78:	00d5d413          	srli	s0,a1,0xd
80002e7c:	01359613          	slli	a2,a1,0x13
80002e80:	00866633          	or	a2,a2,s0
80002e84:	00c6c633          	xor	a2,a3,a2
80002e88:	0165d693          	srli	a3,a1,0x16
80002e8c:	00a59413          	slli	s0,a1,0xa
80002e90:	00d466b3          	or	a3,s0,a3
80002e94:	00d64633          	xor	a2,a2,a3
80002e98:	01d5fab3          	and	s5,a1,t4
80002e9c:	00eef433          	and	s0,t4,a4
80002ea0:	008ac433          	xor	s0,s5,s0
80002ea4:	00e5f6b3          	and	a3,a1,a4
80002ea8:	00d446b3          	xor	a3,s0,a3
80002eac:	00c68633          	add	a2,a3,a2
80002eb0:	0ec12683          	lw	a3,236(sp)
80002eb4:	00d906b3          	add	a3,s2,a3
80002eb8:	00d60933          	add	s2,a2,a3
80002ebc:	00768433          	add	s0,a3,t2
80002ec0:	00645693          	srli	a3,s0,0x6
80002ec4:	01a41613          	slli	a2,s0,0x1a
80002ec8:	00d663b3          	or	t2,a2,a3
80002ecc:	00b45693          	srli	a3,s0,0xb
80002ed0:	01541613          	slli	a2,s0,0x15
80002ed4:	00d66633          	or	a2,a2,a3
80002ed8:	00c3c3b3          	xor	t2,t2,a2
80002edc:	01945693          	srli	a3,s0,0x19
80002ee0:	00741613          	slli	a2,s0,0x7
80002ee4:	00d66633          	or	a2,a2,a3
80002ee8:	00c3c633          	xor	a2,t2,a2
80002eec:	00f986b3          	add	a3,s3,a5
80002ef0:	009547b3          	xor	a5,a0,s1
80002ef4:	00f477b3          	and	a5,s0,a5
80002ef8:	0097c7b3          	xor	a5,a5,s1
80002efc:	00f686b3          	add	a3,a3,a5
80002f00:	00c683b3          	add	t2,a3,a2
80002f04:	00295693          	srli	a3,s2,0x2
80002f08:	01e91793          	slli	a5,s2,0x1e
80002f0c:	00d7e6b3          	or	a3,a5,a3
80002f10:	00d95793          	srli	a5,s2,0xd
80002f14:	01391613          	slli	a2,s2,0x13
80002f18:	00f66633          	or	a2,a2,a5
80002f1c:	00c6c633          	xor	a2,a3,a2
80002f20:	01695693          	srli	a3,s2,0x16
80002f24:	00a91793          	slli	a5,s2,0xa
80002f28:	00d7e6b3          	or	a3,a5,a3
80002f2c:	00d64633          	xor	a2,a2,a3
80002f30:	01d5c6b3          	xor	a3,a1,t4
80002f34:	00d976b3          	and	a3,s2,a3
80002f38:	0156c6b3          	xor	a3,a3,s5
80002f3c:	0e812783          	lw	a5,232(sp)
80002f40:	00f387b3          	add	a5,t2,a5
80002f44:	00d60633          	add	a2,a2,a3
80002f48:	00f606b3          	add	a3,a2,a5
80002f4c:	00e787b3          	add	a5,a5,a4
80002f50:	0067d613          	srli	a2,a5,0x6
80002f54:	01a79713          	slli	a4,a5,0x1a
80002f58:	00c763b3          	or	t2,a4,a2
80002f5c:	00b7d713          	srli	a4,a5,0xb
80002f60:	01579613          	slli	a2,a5,0x15
80002f64:	00e66633          	or	a2,a2,a4
80002f68:	00c3c3b3          	xor	t2,t2,a2
80002f6c:	0197d713          	srli	a4,a5,0x19
80002f70:	00779613          	slli	a2,a5,0x7
80002f74:	00e66633          	or	a2,a2,a4
80002f78:	00908733          	add	a4,ra,s1
80002f7c:	00c3c633          	xor	a2,t2,a2
80002f80:	00a444b3          	xor	s1,s0,a0
80002f84:	0097f4b3          	and	s1,a5,s1
80002f88:	00a4c4b3          	xor	s1,s1,a0
80002f8c:	00970733          	add	a4,a4,s1
80002f90:	00c703b3          	add	t2,a4,a2
80002f94:	0026d713          	srli	a4,a3,0x2
80002f98:	01e69493          	slli	s1,a3,0x1e
80002f9c:	00e4e733          	or	a4,s1,a4
80002fa0:	00d6d493          	srli	s1,a3,0xd
80002fa4:	01369613          	slli	a2,a3,0x13
80002fa8:	00966633          	or	a2,a2,s1
80002fac:	00c74633          	xor	a2,a4,a2
80002fb0:	0166d713          	srli	a4,a3,0x16
80002fb4:	00a69493          	slli	s1,a3,0xa
80002fb8:	00e4e733          	or	a4,s1,a4
80002fbc:	00e64633          	xor	a2,a2,a4
80002fc0:	0126fab3          	and	s5,a3,s2
80002fc4:	00b97733          	and	a4,s2,a1
80002fc8:	00eac733          	xor	a4,s5,a4
80002fcc:	00b6f4b3          	and	s1,a3,a1
80002fd0:	00974733          	xor	a4,a4,s1
80002fd4:	00c70633          	add	a2,a4,a2
80002fd8:	0e412703          	lw	a4,228(sp)
80002fdc:	00e38733          	add	a4,t2,a4
80002fe0:	00e603b3          	add	t2,a2,a4
80002fe4:	01d70733          	add	a4,a4,t4
80002fe8:	00675613          	srli	a2,a4,0x6
80002fec:	01a71493          	slli	s1,a4,0x1a
80002ff0:	00c4eeb3          	or	t4,s1,a2
80002ff4:	00b75493          	srli	s1,a4,0xb
80002ff8:	01571613          	slli	a2,a4,0x15
80002ffc:	00966633          	or	a2,a2,s1
80003000:	00ceceb3          	xor	t4,t4,a2
80003004:	01975493          	srli	s1,a4,0x19
80003008:	00771613          	slli	a2,a4,0x7
8000300c:	00966633          	or	a2,a2,s1
80003010:	00cec633          	xor	a2,t4,a2
80003014:	00028313          	mv	t1,t0
80003018:	14512223          	sw	t0,324(sp)
8000301c:	00a28533          	add	a0,t0,a0
80003020:	0087c4b3          	xor	s1,a5,s0
80003024:	009774b3          	and	s1,a4,s1
80003028:	0084c4b3          	xor	s1,s1,s0
8000302c:	00950533          	add	a0,a0,s1
80003030:	00c50eb3          	add	t4,a0,a2
80003034:	0023d613          	srli	a2,t2,0x2
80003038:	01e39493          	slli	s1,t2,0x1e
8000303c:	00c4e633          	or	a2,s1,a2
80003040:	00d3d493          	srli	s1,t2,0xd
80003044:	01339513          	slli	a0,t2,0x13
80003048:	00956533          	or	a0,a0,s1
8000304c:	00a64533          	xor	a0,a2,a0
80003050:	0163d613          	srli	a2,t2,0x16
80003054:	00a39493          	slli	s1,t2,0xa
80003058:	00c4e633          	or	a2,s1,a2
8000305c:	00c544b3          	xor	s1,a0,a2
80003060:	0126c633          	xor	a2,a3,s2
80003064:	00c3f633          	and	a2,t2,a2
80003068:	01564633          	xor	a2,a2,s5
8000306c:	0e012503          	lw	a0,224(sp)
80003070:	00ae8533          	add	a0,t4,a0
80003074:	00c48633          	add	a2,s1,a2
80003078:	00a604b3          	add	s1,a2,a0
8000307c:	00b505b3          	add	a1,a0,a1
80003080:	0065d513          	srli	a0,a1,0x6
80003084:	01a59613          	slli	a2,a1,0x1a
80003088:	00a66eb3          	or	t4,a2,a0
8000308c:	00b5d613          	srli	a2,a1,0xb
80003090:	01559513          	slli	a0,a1,0x15
80003094:	00c56533          	or	a0,a0,a2
80003098:	00aeceb3          	xor	t4,t4,a0
8000309c:	0195d613          	srli	a2,a1,0x19
800030a0:	00759513          	slli	a0,a1,0x7
800030a4:	00c56533          	or	a0,a0,a2
800030a8:	008c8633          	add	a2,s9,s0
800030ac:	00aec533          	xor	a0,t4,a0
800030b0:	00f74433          	xor	s0,a4,a5
800030b4:	0085f433          	and	s0,a1,s0
800030b8:	00f44433          	xor	s0,s0,a5
800030bc:	00860633          	add	a2,a2,s0
800030c0:	00a60eb3          	add	t4,a2,a0
800030c4:	0024d613          	srli	a2,s1,0x2
800030c8:	01e49413          	slli	s0,s1,0x1e
800030cc:	00c46633          	or	a2,s0,a2
800030d0:	00d4d413          	srli	s0,s1,0xd
800030d4:	01349513          	slli	a0,s1,0x13
800030d8:	00856533          	or	a0,a0,s0
800030dc:	00a64533          	xor	a0,a2,a0
800030e0:	0164d613          	srli	a2,s1,0x16
800030e4:	00a49413          	slli	s0,s1,0xa
800030e8:	00c46633          	or	a2,s0,a2
800030ec:	00c54533          	xor	a0,a0,a2
800030f0:	0074fab3          	and	s5,s1,t2
800030f4:	00d3f433          	and	s0,t2,a3
800030f8:	008ac433          	xor	s0,s5,s0
800030fc:	00d4f633          	and	a2,s1,a3
80003100:	00c44633          	xor	a2,s0,a2
80003104:	00a60533          	add	a0,a2,a0
80003108:	0dc12603          	lw	a2,220(sp)
8000310c:	00ce8633          	add	a2,t4,a2
80003110:	00c50eb3          	add	t4,a0,a2
80003114:	01260533          	add	a0,a2,s2
80003118:	00655613          	srli	a2,a0,0x6
8000311c:	01a51413          	slli	s0,a0,0x1a
80003120:	00c46933          	or	s2,s0,a2
80003124:	00b55413          	srli	s0,a0,0xb
80003128:	01551613          	slli	a2,a0,0x15
8000312c:	00866633          	or	a2,a2,s0
80003130:	00c94933          	xor	s2,s2,a2
80003134:	01955413          	srli	s0,a0,0x19
80003138:	00751613          	slli	a2,a0,0x7
8000313c:	00866633          	or	a2,a2,s0
80003140:	00c94633          	xor	a2,s2,a2
80003144:	000f8293          	mv	t0,t6
80003148:	11f12e23          	sw	t6,284(sp)
8000314c:	00ff87b3          	add	a5,t6,a5
80003150:	00e5c433          	xor	s0,a1,a4
80003154:	00857433          	and	s0,a0,s0
80003158:	00e44433          	xor	s0,s0,a4
8000315c:	008787b3          	add	a5,a5,s0
80003160:	00c78933          	add	s2,a5,a2
80003164:	002ed793          	srli	a5,t4,0x2
80003168:	01ee9413          	slli	s0,t4,0x1e
8000316c:	00f467b3          	or	a5,s0,a5
80003170:	00ded413          	srli	s0,t4,0xd
80003174:	013e9613          	slli	a2,t4,0x13
80003178:	00866633          	or	a2,a2,s0
8000317c:	00c7c633          	xor	a2,a5,a2
80003180:	016ed793          	srli	a5,t4,0x16
80003184:	00ae9413          	slli	s0,t4,0xa
80003188:	00f467b3          	or	a5,s0,a5
8000318c:	00f64633          	xor	a2,a2,a5
80003190:	0074c7b3          	xor	a5,s1,t2
80003194:	00fef7b3          	and	a5,t4,a5
80003198:	0157c7b3          	xor	a5,a5,s5
8000319c:	0d812403          	lw	s0,216(sp)
800031a0:	00890433          	add	s0,s2,s0
800031a4:	00f60633          	add	a2,a2,a5
800031a8:	00860633          	add	a2,a2,s0
800031ac:	00d407b3          	add	a5,s0,a3
800031b0:	0067d693          	srli	a3,a5,0x6
800031b4:	01a79413          	slli	s0,a5,0x1a
800031b8:	00d46933          	or	s2,s0,a3
800031bc:	00b7d413          	srli	s0,a5,0xb
800031c0:	01579693          	slli	a3,a5,0x15
800031c4:	0086e6b3          	or	a3,a3,s0
800031c8:	00d94933          	xor	s2,s2,a3
800031cc:	0197d413          	srli	s0,a5,0x19
800031d0:	00779693          	slli	a3,a5,0x7
800031d4:	0086e6b3          	or	a3,a3,s0
800031d8:	000b8f93          	mv	t6,s7
800031dc:	00eb8733          	add	a4,s7,a4
800031e0:	00d946b3          	xor	a3,s2,a3
800031e4:	00b54433          	xor	s0,a0,a1
800031e8:	0087f433          	and	s0,a5,s0
800031ec:	00b44433          	xor	s0,s0,a1
800031f0:	00870733          	add	a4,a4,s0
800031f4:	00d70933          	add	s2,a4,a3
800031f8:	00265713          	srli	a4,a2,0x2
800031fc:	01e61413          	slli	s0,a2,0x1e
80003200:	00e46733          	or	a4,s0,a4
80003204:	00d65413          	srli	s0,a2,0xd
80003208:	01361693          	slli	a3,a2,0x13
8000320c:	0086e6b3          	or	a3,a3,s0
80003210:	00d746b3          	xor	a3,a4,a3
80003214:	01665713          	srli	a4,a2,0x16
80003218:	00a61413          	slli	s0,a2,0xa
8000321c:	00e46733          	or	a4,s0,a4
80003220:	00e6c6b3          	xor	a3,a3,a4
80003224:	01d67ab3          	and	s5,a2,t4
80003228:	009ef433          	and	s0,t4,s1
8000322c:	008ac433          	xor	s0,s5,s0
80003230:	00967733          	and	a4,a2,s1
80003234:	00e44733          	xor	a4,s0,a4
80003238:	00d706b3          	add	a3,a4,a3
8000323c:	0d412703          	lw	a4,212(sp)
80003240:	00e90733          	add	a4,s2,a4
80003244:	00e68833          	add	a6,a3,a4
80003248:	00770b33          	add	s6,a4,t2
8000324c:	006b5713          	srli	a4,s6,0x6
80003250:	01ab1413          	slli	s0,s6,0x1a
80003254:	00e46733          	or	a4,s0,a4
80003258:	00bb5413          	srli	s0,s6,0xb
8000325c:	015b1693          	slli	a3,s6,0x15
80003260:	0086e6b3          	or	a3,a3,s0
80003264:	00d746b3          	xor	a3,a4,a3
80003268:	019b5713          	srli	a4,s6,0x19
8000326c:	007b1413          	slli	s0,s6,0x7
80003270:	00e46733          	or	a4,s0,a4
80003274:	00e6c6b3          	xor	a3,a3,a4
80003278:	16812703          	lw	a4,360(sp)
8000327c:	00b705b3          	add	a1,a4,a1
80003280:	00a7c733          	xor	a4,a5,a0
80003284:	00eb7733          	and	a4,s6,a4
80003288:	00a74733          	xor	a4,a4,a0
8000328c:	00e585b3          	add	a1,a1,a4
80003290:	00d585b3          	add	a1,a1,a3
80003294:	00285693          	srli	a3,a6,0x2
80003298:	01e81713          	slli	a4,a6,0x1e
8000329c:	00d766b3          	or	a3,a4,a3
800032a0:	00d85713          	srli	a4,a6,0xd
800032a4:	01381413          	slli	s0,a6,0x13
800032a8:	00e46733          	or	a4,s0,a4
800032ac:	00e6c6b3          	xor	a3,a3,a4
800032b0:	01685713          	srli	a4,a6,0x16
800032b4:	00a81413          	slli	s0,a6,0xa
800032b8:	00e46733          	or	a4,s0,a4
800032bc:	00e6c6b3          	xor	a3,a3,a4
800032c0:	01d64733          	xor	a4,a2,t4
800032c4:	00e87733          	and	a4,a6,a4
800032c8:	01574733          	xor	a4,a4,s5
800032cc:	0d012403          	lw	s0,208(sp)
800032d0:	00858433          	add	s0,a1,s0
800032d4:	00e685b3          	add	a1,a3,a4
800032d8:	00858bb3          	add	s7,a1,s0
800032dc:	009404b3          	add	s1,s0,s1
800032e0:	0064d693          	srli	a3,s1,0x6
800032e4:	01a49713          	slli	a4,s1,0x1a
800032e8:	00d766b3          	or	a3,a4,a3
800032ec:	00b4d713          	srli	a4,s1,0xb
800032f0:	01549413          	slli	s0,s1,0x15
800032f4:	00e46733          	or	a4,s0,a4
800032f8:	00e6c6b3          	xor	a3,a3,a4
800032fc:	0194d713          	srli	a4,s1,0x19
80003300:	00749413          	slli	s0,s1,0x7
80003304:	00e46733          	or	a4,s0,a4
80003308:	00ad8533          	add	a0,s11,a0
8000330c:	00e6c6b3          	xor	a3,a3,a4
80003310:	00fb4733          	xor	a4,s6,a5
80003314:	00e4f733          	and	a4,s1,a4
80003318:	00f74733          	xor	a4,a4,a5
8000331c:	00e50533          	add	a0,a0,a4
80003320:	00d503b3          	add	t2,a0,a3
80003324:	002bd693          	srli	a3,s7,0x2
80003328:	01eb9713          	slli	a4,s7,0x1e
8000332c:	00d766b3          	or	a3,a4,a3
80003330:	00dbd713          	srli	a4,s7,0xd
80003334:	013b9413          	slli	s0,s7,0x13
80003338:	00e46733          	or	a4,s0,a4
8000333c:	00e6c6b3          	xor	a3,a3,a4
80003340:	016bd713          	srli	a4,s7,0x16
80003344:	00ab9413          	slli	s0,s7,0xa
80003348:	00e46733          	or	a4,s0,a4
8000334c:	00e6c6b3          	xor	a3,a3,a4
80003350:	010bf933          	and	s2,s7,a6
80003354:	00c87733          	and	a4,a6,a2
80003358:	00e94733          	xor	a4,s2,a4
8000335c:	00cbf533          	and	a0,s7,a2
80003360:	00a74533          	xor	a0,a4,a0
80003364:	00d50533          	add	a0,a0,a3
80003368:	0cc12583          	lw	a1,204(sp)
8000336c:	00b386b3          	add	a3,t2,a1
80003370:	00d503b3          	add	t2,a0,a3
80003374:	01d68733          	add	a4,a3,t4
80003378:	00675513          	srli	a0,a4,0x6
8000337c:	01a71693          	slli	a3,a4,0x1a
80003380:	00a6e533          	or	a0,a3,a0
80003384:	00b75693          	srli	a3,a4,0xb
80003388:	01571413          	slli	s0,a4,0x15
8000338c:	00d466b3          	or	a3,s0,a3
80003390:	00d54533          	xor	a0,a0,a3
80003394:	01975693          	srli	a3,a4,0x19
80003398:	00771413          	slli	s0,a4,0x7
8000339c:	00d466b3          	or	a3,s0,a3
800033a0:	00d54533          	xor	a0,a0,a3
800033a4:	00fd06b3          	add	a3,s10,a5
800033a8:	0164c7b3          	xor	a5,s1,s6
800033ac:	00f777b3          	and	a5,a4,a5
800033b0:	0167c7b3          	xor	a5,a5,s6
800033b4:	00f686b3          	add	a3,a3,a5
800033b8:	00a68533          	add	a0,a3,a0
800033bc:	0023d693          	srli	a3,t2,0x2
800033c0:	01e39793          	slli	a5,t2,0x1e
800033c4:	00d7e6b3          	or	a3,a5,a3
800033c8:	00d3d793          	srli	a5,t2,0xd
800033cc:	01339413          	slli	s0,t2,0x13
800033d0:	00f467b3          	or	a5,s0,a5
800033d4:	00f6c6b3          	xor	a3,a3,a5
800033d8:	0163d793          	srli	a5,t2,0x16
800033dc:	00a39413          	slli	s0,t2,0xa
800033e0:	00f467b3          	or	a5,s0,a5
800033e4:	00f6c6b3          	xor	a3,a3,a5
800033e8:	010bc7b3          	xor	a5,s7,a6
800033ec:	00f3f7b3          	and	a5,t2,a5
800033f0:	0127c7b3          	xor	a5,a5,s2
800033f4:	0c812583          	lw	a1,200(sp)
800033f8:	00b50533          	add	a0,a0,a1
800033fc:	00f686b3          	add	a3,a3,a5
80003400:	00a68eb3          	add	t4,a3,a0
80003404:	00c50633          	add	a2,a0,a2
80003408:	000c0993          	mv	s3,s8
8000340c:	007c5513          	srli	a0,s8,0x7
80003410:	019c1693          	slli	a3,s8,0x19
80003414:	00a6e933          	or	s2,a3,a0
80003418:	007e5693          	srli	a3,t3,0x7
8000341c:	019e1793          	slli	a5,t3,0x19
80003420:	00d7eab3          	or	s5,a5,a3
80003424:	0078d793          	srli	a5,a7,0x7
80003428:	01989413          	slli	s0,a7,0x19
8000342c:	00f467b3          	or	a5,s0,a5
80003430:	007f5413          	srli	s0,t5,0x7
80003434:	019f1513          	slli	a0,t5,0x19
80003438:	00856533          	or	a0,a0,s0
8000343c:	012c5413          	srli	s0,s8,0x12
80003440:	00ec1693          	slli	a3,s8,0xe
80003444:	0086e6b3          	or	a3,a3,s0
80003448:	012e5413          	srli	s0,t3,0x12
8000344c:	00ee1093          	slli	ra,t3,0xe
80003450:	0080e0b3          	or	ra,ra,s0
80003454:	0128d413          	srli	s0,a7,0x12
80003458:	00e89c93          	slli	s9,a7,0xe
8000345c:	008cecb3          	or	s9,s9,s0
80003460:	012f5413          	srli	s0,t5,0x12
80003464:	00ef1c13          	slli	s8,t5,0xe
80003468:	008c6c33          	or	s8,s8,s0
8000346c:	0126c6b3          	xor	a3,a3,s2
80003470:	0150c433          	xor	s0,ra,s5
80003474:	00fcc7b3          	xor	a5,s9,a5
80003478:	00ac4533          	xor	a0,s8,a0
8000347c:	0039d593          	srli	a1,s3,0x3
80003480:	00b6c5b3          	xor	a1,a3,a1
80003484:	003e5693          	srli	a3,t3,0x3
80003488:	00d446b3          	xor	a3,s0,a3
8000348c:	0038d413          	srli	s0,a7,0x3
80003490:	0087c7b3          	xor	a5,a5,s0
80003494:	003f5413          	srli	s0,t5,0x3
80003498:	00854533          	xor	a0,a0,s0
8000349c:	01c58c33          	add	s8,a1,t3
800034a0:	011688b3          	add	a7,a3,a7
800034a4:	01e787b3          	add	a5,a5,t5
800034a8:	16412583          	lw	a1,356(sp)
800034ac:	00b50533          	add	a0,a0,a1
800034b0:	011dd413          	srli	s0,s11,0x11
800034b4:	00fd9593          	slli	a1,s11,0xf
800034b8:	0085e5b3          	or	a1,a1,s0
800034bc:	013dd413          	srli	s0,s11,0x13
800034c0:	00dd9693          	slli	a3,s11,0xd
800034c4:	0086e6b3          	or	a3,a3,s0
800034c8:	00650533          	add	a0,a0,t1
800034cc:	00d5c5b3          	xor	a1,a1,a3
800034d0:	00add693          	srli	a3,s11,0xa
800034d4:	000d8313          	mv	t1,s11
800034d8:	13b12023          	sw	s11,288(sp)
800034dc:	00d5c5b3          	xor	a1,a1,a3
800034e0:	00b50433          	add	s0,a0,a1
800034e4:	011d5513          	srli	a0,s10,0x11
800034e8:	00fd1593          	slli	a1,s10,0xf
800034ec:	00a5e533          	or	a0,a1,a0
800034f0:	013d5593          	srli	a1,s10,0x13
800034f4:	00dd1693          	slli	a3,s10,0xd
800034f8:	00b6e5b3          	or	a1,a3,a1
800034fc:	15c12683          	lw	a3,348(sp)
80003500:	00d786b3          	add	a3,a5,a3
80003504:	00b54533          	xor	a0,a0,a1
80003508:	00ad5593          	srli	a1,s10,0xa
8000350c:	000d0d93          	mv	s11,s10
80003510:	11a12c23          	sw	s10,280(sp)
80003514:	00b54533          	xor	a0,a0,a1
80003518:	00a687b3          	add	a5,a3,a0
8000351c:	01145513          	srli	a0,s0,0x11
80003520:	00f41593          	slli	a1,s0,0xf
80003524:	00a5e533          	or	a0,a1,a0
80003528:	01345593          	srli	a1,s0,0x13
8000352c:	00d41693          	slli	a3,s0,0xd
80003530:	00b6e5b3          	or	a1,a3,a1
80003534:	005886b3          	add	a3,a7,t0
80003538:	00b54533          	xor	a0,a0,a1
8000353c:	00a45593          	srli	a1,s0,0xa
80003540:	00b54533          	xor	a0,a0,a1
80003544:	00a68e33          	add	t3,a3,a0
80003548:	0117d513          	srli	a0,a5,0x11
8000354c:	00f79593          	slli	a1,a5,0xf
80003550:	00a5e533          	or	a0,a1,a0
80003554:	0137d593          	srli	a1,a5,0x13
80003558:	00d79693          	slli	a3,a5,0xd
8000355c:	00b6e5b3          	or	a1,a3,a1
80003560:	01fc06b3          	add	a3,s8,t6
80003564:	000f8d13          	mv	s10,t6
80003568:	00b54533          	xor	a0,a0,a1
8000356c:	00a7d593          	srli	a1,a5,0xa
80003570:	00078293          	mv	t0,a5
80003574:	16f12223          	sw	a5,356(sp)
80003578:	00b54533          	xor	a0,a0,a1
8000357c:	00a68933          	add	s2,a3,a0
80003580:	00665513          	srli	a0,a2,0x6
80003584:	01a61593          	slli	a1,a2,0x1a
80003588:	00a5e533          	or	a0,a1,a0
8000358c:	00b65593          	srli	a1,a2,0xb
80003590:	01561693          	slli	a3,a2,0x15
80003594:	00b6e5b3          	or	a1,a3,a1
80003598:	00b54533          	xor	a0,a0,a1
8000359c:	01965593          	srli	a1,a2,0x19
800035a0:	00761693          	slli	a3,a2,0x7
800035a4:	00b6e5b3          	or	a1,a3,a1
800035a8:	016406b3          	add	a3,s0,s6
800035ac:	00040f93          	mv	t6,s0
800035b0:	14812623          	sw	s0,332(sp)
800035b4:	00b54533          	xor	a0,a0,a1
800035b8:	009745b3          	xor	a1,a4,s1
800035bc:	00b675b3          	and	a1,a2,a1
800035c0:	0095c5b3          	xor	a1,a1,s1
800035c4:	00b685b3          	add	a1,a3,a1
800035c8:	00a58533          	add	a0,a1,a0
800035cc:	002ed593          	srli	a1,t4,0x2
800035d0:	01ee9693          	slli	a3,t4,0x1e
800035d4:	00b6e5b3          	or	a1,a3,a1
800035d8:	00ded693          	srli	a3,t4,0xd
800035dc:	013e9793          	slli	a5,t4,0x13
800035e0:	00d7e6b3          	or	a3,a5,a3
800035e4:	00d5c5b3          	xor	a1,a1,a3
800035e8:	016ed693          	srli	a3,t4,0x16
800035ec:	00ae9793          	slli	a5,t4,0xa
800035f0:	00d7e6b3          	or	a3,a5,a3
800035f4:	00d5c5b3          	xor	a1,a1,a3
800035f8:	007ef433          	and	s0,t4,t2
800035fc:	0173f6b3          	and	a3,t2,s7
80003600:	00d446b3          	xor	a3,s0,a3
80003604:	017ef7b3          	and	a5,t4,s7
80003608:	00f6c6b3          	xor	a3,a3,a5
8000360c:	00b685b3          	add	a1,a3,a1
80003610:	0c412683          	lw	a3,196(sp)
80003614:	00d50533          	add	a0,a0,a3
80003618:	00a58c33          	add	s8,a1,a0
8000361c:	010508b3          	add	a7,a0,a6
80003620:	0068d513          	srli	a0,a7,0x6
80003624:	01a89593          	slli	a1,a7,0x1a
80003628:	00a5e533          	or	a0,a1,a0
8000362c:	00b8d593          	srli	a1,a7,0xb
80003630:	01589793          	slli	a5,a7,0x15
80003634:	00b7e5b3          	or	a1,a5,a1
80003638:	00b54533          	xor	a0,a0,a1
8000363c:	0198d593          	srli	a1,a7,0x19
80003640:	00789793          	slli	a5,a7,0x7
80003644:	00b7e5b3          	or	a1,a5,a1
80003648:	00b54533          	xor	a0,a0,a1
8000364c:	009285b3          	add	a1,t0,s1
80003650:	00e647b3          	xor	a5,a2,a4
80003654:	00f8f7b3          	and	a5,a7,a5
80003658:	00e7c7b3          	xor	a5,a5,a4
8000365c:	00f585b3          	add	a1,a1,a5
80003660:	00a58533          	add	a0,a1,a0
80003664:	002c5593          	srli	a1,s8,0x2
80003668:	01ec1793          	slli	a5,s8,0x1e
8000366c:	00b7e5b3          	or	a1,a5,a1
80003670:	00dc5793          	srli	a5,s8,0xd
80003674:	013c1493          	slli	s1,s8,0x13
80003678:	00f4e7b3          	or	a5,s1,a5
8000367c:	00f5c5b3          	xor	a1,a1,a5
80003680:	016c5793          	srli	a5,s8,0x16
80003684:	00ac1493          	slli	s1,s8,0xa
80003688:	00f4e7b3          	or	a5,s1,a5
8000368c:	00f5c5b3          	xor	a1,a1,a5
80003690:	007ec7b3          	xor	a5,t4,t2
80003694:	00fc77b3          	and	a5,s8,a5
80003698:	0087c7b3          	xor	a5,a5,s0
8000369c:	0c012483          	lw	s1,192(sp)
800036a0:	00950533          	add	a0,a0,s1
800036a4:	00f585b3          	add	a1,a1,a5
800036a8:	00a58cb3          	add	s9,a1,a0
800036ac:	01750f33          	add	t5,a0,s7
800036b0:	006f5513          	srli	a0,t5,0x6
800036b4:	01af1593          	slli	a1,t5,0x1a
800036b8:	00a5e533          	or	a0,a1,a0
800036bc:	00bf5593          	srli	a1,t5,0xb
800036c0:	015f1793          	slli	a5,t5,0x15
800036c4:	00b7e5b3          	or	a1,a5,a1
800036c8:	00b54533          	xor	a0,a0,a1
800036cc:	019f5593          	srli	a1,t5,0x19
800036d0:	007f1793          	slli	a5,t5,0x7
800036d4:	00b7e5b3          	or	a1,a5,a1
800036d8:	00ee0733          	add	a4,t3,a4
800036dc:	00b54533          	xor	a0,a0,a1
800036e0:	00c8c5b3          	xor	a1,a7,a2
800036e4:	00bf75b3          	and	a1,t5,a1
800036e8:	00c5c5b3          	xor	a1,a1,a2
800036ec:	00b705b3          	add	a1,a4,a1
800036f0:	00a58533          	add	a0,a1,a0
800036f4:	002cd593          	srli	a1,s9,0x2
800036f8:	01ec9713          	slli	a4,s9,0x1e
800036fc:	00b765b3          	or	a1,a4,a1
80003700:	00dcd713          	srli	a4,s9,0xd
80003704:	013c9793          	slli	a5,s9,0x13
80003708:	00e7e733          	or	a4,a5,a4
8000370c:	00e5c5b3          	xor	a1,a1,a4
80003710:	016cd713          	srli	a4,s9,0x16
80003714:	00ac9793          	slli	a5,s9,0xa
80003718:	00e7e733          	or	a4,a5,a4
8000371c:	00e5c5b3          	xor	a1,a1,a4
80003720:	018cf7b3          	and	a5,s9,s8
80003724:	01dc7733          	and	a4,s8,t4
80003728:	00e7c733          	xor	a4,a5,a4
8000372c:	01dcf4b3          	and	s1,s9,t4
80003730:	00974733          	xor	a4,a4,s1
80003734:	00b705b3          	add	a1,a4,a1
80003738:	0bc12703          	lw	a4,188(sp)
8000373c:	00e50533          	add	a0,a0,a4
80003740:	00a58bb3          	add	s7,a1,a0
80003744:	00750733          	add	a4,a0,t2
80003748:	00675513          	srli	a0,a4,0x6
8000374c:	01a71493          	slli	s1,a4,0x1a
80003750:	00a4e533          	or	a0,s1,a0
80003754:	00b75493          	srli	s1,a4,0xb
80003758:	01571593          	slli	a1,a4,0x15
8000375c:	0095e5b3          	or	a1,a1,s1
80003760:	00b54533          	xor	a0,a0,a1
80003764:	01975593          	srli	a1,a4,0x19
80003768:	00771493          	slli	s1,a4,0x7
8000376c:	00b4e5b3          	or	a1,s1,a1
80003770:	00b54533          	xor	a0,a0,a1
80003774:	00c905b3          	add	a1,s2,a2
80003778:	011f4633          	xor	a2,t5,a7
8000377c:	00c77633          	and	a2,a4,a2
80003780:	01164633          	xor	a2,a2,a7
80003784:	00c585b3          	add	a1,a1,a2
80003788:	00a58533          	add	a0,a1,a0
8000378c:	002bd593          	srli	a1,s7,0x2
80003790:	01eb9613          	slli	a2,s7,0x1e
80003794:	00b665b3          	or	a1,a2,a1
80003798:	00dbd613          	srli	a2,s7,0xd
8000379c:	013b9493          	slli	s1,s7,0x13
800037a0:	00c4e633          	or	a2,s1,a2
800037a4:	00c5c5b3          	xor	a1,a1,a2
800037a8:	016bd613          	srli	a2,s7,0x16
800037ac:	00ab9493          	slli	s1,s7,0xa
800037b0:	00c4e633          	or	a2,s1,a2
800037b4:	00c5c5b3          	xor	a1,a1,a2
800037b8:	018cc633          	xor	a2,s9,s8
800037bc:	00cbf633          	and	a2,s7,a2
800037c0:	00f64633          	xor	a2,a2,a5
800037c4:	0b812783          	lw	a5,184(sp)
800037c8:	00f50533          	add	a0,a0,a5
800037cc:	00c585b3          	add	a1,a1,a2
800037d0:	00a580b3          	add	ra,a1,a0
800037d4:	01d502b3          	add	t0,a0,t4
800037d8:	15412a83          	lw	s5,340(sp)
800037dc:	007ad513          	srli	a0,s5,0x7
800037e0:	019a9593          	slli	a1,s5,0x19
800037e4:	00a5e833          	or	a6,a1,a0
800037e8:	15012603          	lw	a2,336(sp)
800037ec:	00765593          	srli	a1,a2,0x7
800037f0:	01961793          	slli	a5,a2,0x19
800037f4:	00b7e3b3          	or	t2,a5,a1
800037f8:	16012483          	lw	s1,352(sp)
800037fc:	0074d793          	srli	a5,s1,0x7
80003800:	01949513          	slli	a0,s1,0x19
80003804:	00f56eb3          	or	t4,a0,a5
80003808:	007a5793          	srli	a5,s4,0x7
8000380c:	019a1593          	slli	a1,s4,0x19
80003810:	00f5eb33          	or	s6,a1,a5
80003814:	012ad793          	srli	a5,s5,0x12
80003818:	00ea9513          	slli	a0,s5,0xe
8000381c:	00f56533          	or	a0,a0,a5
80003820:	01265793          	srli	a5,a2,0x12
80003824:	00e61593          	slli	a1,a2,0xe
80003828:	00060693          	mv	a3,a2
8000382c:	00f5e5b3          	or	a1,a1,a5
80003830:	0124d793          	srli	a5,s1,0x12
80003834:	00e49413          	slli	s0,s1,0xe
80003838:	00048613          	mv	a2,s1
8000383c:	00f467b3          	or	a5,s0,a5
80003840:	012a5413          	srli	s0,s4,0x12
80003844:	00ea1493          	slli	s1,s4,0xe
80003848:	0084e433          	or	s0,s1,s0
8000384c:	01054533          	xor	a0,a0,a6
80003850:	0075c5b3          	xor	a1,a1,t2
80003854:	01d7c7b3          	xor	a5,a5,t4
80003858:	016444b3          	xor	s1,s0,s6
8000385c:	003ad413          	srli	s0,s5,0x3
80003860:	00854533          	xor	a0,a0,s0
80003864:	0036d413          	srli	s0,a3,0x3
80003868:	0085c5b3          	xor	a1,a1,s0
8000386c:	00365413          	srli	s0,a2,0x3
80003870:	0087c7b3          	xor	a5,a5,s0
80003874:	003a5413          	srli	s0,s4,0x3
80003878:	0084c4b3          	xor	s1,s1,s0
8000387c:	00d50eb3          	add	t4,a0,a3
80003880:	00c58833          	add	a6,a1,a2
80003884:	014787b3          	add	a5,a5,s4
80003888:	013484b3          	add	s1,s1,s3
8000388c:	011e5413          	srli	s0,t3,0x11
80003890:	00fe1513          	slli	a0,t3,0xf
80003894:	00856533          	or	a0,a0,s0
80003898:	013e5413          	srli	s0,t3,0x13
8000389c:	00de1593          	slli	a1,t3,0xd
800038a0:	0085e5b3          	or	a1,a1,s0
800038a4:	16812603          	lw	a2,360(sp)
800038a8:	00c484b3          	add	s1,s1,a2
800038ac:	00b54533          	xor	a0,a0,a1
800038b0:	00ae5593          	srli	a1,t3,0xa
800038b4:	11c12a23          	sw	t3,276(sp)
800038b8:	00b54533          	xor	a0,a0,a1
800038bc:	00a48ab3          	add	s5,s1,a0
800038c0:	01195513          	srli	a0,s2,0x11
800038c4:	00f91593          	slli	a1,s2,0xf
800038c8:	00a5e533          	or	a0,a1,a0
800038cc:	01395593          	srli	a1,s2,0x13
800038d0:	00d91493          	slli	s1,s2,0xd
800038d4:	00b4e5b3          	or	a1,s1,a1
800038d8:	006787b3          	add	a5,a5,t1
800038dc:	00b54533          	xor	a0,a0,a1
800038e0:	00a95593          	srli	a1,s2,0xa
800038e4:	00b54533          	xor	a0,a0,a1
800038e8:	00a786b3          	add	a3,a5,a0
800038ec:	011ad513          	srli	a0,s5,0x11
800038f0:	00fa9593          	slli	a1,s5,0xf
800038f4:	00a5e533          	or	a0,a1,a0
800038f8:	013ad593          	srli	a1,s5,0x13
800038fc:	00da9793          	slli	a5,s5,0xd
80003900:	00b7e5b3          	or	a1,a5,a1
80003904:	01b807b3          	add	a5,a6,s11
80003908:	00b54533          	xor	a0,a0,a1
8000390c:	00aad593          	srli	a1,s5,0xa
80003910:	00b54533          	xor	a0,a0,a1
80003914:	00a78333          	add	t1,a5,a0
80003918:	0116d513          	srli	a0,a3,0x11
8000391c:	00f69593          	slli	a1,a3,0xf
80003920:	00a5e533          	or	a0,a1,a0
80003924:	0136d593          	srli	a1,a3,0x13
80003928:	00d69793          	slli	a5,a3,0xd
8000392c:	00b7e5b3          	or	a1,a5,a1
80003930:	01fe87b3          	add	a5,t4,t6
80003934:	00b54533          	xor	a0,a0,a1
80003938:	00a6d593          	srli	a1,a3,0xa
8000393c:	00068413          	mv	s0,a3
80003940:	16d12023          	sw	a3,352(sp)
80003944:	00b54533          	xor	a0,a0,a1
80003948:	00a78b33          	add	s6,a5,a0
8000394c:	0062d513          	srli	a0,t0,0x6
80003950:	01a29593          	slli	a1,t0,0x1a
80003954:	00a5e533          	or	a0,a1,a0
80003958:	00b2d593          	srli	a1,t0,0xb
8000395c:	01529793          	slli	a5,t0,0x15
80003960:	00b7e5b3          	or	a1,a5,a1
80003964:	00b54533          	xor	a0,a0,a1
80003968:	0192d593          	srli	a1,t0,0x19
8000396c:	00729793          	slli	a5,t0,0x7
80003970:	00b7e5b3          	or	a1,a5,a1
80003974:	011a86b3          	add	a3,s5,a7
80003978:	15512423          	sw	s5,328(sp)
8000397c:	00b54533          	xor	a0,a0,a1
80003980:	01e745b3          	xor	a1,a4,t5
80003984:	00b2f5b3          	and	a1,t0,a1
80003988:	01e5c5b3          	xor	a1,a1,t5
8000398c:	00b685b3          	add	a1,a3,a1
80003990:	00a58533          	add	a0,a1,a0
80003994:	0020d593          	srli	a1,ra,0x2
80003998:	01e09693          	slli	a3,ra,0x1e
8000399c:	00b6e5b3          	or	a1,a3,a1
800039a0:	00d0d693          	srli	a3,ra,0xd
800039a4:	01309793          	slli	a5,ra,0x13
800039a8:	00d7e6b3          	or	a3,a5,a3
800039ac:	00d5c5b3          	xor	a1,a1,a3
800039b0:	0160d693          	srli	a3,ra,0x16
800039b4:	00a09793          	slli	a5,ra,0xa
800039b8:	00d7e6b3          	or	a3,a5,a3
800039bc:	00d5c5b3          	xor	a1,a1,a3
800039c0:	0170f6b3          	and	a3,ra,s7
800039c4:	019bf7b3          	and	a5,s7,s9
800039c8:	00f6c7b3          	xor	a5,a3,a5
800039cc:	0190f4b3          	and	s1,ra,s9
800039d0:	0097c7b3          	xor	a5,a5,s1
800039d4:	00b785b3          	add	a1,a5,a1
800039d8:	0b412783          	lw	a5,180(sp)
800039dc:	00f50533          	add	a0,a0,a5
800039e0:	00a58fb3          	add	t6,a1,a0
800039e4:	018509b3          	add	s3,a0,s8
800039e8:	0069d513          	srli	a0,s3,0x6
800039ec:	01a99593          	slli	a1,s3,0x1a
800039f0:	00a5e533          	or	a0,a1,a0
800039f4:	00b9d593          	srli	a1,s3,0xb
800039f8:	01599493          	slli	s1,s3,0x15
800039fc:	00b4e5b3          	or	a1,s1,a1
80003a00:	00b54533          	xor	a0,a0,a1
80003a04:	0199d593          	srli	a1,s3,0x19
80003a08:	00799493          	slli	s1,s3,0x7
80003a0c:	00b4e5b3          	or	a1,s1,a1
80003a10:	00b54533          	xor	a0,a0,a1
80003a14:	01e405b3          	add	a1,s0,t5
80003a18:	00e2c4b3          	xor	s1,t0,a4
80003a1c:	0099f4b3          	and	s1,s3,s1
80003a20:	00e4c4b3          	xor	s1,s1,a4
80003a24:	009585b3          	add	a1,a1,s1
80003a28:	00a58533          	add	a0,a1,a0
80003a2c:	002fd593          	srli	a1,t6,0x2
80003a30:	01ef9493          	slli	s1,t6,0x1e
80003a34:	00b4e5b3          	or	a1,s1,a1
80003a38:	00dfd493          	srli	s1,t6,0xd
80003a3c:	013f9413          	slli	s0,t6,0x13
80003a40:	009464b3          	or	s1,s0,s1
80003a44:	0095c5b3          	xor	a1,a1,s1
80003a48:	016fd493          	srli	s1,t6,0x16
80003a4c:	00af9413          	slli	s0,t6,0xa
80003a50:	009464b3          	or	s1,s0,s1
80003a54:	0095c5b3          	xor	a1,a1,s1
80003a58:	0170c4b3          	xor	s1,ra,s7
80003a5c:	009ff4b3          	and	s1,t6,s1
80003a60:	00d4c6b3          	xor	a3,s1,a3
80003a64:	0b012483          	lw	s1,176(sp)
80003a68:	00950533          	add	a0,a0,s1
80003a6c:	00d585b3          	add	a1,a1,a3
80003a70:	00a58a33          	add	s4,a1,a0
80003a74:	019503b3          	add	t2,a0,s9
80003a78:	0063d513          	srli	a0,t2,0x6
80003a7c:	01a39593          	slli	a1,t2,0x1a
80003a80:	00a5e533          	or	a0,a1,a0
80003a84:	00b3d593          	srli	a1,t2,0xb
80003a88:	01539493          	slli	s1,t2,0x15
80003a8c:	00b4e5b3          	or	a1,s1,a1
80003a90:	00b54533          	xor	a0,a0,a1
80003a94:	0193d593          	srli	a1,t2,0x19
80003a98:	00739493          	slli	s1,t2,0x7
80003a9c:	00b4e5b3          	or	a1,s1,a1
80003aa0:	00e30733          	add	a4,t1,a4
80003aa4:	00b54533          	xor	a0,a0,a1
80003aa8:	0059c5b3          	xor	a1,s3,t0
80003aac:	00b3f5b3          	and	a1,t2,a1
80003ab0:	0055c5b3          	xor	a1,a1,t0
80003ab4:	00b705b3          	add	a1,a4,a1
80003ab8:	00a58533          	add	a0,a1,a0
80003abc:	002a5593          	srli	a1,s4,0x2
80003ac0:	01ea1713          	slli	a4,s4,0x1e
80003ac4:	00b765b3          	or	a1,a4,a1
80003ac8:	00da5713          	srli	a4,s4,0xd
80003acc:	013a1493          	slli	s1,s4,0x13
80003ad0:	00e4e733          	or	a4,s1,a4
80003ad4:	00e5c5b3          	xor	a1,a1,a4
80003ad8:	016a5713          	srli	a4,s4,0x16
80003adc:	00aa1493          	slli	s1,s4,0xa
80003ae0:	00e4e733          	or	a4,s1,a4
80003ae4:	00e5c5b3          	xor	a1,a1,a4
80003ae8:	01fa74b3          	and	s1,s4,t6
80003aec:	001ff733          	and	a4,t6,ra
80003af0:	00e4c733          	xor	a4,s1,a4
80003af4:	001a7433          	and	s0,s4,ra
80003af8:	00874733          	xor	a4,a4,s0
80003afc:	00b705b3          	add	a1,a4,a1
80003b00:	0ac12703          	lw	a4,172(sp)
80003b04:	00e50533          	add	a0,a0,a4
80003b08:	00a58c33          	add	s8,a1,a0
80003b0c:	017508b3          	add	a7,a0,s7
80003b10:	0068d513          	srli	a0,a7,0x6
80003b14:	01a89593          	slli	a1,a7,0x1a
80003b18:	00a5e533          	or	a0,a1,a0
80003b1c:	00b8d593          	srli	a1,a7,0xb
80003b20:	01589413          	slli	s0,a7,0x15
80003b24:	00b465b3          	or	a1,s0,a1
80003b28:	00b54533          	xor	a0,a0,a1
80003b2c:	0198d593          	srli	a1,a7,0x19
80003b30:	00789413          	slli	s0,a7,0x7
80003b34:	00b465b3          	or	a1,s0,a1
80003b38:	00b54533          	xor	a0,a0,a1
80003b3c:	005b05b3          	add	a1,s6,t0
80003b40:	0133c633          	xor	a2,t2,s3
80003b44:	00c8f633          	and	a2,a7,a2
80003b48:	01364633          	xor	a2,a2,s3
80003b4c:	00c585b3          	add	a1,a1,a2
80003b50:	00a58533          	add	a0,a1,a0
80003b54:	002c5593          	srli	a1,s8,0x2
80003b58:	01ec1613          	slli	a2,s8,0x1e
80003b5c:	00b665b3          	or	a1,a2,a1
80003b60:	00dc5613          	srli	a2,s8,0xd
80003b64:	013c1413          	slli	s0,s8,0x13
80003b68:	00c46633          	or	a2,s0,a2
80003b6c:	00c5c5b3          	xor	a1,a1,a2
80003b70:	016c5613          	srli	a2,s8,0x16
80003b74:	00ac1413          	slli	s0,s8,0xa
80003b78:	00c46633          	or	a2,s0,a2
80003b7c:	00c5c5b3          	xor	a1,a1,a2
80003b80:	01fa4633          	xor	a2,s4,t6
80003b84:	00cc7633          	and	a2,s8,a2
80003b88:	00964633          	xor	a2,a2,s1
80003b8c:	0a812483          	lw	s1,168(sp)
80003b90:	00950533          	add	a0,a0,s1
80003b94:	00c585b3          	add	a1,a1,a2
80003b98:	00a58cb3          	add	s9,a1,a0
80003b9c:	00150bb3          	add	s7,a0,ra
80003ba0:	000d0693          	mv	a3,s10
80003ba4:	007d5513          	srli	a0,s10,0x7
80003ba8:	019d1493          	slli	s1,s10,0x19
80003bac:	00a4e2b3          	or	t0,s1,a0
80003bb0:	11c12703          	lw	a4,284(sp)
80003bb4:	00775493          	srli	s1,a4,0x7
80003bb8:	01971413          	slli	s0,a4,0x19
80003bbc:	00946eb3          	or	t4,s0,s1
80003bc0:	15c12783          	lw	a5,348(sp)
80003bc4:	0077d413          	srli	s0,a5,0x7
80003bc8:	01979513          	slli	a0,a5,0x19
80003bcc:	00856f33          	or	t5,a0,s0
80003bd0:	14412583          	lw	a1,324(sp)
80003bd4:	0075d413          	srli	s0,a1,0x7
80003bd8:	01959493          	slli	s1,a1,0x19
80003bdc:	0084e833          	or	a6,s1,s0
80003be0:	012d5413          	srli	s0,s10,0x12
80003be4:	00ed1513          	slli	a0,s10,0xe
80003be8:	11a12823          	sw	s10,272(sp)
80003bec:	008560b3          	or	ra,a0,s0
80003bf0:	01275413          	srli	s0,a4,0x12
80003bf4:	00e71493          	slli	s1,a4,0xe
80003bf8:	0084e433          	or	s0,s1,s0
80003bfc:	0127d493          	srli	s1,a5,0x12
80003c00:	00e79613          	slli	a2,a5,0xe
80003c04:	00078d13          	mv	s10,a5
80003c08:	00966633          	or	a2,a2,s1
80003c0c:	0125d493          	srli	s1,a1,0x12
80003c10:	00e59513          	slli	a0,a1,0xe
80003c14:	00058793          	mv	a5,a1
80003c18:	00956533          	or	a0,a0,s1
80003c1c:	0050c4b3          	xor	s1,ra,t0
80003c20:	01d44433          	xor	s0,s0,t4
80003c24:	01e64633          	xor	a2,a2,t5
80003c28:	01054533          	xor	a0,a0,a6
80003c2c:	0036d593          	srli	a1,a3,0x3
80003c30:	00b4c5b3          	xor	a1,s1,a1
80003c34:	00375493          	srli	s1,a4,0x3
80003c38:	009444b3          	xor	s1,s0,s1
80003c3c:	003d5413          	srli	s0,s10,0x3
80003c40:	00864633          	xor	a2,a2,s0
80003c44:	0037d413          	srli	s0,a5,0x3
80003c48:	00854533          	xor	a0,a0,s0
80003c4c:	00e582b3          	add	t0,a1,a4
80003c50:	01a48eb3          	add	t4,s1,s10
80003c54:	00f60633          	add	a2,a2,a5
80003c58:	15412583          	lw	a1,340(sp)
80003c5c:	00b50533          	add	a0,a0,a1
80003c60:	14612823          	sw	t1,336(sp)
80003c64:	01135413          	srli	s0,t1,0x11
80003c68:	00f31593          	slli	a1,t1,0xf
80003c6c:	0085e5b3          	or	a1,a1,s0
80003c70:	01335413          	srli	s0,t1,0x13
80003c74:	00d31493          	slli	s1,t1,0xd
80003c78:	0084e4b3          	or	s1,s1,s0
80003c7c:	16412683          	lw	a3,356(sp)
80003c80:	00d50533          	add	a0,a0,a3
80003c84:	0095c5b3          	xor	a1,a1,s1
80003c88:	00a35493          	srli	s1,t1,0xa
80003c8c:	0095c5b3          	xor	a1,a1,s1
80003c90:	00b50db3          	add	s11,a0,a1
80003c94:	011b5513          	srli	a0,s6,0x11
80003c98:	00fb1593          	slli	a1,s6,0xf
80003c9c:	00a5e533          	or	a0,a1,a0
80003ca0:	013b5593          	srli	a1,s6,0x13
80003ca4:	00db1493          	slli	s1,s6,0xd
80003ca8:	00b4e5b3          	or	a1,s1,a1
80003cac:	01c60633          	add	a2,a2,t3
80003cb0:	00b54533          	xor	a0,a0,a1
80003cb4:	00ab5593          	srli	a1,s6,0xa
80003cb8:	00b54533          	xor	a0,a0,a1
80003cbc:	00a60733          	add	a4,a2,a0
80003cc0:	011dd513          	srli	a0,s11,0x11
80003cc4:	00fd9593          	slli	a1,s11,0xf
80003cc8:	00a5e533          	or	a0,a1,a0
80003ccc:	013dd593          	srli	a1,s11,0x13
80003cd0:	00dd9613          	slli	a2,s11,0xd
80003cd4:	00b665b3          	or	a1,a2,a1
80003cd8:	012e8633          	add	a2,t4,s2
80003cdc:	00b54533          	xor	a0,a0,a1
80003ce0:	00add593          	srli	a1,s11,0xa
80003ce4:	00b54533          	xor	a0,a0,a1
80003ce8:	00a600b3          	add	ra,a2,a0
80003cec:	01175513          	srli	a0,a4,0x11
80003cf0:	00f71593          	slli	a1,a4,0xf
80003cf4:	00a5e533          	or	a0,a1,a0
80003cf8:	01375593          	srli	a1,a4,0x13
80003cfc:	00d71613          	slli	a2,a4,0xd
80003d00:	00b665b3          	or	a1,a2,a1
80003d04:	01528633          	add	a2,t0,s5
80003d08:	00b54533          	xor	a0,a0,a1
80003d0c:	00a75593          	srli	a1,a4,0xa
80003d10:	00b54533          	xor	a0,a0,a1
80003d14:	00a60f33          	add	t5,a2,a0
80003d18:	006bd513          	srli	a0,s7,0x6
80003d1c:	01ab9593          	slli	a1,s7,0x1a
80003d20:	00a5e533          	or	a0,a1,a0
80003d24:	00bbd593          	srli	a1,s7,0xb
80003d28:	015b9613          	slli	a2,s7,0x15
80003d2c:	00b665b3          	or	a1,a2,a1
80003d30:	00b54533          	xor	a0,a0,a1
80003d34:	019bd593          	srli	a1,s7,0x19
80003d38:	007b9613          	slli	a2,s7,0x7
80003d3c:	00b665b3          	or	a1,a2,a1
80003d40:	013d8633          	add	a2,s11,s3
80003d44:	15b12e23          	sw	s11,348(sp)
80003d48:	00b54533          	xor	a0,a0,a1
80003d4c:	0078c5b3          	xor	a1,a7,t2
80003d50:	00bbf5b3          	and	a1,s7,a1
80003d54:	0075c5b3          	xor	a1,a1,t2
80003d58:	00b605b3          	add	a1,a2,a1
80003d5c:	00a58533          	add	a0,a1,a0
80003d60:	002cd593          	srli	a1,s9,0x2
80003d64:	01ec9613          	slli	a2,s9,0x1e
80003d68:	00b665b3          	or	a1,a2,a1
80003d6c:	00dcd613          	srli	a2,s9,0xd
80003d70:	013c9793          	slli	a5,s9,0x13
80003d74:	00c7e633          	or	a2,a5,a2
80003d78:	00c5c5b3          	xor	a1,a1,a2
80003d7c:	016cd613          	srli	a2,s9,0x16
80003d80:	00ac9793          	slli	a5,s9,0xa
80003d84:	00c7e633          	or	a2,a5,a2
80003d88:	00c5c5b3          	xor	a1,a1,a2
80003d8c:	018cf633          	and	a2,s9,s8
80003d90:	014c77b3          	and	a5,s8,s4
80003d94:	00f647b3          	xor	a5,a2,a5
80003d98:	014cf4b3          	and	s1,s9,s4
80003d9c:	0097c7b3          	xor	a5,a5,s1
80003da0:	00b785b3          	add	a1,a5,a1
80003da4:	0a412783          	lw	a5,164(sp)
80003da8:	00f50533          	add	a0,a0,a5
80003dac:	00a589b3          	add	s3,a1,a0
80003db0:	01f502b3          	add	t0,a0,t6
80003db4:	0062d593          	srli	a1,t0,0x6
80003db8:	01a29793          	slli	a5,t0,0x1a
80003dbc:	00b7e5b3          	or	a1,a5,a1
80003dc0:	00b2d793          	srli	a5,t0,0xb
80003dc4:	01529413          	slli	s0,t0,0x15
80003dc8:	00f467b3          	or	a5,s0,a5
80003dcc:	00f5c5b3          	xor	a1,a1,a5
80003dd0:	0192d793          	srli	a5,t0,0x19
80003dd4:	00729413          	slli	s0,t0,0x7
80003dd8:	00f467b3          	or	a5,s0,a5
80003ddc:	00f5c5b3          	xor	a1,a1,a5
80003de0:	007706b3          	add	a3,a4,t2
80003de4:	00070e93          	mv	t4,a4
80003de8:	14e12223          	sw	a4,324(sp)
80003dec:	011bc7b3          	xor	a5,s7,a7
80003df0:	00f2f7b3          	and	a5,t0,a5
80003df4:	0117c7b3          	xor	a5,a5,a7
80003df8:	00f686b3          	add	a3,a3,a5
80003dfc:	00b685b3          	add	a1,a3,a1
80003e00:	0029d693          	srli	a3,s3,0x2
80003e04:	01e99793          	slli	a5,s3,0x1e
80003e08:	00d7e6b3          	or	a3,a5,a3
80003e0c:	00d9d793          	srli	a5,s3,0xd
80003e10:	01399413          	slli	s0,s3,0x13
80003e14:	00f467b3          	or	a5,s0,a5
80003e18:	00f6c6b3          	xor	a3,a3,a5
80003e1c:	0169d793          	srli	a5,s3,0x16
80003e20:	00a99413          	slli	s0,s3,0xa
80003e24:	00f467b3          	or	a5,s0,a5
80003e28:	00f6c6b3          	xor	a3,a3,a5
80003e2c:	018cc7b3          	xor	a5,s9,s8
80003e30:	00f9f7b3          	and	a5,s3,a5
80003e34:	00c7c633          	xor	a2,a5,a2
80003e38:	0a012783          	lw	a5,160(sp)
80003e3c:	00f585b3          	add	a1,a1,a5
80003e40:	00c68633          	add	a2,a3,a2
80003e44:	00b60fb3          	add	t6,a2,a1
80003e48:	01458ab3          	add	s5,a1,s4
80003e4c:	006ad593          	srli	a1,s5,0x6
80003e50:	01aa9613          	slli	a2,s5,0x1a
80003e54:	00b665b3          	or	a1,a2,a1
80003e58:	00bad613          	srli	a2,s5,0xb
80003e5c:	015a9793          	slli	a5,s5,0x15
80003e60:	00c7e633          	or	a2,a5,a2
80003e64:	00c5c5b3          	xor	a1,a1,a2
80003e68:	019ad613          	srli	a2,s5,0x19
80003e6c:	007a9793          	slli	a5,s5,0x7
80003e70:	00c7e633          	or	a2,a5,a2
80003e74:	01108733          	add	a4,ra,a7
80003e78:	00c5c5b3          	xor	a1,a1,a2
80003e7c:	0172c633          	xor	a2,t0,s7
80003e80:	00caf633          	and	a2,s5,a2
80003e84:	01764633          	xor	a2,a2,s7
80003e88:	00c70633          	add	a2,a4,a2
80003e8c:	00b605b3          	add	a1,a2,a1
80003e90:	002fd613          	srli	a2,t6,0x2
80003e94:	01ef9713          	slli	a4,t6,0x1e
80003e98:	00c76633          	or	a2,a4,a2
80003e9c:	00dfd713          	srli	a4,t6,0xd
80003ea0:	013f9793          	slli	a5,t6,0x13
80003ea4:	00e7e733          	or	a4,a5,a4
80003ea8:	00e64633          	xor	a2,a2,a4
80003eac:	016fd713          	srli	a4,t6,0x16
80003eb0:	00af9793          	slli	a5,t6,0xa
80003eb4:	00e7e733          	or	a4,a5,a4
80003eb8:	00e64633          	xor	a2,a2,a4
80003ebc:	013ff7b3          	and	a5,t6,s3
80003ec0:	0199f733          	and	a4,s3,s9
80003ec4:	00e7c733          	xor	a4,a5,a4
80003ec8:	019ff433          	and	s0,t6,s9
80003ecc:	00874733          	xor	a4,a4,s0
80003ed0:	00c70633          	add	a2,a4,a2
80003ed4:	09c12703          	lw	a4,156(sp)
80003ed8:	00e585b3          	add	a1,a1,a4
80003edc:	00b60333          	add	t1,a2,a1
80003ee0:	018583b3          	add	t2,a1,s8
80003ee4:	0063d593          	srli	a1,t2,0x6
80003ee8:	01a39613          	slli	a2,t2,0x1a
80003eec:	00b665b3          	or	a1,a2,a1
80003ef0:	00b3d613          	srli	a2,t2,0xb
80003ef4:	01539413          	slli	s0,t2,0x15
80003ef8:	00c46633          	or	a2,s0,a2
80003efc:	00c5c5b3          	xor	a1,a1,a2
80003f00:	0193d613          	srli	a2,t2,0x19
80003f04:	00739413          	slli	s0,t2,0x7
80003f08:	00c46633          	or	a2,s0,a2
80003f0c:	00c5c5b3          	xor	a1,a1,a2
80003f10:	017f0633          	add	a2,t5,s7
80003f14:	005ac433          	xor	s0,s5,t0
80003f18:	0083f433          	and	s0,t2,s0
80003f1c:	00544433          	xor	s0,s0,t0
80003f20:	00860633          	add	a2,a2,s0
80003f24:	00b605b3          	add	a1,a2,a1
80003f28:	00235613          	srli	a2,t1,0x2
80003f2c:	01e31413          	slli	s0,t1,0x1e
80003f30:	00c46633          	or	a2,s0,a2
80003f34:	00d35413          	srli	s0,t1,0xd
80003f38:	01331493          	slli	s1,t1,0x13
80003f3c:	0084e4b3          	or	s1,s1,s0
80003f40:	00964633          	xor	a2,a2,s1
80003f44:	01635493          	srli	s1,t1,0x16
80003f48:	00a31413          	slli	s0,t1,0xa
80003f4c:	009464b3          	or	s1,s0,s1
80003f50:	00964633          	xor	a2,a2,s1
80003f54:	013fc4b3          	xor	s1,t6,s3
80003f58:	009374b3          	and	s1,t1,s1
80003f5c:	00f4c7b3          	xor	a5,s1,a5
80003f60:	09812483          	lw	s1,152(sp)
80003f64:	009585b3          	add	a1,a1,s1
80003f68:	00f60633          	add	a2,a2,a5
80003f6c:	00b608b3          	add	a7,a2,a1
80003f70:	01958cb3          	add	s9,a1,s9
80003f74:	14c12703          	lw	a4,332(sp)
80003f78:	00775613          	srli	a2,a4,0x7
80003f7c:	01971493          	slli	s1,a4,0x19
80003f80:	00c4ee33          	or	t3,s1,a2
80003f84:	11812803          	lw	a6,280(sp)
80003f88:	00785493          	srli	s1,a6,0x7
80003f8c:	01981413          	slli	s0,a6,0x19
80003f90:	00946a33          	or	s4,s0,s1
80003f94:	12012583          	lw	a1,288(sp)
80003f98:	0075d413          	srli	s0,a1,0x7
80003f9c:	01959613          	slli	a2,a1,0x19
80003fa0:	00866bb3          	or	s7,a2,s0
80003fa4:	16812603          	lw	a2,360(sp)
80003fa8:	00765413          	srli	s0,a2,0x7
80003fac:	01961493          	slli	s1,a2,0x19
80003fb0:	00060693          	mv	a3,a2
80003fb4:	0084ec33          	or	s8,s1,s0
80003fb8:	01275493          	srli	s1,a4,0x12
80003fbc:	00e71613          	slli	a2,a4,0xe
80003fc0:	00966633          	or	a2,a2,s1
80003fc4:	01285493          	srli	s1,a6,0x12
80003fc8:	00e81413          	slli	s0,a6,0xe
80003fcc:	00946433          	or	s0,s0,s1
80003fd0:	0125d493          	srli	s1,a1,0x12
80003fd4:	00e59793          	slli	a5,a1,0xe
80003fd8:	00058513          	mv	a0,a1
80003fdc:	0097e7b3          	or	a5,a5,s1
80003fe0:	0126d493          	srli	s1,a3,0x12
80003fe4:	00e69d13          	slli	s10,a3,0xe
80003fe8:	009d64b3          	or	s1,s10,s1
80003fec:	01c64633          	xor	a2,a2,t3
80003ff0:	01444433          	xor	s0,s0,s4
80003ff4:	0177c7b3          	xor	a5,a5,s7
80003ff8:	0184c4b3          	xor	s1,s1,s8
80003ffc:	00375593          	srli	a1,a4,0x3
80004000:	00b645b3          	xor	a1,a2,a1
80004004:	00385613          	srli	a2,a6,0x3
80004008:	00c44633          	xor	a2,s0,a2
8000400c:	00355413          	srli	s0,a0,0x3
80004010:	0087c7b3          	xor	a5,a5,s0
80004014:	0036d413          	srli	s0,a3,0x3
80004018:	0084c433          	xor	s0,s1,s0
8000401c:	01058a33          	add	s4,a1,a6
80004020:	00a60c33          	add	s8,a2,a0
80004024:	00d787b3          	add	a5,a5,a3
80004028:	11012503          	lw	a0,272(sp)
8000402c:	00a40433          	add	s0,s0,a0
80004030:	0110d493          	srli	s1,ra,0x11
80004034:	00f09593          	slli	a1,ra,0xf
80004038:	0095e5b3          	or	a1,a1,s1
8000403c:	0130d493          	srli	s1,ra,0x13
80004040:	00d09613          	slli	a2,ra,0xd
80004044:	00966633          	or	a2,a2,s1
80004048:	16012683          	lw	a3,352(sp)
8000404c:	00d40433          	add	s0,s0,a3
80004050:	00c5c5b3          	xor	a1,a1,a2
80004054:	00a0d613          	srli	a2,ra,0xa
80004058:	00c5c5b3          	xor	a1,a1,a2
8000405c:	00b406b3          	add	a3,s0,a1
80004060:	011f5593          	srli	a1,t5,0x11
80004064:	00ff1613          	slli	a2,t5,0xf
80004068:	00b665b3          	or	a1,a2,a1
8000406c:	013f5613          	srli	a2,t5,0x13
80004070:	00df1413          	slli	s0,t5,0xd
80004074:	00c46633          	or	a2,s0,a2
80004078:	15012503          	lw	a0,336(sp)
8000407c:	00a787b3          	add	a5,a5,a0
80004080:	00c5c5b3          	xor	a1,a1,a2
80004084:	00af5613          	srli	a2,t5,0xa
80004088:	00c5c5b3          	xor	a1,a1,a2
8000408c:	00b784b3          	add	s1,a5,a1
80004090:	0116d593          	srli	a1,a3,0x11
80004094:	00f69613          	slli	a2,a3,0xf
80004098:	00b665b3          	or	a1,a2,a1
8000409c:	0136d613          	srli	a2,a3,0x13
800040a0:	00d69793          	slli	a5,a3,0xd
800040a4:	00c7e633          	or	a2,a5,a2
800040a8:	016c07b3          	add	a5,s8,s6
800040ac:	00c5c5b3          	xor	a1,a1,a2
800040b0:	00a6d613          	srli	a2,a3,0xa
800040b4:	16d12423          	sw	a3,360(sp)
800040b8:	00c5c5b3          	xor	a1,a1,a2
800040bc:	00b78bb3          	add	s7,a5,a1
800040c0:	0114d593          	srli	a1,s1,0x11
800040c4:	00f49793          	slli	a5,s1,0xf
800040c8:	00b7e5b3          	or	a1,a5,a1
800040cc:	0134d793          	srli	a5,s1,0x13
800040d0:	00d49413          	slli	s0,s1,0xd
800040d4:	00f467b3          	or	a5,s0,a5
800040d8:	01ba0433          	add	s0,s4,s11
800040dc:	00f5c5b3          	xor	a1,a1,a5
800040e0:	00a4d793          	srli	a5,s1,0xa
800040e4:	00048713          	mv	a4,s1
800040e8:	14912a23          	sw	s1,340(sp)
800040ec:	00f5c5b3          	xor	a1,a1,a5
800040f0:	00b40d33          	add	s10,s0,a1
800040f4:	006cd593          	srli	a1,s9,0x6
800040f8:	01ac9793          	slli	a5,s9,0x1a
800040fc:	00b7e5b3          	or	a1,a5,a1
80004100:	00bcd793          	srli	a5,s9,0xb
80004104:	015c9493          	slli	s1,s9,0x15
80004108:	00f4e7b3          	or	a5,s1,a5
8000410c:	00f5c5b3          	xor	a1,a1,a5
80004110:	019cd793          	srli	a5,s9,0x19
80004114:	007c9493          	slli	s1,s9,0x7
80004118:	00f4e7b3          	or	a5,s1,a5
8000411c:	00568533          	add	a0,a3,t0
80004120:	00f5c5b3          	xor	a1,a1,a5
80004124:	0153c7b3          	xor	a5,t2,s5
80004128:	00fcf7b3          	and	a5,s9,a5
8000412c:	0157c7b3          	xor	a5,a5,s5
80004130:	00f50533          	add	a0,a0,a5
80004134:	00b50533          	add	a0,a0,a1
80004138:	0028d593          	srli	a1,a7,0x2
8000413c:	01e89793          	slli	a5,a7,0x1e
80004140:	00b7e5b3          	or	a1,a5,a1
80004144:	00d8d793          	srli	a5,a7,0xd
80004148:	01389493          	slli	s1,a7,0x13
8000414c:	00f4e7b3          	or	a5,s1,a5
80004150:	00f5c5b3          	xor	a1,a1,a5
80004154:	0168d793          	srli	a5,a7,0x16
80004158:	00a89493          	slli	s1,a7,0xa
8000415c:	00f4e7b3          	or	a5,s1,a5
80004160:	00f5c5b3          	xor	a1,a1,a5
80004164:	0068f7b3          	and	a5,a7,t1
80004168:	01f374b3          	and	s1,t1,t6
8000416c:	0097c4b3          	xor	s1,a5,s1
80004170:	01f8f633          	and	a2,a7,t6
80004174:	00c4c633          	xor	a2,s1,a2
80004178:	00b605b3          	add	a1,a2,a1
8000417c:	09412603          	lw	a2,148(sp)
80004180:	00c50533          	add	a0,a0,a2
80004184:	00a58c33          	add	s8,a1,a0
80004188:	01350533          	add	a0,a0,s3
8000418c:	00655593          	srli	a1,a0,0x6
80004190:	01a51613          	slli	a2,a0,0x1a
80004194:	00b665b3          	or	a1,a2,a1
80004198:	00b55613          	srli	a2,a0,0xb
8000419c:	01551493          	slli	s1,a0,0x15
800041a0:	00c4e633          	or	a2,s1,a2
800041a4:	00c5c5b3          	xor	a1,a1,a2
800041a8:	01955613          	srli	a2,a0,0x19
800041ac:	00751493          	slli	s1,a0,0x7
800041b0:	00c4e633          	or	a2,s1,a2
800041b4:	00c5c5b3          	xor	a1,a1,a2
800041b8:	01570633          	add	a2,a4,s5
800041bc:	007cc6b3          	xor	a3,s9,t2
800041c0:	00d576b3          	and	a3,a0,a3
800041c4:	0076c6b3          	xor	a3,a3,t2
800041c8:	00d60633          	add	a2,a2,a3
800041cc:	00b605b3          	add	a1,a2,a1
800041d0:	002c5613          	srli	a2,s8,0x2
800041d4:	01ec1693          	slli	a3,s8,0x1e
800041d8:	00c6e633          	or	a2,a3,a2
800041dc:	00dc5693          	srli	a3,s8,0xd
800041e0:	013c1493          	slli	s1,s8,0x13
800041e4:	00d4e6b3          	or	a3,s1,a3
800041e8:	00d64633          	xor	a2,a2,a3
800041ec:	016c5693          	srli	a3,s8,0x16
800041f0:	00ac1493          	slli	s1,s8,0xa
800041f4:	00d4e6b3          	or	a3,s1,a3
800041f8:	00d64633          	xor	a2,a2,a3
800041fc:	0068c6b3          	xor	a3,a7,t1
80004200:	00dc76b3          	and	a3,s8,a3
80004204:	00f6c6b3          	xor	a3,a3,a5
80004208:	09012783          	lw	a5,144(sp)
8000420c:	00f585b3          	add	a1,a1,a5
80004210:	00d60633          	add	a2,a2,a3
80004214:	00b60e33          	add	t3,a2,a1
80004218:	01f58a33          	add	s4,a1,t6
8000421c:	006a5593          	srli	a1,s4,0x6
80004220:	01aa1613          	slli	a2,s4,0x1a
80004224:	00b665b3          	or	a1,a2,a1
80004228:	00ba5613          	srli	a2,s4,0xb
8000422c:	015a1693          	slli	a3,s4,0x15
80004230:	00c6e633          	or	a2,a3,a2
80004234:	00c5c5b3          	xor	a1,a1,a2
80004238:	019a5613          	srli	a2,s4,0x19
8000423c:	007a1693          	slli	a3,s4,0x7
80004240:	00c6e633          	or	a2,a3,a2
80004244:	007b86b3          	add	a3,s7,t2
80004248:	00c5c5b3          	xor	a1,a1,a2
8000424c:	01954633          	xor	a2,a0,s9
80004250:	00ca7633          	and	a2,s4,a2
80004254:	01964633          	xor	a2,a2,s9
80004258:	00c68633          	add	a2,a3,a2
8000425c:	00b605b3          	add	a1,a2,a1
80004260:	002e5613          	srli	a2,t3,0x2
80004264:	01ee1693          	slli	a3,t3,0x1e
80004268:	00c6e633          	or	a2,a3,a2
8000426c:	00de5693          	srli	a3,t3,0xd
80004270:	013e1713          	slli	a4,t3,0x13
80004274:	00d766b3          	or	a3,a4,a3
80004278:	00d64633          	xor	a2,a2,a3
8000427c:	016e5693          	srli	a3,t3,0x16
80004280:	00ae1713          	slli	a4,t3,0xa
80004284:	00d766b3          	or	a3,a4,a3
80004288:	00d64633          	xor	a2,a2,a3
8000428c:	018e7733          	and	a4,t3,s8
80004290:	011c76b3          	and	a3,s8,a7
80004294:	00d746b3          	xor	a3,a4,a3
80004298:	011e77b3          	and	a5,t3,a7
8000429c:	00f6c6b3          	xor	a3,a3,a5
800042a0:	00c68633          	add	a2,a3,a2
800042a4:	08c12683          	lw	a3,140(sp)
800042a8:	00d585b3          	add	a1,a1,a3
800042ac:	00b603b3          	add	t2,a2,a1
800042b0:	006589b3          	add	s3,a1,t1
800042b4:	0069d593          	srli	a1,s3,0x6
800042b8:	01a99613          	slli	a2,s3,0x1a
800042bc:	00b665b3          	or	a1,a2,a1
800042c0:	00b9d613          	srli	a2,s3,0xb
800042c4:	01599793          	slli	a5,s3,0x15
800042c8:	00c7e633          	or	a2,a5,a2
800042cc:	00c5c5b3          	xor	a1,a1,a2
800042d0:	0199d613          	srli	a2,s3,0x19
800042d4:	00799793          	slli	a5,s3,0x7
800042d8:	00c7e633          	or	a2,a5,a2
800042dc:	00c5c5b3          	xor	a1,a1,a2
800042e0:	019d0633          	add	a2,s10,s9
800042e4:	00aa47b3          	xor	a5,s4,a0
800042e8:	00f9f7b3          	and	a5,s3,a5
800042ec:	00a7c7b3          	xor	a5,a5,a0
800042f0:	00f60633          	add	a2,a2,a5
800042f4:	00b605b3          	add	a1,a2,a1
800042f8:	0023d613          	srli	a2,t2,0x2
800042fc:	01e39793          	slli	a5,t2,0x1e
80004300:	00c7e633          	or	a2,a5,a2
80004304:	00d3d793          	srli	a5,t2,0xd
80004308:	01339413          	slli	s0,t2,0x13
8000430c:	00f467b3          	or	a5,s0,a5
80004310:	00f64633          	xor	a2,a2,a5
80004314:	0163d793          	srli	a5,t2,0x16
80004318:	00a39413          	slli	s0,t2,0xa
8000431c:	00f467b3          	or	a5,s0,a5
80004320:	00f64633          	xor	a2,a2,a5
80004324:	018e47b3          	xor	a5,t3,s8
80004328:	00f3f7b3          	and	a5,t2,a5
8000432c:	00e7c733          	xor	a4,a5,a4
80004330:	08812683          	lw	a3,136(sp)
80004334:	00d585b3          	add	a1,a1,a3
80004338:	00e60633          	add	a2,a2,a4
8000433c:	00b60fb3          	add	t6,a2,a1
80004340:	011585b3          	add	a1,a1,a7
80004344:	14812683          	lw	a3,328(sp)
80004348:	0076d613          	srli	a2,a3,0x7
8000434c:	01969713          	slli	a4,a3,0x19
80004350:	00c76833          	or	a6,a4,a2
80004354:	00795713          	srli	a4,s2,0x7
80004358:	01991793          	slli	a5,s2,0x19
8000435c:	00e7e2b3          	or	t0,a5,a4
80004360:	11412483          	lw	s1,276(sp)
80004364:	0074d793          	srli	a5,s1,0x7
80004368:	01949413          	slli	s0,s1,0x19
8000436c:	00f46cb3          	or	s9,s0,a5
80004370:	16412403          	lw	s0,356(sp)
80004374:	00745713          	srli	a4,s0,0x7
80004378:	01941613          	slli	a2,s0,0x19
8000437c:	00e66db3          	or	s11,a2,a4
80004380:	0126d613          	srli	a2,a3,0x12
80004384:	00e69713          	slli	a4,a3,0xe
80004388:	00068893          	mv	a7,a3
8000438c:	00c76733          	or	a4,a4,a2
80004390:	01295613          	srli	a2,s2,0x12
80004394:	00e91793          	slli	a5,s2,0xe
80004398:	00c7e7b3          	or	a5,a5,a2
8000439c:	0124d693          	srli	a3,s1,0x12
800043a0:	00e49613          	slli	a2,s1,0xe
800043a4:	00d66633          	or	a2,a2,a3
800043a8:	01245693          	srli	a3,s0,0x12
800043ac:	00e41a93          	slli	s5,s0,0xe
800043b0:	00dae6b3          	or	a3,s5,a3
800043b4:	01074733          	xor	a4,a4,a6
800043b8:	0057c7b3          	xor	a5,a5,t0
800043bc:	01964633          	xor	a2,a2,s9
800043c0:	01b6c833          	xor	a6,a3,s11
800043c4:	0038d693          	srli	a3,a7,0x3
800043c8:	00d746b3          	xor	a3,a4,a3
800043cc:	00395713          	srli	a4,s2,0x3
800043d0:	00e7c733          	xor	a4,a5,a4
800043d4:	0034d793          	srli	a5,s1,0x3
800043d8:	00f64633          	xor	a2,a2,a5
800043dc:	00345793          	srli	a5,s0,0x3
800043e0:	00f847b3          	xor	a5,a6,a5
800043e4:	01268833          	add	a6,a3,s2
800043e8:	009708b3          	add	a7,a4,s1
800043ec:	00860633          	add	a2,a2,s0
800043f0:	14c12683          	lw	a3,332(sp)
800043f4:	00d787b3          	add	a5,a5,a3
800043f8:	011bd413          	srli	s0,s7,0x11
800043fc:	00fb9693          	slli	a3,s7,0xf
80004400:	0086e6b3          	or	a3,a3,s0
80004404:	013bd413          	srli	s0,s7,0x13
80004408:	00db9713          	slli	a4,s7,0xd
8000440c:	00876733          	or	a4,a4,s0
80004410:	01d787b3          	add	a5,a5,t4
80004414:	00e6c6b3          	xor	a3,a3,a4
80004418:	00abd713          	srli	a4,s7,0xa
8000441c:	00e6c6b3          	xor	a3,a3,a4
80004420:	00d78433          	add	s0,a5,a3
80004424:	011d5693          	srli	a3,s10,0x11
80004428:	00fd1713          	slli	a4,s10,0xf
8000442c:	00d766b3          	or	a3,a4,a3
80004430:	013d5713          	srli	a4,s10,0x13
80004434:	00dd1793          	slli	a5,s10,0xd
80004438:	00e7e733          	or	a4,a5,a4
8000443c:	00160633          	add	a2,a2,ra
80004440:	00e6c6b3          	xor	a3,a3,a4
80004444:	00ad5713          	srli	a4,s10,0xa
80004448:	00e6c6b3          	xor	a3,a3,a4
8000444c:	00d607b3          	add	a5,a2,a3
80004450:	01145613          	srli	a2,s0,0x11
80004454:	00f41693          	slli	a3,s0,0xf
80004458:	00c6e633          	or	a2,a3,a2
8000445c:	01345693          	srli	a3,s0,0x13
80004460:	00d41713          	slli	a4,s0,0xd
80004464:	00d766b3          	or	a3,a4,a3
80004468:	01e88733          	add	a4,a7,t5
8000446c:	00d64633          	xor	a2,a2,a3
80004470:	00a45693          	srli	a3,s0,0xa
80004474:	16812223          	sw	s0,356(sp)
80004478:	00d64633          	xor	a2,a2,a3
8000447c:	00c70db3          	add	s11,a4,a2
80004480:	0117d613          	srli	a2,a5,0x11
80004484:	00f79693          	slli	a3,a5,0xf
80004488:	00c6e633          	or	a2,a3,a2
8000448c:	0137d693          	srli	a3,a5,0x13
80004490:	00d79713          	slli	a4,a5,0xd
80004494:	00d766b3          	or	a3,a4,a3
80004498:	16812703          	lw	a4,360(sp)
8000449c:	00e80733          	add	a4,a6,a4
800044a0:	00d64633          	xor	a2,a2,a3
800044a4:	00a7d693          	srli	a3,a5,0xa
800044a8:	00078893          	mv	a7,a5
800044ac:	14f12623          	sw	a5,332(sp)
800044b0:	00d64633          	xor	a2,a2,a3
800044b4:	00c70cb3          	add	s9,a4,a2
800044b8:	0065d613          	srli	a2,a1,0x6
800044bc:	01a59693          	slli	a3,a1,0x1a
800044c0:	00c6e633          	or	a2,a3,a2
800044c4:	00b5d693          	srli	a3,a1,0xb
800044c8:	01559793          	slli	a5,a1,0x15
800044cc:	00d7e6b3          	or	a3,a5,a3
800044d0:	00d64633          	xor	a2,a2,a3
800044d4:	0195d693          	srli	a3,a1,0x19
800044d8:	00759793          	slli	a5,a1,0x7
800044dc:	00d7e6b3          	or	a3,a5,a3
800044e0:	00a40533          	add	a0,s0,a0
800044e4:	00d64633          	xor	a2,a2,a3
800044e8:	0149c6b3          	xor	a3,s3,s4
800044ec:	00d5f6b3          	and	a3,a1,a3
800044f0:	0146c6b3          	xor	a3,a3,s4
800044f4:	00d50533          	add	a0,a0,a3
800044f8:	00c50533          	add	a0,a0,a2
800044fc:	002fd613          	srli	a2,t6,0x2
80004500:	01ef9693          	slli	a3,t6,0x1e
80004504:	00c6e633          	or	a2,a3,a2
80004508:	00dfd693          	srli	a3,t6,0xd
8000450c:	013f9793          	slli	a5,t6,0x13
80004510:	00d7e6b3          	or	a3,a5,a3
80004514:	00d64633          	xor	a2,a2,a3
80004518:	016fd693          	srli	a3,t6,0x16
8000451c:	00af9793          	slli	a5,t6,0xa
80004520:	00d7e6b3          	or	a3,a5,a3
80004524:	00d64633          	xor	a2,a2,a3
80004528:	007ff6b3          	and	a3,t6,t2
8000452c:	01c3f7b3          	and	a5,t2,t3
80004530:	00f6c7b3          	xor	a5,a3,a5
80004534:	01cff433          	and	s0,t6,t3
80004538:	0087c7b3          	xor	a5,a5,s0
8000453c:	00c78633          	add	a2,a5,a2
80004540:	08412703          	lw	a4,132(sp)
80004544:	00e50533          	add	a0,a0,a4
80004548:	00a60eb3          	add	t4,a2,a0
8000454c:	01850833          	add	a6,a0,s8
80004550:	00685613          	srli	a2,a6,0x6
80004554:	01a81793          	slli	a5,a6,0x1a
80004558:	00c7e633          	or	a2,a5,a2
8000455c:	00b85793          	srli	a5,a6,0xb
80004560:	01581413          	slli	s0,a6,0x15
80004564:	00f467b3          	or	a5,s0,a5
80004568:	00f64633          	xor	a2,a2,a5
8000456c:	01985793          	srli	a5,a6,0x19
80004570:	00781413          	slli	s0,a6,0x7
80004574:	00f467b3          	or	a5,s0,a5
80004578:	00f64633          	xor	a2,a2,a5
8000457c:	014887b3          	add	a5,a7,s4
80004580:	0135c433          	xor	s0,a1,s3
80004584:	00887433          	and	s0,a6,s0
80004588:	01344433          	xor	s0,s0,s3
8000458c:	008787b3          	add	a5,a5,s0
80004590:	00c78633          	add	a2,a5,a2
80004594:	002ed793          	srli	a5,t4,0x2
80004598:	01ee9413          	slli	s0,t4,0x1e
8000459c:	00f467b3          	or	a5,s0,a5
800045a0:	00ded413          	srli	s0,t4,0xd
800045a4:	013e9713          	slli	a4,t4,0x13
800045a8:	00876733          	or	a4,a4,s0
800045ac:	00e7c733          	xor	a4,a5,a4
800045b0:	016ed793          	srli	a5,t4,0x16
800045b4:	00ae9413          	slli	s0,t4,0xa
800045b8:	00f467b3          	or	a5,s0,a5
800045bc:	00f74733          	xor	a4,a4,a5
800045c0:	007fc7b3          	xor	a5,t6,t2
800045c4:	00fef7b3          	and	a5,t4,a5
800045c8:	00d7c6b3          	xor	a3,a5,a3
800045cc:	08012783          	lw	a5,128(sp)
800045d0:	00f60633          	add	a2,a2,a5
800045d4:	00d706b3          	add	a3,a4,a3
800045d8:	00c68333          	add	t1,a3,a2
800045dc:	01c608b3          	add	a7,a2,t3
800045e0:	0068d613          	srli	a2,a7,0x6
800045e4:	01a89693          	slli	a3,a7,0x1a
800045e8:	00c6e633          	or	a2,a3,a2
800045ec:	00b8d693          	srli	a3,a7,0xb
800045f0:	01589713          	slli	a4,a7,0x15
800045f4:	00d766b3          	or	a3,a4,a3
800045f8:	00d64633          	xor	a2,a2,a3
800045fc:	0198d693          	srli	a3,a7,0x19
80004600:	00789713          	slli	a4,a7,0x7
80004604:	00d766b3          	or	a3,a4,a3
80004608:	013d8733          	add	a4,s11,s3
8000460c:	00d64633          	xor	a2,a2,a3
80004610:	00b846b3          	xor	a3,a6,a1
80004614:	00d8f6b3          	and	a3,a7,a3
80004618:	00b6c6b3          	xor	a3,a3,a1
8000461c:	00d706b3          	add	a3,a4,a3
80004620:	00c68633          	add	a2,a3,a2
80004624:	00235693          	srli	a3,t1,0x2
80004628:	01e31713          	slli	a4,t1,0x1e
8000462c:	00d766b3          	or	a3,a4,a3
80004630:	00d35713          	srli	a4,t1,0xd
80004634:	01331413          	slli	s0,t1,0x13
80004638:	00e46733          	or	a4,s0,a4
8000463c:	00e6c6b3          	xor	a3,a3,a4
80004640:	01635713          	srli	a4,t1,0x16
80004644:	00a31413          	slli	s0,t1,0xa
80004648:	00e46733          	or	a4,s0,a4
8000464c:	00e6c6b3          	xor	a3,a3,a4
80004650:	01d37733          	and	a4,t1,t4
80004654:	01fef433          	and	s0,t4,t6
80004658:	00874433          	xor	s0,a4,s0
8000465c:	01f374b3          	and	s1,t1,t6
80004660:	00944433          	xor	s0,s0,s1
80004664:	00d406b3          	add	a3,s0,a3
80004668:	07c12483          	lw	s1,124(sp)
8000466c:	00960633          	add	a2,a2,s1
80004670:	00c689b3          	add	s3,a3,a2
80004674:	007604b3          	add	s1,a2,t2
80004678:	0064d613          	srli	a2,s1,0x6
8000467c:	01a49693          	slli	a3,s1,0x1a
80004680:	00c6e633          	or	a2,a3,a2
80004684:	00b4d693          	srli	a3,s1,0xb
80004688:	01549413          	slli	s0,s1,0x15
8000468c:	00d466b3          	or	a3,s0,a3
80004690:	00d64633          	xor	a2,a2,a3
80004694:	0194d693          	srli	a3,s1,0x19
80004698:	00749413          	slli	s0,s1,0x7
8000469c:	00d466b3          	or	a3,s0,a3
800046a0:	00d64633          	xor	a2,a2,a3
800046a4:	00bc85b3          	add	a1,s9,a1
800046a8:	0108c6b3          	xor	a3,a7,a6
800046ac:	00d4f6b3          	and	a3,s1,a3
800046b0:	0106c6b3          	xor	a3,a3,a6
800046b4:	00d585b3          	add	a1,a1,a3
800046b8:	00c585b3          	add	a1,a1,a2
800046bc:	0029d613          	srli	a2,s3,0x2
800046c0:	01e99693          	slli	a3,s3,0x1e
800046c4:	00c6e633          	or	a2,a3,a2
800046c8:	00d9d693          	srli	a3,s3,0xd
800046cc:	01399413          	slli	s0,s3,0x13
800046d0:	00d466b3          	or	a3,s0,a3
800046d4:	00d64633          	xor	a2,a2,a3
800046d8:	0169d693          	srli	a3,s3,0x16
800046dc:	00a99413          	slli	s0,s3,0xa
800046e0:	00d466b3          	or	a3,s0,a3
800046e4:	00d64633          	xor	a2,a2,a3
800046e8:	01d346b3          	xor	a3,t1,t4
800046ec:	00d9f6b3          	and	a3,s3,a3
800046f0:	00e6c6b3          	xor	a3,a3,a4
800046f4:	07812703          	lw	a4,120(sp)
800046f8:	00e585b3          	add	a1,a1,a4
800046fc:	00d60633          	add	a2,a2,a3
80004700:	00b602b3          	add	t0,a2,a1
80004704:	01f58933          	add	s2,a1,t6
80004708:	15c12783          	lw	a5,348(sp)
8000470c:	0077d613          	srli	a2,a5,0x7
80004710:	01979713          	slli	a4,a5,0x19
80004714:	00c763b3          	or	t2,a4,a2
80004718:	007b5713          	srli	a4,s6,0x7
8000471c:	019b1413          	slli	s0,s6,0x19
80004720:	00e46fb3          	or	t6,s0,a4
80004724:	15012503          	lw	a0,336(sp)
80004728:	00755413          	srli	s0,a0,0x7
8000472c:	01951613          	slli	a2,a0,0x19
80004730:	00866c33          	or	s8,a2,s0
80004734:	16012583          	lw	a1,352(sp)
80004738:	0075d413          	srli	s0,a1,0x7
8000473c:	01959713          	slli	a4,a1,0x19
80004740:	00876a33          	or	s4,a4,s0
80004744:	0127d413          	srli	s0,a5,0x12
80004748:	00e79613          	slli	a2,a5,0xe
8000474c:	00866ab3          	or	s5,a2,s0
80004750:	012b5413          	srli	s0,s6,0x12
80004754:	00eb1713          	slli	a4,s6,0xe
80004758:	00876e33          	or	t3,a4,s0
8000475c:	01255413          	srli	s0,a0,0x12
80004760:	00e51693          	slli	a3,a0,0xe
80004764:	00050713          	mv	a4,a0
80004768:	0086e6b3          	or	a3,a3,s0
8000476c:	0125d413          	srli	s0,a1,0x12
80004770:	00e59613          	slli	a2,a1,0xe
80004774:	00058513          	mv	a0,a1
80004778:	00866633          	or	a2,a2,s0
8000477c:	007ac433          	xor	s0,s5,t2
80004780:	01fe43b3          	xor	t2,t3,t6
80004784:	0186c6b3          	xor	a3,a3,s8
80004788:	01464633          	xor	a2,a2,s4
8000478c:	0037d593          	srli	a1,a5,0x3
80004790:	00b445b3          	xor	a1,s0,a1
80004794:	003b5413          	srli	s0,s6,0x3
80004798:	0083c3b3          	xor	t2,t2,s0
8000479c:	00375413          	srli	s0,a4,0x3
800047a0:	0086c6b3          	xor	a3,a3,s0
800047a4:	00355413          	srli	s0,a0,0x3
800047a8:	00864633          	xor	a2,a2,s0
800047ac:	01658fb3          	add	t6,a1,s6
800047b0:	00e383b3          	add	t2,t2,a4
800047b4:	00a686b3          	add	a3,a3,a0
800047b8:	14812503          	lw	a0,328(sp)
800047bc:	00a60633          	add	a2,a2,a0
800047c0:	011dd413          	srli	s0,s11,0x11
800047c4:	00fd9593          	slli	a1,s11,0xf
800047c8:	0085e5b3          	or	a1,a1,s0
800047cc:	013dd413          	srli	s0,s11,0x13
800047d0:	00dd9713          	slli	a4,s11,0xd
800047d4:	00876733          	or	a4,a4,s0
800047d8:	15412503          	lw	a0,340(sp)
800047dc:	00a60633          	add	a2,a2,a0
800047e0:	00e5c5b3          	xor	a1,a1,a4
800047e4:	00add713          	srli	a4,s11,0xa
800047e8:	00e5c5b3          	xor	a1,a1,a4
800047ec:	00b60433          	add	s0,a2,a1
800047f0:	011cd593          	srli	a1,s9,0x11
800047f4:	00fc9613          	slli	a2,s9,0xf
800047f8:	00b665b3          	or	a1,a2,a1
800047fc:	013cd613          	srli	a2,s9,0x13
80004800:	00dc9713          	slli	a4,s9,0xd
80004804:	00c76633          	or	a2,a4,a2
80004808:	017686b3          	add	a3,a3,s7
8000480c:	00c5c5b3          	xor	a1,a1,a2
80004810:	00acd613          	srli	a2,s9,0xa
80004814:	00c5c5b3          	xor	a1,a1,a2
80004818:	00b68533          	add	a0,a3,a1
8000481c:	01145593          	srli	a1,s0,0x11
80004820:	00f41613          	slli	a2,s0,0xf
80004824:	00b665b3          	or	a1,a2,a1
80004828:	01345613          	srli	a2,s0,0x13
8000482c:	00d41693          	slli	a3,s0,0xd
80004830:	00c6e633          	or	a2,a3,a2
80004834:	01a386b3          	add	a3,t2,s10
80004838:	00c5c5b3          	xor	a1,a1,a2
8000483c:	00a45613          	srli	a2,s0,0xa
80004840:	16812023          	sw	s0,352(sp)
80004844:	00c5c5b3          	xor	a1,a1,a2
80004848:	00b683b3          	add	t2,a3,a1
8000484c:	01155593          	srli	a1,a0,0x11
80004850:	00f51613          	slli	a2,a0,0xf
80004854:	00b665b3          	or	a1,a2,a1
80004858:	01355613          	srli	a2,a0,0x13
8000485c:	00050713          	mv	a4,a0
80004860:	00d51693          	slli	a3,a0,0xd
80004864:	00c6e633          	or	a2,a3,a2
80004868:	16412503          	lw	a0,356(sp)
8000486c:	00af86b3          	add	a3,t6,a0
80004870:	00c5c5b3          	xor	a1,a1,a2
80004874:	00a75613          	srli	a2,a4,0xa
80004878:	00070793          	mv	a5,a4
8000487c:	14e12423          	sw	a4,328(sp)
80004880:	00c5c5b3          	xor	a1,a1,a2
80004884:	00b68c33          	add	s8,a3,a1
80004888:	00695593          	srli	a1,s2,0x6
8000488c:	01a91613          	slli	a2,s2,0x1a
80004890:	00b665b3          	or	a1,a2,a1
80004894:	00b95613          	srli	a2,s2,0xb
80004898:	01591693          	slli	a3,s2,0x15
8000489c:	00c6e633          	or	a2,a3,a2
800048a0:	00c5c5b3          	xor	a1,a1,a2
800048a4:	01995613          	srli	a2,s2,0x19
800048a8:	00791693          	slli	a3,s2,0x7
800048ac:	00c6e633          	or	a2,a3,a2
800048b0:	01040533          	add	a0,s0,a6
800048b4:	00c5c5b3          	xor	a1,a1,a2
800048b8:	0114c633          	xor	a2,s1,a7
800048bc:	00c97633          	and	a2,s2,a2
800048c0:	01164633          	xor	a2,a2,a7
800048c4:	00c50533          	add	a0,a0,a2
800048c8:	00b50533          	add	a0,a0,a1
800048cc:	0022d593          	srli	a1,t0,0x2
800048d0:	01e29613          	slli	a2,t0,0x1e
800048d4:	00b665b3          	or	a1,a2,a1
800048d8:	00d2d613          	srli	a2,t0,0xd
800048dc:	01329693          	slli	a3,t0,0x13
800048e0:	00c6e633          	or	a2,a3,a2
800048e4:	00c5c5b3          	xor	a1,a1,a2
800048e8:	0162d613          	srli	a2,t0,0x16
800048ec:	00a29693          	slli	a3,t0,0xa
800048f0:	00c6e633          	or	a2,a3,a2
800048f4:	00c5c5b3          	xor	a1,a1,a2
800048f8:	0132f633          	and	a2,t0,s3
800048fc:	0069f6b3          	and	a3,s3,t1
80004900:	00d646b3          	xor	a3,a2,a3
80004904:	0062f733          	and	a4,t0,t1
80004908:	00e6c6b3          	xor	a3,a3,a4
8000490c:	00b685b3          	add	a1,a3,a1
80004910:	07412683          	lw	a3,116(sp)
80004914:	00d50533          	add	a0,a0,a3
80004918:	00a58e33          	add	t3,a1,a0
8000491c:	01d50533          	add	a0,a0,t4
80004920:	00655593          	srli	a1,a0,0x6
80004924:	01a51693          	slli	a3,a0,0x1a
80004928:	00b6e5b3          	or	a1,a3,a1
8000492c:	00b55693          	srli	a3,a0,0xb
80004930:	01551713          	slli	a4,a0,0x15
80004934:	00d766b3          	or	a3,a4,a3
80004938:	00d5c5b3          	xor	a1,a1,a3
8000493c:	01955693          	srli	a3,a0,0x19
80004940:	00751713          	slli	a4,a0,0x7
80004944:	00d766b3          	or	a3,a4,a3
80004948:	00d5c5b3          	xor	a1,a1,a3
8000494c:	011786b3          	add	a3,a5,a7
80004950:	00994733          	xor	a4,s2,s1
80004954:	00e57733          	and	a4,a0,a4
80004958:	00974733          	xor	a4,a4,s1
8000495c:	00e686b3          	add	a3,a3,a4
80004960:	00b685b3          	add	a1,a3,a1
80004964:	002e5693          	srli	a3,t3,0x2
80004968:	01ee1713          	slli	a4,t3,0x1e
8000496c:	00d766b3          	or	a3,a4,a3
80004970:	00de5713          	srli	a4,t3,0xd
80004974:	013e1793          	slli	a5,t3,0x13
80004978:	00e7e733          	or	a4,a5,a4
8000497c:	00e6c6b3          	xor	a3,a3,a4
80004980:	016e5713          	srli	a4,t3,0x16
80004984:	00ae1793          	slli	a5,t3,0xa
80004988:	00e7e733          	or	a4,a5,a4
8000498c:	00e6c6b3          	xor	a3,a3,a4
80004990:	0132c733          	xor	a4,t0,s3
80004994:	00ee7733          	and	a4,t3,a4
80004998:	00c74633          	xor	a2,a4,a2
8000499c:	07012703          	lw	a4,112(sp)
800049a0:	00e585b3          	add	a1,a1,a4
800049a4:	00c68633          	add	a2,a3,a2
800049a8:	00b60ab3          	add	s5,a2,a1
800049ac:	006587b3          	add	a5,a1,t1
800049b0:	0067d593          	srli	a1,a5,0x6
800049b4:	01a79613          	slli	a2,a5,0x1a
800049b8:	00b665b3          	or	a1,a2,a1
800049bc:	00b7d613          	srli	a2,a5,0xb
800049c0:	01579693          	slli	a3,a5,0x15
800049c4:	00c6e633          	or	a2,a3,a2
800049c8:	00c5c5b3          	xor	a1,a1,a2
800049cc:	0197d613          	srli	a2,a5,0x19
800049d0:	00779693          	slli	a3,a5,0x7
800049d4:	00c6e633          	or	a2,a3,a2
800049d8:	009386b3          	add	a3,t2,s1
800049dc:	00038f93          	mv	t6,t2
800049e0:	00c5c5b3          	xor	a1,a1,a2
800049e4:	01254633          	xor	a2,a0,s2
800049e8:	00c7f633          	and	a2,a5,a2
800049ec:	01264633          	xor	a2,a2,s2
800049f0:	00c68633          	add	a2,a3,a2
800049f4:	00b605b3          	add	a1,a2,a1
800049f8:	002ad613          	srli	a2,s5,0x2
800049fc:	01ea9693          	slli	a3,s5,0x1e
80004a00:	00c6e633          	or	a2,a3,a2
80004a04:	00dad693          	srli	a3,s5,0xd
80004a08:	013a9713          	slli	a4,s5,0x13
80004a0c:	00d766b3          	or	a3,a4,a3
80004a10:	00d64633          	xor	a2,a2,a3
80004a14:	016ad693          	srli	a3,s5,0x16
80004a18:	00aa9713          	slli	a4,s5,0xa
80004a1c:	00d766b3          	or	a3,a4,a3
80004a20:	00d64633          	xor	a2,a2,a3
80004a24:	01caf6b3          	and	a3,s5,t3
80004a28:	005e7733          	and	a4,t3,t0
80004a2c:	00e6c733          	xor	a4,a3,a4
80004a30:	005af4b3          	and	s1,s5,t0
80004a34:	00974733          	xor	a4,a4,s1
80004a38:	00c70633          	add	a2,a4,a2
80004a3c:	06c12703          	lw	a4,108(sp)
80004a40:	00e585b3          	add	a1,a1,a4
80004a44:	00b60a33          	add	s4,a2,a1
80004a48:	013584b3          	add	s1,a1,s3
80004a4c:	0064d593          	srli	a1,s1,0x6
80004a50:	01a49613          	slli	a2,s1,0x1a
80004a54:	00b665b3          	or	a1,a2,a1
80004a58:	00b4d613          	srli	a2,s1,0xb
80004a5c:	01549713          	slli	a4,s1,0x15
80004a60:	00c76633          	or	a2,a4,a2
80004a64:	00c5c5b3          	xor	a1,a1,a2
80004a68:	0194d613          	srli	a2,s1,0x19
80004a6c:	00749713          	slli	a4,s1,0x7
80004a70:	00c76633          	or	a2,a4,a2
80004a74:	00c5c5b3          	xor	a1,a1,a2
80004a78:	012c0633          	add	a2,s8,s2
80004a7c:	00a7c733          	xor	a4,a5,a0
80004a80:	00e4f733          	and	a4,s1,a4
80004a84:	00a74733          	xor	a4,a4,a0
80004a88:	00e60633          	add	a2,a2,a4
80004a8c:	00b605b3          	add	a1,a2,a1
80004a90:	002a5613          	srli	a2,s4,0x2
80004a94:	01ea1713          	slli	a4,s4,0x1e
80004a98:	00c76633          	or	a2,a4,a2
80004a9c:	00da5713          	srli	a4,s4,0xd
80004aa0:	013a1413          	slli	s0,s4,0x13
80004aa4:	00e46733          	or	a4,s0,a4
80004aa8:	00e64633          	xor	a2,a2,a4
80004aac:	016a5713          	srli	a4,s4,0x16
80004ab0:	00aa1413          	slli	s0,s4,0xa
80004ab4:	00e46733          	or	a4,s0,a4
80004ab8:	00e64633          	xor	a2,a2,a4
80004abc:	01cac733          	xor	a4,s5,t3
80004ac0:	00ea7733          	and	a4,s4,a4
80004ac4:	00d746b3          	xor	a3,a4,a3
80004ac8:	06812703          	lw	a4,104(sp)
80004acc:	00e585b3          	add	a1,a1,a4
80004ad0:	00d60633          	add	a2,a2,a3
80004ad4:	00b60333          	add	t1,a2,a1
80004ad8:	00558833          	add	a6,a1,t0
80004adc:	16812b03          	lw	s6,360(sp)
80004ae0:	007b5593          	srli	a1,s6,0x7
80004ae4:	019b1613          	slli	a2,s6,0x19
80004ae8:	00b663b3          	or	t2,a2,a1
80004aec:	007f5613          	srli	a2,t5,0x7
80004af0:	019f1713          	slli	a4,t5,0x19
80004af4:	00c762b3          	or	t0,a4,a2
80004af8:	0070d713          	srli	a4,ra,0x7
80004afc:	01909413          	slli	s0,ra,0x19
80004b00:	00e46933          	or	s2,s0,a4
80004b04:	14412e83          	lw	t4,324(sp)
80004b08:	007ed413          	srli	s0,t4,0x7
80004b0c:	019e9593          	slli	a1,t4,0x19
80004b10:	0085e9b3          	or	s3,a1,s0
80004b14:	012b5413          	srli	s0,s6,0x12
80004b18:	00eb1613          	slli	a2,s6,0xe
80004b1c:	008668b3          	or	a7,a2,s0
80004b20:	012f5413          	srli	s0,t5,0x12
80004b24:	00ef1713          	slli	a4,t5,0xe
80004b28:	00876733          	or	a4,a4,s0
80004b2c:	0120d413          	srli	s0,ra,0x12
80004b30:	00e09593          	slli	a1,ra,0xe
80004b34:	0085e5b3          	or	a1,a1,s0
80004b38:	012ed413          	srli	s0,t4,0x12
80004b3c:	00ee9613          	slli	a2,t4,0xe
80004b40:	00866633          	or	a2,a2,s0
80004b44:	0078c433          	xor	s0,a7,t2
80004b48:	00574733          	xor	a4,a4,t0
80004b4c:	0125c5b3          	xor	a1,a1,s2
80004b50:	01364633          	xor	a2,a2,s3
80004b54:	003b5693          	srli	a3,s6,0x3
80004b58:	00d446b3          	xor	a3,s0,a3
80004b5c:	003f5413          	srli	s0,t5,0x3
80004b60:	00874733          	xor	a4,a4,s0
80004b64:	0030d413          	srli	s0,ra,0x3
80004b68:	0085c5b3          	xor	a1,a1,s0
80004b6c:	003ed413          	srli	s0,t4,0x3
80004b70:	00864633          	xor	a2,a2,s0
80004b74:	01e68f33          	add	t5,a3,t5
80004b78:	001708b3          	add	a7,a4,ra
80004b7c:	01d585b3          	add	a1,a1,t4
80004b80:	15c12683          	lw	a3,348(sp)
80004b84:	00d60633          	add	a2,a2,a3
80004b88:	011fd413          	srli	s0,t6,0x11
80004b8c:	00ff9693          	slli	a3,t6,0xf
80004b90:	0086e6b3          	or	a3,a3,s0
80004b94:	013fd413          	srli	s0,t6,0x13
80004b98:	00df9713          	slli	a4,t6,0xd
80004b9c:	00876733          	or	a4,a4,s0
80004ba0:	14c12403          	lw	s0,332(sp)
80004ba4:	00860633          	add	a2,a2,s0
80004ba8:	00e6c6b3          	xor	a3,a3,a4
80004bac:	00afd713          	srli	a4,t6,0xa
80004bb0:	000f8b13          	mv	s6,t6
80004bb4:	00e6c6b3          	xor	a3,a3,a4
80004bb8:	00d60433          	add	s0,a2,a3
80004bbc:	011c5613          	srli	a2,s8,0x11
80004bc0:	00fc1693          	slli	a3,s8,0xf
80004bc4:	00c6e633          	or	a2,a3,a2
80004bc8:	013c5693          	srli	a3,s8,0x13
80004bcc:	00dc1713          	slli	a4,s8,0xd
80004bd0:	00d766b3          	or	a3,a4,a3
80004bd4:	01b585b3          	add	a1,a1,s11
80004bd8:	00d64633          	xor	a2,a2,a3
80004bdc:	00ac5693          	srli	a3,s8,0xa
80004be0:	00d64633          	xor	a2,a2,a3
80004be4:	00c58733          	add	a4,a1,a2
80004be8:	01145593          	srli	a1,s0,0x11
80004bec:	00f41613          	slli	a2,s0,0xf
80004bf0:	00b665b3          	or	a1,a2,a1
80004bf4:	01345613          	srli	a2,s0,0x13
80004bf8:	00d41693          	slli	a3,s0,0xd
80004bfc:	00c6e633          	or	a2,a3,a2
80004c00:	019886b3          	add	a3,a7,s9
80004c04:	00c5c5b3          	xor	a1,a1,a2
80004c08:	00a45613          	srli	a2,s0,0xa
80004c0c:	14812e23          	sw	s0,348(sp)
80004c10:	00c5c5b3          	xor	a1,a1,a2
80004c14:	00b680b3          	add	ra,a3,a1
80004c18:	01175593          	srli	a1,a4,0x11
80004c1c:	00f71613          	slli	a2,a4,0xf
80004c20:	00b665b3          	or	a1,a2,a1
80004c24:	01375613          	srli	a2,a4,0x13
80004c28:	00d71693          	slli	a3,a4,0xd
80004c2c:	00c6e633          	or	a2,a3,a2
80004c30:	16012683          	lw	a3,352(sp)
80004c34:	00df06b3          	add	a3,t5,a3
80004c38:	00c5c5b3          	xor	a1,a1,a2
80004c3c:	00a75613          	srli	a2,a4,0xa
80004c40:	00070893          	mv	a7,a4
80004c44:	14e12823          	sw	a4,336(sp)
80004c48:	00c5c5b3          	xor	a1,a1,a2
80004c4c:	00b68eb3          	add	t4,a3,a1
80004c50:	00685593          	srli	a1,a6,0x6
80004c54:	01a81613          	slli	a2,a6,0x1a
80004c58:	00b665b3          	or	a1,a2,a1
80004c5c:	00b85613          	srli	a2,a6,0xb
80004c60:	01581693          	slli	a3,a6,0x15
80004c64:	00c6e633          	or	a2,a3,a2
80004c68:	00c5c5b3          	xor	a1,a1,a2
80004c6c:	01985613          	srli	a2,a6,0x19
80004c70:	00781693          	slli	a3,a6,0x7
80004c74:	00c6e633          	or	a2,a3,a2
80004c78:	00a40533          	add	a0,s0,a0
80004c7c:	00c5c5b3          	xor	a1,a1,a2
80004c80:	00f4c633          	xor	a2,s1,a5
80004c84:	00c87633          	and	a2,a6,a2
80004c88:	00f64633          	xor	a2,a2,a5
80004c8c:	00c50533          	add	a0,a0,a2
80004c90:	00b50533          	add	a0,a0,a1
80004c94:	00235593          	srli	a1,t1,0x2
80004c98:	01e31613          	slli	a2,t1,0x1e
80004c9c:	00b665b3          	or	a1,a2,a1
80004ca0:	00d35613          	srli	a2,t1,0xd
80004ca4:	01331693          	slli	a3,t1,0x13
80004ca8:	00c6e633          	or	a2,a3,a2
80004cac:	00c5c5b3          	xor	a1,a1,a2
80004cb0:	01635613          	srli	a2,t1,0x16
80004cb4:	00a31693          	slli	a3,t1,0xa
80004cb8:	00c6e633          	or	a2,a3,a2
80004cbc:	00c5c5b3          	xor	a1,a1,a2
80004cc0:	01437633          	and	a2,t1,s4
80004cc4:	015a76b3          	and	a3,s4,s5
80004cc8:	00d646b3          	xor	a3,a2,a3
80004ccc:	01537733          	and	a4,t1,s5
80004cd0:	00e6c6b3          	xor	a3,a3,a4
80004cd4:	00b685b3          	add	a1,a3,a1
80004cd8:	06412683          	lw	a3,100(sp)
80004cdc:	00d50533          	add	a0,a0,a3
80004ce0:	00a58f33          	add	t5,a1,a0
80004ce4:	01c50933          	add	s2,a0,t3
80004ce8:	00695513          	srli	a0,s2,0x6
80004cec:	01a91593          	slli	a1,s2,0x1a
80004cf0:	00a5e533          	or	a0,a1,a0
80004cf4:	00b95593          	srli	a1,s2,0xb
80004cf8:	01591693          	slli	a3,s2,0x15
80004cfc:	00b6e5b3          	or	a1,a3,a1
80004d00:	00b54533          	xor	a0,a0,a1
80004d04:	01995593          	srli	a1,s2,0x19
80004d08:	00791693          	slli	a3,s2,0x7
80004d0c:	00b6e5b3          	or	a1,a3,a1
80004d10:	00b54533          	xor	a0,a0,a1
80004d14:	00f885b3          	add	a1,a7,a5
80004d18:	009846b3          	xor	a3,a6,s1
80004d1c:	00d976b3          	and	a3,s2,a3
80004d20:	0096c6b3          	xor	a3,a3,s1
80004d24:	00d585b3          	add	a1,a1,a3
80004d28:	00a58533          	add	a0,a1,a0
80004d2c:	002f5593          	srli	a1,t5,0x2
80004d30:	01ef1693          	slli	a3,t5,0x1e
80004d34:	00b6e5b3          	or	a1,a3,a1
80004d38:	00df5693          	srli	a3,t5,0xd
80004d3c:	013f1713          	slli	a4,t5,0x13
80004d40:	00d766b3          	or	a3,a4,a3
80004d44:	00d5c5b3          	xor	a1,a1,a3
80004d48:	016f5693          	srli	a3,t5,0x16
80004d4c:	00af1713          	slli	a4,t5,0xa
80004d50:	00d766b3          	or	a3,a4,a3
80004d54:	00d5c5b3          	xor	a1,a1,a3
80004d58:	014346b3          	xor	a3,t1,s4
80004d5c:	00df76b3          	and	a3,t5,a3
80004d60:	00c6c633          	xor	a2,a3,a2
80004d64:	06012683          	lw	a3,96(sp)
80004d68:	00d50533          	add	a0,a0,a3
80004d6c:	00c585b3          	add	a1,a1,a2
80004d70:	00a582b3          	add	t0,a1,a0
80004d74:	01550ab3          	add	s5,a0,s5
80004d78:	006ad513          	srli	a0,s5,0x6
80004d7c:	01aa9613          	slli	a2,s5,0x1a
80004d80:	00a66533          	or	a0,a2,a0
80004d84:	00bad613          	srli	a2,s5,0xb
80004d88:	015a9693          	slli	a3,s5,0x15
80004d8c:	00c6e633          	or	a2,a3,a2
80004d90:	00c54533          	xor	a0,a0,a2
80004d94:	019ad613          	srli	a2,s5,0x19
80004d98:	007a9693          	slli	a3,s5,0x7
80004d9c:	00c6e633          	or	a2,a3,a2
80004da0:	009086b3          	add	a3,ra,s1
80004da4:	00c54533          	xor	a0,a0,a2
80004da8:	01094633          	xor	a2,s2,a6
80004dac:	00caf633          	and	a2,s5,a2
80004db0:	01064633          	xor	a2,a2,a6
80004db4:	00c68633          	add	a2,a3,a2
80004db8:	00a60533          	add	a0,a2,a0
80004dbc:	0022d613          	srli	a2,t0,0x2
80004dc0:	01e29693          	slli	a3,t0,0x1e
80004dc4:	00c6e633          	or	a2,a3,a2
80004dc8:	00d2d693          	srli	a3,t0,0xd
80004dcc:	01329713          	slli	a4,t0,0x13
80004dd0:	00d766b3          	or	a3,a4,a3
80004dd4:	00d64633          	xor	a2,a2,a3
80004dd8:	0162d693          	srli	a3,t0,0x16
80004ddc:	00a29713          	slli	a4,t0,0xa
80004de0:	00d766b3          	or	a3,a4,a3
80004de4:	00d64633          	xor	a2,a2,a3
80004de8:	01e2f6b3          	and	a3,t0,t5
80004dec:	006f7733          	and	a4,t5,t1
80004df0:	00e6c733          	xor	a4,a3,a4
80004df4:	0062f7b3          	and	a5,t0,t1
80004df8:	00f74733          	xor	a4,a4,a5
80004dfc:	00c70633          	add	a2,a4,a2
80004e00:	05c12703          	lw	a4,92(sp)
80004e04:	00e50533          	add	a0,a0,a4
80004e08:	00a608b3          	add	a7,a2,a0
80004e0c:	01450533          	add	a0,a0,s4
80004e10:	00655613          	srli	a2,a0,0x6
80004e14:	01a51713          	slli	a4,a0,0x1a
80004e18:	00c76633          	or	a2,a4,a2
80004e1c:	00b55713          	srli	a4,a0,0xb
80004e20:	01551493          	slli	s1,a0,0x15
80004e24:	00e4e733          	or	a4,s1,a4
80004e28:	00e64633          	xor	a2,a2,a4
80004e2c:	01955713          	srli	a4,a0,0x19
80004e30:	00751493          	slli	s1,a0,0x7
80004e34:	00e4e733          	or	a4,s1,a4
80004e38:	00e64633          	xor	a2,a2,a4
80004e3c:	010e8733          	add	a4,t4,a6
80004e40:	012ac4b3          	xor	s1,s5,s2
80004e44:	009574b3          	and	s1,a0,s1
80004e48:	0124c4b3          	xor	s1,s1,s2
80004e4c:	00970733          	add	a4,a4,s1
80004e50:	00c70633          	add	a2,a4,a2
80004e54:	0028d713          	srli	a4,a7,0x2
80004e58:	01e89493          	slli	s1,a7,0x1e
80004e5c:	00e4e733          	or	a4,s1,a4
80004e60:	00d8d493          	srli	s1,a7,0xd
80004e64:	01389413          	slli	s0,a7,0x13
80004e68:	009464b3          	or	s1,s0,s1
80004e6c:	00974733          	xor	a4,a4,s1
80004e70:	0168d493          	srli	s1,a7,0x16
80004e74:	00a89413          	slli	s0,a7,0xa
80004e78:	009464b3          	or	s1,s0,s1
80004e7c:	00974733          	xor	a4,a4,s1
80004e80:	01e2c4b3          	xor	s1,t0,t5
80004e84:	0098f4b3          	and	s1,a7,s1
80004e88:	00d4c6b3          	xor	a3,s1,a3
80004e8c:	05812783          	lw	a5,88(sp)
80004e90:	00f60633          	add	a2,a2,a5
80004e94:	00d706b3          	add	a3,a4,a3
80004e98:	00c68a33          	add	s4,a3,a2
80004e9c:	006603b3          	add	t2,a2,t1
80004ea0:	16412783          	lw	a5,356(sp)
80004ea4:	0077d613          	srli	a2,a5,0x7
80004ea8:	01979693          	slli	a3,a5,0x19
80004eac:	00c6e833          	or	a6,a3,a2
80004eb0:	007d5693          	srli	a3,s10,0x7
80004eb4:	019d1713          	slli	a4,s10,0x19
80004eb8:	00d76333          	or	t1,a4,a3
80004ebc:	007bd713          	srli	a4,s7,0x7
80004ec0:	019b9413          	slli	s0,s7,0x19
80004ec4:	00e46e33          	or	t3,s0,a4
80004ec8:	15412583          	lw	a1,340(sp)
80004ecc:	0075d413          	srli	s0,a1,0x7
80004ed0:	01959613          	slli	a2,a1,0x19
80004ed4:	008669b3          	or	s3,a2,s0
80004ed8:	0127d413          	srli	s0,a5,0x12
80004edc:	00e79693          	slli	a3,a5,0xe
80004ee0:	00078493          	mv	s1,a5
80004ee4:	0086e6b3          	or	a3,a3,s0
80004ee8:	012d5413          	srli	s0,s10,0x12
80004eec:	00ed1713          	slli	a4,s10,0xe
80004ef0:	00876733          	or	a4,a4,s0
80004ef4:	012bd413          	srli	s0,s7,0x12
80004ef8:	00eb9613          	slli	a2,s7,0xe
80004efc:	00866633          	or	a2,a2,s0
80004f00:	0125d413          	srli	s0,a1,0x12
80004f04:	00e59793          	slli	a5,a1,0xe
80004f08:	0087e7b3          	or	a5,a5,s0
80004f0c:	0106c6b3          	xor	a3,a3,a6
80004f10:	00674733          	xor	a4,a4,t1
80004f14:	01c64633          	xor	a2,a2,t3
80004f18:	0137c7b3          	xor	a5,a5,s3
80004f1c:	0034d413          	srli	s0,s1,0x3
80004f20:	0086c6b3          	xor	a3,a3,s0
80004f24:	003d5413          	srli	s0,s10,0x3
80004f28:	00874733          	xor	a4,a4,s0
80004f2c:	003bd413          	srli	s0,s7,0x3
80004f30:	00864633          	xor	a2,a2,s0
80004f34:	0035d413          	srli	s0,a1,0x3
80004f38:	0087c7b3          	xor	a5,a5,s0
80004f3c:	01a68833          	add	a6,a3,s10
80004f40:	01770333          	add	t1,a4,s7
80004f44:	00b60633          	add	a2,a2,a1
80004f48:	16812583          	lw	a1,360(sp)
80004f4c:	00b787b3          	add	a5,a5,a1
80004f50:	0110d413          	srli	s0,ra,0x11
80004f54:	00f09693          	slli	a3,ra,0xf
80004f58:	0086e6b3          	or	a3,a3,s0
80004f5c:	0130d413          	srli	s0,ra,0x13
80004f60:	00d09713          	slli	a4,ra,0xd
80004f64:	00876733          	or	a4,a4,s0
80004f68:	14812583          	lw	a1,328(sp)
80004f6c:	00b787b3          	add	a5,a5,a1
80004f70:	00e6c6b3          	xor	a3,a3,a4
80004f74:	00a0d713          	srli	a4,ra,0xa
80004f78:	00e6c6b3          	xor	a3,a3,a4
80004f7c:	00d785b3          	add	a1,a5,a3
80004f80:	011ed693          	srli	a3,t4,0x11
80004f84:	00fe9713          	slli	a4,t4,0xf
80004f88:	00d766b3          	or	a3,a4,a3
80004f8c:	013ed713          	srli	a4,t4,0x13
80004f90:	00de9793          	slli	a5,t4,0xd
80004f94:	00e7e733          	or	a4,a5,a4
80004f98:	01f60633          	add	a2,a2,t6
80004f9c:	00e6c6b3          	xor	a3,a3,a4
80004fa0:	00aed713          	srli	a4,t4,0xa
80004fa4:	00e6c6b3          	xor	a3,a3,a4
80004fa8:	00d607b3          	add	a5,a2,a3
80004fac:	0115d613          	srli	a2,a1,0x11
80004fb0:	00f59693          	slli	a3,a1,0xf
80004fb4:	00c6e633          	or	a2,a3,a2
80004fb8:	0135d693          	srli	a3,a1,0x13
80004fbc:	00d59713          	slli	a4,a1,0xd
80004fc0:	00d766b3          	or	a3,a4,a3
80004fc4:	01830733          	add	a4,t1,s8
80004fc8:	00d64633          	xor	a2,a2,a3
80004fcc:	00a5d693          	srli	a3,a1,0xa
80004fd0:	16b12423          	sw	a1,360(sp)
80004fd4:	00d64633          	xor	a2,a2,a3
80004fd8:	00c70fb3          	add	t6,a4,a2
80004fdc:	0117d613          	srli	a2,a5,0x11
80004fe0:	00f79693          	slli	a3,a5,0xf
80004fe4:	00c6e633          	or	a2,a3,a2
80004fe8:	0137d693          	srli	a3,a5,0x13
80004fec:	00d79713          	slli	a4,a5,0xd
80004ff0:	00d766b3          	or	a3,a4,a3
80004ff4:	15c12703          	lw	a4,348(sp)
80004ff8:	00e80733          	add	a4,a6,a4
80004ffc:	00d64633          	xor	a2,a2,a3
80005000:	00a7d693          	srli	a3,a5,0xa
80005004:	00078313          	mv	t1,a5
80005008:	14f12223          	sw	a5,324(sp)
8000500c:	00d64633          	xor	a2,a2,a3
80005010:	00c70e33          	add	t3,a4,a2
80005014:	0063d613          	srli	a2,t2,0x6
80005018:	01a39693          	slli	a3,t2,0x1a
8000501c:	00c6e633          	or	a2,a3,a2
80005020:	00b3d693          	srli	a3,t2,0xb
80005024:	01539713          	slli	a4,t2,0x15
80005028:	00d766b3          	or	a3,a4,a3
8000502c:	00d64633          	xor	a2,a2,a3
80005030:	0193d693          	srli	a3,t2,0x19
80005034:	00739713          	slli	a4,t2,0x7
80005038:	00d766b3          	or	a3,a4,a3
8000503c:	01258733          	add	a4,a1,s2
80005040:	00d64633          	xor	a2,a2,a3
80005044:	015546b3          	xor	a3,a0,s5
80005048:	00d3f6b3          	and	a3,t2,a3
8000504c:	0156c6b3          	xor	a3,a3,s5
80005050:	00d706b3          	add	a3,a4,a3
80005054:	00c68633          	add	a2,a3,a2
80005058:	002a5693          	srli	a3,s4,0x2
8000505c:	01ea1713          	slli	a4,s4,0x1e
80005060:	00d766b3          	or	a3,a4,a3
80005064:	00da5713          	srli	a4,s4,0xd
80005068:	013a1793          	slli	a5,s4,0x13
8000506c:	00e7e733          	or	a4,a5,a4
80005070:	00e6c6b3          	xor	a3,a3,a4
80005074:	016a5713          	srli	a4,s4,0x16
80005078:	00aa1793          	slli	a5,s4,0xa
8000507c:	00e7e733          	or	a4,a5,a4
80005080:	00e6c6b3          	xor	a3,a3,a4
80005084:	011a7833          	and	a6,s4,a7
80005088:	0058f7b3          	and	a5,a7,t0
8000508c:	00f847b3          	xor	a5,a6,a5
80005090:	005a7433          	and	s0,s4,t0
80005094:	0087c7b3          	xor	a5,a5,s0
80005098:	00d786b3          	add	a3,a5,a3
8000509c:	05412703          	lw	a4,84(sp)
800050a0:	00e60633          	add	a2,a2,a4
800050a4:	00c68933          	add	s2,a3,a2
800050a8:	01e60433          	add	s0,a2,t5
800050ac:	00645613          	srli	a2,s0,0x6
800050b0:	01a41693          	slli	a3,s0,0x1a
800050b4:	00c6e633          	or	a2,a3,a2
800050b8:	00b45693          	srli	a3,s0,0xb
800050bc:	01541793          	slli	a5,s0,0x15
800050c0:	00d7e6b3          	or	a3,a5,a3
800050c4:	00d64633          	xor	a2,a2,a3
800050c8:	01945693          	srli	a3,s0,0x19
800050cc:	00741793          	slli	a5,s0,0x7
800050d0:	00d7e6b3          	or	a3,a5,a3
800050d4:	00d64633          	xor	a2,a2,a3
800050d8:	015306b3          	add	a3,t1,s5
800050dc:	00a3c7b3          	xor	a5,t2,a0
800050e0:	00f477b3          	and	a5,s0,a5
800050e4:	00a7c7b3          	xor	a5,a5,a0
800050e8:	00f686b3          	add	a3,a3,a5
800050ec:	00c68633          	add	a2,a3,a2
800050f0:	00295693          	srli	a3,s2,0x2
800050f4:	01e91793          	slli	a5,s2,0x1e
800050f8:	00d7e6b3          	or	a3,a5,a3
800050fc:	00d95793          	srli	a5,s2,0xd
80005100:	01391713          	slli	a4,s2,0x13
80005104:	00f76733          	or	a4,a4,a5
80005108:	00e6c6b3          	xor	a3,a3,a4
8000510c:	01695713          	srli	a4,s2,0x16
80005110:	00a91793          	slli	a5,s2,0xa
80005114:	00e7e733          	or	a4,a5,a4
80005118:	00e6c6b3          	xor	a3,a3,a4
8000511c:	011a4733          	xor	a4,s4,a7
80005120:	00e97733          	and	a4,s2,a4
80005124:	01074733          	xor	a4,a4,a6
80005128:	05012783          	lw	a5,80(sp)
8000512c:	00f607b3          	add	a5,a2,a5
80005130:	00e68633          	add	a2,a3,a4
80005134:	00f60bb3          	add	s7,a2,a5
80005138:	00578833          	add	a6,a5,t0
8000513c:	00685693          	srli	a3,a6,0x6
80005140:	01a81713          	slli	a4,a6,0x1a
80005144:	00d766b3          	or	a3,a4,a3
80005148:	00b85713          	srli	a4,a6,0xb
8000514c:	01581793          	slli	a5,a6,0x15
80005150:	00e7e733          	or	a4,a5,a4
80005154:	00e6c6b3          	xor	a3,a3,a4
80005158:	01985713          	srli	a4,a6,0x19
8000515c:	00781793          	slli	a5,a6,0x7
80005160:	00e7e733          	or	a4,a5,a4
80005164:	00af8533          	add	a0,t6,a0
80005168:	00e6c6b3          	xor	a3,a3,a4
8000516c:	00744733          	xor	a4,s0,t2
80005170:	00e87733          	and	a4,a6,a4
80005174:	00774733          	xor	a4,a4,t2
80005178:	00e50533          	add	a0,a0,a4
8000517c:	00d505b3          	add	a1,a0,a3
80005180:	002bd693          	srli	a3,s7,0x2
80005184:	01eb9713          	slli	a4,s7,0x1e
80005188:	00d766b3          	or	a3,a4,a3
8000518c:	00dbd713          	srli	a4,s7,0xd
80005190:	013b9793          	slli	a5,s7,0x13
80005194:	00e7e733          	or	a4,a5,a4
80005198:	00e6c6b3          	xor	a3,a3,a4
8000519c:	016bd713          	srli	a4,s7,0x16
800051a0:	00ab9793          	slli	a5,s7,0xa
800051a4:	00e7e733          	or	a4,a5,a4
800051a8:	00e6c6b3          	xor	a3,a3,a4
800051ac:	012bfab3          	and	s5,s7,s2
800051b0:	014977b3          	and	a5,s2,s4
800051b4:	00fac7b3          	xor	a5,s5,a5
800051b8:	014bf533          	and	a0,s7,s4
800051bc:	00a7c533          	xor	a0,a5,a0
800051c0:	00d50533          	add	a0,a0,a3
800051c4:	04c12603          	lw	a2,76(sp)
800051c8:	00c586b3          	add	a3,a1,a2
800051cc:	00d50f33          	add	t5,a0,a3
800051d0:	011686b3          	add	a3,a3,a7
800051d4:	0066d513          	srli	a0,a3,0x6
800051d8:	01a69793          	slli	a5,a3,0x1a
800051dc:	00a7e533          	or	a0,a5,a0
800051e0:	00b6d793          	srli	a5,a3,0xb
800051e4:	01569713          	slli	a4,a3,0x15
800051e8:	00f76733          	or	a4,a4,a5
800051ec:	00e54533          	xor	a0,a0,a4
800051f0:	0196d713          	srli	a4,a3,0x19
800051f4:	00769793          	slli	a5,a3,0x7
800051f8:	00e7e733          	or	a4,a5,a4
800051fc:	00e54533          	xor	a0,a0,a4
80005200:	007e0733          	add	a4,t3,t2
80005204:	008847b3          	xor	a5,a6,s0
80005208:	00f6f7b3          	and	a5,a3,a5
8000520c:	0087c7b3          	xor	a5,a5,s0
80005210:	00f70733          	add	a4,a4,a5
80005214:	00a70533          	add	a0,a4,a0
80005218:	002f5713          	srli	a4,t5,0x2
8000521c:	01ef1793          	slli	a5,t5,0x1e
80005220:	00e7e733          	or	a4,a5,a4
80005224:	00df5793          	srli	a5,t5,0xd
80005228:	013f1493          	slli	s1,t5,0x13
8000522c:	00f4e7b3          	or	a5,s1,a5
80005230:	00f74733          	xor	a4,a4,a5
80005234:	016f5793          	srli	a5,t5,0x16
80005238:	00af1493          	slli	s1,t5,0xa
8000523c:	00f4e7b3          	or	a5,s1,a5
80005240:	00f74733          	xor	a4,a4,a5
80005244:	012bc7b3          	xor	a5,s7,s2
80005248:	00ff77b3          	and	a5,t5,a5
8000524c:	0157c7b3          	xor	a5,a5,s5
80005250:	04812603          	lw	a2,72(sp)
80005254:	00c50533          	add	a0,a0,a2
80005258:	00f70733          	add	a4,a4,a5
8000525c:	00a703b3          	add	t2,a4,a0
80005260:	01450d33          	add	s10,a0,s4
80005264:	16012583          	lw	a1,352(sp)
80005268:	0075d713          	srli	a4,a1,0x7
8000526c:	01959493          	slli	s1,a1,0x19
80005270:	00e4e2b3          	or	t0,s1,a4
80005274:	007cd493          	srli	s1,s9,0x7
80005278:	019c9713          	slli	a4,s9,0x19
8000527c:	009768b3          	or	a7,a4,s1
80005280:	007dd493          	srli	s1,s11,0x7
80005284:	019d9713          	slli	a4,s11,0x19
80005288:	00976a33          	or	s4,a4,s1
8000528c:	14c12503          	lw	a0,332(sp)
80005290:	00755493          	srli	s1,a0,0x7
80005294:	01951713          	slli	a4,a0,0x19
80005298:	00976ab3          	or	s5,a4,s1
8000529c:	0125d493          	srli	s1,a1,0x12
800052a0:	00e59713          	slli	a4,a1,0xe
800052a4:	00976733          	or	a4,a4,s1
800052a8:	012cd493          	srli	s1,s9,0x12
800052ac:	00ec9613          	slli	a2,s9,0xe
800052b0:	009669b3          	or	s3,a2,s1
800052b4:	012dd493          	srli	s1,s11,0x12
800052b8:	00ed9793          	slli	a5,s11,0xe
800052bc:	0097e7b3          	or	a5,a5,s1
800052c0:	01255493          	srli	s1,a0,0x12
800052c4:	00e51313          	slli	t1,a0,0xe
800052c8:	00050613          	mv	a2,a0
800052cc:	009364b3          	or	s1,t1,s1
800052d0:	00574733          	xor	a4,a4,t0
800052d4:	0119c8b3          	xor	a7,s3,a7
800052d8:	0147c7b3          	xor	a5,a5,s4
800052dc:	0154c4b3          	xor	s1,s1,s5
800052e0:	0035d513          	srli	a0,a1,0x3
800052e4:	00a74533          	xor	a0,a4,a0
800052e8:	003cd713          	srli	a4,s9,0x3
800052ec:	00e8c2b3          	xor	t0,a7,a4
800052f0:	003dd713          	srli	a4,s11,0x3
800052f4:	00e7c733          	xor	a4,a5,a4
800052f8:	00365793          	srli	a5,a2,0x3
800052fc:	00f4c7b3          	xor	a5,s1,a5
80005300:	019508b3          	add	a7,a0,s9
80005304:	01b28a33          	add	s4,t0,s11
80005308:	00c702b3          	add	t0,a4,a2
8000530c:	16412503          	lw	a0,356(sp)
80005310:	00a787b3          	add	a5,a5,a0
80005314:	000f8713          	mv	a4,t6
80005318:	15f12a23          	sw	t6,340(sp)
8000531c:	011fd493          	srli	s1,t6,0x11
80005320:	00ff9513          	slli	a0,t6,0xf
80005324:	00956533          	or	a0,a0,s1
80005328:	013fd493          	srli	s1,t6,0x13
8000532c:	00df9613          	slli	a2,t6,0xd
80005330:	00966633          	or	a2,a2,s1
80005334:	15012483          	lw	s1,336(sp)
80005338:	009787b3          	add	a5,a5,s1
8000533c:	00c54533          	xor	a0,a0,a2
80005340:	00afd613          	srli	a2,t6,0xa
80005344:	00c54533          	xor	a0,a0,a2
80005348:	00a78fb3          	add	t6,a5,a0
8000534c:	011e5513          	srli	a0,t3,0x11
80005350:	00fe1613          	slli	a2,t3,0xf
80005354:	00a66533          	or	a0,a2,a0
80005358:	013e5613          	srli	a2,t3,0x13
8000535c:	00de1793          	slli	a5,t3,0xd
80005360:	00c7e633          	or	a2,a5,a2
80005364:	00128733          	add	a4,t0,ra
80005368:	00c54533          	xor	a0,a0,a2
8000536c:	00ae5613          	srli	a2,t3,0xa
80005370:	000e0293          	mv	t0,t3
80005374:	13c12023          	sw	t3,288(sp)
80005378:	00c54533          	xor	a0,a0,a2
8000537c:	00a709b3          	add	s3,a4,a0
80005380:	011fd513          	srli	a0,t6,0x11
80005384:	00ff9613          	slli	a2,t6,0xf
80005388:	00a66533          	or	a0,a2,a0
8000538c:	013fd613          	srli	a2,t6,0x13
80005390:	00df9713          	slli	a4,t6,0xd
80005394:	00c76633          	or	a2,a4,a2
80005398:	01da0733          	add	a4,s4,t4
8000539c:	00c54533          	xor	a0,a0,a2
800053a0:	00afd613          	srli	a2,t6,0xa
800053a4:	00c54533          	xor	a0,a0,a2
800053a8:	00a70cb3          	add	s9,a4,a0
800053ac:	0119d513          	srli	a0,s3,0x11
800053b0:	00f99613          	slli	a2,s3,0xf
800053b4:	00a66533          	or	a0,a2,a0
800053b8:	0139d613          	srli	a2,s3,0x13
800053bc:	00d99713          	slli	a4,s3,0xd
800053c0:	00c76633          	or	a2,a4,a2
800053c4:	16812703          	lw	a4,360(sp)
800053c8:	00e88733          	add	a4,a7,a4
800053cc:	00c54533          	xor	a0,a0,a2
800053d0:	00a9d613          	srli	a2,s3,0xa
800053d4:	00c54533          	xor	a0,a0,a2
800053d8:	00a70a33          	add	s4,a4,a0
800053dc:	006d5513          	srli	a0,s10,0x6
800053e0:	01ad1613          	slli	a2,s10,0x1a
800053e4:	00a66533          	or	a0,a2,a0
800053e8:	00bd5613          	srli	a2,s10,0xb
800053ec:	015d1713          	slli	a4,s10,0x15
800053f0:	00c76633          	or	a2,a4,a2
800053f4:	00c54533          	xor	a0,a0,a2
800053f8:	019d5613          	srli	a2,s10,0x19
800053fc:	007d1713          	slli	a4,s10,0x7
80005400:	00c76633          	or	a2,a4,a2
80005404:	008f8733          	add	a4,t6,s0
80005408:	00c54533          	xor	a0,a0,a2
8000540c:	0106c633          	xor	a2,a3,a6
80005410:	00cd7633          	and	a2,s10,a2
80005414:	01064633          	xor	a2,a2,a6
80005418:	00c70633          	add	a2,a4,a2
8000541c:	00a60533          	add	a0,a2,a0
80005420:	0023d613          	srli	a2,t2,0x2
80005424:	01e39713          	slli	a4,t2,0x1e
80005428:	00c76633          	or	a2,a4,a2
8000542c:	00d3d713          	srli	a4,t2,0xd
80005430:	01339793          	slli	a5,t2,0x13
80005434:	00e7e733          	or	a4,a5,a4
80005438:	00e64633          	xor	a2,a2,a4
8000543c:	0163d713          	srli	a4,t2,0x16
80005440:	00a39793          	slli	a5,t2,0xa
80005444:	00e7e733          	or	a4,a5,a4
80005448:	00e64633          	xor	a2,a2,a4
8000544c:	01e3f733          	and	a4,t2,t5
80005450:	017f77b3          	and	a5,t5,s7
80005454:	00f747b3          	xor	a5,a4,a5
80005458:	0173f4b3          	and	s1,t2,s7
8000545c:	0097c7b3          	xor	a5,a5,s1
80005460:	00c78633          	add	a2,a5,a2
80005464:	04412783          	lw	a5,68(sp)
80005468:	00f50533          	add	a0,a0,a5
8000546c:	00a60ab3          	add	s5,a2,a0
80005470:	01250433          	add	s0,a0,s2
80005474:	00645513          	srli	a0,s0,0x6
80005478:	01a41613          	slli	a2,s0,0x1a
8000547c:	00a66533          	or	a0,a2,a0
80005480:	00b45613          	srli	a2,s0,0xb
80005484:	01541793          	slli	a5,s0,0x15
80005488:	00c7e633          	or	a2,a5,a2
8000548c:	00c54533          	xor	a0,a0,a2
80005490:	01945613          	srli	a2,s0,0x19
80005494:	00741793          	slli	a5,s0,0x7
80005498:	00c7e633          	or	a2,a5,a2
8000549c:	00c54533          	xor	a0,a0,a2
800054a0:	010985b3          	add	a1,s3,a6
800054a4:	00dd4633          	xor	a2,s10,a3
800054a8:	00c47633          	and	a2,s0,a2
800054ac:	00d64633          	xor	a2,a2,a3
800054b0:	00c585b3          	add	a1,a1,a2
800054b4:	00a58533          	add	a0,a1,a0
800054b8:	002ad593          	srli	a1,s5,0x2
800054bc:	01ea9613          	slli	a2,s5,0x1e
800054c0:	00b665b3          	or	a1,a2,a1
800054c4:	00dad613          	srli	a2,s5,0xd
800054c8:	013a9793          	slli	a5,s5,0x13
800054cc:	00c7e633          	or	a2,a5,a2
800054d0:	00c5c5b3          	xor	a1,a1,a2
800054d4:	016ad613          	srli	a2,s5,0x16
800054d8:	00aa9793          	slli	a5,s5,0xa
800054dc:	00c7e633          	or	a2,a5,a2
800054e0:	00c5c5b3          	xor	a1,a1,a2
800054e4:	01e3c633          	xor	a2,t2,t5
800054e8:	00caf633          	and	a2,s5,a2
800054ec:	00e64633          	xor	a2,a2,a4
800054f0:	04012703          	lw	a4,64(sp)
800054f4:	00e50533          	add	a0,a0,a4
800054f8:	00c585b3          	add	a1,a1,a2
800054fc:	00a58db3          	add	s11,a1,a0
80005500:	01750bb3          	add	s7,a0,s7
80005504:	006bd513          	srli	a0,s7,0x6
80005508:	01ab9593          	slli	a1,s7,0x1a
8000550c:	00a5e533          	or	a0,a1,a0
80005510:	00bbd593          	srli	a1,s7,0xb
80005514:	015b9713          	slli	a4,s7,0x15
80005518:	00b765b3          	or	a1,a4,a1
8000551c:	00b54533          	xor	a0,a0,a1
80005520:	019bd593          	srli	a1,s7,0x19
80005524:	007b9713          	slli	a4,s7,0x7
80005528:	00b765b3          	or	a1,a4,a1
8000552c:	00dc86b3          	add	a3,s9,a3
80005530:	00b54533          	xor	a0,a0,a1
80005534:	01a445b3          	xor	a1,s0,s10
80005538:	00bbf5b3          	and	a1,s7,a1
8000553c:	01a5c5b3          	xor	a1,a1,s10
80005540:	00b685b3          	add	a1,a3,a1
80005544:	00a58533          	add	a0,a1,a0
80005548:	002dd593          	srli	a1,s11,0x2
8000554c:	01ed9693          	slli	a3,s11,0x1e
80005550:	00b6e5b3          	or	a1,a3,a1
80005554:	00ddd693          	srli	a3,s11,0xd
80005558:	013d9713          	slli	a4,s11,0x13
8000555c:	00d766b3          	or	a3,a4,a3
80005560:	00d5c5b3          	xor	a1,a1,a3
80005564:	016dd693          	srli	a3,s11,0x16
80005568:	00ad9713          	slli	a4,s11,0xa
8000556c:	00d766b3          	or	a3,a4,a3
80005570:	00d5c5b3          	xor	a1,a1,a3
80005574:	015df4b3          	and	s1,s11,s5
80005578:	007af6b3          	and	a3,s5,t2
8000557c:	00d4c6b3          	xor	a3,s1,a3
80005580:	007df7b3          	and	a5,s11,t2
80005584:	00f6c6b3          	xor	a3,a3,a5
80005588:	00b685b3          	add	a1,a3,a1
8000558c:	03c12603          	lw	a2,60(sp)
80005590:	00c50533          	add	a0,a0,a2
80005594:	00a58933          	add	s2,a1,a0
80005598:	01e508b3          	add	a7,a0,t5
8000559c:	0068d513          	srli	a0,a7,0x6
800055a0:	01a89593          	slli	a1,a7,0x1a
800055a4:	00a5e533          	or	a0,a1,a0
800055a8:	00b8d593          	srli	a1,a7,0xb
800055ac:	01589793          	slli	a5,a7,0x15
800055b0:	00b7e5b3          	or	a1,a5,a1
800055b4:	00b54533          	xor	a0,a0,a1
800055b8:	0198d593          	srli	a1,a7,0x19
800055bc:	00789793          	slli	a5,a7,0x7
800055c0:	00b7e5b3          	or	a1,a5,a1
800055c4:	00b54533          	xor	a0,a0,a1
800055c8:	01aa05b3          	add	a1,s4,s10
800055cc:	008bc7b3          	xor	a5,s7,s0
800055d0:	00f8f7b3          	and	a5,a7,a5
800055d4:	0087c7b3          	xor	a5,a5,s0
800055d8:	00f585b3          	add	a1,a1,a5
800055dc:	00a58533          	add	a0,a1,a0
800055e0:	00295593          	srli	a1,s2,0x2
800055e4:	01e91793          	slli	a5,s2,0x1e
800055e8:	00b7e5b3          	or	a1,a5,a1
800055ec:	00d95793          	srli	a5,s2,0xd
800055f0:	01391713          	slli	a4,s2,0x13
800055f4:	00f76733          	or	a4,a4,a5
800055f8:	00e5c5b3          	xor	a1,a1,a4
800055fc:	01695713          	srli	a4,s2,0x16
80005600:	00a91793          	slli	a5,s2,0xa
80005604:	00e7e733          	or	a4,a5,a4
80005608:	00e5c5b3          	xor	a1,a1,a4
8000560c:	015dc733          	xor	a4,s11,s5
80005610:	00e97733          	and	a4,s2,a4
80005614:	00974733          	xor	a4,a4,s1
80005618:	03812603          	lw	a2,56(sp)
8000561c:	00c50533          	add	a0,a0,a2
80005620:	00e585b3          	add	a1,a1,a4
80005624:	00a58d33          	add	s10,a1,a0
80005628:	00750733          	add	a4,a0,t2
8000562c:	15c12683          	lw	a3,348(sp)
80005630:	0076d513          	srli	a0,a3,0x7
80005634:	01969793          	slli	a5,a3,0x19
80005638:	00a7e833          	or	a6,a5,a0
8000563c:	007c5793          	srli	a5,s8,0x7
80005640:	019c1513          	slli	a0,s8,0x19
80005644:	00f56333          	or	t1,a0,a5
80005648:	007b5793          	srli	a5,s6,0x7
8000564c:	019b1513          	slli	a0,s6,0x19
80005650:	00f56f33          	or	t5,a0,a5
80005654:	14812603          	lw	a2,328(sp)
80005658:	00765793          	srli	a5,a2,0x7
8000565c:	01961513          	slli	a0,a2,0x19
80005660:	00060393          	mv	t2,a2
80005664:	00f56633          	or	a2,a0,a5
80005668:	0126d793          	srli	a5,a3,0x12
8000566c:	00e69513          	slli	a0,a3,0xe
80005670:	00f56533          	or	a0,a0,a5
80005674:	012c5793          	srli	a5,s8,0x12
80005678:	00ec1593          	slli	a1,s8,0xe
8000567c:	00f5e5b3          	or	a1,a1,a5
80005680:	012b5793          	srli	a5,s6,0x12
80005684:	00eb1493          	slli	s1,s6,0xe
80005688:	00f4e7b3          	or	a5,s1,a5
8000568c:	0123d493          	srli	s1,t2,0x12
80005690:	00e39e13          	slli	t3,t2,0xe
80005694:	009e64b3          	or	s1,t3,s1
80005698:	01054533          	xor	a0,a0,a6
8000569c:	0065c5b3          	xor	a1,a1,t1
800056a0:	01e7c7b3          	xor	a5,a5,t5
800056a4:	00c4c4b3          	xor	s1,s1,a2
800056a8:	0036d613          	srli	a2,a3,0x3
800056ac:	00c54533          	xor	a0,a0,a2
800056b0:	003c5613          	srli	a2,s8,0x3
800056b4:	00c5c5b3          	xor	a1,a1,a2
800056b8:	003b5613          	srli	a2,s6,0x3
800056bc:	00c7c633          	xor	a2,a5,a2
800056c0:	0033d793          	srli	a5,t2,0x3
800056c4:	00f4c7b3          	xor	a5,s1,a5
800056c8:	01850833          	add	a6,a0,s8
800056cc:	016586b3          	add	a3,a1,s6
800056d0:	00760633          	add	a2,a2,t2
800056d4:	16012503          	lw	a0,352(sp)
800056d8:	00a787b3          	add	a5,a5,a0
800056dc:	011cd493          	srli	s1,s9,0x11
800056e0:	00fc9513          	slli	a0,s9,0xf
800056e4:	00956533          	or	a0,a0,s1
800056e8:	013cd493          	srli	s1,s9,0x13
800056ec:	00dc9593          	slli	a1,s9,0xd
800056f0:	0095e5b3          	or	a1,a1,s1
800056f4:	14412483          	lw	s1,324(sp)
800056f8:	009787b3          	add	a5,a5,s1
800056fc:	00b54533          	xor	a0,a0,a1
80005700:	00acd593          	srli	a1,s9,0xa
80005704:	00b54533          	xor	a0,a0,a1
80005708:	00a78f33          	add	t5,a5,a0
8000570c:	011a5513          	srli	a0,s4,0x11
80005710:	00fa1593          	slli	a1,s4,0xf
80005714:	00a5e533          	or	a0,a1,a0
80005718:	013a5593          	srli	a1,s4,0x13
8000571c:	00da1793          	slli	a5,s4,0xd
80005720:	00b7e5b3          	or	a1,a5,a1
80005724:	15412783          	lw	a5,340(sp)
80005728:	00f60633          	add	a2,a2,a5
8000572c:	00b54533          	xor	a0,a0,a1
80005730:	00aa5593          	srli	a1,s4,0xa
80005734:	00b54533          	xor	a0,a0,a1
80005738:	00a607b3          	add	a5,a2,a0
8000573c:	011f5513          	srli	a0,t5,0x11
80005740:	00ff1593          	slli	a1,t5,0xf
80005744:	00a5e533          	or	a0,a1,a0
80005748:	013f5593          	srli	a1,t5,0x13
8000574c:	00df1613          	slli	a2,t5,0xd
80005750:	00b665b3          	or	a1,a2,a1
80005754:	00568633          	add	a2,a3,t0
80005758:	00b54533          	xor	a0,a0,a1
8000575c:	00af5593          	srli	a1,t5,0xa
80005760:	00b54533          	xor	a0,a0,a1
80005764:	00a60b33          	add	s6,a2,a0
80005768:	0117d513          	srli	a0,a5,0x11
8000576c:	00f79593          	slli	a1,a5,0xf
80005770:	00a5e533          	or	a0,a1,a0
80005774:	0137d593          	srli	a1,a5,0x13
80005778:	00d79613          	slli	a2,a5,0xd
8000577c:	00b665b3          	or	a1,a2,a1
80005780:	01f80633          	add	a2,a6,t6
80005784:	00b54533          	xor	a0,a0,a1
80005788:	00a7d593          	srli	a1,a5,0xa
8000578c:	00078693          	mv	a3,a5
80005790:	16f12023          	sw	a5,352(sp)
80005794:	00b54533          	xor	a0,a0,a1
80005798:	00a603b3          	add	t2,a2,a0
8000579c:	00675513          	srli	a0,a4,0x6
800057a0:	01a71593          	slli	a1,a4,0x1a
800057a4:	00a5e533          	or	a0,a1,a0
800057a8:	00b75593          	srli	a1,a4,0xb
800057ac:	01571613          	slli	a2,a4,0x15
800057b0:	00b665b3          	or	a1,a2,a1
800057b4:	00b54533          	xor	a0,a0,a1
800057b8:	01975593          	srli	a1,a4,0x19
800057bc:	00771613          	slli	a2,a4,0x7
800057c0:	00b665b3          	or	a1,a2,a1
800057c4:	008f0633          	add	a2,t5,s0
800057c8:	00b54533          	xor	a0,a0,a1
800057cc:	0178c5b3          	xor	a1,a7,s7
800057d0:	00b775b3          	and	a1,a4,a1
800057d4:	0175c5b3          	xor	a1,a1,s7
800057d8:	00b605b3          	add	a1,a2,a1
800057dc:	00a58533          	add	a0,a1,a0
800057e0:	002d5593          	srli	a1,s10,0x2
800057e4:	01ed1613          	slli	a2,s10,0x1e
800057e8:	00b665b3          	or	a1,a2,a1
800057ec:	00dd5613          	srli	a2,s10,0xd
800057f0:	013d1793          	slli	a5,s10,0x13
800057f4:	00c7e633          	or	a2,a5,a2
800057f8:	00c5c5b3          	xor	a1,a1,a2
800057fc:	016d5613          	srli	a2,s10,0x16
80005800:	00ad1793          	slli	a5,s10,0xa
80005804:	00c7e633          	or	a2,a5,a2
80005808:	00c5c5b3          	xor	a1,a1,a2
8000580c:	012d7633          	and	a2,s10,s2
80005810:	01b977b3          	and	a5,s2,s11
80005814:	00f647b3          	xor	a5,a2,a5
80005818:	01bd74b3          	and	s1,s10,s11
8000581c:	0097c7b3          	xor	a5,a5,s1
80005820:	00b785b3          	add	a1,a5,a1
80005824:	03412783          	lw	a5,52(sp)
80005828:	00f50533          	add	a0,a0,a5
8000582c:	00a58e33          	add	t3,a1,a0
80005830:	01550c33          	add	s8,a0,s5
80005834:	006c5793          	srli	a5,s8,0x6
80005838:	01ac1493          	slli	s1,s8,0x1a
8000583c:	00f4e7b3          	or	a5,s1,a5
80005840:	00bc5493          	srli	s1,s8,0xb
80005844:	015c1413          	slli	s0,s8,0x15
80005848:	009464b3          	or	s1,s0,s1
8000584c:	0097c7b3          	xor	a5,a5,s1
80005850:	019c5493          	srli	s1,s8,0x19
80005854:	007c1413          	slli	s0,s8,0x7
80005858:	009464b3          	or	s1,s0,s1
8000585c:	0097c7b3          	xor	a5,a5,s1
80005860:	017684b3          	add	s1,a3,s7
80005864:	01174433          	xor	s0,a4,a7
80005868:	008c7433          	and	s0,s8,s0
8000586c:	01144433          	xor	s0,s0,a7
80005870:	008484b3          	add	s1,s1,s0
80005874:	00f487b3          	add	a5,s1,a5
80005878:	002e5493          	srli	s1,t3,0x2
8000587c:	01ee1413          	slli	s0,t3,0x1e
80005880:	009464b3          	or	s1,s0,s1
80005884:	00de5413          	srli	s0,t3,0xd
80005888:	013e1593          	slli	a1,t3,0x13
8000588c:	0085e5b3          	or	a1,a1,s0
80005890:	00b4c5b3          	xor	a1,s1,a1
80005894:	016e5493          	srli	s1,t3,0x16
80005898:	00ae1413          	slli	s0,t3,0xa
8000589c:	009464b3          	or	s1,s0,s1
800058a0:	0095c5b3          	xor	a1,a1,s1
800058a4:	012d44b3          	xor	s1,s10,s2
800058a8:	009e74b3          	and	s1,t3,s1
800058ac:	00c4c633          	xor	a2,s1,a2
800058b0:	03012503          	lw	a0,48(sp)
800058b4:	00a787b3          	add	a5,a5,a0
800058b8:	00c585b3          	add	a1,a1,a2
800058bc:	00f582b3          	add	t0,a1,a5
800058c0:	01b78833          	add	a6,a5,s11
800058c4:	00685593          	srli	a1,a6,0x6
800058c8:	01a81793          	slli	a5,a6,0x1a
800058cc:	00b7e5b3          	or	a1,a5,a1
800058d0:	00b85793          	srli	a5,a6,0xb
800058d4:	01581493          	slli	s1,a6,0x15
800058d8:	00f4e7b3          	or	a5,s1,a5
800058dc:	00f5c5b3          	xor	a1,a1,a5
800058e0:	01985793          	srli	a5,a6,0x19
800058e4:	00781493          	slli	s1,a6,0x7
800058e8:	00f4e7b3          	or	a5,s1,a5
800058ec:	011b06b3          	add	a3,s6,a7
800058f0:	00f5c5b3          	xor	a1,a1,a5
800058f4:	00ec47b3          	xor	a5,s8,a4
800058f8:	00f877b3          	and	a5,a6,a5
800058fc:	00e7c7b3          	xor	a5,a5,a4
80005900:	00f686b3          	add	a3,a3,a5
80005904:	00b68633          	add	a2,a3,a1
80005908:	0022d693          	srli	a3,t0,0x2
8000590c:	01e29793          	slli	a5,t0,0x1e
80005910:	00d7e6b3          	or	a3,a5,a3
80005914:	00d2d793          	srli	a5,t0,0xd
80005918:	01329493          	slli	s1,t0,0x13
8000591c:	00f4e7b3          	or	a5,s1,a5
80005920:	00f6c6b3          	xor	a3,a3,a5
80005924:	0162d793          	srli	a5,t0,0x16
80005928:	00a29493          	slli	s1,t0,0xa
8000592c:	00f4e7b3          	or	a5,s1,a5
80005930:	00f6c6b3          	xor	a3,a3,a5
80005934:	01c2fbb3          	and	s7,t0,t3
80005938:	01ae77b3          	and	a5,t3,s10
8000593c:	00fbc7b3          	xor	a5,s7,a5
80005940:	01a2f5b3          	and	a1,t0,s10
80005944:	00b7c5b3          	xor	a1,a5,a1
80005948:	00d585b3          	add	a1,a1,a3
8000594c:	02c12503          	lw	a0,44(sp)
80005950:	00a606b3          	add	a3,a2,a0
80005954:	00d58ab3          	add	s5,a1,a3
80005958:	012687b3          	add	a5,a3,s2
8000595c:	0067d593          	srli	a1,a5,0x6
80005960:	01a79693          	slli	a3,a5,0x1a
80005964:	00b6e5b3          	or	a1,a3,a1
80005968:	00b7d693          	srli	a3,a5,0xb
8000596c:	01579493          	slli	s1,a5,0x15
80005970:	00d4e6b3          	or	a3,s1,a3
80005974:	00d5c5b3          	xor	a1,a1,a3
80005978:	0197d693          	srli	a3,a5,0x19
8000597c:	00779493          	slli	s1,a5,0x7
80005980:	00d4e6b3          	or	a3,s1,a3
80005984:	00d5c5b3          	xor	a1,a1,a3
80005988:	00e386b3          	add	a3,t2,a4
8000598c:	01884733          	xor	a4,a6,s8
80005990:	00e7f733          	and	a4,a5,a4
80005994:	01874733          	xor	a4,a4,s8
80005998:	00e686b3          	add	a3,a3,a4
8000599c:	00b685b3          	add	a1,a3,a1
800059a0:	002ad693          	srli	a3,s5,0x2
800059a4:	01ea9713          	slli	a4,s5,0x1e
800059a8:	00d766b3          	or	a3,a4,a3
800059ac:	00dad713          	srli	a4,s5,0xd
800059b0:	013a9493          	slli	s1,s5,0x13
800059b4:	00e4e733          	or	a4,s1,a4
800059b8:	00e6c6b3          	xor	a3,a3,a4
800059bc:	016ad713          	srli	a4,s5,0x16
800059c0:	00aa9493          	slli	s1,s5,0xa
800059c4:	00e4e733          	or	a4,s1,a4
800059c8:	00e6c6b3          	xor	a3,a3,a4
800059cc:	01c2c733          	xor	a4,t0,t3
800059d0:	00eaf733          	and	a4,s5,a4
800059d4:	01774733          	xor	a4,a4,s7
800059d8:	02812503          	lw	a0,40(sp)
800059dc:	00a585b3          	add	a1,a1,a0
800059e0:	00e686b3          	add	a3,a3,a4
800059e4:	00b68db3          	add	s11,a3,a1
800059e8:	01a584b3          	add	s1,a1,s10
800059ec:	16812683          	lw	a3,360(sp)
800059f0:	0076d593          	srli	a1,a3,0x7
800059f4:	01969713          	slli	a4,a3,0x19
800059f8:	00b768b3          	or	a7,a4,a1
800059fc:	007ed713          	srli	a4,t4,0x7
80005a00:	019e9593          	slli	a1,t4,0x19
80005a04:	00e5e933          	or	s2,a1,a4
80005a08:	0070d713          	srli	a4,ra,0x7
80005a0c:	01909593          	slli	a1,ra,0x19
80005a10:	00e5ebb3          	or	s7,a1,a4
80005a14:	15012603          	lw	a2,336(sp)
80005a18:	00765713          	srli	a4,a2,0x7
80005a1c:	01961593          	slli	a1,a2,0x19
80005a20:	00e5e333          	or	t1,a1,a4
80005a24:	0126d713          	srli	a4,a3,0x12
80005a28:	00e69593          	slli	a1,a3,0xe
80005a2c:	00068513          	mv	a0,a3
80005a30:	00e5ed33          	or	s10,a1,a4
80005a34:	012ed713          	srli	a4,t4,0x12
80005a38:	00ee9693          	slli	a3,t4,0xe
80005a3c:	00e6e6b3          	or	a3,a3,a4
80005a40:	0120d713          	srli	a4,ra,0x12
80005a44:	00e09413          	slli	s0,ra,0xe
80005a48:	00e46733          	or	a4,s0,a4
80005a4c:	01265413          	srli	s0,a2,0x12
80005a50:	00e61593          	slli	a1,a2,0xe
80005a54:	0085e5b3          	or	a1,a1,s0
80005a58:	011d4433          	xor	s0,s10,a7
80005a5c:	0126c6b3          	xor	a3,a3,s2
80005a60:	01774733          	xor	a4,a4,s7
80005a64:	0065c5b3          	xor	a1,a1,t1
80005a68:	00355513          	srli	a0,a0,0x3
80005a6c:	00a44533          	xor	a0,s0,a0
80005a70:	003ed413          	srli	s0,t4,0x3
80005a74:	0086c6b3          	xor	a3,a3,s0
80005a78:	0030d413          	srli	s0,ra,0x3
80005a7c:	00874733          	xor	a4,a4,s0
80005a80:	00365413          	srli	s0,a2,0x3
80005a84:	0085c5b3          	xor	a1,a1,s0
80005a88:	01d50533          	add	a0,a0,t4
80005a8c:	001686b3          	add	a3,a3,ra
80005a90:	00c70733          	add	a4,a4,a2
80005a94:	15c12603          	lw	a2,348(sp)
80005a98:	00c585b3          	add	a1,a1,a2
80005a9c:	01e50f33          	add	t5,a0,t5
80005aa0:	01468eb3          	add	t4,a3,s4
80005aa4:	01970733          	add	a4,a4,s9
80005aa8:	013585b3          	add	a1,a1,s3
80005aac:	011b5413          	srli	s0,s6,0x11
80005ab0:	00fb1513          	slli	a0,s6,0xf
80005ab4:	00856533          	or	a0,a0,s0
80005ab8:	013b5413          	srli	s0,s6,0x13
80005abc:	00db1693          	slli	a3,s6,0xd
80005ac0:	0086e6b3          	or	a3,a3,s0
80005ac4:	00d54533          	xor	a0,a0,a3
80005ac8:	00ab5693          	srli	a3,s6,0xa
80005acc:	00d54533          	xor	a0,a0,a3
80005ad0:	00a580b3          	add	ra,a1,a0
80005ad4:	16712223          	sw	t2,356(sp)
80005ad8:	0113d513          	srli	a0,t2,0x11
80005adc:	00f39593          	slli	a1,t2,0xf
80005ae0:	00a5e533          	or	a0,a1,a0
80005ae4:	0133d593          	srli	a1,t2,0x13
80005ae8:	00d39693          	slli	a3,t2,0xd
80005aec:	00b6e5b3          	or	a1,a3,a1
80005af0:	00b54533          	xor	a0,a0,a1
80005af4:	00a3d593          	srli	a1,t2,0xa
80005af8:	00b54533          	xor	a0,a0,a1
80005afc:	00a70533          	add	a0,a4,a0
80005b00:	0110d593          	srli	a1,ra,0x11
80005b04:	00f09693          	slli	a3,ra,0xf
80005b08:	00b6e5b3          	or	a1,a3,a1
80005b0c:	0130d693          	srli	a3,ra,0x13
80005b10:	00d09713          	slli	a4,ra,0xd
80005b14:	00d766b3          	or	a3,a4,a3
80005b18:	00d5c5b3          	xor	a1,a1,a3
80005b1c:	00a0d693          	srli	a3,ra,0xa
80005b20:	00d5c5b3          	xor	a1,a1,a3
80005b24:	00be8eb3          	add	t4,t4,a1
80005b28:	01155593          	srli	a1,a0,0x11
80005b2c:	00f51693          	slli	a3,a0,0xf
80005b30:	00b6e5b3          	or	a1,a3,a1
80005b34:	01355693          	srli	a3,a0,0x13
80005b38:	00d51713          	slli	a4,a0,0xd
80005b3c:	00d766b3          	or	a3,a4,a3
80005b40:	00d5c5b3          	xor	a1,a1,a3
80005b44:	00a55693          	srli	a3,a0,0xa
80005b48:	00d5c5b3          	xor	a1,a1,a3
80005b4c:	00bf0333          	add	t1,t5,a1
80005b50:	00930f33          	add	t5,t1,s1
80005b54:	00fe8933          	add	s2,t4,a5
80005b58:	01050a33          	add	s4,a0,a6
80005b5c:	01808533          	add	a0,ra,s8
80005b60:	0064d593          	srli	a1,s1,0x6
80005b64:	01a49713          	slli	a4,s1,0x1a
80005b68:	00b765b3          	or	a1,a4,a1
80005b6c:	00b4d713          	srli	a4,s1,0xb
80005b70:	01549413          	slli	s0,s1,0x15
80005b74:	00e46733          	or	a4,s0,a4
80005b78:	00e5c5b3          	xor	a1,a1,a4
80005b7c:	0194d713          	srli	a4,s1,0x19
80005b80:	00749413          	slli	s0,s1,0x7
80005b84:	00e46733          	or	a4,s0,a4
80005b88:	00e5c5b3          	xor	a1,a1,a4
80005b8c:	0107c733          	xor	a4,a5,a6
80005b90:	00e4f733          	and	a4,s1,a4
80005b94:	01074633          	xor	a2,a4,a6
80005b98:	00c50533          	add	a0,a0,a2
80005b9c:	00b50533          	add	a0,a0,a1
80005ba0:	02412583          	lw	a1,36(sp)
80005ba4:	00b505b3          	add	a1,a0,a1
80005ba8:	002dd513          	srli	a0,s11,0x2
80005bac:	01ed9613          	slli	a2,s11,0x1e
80005bb0:	00a66533          	or	a0,a2,a0
80005bb4:	00ddd613          	srli	a2,s11,0xd
80005bb8:	013d9713          	slli	a4,s11,0x13
80005bbc:	00c76633          	or	a2,a4,a2
80005bc0:	00c54533          	xor	a0,a0,a2
80005bc4:	016dd613          	srli	a2,s11,0x16
80005bc8:	00ad9713          	slli	a4,s11,0xa
80005bcc:	00c76633          	or	a2,a4,a2
80005bd0:	00c54533          	xor	a0,a0,a2
80005bd4:	015df633          	and	a2,s11,s5
80005bd8:	005df733          	and	a4,s11,t0
80005bdc:	005af433          	and	s0,s5,t0
80005be0:	00864433          	xor	s0,a2,s0
80005be4:	00e44733          	xor	a4,s0,a4
80005be8:	00a70533          	add	a0,a4,a0
80005bec:	00b50bb3          	add	s7,a0,a1
80005bf0:	01c585b3          	add	a1,a1,t3
80005bf4:	0065d713          	srli	a4,a1,0x6
80005bf8:	01a59413          	slli	s0,a1,0x1a
80005bfc:	00e46733          	or	a4,s0,a4
80005c00:	00b5d413          	srli	s0,a1,0xb
80005c04:	01559693          	slli	a3,a1,0x15
80005c08:	0086e6b3          	or	a3,a3,s0
80005c0c:	00d746b3          	xor	a3,a4,a3
80005c10:	0195d713          	srli	a4,a1,0x19
80005c14:	00759413          	slli	s0,a1,0x7
80005c18:	00e46733          	or	a4,s0,a4
80005c1c:	00e6c6b3          	xor	a3,a3,a4
80005c20:	00f4c733          	xor	a4,s1,a5
80005c24:	00e5f733          	and	a4,a1,a4
80005c28:	00f74733          	xor	a4,a4,a5
80005c2c:	00ea0733          	add	a4,s4,a4
80005c30:	00d706b3          	add	a3,a4,a3
80005c34:	02012503          	lw	a0,32(sp)
80005c38:	00a686b3          	add	a3,a3,a0
80005c3c:	002bd713          	srli	a4,s7,0x2
80005c40:	01eb9793          	slli	a5,s7,0x1e
80005c44:	00e7e733          	or	a4,a5,a4
80005c48:	00dbd793          	srli	a5,s7,0xd
80005c4c:	013b9413          	slli	s0,s7,0x13
80005c50:	00f467b3          	or	a5,s0,a5
80005c54:	00f74733          	xor	a4,a4,a5
80005c58:	016bd793          	srli	a5,s7,0x16
80005c5c:	00ab9413          	slli	s0,s7,0xa
80005c60:	00f467b3          	or	a5,s0,a5
80005c64:	00f74733          	xor	a4,a4,a5
80005c68:	015dc7b3          	xor	a5,s11,s5
80005c6c:	00fbf7b3          	and	a5,s7,a5
80005c70:	00c7c633          	xor	a2,a5,a2
80005c74:	00c70633          	add	a2,a4,a2
80005c78:	00d60733          	add	a4,a2,a3
80005c7c:	00568433          	add	s0,a3,t0
80005c80:	00645613          	srli	a2,s0,0x6
80005c84:	01a41693          	slli	a3,s0,0x1a
80005c88:	00c6e633          	or	a2,a3,a2
80005c8c:	00b45693          	srli	a3,s0,0xb
80005c90:	01541793          	slli	a5,s0,0x15
80005c94:	00d7e6b3          	or	a3,a5,a3
80005c98:	00d64633          	xor	a2,a2,a3
80005c9c:	01945693          	srli	a3,s0,0x19
80005ca0:	00741793          	slli	a5,s0,0x7
80005ca4:	00d7e6b3          	or	a3,a5,a3
80005ca8:	00d64633          	xor	a2,a2,a3
80005cac:	0095c6b3          	xor	a3,a1,s1
80005cb0:	00d476b3          	and	a3,s0,a3
80005cb4:	0096c6b3          	xor	a3,a3,s1
80005cb8:	00d906b3          	add	a3,s2,a3
80005cbc:	00c68633          	add	a2,a3,a2
80005cc0:	01c12503          	lw	a0,28(sp)
80005cc4:	00a60633          	add	a2,a2,a0
80005cc8:	00275693          	srli	a3,a4,0x2
80005ccc:	01e71793          	slli	a5,a4,0x1e
80005cd0:	00d7e6b3          	or	a3,a5,a3
80005cd4:	00d75793          	srli	a5,a4,0xd
80005cd8:	01371493          	slli	s1,a4,0x13
80005cdc:	00f4e7b3          	or	a5,s1,a5
80005ce0:	00f6c6b3          	xor	a3,a3,a5
80005ce4:	01675793          	srli	a5,a4,0x16
80005ce8:	00a71493          	slli	s1,a4,0xa
80005cec:	00f4e7b3          	or	a5,s1,a5
80005cf0:	00f6c6b3          	xor	a3,a3,a5
80005cf4:	01777833          	and	a6,a4,s7
80005cf8:	01b777b3          	and	a5,a4,s11
80005cfc:	01bbf4b3          	and	s1,s7,s11
80005d00:	009844b3          	xor	s1,a6,s1
80005d04:	00f4c7b3          	xor	a5,s1,a5
80005d08:	00d786b3          	add	a3,a5,a3
80005d0c:	00c68e33          	add	t3,a3,a2
80005d10:	01560d33          	add	s10,a2,s5
80005d14:	006d5613          	srli	a2,s10,0x6
80005d18:	01ad1693          	slli	a3,s10,0x1a
80005d1c:	00c6e633          	or	a2,a3,a2
80005d20:	00bd5693          	srli	a3,s10,0xb
80005d24:	015d1793          	slli	a5,s10,0x15
80005d28:	00d7e6b3          	or	a3,a5,a3
80005d2c:	00d64633          	xor	a2,a2,a3
80005d30:	019d5693          	srli	a3,s10,0x19
80005d34:	007d1793          	slli	a5,s10,0x7
80005d38:	00d7e6b3          	or	a3,a5,a3
80005d3c:	00d64633          	xor	a2,a2,a3
80005d40:	00b446b3          	xor	a3,s0,a1
80005d44:	00dd76b3          	and	a3,s10,a3
80005d48:	00b6c6b3          	xor	a3,a3,a1
80005d4c:	00df06b3          	add	a3,t5,a3
80005d50:	00c68633          	add	a2,a3,a2
80005d54:	01812503          	lw	a0,24(sp)
80005d58:	00a606b3          	add	a3,a2,a0
80005d5c:	002e5613          	srli	a2,t3,0x2
80005d60:	01ee1793          	slli	a5,t3,0x1e
80005d64:	00c7e633          	or	a2,a5,a2
80005d68:	00de5793          	srli	a5,t3,0xd
80005d6c:	013e1513          	slli	a0,t3,0x13
80005d70:	00f56533          	or	a0,a0,a5
80005d74:	00a64533          	xor	a0,a2,a0
80005d78:	016e5613          	srli	a2,t3,0x16
80005d7c:	00ae1793          	slli	a5,t3,0xa
80005d80:	00c7e633          	or	a2,a5,a2
80005d84:	00c54533          	xor	a0,a0,a2
80005d88:	01774633          	xor	a2,a4,s7
80005d8c:	00ce7633          	and	a2,t3,a2
80005d90:	01064633          	xor	a2,a2,a6
80005d94:	00c50533          	add	a0,a0,a2
80005d98:	00d50ab3          	add	s5,a0,a3
80005d9c:	01b68cb3          	add	s9,a3,s11
80005da0:	007fd513          	srli	a0,t6,0x7
80005da4:	019f9793          	slli	a5,t6,0x19
80005da8:	00a7e833          	or	a6,a5,a0
80005dac:	12012883          	lw	a7,288(sp)
80005db0:	0078d793          	srli	a5,a7,0x7
80005db4:	01989513          	slli	a0,a7,0x19
80005db8:	00f56f33          	or	t5,a0,a5
80005dbc:	15412983          	lw	s3,340(sp)
80005dc0:	0079d793          	srli	a5,s3,0x7
80005dc4:	01999513          	slli	a0,s3,0x19
80005dc8:	00f56933          	or	s2,a0,a5
80005dcc:	14412483          	lw	s1,324(sp)
80005dd0:	0074d793          	srli	a5,s1,0x7
80005dd4:	01949513          	slli	a0,s1,0x19
80005dd8:	00f56a33          	or	s4,a0,a5
80005ddc:	012fd793          	srli	a5,t6,0x12
80005de0:	00ef9513          	slli	a0,t6,0xe
80005de4:	00f56c33          	or	s8,a0,a5
80005de8:	0128d793          	srli	a5,a7,0x12
80005dec:	00e89613          	slli	a2,a7,0xe
80005df0:	00f66633          	or	a2,a2,a5
80005df4:	0129d793          	srli	a5,s3,0x12
80005df8:	00e99513          	slli	a0,s3,0xe
80005dfc:	00f562b3          	or	t0,a0,a5
80005e00:	0124d793          	srli	a5,s1,0x12
80005e04:	00e49693          	slli	a3,s1,0xe
80005e08:	00048513          	mv	a0,s1
80005e0c:	00f6e6b3          	or	a3,a3,a5
80005e10:	010c47b3          	xor	a5,s8,a6
80005e14:	01e64633          	xor	a2,a2,t5
80005e18:	0122c833          	xor	a6,t0,s2
80005e1c:	0146c6b3          	xor	a3,a3,s4
80005e20:	003fd493          	srli	s1,t6,0x3
80005e24:	0097cf33          	xor	t5,a5,s1
80005e28:	0038d793          	srli	a5,a7,0x3
80005e2c:	00f64933          	xor	s2,a2,a5
80005e30:	0039d613          	srli	a2,s3,0x3
80005e34:	00c847b3          	xor	a5,a6,a2
80005e38:	00355613          	srli	a2,a0,0x3
80005e3c:	00c6c633          	xor	a2,a3,a2
80005e40:	00a78533          	add	a0,a5,a0
80005e44:	16812683          	lw	a3,360(sp)
80005e48:	00d60633          	add	a2,a2,a3
80005e4c:	01650533          	add	a0,a0,s6
80005e50:	16012683          	lw	a3,352(sp)
80005e54:	00d60633          	add	a2,a2,a3
80005e58:	011ed693          	srli	a3,t4,0x11
80005e5c:	00fe9793          	slli	a5,t4,0xf
80005e60:	00d7e6b3          	or	a3,a5,a3
80005e64:	013ed793          	srli	a5,t4,0x13
80005e68:	00de9493          	slli	s1,t4,0xd
80005e6c:	00f4e7b3          	or	a5,s1,a5
80005e70:	00f6c6b3          	xor	a3,a3,a5
80005e74:	00aed793          	srli	a5,t4,0xa
80005e78:	13412e83          	lw	t4,308(sp)
80005e7c:	00f6c6b3          	xor	a3,a3,a5
80005e80:	00d60633          	add	a2,a2,a3
80005e84:	01135693          	srli	a3,t1,0x11
80005e88:	00f31793          	slli	a5,t1,0xf
80005e8c:	00d7e6b3          	or	a3,a5,a3
80005e90:	01335793          	srli	a5,t1,0x13
80005e94:	00d31493          	slli	s1,t1,0xd
80005e98:	00f4e7b3          	or	a5,s1,a5
80005e9c:	00f6c6b3          	xor	a3,a3,a5
80005ea0:	00a35793          	srli	a5,t1,0xa
80005ea4:	00f6c6b3          	xor	a3,a3,a5
80005ea8:	00d50533          	add	a0,a0,a3
80005eac:	01165693          	srli	a3,a2,0x11
80005eb0:	00f61793          	slli	a5,a2,0xf
80005eb4:	00d7e6b3          	or	a3,a5,a3
80005eb8:	01365793          	srli	a5,a2,0x13
80005ebc:	00d61493          	slli	s1,a2,0xd
80005ec0:	00f4e7b3          	or	a5,s1,a5
80005ec4:	00f6c6b3          	xor	a3,a3,a5
80005ec8:	00a65793          	srli	a5,a2,0xa
80005ecc:	00f6c3b3          	xor	t2,a3,a5
80005ed0:	01155693          	srli	a3,a0,0x11
80005ed4:	00f51793          	slli	a5,a0,0xf
80005ed8:	00d7e6b3          	or	a3,a5,a3
80005edc:	01355793          	srli	a5,a0,0x13
80005ee0:	00d51493          	slli	s1,a0,0xd
80005ee4:	00f4e7b3          	or	a5,s1,a5
80005ee8:	00f6c6b3          	xor	a3,a3,a5
80005eec:	00a55793          	srli	a5,a0,0xa
80005ef0:	00f6c2b3          	xor	t0,a3,a5
80005ef4:	008506b3          	add	a3,a0,s0
80005ef8:	00b60533          	add	a0,a2,a1
80005efc:	006cd593          	srli	a1,s9,0x6
80005f00:	01ac9613          	slli	a2,s9,0x1a
80005f04:	00b665b3          	or	a1,a2,a1
80005f08:	00bcd613          	srli	a2,s9,0xb
80005f0c:	015c9793          	slli	a5,s9,0x15
80005f10:	00c7e633          	or	a2,a5,a2
80005f14:	00c5c5b3          	xor	a1,a1,a2
80005f18:	019cd613          	srli	a2,s9,0x19
80005f1c:	007c9793          	slli	a5,s9,0x7
80005f20:	00c7e633          	or	a2,a5,a2
80005f24:	00c5c5b3          	xor	a1,a1,a2
80005f28:	008d4633          	xor	a2,s10,s0
80005f2c:	00ccf633          	and	a2,s9,a2
80005f30:	00864633          	xor	a2,a2,s0
80005f34:	00c50533          	add	a0,a0,a2
80005f38:	00b50533          	add	a0,a0,a1
80005f3c:	01412583          	lw	a1,20(sp)
80005f40:	00b50533          	add	a0,a0,a1
80005f44:	002ad593          	srli	a1,s5,0x2
80005f48:	01ea9613          	slli	a2,s5,0x1e
80005f4c:	00b665b3          	or	a1,a2,a1
80005f50:	00dad613          	srli	a2,s5,0xd
80005f54:	013a9793          	slli	a5,s5,0x13
80005f58:	00c7e633          	or	a2,a5,a2
80005f5c:	00c5c5b3          	xor	a1,a1,a2
80005f60:	016ad613          	srli	a2,s5,0x16
80005f64:	00aa9793          	slli	a5,s5,0xa
80005f68:	00c7e633          	or	a2,a5,a2
80005f6c:	00c5c5b3          	xor	a1,a1,a2
80005f70:	01caf633          	and	a2,s5,t3
80005f74:	00eaf7b3          	and	a5,s5,a4
80005f78:	00ee74b3          	and	s1,t3,a4
80005f7c:	009644b3          	xor	s1,a2,s1
80005f80:	00f4c7b3          	xor	a5,s1,a5
80005f84:	00b785b3          	add	a1,a5,a1
80005f88:	00a585b3          	add	a1,a1,a0
80005f8c:	01750533          	add	a0,a0,s7
80005f90:	00655793          	srli	a5,a0,0x6
80005f94:	01a51493          	slli	s1,a0,0x1a
80005f98:	00f4e7b3          	or	a5,s1,a5
80005f9c:	00b55493          	srli	s1,a0,0xb
80005fa0:	01551413          	slli	s0,a0,0x15
80005fa4:	009464b3          	or	s1,s0,s1
80005fa8:	0097c7b3          	xor	a5,a5,s1
80005fac:	01955493          	srli	s1,a0,0x19
80005fb0:	00751413          	slli	s0,a0,0x7
80005fb4:	009464b3          	or	s1,s0,s1
80005fb8:	0097c7b3          	xor	a5,a5,s1
80005fbc:	01acc4b3          	xor	s1,s9,s10
80005fc0:	009574b3          	and	s1,a0,s1
80005fc4:	01a4c4b3          	xor	s1,s1,s10
80005fc8:	009686b3          	add	a3,a3,s1
80005fcc:	00f686b3          	add	a3,a3,a5
80005fd0:	0025d793          	srli	a5,a1,0x2
80005fd4:	01e59493          	slli	s1,a1,0x1e
80005fd8:	00f4e7b3          	or	a5,s1,a5
80005fdc:	00d5d493          	srli	s1,a1,0xd
80005fe0:	01359413          	slli	s0,a1,0x13
80005fe4:	009464b3          	or	s1,s0,s1
80005fe8:	0097c7b3          	xor	a5,a5,s1
80005fec:	0165d493          	srli	s1,a1,0x16
80005ff0:	00a59413          	slli	s0,a1,0xa
80005ff4:	009464b3          	or	s1,s0,s1
80005ff8:	01012403          	lw	s0,16(sp)
80005ffc:	008686b3          	add	a3,a3,s0
80006000:	0097c7b3          	xor	a5,a5,s1
80006004:	01cac4b3          	xor	s1,s5,t3
80006008:	0095f4b3          	and	s1,a1,s1
8000600c:	00c4c633          	xor	a2,s1,a2
80006010:	00c78633          	add	a2,a5,a2
80006014:	00d60433          	add	s0,a2,a3
80006018:	00e68733          	add	a4,a3,a4
8000601c:	00675613          	srli	a2,a4,0x6
80006020:	01a71693          	slli	a3,a4,0x1a
80006024:	00c6e633          	or	a2,a3,a2
80006028:	00b75693          	srli	a3,a4,0xb
8000602c:	01571793          	slli	a5,a4,0x15
80006030:	00d7e6b3          	or	a3,a5,a3
80006034:	00d64633          	xor	a2,a2,a3
80006038:	01975693          	srli	a3,a4,0x19
8000603c:	00771793          	slli	a5,a4,0x7
80006040:	00d7e6b3          	or	a3,a5,a3
80006044:	00d64633          	xor	a2,a2,a3
80006048:	012986b3          	add	a3,s3,s2
8000604c:	13012903          	lw	s2,304(sp)
80006050:	16412783          	lw	a5,356(sp)
80006054:	00f686b3          	add	a3,a3,a5
80006058:	019547b3          	xor	a5,a0,s9
8000605c:	00f777b3          	and	a5,a4,a5
80006060:	0197c7b3          	xor	a5,a5,s9
80006064:	007686b3          	add	a3,a3,t2
80006068:	13812383          	lw	t2,312(sp)
8000606c:	01a686b3          	add	a3,a3,s10
80006070:	00f686b3          	add	a3,a3,a5
80006074:	00c68633          	add	a2,a3,a2
80006078:	00c12683          	lw	a3,12(sp)
8000607c:	00d60633          	add	a2,a2,a3
80006080:	00245693          	srli	a3,s0,0x2
80006084:	01e41793          	slli	a5,s0,0x1e
80006088:	00d7e6b3          	or	a3,a5,a3
8000608c:	00d45793          	srli	a5,s0,0xd
80006090:	01341493          	slli	s1,s0,0x13
80006094:	00f4e7b3          	or	a5,s1,a5
80006098:	00f6c6b3          	xor	a3,a3,a5
8000609c:	01645793          	srli	a5,s0,0x16
800060a0:	00a41493          	slli	s1,s0,0xa
800060a4:	00f4e7b3          	or	a5,s1,a5
800060a8:	00f6c6b3          	xor	a3,a3,a5
800060ac:	00b47833          	and	a6,s0,a1
800060b0:	015474b3          	and	s1,s0,s5
800060b4:	0155f7b3          	and	a5,a1,s5
800060b8:	00f847b3          	xor	a5,a6,a5
800060bc:	0097c7b3          	xor	a5,a5,s1
800060c0:	00d786b3          	add	a3,a5,a3
800060c4:	00c686b3          	add	a3,a3,a2
800060c8:	01c60633          	add	a2,a2,t3
800060cc:	00665793          	srli	a5,a2,0x6
800060d0:	01a61493          	slli	s1,a2,0x1a
800060d4:	00f4e333          	or	t1,s1,a5
800060d8:	00b65493          	srli	s1,a2,0xb
800060dc:	01561793          	slli	a5,a2,0x15
800060e0:	0097e7b3          	or	a5,a5,s1
800060e4:	00f34333          	xor	t1,t1,a5
800060e8:	01965493          	srli	s1,a2,0x19
800060ec:	00761793          	slli	a5,a2,0x7
800060f0:	0097e7b3          	or	a5,a5,s1
800060f4:	00f34333          	xor	t1,t1,a5
800060f8:	01e884b3          	add	s1,a7,t5
800060fc:	001484b3          	add	s1,s1,ra
80006100:	005484b3          	add	s1,s1,t0
80006104:	00a747b3          	xor	a5,a4,a0
80006108:	00f677b3          	and	a5,a2,a5
8000610c:	00a7c7b3          	xor	a5,a5,a0
80006110:	019484b3          	add	s1,s1,s9
80006114:	00f487b3          	add	a5,s1,a5
80006118:	006788b3          	add	a7,a5,t1
8000611c:	0026d493          	srli	s1,a3,0x2
80006120:	01e69793          	slli	a5,a3,0x1e
80006124:	0097e2b3          	or	t0,a5,s1
80006128:	00d6d493          	srli	s1,a3,0xd
8000612c:	01369793          	slli	a5,a3,0x13
80006130:	0097e7b3          	or	a5,a5,s1
80006134:	00f2c2b3          	xor	t0,t0,a5
80006138:	0166d493          	srli	s1,a3,0x16
8000613c:	00a69793          	slli	a5,a3,0xa
80006140:	0097e7b3          	or	a5,a5,s1
80006144:	00f2c2b3          	xor	t0,t0,a5
80006148:	00b444b3          	xor	s1,s0,a1
8000614c:	0096f4b3          	and	s1,a3,s1
80006150:	0104c4b3          	xor	s1,s1,a6
80006154:	13c12803          	lw	a6,316(sp)
80006158:	12412783          	lw	a5,292(sp)
8000615c:	00f484b3          	add	s1,s1,a5
80006160:	005487b3          	add	a5,s1,t0
80006164:	01268933          	add	s2,a3,s2
80006168:	01d40eb3          	add	t4,s0,t4
8000616c:	007583b3          	add	t2,a1,t2
80006170:	12812583          	lw	a1,296(sp)
80006174:	00ba85b3          	add	a1,s5,a1
80006178:	12c12403          	lw	s0,300(sp)
8000617c:	00812683          	lw	a3,8(sp)
80006180:	00d886b3          	add	a3,a7,a3
80006184:	00d784b3          	add	s1,a5,a3
80006188:	15812b03          	lw	s6,344(sp)
8000618c:	00d58ab3          	add	s5,a1,a3
80006190:	01060833          	add	a6,a2,a6
80006194:	01670b33          	add	s6,a4,s6
80006198:	14012a03          	lw	s4,320(sp)
8000619c:	04040413          	addi	s0,s0,64
800061a0:	01450a33          	add	s4,a0,s4
800061a4:	10c12503          	lw	a0,268(sp)
800061a8:	00a40463          	beq	s0,a0,800061b0 <sha2::sha256::soft::compress+0x4014>
800061ac:	b8cfc06f          	j	80002538 <sha2::sha256::soft::compress+0x39c>
800061b0:	00412503          	lw	a0,4(sp)
800061b4:	00952023          	sw	s1,0(a0)
800061b8:	01252223          	sw	s2,4(a0)
800061bc:	01d52423          	sw	t4,8(a0)
800061c0:	00752623          	sw	t2,12(a0)
800061c4:	01552823          	sw	s5,16(a0)
800061c8:	01052a23          	sw	a6,20(a0)
800061cc:	01652c23          	sw	s6,24(a0)
800061d0:	01452e23          	sw	s4,28(a0)
800061d4:	1ac12d83          	lw	s11,428(sp)
800061d8:	1b012d03          	lw	s10,432(sp)
800061dc:	1b412c83          	lw	s9,436(sp)
800061e0:	1b812c03          	lw	s8,440(sp)
800061e4:	1bc12b83          	lw	s7,444(sp)
800061e8:	1c012b03          	lw	s6,448(sp)
800061ec:	1c412a83          	lw	s5,452(sp)
800061f0:	1c812a03          	lw	s4,456(sp)
800061f4:	1cc12983          	lw	s3,460(sp)
800061f8:	1d012903          	lw	s2,464(sp)
800061fc:	1d412483          	lw	s1,468(sp)
80006200:	1d812403          	lw	s0,472(sp)
80006204:	1dc12083          	lw	ra,476(sp)
80006208:	1e010113          	addi	sp,sp,480
8000620c:	00008067          	ret
```
</details>

The notable thing about this is how the keys (from `K32`) are handled. At the moment, the loop starts by copying all of them
onto the stack for some reason. This has several disadvantages:

- Reduced cache locality, since the stack is rather volatile across function calls compared to a block in the RO section.
- Initial overhead is three instructions for storing, one for reading. Writing the constant directly where it's needed would
  take only two instructions. Therefore, at least two/three loads are needed to break even (instruction wise). However, as
  far as I can tell every stack offset is only read once.
- Memory bus overhead: The data effectively passes three times through the memory bus (instruction -> stack -> register),
  whereas only once would be needed.

I'd suggest doing one of the following:

- Somehow get the code generator to not use the stack for this
- Somehow get the code generator to put the data in a RO section
- Write a custom `asm` implementation targetting `RISC-V`

Note that these problem are rather specific to RISC-V 32 bit and Sha256. I have not checked other configurations, but I'm rather
certain that the different data sizes will lead to different tradeoffs between the options.



Discussion / hints:
Maybe it's similar to https://github.com/rust-lang/rust/issues/88930? Can you check if changing `pub const K32: ...` to `pub static K32: ...` will improve codegen?
No, changing `const` to `static` did not improve things. I also tried some (increasingly desperate) macro contortions in the attempt to make codegen behave. None worked, everything is still copied to the stack first.
The only way I could find to force the desired behavior is by making the array index a runtime operation (i.e. changing the macro into an `#[inline(never)]` function). This makes me increasingly in favor of writing a custom RISCV-32 `asm` implementation.

Also I wonder what the current software implementation is optimizing for? I'd guess it was written for auto vectorization by the backend?
I think it's worth to create a Rust issue, ideally with a godbolt link, so it would be easy to check whether the issue got fixed in a new compiler release or not. Later when LLVM will finish migration of its issue tracker to GitHub, it could be worth to [duplicate](https://internals.rust-lang.org/t/15686) it there as well.

>Also I wonder what the current software implementation is optimizing for?

The current software backend was not optimized for anything particular, but it was heavily influenced by the SHA-NI backend.
Okay thank you. This is very likely not fixed in a new compiler release since I'm on a fairly recent nightly build. But I'll additionally try to reproduce+minimize in Godbolt.
I found out that `unsafe {core::ptr::read_volatile(&crate::consts::K32X4[$i] as *const _)}` resolves the stack usage issue while keeping the performance mostly the same on my testing setup (I see a marginal improvement for most block sizes). Also, a plain raw pointer `read` appears to work equally well.

However, `read_volatile` (and `read`) apparently generates four single byte reads and then combines them together using many instructions. So I tried doing `asm!("li {out}, {const}", …)` at the desired place instead. The generated disassembly finally looks "clean", but interestingly enough it did not improve performance. However, it did significantly reduce register allocation pressure, which manifests in a stack size of only 224 due to less spills.
@piegamesde
Unfortunately, it does not look there is any movement on fixing the issue on the compiler side. If there are any open-source high-quality assembly implementations of SHA-256/512, it could be worth to integrate them into sha2 as a workaround using the asm! macro.
I found a somewhat hacky way to work around this by using `read_volatile`: https://rust.godbolt.org/z/a4hqPraKd

Fix patch:
diff --git a/sha2/src/consts.rs b/sha2/src/consts.rs
index 8c0bbab50..efa80baab 100644
--- a/sha2/src/consts.rs
+++ b/sha2/src/consts.rs
@@ -1,13 +1,40 @@
-#![allow(dead_code, clippy::unreadable_literal)]
+#![allow(dead_code)]
 
-pub const STATE_LEN: usize = 8;
-pub const BLOCK_LEN: usize = 16;
+pub type State256 = [u32; 8];
+pub type State512 = [u64; 8];
 
-pub type State256 = [u32; STATE_LEN];
-pub type State512 = [u64; STATE_LEN];
+pub const H256_224: State256 = [
+    0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
+    0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4,
+];
+
+pub const H256_256: State256 = [
+    0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
+    0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
+];
+
+pub const H512_224: State512 = [
+    0x8c3d37c819544da2, 0x73e1996689dcd4d6, 0x1dfab7ae32ff9c82, 0x679dd514582f9fcf,
+    0x0f6d2b697bd44da8, 0x77e36f7304c48942, 0x3f9d85a86a1d36c8, 0x1112e6ad91d692a1,
+];
 
-/// Constants necessary for SHA-256 family of digests.
-pub const K32: [u32; 64] = [
+pub const H512_256: State512 = [
+    0x22312194fc2bf72c, 0x9f555fa3c84c64c2, 0x2393b86b6f53b151, 0x963877195940eabd,
+    0x96283ee2a88effe3, 0xbe5e1e2553863992, 0x2b0199fc2c85b8aa, 0x0eb72ddc81c52ca2,
+];
+
+pub const H512_384: State512 = [
+    0xcbbb9d5dc1059ed8, 0x629a292a367cd507, 0x9159015a3070dd17, 0x152fecd8f70e5939,
+    0x67332667ffc00b31, 0x8eb44a8768581511, 0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4,
+];
+
+pub const H512_512: State512 = [
+    0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1,
+    0x510e527fade682d1, 0x9b05688c2b3e6c1f, 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179,
+];
+
+/// Round constants for SHA-256 family of digests
+pub static K32: [u32; 64] = [
     0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
     0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
     0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
@@ -18,27 +45,7 @@ pub const K32: [u32; 64] = [
     0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
 ];
 
-/// Constants necessary for SHA-256 family of digests.
-pub const K32X4: [[u32; 4]; 16] = [
-    [K32[3], K32[2], K32[1], K32[0]],
-    [K32[7], K32[6], K32[5], K32[4]],
-    [K32[11], K32[10], K32[9], K32[8]],
-    [K32[15], K32[14], K32[13], K32[12]],
-    [K32[19], K32[18], K32[17], K32[16]],
-    [K32[23], K32[22], K32[21], K32[20]],
-    [K32[27], K32[26], K32[25], K32[24]],
-    [K32[31], K32[30], K32[29], K32[28]],
-    [K32[35], K32[34], K32[33], K32[32]],
-    [K32[39], K32[38], K32[37], K32[36]],
-    [K32[43], K32[42], K32[41], K32[40]],
-    [K32[47], K32[46], K32[45], K32[44]],
-    [K32[51], K32[50], K32[49], K32[48]],
-    [K32[55], K32[54], K32[53], K32[52]],
-    [K32[59], K32[58], K32[57], K32[56]],
-    [K32[63], K32[62], K32[61], K32[60]],
-];
-
-/// Constants necessary for SHA-512 family of digests.
+/// Round constants for SHA-512 family of digests
 pub const K64: [u64; 80] = [
     0x428a2f98d728ae22, 0x7137449123ef65cd, 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc,
     0x3956c25bf348b538, 0x59f111f1b605d019, 0x923f82a4af194f9b, 0xab1c5ed5da6d8118,
@@ -62,46 +69,24 @@ pub const K64: [u64; 80] = [
     0x4cc5d4becb3e42b6, 0x597f299cfc657e2a, 0x5fcb6fab3ad6faec, 0x6c44198c4a475817,
 ];
 
-/// Constants necessary for SHA-512 family of digests.
-pub const K64X2: [[u64; 2]; 40] = [
-    [K64[1],  K64[0]],  [K64[3],  K64[2]],  [K64[5],  K64[4]],  [K64[7],  K64[6]],
-    [K64[9],  K64[8]],  [K64[11], K64[10]], [K64[13], K64[12]], [K64[15], K64[14]],
-    [K64[17], K64[16]], [K64[19], K64[18]], [K64[21], K64[20]], [K64[23], K64[22]],
-    [K64[25], K64[24]], [K64[27], K64[26]], [K64[29], K64[28]], [K64[31], K64[30]],
-    [K64[33], K64[32]], [K64[35], K64[34]], [K64[37], K64[36]], [K64[39], K64[38]],
-    [K64[41], K64[40]], [K64[43], K64[42]], [K64[45], K64[44]], [K64[47], K64[46]],
-    [K64[49], K64[48]], [K64[51], K64[50]], [K64[53], K64[52]], [K64[55], K64[54]],
-    [K64[57], K64[56]], [K64[59], K64[58]], [K64[61], K64[60]], [K64[63], K64[62]],
-    [K64[65], K64[64]], [K64[67], K64[66]], [K64[69], K64[68]], [K64[71], K64[70]],
-    [K64[73], K64[72]], [K64[75], K64[74]], [K64[77], K64[76]], [K64[79], K64[78]],
-];
-
-pub const H256_224: State256 = [
-    0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
-    0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4,
-];
-
-pub const H256_256: State256 = [
-    0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
-    0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
-];
-
-pub const H512_224: State512 = [
-    0x8c3d37c819544da2, 0x73e1996689dcd4d6, 0x1dfab7ae32ff9c82, 0x679dd514582f9fcf,
-    0x0f6d2b697bd44da8, 0x77e36f7304c48942, 0x3f9d85a86a1d36c8, 0x1112e6ad91d692a1,
-];
-
-pub const H512_256: State512 = [
-    0x22312194fc2bf72c, 0x9f555fa3c84c64c2, 0x2393b86b6f53b151, 0x963877195940eabd,
-    0x96283ee2a88effe3, 0xbe5e1e2553863992, 0x2b0199fc2c85b8aa, 0x0eb72ddc81c52ca2,
-];
+/// Swapped round constants for SHA-256 family of digests
+pub static K32X4: [[u32; 4]; 16] = {
+    let mut res = [[0u32; 4]; 16];
+    let mut i = 0;
+    while i < 16 {
+        res[i] = [K32[4 * i + 3], K32[4 * i + 2], K32[4 * i + 1], K32[4 * i]];
+        i += 1;
+    }
+    res
+};
 
-pub const H512_384: State512 = [
-    0xcbbb9d5dc1059ed8, 0x629a292a367cd507, 0x9159015a3070dd17, 0x152fecd8f70e5939,
-    0x67332667ffc00b31, 0x8eb44a8768581511, 0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4,
-];
-
-pub const H512_512: State512 = [
-    0x6a09e667f3bcc908, 0xbb67ae8584caa73b, 0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1,
-    0x510e527fade682d1, 0x9b05688c2b3e6c1f, 0x1f83d9abfb41bd6b, 0x5be0cd19137e2179,
-];
+/// Swapped round constants for SHA-512 family of digests
+pub const K64X2: [[u64; 2]; 40] = {
+    let mut res = [[0u64; 2]; 40];
+    let mut i = 0;
+    while i < 16 {
+        res[i] = [K64[4 * i + 1], K64[4 * i]];
+        i += 1;
+    }
+    res
+};
diff --git a/sha2/src/sha256/soft.rs b/sha2/src/sha256/soft.rs
index 315e5060a..44f6d6bf4 100644
--- a/sha2/src/sha256/soft.rs
+++ b/sha2/src/sha256/soft.rs
@@ -1,5 +1,5 @@
 #![allow(clippy::many_single_char_names)]
-use crate::consts::BLOCK_LEN;
+use crate::consts::K32;
 
 #[inline(always)]
 fn shr(v: [u32; 4], o: u32) -> [u32; 4] {
@@ -31,6 +31,31 @@ fn add(a: [u32; 4], b: [u32; 4]) -> [u32; 4] {
     ]
 }
 
+#[inline(always)]
+fn add_round_const(mut a: [u32; 4], i: usize) -> [u32; 4] {
+    fn k(i: usize, j: usize) -> u32 {
+        // `read_volatile` forces compiler to read round constants from the static
+        // instead of inlining them, which improves codegen and performance on some platforms.
+        // On x86 targets 32-bit constants can be encoded using immediate argument on the `add`
+        // instruction, so it's more efficient to inline them.
+        cfg_if::cfg_if! {
+            if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] {
+                use core::ptr::read as r;
+            } else {
+                use core::ptr::read_volatile as r;
+            }
+        }
+
+        unsafe { r(K32.as_ptr().add(4 * i + j)) }
+    }
+
+    a[3] = a[3].wrapping_add(k(i, 0));
+    a[2] = a[2].wrapping_add(k(i, 1));
+    a[1] = a[1].wrapping_add(k(i, 2));
+    a[0] = a[0].wrapping_add(k(i, 3));
+    a
+}
+
 fn sha256load(v2: [u32; 4], v3: [u32; 4]) -> [u32; 4] {
     [v3[3], v2[0], v2[1], v2[2]]
 }
@@ -142,7 +167,7 @@ fn schedule(v0: [u32; 4], v1: [u32; 4], v2: [u32; 4], v3: [u32; 4]) -> [u32; 4]
 
 macro_rules! rounds4 {
     ($abef:ident, $cdgh:ident, $rest:expr, $i:expr) => {{
-        let t1 = add($rest, crate::consts::K32X4[$i]);
+        let t1 = add_round_const($rest, $i);
         $cdgh = sha256_digest_round_x2($cdgh, $abef, t1);
         let t2 = sha256swap(t1);
         $abef = sha256_digest_round_x2($abef, $cdgh, t2);
@@ -203,15 +228,11 @@ fn sha256_digest_block_u32(state: &mut [u32; 8], block: &[u32; 16]) {
 }
 
 pub fn compress(state: &mut [u32; 8], blocks: &[[u8; 64]]) {
-    let mut block_u32 = [0u32; BLOCK_LEN];
-    // since LLVM can't properly use aliasing yet it will make
-    // unnecessary state stores without this copy
-    let mut state_cpy = *state;
     for block in blocks {
+        let mut block_u32 = [0u32; 16];
         for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(4)) {
             *o = u32::from_be_bytes(chunk.try_into().unwrap());
         }
-        sha256_digest_block_u32(&mut state_cpy, &block_u32);
+        sha256_digest_block_u32(state, &block_u32);
     }
-    *state = state_cpy;
 }
diff --git a/sha2/src/sha512/soft.rs b/sha2/src/sha512/soft.rs
index 17405c5d5..675f1614d 100644
--- a/sha2/src/sha512/soft.rs
+++ b/sha2/src/sha512/soft.rs
@@ -1,9 +1,5 @@
 #![allow(clippy::many_single_char_names)]
-use crate::consts::{BLOCK_LEN, K64X2};
-
-fn add(a: [u64; 2], b: [u64; 2]) -> [u64; 2] {
-    [a[0].wrapping_add(b[0]), a[1].wrapping_add(b[1])]
-}
+use crate::consts::K64;
 
 /// Not an intrinsic, but works like an unaligned load.
 fn sha512load(v0: [u64; 2], v1: [u64; 2]) -> [u64; 2] {
@@ -93,10 +89,23 @@ pub fn sha512_digest_round(
     [a1, e1]
 }
 
+#[inline(always)]
+fn add_rk(mut w: [u64; 2], i: usize) -> [u64; 2] {
+    fn rk(i: usize, j: usize) -> u64 {
+        // `read_volatile` forces compiler to read round constants from the static
+        // instead of inlining them, which improves codegen and performance
+        unsafe {
+            let p = K64.as_ptr().add(2 * i + j);
+            core::ptr::read_volatile(p)
+        }
+    }
+    w[1] = w[1].wrapping_add(rk(i, 0));
+    w[0] = w[0].wrapping_add(rk(i, 1));
+    w
+}
+
 /// Process a block with the SHA-512 algorithm.
 pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) {
-    let k = &K64X2;
-
     macro_rules! schedule {
         ($v0:expr, $v1:expr, $v4:expr, $v5:expr, $v7:expr) => {
             sha512_schedule_x2($v0, $v1, sha512load($v4, $v5), $v7)
@@ -122,67 +131,67 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) {
 
     // Rounds 0..20
     let (mut w1, mut w0) = ([block[3], block[2]], [block[1], block[0]]);
-    rounds4!(ae, bf, cg, dh, add(k[0], w0), add(k[1], w1));
+    rounds4!(ae, bf, cg, dh, add_rk(w0, 0), add_rk(w1, 1));
     let (mut w3, mut w2) = ([block[7], block[6]], [block[5], block[4]]);
-    rounds4!(ae, bf, cg, dh, add(k[2], w2), add(k[3], w3));
+    rounds4!(ae, bf, cg, dh, add_rk(w2, 2), add_rk(w3, 3));
     let (mut w5, mut w4) = ([block[11], block[10]], [block[9], block[8]]);
-    rounds4!(ae, bf, cg, dh, add(k[4], w4), add(k[5], w5));
+    rounds4!(ae, bf, cg, dh, add_rk(w4, 4), add_rk(w5, 5));
     let (mut w7, mut w6) = ([block[15], block[14]], [block[13], block[12]]);
-    rounds4!(ae, bf, cg, dh, add(k[6], w6), add(k[7], w7));
+    rounds4!(ae, bf, cg, dh, add_rk(w6, 6), add_rk(w7, 7));
     let mut w8 = schedule!(w0, w1, w4, w5, w7);
     let mut w9 = schedule!(w1, w2, w5, w6, w8);
-    rounds4!(ae, bf, cg, dh, add(k[8], w8), add(k[9], w9));
+    rounds4!(ae, bf, cg, dh, add_rk(w8, 8), add_rk(w9, 9));
 
     // Rounds 20..40
     w0 = schedule!(w2, w3, w6, w7, w9);
     w1 = schedule!(w3, w4, w7, w8, w0);
-    rounds4!(ae, bf, cg, dh, add(k[10], w0), add(k[11], w1));
+    rounds4!(ae, bf, cg, dh, add_rk(w0, 10), add_rk(w1, 11));
     w2 = schedule!(w4, w5, w8, w9, w1);
     w3 = schedule!(w5, w6, w9, w0, w2);
-    rounds4!(ae, bf, cg, dh, add(k[12], w2), add(k[13], w3));
+    rounds4!(ae, bf, cg, dh, add_rk(w2, 12), add_rk(w3, 13));
     w4 = schedule!(w6, w7, w0, w1, w3);
     w5 = schedule!(w7, w8, w1, w2, w4);
-    rounds4!(ae, bf, cg, dh, add(k[14], w4), add(k[15], w5));
+    rounds4!(ae, bf, cg, dh, add_rk(w4, 14), add_rk(w5, 15));
     w6 = schedule!(w8, w9, w2, w3, w5);
     w7 = schedule!(w9, w0, w3, w4, w6);
-    rounds4!(ae, bf, cg, dh, add(k[16], w6), add(k[17], w7));
+    rounds4!(ae, bf, cg, dh, add_rk(w6, 16), add_rk(w7, 17));
     w8 = schedule!(w0, w1, w4, w5, w7);
     w9 = schedule!(w1, w2, w5, w6, w8);
-    rounds4!(ae, bf, cg, dh, add(k[18], w8), add(k[19], w9));
+    rounds4!(ae, bf, cg, dh, add_rk(w8, 18), add_rk(w9, 19));
 
     // Rounds 40..60
     w0 = schedule!(w2, w3, w6, w7, w9);
     w1 = schedule!(w3, w4, w7, w8, w0);
-    rounds4!(ae, bf, cg, dh, add(k[20], w0), add(k[21], w1));
+    rounds4!(ae, bf, cg, dh, add_rk(w0, 20), add_rk(w1, 21));
     w2 = schedule!(w4, w5, w8, w9, w1);
     w3 = schedule!(w5, w6, w9, w0, w2);
-    rounds4!(ae, bf, cg, dh, add(k[22], w2), add(k[23], w3));
+    rounds4!(ae, bf, cg, dh, add_rk(w2, 22), add_rk(w3, 23));
     w4 = schedule!(w6, w7, w0, w1, w3);
     w5 = schedule!(w7, w8, w1, w2, w4);
-    rounds4!(ae, bf, cg, dh, add(k[24], w4), add(k[25], w5));
+    rounds4!(ae, bf, cg, dh, add_rk(w4, 24), add_rk(w5, 25));
     w6 = schedule!(w8, w9, w2, w3, w5);
     w7 = schedule!(w9, w0, w3, w4, w6);
-    rounds4!(ae, bf, cg, dh, add(k[26], w6), add(k[27], w7));
+    rounds4!(ae, bf, cg, dh, add_rk(w6, 26), add_rk(w7, 27));
     w8 = schedule!(w0, w1, w4, w5, w7);
     w9 = schedule!(w1, w2, w5, w6, w8);
-    rounds4!(ae, bf, cg, dh, add(k[28], w8), add(k[29], w9));
+    rounds4!(ae, bf, cg, dh, add_rk(w8, 28), add_rk(w9, 29));
 
     // Rounds 60..80
     w0 = schedule!(w2, w3, w6, w7, w9);
     w1 = schedule!(w3, w4, w7, w8, w0);
-    rounds4!(ae, bf, cg, dh, add(k[30], w0), add(k[31], w1));
+    rounds4!(ae, bf, cg, dh, add_rk(w0, 30), add_rk(w1, 31));
     w2 = schedule!(w4, w5, w8, w9, w1);
     w3 = schedule!(w5, w6, w9, w0, w2);
-    rounds4!(ae, bf, cg, dh, add(k[32], w2), add(k[33], w3));
+    rounds4!(ae, bf, cg, dh, add_rk(w2, 32), add_rk(w3, 33));
     w4 = schedule!(w6, w7, w0, w1, w3);
     w5 = schedule!(w7, w8, w1, w2, w4);
-    rounds4!(ae, bf, cg, dh, add(k[34], w4), add(k[35], w5));
+    rounds4!(ae, bf, cg, dh, add_rk(w4, 34), add_rk(w5, 35));
     w6 = schedule!(w8, w9, w2, w3, w5);
     w7 = schedule!(w9, w0, w3, w4, w6);
-    rounds4!(ae, bf, cg, dh, add(k[36], w6), add(k[37], w7));
+    rounds4!(ae, bf, cg, dh, add_rk(w6, 36), add_rk(w7, 37));
     w8 = schedule!(w0, w1, w4, w5, w7);
     w9 = schedule!(w1, w2, w5, w6, w8);
-    rounds4!(ae, bf, cg, dh, add(k[38], w8), add(k[39], w9));
+    rounds4!(ae, bf, cg, dh, add_rk(w8, 38), add_rk(w9, 39));
 
     let [a, e] = ae;
     let [b, f] = bf;
@@ -200,15 +209,11 @@ pub fn sha512_digest_block_u64(state: &mut [u64; 8], block: &[u64; 16]) {
 }
 
 pub fn compress(state: &mut [u64; 8], blocks: &[[u8; 128]]) {
-    let mut block_u32 = [0u64; BLOCK_LEN];
-    // since LLVM can't properly use aliasing yet it will make
-    // unnecessary state stores without this copy
-    let mut state_cpy = *state;
     for block in blocks {
+        let mut block_u32 = [0u64; 16];
         for (o, chunk) in block_u32.iter_mut().zip(block.chunks_exact(8)) {
             *o = u64::from_be_bytes(chunk.try_into().unwrap());
         }
-        sha512_digest_block_u64(&mut state_cpy, &block_u32);
+        sha512_digest_block_u64(state, &block_u32);
     }
-    *state = state_cpy;
 }


Test patch: