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:
riscv32-none-elf-objdump -Cd
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
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
asmimplementation targettingRISC-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.
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 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