1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-22 21:23:07 +03:00
esp8266/doc/lib_dump/full/libcrypto.dobj
Markus Sattler 7a6765c4bc add lib dump
2015-07-04 11:11:03 +02:00

4380 lines
174 KiB
Plaintext

In archive D:/Coding/avr/Programme/arduino-nightly/hardware/esp8266com/esp8266/tools/sdk/lib/libcrypto.a:
aes-cbc.o: file format elf32-xtensa-le
Disassembly of section .irom0.text:
00000000 <aes_128_cbc_encrypt-0x14>:
...
00000014 <aes_128_cbc_encrypt>:
14: d0c112 addi a1, a1, -48
17: 81f9 s32i.n a15, a1, 32
19: 4109 s32i.n a0, a1, 16
1b: 61d9 s32i.n a13, a1, 24
1d: 51c9 s32i.n a12, a1, 20
1f: 71e9 s32i.n a14, a1, 28
21: 05cd mov.n a12, a5
23: 03ed mov.n a14, a3
25: 04dd mov.n a13, a4
27: 031c movi.n a3, 16
29: fff501 l32r a0, 0 <aes_128_cbc_encrypt-0x14>
2c: 0000c0 callx0 a0
2f: 02fd mov.n a15, a2
31: 32cc bnez.n a2, 38 <aes_128_cbc_encrypt+0x24>
33: f27c movi.n a2, -1
35: 001806 j 99 <aes_128_cbc_encrypt+0x85>
38: 0e3d mov.n a3, a14
3a: 012d mov.n a2, a1
3c: 041c movi.n a4, 16
3e: fff101 l32r a0, 4 <aes_128_cbc_encrypt-0x10>
41: 0000c0 callx0 a0
44: 4104c0 srli a0, a12, 4
47: 9109 s32i.n a0, a1, 36
49: 4210a6 blti a0, 1, 8f <aes_128_cbc_encrypt+0x7b>
4c: 10cdc2 addi a12, a13, 16
4f: 0e0c movi.n a14, 0
51: 0d2d mov.n a2, a13
53: 010d mov.n a0, a1
55: 000232 l8ui a3, a2, 0
58: 000042 l8ui a4, a0, 0
5b: 221b addi.n a2, a2, 1
5d: 303340 xor a3, a3, a4
60: 004032 s8i a3, a0, 0
63: 001b addi.n a0, a0, 1
65: ec92c7 bne a2, a12, 55 <aes_128_cbc_encrypt+0x41>
68: 0f2d mov.n a2, a15
6a: 013d mov.n a3, a1
6c: 014d mov.n a4, a1
6e: ffe601 l32r a0, 8 <aes_128_cbc_encrypt-0xc>
71: 0000c0 callx0 a0
74: 0d2d mov.n a2, a13
76: 013d mov.n a3, a1
78: 041c movi.n a4, 16
7a: ffe401 l32r a0, c <aes_128_cbc_encrypt-0x8>
7d: 0000c0 callx0 a0
80: 10ccc2 addi a12, a12, 16
83: ee1b addi.n a14, a14, 1
85: 10cdd2 addi a13, a13, 16
88: 9158 l32i.n a5, a1, 36
8a: 0d2d mov.n a2, a13
8c: c39e57 bne a14, a5, 53 <aes_128_cbc_encrypt+0x3f>
8f: 0f2d mov.n a2, a15
91: ffdf01 l32r a0, 10 <aes_128_cbc_encrypt-0x4>
94: 0000c0 callx0 a0
97: 020c movi.n a2, 0
99: 51c8 l32i.n a12, a1, 20
9b: 61d8 l32i.n a13, a1, 24
9d: 71e8 l32i.n a14, a1, 28
9f: 81f8 l32i.n a15, a1, 32
a1: 4108 l32i.n a0, a1, 16
a3: 30c112 addi a1, a1, 48
a6: f00d ret.n
...
000000c0 <aes_128_cbc_decrypt>:
c0: c0c112 addi a1, a1, -64
c3: c1f9 s32i.n a15, a1, 48
c5: 8109 s32i.n a0, a1, 32
c7: a1d9 s32i.n a13, a1, 40
c9: 91c9 s32i.n a12, a1, 36
cb: b1e9 s32i.n a14, a1, 44
cd: 05cd mov.n a12, a5
cf: 03ed mov.n a14, a3
d1: 04dd mov.n a13, a4
d3: 031c movi.n a3, 16
d5: fff401 l32r a0, a8 <aes_128_cbc_encrypt+0x94>
d8: 0000c0 callx0 a0
db: 02fd mov.n a15, a2
dd: 32cc bnez.n a2, e4 <aes_128_cbc_decrypt+0x24>
df: f27c movi.n a2, -1
e1: 001b06 j 151 <aes_128_cbc_decrypt+0x91>
e4: 0e3d mov.n a3, a14
e6: 012d mov.n a2, a1
e8: 041c movi.n a4, 16
ea: fff001 l32r a0, ac <aes_128_cbc_encrypt+0x98>
ed: 0000c0 callx0 a0
f0: 4104c0 srli a0, a12, 4
f3: d109 s32i.n a0, a1, 52
f5: 4e10a6 blti a0, 1, 147 <aes_128_cbc_decrypt+0x87>
f8: 10cdc2 addi a12, a13, 16
fb: 0e0c movi.n a14, 0
fd: 10c122 addi a2, a1, 16
100: 0d3d mov.n a3, a13
102: 041c movi.n a4, 16
104: ffeb01 l32r a0, b0 <aes_128_cbc_encrypt+0x9c>
107: 0000c0 callx0 a0
10a: 0f2d mov.n a2, a15
10c: 0d3d mov.n a3, a13
10e: 0d4d mov.n a4, a13
110: ffe901 l32r a0, b4 <aes_128_cbc_encrypt+0xa0>
113: 0000c0 callx0 a0
116: 0d2d mov.n a2, a13
118: 010d mov.n a0, a1
11a: 000232 l8ui a3, a2, 0
11d: 000042 l8ui a4, a0, 0
120: 001b addi.n a0, a0, 1
122: 303340 xor a3, a3, a4
125: 004232 s8i a3, a2, 0
128: 221b addi.n a2, a2, 1
12a: ec92c7 bne a2, a12, 11a <aes_128_cbc_decrypt+0x5a>
12d: 012d mov.n a2, a1
12f: 10c132 addi a3, a1, 16
132: 041c movi.n a4, 16
134: ffe101 l32r a0, b8 <aes_128_cbc_encrypt+0xa4>
137: 0000c0 callx0 a0
13a: 10cdd2 addi a13, a13, 16
13d: 10ccc2 addi a12, a12, 16
140: d158 l32i.n a5, a1, 52
142: ee1b addi.n a14, a14, 1
144: b59e57 bne a14, a5, fd <aes_128_cbc_decrypt+0x3d>
147: 0f2d mov.n a2, a15
149: ffdc01 l32r a0, bc <aes_128_cbc_encrypt+0xa8>
14c: 0000c0 callx0 a0
14f: 020c movi.n a2, 0
151: 91c8 l32i.n a12, a1, 36
153: a1d8 l32i.n a13, a1, 40
155: b1e8 l32i.n a14, a1, 44
157: c1f8 l32i.n a15, a1, 48
159: 8108 l32i.n a0, a1, 32
15b: 40c112 addi a1, a1, 64
15e: f00d ret.n
aes-internal-enc.o: file format elf32-xtensa-le
Disassembly of section .irom0.text:
00000000 <rijndaelEncrypt-0x10>:
0: 000000 ill
3: 000000 ill
6: ff .byte 0xff
7: 000000 ill
a: 00ff00 excw
d: ff .byte 0xff
...
00000010 <rijndaelEncrypt>:
10: e0c112 addi a1, a1, -32
13: 41e9 s32i.n a14, a1, 16
15: 51f9 s32i.n a15, a1, 20
17: 21c9 s32i.n a12, a1, 8
19: 0298 l32i.n a9, a2, 0
1b: 1288 l32i.n a8, a2, 4
1d: 070372 l8ui a7, a3, 7
20: 2258 l32i.n a5, a2, 8
22: 0003b2 l8ui a11, a3, 0
25: 090362 l8ui a6, a3, 9
28: 0503a2 l8ui a10, a3, 5
2b: 0149 s32i.n a4, a1, 0
2d: 1109 s32i.n a0, a1, 4
2f: 31d9 s32i.n a13, a1, 12
31: 500c movi.n a0, 5
33: 0103d2 l8ui a13, a3, 1
36: 0b0342 l8ui a4, a3, 11
39: 11aa00 slli a10, a10, 16
3c: 116600 slli a6, a6, 16
3f: 01bb80 slli a11, a11, 24
42: 304450 xor a4, a4, a5
45: 307780 xor a7, a7, a8
48: 11dd00 slli a13, a13, 16
4b: 030382 l8ui a8, a3, 3
4e: 30bbd0 xor a11, a11, a13
51: 080352 l8ui a5, a3, 8
54: 0d03d2 l8ui a13, a3, 13
57: 015580 slli a5, a5, 24
5a: 308890 xor a8, a8, a9
5d: 11dd00 slli a13, a13, 16
60: 040392 l8ui a9, a3, 4
63: 305560 xor a5, a5, a6
66: 019980 slli a9, a9, 24
69: 3099a0 xor a9, a9, a10
6c: 0c03a2 l8ui a10, a3, 12
6f: 0a0362 l8ui a6, a3, 10
72: 01aa80 slli a10, a10, 24
75: 30aad0 xor a10, a10, a13
78: 0e03d2 l8ui a13, a3, 14
7b: 116680 slli a6, a6, 8
7e: 11dd80 slli a13, a13, 8
81: 30aad0 xor a10, a10, a13
84: 0603d2 l8ui a13, a3, 6
87: 305560 xor a5, a5, a6
8a: 11dd80 slli a13, a13, 8
8d: 3099d0 xor a9, a9, a13
90: 307790 xor a7, a7, a9
93: 0203d2 l8ui a13, a3, 2
96: 0f0392 l8ui a9, a3, 15
99: 11dd80 slli a13, a13, 8
9c: 30bbd0 xor a11, a11, a13
9f: 3088b0 xor a8, a8, a11
a2: 32b8 l32i.n a11, a2, 12
a4: 304450 xor a4, a4, a5
a7: 3099b0 xor a9, a9, a11
aa: 3039a0 xor a3, a9, a10
ad: ffd491 l32r a9, 0 <rijndaelEncrypt-0x10>
b0: 000b addi.n a0, a0, -1
b2: 404800 ssai 8
b5: 74b070 extui a11, a7, 0, 8
b8: 75d030 extui a13, a3, 16, 8
bb: 74c080 extui a12, a8, 0, 8
be: 74e830 extui a14, a3, 8, 8
c1: 74f030 extui a15, a3, 0, 8
c4: 745840 extui a5, a4, 8, 8
c7: 75a070 extui a10, a7, 16, 8
ca: 756880 extui a6, a8, 24, 8
cd: a06690 addx4 a6, a6, a9
d0: a0aa90 addx4 a10, a10, a9
d3: a05590 addx4 a5, a5, a9
d6: a0ff90 addx4 a15, a15, a9
d9: a0ee90 addx4 a14, a14, a9
dc: a0cc90 addx4 a12, a12, a9
df: a0dd90 addx4 a13, a13, a9
e2: a0bb90 addx4 a11, a11, a9
e5: 0bb8 l32i.n a11, a11, 0
e7: 0dd8 l32i.n a13, a13, 0
e9: 0cc8 l32i.n a12, a12, 0
eb: 0ee8 l32i.n a14, a14, 0
ed: 0ff8 l32i.n a15, a15, 0
ef: 0558 l32i.n a5, a5, 0
f1: 0aa8 l32i.n a10, a10, 0
f3: 0668 l32i.n a6, a6, 0
f5: 81aaa0 src a10, a10, a10
f8: 3066a0 xor a6, a6, a10
fb: 404010 ssai 16
fe: 74a880 extui a10, a8, 8, 8
101: 815550 src a5, a5, a5
104: 758080 extui a8, a8, 16, 8
107: 404810 ssai 24
10a: 305560 xor a5, a5, a6
10d: a0aa90 addx4 a10, a10, a9
110: 0aa8 l32i.n a10, a10, 0
112: 756830 extui a6, a3, 24, 8
115: 6159 s32i.n a5, a1, 24
117: 81fff0 src a15, a15, a15
11a: a08890 addx4 a8, a8, a9
11d: 0888 l32i.n a8, a8, 0
11f: 404800 ssai 8
122: 755040 extui a5, a4, 16, 8
125: 753870 extui a3, a7, 24, 8
128: a06690 addx4 a6, a6, a9
12b: 0668 l32i.n a6, a6, 0
12d: a03390 addx4 a3, a3, a9
130: a05590 addx4 a5, a5, a9
133: 0558 l32i.n a5, a5, 0
135: 0338 l32i.n a3, a3, 0
137: 815550 src a5, a5, a5
13a: 303350 xor a3, a3, a5
13d: 404010 ssai 16
140: 745870 extui a5, a7, 8, 8
143: 81eee0 src a14, a14, a14
146: 5278 l32i.n a7, a2, 20
148: a05590 addx4 a5, a5, a9
14b: 30ee30 xor a14, a14, a3
14e: 404810 ssai 24
151: 7238 l32i.n a3, a2, 28
153: 81ccc0 src a12, a12, a12
156: 0558 l32i.n a5, a5, 0
158: 404800 ssai 8
15b: 3077c0 xor a7, a7, a12
15e: 3077e0 xor a7, a7, a14
161: 81ddd0 src a13, a13, a13
164: 75c840 extui a12, a4, 24, 8
167: a0cc90 addx4 a12, a12, a9
16a: 404010 ssai 16
16d: 81aaa0 src a10, a10, a10
170: 0cc8 l32i.n a12, a12, 0
172: 404810 ssai 24
175: 81bbb0 src a11, a11, a11
178: 30ccd0 xor a12, a12, a13
17b: 30aac0 xor a10, a10, a12
17e: 404800 ssai 8
181: 818880 src a8, a8, a8
184: 306680 xor a6, a6, a8
187: 404010 ssai 16
18a: 4288 l32i.n a8, a2, 16
18c: 815550 src a5, a5, a5
18f: 305560 xor a5, a5, a6
192: 404810 ssai 24
195: 6268 l32i.n a6, a2, 24
197: 3088f0 xor a8, a8, a15
19a: 20c222 addi a2, a2, 32
19d: 61f8 l32i.n a15, a1, 24
19f: 3066b0 xor a6, a6, a11
1a2: 3066a0 xor a6, a6, a10
1a5: 74a040 extui a10, a4, 0, 8
1a8: a0aa90 addx4 a10, a10, a9
1ab: 0aa8 l32i.n a10, a10, 0
1ad: 3088f0 xor a8, a8, a15
1b0: 81aaa0 src a10, a10, a10
1b3: 3033a0 xor a3, a3, a10
1b6: 303350 xor a3, a3, a5
1b9: 106016 beqz a0, 2c3 <rijndaelEncrypt+0x2b3>
1bc: 404800 ssai 8
1bf: 74b070 extui a11, a7, 0, 8
1c2: 74a880 extui a10, a8, 8, 8
1c5: 75d030 extui a13, a3, 16, 8
1c8: 74c080 extui a12, a8, 0, 8
1cb: 74e830 extui a14, a3, 8, 8
1ce: 755060 extui a5, a6, 16, 8
1d1: 74f860 extui a15, a6, 8, 8
1d4: 7109 s32i.n a0, a1, 28
1d6: 754070 extui a4, a7, 16, 8
1d9: 750880 extui a0, a8, 24, 8
1dc: a04490 addx4 a4, a4, a9
1df: a0ff90 addx4 a15, a15, a9
1e2: a05590 addx4 a5, a5, a9
1e5: a0ee90 addx4 a14, a14, a9
1e8: a0cc90 addx4 a12, a12, a9
1eb: a0dd90 addx4 a13, a13, a9
1ee: a0aa90 addx4 a10, a10, a9
1f1: a0bb90 addx4 a11, a11, a9
1f4: 0bb8 l32i.n a11, a11, 0
1f6: 0aa8 l32i.n a10, a10, 0
1f8: 0dd8 l32i.n a13, a13, 0
1fa: 0cc8 l32i.n a12, a12, 0
1fc: 0ee8 l32i.n a14, a14, 0
1fe: 0558 l32i.n a5, a5, 0
200: 0ff8 l32i.n a15, a15, 0
202: 0448 l32i.n a4, a4, 0
204: a00090 addx4 a0, a0, a9
207: 0008 l32i.n a0, a0, 0
209: 814440 src a4, a4, a4
20c: 300040 xor a0, a0, a4
20f: 404010 ssai 16
212: 754080 extui a4, a8, 16, 8
215: 81fff0 src a15, a15, a15
218: 0288 l32i.n a8, a2, 0
21a: 404810 ssai 24
21d: 30ff00 xor a15, a15, a0
220: a04490 addx4 a4, a4, a9
223: 740030 extui a0, a3, 0, 8
226: 0448 l32i.n a4, a4, 0
228: 753830 extui a3, a3, 24, 8
22b: a00090 addx4 a0, a0, a9
22e: 0008 l32i.n a0, a0, 0
230: a03390 addx4 a3, a3, a9
233: 0338 l32i.n a3, a3, 0
235: 810000 src a0, a0, a0
238: 308800 xor a8, a8, a0
23b: 404800 ssai 8
23e: 815550 src a5, a5, a5
241: 3088f0 xor a8, a8, a15
244: 404010 ssai 16
247: 81eee0 src a14, a14, a14
24a: 404810 ssai 24
24d: 81ccc0 src a12, a12, a12
250: 7108 l32i.n a0, a1, 28
252: 404800 ssai 8
255: 81ddd0 src a13, a13, a13
258: 404010 ssai 16
25b: 81aaa0 src a10, a10, a10
25e: 404810 ssai 24
261: 81bbb0 src a11, a11, a11
264: 404800 ssai 8
267: 814440 src a4, a4, a4
26a: 303340 xor a3, a3, a4
26d: 754870 extui a4, a7, 24, 8
270: a04490 addx4 a4, a4, a9
273: 0448 l32i.n a4, a4, 0
275: 404010 ssai 16
278: 304450 xor a4, a4, a5
27b: 745870 extui a5, a7, 8, 8
27e: 30ee40 xor a14, a14, a4
281: 1278 l32i.n a7, a2, 4
283: 2248 l32i.n a4, a2, 8
285: a05590 addx4 a5, a5, a9
288: 0558 l32i.n a5, a5, 0
28a: 3044b0 xor a4, a4, a11
28d: 3077c0 xor a7, a7, a12
290: 3077e0 xor a7, a7, a14
293: 815550 src a5, a5, a5
296: 75c860 extui a12, a6, 24, 8
299: 404810 ssai 24
29c: a0cc90 addx4 a12, a12, a9
29f: 0cc8 l32i.n a12, a12, 0
2a1: 305530 xor a5, a5, a3
2a4: 30ccd0 xor a12, a12, a13
2a7: 30aac0 xor a10, a10, a12
2aa: 3044a0 xor a4, a4, a10
2ad: 74a060 extui a10, a6, 0, 8
2b0: a0aa90 addx4 a10, a10, a9
2b3: 0aa8 l32i.n a10, a10, 0
2b5: 3238 l32i.n a3, a2, 12
2b7: 81aaa0 src a10, a10, a10
2ba: 3033a0 xor a3, a3, a10
2bd: 303350 xor a3, a3, a5
2c0: ff7b06 j b0 <rijndaelEncrypt+0xa0>
2c3: 01b8 l32i.n a11, a1, 0
2c5: ff50f1 l32r a15, 8 <rijndaelEncrypt-0x8>
2c8: 02d8 l32i.n a13, a2, 0
2ca: ff5001 l32r a0, c <rijndaelEncrypt-0x4>
2cd: 755070 extui a5, a7, 16, 8
2d0: 75a880 extui a10, a8, 24, 8
2d3: 744860 extui a4, a6, 8, 8
2d6: 74e030 extui a14, a3, 0, 8
2d9: 74c080 extui a12, a8, 0, 8
2dc: a0cc90 addx4 a12, a12, a9
2df: a0ee90 addx4 a14, a14, a9
2e2: a04490 addx4 a4, a4, a9
2e5: a0aa90 addx4 a10, a10, a9
2e8: a05590 addx4 a5, a5, a9
2eb: 0558 l32i.n a5, a5, 0
2ed: 0aa8 l32i.n a10, a10, 0
2ef: 0448 l32i.n a4, a4, 0
2f1: 0ee8 l32i.n a14, a14, 0
2f3: 104400 and a4, a4, a0
2f6: 74e8e0 extui a14, a14, 8, 8
2f9: 11aa80 slli a10, a10, 8
2fc: 30dde0 xor a13, a13, a14
2ff: ff41e1 l32r a14, 4 <rijndaelEncrypt-0xc>
302: 10aaf0 and a10, a10, a15
305: 1055e0 and a5, a5, a14
308: 3055a0 xor a5, a5, a10
30b: 304450 xor a4, a4, a5
30e: 30dd40 xor a13, a13, a4
311: 034bd2 s8i a13, a11, 3
314: 7558d0 extui a5, a13, 24, 8
317: f540d0 extui a4, a13, 16, 16
31a: 014b42 s8i a4, a11, 1
31d: 004b52 s8i a5, a11, 0
320: 754870 extui a4, a7, 24, 8
323: 745070 extui a5, a7, 0, 8
326: a05590 addx4 a5, a5, a9
329: a04490 addx4 a4, a4, a9
32c: 41d8d0 srli a13, a13, 8
32f: 024bd2 s8i a13, a11, 2
332: 12a8 l32i.n a10, a2, 4
334: 0448 l32i.n a4, a4, 0
336: 0cc8 l32i.n a12, a12, 0
338: 75d060 extui a13, a6, 16, 8
33b: a0dd90 addx4 a13, a13, a9
33e: 0dd8 l32i.n a13, a13, 0
340: 74c8c0 extui a12, a12, 8, 8
343: 114480 slli a4, a4, 8
346: 1044f0 and a4, a4, a15
349: 30aac0 xor a10, a10, a12
34c: 10dde0 and a13, a13, a14
34f: 74c830 extui a12, a3, 8, 8
352: a0cc90 addx4 a12, a12, a9
355: 0cc8 l32i.n a12, a12, 0
357: 30dd40 xor a13, a13, a4
35a: 10cc00 and a12, a12, a0
35d: 30ccd0 xor a12, a12, a13
360: 30aac0 xor a10, a10, a12
363: 074ba2 s8i a10, a11, 7
366: 75d8a0 extui a13, a10, 24, 8
369: f5c0a0 extui a12, a10, 16, 16
36c: 054bc2 s8i a12, a11, 5
36f: 044bd2 s8i a13, a11, 4
372: 75c860 extui a12, a6, 24, 8
375: 75d080 extui a13, a8, 16, 8
378: a0dd90 addx4 a13, a13, a9
37b: a0cc90 addx4 a12, a12, a9
37e: 41a8a0 srli a10, a10, 8
381: 064ba2 s8i a10, a11, 6
384: 2248 l32i.n a4, a2, 8
386: 0558 l32i.n a5, a5, 0
388: 0cc8 l32i.n a12, a12, 0
38a: 75a030 extui a10, a3, 16, 8
38d: a0aa90 addx4 a10, a10, a9
390: 0aa8 l32i.n a10, a10, 0
392: 11cc80 slli a12, a12, 8
395: 745850 extui a5, a5, 8, 8
398: 304450 xor a4, a4, a5
39b: 10ccf0 and a12, a12, a15
39e: 745880 extui a5, a8, 8, 8
3a1: 10aae0 and a10, a10, a14
3a4: 30aac0 xor a10, a10, a12
3a7: a05590 addx4 a5, a5, a9
3aa: 0558 l32i.n a5, a5, 0
3ac: 74c870 extui a12, a7, 8, 8
3af: a0cc90 addx4 a12, a12, a9
3b2: 105500 and a5, a5, a0
3b5: 3055a0 xor a5, a5, a10
3b8: 304450 xor a4, a4, a5
3bb: 0b4b42 s8i a4, a11, 11
3be: 75a840 extui a10, a4, 24, 8
3c1: f55040 extui a5, a4, 16, 16
3c4: 094b52 s8i a5, a11, 9
3c7: 084ba2 s8i a10, a11, 8
3ca: 414840 srli a4, a4, 8
3cd: 0a4b42 s8i a4, a11, 10
3d0: 32a8 l32i.n a10, a2, 12
3d2: 0dd8 l32i.n a13, a13, 0
3d4: 0cc8 l32i.n a12, a12, 0
3d6: 10dde0 and a13, a13, a14
3d9: 74e060 extui a14, a6, 0, 8
3dc: a0ee90 addx4 a14, a14, a9
3df: 0ee8 l32i.n a14, a14, 0
3e1: 10cc00 and a12, a12, a0
3e4: 74e8e0 extui a14, a14, 8, 8
3e7: 30aae0 xor a10, a10, a14
3ea: 75e830 extui a14, a3, 24, 8
3ed: a0ee90 addx4 a14, a14, a9
3f0: 0ee8 l32i.n a14, a14, 0
3f2: 1108 l32i.n a0, a1, 4
3f4: 11ee80 slli a14, a14, 8
3f7: 10eef0 and a14, a14, a15
3fa: 30dde0 xor a13, a13, a14
3fd: 51f8 l32i.n a15, a1, 20
3ff: 41e8 l32i.n a14, a1, 16
401: 30ccd0 xor a12, a12, a13
404: 30aac0 xor a10, a10, a12
407: 0f4ba2 s8i a10, a11, 15
40a: 75d8a0 extui a13, a10, 24, 8
40d: f5c0a0 extui a12, a10, 16, 16
410: 0d4bc2 s8i a12, a11, 13
413: 0c4bd2 s8i a13, a11, 12
416: 21c8 l32i.n a12, a1, 8
418: 31d8 l32i.n a13, a1, 12
41a: 41a8a0 srli a10, a10, 8
41d: 0e4ba2 s8i a10, a11, 14
420: 20c112 addi a1, a1, 32
423: f00d ret.n
...
00000430 <aes_encrypt_init>:
430: f0c112 addi a1, a1, -16
433: 2109 s32i.n a0, a1, 8
435: 1129 s32i.n a2, a1, 4
437: 0cb366 bnei a3, 16, 447 <aes_encrypt_init+0x17>
43a: b0a022 movi a2, 176
43d: fffa01 l32r a0, 428 <rijndaelEncrypt+0x418>
440: 0000c0 callx0 a0
443: 0129 s32i.n a2, a1, 0
445: 32cc bnez.n a2, 44c <aes_encrypt_init+0x1c>
447: 020c movi.n a2, 0
449: 000246 j 456 <aes_encrypt_init+0x26>
44c: 1138 l32i.n a3, a1, 4
44e: fff701 l32r a0, 42c <rijndaelEncrypt+0x41c>
451: 0000c0 callx0 a0
454: 0128 l32i.n a2, a1, 0
456: 2108 l32i.n a0, a1, 8
458: 10c112 addi a1, a1, 16
45b: f00d ret.n
45d: 000000 ill
00000460 <aes_encrypt>:
460: f0c112 addi a1, a1, -16
463: 0109 s32i.n a0, a1, 0
465: 000005 call0 468 <aes_encrypt+0x8>
468: 0108 l32i.n a0, a1, 0
46a: 10c112 addi a1, a1, 16
46d: f00d ret.n
...
00000478 <aes_encrypt_deinit>:
478: 030c movi.n a3, 0
47a: b0a042 movi a4, 176
47d: f0c112 addi a1, a1, -16
480: 11c9 s32i.n a12, a1, 4
482: 0109 s32i.n a0, a1, 0
484: 02cd mov.n a12, a2
486: fffa01 l32r a0, 470 <aes_encrypt+0x10>
489: 0000c0 callx0 a0
48c: 0c2d mov.n a2, a12
48e: 11c8 l32i.n a12, a1, 4
490: fff901 l32r a0, 474 <aes_encrypt+0x14>
493: 0000c0 callx0 a0
496: 0108 l32i.n a0, a1, 0
498: 10c112 addi a1, a1, 16
49b: f00d ret.n
aes-wrap.o: file format elf32-xtensa-le
Disassembly of section .irom0.text:
00000000 <aes_wrap-0x24>:
...
00000024 <aes_wrap>:
24: c0c112 addi a1, a1, -64
27: 81f9 s32i.n a15, a1, 32
29: 4109 s32i.n a0, a1, 16
2b: 51c9 s32i.n a12, a1, 20
2d: 61d9 s32i.n a13, a1, 24
2f: 71e9 s32i.n a14, a1, 28
31: c139 s32i.n a3, a1, 48
33: 05ed mov.n a14, a5
35: a6a032 movi a3, 166
38: 02dd mov.n a13, a2
3a: 04cd mov.n a12, a4
3c: 052d mov.n a2, a5
3e: 840c movi.n a4, 8
40: fff001 l32r a0, 0 <aes_wrap-0x24>
43: 0000c0 callx0 a0
46: 0c3d mov.n a3, a12
48: c148 l32i.n a4, a1, 48
4a: 2e8b addi.n a2, a14, 8
4c: a129 s32i.n a2, a1, 40
4e: 1144d0 slli a4, a4, 3
51: ffec01 l32r a0, 4 <aes_wrap-0x20>
54: 0000c0 callx0 a0
57: 0d2d mov.n a2, a13
59: 031c movi.n a3, 16
5b: ffeb01 l32r a0, 8 <aes_wrap-0x1c>
5e: 0000c0 callx0 a0
61: 32cc bnez.n a2, 68 <aes_wrap+0x44>
63: f27c movi.n a2, -1
65: 0022c6 j f4 <aes_wrap+0xd0>
68: f18b addi.n a15, a1, 8
6a: e129 s32i.n a2, a1, 56
6c: c168 l32i.n a6, a1, 48
6e: 050c movi.n a5, 0
70: 070c movi.n a7, 0
72: d179 s32i.n a7, a1, 52
74: b159 s32i.n a5, a1, 44
76: 661b addi.n a6, a6, 1
78: 9169 s32i.n a6, a1, 36
7a: c188 l32i.n a8, a1, 48
7c: a1c8 l32i.n a12, a1, 40
7e: 5718a6 blti a8, 1, d9 <aes_wrap+0xb5>
81: d198 l32i.n a9, a1, 52
83: 91a8 l32i.n a10, a1, 36
85: d91b addi.n a13, a9, 1
87: 99aa add.n a9, a9, a10
89: f199 s32i.n a9, a1, 60
8b: 012d mov.n a2, a1
8d: 0e3d mov.n a3, a14
8f: 840c movi.n a4, 8
91: ffde01 l32r a0, c <aes_wrap-0x18>
94: 0000c0 callx0 a0
97: 0f2d mov.n a2, a15
99: 0c3d mov.n a3, a12
9b: 840c movi.n a4, 8
9d: ffdc01 l32r a0, 10 <aes_wrap-0x14>
a0: 0000c0 callx0 a0
a3: e128 l32i.n a2, a1, 56
a5: 013d mov.n a3, a1
a7: 014d mov.n a4, a1
a9: ffda01 l32r a0, 14 <aes_wrap-0x10>
ac: 0000c0 callx0 a0
af: 0e2d mov.n a2, a14
b1: 013d mov.n a3, a1
b3: 840c movi.n a4, 8
b5: ffd801 l32r a0, 18 <aes_wrap-0xc>
b8: 0000c0 callx0 a0
bb: 0c2d mov.n a2, a12
bd: 0f3d mov.n a3, a15
bf: 070eb2 l8ui a11, a14, 7
c2: 840c movi.n a4, 8
c4: 30bdb0 xor a11, a13, a11
c7: 074eb2 s8i a11, a14, 7
ca: ffd401 l32r a0, 1c <aes_wrap-0x8>
cd: 0000c0 callx0 a0
d0: cc8b addi.n a12, a12, 8
d2: f108 l32i.n a0, a1, 60
d4: dd1b addi.n a13, a13, 1
d6: b19d07 bne a13, a0, 8b <aes_wrap+0x67>
d9: c148 l32i.n a4, a1, 48
db: b128 l32i.n a2, a1, 44
dd: d138 l32i.n a3, a1, 52
df: 221b addi.n a2, a2, 1
e1: b129 s32i.n a2, a1, 44
e3: 334a add.n a3, a3, a4
e5: d139 s32i.n a3, a1, 52
e7: 8f6266 bnei a2, 6, 7a <aes_wrap+0x56>
ea: e128 l32i.n a2, a1, 56
ec: ffcd01 l32r a0, 20 <aes_wrap-0x4>
ef: 0000c0 callx0 a0
f2: 020c movi.n a2, 0
f4: 51c8 l32i.n a12, a1, 20
f6: 61d8 l32i.n a13, a1, 24
f8: 71e8 l32i.n a14, a1, 28
fa: 81f8 l32i.n a15, a1, 32
fc: 4108 l32i.n a0, a1, 16
fe: 40c112 addi a1, a1, 64
101: f00d ret.n
bignum.o: file format elf32-xtensa-le
Disassembly of section .irom0.text:
00000000 <bignum_init-0x1868>:
0: 630b addi.n a6, a3, -1
2: 1a23a6 blti a3, 2, 20 <bignum_init-0x1848>
5: 762a add.n a7, a6, a2
7: 030c movi.n a3, 0
9: 660b addi.n a6, a6, -1
b: 331b addi.n a3, a3, 1
d: 000242 l8ui a4, a2, 0
10: 000752 l8ui a5, a7, 0
13: 004252 s8i a5, a2, 0
16: 004742 s8i a4, a7, 0
19: 221b addi.n a2, a2, 1
1b: 770b addi.n a7, a7, -1
1d: e82367 blt a3, a6, 9 <bignum_init-0x185f>
20: f00d ret.n
22: ff0000 excw
25: ff .byte 0xff
26: ff .byte 0xff
27: 0f .byte 0xf
28: 037d mov.n a7, a3
2a: 028d mov.n a8, a2
2c: e0c112 addi a1, a1, -32
2f: 41f9 s32i.n a15, a1, 16
31: 11c9 s32i.n a12, a1, 4
33: 31e9 s32i.n a14, a1, 12
35: 21d9 s32i.n a13, a1, 8
37: 0109 s32i.n a0, a1, 0
39: 04dd mov.n a13, a4
3b: 6189 s32i.n a8, a1, 24
3d: 0228 l32i.n a2, a2, 0
3f: 0308 l32i.n a0, a3, 0
41: 7179 s32i.n a7, a1, 28
43: 08a027 bge a0, a2, 4f <bignum_init-0x1819>
46: 08ad mov.n a10, a8
48: 02ed mov.n a14, a2
4a: 00cd mov.n a12, a0
4c: 000146 j 55 <bignum_init-0x1813>
4f: 00ed mov.n a14, a0
51: 02cd mov.n a12, a2
53: 03ad mov.n a10, a3
55: fe1b addi.n a15, a14, 1
57: 1d08 l32i.n a0, a13, 4
59: 51a9 s32i.n a10, a1, 20
5b: 0f2e07 blt a14, a0, 6e <bignum_init-0x17fa>
5e: 0d2d mov.n a2, a13
60: 0f3d mov.n a3, a15
62: 007405 call0 7a4 <bignum_init-0x10c4>
65: 7178 l32i.n a7, a1, 28
67: 51a8 l32i.n a10, a1, 20
69: 6188 l32i.n a8, a1, 24
6b: 075256 bnez a2, e4 <bignum_init-0x1784>
6e: 3888 l32i.n a8, a8, 12
70: ffed91 l32r a9, 24 <bignum_init-0x1844>
73: 3748 l32i.n a4, a7, 12
75: 3d08 l32i.n a0, a13, 12
77: 0d78 l32i.n a7, a13, 0
79: 0df9 s32i.n a15, a13, 0
7b: 231ca6 blti a12, 1, a2 <bignum_init-0x17c6>
7e: 030c movi.n a3, 0
80: 020c movi.n a2, 0
82: 221b addi.n a2, a2, 1
84: 0868 l32i.n a6, a8, 0
86: 04b8 l32i.n a11, a4, 0
88: 884b addi.n a8, a8, 4
8a: 444b addi.n a4, a4, 4
8c: 66ba add.n a6, a6, a11
8e: 336a add.n a3, a3, a6
90: 105390 and a5, a3, a9
93: 0059 s32i.n a5, a0, 0
95: 353c30 extui a3, a3, 28, 4
98: 004b addi.n a0, a0, 4
9a: e49c27 bne a12, a2, 82 <bignum_init-0x17e6>
9d: 0c2d mov.n a2, a12
9f: 0000c6 j a6 <bignum_init-0x17c2>
a2: 020c movi.n a2, 0
a4: 030c movi.n a3, 0
a6: 1f1ce7 beq a12, a14, c9 <bignum_init-0x179f>
a9: 1ca2e7 bge a2, a14, c9 <bignum_init-0x179f>
ac: 114ee0 slli a4, a14, 2
af: 1122e0 slli a2, a2, 2
b2: 3a88 l32i.n a8, a10, 12
b4: 582a add.n a5, a8, a2
b6: 0558 l32i.n a5, a5, 0
b8: 224b addi.n a2, a2, 4
ba: 353a add.n a3, a5, a3
bc: 10c390 and a12, a3, a9
bf: 00c9 s32i.n a12, a0, 0
c1: 353c30 extui a3, a3, 28, 4
c4: 004b addi.n a0, a0, 4
c6: ea9247 bne a2, a4, b4 <bignum_init-0x17b4>
c9: 0039 s32i.n a3, a0, 0
cb: 0d28 l32i.n a2, a13, 0
cd: 004b addi.n a0, a0, 4
cf: 0aa277 bge a2, a7, dd <bignum_init-0x178b>
d2: 030c movi.n a3, 0
d4: 0039 s32i.n a3, a0, 0
d6: 221b addi.n a2, a2, 1
d8: 004b addi.n a0, a0, 4
da: f69727 bne a7, a2, d4 <bignum_init-0x1794>
dd: 0d2d mov.n a2, a13
df: 006945 call0 774 <bignum_init-0x10f4>
e2: 020c movi.n a2, 0
e4: 11c8 l32i.n a12, a1, 4
e6: 21d8 l32i.n a13, a1, 8
e8: 31e8 l32i.n a14, a1, 12
ea: 41f8 l32i.n a15, a1, 16
ec: 0108 l32i.n a0, a1, 0
ee: 20c112 addi a1, a1, 32
f1: f00d ret.n
f3: ffff00 excw
f6: ff .byte 0xff
f7: 0f .byte 0xf
f8: 027d mov.n a7, a2
fa: e0c112 addi a1, a1, -32
fd: 5139 s32i.n a3, a1, 20
ff: 4129 s32i.n a2, a1, 16
101: 11c9 s32i.n a12, a1, 4
103: 0109 s32i.n a0, a1, 0
105: 31e9 s32i.n a14, a1, 12
107: 21d9 s32i.n a13, a1, 8
109: 04ed mov.n a14, a4
10b: 02d8 l32i.n a13, a2, 0
10d: 1408 l32i.n a0, a4, 4
10f: 03c8 l32i.n a12, a3, 0
111: 0da0d7 bge a0, a13, 122 <bignum_init-0x1746>
114: 042d mov.n a2, a4
116: 0d3d mov.n a3, a13
118: 006885 call0 7a4 <bignum_init-0x10c4>
11b: 5138 l32i.n a3, a1, 20
11d: 4178 l32i.n a7, a1, 16
11f: 069256 bnez a2, 18c <bignum_init-0x16dc>
122: 3e28 l32i.n a2, a14, 12
124: 3388 l32i.n a8, a3, 12
126: 3748 l32i.n a4, a7, 12
128: 0e98 l32i.n a9, a14, 0
12a: 0ed9 s32i.n a13, a14, 0
12c: fff271 l32r a7, f4 <bignum_init-0x1774>
12f: 251ca6 blti a12, 1, 158 <bignum_init-0x1710>
132: 030c movi.n a3, 0
134: 000c movi.n a0, 0
136: 001b addi.n a0, a0, 1
138: 0468 l32i.n a6, a4, 0
13a: 08a8 l32i.n a10, a8, 0
13c: 444b addi.n a4, a4, 4
13e: 884b addi.n a8, a8, 4
140: c066a0 sub a6, a6, a10
143: c03630 sub a3, a6, a3
146: 105370 and a5, a3, a7
149: 0259 s32i.n a5, a2, 0
14b: 053f30 extui a3, a3, 31, 1
14e: 224b addi.n a2, a2, 4
150: e29c07 bne a12, a0, 136 <bignum_init-0x1732>
153: 0c0d mov.n a0, a12
155: 0000c6 j 15c <bignum_init-0x170c>
158: 000c movi.n a0, 0
15a: 030c movi.n a3, 0
15c: 15a0d7 bge a0, a13, 175 <bignum_init-0x16f3>
15f: 001b addi.n a0, a0, 1
161: 0468 l32i.n a6, a4, 0
163: 444b addi.n a4, a4, 4
165: c03630 sub a3, a6, a3
168: 105370 and a5, a3, a7
16b: 0259 s32i.n a5, a2, 0
16d: 053f30 extui a3, a3, 31, 1
170: 224b addi.n a2, a2, 4
172: e99d07 bne a13, a0, 15f <bignum_init-0x1709>
175: 0e08 l32i.n a0, a14, 0
177: 030c movi.n a3, 0
179: 08a097 bge a0, a9, 185 <bignum_init-0x16e3>
17c: 0239 s32i.n a3, a2, 0
17e: 001b addi.n a0, a0, 1
180: 224b addi.n a2, a2, 4
182: f69907 bne a9, a0, 17c <bignum_init-0x16ec>
185: 0e2d mov.n a2, a14
187: 005ec5 call0 774 <bignum_init-0x10f4>
18a: 020c movi.n a2, 0
18c: 11c8 l32i.n a12, a1, 4
18e: 21d8 l32i.n a13, a1, 8
190: 31e8 l32i.n a14, a1, 12
192: 0108 l32i.n a0, a1, 0
194: 20c112 addi a1, a1, 32
197: f00d ret.n
199: 000000 ill
19c: 000000 ill
19f: c11200 mul16u a1, a2, a0
1a2: 11c9f0 slli a12, a9, 1
1a5: 0109 s32i.n a0, a1, 0
1a7: 02cd mov.n a12, a2
1a9: 022c movi.n a2, 32
1ab: fffc01 l32r a0, 19c <bignum_init-0x16cc>
1ae: 0000c0 callx0 a0
1b1: 3c29 s32i.n a2, a12, 12
1b3: 32cc bnez.n a2, 1ba <bignum_init-0x16ae>
1b5: e27c movi.n a2, -2
1b7: 000586 j 1d1 <bignum_init-0x1697>
1ba: 040c movi.n a4, 0
1bc: 000c movi.n a0, 0
1be: 850c movi.n a5, 8
1c0: 320a add.n a3, a2, a0
1c2: 0349 s32i.n a4, a3, 0
1c4: 004b addi.n a0, a0, 4
1c6: f6c066 bnei a0, 32, 1c0 <bignum_init-0x16a8>
1c9: 0c49 s32i.n a4, a12, 0
1cb: 2c49 s32i.n a4, a12, 8
1cd: 020c movi.n a2, 0
1cf: 1c59 s32i.n a5, a12, 4
1d1: 11c8 l32i.n a12, a1, 4
1d3: 0108 l32i.n a0, a1, 0
1d5: 10c112 addi a1, a1, 16
1d8: f00d ret.n
1da: 000000 ill
1dd: 000000 ill
1e0: f0c112 addi a1, a1, -16
1e3: 11c9 s32i.n a12, a1, 4
1e5: 0109 s32i.n a0, a1, 0
1e7: 02cd mov.n a12, a2
1e9: 3228 l32i.n a2, a2, 12
1eb: 21d9 s32i.n a13, a1, 8
1ed: 42ac beqz.n a2, 215 <bignum_init-0x1653>
1ef: 0c08 l32i.n a0, a12, 0
1f1: 0d0c movi.n a13, 0
1f3: 1010a6 blti a0, 1, 207 <bignum_init-0x1661>
1f6: 0d5d mov.n a5, a13
1f8: 000c movi.n a0, 0
1fa: 001b addi.n a0, a0, 1
1fc: 425a add.n a4, a2, a5
1fe: 04d9 s32i.n a13, a4, 0
200: 0c38 l32i.n a3, a12, 0
202: 554b addi.n a5, a5, 4
204: f22037 blt a0, a3, 1fa <bignum_init-0x166e>
207: fff501 l32r a0, 1dc <bignum_init-0x168c>
20a: 0000c0 callx0 a0
20d: 3cd9 s32i.n a13, a12, 12
20f: 0cd9 s32i.n a13, a12, 0
211: 1cd9 s32i.n a13, a12, 4
213: 2cd9 s32i.n a13, a12, 8
215: 11c8 l32i.n a12, a1, 4
217: 21d8 l32i.n a13, a1, 8
219: 0108 l32i.n a0, a1, 0
21b: 10c112 addi a1, a1, 16
21e: f00d ret.n
220: e0c112 addi a1, a1, -32
223: 1109 s32i.n a0, a1, 4
225: 51f9 s32i.n a15, a1, 20
227: 41e9 s32i.n a14, a1, 16
229: 31d9 s32i.n a13, a1, 12
22b: 21c9 s32i.n a12, a1, 8
22d: 02dd mov.n a13, a2
22f: 03cd mov.n a12, a3
231: 04ed mov.n a14, a4
233: 22f8 l32i.n a15, a2, 8
235: 2308 l32i.n a0, a3, 8
237: 0109 s32i.n a0, a1, 0
239: 079f07 bne a15, a0, 244 <bignum_init-0x1624>
23c: 24f9 s32i.n a15, a4, 8
23e: ffde85 call0 28 <bignum_init-0x1840>
241: 000806 j 265 <bignum_init-0x1603>
244: 001fc5 call0 444 <bignum_init-0x1424>
247: 0f0266 bnei a2, -1, 25a <bignum_init-0x160e>
24a: 0d3d mov.n a3, a13
24c: 0128 l32i.n a2, a1, 0
24e: 0e4d mov.n a4, a14
250: 2e29 s32i.n a2, a14, 8
252: 0c2d mov.n a2, a12
254: ffea05 call0 f8 <bignum_init-0x1770>
257: 000286 j 265 <bignum_init-0x1603>
25a: 0d2d mov.n a2, a13
25c: 0c3d mov.n a3, a12
25e: 0e4d mov.n a4, a14
260: 2ef9 s32i.n a15, a14, 8
262: ffe945 call0 f8 <bignum_init-0x1770>
265: 21c8 l32i.n a12, a1, 8
267: 31d8 l32i.n a13, a1, 12
269: 41e8 l32i.n a14, a1, 16
26b: 51f8 l32i.n a15, a1, 20
26d: 1108 l32i.n a0, a1, 4
26f: 20c112 addi a1, a1, 32
272: f00d ret.n
274: e0c112 addi a1, a1, -32
277: 4149 s32i.n a4, a1, 16
279: 11c9 s32i.n a12, a1, 4
27b: 0109 s32i.n a0, a1, 0
27d: 21d9 s32i.n a13, a1, 8
27f: 31e9 s32i.n a14, a1, 12
281: 02dd mov.n a13, a2
283: 22e8 l32i.n a14, a2, 8
285: 2308 l32i.n a0, a3, 8
287: 03cd mov.n a12, a3
289: 0710e7 beq a0, a14, 294 <bignum_init-0x15d4>
28c: 24e9 s32i.n a14, a4, 8
28e: ffd985 call0 28 <bignum_init-0x1840>
291: 0009c6 j 2bc <bignum_init-0x15ac>
294: 001ac5 call0 444 <bignum_init-0x1424>
297: 4108 l32i.n a0, a1, 16
299: 0d0226 beqi a2, -1, 2aa <bignum_init-0x15be>
29c: 0d2d mov.n a2, a13
29e: 0c3d mov.n a3, a12
2a0: 004d mov.n a4, a0
2a2: 20e9 s32i.n a14, a0, 8
2a4: ffe505 call0 f8 <bignum_init-0x1770>
2a7: 000446 j 2bc <bignum_init-0x15ac>
2aa: 004d mov.n a4, a0
2ac: 130c movi.n a3, 1
2ae: 020c movi.n a2, 0
2b0: 8323e0 moveqz a2, a3, a14
2b3: 2029 s32i.n a2, a0, 8
2b5: 0d3d mov.n a3, a13
2b7: 0c2d mov.n a2, a12
2b9: ffe3c5 call0 f8 <bignum_init-0x1770>
2bc: 11c8 l32i.n a12, a1, 4
2be: 21d8 l32i.n a13, a1, 8
2c0: 31e8 l32i.n a14, a1, 12
2c2: 0108 l32i.n a0, a1, 0
2c4: 20c112 addi a1, a1, 32
2c7: f00d ret.n
2c9: 000000 ill
2cc: 170c movi.n a7, 1
2ce: f0c112 addi a1, a1, -16
2d1: 1109 s32i.n a0, a1, 4
2d3: 0398 l32i.n a9, a3, 0
2d5: 0258 l32i.n a5, a2, 0
2d7: 2388 l32i.n a8, a3, 8
2d9: 21c9 s32i.n a12, a1, 8
2db: 2268 l32i.n a6, a2, 8
2dd: 04cd mov.n a12, a4
2df: c06680 sub a6, a6, a8
2e2: 559a add.n a5, a5, a9
2e4: 551b addi.n a5, a5, 1
2e6: 936760 movnez a6, a7, a6
2e9: 0169 s32i.n a6, a1, 0
2eb: 00fe85 call0 12d4 <bignum_init-0x594>
2ee: 0ca8 l32i.n a10, a12, 0
2f0: 0108 l32i.n a0, a1, 0
2f2: 011ae6 bgei a10, 1, 2f7 <bignum_init-0x1571>
2f5: 000c movi.n a0, 0
2f7: 2c09 s32i.n a0, a12, 8
2f9: 21c8 l32i.n a12, a1, 8
2fb: 1108 l32i.n a0, a1, 4
2fd: 10c112 addi a1, a1, 16
300: f00d ret.n
302: 120000 excw
305: 39d0c1 l32r a12, fffcea48 <bignum_exptmod+0xfffcd09c>
308: 614991 l32r a9, fffd882c <bignum_exptmod+0xfffd6e80>
30b: 7159 s32i.n a5, a1, 28
30d: 8129 s32i.n a2, a1, 32
30f: a109 s32i.n a0, a1, 40
311: 012d mov.n a2, a1
313: ffe8c5 call0 1a0 <bignum_init-0x16c8>
316: 32dc bnez.n a2, 32d <bignum_init-0x153b>
318: 000606 j 334 <bignum_init-0x1534>
31b: 012d mov.n a2, a1
31d: 6138 l32i.n a3, a1, 24
31f: 7148 l32i.n a4, a1, 28
321: 000285 call0 34c <bignum_init-0x151c>
324: 4129 s32i.n a2, a1, 16
326: 012d mov.n a2, a1
328: ffeb45 call0 1e0 <bignum_init-0x1688>
32b: 4128 l32i.n a2, a1, 16
32d: a108 l32i.n a0, a1, 40
32f: 30c112 addi a1, a1, 48
332: f00d ret.n
334: 8128 l32i.n a2, a1, 32
336: 9138 l32i.n a3, a1, 36
338: 014d mov.n a4, a1
33a: fff905 call0 2cc <bignum_init-0x159c>
33d: 5129 s32i.n a2, a1, 20
33f: fd8216 beqz a2, 31b <bignum_init-0x154d>
342: 012d mov.n a2, a1
344: ffe985 call0 1e0 <bignum_init-0x1688>
347: 5128 l32i.n a2, a1, 20
349: fff806 j 32d <bignum_init-0x153b>
34c: d0c112 addi a1, a1, -48
34f: 6149 s32i.n a4, a1, 24
351: 7109 s32i.n a0, a1, 28
353: 81c9 s32i.n a12, a1, 32
355: 5129 s32i.n a2, a1, 20
357: 03cd mov.n a12, a3
359: 012d mov.n a2, a1
35b: ffe445 call0 1a0 <bignum_init-0x16c8>
35e: 12dc bnez.n a2, 373 <bignum_init-0x14f5>
360: 000606 j 37c <bignum_init-0x14ec>
363: 012d mov.n a2, a1
365: 6138 l32i.n a3, a1, 24
367: 003cc5 call0 734 <bignum_init-0x1134>
36a: 0c0c movi.n a12, 0
36c: 012d mov.n a2, a1
36e: ffe705 call0 1e0 <bignum_init-0x1688>
371: 0c2d mov.n a2, a12
373: 81c8 l32i.n a12, a1, 32
375: 7108 l32i.n a0, a1, 28
377: 30c112 addi a1, a1, 48
37a: f00d ret.n
37c: 5128 l32i.n a2, a1, 20
37e: 0c3d mov.n a3, a12
380: 040c movi.n a4, 0
382: 015d mov.n a5, a1
384: 007c45 call0 b4c <bignum_init-0xd1c>
387: 4129 s32i.n a2, a1, 16
389: 828c beqz.n a2, 395 <bignum_init-0x14d3>
38b: 012d mov.n a2, a1
38d: ffe505 call0 1e0 <bignum_init-0x1688>
390: 4128 l32i.n a2, a1, 16
392: fff746 j 373 <bignum_init-0x14f5>
395: 2128 l32i.n a2, a1, 8
397: 2c08 l32i.n a0, a12, 8
399: c61027 beq a0, a2, 363 <bignum_init-0x1505>
39c: 0c2d mov.n a2, a12
39e: 013d mov.n a3, a1
3a0: 6148 l32i.n a4, a1, 24
3a2: ffe7c5 call0 220 <bignum_init-0x1648>
3a5: 02cd mov.n a12, a2
3a7: fff046 j 36c <bignum_init-0x14fc>
3aa: 120000 excw
3ad: 09f0c1 l32r a12, fffc2b70 <bignum_exptmod+0xfffc11c4>
3b0: 240801 l32r a0, fffc93d0 <bignum_exptmod+0xfffc7a24>
3b3: 101026 beqi a0, 1, 3c7 <bignum_init-0x14a1>
3b6: 2368 l32i.n a6, a3, 8
3b8: 0b1626 beqi a6, 1, 3c7 <bignum_init-0x14a1>
3bb: 060c movi.n a6, 0
3bd: 0090c5 call0 ccc <bignum_init-0xb9c>
3c0: 0108 l32i.n a0, a1, 0
3c2: 10c112 addi a1, a1, 16
3c5: f00d ret.n
3c7: d27c movi.n a2, -3
3c9: fffcc6 j 3c0 <bignum_init-0x14a8>
3cc: f0c112 addi a1, a1, -16
3cf: 026d mov.n a6, a2
3d1: 0109 s32i.n a0, a1, 0
3d3: 2208 l32i.n a0, a2, 8
3d5: 2328 l32i.n a2, a3, 8
3d7: 400b addi.n a4, a0, -1
3d9: 091207 beq a2, a0, 3e6 <bignum_init-0x1482>
3dc: 130c movi.n a3, 1
3de: f27c movi.n a2, -1
3e0: 932340 movnez a2, a3, a4
3e3: 000446 j 3f8 <bignum_init-0x1470>
3e6: 091066 bnei a0, 1, 3f3 <bignum_init-0x1475>
3e9: 032d mov.n a2, a3
3eb: 063d mov.n a3, a6
3ed: 000545 call0 444 <bignum_init-0x1424>
3f0: 000106 j 3f8 <bignum_init-0x1470>
3f3: 062d mov.n a2, a6
3f5: 0004c5 call0 444 <bignum_init-0x1424>
3f8: 0108 l32i.n a0, a1, 0
3fa: 10c112 addi a1, a1, 16
3fd: f00d ret.n
3ff: 224800 excw
402: 0258 l32i.n a5, a2, 0
404: 141426 beqi a4, 1, 41c <bignum_init-0x144c>
407: 0d25e6 bgei a5, 2, 418 <bignum_init-0x1450>
40a: 3228 l32i.n a2, a2, 12
40c: 0228 l32i.n a2, a2, 0
40e: 063327 bltu a3, a2, 418 <bignum_init-0x1450>
411: 073237 bltu a2, a3, 41c <bignum_init-0x144c>
414: 020c movi.n a2, 0
416: f00d ret.n
418: 120c movi.n a2, 1
41a: f00d ret.n
41c: f27c movi.n a2, -1
41e: f00d ret.n
420: f0c112 addi a1, a1, -16
423: 0109 s32i.n a0, a1, 0
425: 0064c5 call0 a74 <bignum_init-0xdf4>
428: 140c movi.n a4, 1
42a: 0108 l32i.n a0, a1, 0
42c: 327b addi.n a3, a2, 7
42e: 10c112 addi a1, a1, 16
431: b33220 movgez a3, a2, a2
434: 213330 srai a3, a3, 3
437: 242020 extui a2, a2, 0, 3
43a: 932420 movnez a2, a4, a2
43d: 223a add.n a2, a2, a3
43f: f00d ret.n
441: 000000 ill
444: 0298 l32i.n a9, a2, 0
446: 0368 l32i.n a6, a3, 0
448: 3348 l32i.n a4, a3, 12
44a: 2e2697 blt a6, a9, 47c <bignum_init-0x13ec>
44d: 2f2967 blt a9, a6, 480 <bignum_init-0x13e8>
450: 3238 l32i.n a3, a2, 12
452: a02940 addx4 a2, a9, a4
455: fcc222 addi a2, a2, -4
458: a03930 addx4 a3, a9, a3
45b: fcc332 addi a3, a3, -4
45e: 1619a6 blti a9, 1, 478 <bignum_init-0x13f0>
461: 060c movi.n a6, 0
463: 0388 l32i.n a8, a3, 0
465: 0278 l32i.n a7, a2, 0
467: 113787 bltu a7, a8, 47c <bignum_init-0x13ec>
46a: 123877 bltu a8, a7, 480 <bignum_init-0x13e8>
46d: fcc222 addi a2, a2, -4
470: fcc332 addi a3, a3, -4
473: 661b addi.n a6, a6, 1
475: ea9967 bne a9, a6, 463 <bignum_init-0x1405>
478: 020c movi.n a2, 0
47a: f00d ret.n
47c: 120c movi.n a2, 1
47e: f00d ret.n
480: f27c movi.n a2, -1
482: f00d ret.n
484: f0c112 addi a1, a1, -16
487: 11c9 s32i.n a12, a1, 4
489: 0109 s32i.n a0, a1, 0
48b: 21d9 s32i.n a13, a1, 8
48d: 31e9 s32i.n a14, a1, 12
48f: 04dd mov.n a13, a4
491: 03ed mov.n a14, a3
493: 1208 l32i.n a0, a2, 4
495: 02cd mov.n a12, a2
497: 0620e6 bgei a0, 2, 4a1 <bignum_init-0x13c7>
49a: 230c movi.n a3, 2
49c: 003045 call0 7a4 <bignum_init-0x10c4>
49f: 32fc bnez.n a2, 4d6 <bignum_init-0x1392>
4a1: 0c2d mov.n a2, a12
4a3: 001b45 call0 658 <bignum_init-0x1210>
4a6: 0d2d mov.n a2, a13
4a8: dd0b addi.n a13, a13, -1
4aa: 2112a6 blti a2, 1, 4cf <bignum_init-0x1399>
4ad: 0c2d mov.n a2, a12
4af: 830c movi.n a3, 8
4b1: 0c4d mov.n a4, a12
4b3: 003b05 call0 864 <bignum_init-0x1004>
4b6: c2dc bnez.n a2, 4d6 <bignum_init-0x1392>
4b8: 3c58 l32i.n a5, a12, 12
4ba: 000e42 l8ui a4, a14, 0
4bd: 0568 l32i.n a6, a5, 0
4bf: 204460 or a4, a4, a6
4c2: 0549 s32i.n a4, a5, 0
4c4: 0c38 l32i.n a3, a12, 0
4c6: ee1b addi.n a14, a14, 1
4c8: 331b addi.n a3, a3, 1
4ca: 0c39 s32i.n a3, a12, 0
4cc: fff586 j 4a6 <bignum_init-0x13c2>
4cf: 0c2d mov.n a2, a12
4d1: 002a05 call0 774 <bignum_init-0x10f4>
4d4: 020c movi.n a2, 0
4d6: 11c8 l32i.n a12, a1, 4
4d8: 21d8 l32i.n a13, a1, 8
4da: 31e8 l32i.n a14, a1, 12
4dc: 0108 l32i.n a0, a1, 0
4de: 10c112 addi a1, a1, 16
4e1: f00d ret.n
4e3: c11200 mul16u a1, a2, a0
4e6: 61c9d0 excw
4e9: 81e9 s32i.n a14, a1, 32
4eb: 71d9 s32i.n a13, a1, 28
4ed: 03ed mov.n a14, a3
4ef: 5109 s32i.n a0, a1, 20
4f1: 023d mov.n a3, a2
4f3: 012d mov.n a2, a1
4f5: 001405 call0 638 <bignum_init-0x1230>
4f8: 328c beqz.n a2, 4ff <bignum_init-0x1369>
4fa: 02ed mov.n a14, a2
4fc: 000e86 j 53a <bignum_init-0x132e>
4ff: 0c0c movi.n a12, 0
501: 0edd mov.n a13, a14
503: 41e9 s32i.n a14, a1, 16
505: 0108 l32i.n a0, a1, 0
507: 10ac beqz.n a0, 52c <bignum_init-0x133c>
509: cc1b addi.n a12, a12, 1
50b: 012d mov.n a2, a1
50d: 830c movi.n a3, 8
50f: 014d mov.n a4, a1
511: 3168 l32i.n a6, a1, 12
513: 050c movi.n a5, 0
515: 0668 l32i.n a6, a6, 0
517: 004d62 s8i a6, a13, 0
51a: dd1b addi.n a13, a13, 1
51c: 000345 call0 554 <bignum_init-0x1314>
51f: 02ed mov.n a14, a2
521: fe0216 beqz a2, 505 <bignum_init-0x1363>
524: 012d mov.n a2, a1
526: ffcb85 call0 1e0 <bignum_init-0x1688>
529: 000346 j 53a <bignum_init-0x132e>
52c: 0c3d mov.n a3, a12
52e: 4128 l32i.n a2, a1, 16
530: ffacc5 call0 0 <bignum_init-0x1868>
533: 012d mov.n a2, a1
535: ffca85 call0 1e0 <bignum_init-0x1688>
538: 0e0c movi.n a14, 0
53a: 5108 l32i.n a0, a1, 20
53c: 61c8 l32i.n a12, a1, 24
53e: 0e2d mov.n a2, a14
540: 71d8 l32i.n a13, a1, 28
542: 81e8 l32i.n a14, a1, 32
544: 30c112 addi a1, a1, 48
547: f00d ret.n
...
551: 000000 ill
554: d0c112 addi a1, a1, -48
557: 7109 s32i.n a0, a1, 28
559: 6129 s32i.n a2, a1, 24
55b: a1e9 s32i.n a14, a1, 40
55d: 91d9 s32i.n a13, a1, 36
55f: 81c9 s32i.n a12, a1, 32
561: 05dd mov.n a13, a5
563: 03cd mov.n a12, a3
565: 04ed mov.n a14, a4
567: 1213e6 bgei a3, 1, 57d <bignum_init-0x12eb>
56a: 043d mov.n a3, a4
56c: 001045 call0 674 <bignum_init-0x11f4>
56f: 02cd mov.n a12, a2
571: 3d8c beqz.n a13, 578 <bignum_init-0x12f0>
573: 0d2d mov.n a2, a13
575: 000e05 call0 658 <bignum_init-0x1210>
578: 0c2d mov.n a2, a12
57a: 000186 j 584 <bignum_init-0x12e4>
57d: 012d mov.n a2, a1
57f: ffc205 call0 1a0 <bignum_init-0x16c8>
582: b28c beqz.n a2, 591 <bignum_init-0x12d7>
584: 81c8 l32i.n a12, a1, 32
586: 91d8 l32i.n a13, a1, 36
588: a1e8 l32i.n a14, a1, 40
58a: 7108 l32i.n a0, a1, 28
58c: 30c112 addi a1, a1, 48
58f: f00d ret.n
591: 5d9c beqz.n a13, 5aa <bignum_init-0x12be>
593: 6128 l32i.n a2, a1, 24
595: 0c3d mov.n a3, a12
597: 014d mov.n a4, a1
599: 0050c5 call0 aa8 <bignum_init-0xdc0>
59c: 5129 s32i.n a2, a1, 20
59e: 828c beqz.n a2, 5aa <bignum_init-0x12be>
5a0: 012d mov.n a2, a1
5a2: ffc3c5 call0 1e0 <bignum_init-0x1688>
5a5: 5128 l32i.n a2, a1, 20
5a7: fff646 j 584 <bignum_init-0x12e4>
5aa: 6128 l32i.n a2, a1, 24
5ac: 0e3d mov.n a3, a14
5ae: 000c45 call0 674 <bignum_init-0x11f4>
5b1: 4129 s32i.n a2, a1, 16
5b3: 828c beqz.n a2, 5bf <bignum_init-0x12a9>
5b5: 012d mov.n a2, a1
5b7: ffc285 call0 1e0 <bignum_init-0x1688>
5ba: 4128 l32i.n a2, a1, 16
5bc: fff106 j 584 <bignum_init-0x12e4>
5bf: b01c movi.n a0, 27
5c1: 10a0c7 bge a0, a12, 5d5 <bignum_init-0x1293>
5c4: 0c2d mov.n a2, a12
5c6: c31c movi.n a3, 28
5c8: ffe101 l32r a0, 54c <bignum_init-0x131c>
5cb: 0000c0 callx0 a0
5ce: 023d mov.n a3, a2
5d0: 0e2d mov.n a2, a14
5d2: 001045 call0 6d8 <bignum_init-0x1190>
5d5: 0c2d mov.n a2, a12
5d7: c31c movi.n a3, 28
5d9: ffdd01 l32r a0, 550 <bignum_init-0x1318>
5dc: 0000c0 callx0 a0
5df: c2bc beqz.n a2, 61f <bignum_init-0x1249>
5e1: 0e38 l32i.n a3, a14, 0
5e3: 3e48 l32i.n a4, a14, 12
5e5: 030b addi.n a0, a3, -1
5e7: a03340 addx4 a3, a3, a4
5ea: fcc332 addi a3, a3, -4
5ed: 02e096 bltz a0, 61f <bignum_init-0x1249>
5f0: 040c movi.n a4, 0
5f2: 401200 ssl a2
5f5: 170c movi.n a7, 1
5f7: c81c movi.n a8, 28
5f9: c08820 sub a8, a8, a2
5fc: a17700 sll a7, a7
5ff: 770b addi.n a7, a7, -1
601: 000b addi.n a0, a0, -1
603: 401800 ssl a8
606: fcc332 addi a3, a3, -4
609: a16400 sll a6, a4
60c: 1348 l32i.n a4, a3, 4
60e: 400200 ssr a2
611: 915040 srl a5, a4
614: 104470 and a4, a4, a7
617: 205560 or a5, a5, a6
61a: 1359 s32i.n a5, a3, 4
61c: e10066 bnei a0, -1, 601 <bignum_init-0x1267>
61f: 0e2d mov.n a2, a14
621: 001505 call0 774 <bignum_init-0x10f4>
624: 5d8c beqz.n a13, 62d <bignum_init-0x123b>
626: 0d3d mov.n a3, a13
628: 012d mov.n a2, a1
62a: 001085 call0 734 <bignum_init-0x1134>
62d: 012d mov.n a2, a1
62f: ffbb05 call0 1e0 <bignum_init-0x1688>
632: 020c movi.n a2, 0
634: ffd306 j 584 <bignum_init-0x12e4>
637: c11200 mul16u a1, a2, a0
63a: 0139f0 slli a3, a9, 17
63d: 21c9 s32i.n a12, a1, 8
63f: 1109 s32i.n a0, a1, 4
641: 02cd mov.n a12, a2
643: ffb5c5 call0 1a0 <bignum_init-0x16c8>
646: 52cc bnez.n a2, 64f <bignum_init-0x1219>
648: 0c3d mov.n a3, a12
64a: 0128 l32i.n a2, a1, 0
64c: 000245 call0 674 <bignum_init-0x11f4>
64f: 21c8 l32i.n a12, a1, 8
651: 1108 l32i.n a0, a1, 4
653: 10c112 addi a1, a1, 16
656: f00d ret.n
658: 3258 l32i.n a5, a2, 12
65a: 1238 l32i.n a3, a2, 4
65c: 070c movi.n a7, 0
65e: 2279 s32i.n a7, a2, 8
660: 0279 s32i.n a7, a2, 0
662: 0c13a6 blti a3, 1, 672 <bignum_init-0x11f6>
665: 076d mov.n a6, a7
667: 661b addi.n a6, a6, 1
669: 0579 s32i.n a7, a5, 0
66b: 1248 l32i.n a4, a2, 4
66d: 554b addi.n a5, a5, 4
66f: f42647 blt a6, a4, 667 <bignum_init-0x1201>
672: f00d ret.n
674: f0c112 addi a1, a1, -16
677: 0109 s32i.n a0, a1, 0
679: 11c9 s32i.n a12, a1, 4
67b: 21d9 s32i.n a13, a1, 8
67d: 02cd mov.n a12, a2
67f: 03dd mov.n a13, a3
681: 461237 beq a2, a3, 6cb <bignum_init-0x119d>
684: 0238 l32i.n a3, a2, 0
686: 1d08 l32i.n a0, a13, 4
688: 08a037 bge a0, a3, 694 <bignum_init-0x11d4>
68b: 0d2d mov.n a2, a13
68d: 001145 call0 7a4 <bignum_init-0x10c4>
690: 92fc bnez.n a2, 6cd <bignum_init-0x119b>
692: 0c38 l32i.n a3, a12, 0
694: 3c68 l32i.n a6, a12, 12
696: 3d28 l32i.n a2, a13, 12
698: 1313a6 blti a3, 1, 6af <bignum_init-0x11b9>
69b: 000c movi.n a0, 0
69d: 001b addi.n a0, a0, 1
69f: 0638 l32i.n a3, a6, 0
6a1: 664b addi.n a6, a6, 4
6a3: 0239 s32i.n a3, a2, 0
6a5: 0c38 l32i.n a3, a12, 0
6a7: 224b addi.n a2, a2, 4
6a9: f02037 blt a0, a3, 69d <bignum_init-0x11cb>
6ac: 000046 j 6b1 <bignum_init-0x11b7>
6af: 000c movi.n a0, 0
6b1: 0d48 l32i.n a4, a13, 0
6b3: 0ea047 bge a0, a4, 6c5 <bignum_init-0x11a3>
6b6: 030c movi.n a3, 0
6b8: 001b addi.n a0, a0, 1
6ba: 0239 s32i.n a3, a2, 0
6bc: 0d58 l32i.n a5, a13, 0
6be: 224b addi.n a2, a2, 4
6c0: f42057 blt a0, a5, 6b8 <bignum_init-0x11b0>
6c3: 0c38 l32i.n a3, a12, 0
6c5: 0d39 s32i.n a3, a13, 0
6c7: 2c68 l32i.n a6, a12, 8
6c9: 2d69 s32i.n a6, a13, 8
6cb: 020c movi.n a2, 0
6cd: 11c8 l32i.n a12, a1, 4
6cf: 21d8 l32i.n a13, a1, 8
6d1: 0108 l32i.n a0, a1, 0
6d3: 10c112 addi a1, a1, 16
6d6: f00d ret.n
6d8: f0c112 addi a1, a1, -16
6db: 0109 s32i.n a0, a1, 0
6dd: 4313a6 blti a3, 1, 724 <bignum_init-0x1144>
6e0: 0288 l32i.n a8, a2, 0
6e2: 3268 l32i.n a6, a2, 12
6e4: 052387 blt a3, a8, 6ed <bignum_init-0x117b>
6e7: fff705 call0 658 <bignum_init-0x1210>
6ea: 000d86 j 724 <bignum_init-0x1144>
6ed: a07360 addx4 a7, a3, a6
6f0: c09830 sub a9, a8, a3
6f3: 1619a6 blti a9, 1, 70d <bignum_init-0x115b>
6f6: 000c movi.n a0, 0
6f8: 001b addi.n a0, a0, 1
6fa: 0748 l32i.n a4, a7, 0
6fc: 774b addi.n a7, a7, 4
6fe: 0649 s32i.n a4, a6, 0
700: 0288 l32i.n a8, a2, 0
702: 664b addi.n a6, a6, 4
704: c09830 sub a9, a8, a3
707: ed2097 blt a0, a9, 6f8 <bignum_init-0x1170>
70a: 000046 j 70f <bignum_init-0x1159>
70d: 000c movi.n a0, 0
70f: 0fa087 bge a0, a8, 722 <bignum_init-0x1146>
712: 070c movi.n a7, 0
714: 001b addi.n a0, a0, 1
716: 0679 s32i.n a7, a6, 0
718: 0288 l32i.n a8, a2, 0
71a: 664b addi.n a6, a6, 4
71c: f42087 blt a0, a8, 714 <bignum_init-0x1154>
71f: c09830 sub a9, a8, a3
722: 0299 s32i.n a9, a2, 0
724: 0108 l32i.n a0, a1, 0
726: 10c112 addi a1, a1, 16
729: f00d ret.n
...
733: 041c00 extui a1, a0, 12, 1
736: e0c112 addi a1, a1, -32
739: 4109 s32i.n a0, a1, 16
73b: 61d9 s32i.n a13, a1, 24
73d: 51c9 s32i.n a12, a1, 20
73f: 02dd mov.n a13, a2
741: 03cd mov.n a12, a3
743: 012d mov.n a2, a1
745: 0d3d mov.n a3, a13
747: fff901 l32r a0, 72c <bignum_init-0x113c>
74a: 0000c0 callx0 a0
74d: 0c3d mov.n a3, a12
74f: 0d2d mov.n a2, a13
751: 041c movi.n a4, 16
753: 61d8 l32i.n a13, a1, 24
755: fff601 l32r a0, 730 <bignum_init-0x1138>
758: 0000c0 callx0 a0
75b: 2128 l32i.n a2, a1, 8
75d: 3108 l32i.n a0, a1, 12
75f: 1138 l32i.n a3, a1, 4
761: 0148 l32i.n a4, a1, 0
763: 0c49 s32i.n a4, a12, 0
765: 1c39 s32i.n a3, a12, 4
767: 3c09 s32i.n a0, a12, 12
769: 2c29 s32i.n a2, a12, 8
76b: 4108 l32i.n a0, a1, 16
76d: 51c8 l32i.n a12, a1, 20
76f: 20c112 addi a1, a1, 32
772: f00d ret.n
774: 0248 l32i.n a4, a2, 0
776: 1154e0 slli a5, a4, 2
779: 1514a6 blti a4, 1, 792 <bignum_init-0x10d6>
77c: 3238 l32i.n a3, a2, 12
77e: 335a add.n a3, a3, a5
780: ffd332 addmi a3, a3, 0xffffff00
783: 3f2332 l32i a3, a3, 252
786: fcc552 addi a5, a5, -4
789: 53cc bnez.n a3, 792 <bignum_init-0x10d6>
78b: 440b addi.n a4, a4, -1
78d: 0249 s32i.n a4, a2, 0
78f: fff986 j 779 <bignum_init-0x10ef>
792: 24cc bnez.n a4, 798 <bignum_init-0x10d0>
794: 040c movi.n a4, 0
796: 2249 s32i.n a4, a2, 8
798: f00d ret.n
...
7a2: 120000 excw
7a5: d9f0c1 l32r a12, ffff6f68 <bignum_exptmod+0xffff55bc>
7a8: 11c921 l32r a2, fffc4ecc <bignum_exptmod+0xfffc3520>
7ab: 0109 s32i.n a0, a1, 0
7ad: 02cd mov.n a12, a2
7af: 1208 l32i.n a0, a2, 4
7b1: 03dd mov.n a13, a3
7b3: 3ea037 bge a0, a3, 7f5 <bignum_init-0x1073>
7b6: 032d mov.n a2, a3
7b8: 830c movi.n a3, 8
7ba: fff801 l32r a0, 79c <bignum_init-0x10cc>
7bd: 0000c0 callx0 a0
7c0: c0dd20 sub a13, a13, a2
7c3: 034c movi.n a3, 64
7c5: 3c28 l32i.n a2, a12, 12
7c7: a03d30 addx4 a3, a13, a3
7ca: fff501 l32r a0, 7a0 <bignum_init-0x10c8>
7cd: 0000c0 callx0 a0
7d0: 32cc bnez.n a2, 7d7 <bignum_init-0x1091>
7d2: e27c movi.n a2, -2
7d4: 0007c6 j 7f7 <bignum_init-0x1071>
7d7: 3c29 s32i.n a2, a12, 12
7d9: 10cd42 addi a4, a13, 16
7dc: 1c08 l32i.n a0, a12, 4
7de: 1c49 s32i.n a4, a12, 4
7e0: 11a047 bge a0, a4, 7f5 <bignum_init-0x1073>
7e3: 060c movi.n a6, 0
7e5: 1130e0 slli a3, a0, 2
7e8: 001b addi.n a0, a0, 1
7ea: 723a add.n a7, a2, a3
7ec: 0769 s32i.n a6, a7, 0
7ee: 1c58 l32i.n a5, a12, 4
7f0: 334b addi.n a3, a3, 4
7f2: f22057 blt a0, a5, 7e8 <bignum_init-0x1080>
7f5: 020c movi.n a2, 0
7f7: 11c8 l32i.n a12, a1, 4
7f9: 21d8 l32i.n a13, a1, 8
7fb: 0108 l32i.n a0, a1, 0
7fd: 10c112 addi a1, a1, 16
800: f00d ret.n
802: 120000 excw
805: c9f0c1 l32r a12, ffff2fc8 <bignum_exptmod+0xffff161c>
808: 010911 l32r a1, fffc0c2c <bignum_exptmod+0xfffbf280>
80b: 03cd mov.n a12, a3
80d: 0d1237 beq a2, a3, 81e <bignum_init-0x104a>
810: ffe605 call0 674 <bignum_init-0x11f4>
813: 728c beqz.n a2, 81e <bignum_init-0x104a>
815: 11c8 l32i.n a12, a1, 4
817: 0108 l32i.n a0, a1, 0
819: 10c112 addi a1, a1, 16
81c: f00d ret.n
81e: 020c movi.n a2, 0
820: 2c29 s32i.n a2, a12, 8
822: fffbc6 j 815 <bignum_init-0x1053>
825: 000000 ill
828: ff .byte 0xff
829: ff .byte 0xff
82a: ff .byte 0xff
82b: 0f .byte 0xf
82c: f0c112 addi a1, a1, -16
82f: 0139 s32i.n a3, a1, 0
831: 21c9 s32i.n a12, a1, 8
833: 1109 s32i.n a0, a1, 4
835: 02cd mov.n a12, a2
837: ffe205 call0 658 <bignum_init-0x1210>
83a: fffb21 l32r a2, 828 <bignum_init-0x1040>
83d: 0108 l32i.n a0, a1, 0
83f: 3c38 l32i.n a3, a12, 12
841: 100020 and a0, a0, a2
844: 0309 s32i.n a0, a3, 0
846: 120c movi.n a2, 1
848: 930200 movnez a0, a2, a0
84b: 0c09 s32i.n a0, a12, 0
84d: 21c8 l32i.n a12, a1, 8
84f: 1108 l32i.n a0, a1, 4
851: 10c112 addi a1, a1, 16
854: f00d ret.n
856: ff0000 excw
859: ff .byte 0xff
85a: ff .byte 0xff
85b: 0f .byte 0xf
...
864: e0c112 addi a1, a1, -32
867: 21d9 s32i.n a13, a1, 8
869: 0109 s32i.n a0, a1, 0
86b: 31e9 s32i.n a14, a1, 12
86d: 11c9 s32i.n a12, a1, 4
86f: 03ed mov.n a14, a3
871: 04cd mov.n a12, a4
873: 2c1247 beq a2, a4, 8a3 <bignum_init-0xfc5>
876: 043d mov.n a3, a4
878: ffdf85 call0 674 <bignum_init-0x11f4>
87b: 72dc bnez.n a2, 896 <bignum_init-0xfd2>
87d: 000886 j 8a3 <bignum_init-0xfc5>
880: 000c movi.n a0, 0
882: 908c beqz.n a0, 88f <bignum_init-0xfd9>
884: 3d1b addi.n a3, a13, 1
886: 3c28 l32i.n a2, a12, 12
888: 0c39 s32i.n a3, a12, 0
88a: a02d20 addx4 a2, a13, a2
88d: 0209 s32i.n a0, a2, 0
88f: 0c2d mov.n a2, a12
891: ffee05 call0 774 <bignum_init-0x10f4>
894: 020c movi.n a2, 0
896: 11c8 l32i.n a12, a1, 4
898: 21d8 l32i.n a13, a1, 8
89a: 31e8 l32i.n a14, a1, 12
89c: 0108 l32i.n a0, a1, 0
89e: 20c112 addi a1, a1, 32
8a1: f00d ret.n
8a3: 0cd8 l32i.n a13, a12, 0
8a5: 0e2d mov.n a2, a14
8a7: c31c movi.n a3, 28
8a9: ffec01 l32r a0, 85c <bignum_init-0x100c>
8ac: 0000c0 callx0 a0
8af: 020d mov.n a0, a2
8b1: 4129 s32i.n a2, a1, 16
8b3: 1c58 l32i.n a5, a12, 4
8b5: 4d2a add.n a4, a13, a2
8b7: 0b2457 blt a4, a5, 8c6 <bignum_init-0xfa2>
8ba: 341b addi.n a3, a4, 1
8bc: 0c2d mov.n a2, a12
8be: ffee45 call0 7a4 <bignum_init-0x10c4>
8c1: 4108 l32i.n a0, a1, 16
8c3: fcf256 bnez a2, 896 <bignum_init-0xfd2>
8c6: b61c movi.n a6, 27
8c8: 09a6e7 bge a6, a14, 8d5 <bignum_init-0xf93>
8cb: 0c2d mov.n a2, a12
8cd: 003d mov.n a3, a0
8cf: 0013c5 call0 a0c <bignum_init-0xe5c>
8d2: fc0256 bnez a2, 896 <bignum_init-0xfd2>
8d5: 0e2d mov.n a2, a14
8d7: c31c movi.n a3, 28
8d9: ffe101 l32r a0, 860 <bignum_init-0x1008>
8dc: 0000c0 callx0 a0
8df: fac216 beqz a2, 88f <bignum_init-0xfd9>
8e2: 0cd8 l32i.n a13, a12, 0
8e4: 3c38 l32i.n a3, a12, 12
8e6: 961da6 blti a13, 1, 880 <bignum_init-0xfe8>
8e9: ffdb71 l32r a7, 858 <bignum_init-0x1010>
8ec: 000c movi.n a0, 0
8ee: 040c movi.n a4, 0
8f0: 401200 ssl a2
8f3: 180c movi.n a8, 1
8f5: c91c movi.n a9, 28
8f7: c09920 sub a9, a9, a2
8fa: a18800 sll a8, a8
8fd: 880b addi.n a8, a8, -1
8ff: 400900 ssr a9
902: 03b8 l32i.n a11, a3, 0
904: 441b addi.n a4, a4, 1
906: 91a0b0 srl a10, a11
909: 401200 ssl a2
90c: a1bb00 sll a11, a11
90f: 20b0b0 or a11, a0, a11
912: 1008a0 and a0, a8, a10
915: 10bb70 and a11, a11, a7
918: 03b9 s32i.n a11, a3, 0
91a: 0cd8 l32i.n a13, a12, 0
91c: 334b addi.n a3, a3, 4
91e: dd24d7 blt a4, a13, 8ff <bignum_init-0xf69>
921: ffd746 j 882 <bignum_init-0xfe6>
924: c0c112 addi a1, a1, -64
927: 8129 s32i.n a2, a1, 32
929: 9139 s32i.n a3, a1, 36
92b: a149 s32i.n a4, a1, 40
92d: b159 s32i.n a5, a1, 44
92f: c169 s32i.n a6, a1, 48
931: d179 s32i.n a7, a1, 52
933: 21d9 s32i.n a13, a1, 8
935: 31e9 s32i.n a14, a1, 12
937: 41f9 s32i.n a15, a1, 16
939: 11c9 s32i.n a12, a1, 4
93b: 0109 s32i.n a0, a1, 0
93d: 02cd mov.n a12, a2
93f: 400c movi.n a0, 4
941: 065216 beqz a2, 9aa <bignum_init-0xebe>
944: 20c1f2 addi a15, a1, 32
947: 8e1c movi.n a14, 24
949: 0d0c movi.n a13, 0
94b: 5109 s32i.n a0, a1, 20
94d: ff8505 call0 1a0 <bignum_init-0x16c8>
950: 5108 l32i.n a0, a1, 20
952: 42ec bnez.n a2, 97a <bignum_init-0xeee>
954: dd1b addi.n a13, a13, 1
956: 002d mov.n a2, a0
958: 004b addi.n a0, a0, 4
95a: 052e07 blt a14, a0, 963 <bignum_init-0xf05>
95d: 20c122 addi a2, a1, 32
960: 000186 j 96a <bignum_init-0xefe>
963: 012e27 blt a14, a2, 968 <bignum_init-0xf00>
966: 402c movi.n a0, 36
968: 0f2d mov.n a2, a15
96a: 202a add.n a2, a0, a2
96c: ffd222 addmi a2, a2, 0xffffff00
96f: 3f2222 l32i a2, a2, 252
972: 5109 s32i.n a0, a1, 20
974: fd5256 bnez a2, 94d <bignum_init-0xf1b>
977: 000bc6 j 9aa <bignum_init-0xebe>
97a: 0c2d mov.n a2, a12
97c: 4c0c movi.n a12, 4
97e: dd0b addi.n a13, a13, -1
980: 210d26 beqi a13, -1, 9a5 <bignum_init-0xec3>
983: ff85c5 call0 1e0 <bignum_init-0x1688>
986: 0c0d mov.n a0, a12
988: cc4b addi.n a12, a12, 4
98a: 052ec7 blt a14, a12, 993 <bignum_init-0xed5>
98d: 20c102 addi a0, a1, 32
990: 000186 j 99a <bignum_init-0xece>
993: 012e07 blt a14, a0, 998 <bignum_init-0xed0>
996: 4c2c movi.n a12, 36
998: 0f0d mov.n a0, a15
99a: 2c0a add.n a2, a12, a0
99c: ffd222 addmi a2, a2, 0xffffff00
99f: 3f2222 l32i a2, a2, 252
9a2: fff606 j 97e <bignum_init-0xeea>
9a5: e27c movi.n a2, -2
9a7: 000046 j 9ac <bignum_init-0xebc>
9aa: 020c movi.n a2, 0
9ac: 11c8 l32i.n a12, a1, 4
9ae: 21d8 l32i.n a13, a1, 8
9b0: 31e8 l32i.n a14, a1, 12
9b2: 41f8 l32i.n a15, a1, 16
9b4: 0108 l32i.n a0, a1, 0
9b6: 40c112 addi a1, a1, 64
9b9: f00d ret.n
9bb: c11200 mul16u a1, a2, a0
9be: 0109d0 slli a0, a9, 19
9c1: 4129 s32i.n a2, a1, 16
9c3: 5139 s32i.n a3, a1, 20
9c5: 6149 s32i.n a4, a1, 24
9c7: 7159 s32i.n a5, a1, 28
9c9: 8169 s32i.n a6, a1, 32
9cb: 9179 s32i.n a7, a1, 36
9cd: 21d9 s32i.n a13, a1, 8
9cf: 11c9 s32i.n a12, a1, 4
9d1: 31e9 s32i.n a14, a1, 12
9d3: 4c0c movi.n a12, 4
9d5: 52ac beqz.n a2, 9fe <bignum_init-0xe6a>
9d7: 10c1e2 addi a14, a1, 16
9da: 8d1c movi.n a13, 24
9dc: ff8005 call0 1e0 <bignum_init-0x1688>
9df: 0c0d mov.n a0, a12
9e1: cc4b addi.n a12, a12, 4
9e3: 052dc7 blt a13, a12, 9ec <bignum_init-0xe7c>
9e6: 10c102 addi a0, a1, 16
9e9: 000186 j 9f3 <bignum_init-0xe75>
9ec: 012d07 blt a13, a0, 9f1 <bignum_init-0xe77>
9ef: 4c2c movi.n a12, 36
9f1: 0e0d mov.n a0, a14
9f3: 2c0a add.n a2, a12, a0
9f5: ffd222 addmi a2, a2, 0xffffff00
9f8: 3f2222 l32i a2, a2, 252
9fb: fdd256 bnez a2, 9dc <bignum_init-0xe8c>
9fe: 11c8 l32i.n a12, a1, 4
a00: 21d8 l32i.n a13, a1, 8
a02: 31e8 l32i.n a14, a1, 12
a04: 0108 l32i.n a0, a1, 0
a06: 30c112 addi a1, a1, 48
a09: f00d ret.n
a0b: c11200 mul16u a1, a2, a0
a0e: 0109f0 slli a0, a9, 17
a11: 21d9 s32i.n a13, a1, 8
a13: 11c9 s32i.n a12, a1, 4
a15: 02dd mov.n a13, a2
a17: 03cd mov.n a12, a3
a19: 4913a6 blti a3, 1, a66 <bignum_init-0xe02>
a1c: 0238 l32i.n a3, a2, 0
a1e: 1208 l32i.n a0, a2, 4
a20: 33ca add.n a3, a3, a12
a22: 08a037 bge a0, a3, a2e <bignum_init-0xe3a>
a25: ffd7c5 call0 7a4 <bignum_init-0x10c4>
a28: c2fc bnez.n a2, a68 <bignum_init-0xe00>
a2a: 0d38 l32i.n a3, a13, 0
a2c: 33ca add.n a3, a3, a12
a2e: 0d39 s32i.n a3, a13, 0
a30: 030b addi.n a0, a3, -1
a32: 3d28 l32i.n a2, a13, 12
a34: 114ce0 slli a4, a12, 2
a37: a03320 addx4 a3, a3, a2
a3a: fcc362 addi a6, a3, -4
a3d: c03340 sub a3, a3, a4
a40: fcc332 addi a3, a3, -4
a43: 1220c7 blt a0, a12, a59 <bignum_init-0xe0f>
a46: 2c0b addi.n a2, a12, -1
a48: 000b addi.n a0, a0, -1
a4a: 0358 l32i.n a5, a3, 0
a4c: fcc332 addi a3, a3, -4
a4f: fcc662 addi a6, a6, -4
a52: 1659 s32i.n a5, a6, 4
a54: f09207 bne a2, a0, a48 <bignum_init-0xe20>
a57: 3d28 l32i.n a2, a13, 12
a59: 000c movi.n a0, 0
a5b: 030c movi.n a3, 0
a5d: 0239 s32i.n a3, a2, 0
a5f: 001b addi.n a0, a0, 1
a61: 224b addi.n a2, a2, 4
a63: f69c07 bne a12, a0, a5d <bignum_init-0xe0b>
a66: 020c movi.n a2, 0
a68: 11c8 l32i.n a12, a1, 4
a6a: 21d8 l32i.n a13, a1, 8
a6c: 0108 l32i.n a0, a1, 0
a6e: 10c112 addi a1, a1, 16
a71: f00d ret.n
a73: 024800 excw
a76: 436c movi.n a3, -28
a78: 24cc bnez.n a4, a7e <bignum_init-0xdea>
a7a: 020c movi.n a2, 0
a7c: f00d ret.n
a7e: 3258 l32i.n a5, a2, 12
a80: f02440 subx8 a2, a4, a4
a83: a04450 addx4 a4, a4, a5
a86: ffd442 addmi a4, a4, 0xffffff00
a89: 3f2442 l32i a4, a4, 252
a8c: a02230 addx4 a2, a2, a3
a8f: 648c beqz.n a4, a99 <bignum_init-0xdcf>
a91: 221b addi.n a2, a2, 1
a93: 414140 srli a4, a4, 1
a96: ff7456 bnez a4, a91 <bignum_init-0xdd7>
a99: f00d ret.n
...
aa7: c11200 mul16u a1, a2, a0
aaa: 1109f0 slli a0, a9, 1
aad: 31d9 s32i.n a13, a1, 12
aaf: 21c9 s32i.n a12, a1, 8
ab1: 03dd mov.n a13, a3
ab3: 04cd mov.n a12, a4
ab5: 0913e6 bgei a3, 1, ac2 <bignum_init-0xda6>
ab8: 042d mov.n a2, a4
aba: ffb9c5 call0 658 <bignum_init-0x1210>
abd: 020c movi.n a2, 0
abf: 000646 j adc <bignum_init-0xd8c>
ac2: 0208 l32i.n a0, a2, 0
ac4: f00000 subx8 a0, a0, a0
ac7: 1100e0 slli a0, a0, 2
aca: 072307 blt a3, a0, ad5 <bignum_init-0xd93>
acd: 043d mov.n a3, a4
acf: ffba45 call0 674 <bignum_init-0x11f4>
ad2: 000186 j adc <bignum_init-0xd8c>
ad5: 043d mov.n a3, a4
ad7: ffb9c5 call0 674 <bignum_init-0x11f4>
ada: 928c beqz.n a2, ae7 <bignum_init-0xd81>
adc: 21c8 l32i.n a12, a1, 8
ade: 31d8 l32i.n a13, a1, 12
ae0: 1108 l32i.n a0, a1, 4
ae2: 10c112 addi a1, a1, 16
ae5: f00d ret.n
ae7: 0d2d mov.n a2, a13
ae9: c31c movi.n a3, 28
aeb: ffec01 l32r a0, a9c <bignum_init-0xdcc>
aee: 0000c0 callx0 a0
af1: 0129 s32i.n a2, a1, 0
af3: c31c movi.n a3, 28
af5: 0d2d mov.n a2, a13
af7: ffea01 l32r a0, aa0 <bignum_init-0xdc8>
afa: 0000c0 callx0 a0
afd: 130c movi.n a3, 1
aff: 027d mov.n a7, a2
b01: 0108 l32i.n a0, a1, 0
b03: 0c28 l32i.n a2, a12, 0
b05: 930300 movnez a0, a3, a0
b08: 070a add.n a0, a7, a0
b0a: 13a027 bge a0, a2, b21 <bignum_init-0xd47>
b0d: 3c48 l32i.n a4, a12, 12
b0f: 1130e0 slli a3, a0, 2
b12: 020c movi.n a2, 0
b14: 001b addi.n a0, a0, 1
b16: 643a add.n a6, a4, a3
b18: 0629 s32i.n a2, a6, 0
b1a: 0c58 l32i.n a5, a12, 0
b1c: 334b addi.n a3, a3, 4
b1e: f22057 blt a0, a5, b14 <bignum_init-0xd54>
b21: 0d2d mov.n a2, a13
b23: 3c88 l32i.n a8, a12, 12
b25: c31c movi.n a3, 28
b27: a0d780 addx4 a13, a7, a8
b2a: ffde01 l32r a0, aa4 <bignum_init-0xdc4>
b2d: 0000c0 callx0 a0
b30: 0d98 l32i.n a9, a13, 0
b32: 401200 ssl a2
b35: 1a0c movi.n a10, 1
b37: 0c2d mov.n a2, a12
b39: a1aa00 sll a10, a10
b3c: aa0b addi.n a10, a10, -1
b3e: 1099a0 and a9, a9, a10
b41: 0d99 s32i.n a9, a13, 0
b43: ffc305 call0 774 <bignum_init-0x10f4>
b46: ffdcc6 j abd <bignum_init-0xdab>
b49: 000000 ill
b4c: a0c112 addi a1, a1, -96
b4f: 136142 s32i a4, a1, 76
b52: 1561c2 s32i a12, a1, 84
b55: 146102 s32i a0, a1, 80
b58: 1661d2 s32i a13, a1, 88
b5b: 1761e2 s32i a14, a1, 92
b5e: 05dd mov.n a13, a5
b60: 02ed mov.n a14, a2
b62: 0308 l32i.n a0, a3, 0
b64: 03cd mov.n a12, a3
b66: 30cc bnez.n a0, b6d <bignum_init-0xcfb>
b68: d27c movi.n a2, -3
b6a: 000a86 j b98 <bignum_init-0xcd0>
b6d: ff8d45 call0 444 <bignum_init-0x1424>
b70: 0d0266 bnei a2, -1, b81 <bignum_init-0xce7>
b73: 2dbc beqz.n a13, ba9 <bignum_init-0xcbf>
b75: 0d3d mov.n a3, a13
b77: 0e2d mov.n a2, a14
b79: ffaf85 call0 674 <bignum_init-0x11f4>
b7c: 02dd mov.n a13, a2
b7e: 000a46 j bab <bignum_init-0xcbd>
b81: 012d mov.n a2, a1
b83: 10c132 addi a3, a1, 16
b86: 20c142 addi a4, a1, 32
b89: 30c152 addi a5, a1, 48
b8c: 060c movi.n a6, 0
b8e: ffd945 call0 924 <bignum_init-0xf44>
b91: 52ac beqz.n a2, bba <bignum_init-0xcae>
b93: 130c movi.n a3, 1
b95: 932320 movnez a2, a3, a2
b98: 1521c2 l32i a12, a1, 84
b9b: 1621d2 l32i a13, a1, 88
b9e: 1721e2 l32i a14, a1, 92
ba1: 142102 l32i a0, a1, 80
ba4: 60c112 addi a1, a1, 96
ba7: f00d ret.n
ba9: 0d0c movi.n a13, 0
bab: 132142 l32i a4, a1, 76
bae: 348c beqz.n a4, bb5 <bignum_init-0xcb3>
bb0: 042d mov.n a2, a4
bb2: ffaa45 call0 658 <bignum_init-0x1210>
bb5: 0d2d mov.n a2, a13
bb7: fff746 j b98 <bignum_init-0xcd0>
bba: 20c122 addi a2, a1, 32
bbd: 130c movi.n a3, 1
bbf: 1261d2 s32i a13, a1, 72
bc2: ffc685 call0 82c <bignum_init-0x103c>
bc5: 0e2d mov.n a2, a14
bc7: ffeac5 call0 a74 <bignum_init-0xdf4>
bca: 02dd mov.n a13, a2
bcc: 0c2d mov.n a2, a12
bce: ffea45 call0 a74 <bignum_init-0xdf4>
bd1: 013d mov.n a3, a1
bd3: c05d20 sub a5, a13, a2
bd6: 116152 s32i a5, a1, 68
bd9: 0e2d mov.n a2, a14
bdb: 106152 s32i a5, a1, 64
bde: ffc245 call0 804 <bignum_init-0x1064>
be1: 02dd mov.n a13, a2
be3: 0c5256 bnez a2, cac <bignum_init-0xbbc>
be6: 0c2d mov.n a2, a12
be8: 10c132 addi a3, a1, 16
beb: ffc185 call0 804 <bignum_init-0x1064>
bee: 02dd mov.n a13, a2
bf0: 0b8256 bnez a2, cac <bignum_init-0xbbc>
bf3: 112132 l32i a3, a1, 68
bf6: 10c122 addi a2, a1, 16
bf9: 024d mov.n a4, a2
bfb: ffc685 call0 864 <bignum_init-0x1004>
bfe: 02dd mov.n a13, a2
c00: 0a8256 bnez a2, cac <bignum_init-0xbbc>
c03: 112132 l32i a3, a1, 68
c06: 20c122 addi a2, a1, 32
c09: 024d mov.n a4, a2
c0b: ffc585 call0 864 <bignum_init-0x1004>
c0e: 02dd mov.n a13, a2
c10: 098256 bnez a2, cac <bignum_init-0xbbc>
c13: 102172 l32i a7, a1, 64
c16: 076d mov.n a6, a7
c18: 770b addi.n a7, a7, -1
c1a: 106172 s32i a7, a1, 64
c1d: 04e696 bltz a6, c6f <bignum_init-0xbf9>
c20: 10c122 addi a2, a1, 16
c23: 013d mov.n a3, a1
c25: ff7a45 call0 3cc <bignum_init-0x149c>
c28: 1e1226 beqi a2, 1, c4a <bignum_init-0xc1e>
c2b: 012d mov.n a2, a1
c2d: 10c132 addi a3, a1, 16
c30: 014d mov.n a4, a1
c32: ff6405 call0 274 <bignum_init-0x15f4>
c35: 02dd mov.n a13, a2
c37: 071256 bnez a2, cac <bignum_init-0xbbc>
c3a: 20c132 addi a3, a1, 32
c3d: 30c122 addi a2, a1, 48
c40: 024d mov.n a4, a2
c42: ff5dc5 call0 220 <bignum_init-0x1648>
c45: 02dd mov.n a13, a2
c47: 061256 bnez a2, cac <bignum_init-0xbbc>
c4a: 130c movi.n a3, 1
c4c: 050c movi.n a5, 0
c4e: 10c122 addi a2, a1, 16
c51: 024d mov.n a4, a2
c53: ff9005 call0 554 <bignum_init-0x1314>
c56: 02dd mov.n a13, a2
c58: 050256 bnez a2, cac <bignum_init-0xbbc>
c5b: 130c movi.n a3, 1
c5d: 050c movi.n a5, 0
c5f: 20c122 addi a2, a1, 32
c62: 024d mov.n a4, a2
c64: ff8ec5 call0 554 <bignum_init-0x1314>
c67: 02dd mov.n a13, a2
c69: fa6216 beqz a2, c13 <bignum_init-0xc55>
c6c: 000f06 j cac <bignum_init-0xbbc>
c6f: 132182 l32i a8, a1, 76
c72: 2ee8 l32i.n a14, a14, 8
c74: 2cc8 l32i.n a12, a12, 8
c76: 190c movi.n a9, 1
c78: c0cce0 sub a12, a12, a14
c7b: 93c9c0 movnez a12, a9, a12
c7e: 289c beqz.n a8, c94 <bignum_init-0xbd4>
c80: 082d mov.n a2, a8
c82: 30c132 addi a3, a1, 48
c85: ffaac5 call0 734 <bignum_init-0x1134>
c88: 132122 l32i a2, a1, 76
c8b: 0238 l32i.n a3, a2, 0
c8d: 000c movi.n a0, 0
c8f: 83c030 moveqz a12, a0, a3
c92: 22c9 s32i.n a12, a2, 8
c94: 122142 l32i a4, a1, 72
c97: 149c beqz.n a4, cac <bignum_init-0xbbc>
c99: 042d mov.n a2, a4
c9b: 013d mov.n a3, a1
c9d: ffa945 call0 734 <bignum_init-0x1134>
ca0: 122152 l32i a5, a1, 72
ca3: 0578 l32i.n a7, a5, 0
ca5: 060c movi.n a6, 0
ca7: 83e670 moveqz a14, a6, a7
caa: 25e9 s32i.n a14, a5, 8
cac: 012d mov.n a2, a1
cae: 10c132 addi a3, a1, 16
cb1: 20c142 addi a4, a1, 32
cb4: 30c152 addi a5, a1, 48
cb7: 060c movi.n a6, 0
cb9: ffd005 call0 9bc <bignum_init-0xeac>
cbc: ffbd46 j bb5 <bignum_init-0xcb3>
cbf: 11e000 slli a14, a0, 16
cc2: c90000 excw
cc5: 000d mov.n a0, a0
cc7: 109c00 and a9, a12, a0
cca: 820000 mull a0, a0, a0
ccd: 8080a2 excw
cd0: f2c011 l32r a1, ffffd7d0 <bignum_exptmod+0xffffbe24>
cd3: 529d61 l32r a6, fffd5748 <bignum_exptmod+0xfffd3d9c>
cd6: 629561 l32r a6, fffd972c <bignum_exptmod+0xfffd7d80>
cd9: 029361 l32r a6, fffc1728 <bignum_exptmod+0xfffbfd7c>
cdc: d29961 l32r a6, ffff5740 <bignum_exptmod+0xffff3d94>
cdf: c29b61 l32r a6, ffff174c <bignum_exptmod+0xfffefda0>
ce2: e29a61 l32r a6, ffff974c <bignum_exptmod+0xffff7da0>
ce5: cd9c61 l32r a6, ffff4358 <bignum_exptmod+0xffff29ac>
ce8: 02ed04 excw
ceb: 03dd mov.n a13, a3
ced: 032d mov.n a2, a3
cef: 9461e2 s32i a14, a1, 0x250
cf2: ffd805 call0 a74 <bignum_init-0xdf4>
cf5: 8a61d2 s32i a13, a1, 0x228
cf8: 0282a6 blti a2, 8, cfe <bignum_init-0xb6a>
cfb: 004006 j dff <bignum_init-0xa69>
cfe: 2d0c movi.n a13, 2
d00: 500c movi.n a0, 5
d02: 016de6 bgei a13, 6, d07 <bignum_init-0xb61>
d05: 0d0d mov.n a0, a13
d07: 00dd mov.n a13, a0
d09: 10c1f2 addi a15, a1, 16
d0c: 0f2d mov.n a2, a15
d0e: ff4905 call0 1a0 <bignum_init-0x16c8>
d11: 0d4256 bnez a2, de9 <bignum_init-0xa7f>
d14: 8d61d2 s32i a13, a1, 0x234
d17: 9161f2 s32i a15, a1, 0x244
d1a: 9061c2 s32i a12, a1, 0x240
d1d: 100c movi.n a0, 1
d1f: 2d0b addi.n a2, a13, -1
d21: 926122 s32i a2, a1, 0x248
d24: 401200 ssl a2
d27: a12000 sll a2, a0
d2a: 9e6122 s32i a2, a1, 0x278
d2d: 02ed mov.n a14, a2
d2f: 401d00 ssl a13
d32: a10000 sll a0, a0
d35: 886102 s32i a0, a1, 0x220
d38: 02a207 bge a2, a0, d3e <bignum_init-0xb2a>
d3b: 003286 j e09 <bignum_init-0xa5f>
d3e: 003ac6 j e2d <bignum_init-0xa3b>
d41: 612666 bnei a6, 2, da6 <bignum_init-0xac2>
d44: 5e10a6 blti a0, 1, da6 <bignum_init-0xac2>
d47: 0e0c movi.n a14, 0
d49: 896102 s32i a0, a1, 0x224
d4c: 02d122 addmi a2, a1, 0x200
d4f: 10c222 addi a2, a2, 16
d52: 023d mov.n a3, a2
d54: 003285 call0 1080 <bignum_init-0x7e8>
d57: 02dd mov.n a13, a2
d59: 057256 bnez a2, db4 <bignum_init-0xab4>
d5c: 902132 l32i a3, a1, 0x240
d5f: 02d142 addmi a4, a1, 0x200
d62: 10c422 addi a2, a4, 16
d65: 000fc0 callx0 a15
d68: 02dd mov.n a13, a2
d6a: 046256 bnez a2, db4 <bignum_init-0xab4>
d6d: 8d2162 l32i a6, a1, 0x234
d70: 11ccf0 slli a12, a12, 1
d73: 400600 ssr a6
d76: b150c0 sra a5, a12
d79: 216507 bbci a5, 0, d9e <bignum_init-0xaca>
d7c: 912132 l32i a3, a1, 0x244
d7f: 02d122 addmi a2, a1, 0x200
d82: 10c222 addi a2, a2, 16
d85: 024d mov.n a4, a2
d87: ff5445 call0 2cc <bignum_init-0x159c>
d8a: 02dd mov.n a13, a2
d8c: 42ec bnez.n a2, db4 <bignum_init-0xab4>
d8e: 902132 l32i a3, a1, 0x240
d91: 02d142 addmi a4, a1, 0x200
d94: 10c422 addi a2, a4, 16
d97: 000fc0 callx0 a15
d9a: 02dd mov.n a13, a2
d9c: 42dc bnez.n a2, db4 <bignum_init-0xab4>
d9e: 892152 l32i a5, a1, 0x224
da1: ee1b addi.n a14, a14, 1
da3: a595e7 bne a5, a14, d4c <bignum_init-0xb1c>
da6: 952132 l32i a3, a1, 0x254
da9: 02d122 addmi a2, a1, 0x200
dac: 10c222 addi a2, a2, 16
daf: ff9845 call0 734 <bignum_init-0x1134>
db2: 0d0c movi.n a13, 0
db4: 02d122 addmi a2, a1, 0x200
db7: 10c222 addi a2, a2, 16
dba: ff4245 call0 1e0 <bignum_init-0x1688>
dbd: 02d122 addmi a2, a1, 0x200
dc0: ff41c5 call0 1e0 <bignum_init-0x1688>
dc3: 912122 l32i a2, a1, 0x244
dc6: ff4185 call0 1e0 <bignum_init-0x1688>
dc9: 882142 l32i a4, a1, 0x220
dcc: 9e2132 l32i a3, a1, 0x278
dcf: 14a347 bge a3, a4, de7 <bignum_init-0xa81>
dd2: 11f4c0 slli a15, a4, 4
dd5: 11c3c0 slli a12, a3, 4
dd8: cc1a add.n a12, a12, a1
dda: ff1a add.n a15, a15, a1
ddc: 0c2d mov.n a2, a12
dde: ff4005 call0 1e0 <bignum_init-0x1688>
de1: 10ccc2 addi a12, a12, 16
de4: f49cf7 bne a12, a15, ddc <bignum_init-0xa8c>
de7: 0d2d mov.n a2, a13
de9: 9a21c2 l32i a12, a1, 0x268
dec: 9b21d2 l32i a13, a1, 0x26c
def: 9c21e2 l32i a14, a1, 0x270
df2: 9d21f2 l32i a15, a1, 0x274
df5: 80a232 movi a3, 0x280
df8: 992102 l32i a0, a1, 0x264
dfb: 113a add.n a1, a1, a3
dfd: f00d ret.n
dff: 402c movi.n a0, 36
e01: 4d2027 blt a0, a2, e52 <bignum_init-0xa16>
e04: 3d0c movi.n a13, 3
e06: ffbd86 j d00 <bignum_init-0xb68>
e09: 886102 s32i a0, a1, 0x220
e0c: 8d61d2 s32i a13, a1, 0x234
e0f: 11c2c0 slli a12, a2, 4
e12: 11f0c0 slli a15, a0, 4
e15: ff1a add.n a15, a15, a1
e17: cc1a add.n a12, a12, a1
e19: 8e61c2 s32i a12, a1, 0x238
e1c: 0c2d mov.n a2, a12
e1e: 0cdd mov.n a13, a12
e20: ff37c5 call0 1a0 <bignum_init-0x16c8>
e23: 62fc bnez.n a2, e5d <bignum_init-0xa0b>
e25: ee1b addi.n a14, a14, 1
e27: 10cdc2 addi a12, a13, 16
e2a: ee9cf7 bne a12, a15, e1c <bignum_init-0xa4c>
e2d: 02d122 addmi a2, a1, 0x200
e30: ff36c5 call0 1a0 <bignum_init-0x16c8>
e33: 02dd mov.n a13, a2
e35: f8a256 bnez a2, dc3 <bignum_init-0xaa5>
e38: 932132 l32i a3, a1, 0x24c
e3b: 067356 bnez a3, ea6 <bignum_init-0x9c2>
e3e: 02d122 addmi a2, a1, 0x200
e41: 902132 l32i a3, a1, 0x240
e44: 003645 call0 11ac <bignum_init-0x6bc>
e47: 02dd mov.n a13, a2
e49: f70256 bnez a2, dbd <bignum_init-0xaab>
e4c: ff9df1 l32r a15, cc0 <bignum_init-0xba8>
e4f: 001906 j eb7 <bignum_init-0x9b1>
e52: 8ca032 movi a3, 140
e55: 272327 blt a3, a2, e80 <bignum_init-0x9e8>
e58: 4d0c movi.n a13, 4
e5a: ffa886 j d00 <bignum_init-0xb68>
e5d: 9e2142 l32i a4, a1, 0x278
e60: 8c6122 s32i a2, a1, 0x230
e63: 0da4e7 bge a4, a14, e74 <bignum_init-0x9f4>
e66: 8e21c2 l32i a12, a1, 0x238
e69: 0c2d mov.n a2, a12
e6b: ff3745 call0 1e0 <bignum_init-0x1688>
e6e: 10ccc2 addi a12, a12, 16
e71: f49cd7 bne a12, a13, e69 <bignum_init-0x9ff>
e74: 912122 l32i a2, a1, 0x244
e77: ff3685 call0 1e0 <bignum_init-0x1688>
e7a: 8c2122 l32i a2, a1, 0x230
e7d: ffda06 j de9 <bignum_init-0xa7f>
e80: c2a152 movi a5, 0x1c2
e83: 042527 blt a5, a2, e8b <bignum_init-0x9dd>
e86: 5d0c movi.n a13, 5
e88: ff9d06 j d00 <bignum_init-0xb68>
e8b: 17a562 movi a6, 0x517
e8e: 042627 blt a6, a2, e96 <bignum_init-0x9d2>
e91: 6d0c movi.n a13, 6
e93: ff9a46 j d00 <bignum_init-0xb68>
e96: ff8b71 l32r a7, cc4 <bignum_init-0xba4>
e99: 7d0c movi.n a13, 7
e9b: 022727 blt a7, a2, ea1 <bignum_init-0x9c7>
e9e: ff9786 j d00 <bignum_init-0xb68>
ea1: 8d0c movi.n a13, 8
ea3: ff9646 j d00 <bignum_init-0xb68>
ea6: 02d132 addmi a3, a1, 0x200
ea9: 902122 l32i a2, a1, 0x240
eac: 002605 call0 1110 <bignum_init-0x758>
eaf: 02dd mov.n a13, a2
eb1: f08256 bnez a2, dbd <bignum_init-0xaab>
eb4: ff85f1 l32r a15, cc8 <bignum_init-0xba0>
eb7: 942122 l32i a2, a1, 0x250
eba: 902132 l32i a3, a1, 0x240
ebd: 912142 l32i a4, a1, 0x244
ec0: ff4885 call0 34c <bignum_init-0x151c>
ec3: 02dd mov.n a13, a2
ec5: ef4256 bnez a2, dbd <bignum_init-0xaab>
ec8: 912122 l32i a2, a1, 0x244
ecb: 9221e2 l32i a14, a1, 0x248
ece: 0d1c movi.n a13, 16
ed0: 401e00 ssl a14
ed3: a1dd00 sll a13, a13
ed6: c1da add.n a12, a1, a13
ed8: 0c3d mov.n a3, a12
eda: ff7985 call0 674 <bignum_init-0x11f4>
edd: 02dd mov.n a13, a2
edf: eda256 bnez a2, dbd <bignum_init-0xaab>
ee2: 8d2102 l32i a0, a1, 0x234
ee5: 2520a6 blti a0, 2, f0e <bignum_init-0x95a>
ee8: 0e0c movi.n a14, 0
eea: 0c2d mov.n a2, a12
eec: 0c3d mov.n a3, a12
eee: 001905 call0 1080 <bignum_init-0x7e8>
ef1: 02dd mov.n a13, a2
ef3: ec6256 bnez a2, dbd <bignum_init-0xaab>
ef6: 02d142 addmi a4, a1, 0x200
ef9: 0c2d mov.n a2, a12
efb: 902132 l32i a3, a1, 0x240
efe: 000fc0 callx0 a15
f01: 02dd mov.n a13, a2
f03: eb6256 bnez a2, dbd <bignum_init-0xaab>
f06: 922152 l32i a5, a1, 0x248
f09: ee1b addi.n a14, a14, 1
f0b: db95e7 bne a5, a14, eea <bignum_init-0x97e>
f0e: 9e2102 l32i a0, a1, 0x278
f11: 882162 l32i a6, a1, 0x220
f14: 001b addi.n a0, a0, 1
f16: 3ca067 bge a0, a6, f56 <bignum_init-0x912>
f19: 1136c0 slli a3, a6, 4
f1c: 11e0c0 slli a14, a0, 4
f1f: f0c122 addi a2, a1, -16
f22: ce1a add.n a12, a14, a1
f24: ee2a add.n a14, a14, a2
f26: 223a add.n a2, a2, a3
f28: 8b6122 s32i a2, a1, 0x22c
f2b: 0e2d mov.n a2, a14
f2d: 912132 l32i a3, a1, 0x244
f30: 0c4d mov.n a4, a12
f32: ff3985 call0 2cc <bignum_init-0x159c>
f35: 02dd mov.n a13, a2
f37: e82256 bnez a2, dbd <bignum_init-0xaab>
f3a: 02d142 addmi a4, a1, 0x200
f3d: 0c2d mov.n a2, a12
f3f: 902132 l32i a3, a1, 0x240
f42: 000fc0 callx0 a15
f45: 02dd mov.n a13, a2
f47: e72256 bnez a2, dbd <bignum_init-0xaab>
f4a: 10ccc2 addi a12, a12, 16
f4d: 8b2152 l32i a5, a1, 0x22c
f50: 10cee2 addi a14, a14, 16
f53: d49e57 bne a14, a5, f2b <bignum_init-0x93d>
f56: 02d122 addmi a2, a1, 0x200
f59: 10c222 addi a2, a2, 16
f5c: ff2405 call0 1a0 <bignum_init-0x16c8>
f5f: 02dd mov.n a13, a2
f61: e58256 bnez a2, dbd <bignum_init-0xaab>
f64: 130c movi.n a3, 1
f66: 02d122 addmi a2, a1, 0x200
f69: 10c222 addi a2, a2, 16
f6c: ff8bc5 call0 82c <bignum_init-0x103c>
f6f: 0c0c movi.n a12, 0
f71: 000c movi.n a0, 0
f73: 060c movi.n a6, 0
f75: 140c movi.n a4, 1
f77: 8a2132 l32i a3, a1, 0x228
f7a: 050c movi.n a5, 0
f7c: 976152 s32i a5, a1, 0x25c
f7f: 0338 l32i.n a3, a3, 0
f81: 986142 s32i a4, a1, 0x260
f84: 330b addi.n a3, a3, -1
f86: 966132 s32i a3, a1, 0x258
f89: 1133e0 slli a3, a3, 2
f8c: 8f6132 s32i a3, a1, 0x23c
f8f: 982172 l32i a7, a1, 0x260
f92: 770b addi.n a7, a7, -1
f94: 986172 s32i a7, a1, 0x260
f97: 87ec bnez.n a7, fc3 <bignum_init-0x8a5>
f99: 962182 l32i a8, a1, 0x258
f9c: 881b addi.n a8, a8, 1
f9e: d9f816 beqz a8, d41 <bignum_init-0xb27>
fa1: 8f2192 l32i a9, a1, 0x23c
fa4: 8a21a2 l32i a10, a1, 0x228
fa7: 9621b2 l32i a11, a1, 0x258
faa: 3aa8 l32i.n a10, a10, 12
fac: bb0b addi.n a11, a11, -1
fae: 9661b2 s32i a11, a1, 0x258
fb1: aa9a add.n a10, a10, a9
fb3: cb1c movi.n a11, 28
fb5: 9861b2 s32i a11, a1, 0x260
fb8: fcc992 addi a9, a9, -4
fbb: 0aa8 l32i.n a10, a10, 0
fbd: 9761a2 s32i a10, a1, 0x25c
fc0: 8f6192 s32i a9, a1, 0x23c
fc3: 9721d2 l32i a13, a1, 0x25c
fc6: 059bd0 extui a9, a13, 27, 1
fc9: 11ddf0 slli a13, a13, 1
fcc: 9761d2 s32i a13, a1, 0x25c
fcf: 16cc bnez.n a6, fd4 <bignum_init-0x894>
fd1: fba916 beqz a9, f8f <bignum_init-0x8d9>
fd4: 311666 bnei a6, 1, 1009 <bignum_init-0x85f>
fd7: 9f6162 s32i a6, a1, 0x27c
fda: 896102 s32i a0, a1, 0x224
fdd: 89ec bnez.n a9, 1009 <bignum_init-0x85f>
fdf: 02d122 addmi a2, a1, 0x200
fe2: 10c222 addi a2, a2, 16
fe5: 023d mov.n a3, a2
fe7: 000985 call0 1080 <bignum_init-0x7e8>
fea: 02dd mov.n a13, a2
fec: dc4256 bnez a2, db4 <bignum_init-0xab4>
fef: 902132 l32i a3, a1, 0x240
ff2: 02d142 addmi a4, a1, 0x200
ff5: 10c422 addi a2, a4, 16
ff8: 000fc0 callx0 a15
ffb: 892102 l32i a0, a1, 0x224
ffe: 02dd mov.n a13, a2
1000: db0256 bnez a2, db4 <bignum_init-0xab4>
1003: 9f2162 l32i a6, a1, 0x27c
1006: ffe146 j f8f <bignum_init-0x8d9>
1009: 8d2152 l32i a5, a1, 0x234
100c: 001b addi.n a0, a0, 1
100e: c07500 sub a7, a5, a0
1011: 401700 ssl a7
1014: a16900 sll a6, a9
1017: 20cc60 or a12, a12, a6
101a: 5c9057 bne a0, a5, 107a <bignum_init-0x7ee>
101d: 2a15a6 blti a5, 1, 104b <bignum_init-0x81d>
1020: 0e0c movi.n a14, 0
1022: 02d122 addmi a2, a1, 0x200
1025: 10c222 addi a2, a2, 16
1028: 023d mov.n a3, a2
102a: 000545 call0 1080 <bignum_init-0x7e8>
102d: 02dd mov.n a13, a2
102f: d81256 bnez a2, db4 <bignum_init-0xab4>
1032: 902132 l32i a3, a1, 0x240
1035: 02d142 addmi a4, a1, 0x200
1038: 10c422 addi a2, a4, 16
103b: 000fc0 callx0 a15
103e: 02dd mov.n a13, a2
1040: d70256 bnez a2, db4 <bignum_init-0xab4>
1043: 8d2152 l32i a5, a1, 0x234
1046: ee1b addi.n a14, a14, 1
1048: d69e57 bne a14, a5, 1022 <bignum_init-0x846>
104b: 02d122 addmi a2, a1, 0x200
104e: 114cc0 slli a4, a12, 4
1051: 314a add.n a3, a1, a4
1053: 10c222 addi a2, a2, 16
1056: 024d mov.n a4, a2
1058: ff2705 call0 2cc <bignum_init-0x159c>
105b: 02dd mov.n a13, a2
105d: d53256 bnez a2, db4 <bignum_init-0xab4>
1060: 902132 l32i a3, a1, 0x240
1063: 02d142 addmi a4, a1, 0x200
1066: 10c422 addi a2, a4, 16
1069: 000fc0 callx0 a15
106c: 02dd mov.n a13, a2
106e: d42256 bnez a2, db4 <bignum_init-0xab4>
1071: 0c0c movi.n a12, 0
1073: 000c movi.n a0, 0
1075: 160c movi.n a6, 1
1077: ffc506 j f8f <bignum_init-0x8d9>
107a: 260c movi.n a6, 2
107c: ffc3c6 j f8f <bignum_init-0x8d9>
107f: c11200 mul16u a1, a2, a0
1082: 11c9f0 slli a12, a9, 1
1085: 0109 s32i.n a0, a1, 0
1087: 03cd mov.n a12, a3
1089: 005705 call0 15fc <bignum_init-0x26c>
108c: 000c movi.n a0, 0
108e: 2c09 s32i.n a0, a12, 8
1090: 11c8 l32i.n a12, a1, 4
1092: 0108 l32i.n a0, a1, 0
1094: 10c112 addi a1, a1, 16
1097: f00d ret.n
1099: 000000 ill
109c: d0c112 addi a1, a1, -48
109f: 5149 s32i.n a4, a1, 20
10a1: 7109 s32i.n a0, a1, 28
10a3: 81c9 s32i.n a12, a1, 32
10a5: 91d9 s32i.n a13, a1, 36
10a7: 02cd mov.n a12, a2
10a9: 03dd mov.n a13, a3
10ab: 012d mov.n a2, a1
10ad: ff0f05 call0 1a0 <bignum_init-0x16c8>
10b0: 82cc bnez.n a2, 10bc <bignum_init-0x7ac>
10b2: 000446 j 10c7 <bignum_init-0x7a1>
10b5: 012d mov.n a2, a1
10b7: ff1285 call0 1e0 <bignum_init-0x1688>
10ba: 6128 l32i.n a2, a1, 24
10bc: 81c8 l32i.n a12, a1, 32
10be: 91d8 l32i.n a13, a1, 36
10c0: 7108 l32i.n a0, a1, 28
10c2: 30c112 addi a1, a1, 48
10c5: f00d ret.n
10c7: 0d2d mov.n a2, a13
10c9: ff9a85 call0 a74 <bignum_init-0xdf4>
10cc: 4129 s32i.n a2, a1, 16
10ce: 0c2d mov.n a2, a12
10d0: 4138 l32i.n a3, a1, 16
10d2: 014d mov.n a4, a1
10d4: 0c5d mov.n a5, a12
10d6: ff47c5 call0 554 <bignum_init-0x1314>
10d9: 6129 s32i.n a2, a1, 24
10db: fd6256 bnez a2, 10b5 <bignum_init-0x7b3>
10de: 012d mov.n a2, a1
10e0: 5138 l32i.n a3, a1, 20
10e2: 014d mov.n a4, a1
10e4: ff1e45 call0 2cc <bignum_init-0x159c>
10e7: 6129 s32i.n a2, a1, 24
10e9: fc8256 bnez a2, 10b5 <bignum_init-0x7b3>
10ec: 0c2d mov.n a2, a12
10ee: 013d mov.n a3, a1
10f0: 0c4d mov.n a4, a12
10f2: fef345 call0 28 <bignum_init-0x1840>
10f5: 6129 s32i.n a2, a1, 24
10f7: fba256 bnez a2, 10b5 <bignum_init-0x7b3>
10fa: 0c2d mov.n a2, a12
10fc: 0d3d mov.n a3, a13
10fe: ff3445 call0 444 <bignum_init-0x1424>
1101: b00226 beqi a2, -1, 10b5 <bignum_init-0x7b3>
1104: 0c2d mov.n a2, a12
1106: 0d3d mov.n a3, a13
1108: 0c4d mov.n a4, a12
110a: fefec5 call0 f8 <bignum_init-0x1770>
110d: ffef46 j 10ce <bignum_init-0x79a>
1110: e0c112 addi a1, a1, -32
1113: 5139 s32i.n a3, a1, 20
1115: 6129 s32i.n a2, a1, 24
1117: 7109 s32i.n a0, a1, 28
1119: 012d mov.n a2, a1
111b: ff0845 call0 1a0 <bignum_init-0x16c8>
111e: 02ec bnez.n a2, 1142 <bignum_init-0x726>
1120: 6128 l32i.n a2, a1, 24
1122: ff9505 call0 a74 <bignum_init-0xdf4>
1125: 023d mov.n a3, a2
1127: 012d mov.n a2, a1
1129: 000285 call0 1154 <bignum_init-0x714>
112c: 4129 s32i.n a2, a1, 16
112e: 92cc bnez.n a2, 113b <bignum_init-0x72d>
1130: 012d mov.n a2, a1
1132: 6138 l32i.n a3, a1, 24
1134: 5148 l32i.n a4, a1, 20
1136: fefc05 call0 f8 <bignum_init-0x1770>
1139: 4129 s32i.n a2, a1, 16
113b: 012d mov.n a2, a1
113d: ff0a05 call0 1e0 <bignum_init-0x1688>
1140: 4128 l32i.n a2, a1, 16
1142: 7108 l32i.n a0, a1, 28
1144: 20c112 addi a1, a1, 32
1147: f00d ret.n
...
1151: 000000 ill
1154: e0c112 addi a1, a1, -32
1157: 2109 s32i.n a0, a1, 8
1159: 41d9 s32i.n a13, a1, 16
115b: 31c9 s32i.n a12, a1, 12
115d: 03dd mov.n a13, a3
115f: 02cd mov.n a12, a2
1161: ff4f45 call0 658 <bignum_init-0x1210>
1164: 0d2d mov.n a2, a13
1166: c31c movi.n a3, 28
1168: fff901 l32r a0, 114c <bignum_init-0x71c>
116b: 0000c0 callx0 a0
116e: 0129 s32i.n a2, a1, 0
1170: 321b addi.n a3, a2, 1
1172: 1139 s32i.n a3, a1, 4
1174: 0c2d mov.n a2, a12
1176: ff62c5 call0 7a4 <bignum_init-0x10c4>
1179: 020d mov.n a0, a2
117b: f2dc bnez.n a2, 119e <bignum_init-0x6ca>
117d: 0d2d mov.n a2, a13
117f: c31c movi.n a3, 28
1181: 1108 l32i.n a0, a1, 4
1183: 0c09 s32i.n a0, a12, 0
1185: fff201 l32r a0, 1150 <bignum_init-0x718>
1188: 0000c0 callx0 a0
118b: 000c movi.n a0, 0
118d: 3c58 l32i.n a5, a12, 12
118f: 401200 ssl a2
1192: 140c movi.n a4, 1
1194: 0138 l32i.n a3, a1, 0
1196: a12400 sll a2, a4
1199: a03350 addx4 a3, a3, a5
119c: 0329 s32i.n a2, a3, 0
119e: 31c8 l32i.n a12, a1, 12
11a0: 41d8 l32i.n a13, a1, 16
11a2: 002d mov.n a2, a0
11a4: 2108 l32i.n a0, a1, 8
11a6: 20c112 addi a1, a1, 32
11a9: f00d ret.n
11ab: c11200 mul16u a1, a2, a0
11ae: 0109f0 slli a0, a9, 17
11b1: 11c9 s32i.n a12, a1, 4
11b3: 21d9 s32i.n a13, a1, 8
11b5: 03cd mov.n a12, a3
11b7: 0338 l32i.n a3, a3, 0
11b9: 02dd mov.n a13, a2
11bb: f03330 subx8 a3, a3, a3
11be: 1133d0 slli a3, a3, 3
11c1: fff905 call0 1154 <bignum_init-0x714>
11c4: 92cc bnez.n a2, 11d1 <bignum_init-0x697>
11c6: 0c3d mov.n a3, a12
11c8: 0d4d mov.n a4, a13
11ca: 0d2d mov.n a2, a13
11cc: 050c movi.n a5, 0
11ce: ff97c5 call0 b4c <bignum_init-0xd1c>
11d1: 11c8 l32i.n a12, a1, 4
11d3: 21d8 l32i.n a13, a1, 8
11d5: 0108 l32i.n a0, a1, 0
11d7: 10c112 addi a1, a1, 16
11da: f00d ret.n
11dc: 000000 ill
11df: 1208 l32i.n a0, a2, 4
11e1: 09d0c1 l32r a12, fffc3924 <bignum_exptmod+0xfffc1f78>
11e4: 81f941 l32r a4, fffe19c8 <bignum_exptmod+0xfffe001c>
11e7: 51c9 s32i.n a12, a1, 20
11e9: 61d9 s32i.n a13, a1, 24
11eb: 71e9 s32i.n a14, a1, 28
11ed: 04dd mov.n a13, a4
11ef: 03ed mov.n a14, a3
11f1: 02cd mov.n a12, a2
11f3: 03f8 l32i.n a15, a3, 0
11f5: 012d mov.n a2, a1
11f7: 0c3d mov.n a3, a12
11f9: ff43c5 call0 638 <bignum_init-0x1230>
11fc: 328c beqz.n a2, 1203 <bignum_init-0x665>
11fe: 02dd mov.n a13, a2
1200: 000786 j 1222 <bignum_init-0x646>
1203: 012d mov.n a2, a1
1205: 3f0b addi.n a3, a15, -1
1207: ff4d05 call0 6d8 <bignum_init-0x1190>
120a: fff401 l32r a0, 11dc <bignum_init-0x68c>
120d: 22b0f7 bgeu a0, a15, 1233 <bignum_init-0x635>
1210: 0d3d mov.n a3, a13
1212: 012d mov.n a2, a1
1214: 014d mov.n a4, a1
1216: ff0b45 call0 2cc <bignum_init-0x159c>
1219: 02dd mov.n a13, a2
121b: 42ac beqz.n a2, 1243 <bignum_init-0x625>
121d: 012d mov.n a2, a1
121f: fefc05 call0 1e0 <bignum_init-0x1688>
1222: 4108 l32i.n a0, a1, 16
1224: 51c8 l32i.n a12, a1, 20
1226: 71e8 l32i.n a14, a1, 28
1228: 0d2d mov.n a2, a13
122a: 81f8 l32i.n a15, a1, 32
122c: 61d8 l32i.n a13, a1, 24
122e: 30c112 addi a1, a1, 48
1231: f00d ret.n
1233: 0d3d mov.n a3, a13
1235: 012d mov.n a2, a1
1237: 014d mov.n a4, a1
1239: 0f5d mov.n a5, a15
123b: 005145 call0 1750 <bignum_init-0x118>
123e: 02dd mov.n a13, a2
1240: fd9256 bnez a2, 121d <bignum_init-0x64b>
1243: 012d mov.n a2, a1
1245: df1b addi.n a13, a15, 1
1247: 0d3d mov.n a3, a13
1249: 91d9 s32i.n a13, a1, 36
124b: ff48c5 call0 6d8 <bignum_init-0x1190>
124e: 0c2d mov.n a2, a12
1250: f03ff0 subx8 a3, a15, a15
1253: c41c movi.n a4, 28
1255: 91f8 l32i.n a15, a1, 36
1257: a03340 addx4 a3, a3, a4
125a: 0c4d mov.n a4, a12
125c: ff8485 call0 aa8 <bignum_init-0xdc0>
125f: 02dd mov.n a13, a2
1261: fb8256 bnez a2, 121d <bignum_init-0x64b>
1264: 012d mov.n a2, a1
1266: 0e3d mov.n a3, a14
1268: 014d mov.n a4, a1
126a: 0f5d mov.n a5, a15
126c: 000645 call0 12d4 <bignum_init-0x594>
126f: 02dd mov.n a13, a2
1271: fa8256 bnez a2, 121d <bignum_init-0x64b>
1274: 0c2d mov.n a2, a12
1276: 013d mov.n a3, a1
1278: 0c4d mov.n a4, a12
127a: feff85 call0 274 <bignum_init-0x15f4>
127d: 02dd mov.n a13, a2
127f: f9a256 bnez a2, 121d <bignum_init-0x64b>
1282: 0c2d mov.n a2, a12
1284: 030c movi.n a3, 0
1286: ff1785 call0 400 <bignum_init-0x1468>
1289: 200266 bnei a2, -1, 12ad <bignum_init-0x5bb>
128c: 012d mov.n a2, a1
128e: 130c movi.n a3, 1
1290: ff5985 call0 82c <bignum_init-0x103c>
1293: 0f3d mov.n a3, a15
1295: 012d mov.n a2, a1
1297: ff7745 call0 a0c <bignum_init-0xe5c>
129a: 02dd mov.n a13, a2
129c: f7d256 bnez a2, 121d <bignum_init-0x64b>
129f: 0c2d mov.n a2, a12
12a1: 013d mov.n a3, a1
12a3: 0c4d mov.n a4, a12
12a5: fef785 call0 220 <bignum_init-0x1648>
12a8: 02dd mov.n a13, a2
12aa: f6f256 bnez a2, 121d <bignum_init-0x64b>
12ad: 0c2d mov.n a2, a12
12af: 0e3d mov.n a3, a14
12b1: ff1185 call0 3cc <bignum_init-0x149c>
12b4: 020266 bnei a2, -1, 12ba <bignum_init-0x5ae>
12b7: ffd886 j 121d <bignum_init-0x64b>
12ba: 0c2d mov.n a2, a12
12bc: 0e3d mov.n a3, a14
12be: 0c4d mov.n a4, a12
12c0: fee345 call0 f8 <bignum_init-0x1770>
12c3: 02dd mov.n a13, a2
12c5: fe4216 beqz a2, 12ad <bignum_init-0x5bb>
12c8: ffd446 j 121d <bignum_init-0x64b>
12cb: ffff00 excw
12ce: ff .byte 0xff
12cf: 0f .byte 0xf
12d0: 000000 ill
12d3: c11200 mul16u a1, a2, a0
12d6: 61d9a0 excw
12d9: 71e9 s32i.n a14, a1, 28
12db: 81f9 s32i.n a15, a1, 32
12dd: a129 s32i.n a2, a1, 40
12df: b139 s32i.n a3, a1, 44
12e1: c159 s32i.n a5, a1, 48
12e3: 51c9 s32i.n a12, a1, 20
12e5: 4109 s32i.n a0, a1, 16
12e7: 04cd mov.n a12, a4
12e9: ffa102 movi a0, 0x1ff
12ec: 192057 blt a0, a5, 1309 <bignum_init-0x55f>
12ef: 0208 l32i.n a0, a2, 0
12f1: 0348 l32i.n a4, a3, 0
12f3: 01a407 bge a4, a0, 12f8 <bignum_init-0x570>
12f6: 040d mov.n a0, a4
12f8: 0df0e6 bgei a0, 0x100, 1309 <bignum_init-0x55f>
12fb: 0c4d mov.n a4, a12
12fd: a128 l32i.n a2, a1, 40
12ff: b138 l32i.n a3, a1, 44
1301: c158 l32i.n a5, a1, 48
1303: 001085 call0 140c <bignum_init-0x45c>
1306: 001406 j 135a <bignum_init-0x50e>
1309: 012d mov.n a2, a1
130b: c138 l32i.n a3, a1, 48
130d: 002845 call0 1594 <bignum_init-0x2d4>
1310: 046256 bnez a2, 135a <bignum_init-0x50e>
1313: a108 l32i.n a0, a1, 40
1315: c128 l32i.n a2, a1, 48
1317: 0129 s32i.n a2, a1, 0
1319: 0008 l32i.n a0, a0, 0
131b: 1261c2 s32i a12, a1, 72
131e: 4710e6 bgei a0, 1, 1369 <bignum_init-0x4ff>
1321: 0007c6 j 1344 <bignum_init-0x524>
1324: 0e0c movi.n a14, 0
1326: 000c movi.n a0, 0
1328: 9148 l32i.n a4, a1, 36
132a: c138 l32i.n a3, a1, 48
132c: e158 l32i.n a5, a1, 56
132e: e128 l32i.n a2, a1, 56
1330: 551b addi.n a5, a5, 1
1332: 2e2a add.n a2, a14, a2
1334: 01a237 bge a2, a3, 1339 <bignum_init-0x52f>
1337: 0c09 s32i.n a0, a12, 0
1339: d138 l32i.n a3, a1, 52
133b: e159 s32i.n a5, a1, 56
133d: 334b addi.n a3, a3, 4
133f: d139 s32i.n a3, a1, 52
1341: 319347 bne a3, a4, 1376 <bignum_init-0x4f2>
1344: 1221c2 l32i a12, a1, 72
1347: 012d mov.n a2, a1
1349: ff4285 call0 774 <bignum_init-0x10f4>
134c: 0c3d mov.n a3, a12
134e: 012d mov.n a2, a1
1350: ff3e05 call0 734 <bignum_init-0x1134>
1353: 012d mov.n a2, a1
1355: fee885 call0 1e0 <bignum_init-0x1688>
1358: 020c movi.n a2, 0
135a: 51c8 l32i.n a12, a1, 20
135c: 61d8 l32i.n a13, a1, 24
135e: 71e8 l32i.n a14, a1, 28
1360: 81f8 l32i.n a15, a1, 32
1362: 4108 l32i.n a0, a1, 16
1364: 60c112 addi a1, a1, 96
1367: f00d ret.n
1369: 030c movi.n a3, 0
136b: 040c movi.n a4, 0
136d: 1150e0 slli a5, a0, 2
1370: 9159 s32i.n a5, a1, 36
1372: d149 s32i.n a4, a1, 52
1374: e139 s32i.n a3, a1, 56
1376: e128 l32i.n a2, a1, 56
1378: b168 l32i.n a6, a1, 44
137a: c108 l32i.n a0, a1, 48
137c: 0668 l32i.n a6, a6, 0
137e: 106162 s32i a6, a1, 64
1381: c00020 sub a0, a0, a2
1384: 02a067 bge a0, a6, 138a <bignum_init-0x4de>
1387: 106102 s32i a0, a1, 64
138a: 102182 l32i a8, a1, 64
138d: d148 l32i.n a4, a1, 52
138f: 31c8 l32i.n a12, a1, 12
1391: b1d8 l32i.n a13, a1, 44
1393: a138 l32i.n a3, a1, 40
1395: 3dd8 l32i.n a13, a13, 12
1397: 3338 l32i.n a3, a3, 12
1399: cc4a add.n a12, a12, a4
139b: 334a add.n a3, a3, a4
139d: 0338 l32i.n a3, a3, 0
139f: 8118a6 blti a8, 1, 1324 <bignum_init-0x544>
13a2: 000c movi.n a0, 0
13a4: 0e0c movi.n a14, 0
13a6: f139 s32i.n a3, a1, 60
13a8: 0f0c movi.n a15, 0
13aa: 0d28 l32i.n a2, a13, 0
13ac: f138 l32i.n a3, a1, 60
13ae: 136102 s32i a0, a1, 76
13b1: 0c58 l32i.n a5, a12, 0
13b3: 060c movi.n a6, 0
13b5: 146162 s32i a6, a1, 80
13b8: 116152 s32i a5, a1, 68
13bb: ffc501 l32r a0, 12d0 <bignum_init-0x598>
13be: 0000c0 callx0 a0
13c1: 142102 l32i a0, a1, 80
13c4: 132182 l32i a8, a1, 76
13c7: ffc191 l32r a9, 12cc <bignum_init-0x59c>
13ca: 112172 l32i a7, a1, 68
13cd: af3a add.n a10, a15, a3
13cf: b72a add.n a11, a7, a2
13d1: 01bb77 bgeu a11, a7, 13d6 <bignum_init-0x492>
13d4: aa1b addi.n a10, a10, 1
13d6: dd4b addi.n a13, a13, 4
13d8: ee1b addi.n a14, a14, 1
13da: 00aa add.n a0, a0, a10
13dc: 404c10 ssai 28
13df: a8ba add.n a10, a8, a11
13e1: 10ba90 and a11, a10, a9
13e4: 0cb9 s32i.n a11, a12, 0
13e6: cc4b addi.n a12, a12, 4
13e8: 01ba87 bgeu a10, a8, 13ed <bignum_init-0x47b>
13eb: 001b addi.n a0, a0, 1
13ed: 102182 l32i a8, a1, 64
13f0: 8100a0 src a0, a0, a10
13f3: b198e7 bne a8, a14, 13a8 <bignum_init-0x4c0>
13f6: 08ed mov.n a14, a8
13f8: ffcb06 j 1328 <bignum_init-0x540>
13fb: 084000 excw
13fe: ff0000 excw
1401: ff .byte 0xff
1402: ff .byte 0xff
1403: 0f .byte 0xf
1404: 000840 excw
1407: 000000 ill
140a: 610000 excw
140d: fffc bnez.n a15, 1450 <bignum_init-0x418>
140f: c01160 sub a1, a1, a6
1412: 08d1a2 addmi a10, a1, 0x800
1415: 6af9 s32i.n a15, a10, 24
1417: 1a49 s32i.n a4, a10, 4
1419: 3ac9 s32i.n a12, a10, 12
141b: 2a09 s32i.n a0, a10, 8
141d: 4ad9 s32i.n a13, a10, 16
141f: 5ae9 s32i.n a14, a10, 20
1421: 03dd mov.n a13, a3
1423: 02ed mov.n a14, a2
1425: 1408 l32i.n a0, a4, 4
1427: 05cd mov.n a12, a5
1429: 09a057 bge a0, a5, 1436 <bignum_init-0x432>
142c: 053d mov.n a3, a5
142e: 042d mov.n a2, a4
1430: ff3705 call0 7a4 <bignum_init-0x10c4>
1433: 135256 bnez a2, 156c <bignum_init-0x2fc>
1436: 0d08 l32i.n a0, a13, 0
1438: 0e88 l32i.n a8, a14, 0
143a: 08d1b2 addmi a11, a1, 0x800
143d: bbc9 s32i.n a12, a11, 44
143f: ab89 s32i.n a8, a11, 40
1441: 880a add.n a8, a8, a0
1443: 01a8c7 bge a8, a12, 1448 <bignum_init-0x420>
1446: bb89 s32i.n a8, a11, 44
1448: 08d122 addmi a2, a1, 0x800
144b: b228 l32i.n a2, a2, 44
144d: 0212e6 bgei a2, 1, 1453 <bignum_init-0x415>
1450: 002cc6 j 1507 <bignum_init-0x361>
1453: 0f0c movi.n a15, 0
1455: 040c movi.n a4, 0
1457: 800b addi.n a8, a0, -1
1459: 3ec8 l32i.n a12, a14, 12
145b: 3da8 l32i.n a10, a13, 12
145d: 08d1e2 addmi a14, a1, 0x800
1460: 7ec9 s32i.n a12, a14, 28
1462: 8ea9 s32i.n a10, a14, 32
1464: 9e89 s32i.n a8, a14, 36
1466: ce19 s32i.n a1, a14, 48
1468: de49 s32i.n a4, a14, 52
146a: 0e0c movi.n a14, 0
146c: 08d122 addmi a2, a1, 0x800
146f: 08d132 addmi a3, a1, 0x800
1472: 9338 l32i.n a3, a3, 36
1474: d228 l32i.n a2, a2, 52
1476: 030d mov.n a0, a3
1478: 01a237 bge a2, a3, 147d <bignum_init-0x3eb>
147b: 020d mov.n a0, a2
147d: 201b addi.n a2, a0, 1
147f: 08d1c2 addmi a12, a1, 0x800
1482: 08d142 addmi a4, a1, 0x800
1485: 74d8 l32i.n a13, a4, 28
1487: 8cc8 l32i.n a12, a12, 32
1489: d438 l32i.n a3, a4, 52
148b: e429 s32i.n a2, a4, 56
148d: c03300 sub a3, a3, a0
1490: a0c0c0 addx4 a12, a0, a12
1493: a408 l32i.n a0, a4, 40
1495: a0d3d0 addx4 a13, a3, a13
1498: c00030 sub a0, a0, a3
149b: 01a027 bge a0, a2, 14a0 <bignum_init-0x3c8>
149e: e409 s32i.n a0, a4, 56
14a0: 08d142 addmi a4, a1, 0x800
14a3: e448 l32i.n a4, a4, 56
14a5: 08d162 addmi a6, a1, 0x800
14a8: 3014a6 blti a4, 1, 14dc <bignum_init-0x38c>
14ab: 050c movi.n a5, 0
14ad: 0659 s32i.n a5, a6, 0
14af: 0d28 l32i.n a2, a13, 0
14b1: 0c38 l32i.n a3, a12, 0
14b3: ffd501 l32r a0, 1408 <bignum_init-0x460>
14b6: 0000c0 callx0 a0
14b9: 8f3a add.n a8, a15, a3
14bb: 9e2a add.n a9, a14, a2
14bd: 08d102 addmi a0, a1, 0x800
14c0: 0008 l32i.n a0, a0, 0
14c2: 01b9e7 bgeu a9, a14, 14c7 <bignum_init-0x3a1>
14c5: 881b addi.n a8, a8, 1
14c7: fcccc2 addi a12, a12, -4
14ca: dd4b addi.n a13, a13, 4
14cc: 08fd mov.n a15, a8
14ce: 09ed mov.n a14, a9
14d0: 001b addi.n a0, a0, 1
14d2: 08d132 addmi a3, a1, 0x800
14d5: e328 l32i.n a2, a3, 56
14d7: 0309 s32i.n a0, a3, 0
14d9: d29207 bne a2, a0, 14af <bignum_init-0x3b9>
14dc: 404c10 ssai 28
14df: ffc881 l32r a8, 1400 <bignum_init-0x468>
14e2: 08d152 addmi a5, a1, 0x800
14e5: 08d192 addmi a9, a1, 0x800
14e8: b948 l32i.n a4, a9, 44
14ea: d558 l32i.n a5, a5, 52
14ec: c968 l32i.n a6, a9, 48
14ee: 108e80 and a8, a14, a8
14f1: 0689 s32i.n a8, a6, 0
14f3: 81efe0 src a14, a15, a14
14f6: 551b addi.n a5, a5, 1
14f8: d959 s32i.n a5, a9, 52
14fa: 35fcf0 extui a15, a15, 28, 4
14fd: 664b addi.n a6, a6, 4
14ff: c969 s32i.n a6, a9, 48
1501: 021457 beq a4, a5, 1507 <bignum_init-0x361>
1504: ffd906 j 146c <bignum_init-0x3fc>
1507: 08d162 addmi a6, a1, 0x800
150a: 08d102 addmi a0, a1, 0x800
150d: 1008 l32i.n a0, a0, 4
150f: b668 l32i.n a6, a6, 44
1511: 0088 l32i.n a8, a0, 0
1513: 0069 s32i.n a6, a0, 0
1515: 3008 l32i.n a0, a0, 12
1517: 023696 bltz a6, 153e <bignum_init-0x32a>
151a: 361b addi.n a3, a6, 1
151c: 08d162 addmi a6, a1, 0x800
151f: c619 s32i.n a1, a6, 48
1521: d639 s32i.n a3, a6, 52
1523: a03310 addx4 a3, a3, a1
1526: 08d142 addmi a4, a1, 0x800
1529: c448 l32i.n a4, a4, 48
152b: 08d152 addmi a5, a1, 0x800
152e: 0468 l32i.n a6, a4, 0
1530: 0069 s32i.n a6, a0, 0
1532: 444b addi.n a4, a4, 4
1534: c549 s32i.n a4, a5, 48
1536: 004b addi.n a0, a0, 4
1538: ea9437 bne a4, a3, 1526 <bignum_init-0x342>
153b: 000186 j 1545 <bignum_init-0x323>
153e: 08d162 addmi a6, a1, 0x800
1541: 050c movi.n a5, 0
1543: d659 s32i.n a5, a6, 52
1545: 08d172 addmi a7, a1, 0x800
1548: d778 l32i.n a7, a7, 52
154a: 14a787 bge a7, a8, 1562 <bignum_init-0x306>
154d: 030c movi.n a3, 0
154f: 08d1a2 addmi a10, a1, 0x800
1552: 0039 s32i.n a3, a0, 0
1554: 08d192 addmi a9, a1, 0x800
1557: d998 l32i.n a9, a9, 52
1559: 004b addi.n a0, a0, 4
155b: 991b addi.n a9, a9, 1
155d: da99 s32i.n a9, a10, 52
155f: ec9897 bne a8, a9, 154f <bignum_init-0x319>
1562: 08d122 addmi a2, a1, 0x800
1565: 1228 l32i.n a2, a2, 4
1567: ff20c5 call0 774 <bignum_init-0x10f4>
156a: 020c movi.n a2, 0
156c: ffa631 l32r a3, 1404 <bignum_init-0x464>
156f: 08d102 addmi a0, a1, 0x800
1572: 08d1f2 addmi a15, a1, 0x800
1575: 08d1e2 addmi a14, a1, 0x800
1578: 08d1d2 addmi a13, a1, 0x800
157b: 08d1c2 addmi a12, a1, 0x800
157e: 3cc8 l32i.n a12, a12, 12
1580: 4dd8 l32i.n a13, a13, 16
1582: 5ee8 l32i.n a14, a14, 20
1584: 6ff8 l32i.n a15, a15, 24
1586: 2008 l32i.n a0, a0, 8
1588: 113a add.n a1, a1, a3
158a: f00d ret.n
...
1594: f0c112 addi a1, a1, -16
1597: 0109 s32i.n a0, a1, 0
1599: 21d9 s32i.n a13, a1, 8
159b: 11c9 s32i.n a12, a1, 4
159d: 02dd mov.n a13, a2
159f: 03cd mov.n a12, a3
15a1: 032d mov.n a2, a3
15a3: 830c movi.n a3, 8
15a5: fff901 l32r a0, 158c <bignum_init-0x2dc>
15a8: 0000c0 callx0 a0
15ab: c0cc20 sub a12, a12, a2
15ae: 024c movi.n a2, 64
15b0: a02c20 addx4 a2, a12, a2
15b3: fff701 l32r a0, 1590 <bignum_init-0x2d8>
15b6: 0000c0 callx0 a0
15b9: 3d29 s32i.n a2, a13, 12
15bb: 32cc bnez.n a2, 15c2 <bignum_init-0x2a6>
15bd: e27c movi.n a2, -2
15bf: 0007c6 j 15e2 <bignum_init-0x286>
15c2: 037c movi.n a3, -16
15c4: 10cc02 addi a0, a12, 16
15c7: 060c movi.n a6, 0
15c9: 0d69 s32i.n a6, a13, 0
15cb: 2d69 s32i.n a6, a13, 8
15cd: 1d09 s32i.n a0, a13, 4
15cf: 0da3c7 bge a3, a12, 15e0 <bignum_init-0x288>
15d2: 1130e0 slli a3, a0, 2
15d5: 060d mov.n a0, a6
15d7: 420a add.n a4, a2, a0
15d9: 0469 s32i.n a6, a4, 0
15db: 004b addi.n a0, a0, 4
15dd: f69037 bne a0, a3, 15d7 <bignum_init-0x291>
15e0: 020c movi.n a2, 0
15e2: 11c8 l32i.n a12, a1, 4
15e4: 21d8 l32i.n a13, a1, 8
15e6: 0108 l32i.n a0, a1, 0
15e8: 10c112 addi a1, a1, 16
15eb: f00d ret.n
15ed: 000000 ill
15f0: ff .byte 0xff
15f1: ff .byte 0xff
15f2: ff .byte 0xff
15f3: 0f .byte 0xf
...
15fc: b0c112 addi a1, a1, -80
15ff: 81f9 s32i.n a15, a1, 32
1601: 4109 s32i.n a0, a1, 16
1603: f129 s32i.n a2, a1, 60
1605: 51c9 s32i.n a12, a1, 20
1607: 61d9 s32i.n a13, a1, 24
1609: 71e9 s32i.n a14, a1, 28
160b: 03dd mov.n a13, a3
160d: 1e0c movi.n a14, 1
160f: 02c8 l32i.n a12, a2, 0
1611: a1c9 s32i.n a12, a1, 40
1613: 012d mov.n a2, a1
1615: 90cce0 addx2 a12, a12, a14
1618: 0c3d mov.n a3, a12
161a: fff785 call0 1594 <bignum_init-0x2d4>
161d: 115256 bnez a2, 1736 <bignum_init-0x132>
1620: 01c9 s32i.n a12, a1, 0
1622: a1e8 l32i.n a14, a1, 40
1624: 1061d2 s32i a13, a1, 64
1627: 021ee6 bgei a14, 1, 162d <bignum_init-0x23b>
162a: 003c86 j 1720 <bignum_init-0x148>
162d: 0c0c movi.n a12, 0
162f: 11fee0 slli a15, a14, 2
1632: 000c movi.n a0, 0
1634: 112ed0 slli a2, a14, 3
1637: 030c movi.n a3, 0
1639: b139 s32i.n a3, a1, 44
163b: 9129 s32i.n a2, a1, 36
163d: c109 s32i.n a0, a1, 48
163f: d1f9 s32i.n a15, a1, 52
1641: ffebf1 l32r a15, 15f0 <bignum_init-0x278>
1644: 0d0c movi.n a13, 0
1646: c148 l32i.n a4, a1, 48
1648: b1e8 l32i.n a14, a1, 44
164a: f138 l32i.n a3, a1, 60
164c: 3108 l32i.n a0, a1, 12
164e: 116102 s32i a0, a1, 68
1651: 3338 l32i.n a3, a3, 12
1653: ee0a add.n a14, a14, a0
1655: 334a add.n a3, a3, a4
1657: 0338 l32i.n a3, a3, 0
1659: 0ee8 l32i.n a14, a14, 0
165b: 032d mov.n a2, a3
165d: ffe501 l32r a0, 15f4 <bignum_init-0x274>
1660: 0000c0 callx0 a0
1663: 404c10 ssai 28
1666: 112102 l32i a0, a1, 68
1669: 5cca add.n a5, a12, a12
166b: 6d3a add.n a6, a13, a3
166d: 7e2a add.n a7, a14, a2
166f: 1047f0 and a4, a7, a15
1672: f138 l32i.n a3, a1, 60
1674: a05500 addx4 a5, a5, a0
1677: 3338 l32i.n a3, a3, 12
1679: 0c1b addi.n a0, a12, 1
167b: 0549 s32i.n a4, a5, 0
167d: 31d8 l32i.n a13, a1, 12
167f: c148 l32i.n a4, a1, 48
1681: b1c8 l32i.n a12, a1, 44
1683: 334a add.n a3, a3, a4
1685: 0338 l32i.n a3, a3, 0
1687: a148 l32i.n a4, a1, 40
1689: ccda add.n a12, a12, a13
168b: 01b7e7 bgeu a7, a14, 1690 <bignum_init-0x1d8>
168e: 661b addi.n a6, a6, 1
1690: cc4b addi.n a12, a12, 4
1692: 81e670 src a14, a6, a7
1695: 54a047 bge a0, a4, 16ed <bignum_init-0x17b>
1698: 126102 s32i a0, a1, 72
169b: e139 s32i.n a3, a1, 56
169d: 11d0e0 slli a13, a0, 2
16a0: f128 l32i.n a2, a1, 60
16a2: 3228 l32i.n a2, a2, 12
16a4: e138 l32i.n a3, a1, 56
16a6: 22da add.n a2, a2, a13
16a8: 0228 l32i.n a2, a2, 0
16aa: ffd301 l32r a0, 15f8 <bignum_init-0x270>
16ad: 0000c0 callx0 a0
16b0: 036d mov.n a6, a3
16b2: 070c movi.n a7, 0
16b4: 0c48 l32i.n a4, a12, 0
16b6: 050c movi.n a5, 0
16b8: 042a add.n a0, a4, a2
16ba: 01b047 bgeu a0, a4, 16bf <bignum_init-0x1a9>
16bd: 331b addi.n a3, a3, 1
16bf: 80ea add.n a8, a0, a14
16c1: 01be57 bgeu a14, a5, 16c6 <bignum_init-0x1a2>
16c4: 170c movi.n a7, 1
16c6: 737a add.n a7, a3, a7
16c8: 01b807 bgeu a8, a0, 16cd <bignum_init-0x19b>
16cb: 771b addi.n a7, a7, 1
16cd: dd4b addi.n a13, a13, 4
16cf: 067a add.n a0, a6, a7
16d1: 404c10 ssai 28
16d4: 628a add.n a6, a2, a8
16d6: d178 l32i.n a7, a1, 52
16d8: 1086f0 and a8, a6, a15
16db: 0c89 s32i.n a8, a12, 0
16dd: cc4b addi.n a12, a12, 4
16df: 01b627 bgeu a6, a2, 16e4 <bignum_init-0x184>
16e2: 001b addi.n a0, a0, 1
16e4: 81e060 src a14, a0, a6
16e7: b59d77 bne a13, a7, 16a0 <bignum_init-0x1c8>
16ea: 122102 l32i a0, a1, 72
16ed: b1b8 l32i.n a11, a1, 44
16ef: 91d8 l32i.n a13, a1, 36
16f1: bb8b addi.n a11, a11, 8
16f3: b1b9 s32i.n a11, a1, 44
16f5: c0bbd0 sub a11, a11, a13
16f8: 9e9c beqz.n a14, 1715 <bignum_init-0x153>
16fa: 060c movi.n a6, 0
16fc: 0c98 l32i.n a9, a12, 0
16fe: 404c10 ssai 28
1701: 79ea add.n a7, a9, a14
1703: 10a7f0 and a10, a7, a15
1706: 0ca9 s32i.n a10, a12, 0
1708: cc4b addi.n a12, a12, 4
170a: 01b797 bgeu a7, a9, 170f <bignum_init-0x159>
170d: 160c movi.n a6, 1
170f: 81e670 src a14, a6, a7
1712: fe4e56 bnez a14, 16fa <bignum_init-0x16e>
1715: c1e8 l32i.n a14, a1, 48
1717: 00cd mov.n a12, a0
1719: ee4b addi.n a14, a14, 4
171b: c1e9 s32i.n a14, a1, 48
171d: f23b56 bnez a11, 1644 <bignum_init-0x224>
1720: 1021d2 l32i a13, a1, 64
1723: 012d mov.n a2, a1
1725: ff04c5 call0 774 <bignum_init-0x10f4>
1728: 0d3d mov.n a3, a13
172a: 012d mov.n a2, a1
172c: ff0045 call0 734 <bignum_init-0x1134>
172f: 012d mov.n a2, a1
1731: feaac5 call0 1e0 <bignum_init-0x1688>
1734: 020c movi.n a2, 0
1736: 51c8 l32i.n a12, a1, 20
1738: 61d8 l32i.n a13, a1, 24
173a: 71e8 l32i.n a14, a1, 28
173c: 81f8 l32i.n a15, a1, 32
173e: 4108 l32i.n a0, a1, 16
1740: 50c112 addi a1, a1, 80
1743: f00d ret.n
1745: 000000 ill
1748: ff .byte 0xff
1749: ff .byte 0xff
174a: ff .byte 0xff
174b: 0f .byte 0xf
174c: 000000 ill
174f: c11200 mul16u a1, a2, a0
1752: 81d9a0 src a13, a9, a10
1755: 91e9 s32i.n a14, a1, 36
1757: a1f9 s32i.n a15, a1, 40
1759: d159 s32i.n a5, a1, 52
175b: 6109 s32i.n a0, a1, 24
175d: 71c9 s32i.n a12, a1, 28
175f: e129 s32i.n a2, a1, 56
1761: 04cd mov.n a12, a4
1763: f139 s32i.n a3, a1, 60
1765: 0348 l32i.n a4, a3, 0
1767: 0238 l32i.n a3, a2, 0
1769: 012d mov.n a2, a1
176b: 334a add.n a3, a3, a4
176d: 331b addi.n a3, a3, 1
176f: ffe245 call0 1594 <bignum_init-0x2d4>
1772: 044256 bnez a2, 17ba <bignum_init-0xae>
1775: f168 l32i.n a6, a1, 60
1777: e108 l32i.n a0, a1, 56
1779: 0638 l32i.n a3, a6, 0
177b: 0028 l32i.n a2, a0, 0
177d: 1361c2 s32i a12, a1, 76
1780: 223a add.n a2, a2, a3
1782: 221b addi.n a2, a2, 1
1784: 0129 s32i.n a2, a1, 0
1786: 0668 l32i.n a6, a6, 0
1788: 0008 l32i.n a0, a0, 0
178a: 116162 s32i a6, a1, 68
178d: 3810e6 bgei a0, 1, 17c9 <bignum_init-0x9f>
1790: 000406 j 17a4 <bignum_init-0xc4>
1793: 0a0c movi.n a10, 0
1795: 0ca9 s32i.n a10, a12, 0
1797: b158 l32i.n a5, a1, 44
1799: 884b addi.n a8, a8, 4
179b: 001b addi.n a0, a0, 1
179d: 4109 s32i.n a0, a1, 16
179f: 5189 s32i.n a8, a1, 20
17a1: 389857 bne a8, a5, 17dd <bignum_init-0x8b>
17a4: 1321c2 l32i a12, a1, 76
17a7: 012d mov.n a2, a1
17a9: fefc85 call0 774 <bignum_init-0x10f4>
17ac: 0c3d mov.n a3, a12
17ae: 012d mov.n a2, a1
17b0: fef805 call0 734 <bignum_init-0x1134>
17b3: 012d mov.n a2, a1
17b5: fea285 call0 1e0 <bignum_init-0x1688>
17b8: 020c movi.n a2, 0
17ba: 71c8 l32i.n a12, a1, 28
17bc: 81d8 l32i.n a13, a1, 32
17be: 91e8 l32i.n a14, a1, 36
17c0: a1f8 l32i.n a15, a1, 40
17c2: 6108 l32i.n a0, a1, 24
17c4: 60c112 addi a1, a1, 96
17c7: f00d ret.n
17c9: d158 l32i.n a5, a1, 52
17cb: 040c movi.n a4, 0
17cd: 060c movi.n a6, 0
17cf: 1170e0 slli a7, a0, 2
17d2: b179 s32i.n a7, a1, 44
17d4: 5169 s32i.n a6, a1, 20
17d6: 4149 s32i.n a4, a1, 16
17d8: 1155e0 slli a5, a5, 2
17db: c159 s32i.n a5, a1, 48
17dd: 1121a2 l32i a10, a1, 68
17e0: 5188 l32i.n a8, a1, 20
17e2: 4108 l32i.n a0, a1, 16
17e4: d1e8 l32i.n a14, a1, 52
17e6: c1d8 l32i.n a13, a1, 48
17e8: e138 l32i.n a3, a1, 56
17ea: 31c8 l32i.n a12, a1, 12
17ec: 3338 l32i.n a3, a3, 12
17ee: ccda add.n a12, a12, a13
17f0: c0ee00 sub a14, a14, a0
17f3: f1d8 l32i.n a13, a1, 60
17f5: 338a add.n a3, a3, a8
17f7: 3dd8 l32i.n a13, a13, 12
17f9: 0338 l32i.n a3, a3, 0
17fb: a0ded0 addx4 a13, a14, a13
17fe: 91aea7 bge a14, a10, 1793 <bignum_init-0xd5>
1801: 106132 s32i a3, a1, 64
1804: 0a0c movi.n a10, 0
1806: 5189 s32i.n a8, a1, 20
1808: 4109 s32i.n a0, a1, 16
180a: 1461a2 s32i a10, a1, 80
180d: 0f0c movi.n a15, 0
180f: 0d28 l32i.n a2, a13, 0
1811: 102132 l32i a3, a1, 64
1814: 0c58 l32i.n a5, a12, 0
1816: 060c movi.n a6, 0
1818: 156162 s32i a6, a1, 84
181b: 126152 s32i a5, a1, 72
181e: ffcb01 l32r a0, 174c <bignum_init-0x11c>
1821: 0000c0 callx0 a0
1824: 152102 l32i a0, a1, 84
1827: 142182 l32i a8, a1, 80
182a: ffc791 l32r a9, 1748 <bignum_init-0x120>
182d: 122172 l32i a7, a1, 72
1830: af3a add.n a10, a15, a3
1832: b72a add.n a11, a7, a2
1834: 01bb77 bgeu a11, a7, 1839 <bignum_init-0x2f>
1837: aa1b addi.n a10, a10, 1
1839: dd4b addi.n a13, a13, 4
183b: ee1b addi.n a14, a14, 1
183d: 00aa add.n a0, a0, a10
183f: 404c10 ssai 28
1842: a8ba add.n a10, a8, a11
1844: 10ba90 and a11, a10, a9
1847: 0cb9 s32i.n a11, a12, 0
1849: cc4b addi.n a12, a12, 4
184b: 01ba87 bgeu a10, a8, 1850 <bignum_init-0x18>
184e: 001b addi.n a0, a0, 1
1850: 112182 l32i a8, a1, 68
1853: 81a0a0 src a10, a0, a10
1856: b098e7 bne a8, a14, 180a <bignum_init-0x5e>
1859: 4108 l32i.n a0, a1, 16
185b: 5188 l32i.n a8, a1, 20
185d: ffcd06 j 1795 <bignum_init-0xd3>
...
00001868 <bignum_init>:
1868: 021c movi.n a2, 16
186a: f0c112 addi a1, a1, -16
186d: 11c9 s32i.n a12, a1, 4
186f: 0109 s32i.n a0, a1, 0
1871: fffb01 l32r a0, 1860 <bignum_init-0x8>
1874: 0000c0 callx0 a0
1877: 02cd mov.n a12, a2
1879: 32cc bnez.n a2, 1880 <bignum_init+0x18>
187b: 0c0c movi.n a12, 0
187d: 000386 j 188f <bignum_init+0x27>
1880: fe91c5 call0 1a0 <bignum_init-0x16c8>
1883: 828c beqz.n a2, 188f <bignum_init+0x27>
1885: 0c2d mov.n a2, a12
1887: fff701 l32r a0, 1864 <bignum_init-0x4>
188a: 0000c0 callx0 a0
188d: 0c0c movi.n a12, 0
188f: 0c2d mov.n a2, a12
1891: 0108 l32i.n a0, a1, 0
1893: 11c8 l32i.n a12, a1, 4
1895: 10c112 addi a1, a1, 16
1898: f00d ret.n
189a: 000000 ill
189d: 000000 ill
000018a0 <bignum_deinit>:
18a0: f0c112 addi a1, a1, -16
18a3: 11c9 s32i.n a12, a1, 4
18a5: 0109 s32i.n a0, a1, 0
18a7: 02cd mov.n a12, a2
18a9: 928c beqz.n a2, 18b6 <bignum_deinit+0x16>
18ab: fe9345 call0 1e0 <bignum_init-0x1688>
18ae: 0c2d mov.n a2, a12
18b0: fffb01 l32r a0, 189c <bignum_init+0x34>
18b3: 0000c0 callx0 a0
18b6: 11c8 l32i.n a12, a1, 4
18b8: 0108 l32i.n a0, a1, 0
18ba: 10c112 addi a1, a1, 16
18bd: f00d ret.n
...
000018c0 <bignum_get_unsigned_bin_len>:
18c0: f0c112 addi a1, a1, -16
18c3: 0109 s32i.n a0, a1, 0
18c5: feb585 call0 420 <bignum_init-0x1448>
18c8: 0108 l32i.n a0, a1, 0
18ca: 10c112 addi a1, a1, 16
18cd: f00d ret.n
...
000018d0 <bignum_get_unsigned_bin>:
18d0: e0c112 addi a1, a1, -32
18d3: 31d9 s32i.n a13, a1, 12
18d5: 0139 s32i.n a3, a1, 0
18d7: 1109 s32i.n a0, a1, 4
18d9: 21c9 s32i.n a12, a1, 8
18db: 41e9 s32i.n a14, a1, 16
18dd: 04cd mov.n a12, a4
18df: 02ed mov.n a14, a2
18e1: feb3c5 call0 420 <bignum_init-0x1448>
18e4: 02dd mov.n a13, a2
18e6: ac8c beqz.n a12, 18f4 <bignum_get_unsigned_bin+0x24>
18e8: 0c08 l32i.n a0, a12, 0
18ea: 06b027 bgeu a0, a2, 18f4 <bignum_get_unsigned_bin+0x24>
18ed: 0c29 s32i.n a2, a12, 0
18ef: f27c movi.n a2, -1
18f1: 0003c6 j 1904 <bignum_get_unsigned_bin+0x34>
18f4: 0e2d mov.n a2, a14
18f6: 0138 l32i.n a3, a1, 0
18f8: febe85 call0 4e4 <bignum_init-0x1384>
18fb: ff0256 bnez a2, 18ef <bignum_get_unsigned_bin+0x1f>
18fe: 0c8c beqz.n a12, 1902 <bignum_get_unsigned_bin+0x32>
1900: 0cd9 s32i.n a13, a12, 0
1902: 020c movi.n a2, 0
1904: 21c8 l32i.n a12, a1, 8
1906: 31d8 l32i.n a13, a1, 12
1908: 41e8 l32i.n a14, a1, 16
190a: 1108 l32i.n a0, a1, 4
190c: 20c112 addi a1, a1, 32
190f: f00d ret.n
1911: 000000 ill
00001914 <bignum_set_unsigned_bin>:
1914: f0c112 addi a1, a1, -16
1917: 0109 s32i.n a0, a1, 0
1919: feb685 call0 484 <bignum_init-0x13e4>
191c: 040c movi.n a4, 0
191e: f07c movi.n a0, -1
1920: 830420 moveqz a0, a4, a2
1923: 002d mov.n a2, a0
1925: 0108 l32i.n a0, a1, 0
1927: 10c112 addi a1, a1, 16
192a: f00d ret.n
0000192c <bignum_cmp>:
192c: f0c112 addi a1, a1, -16
192f: 0109 s32i.n a0, a1, 0
1931: fea985 call0 3cc <bignum_init-0x149c>
1934: 0108 l32i.n a0, a1, 0
1936: 10c112 addi a1, a1, 16
1939: f00d ret.n
...
0000193c <bignum_cmp_d>:
193c: f0c112 addi a1, a1, -16
193f: 0109 s32i.n a0, a1, 0
1941: feabc5 call0 400 <bignum_init-0x1468>
1944: 0108 l32i.n a0, a1, 0
1946: 10c112 addi a1, a1, 16
1949: f00d ret.n
...
0000194c <bignum_add>:
194c: f0c112 addi a1, a1, -16
194f: 0109 s32i.n a0, a1, 0
1951: fe8cc5 call0 220 <bignum_init-0x1648>
1954: 040c movi.n a4, 0
1956: f07c movi.n a0, -1
1958: 830420 moveqz a0, a4, a2
195b: 002d mov.n a2, a0
195d: 0108 l32i.n a0, a1, 0
195f: 10c112 addi a1, a1, 16
1962: f00d ret.n
00001964 <bignum_sub>:
1964: f0c112 addi a1, a1, -16
1967: 0109 s32i.n a0, a1, 0
1969: fe9085 call0 274 <bignum_init-0x15f4>
196c: 040c movi.n a4, 0
196e: f07c movi.n a0, -1
1970: 830420 moveqz a0, a4, a2
1973: 002d mov.n a2, a0
1975: 0108 l32i.n a0, a1, 0
1977: 10c112 addi a1, a1, 16
197a: f00d ret.n
0000197c <bignum_mul>:
197c: f0c112 addi a1, a1, -16
197f: 0109 s32i.n a0, a1, 0
1981: fe9485 call0 2cc <bignum_init-0x159c>
1984: 040c movi.n a4, 0
1986: f07c movi.n a0, -1
1988: 830420 moveqz a0, a4, a2
198b: 002d mov.n a2, a0
198d: 0108 l32i.n a0, a1, 0
198f: 10c112 addi a1, a1, 16
1992: f00d ret.n
00001994 <bignum_mulmod>:
1994: f0c112 addi a1, a1, -16
1997: 0109 s32i.n a0, a1, 0
1999: fe9685 call0 304 <bignum_init-0x1564>
199c: 040c movi.n a4, 0
199e: f07c movi.n a0, -1
19a0: 830420 moveqz a0, a4, a2
19a3: 002d mov.n a2, a0
19a5: 0108 l32i.n a0, a1, 0
19a7: 10c112 addi a1, a1, 16
19aa: f00d ret.n
000019ac <bignum_exptmod>:
19ac: f0c112 addi a1, a1, -16
19af: 0109 s32i.n a0, a1, 0
19b1: fe9f85 call0 3ac <bignum_init-0x14bc>
19b4: 040c movi.n a4, 0
19b6: f07c movi.n a0, -1
19b8: 830420 moveqz a0, a4, a2
19bb: 002d mov.n a2, a0
19bd: 0108 l32i.n a0, a1, 0
19bf: 10c112 addi a1, a1, 16
19c2: f00d ret.n
crypto_internal-modexp.o: file format elf32-xtensa-le
Disassembly of section .irom0.text:
00000000 <crypto_mod_exp-0x34>:
...
00000034 <crypto_mod_exp>:
34: d0c112 addi a1, a1, -48
37: a1e9 s32i.n a14, a1, 40
39: b1f9 s32i.n a15, a1, 44
3b: 5169 s32i.n a6, a1, 20
3d: 4179 s32i.n a7, a1, 16
3f: 2159 s32i.n a5, a1, 8
41: 1129 s32i.n a2, a1, 4
43: 7109 s32i.n a0, a1, 28
45: 81c9 s32i.n a12, a1, 32
47: 91d9 s32i.n a13, a1, 36
49: 03cd mov.n a12, a3
4b: 04dd mov.n a13, a4
4d: 31d9 s32i.n a13, a1, 12
4f: 01c9 s32i.n a12, a1, 0
51: ffeb01 l32r a0, 0 <crypto_mod_exp-0x34>
54: 0000c0 callx0 a0
57: 02cd mov.n a12, a2
59: ffea01 l32r a0, 4 <crypto_mod_exp-0x30>
5c: 0000c0 callx0 a0
5f: 02dd mov.n a13, a2
61: ffe901 l32r a0, 8 <crypto_mod_exp-0x2c>
64: 0000c0 callx0 a0
67: 02ed mov.n a14, a2
69: ffe801 l32r a0, c <crypto_mod_exp-0x28>
6c: 0000c0 callx0 a0
6f: 02fd mov.n a15, a2
71: 2cac beqz.n a12, 97 <crypto_mod_exp+0x63>
73: 0dac beqz.n a13, 97 <crypto_mod_exp+0x63>
75: ee9c beqz.n a14, 97 <crypto_mod_exp+0x63>
77: c29c beqz.n a2, 97 <crypto_mod_exp+0x63>
79: 0c2d mov.n a2, a12
7b: 1138 l32i.n a3, a1, 4
7d: 0148 l32i.n a4, a1, 0
7f: ffe401 l32r a0, 10 <crypto_mod_exp-0x24>
82: 0000c0 callx0 a0
85: 00e296 bltz a2, 97 <crypto_mod_exp+0x63>
88: 0d2d mov.n a2, a13
8a: 3138 l32i.n a3, a1, 12
8c: 2148 l32i.n a4, a1, 8
8e: ffe101 l32r a0, 14 <crypto_mod_exp-0x20>
91: 0000c0 callx0 a0
94: 0062d6 bgez a2, 9e <crypto_mod_exp+0x6a>
97: f07c movi.n a0, -1
99: 6109 s32i.n a0, a1, 24
9b: 000b46 j cc <crypto_mod_exp+0x98>
9e: 0e2d mov.n a2, a14
a0: 5138 l32i.n a3, a1, 20
a2: 4148 l32i.n a4, a1, 16
a4: ffdd01 l32r a0, 18 <crypto_mod_exp-0x1c>
a7: 0000c0 callx0 a0
aa: fe9296 bltz a2, 97 <crypto_mod_exp+0x63>
ad: 0c2d mov.n a2, a12
af: 0d3d mov.n a3, a13
b1: 0e4d mov.n a4, a14
b3: 0f5d mov.n a5, a15
b5: ffd901 l32r a0, 1c <crypto_mod_exp-0x18>
b8: 0000c0 callx0 a0
bb: fd8296 bltz a2, 97 <crypto_mod_exp+0x63>
be: c138 l32i.n a3, a1, 48
c0: d148 l32i.n a4, a1, 52
c2: 0f2d mov.n a2, a15
c4: ffd701 l32r a0, 20 <crypto_mod_exp-0x14>
c7: 0000c0 callx0 a0
ca: 6129 s32i.n a2, a1, 24
cc: 0c2d mov.n a2, a12
ce: ffd501 l32r a0, 24 <crypto_mod_exp-0x10>
d1: 0000c0 callx0 a0
d4: 0d2d mov.n a2, a13
d6: ffd401 l32r a0, 28 <crypto_mod_exp-0xc>
d9: 0000c0 callx0 a0
dc: 0e2d mov.n a2, a14
de: ffd301 l32r a0, 2c <crypto_mod_exp-0x8>
e1: 0000c0 callx0 a0
e4: 81c8 l32i.n a12, a1, 32
e6: 91d8 l32i.n a13, a1, 36
e8: 0f2d mov.n a2, a15
ea: a1e8 l32i.n a14, a1, 40
ec: b1f8 l32i.n a15, a1, 44
ee: ffd001 l32r a0, 30 <crypto_mod_exp-0x4>
f1: 0000c0 callx0 a0
f4: 6128 l32i.n a2, a1, 24
f6: 7108 l32i.n a0, a1, 28
f8: 30c112 addi a1, a1, 48
fb: f00d ret.n
dh_group5.o: file format elf32-xtensa-le
Disassembly of section .irom0.text:
00000000 <dh5_init-0x8>:
...
00000008 <dh5_init>:
8: f0c112 addi a1, a1, -16
b: 1139 s32i.n a3, a1, 4
d: 0129 s32i.n a2, a1, 0
f: 2109 s32i.n a0, a1, 8
11: 520c movi.n a2, 5
13: fffb01 l32r a0, 0 <dh5_init-0x8>
16: 0000c0 callx0 a0
19: 0138 l32i.n a3, a1, 0
1b: fffa01 l32r a0, 4 <dh5_init-0x4>
1e: 0000c0 callx0 a0
21: 140c movi.n a4, 1
23: 1158 l32i.n a5, a1, 4
25: 000c movi.n a0, 0
27: 0529 s32i.n a2, a5, 0
29: 930420 movnez a0, a4, a2
2c: 002d mov.n a2, a0
2e: 2108 l32i.n a0, a1, 8
30: 10c112 addi a1, a1, 16
33: f00d ret.n
...
00000040 <dh5_derive_shared>:
40: 520c movi.n a2, 5
42: f0c112 addi a1, a1, -16
45: 0139 s32i.n a3, a1, 0
47: 1149 s32i.n a4, a1, 4
49: 2109 s32i.n a0, a1, 8
4b: fffb01 l32r a0, 38 <dh5_init+0x30>
4e: 0000c0 callx0 a0
51: 024d mov.n a4, a2
53: 1138 l32i.n a3, a1, 4
55: 0128 l32i.n a2, a1, 0
57: fff901 l32r a0, 3c <dh5_init+0x34>
5a: 0000c0 callx0 a0
5d: 2108 l32i.n a0, a1, 8
5f: 10c112 addi a1, a1, 16
62: f00d ret.n
00000064 <dh5_free>:
64: f00d ret.n
dh_groups.o: file format elf32-xtensa-le
Disassembly of section .text:
00000000 <.text>:
0: 2248 l32i.n a4, a2, 8
2: 32cb addi.n a3, a2, 12
4: 834340 moveqz a4, a3, a4
7: 042d mov.n a2, a4
9: f00d ret.n
Disassembly of section .irom0.text:
00000034 <dh_groups_get-0x4>:
34: 000000 ill
...
00000038 <dh_groups_get>:
38: ffff51 l32r a5, 34 <dh_groups_get-0x4>
3b: 0538 l32i.n a3, a5, 0
3d: 039327 bne a3, a2, 44 <dh_groups_get+0xc>
40: 052d mov.n a2, a5
42: f00d ret.n
44: 020c movi.n a2, 0
46: f00d ret.n
...
00000078 <dh_init>:
78: d0c112 addi a1, a1, -48
7b: 6109 s32i.n a0, a1, 24
7d: 71c9 s32i.n a12, a1, 28
7f: 81d9 s32i.n a13, a1, 32
81: 02cd mov.n a12, a2
83: 03dd mov.n a13, a3
85: 22bc beqz.n a2, bb <dh_init+0x43>
87: 0328 l32i.n a2, a3, 0
89: ffef01 l32r a0, 48 <dh_groups_get+0x10>
8c: 0000c0 callx0 a0
8f: 4c28 l32i.n a2, a12, 16
91: ffee01 l32r a0, 4c <dh_groups_get+0x14>
94: 0000c0 callx0 a0
97: 0d29 s32i.n a2, a13, 0
99: e29c beqz.n a2, bb <dh_init+0x43>
9b: 4c38 l32i.n a3, a12, 16
9d: ffec01 l32r a0, 50 <dh_groups_get+0x18>
a0: 0000c0 callx0 a0
a3: 4c38 l32i.n a3, a12, 16
a5: ffeb01 l32r a0, 54 <dh_groups_get+0x1c>
a8: 0000c0 callx0 a0
ab: 020d mov.n a0, a2
ad: 0d28 l32i.n a2, a13, 0
af: 40ac beqz.n a0, d7 <dh_init+0x5f>
b1: ffe901 l32r a0, 58 <dh_groups_get+0x20>
b4: 0000c0 callx0 a0
b7: 040c movi.n a4, 0
b9: 0d49 s32i.n a4, a13, 0
bb: 020c movi.n a2, 0
bd: 0002c6 j cc <dh_init+0x54>
c0: 5128 l32i.n a2, a1, 20
c2: 4138 l32i.n a3, a1, 16
c4: ffe601 l32r a0, 5c <dh_groups_get+0x24>
c7: 0000c0 callx0 a0
ca: 5128 l32i.n a2, a1, 20
cc: 71c8 l32i.n a12, a1, 28
ce: 81d8 l32i.n a13, a1, 32
d0: 6108 l32i.n a0, a1, 24
d2: 30c112 addi a1, a1, 48
d5: f00d ret.n
d7: ffe201 l32r a0, 60 <dh_groups_get+0x28>
da: 0000c0 callx0 a0
dd: 3c38 l32i.n a3, a12, 12
df: 4c48 l32i.n a4, a12, 16
e1: ffe001 l32r a0, 64 <dh_groups_get+0x2c>
e4: 0000c0 callx0 a0
e7: 0d12a6 blti a2, 1, f8 <dh_init+0x80>
ea: 0d78 l32i.n a7, a13, 0
ec: 050c movi.n a5, 0
ee: 2768 l32i.n a6, a7, 8
f0: 77cb addi.n a7, a7, 12
f2: 836760 moveqz a6, a7, a6
f5: 004652 s8i a5, a6, 0
f8: 4c28 l32i.n a2, a12, 16
fa: 4129 s32i.n a2, a1, 16
fc: ffdb01 l32r a0, 68 <dh_groups_get+0x30>
ff: 0000c0 callx0 a0
102: 5129 s32i.n a2, a1, 20
104: fb3216 beqz a2, bb <dh_init+0x43>
107: 0d28 l32i.n a2, a13, 0
109: ffd801 l32r a0, 6c <dh_groups_get+0x34>
10c: 0000c0 callx0 a0
10f: 10c182 addi a8, a1, 16
112: 4c78 l32i.n a7, a12, 16
114: 3c68 l32i.n a6, a12, 12
116: 2c38 l32i.n a3, a12, 8
118: 51a8 l32i.n a10, a1, 20
11a: 024d mov.n a4, a2
11c: 0d58 l32i.n a5, a13, 0
11e: 1c28 l32i.n a2, a12, 4
120: 1558 l32i.n a5, a5, 4
122: 2a98 l32i.n a9, a10, 8
124: aacb addi.n a10, a10, 12
126: 839a90 moveqz a9, a10, a9
129: 0199 s32i.n a9, a1, 0
12b: 1189 s32i.n a8, a1, 4
12d: ffd001 l32r a0, 70 <dh_groups_get+0x38>
130: 0000c0 callx0 a0
133: f892d6 bgez a2, c0 <dh_init+0x48>
136: 5128 l32i.n a2, a1, 20
138: ffcf01 l32r a0, 74 <dh_groups_get+0x3c>
13b: 0000c0 callx0 a0
13e: ffde46 j bb <dh_init+0x43>
...
0000015c <dh_derive_shared>:
15c: d0c112 addi a1, a1, -48
15f: a1f9 s32i.n a15, a1, 40
161: 6109 s32i.n a0, a1, 24
163: 71c9 s32i.n a12, a1, 28
165: 91e9 s32i.n a14, a1, 36
167: 81d9 s32i.n a13, a1, 32
169: 03ed mov.n a14, a3
16b: 02dd mov.n a13, a2
16d: 04cd mov.n a12, a4
16f: 053416 beqz a4, 1c6 <dh_derive_shared+0x6a>
172: 050216 beqz a2, 1c6 <dh_derive_shared+0x6a>
175: 04d316 beqz a3, 1c6 <dh_derive_shared+0x6a>
178: 4428 l32i.n a2, a4, 16
17a: 4129 s32i.n a2, a1, 16
17c: fff201 l32r a0, 144 <dh_init+0xcc>
17f: 0000c0 callx0 a0
182: 02fd mov.n a15, a2
184: 03e216 beqz a2, 1c6 <dh_derive_shared+0x6a>
187: 0d2d mov.n a2, a13
189: ffef01 l32r a0, 148 <dh_init+0xd0>
18c: 0000c0 callx0 a0
18f: 5129 s32i.n a2, a1, 20
191: 1dd8 l32i.n a13, a13, 4
193: 0e2d mov.n a2, a14
195: ffed01 l32r a0, 14c <dh_init+0xd4>
198: 0000c0 callx0 a0
19b: 10c102 addi a0, a1, 16
19e: 4c78 l32i.n a7, a12, 16
1a0: 3c68 l32i.n a6, a12, 12
1a2: 4fcb addi.n a4, a15, 12
1a4: 2f38 l32i.n a3, a15, 8
1a6: 1e58 l32i.n a5, a14, 4
1a8: 833430 moveqz a3, a4, a3
1ab: 024d mov.n a4, a2
1ad: 5128 l32i.n a2, a1, 20
1af: 0139 s32i.n a3, a1, 0
1b1: 1109 s32i.n a0, a1, 4
1b3: 0d3d mov.n a3, a13
1b5: ffe601 l32r a0, 150 <dh_init+0xd8>
1b8: 0000c0 callx0 a0
1bb: 00c2d6 bgez a2, 1cb <dh_derive_shared+0x6f>
1be: 0f2d mov.n a2, a15
1c0: ffe501 l32r a0, 154 <dh_init+0xdc>
1c3: 0000c0 callx0 a0
1c6: 020c movi.n a2, 0
1c8: 0002c6 j 1d7 <dh_derive_shared+0x7b>
1cb: 0f2d mov.n a2, a15
1cd: 4138 l32i.n a3, a1, 16
1cf: ffe201 l32r a0, 158 <dh_init+0xe0>
1d2: 0000c0 callx0 a0
1d5: 0f2d mov.n a2, a15
1d7: 71c8 l32i.n a12, a1, 28
1d9: 81d8 l32i.n a13, a1, 32
1db: 91e8 l32i.n a14, a1, 36
1dd: a1f8 l32i.n a15, a1, 40
1df: 6108 l32i.n a0, a1, 24
1e1: 30c112 addi a1, a1, 48
1e4: f00d ret.n
sha256.o: file format elf32-xtensa-le
Disassembly of section .irom0.text:
00000000 <hmac_sha256_vector-0x1c>:
...
0000001c <hmac_sha256_vector>:
1c: e0a082 movi a8, 224
1f: c01180 sub a1, a1, a8
22: 306122 s32i a2, a1, 192
25: 316132 s32i a3, a1, 196
28: 2c61e2 s32i a14, a1, 176
2b: 296102 s32i a0, a1, 164
2e: 2a61c2 s32i a12, a1, 168
31: 2b61d2 s32i a13, a1, 172
34: 05cd mov.n a12, a5
36: 06dd mov.n a13, a6
38: 01d102 addmi a0, a1, 0x100
3b: c4c002 addi a0, a0, -60
3e: 01d162 addmi a6, a1, 0x100
41: c0c662 addi a6, a6, -64
44: 0264b6 bltui a4, 6, 4a <hmac_sha256_vector+0x2e>
47: 0039c6 j 132 <hmac_sha256_vector+0x116>
4a: 286172 s32i a7, a1, 160
4d: 2d6142 s32i a4, a1, 180
50: 0e4c movi.n a14, 64
52: 15be37 bgeu a14, a3, 6b <hmac_sha256_vector+0x4f>
55: 063d mov.n a3, a6
57: 120c movi.n a2, 1
59: 015d mov.n a5, a1
5b: 004d mov.n a4, a0
5d: ffe801 l32r a0, 0 <hmac_sha256_vector-0x1c>
60: 0000c0 callx0 a0
63: 306112 s32i a1, a1, 192
66: 032c movi.n a3, 32
68: 316132 s32i a3, a1, 196
6b: 20c122 addi a2, a1, 32
6e: 030c movi.n a3, 0
70: 044c movi.n a4, 64
72: ffe401 l32r a0, 4 <hmac_sha256_vector-0x18>
75: 0000c0 callx0 a0
78: 302132 l32i a3, a1, 192
7b: 312142 l32i a4, a1, 196
7e: 20c122 addi a2, a1, 32
81: ffe101 l32r a0, 8 <hmac_sha256_vector-0x14>
84: 0000c0 callx0 a0
87: 2d2142 l32i a4, a1, 180
8a: 20c122 addi a2, a1, 32
8d: 60c1e2 addi a14, a1, 96
90: 603c movi.n a0, 54
92: 20c162 addi a6, a1, 32
95: 034c movi.n a3, 64
97: 206132 s32i a3, a1, 128
9a: 000252 l8ui a5, a2, 0
9d: 305500 xor a5, a5, a0
a0: 004252 s8i a5, a2, 0
a3: 221b addi.n a2, a2, 1
a5: f192e7 bne a2, a14, 9a <hmac_sha256_vector+0x7e>
a8: 186162 s32i a6, a1, 96
ab: c49c beqz.n a4, cb <hmac_sha256_vector+0xaf>
ad: 60c122 addi a2, a1, 96
b0: a034c0 addx4 a3, a4, a12
b3: 7fc102 addi a0, a1, 127
b6: 001b addi.n a0, a0, 1
b8: 0d58 l32i.n a5, a13, 0
ba: 0c68 l32i.n a6, a12, 0
bc: dd4b addi.n a13, a13, 4
be: cc4b addi.n a12, a12, 4
c0: 1059 s32i.n a5, a0, 4
c2: 1269 s32i.n a6, a2, 4
c4: 004b addi.n a0, a0, 4
c6: 224b addi.n a2, a2, 4
c8: ec9c37 bne a12, a3, b8 <hmac_sha256_vector+0x9c>
cb: 60c132 addi a3, a1, 96
ce: 241b addi.n a2, a4, 1
d0: 282152 l32i a5, a1, 160
d3: 7fc142 addi a4, a1, 127
d6: 441b addi.n a4, a4, 1
d8: ffcd01 l32r a0, c <hmac_sha256_vector-0x10>
db: 0000c0 callx0 a0
de: 20c122 addi a2, a1, 32
e1: 030c movi.n a3, 0
e3: 044c movi.n a4, 64
e5: ffca01 l32r a0, 10 <hmac_sha256_vector-0xc>
e8: 0000c0 callx0 a0
eb: 302132 l32i a3, a1, 192
ee: 312142 l32i a4, a1, 196
f1: 20c122 addi a2, a1, 32
f4: ffc801 l32r a0, 14 <hmac_sha256_vector-0x8>
f7: 0000c0 callx0 a0
fa: 004c movi.n a0, 64
fc: 032c movi.n a3, 32
fe: c65c movi.n a6, 92
100: 20c142 addi a4, a1, 32
103: 042d mov.n a2, a4
105: 000252 l8ui a5, a2, 0
108: 305560 xor a5, a5, a6
10b: 004252 s8i a5, a2, 0
10e: 221b addi.n a2, a2, 1
110: f192e7 bne a2, a14, 105 <hmac_sha256_vector+0xe9>
113: 220c movi.n a2, 2
115: 206102 s32i a0, a1, 128
118: 186142 s32i a4, a1, 96
11b: 216132 s32i a3, a1, 132
11e: 282152 l32i a5, a1, 160
121: 196152 s32i a5, a1, 100
124: 60c132 addi a3, a1, 96
127: 7fc142 addi a4, a1, 127
12a: 441b addi.n a4, a4, 1
12c: ffbb01 l32r a0, 18 <hmac_sha256_vector-0x4>
12f: 0000c0 callx0 a0
132: 2a21c2 l32i a12, a1, 168
135: 2b21d2 l32i a13, a1, 172
138: 2c21e2 l32i a14, a1, 176
13b: e0a022 movi a2, 224
13e: 292102 l32i a0, a1, 164
141: 112a add.n a1, a1, a2
143: f00d ret.n
145: 000000 ill
00000148 <hmac_sha256>:
148: 067d mov.n a7, a6
14a: 059d mov.n a9, a5
14c: d0c112 addi a1, a1, -48
14f: 0109 s32i.n a0, a1, 0
151: 6149 s32i.n a4, a1, 24
153: 18c152 addi a5, a1, 24
156: 1cc162 addi a6, a1, 28
159: 7199 s32i.n a9, a1, 28
15b: 140c movi.n a4, 1
15d: 000005 call0 160 <hmac_sha256+0x18>
160: 0108 l32i.n a0, a1, 0
162: 30c112 addi a1, a1, 48
165: f00d ret.n
...
00000170 <sha256_prf>:
170: 029d mov.n a9, a2
172: 80c112 addi a1, a1, -128
175: 042d mov.n a2, a4
177: 4119 s32i.n a1, a1, 16
179: 5149 s32i.n a4, a1, 20
17b: 1d6132 s32i a3, a1, 116
17e: 186102 s32i a0, a1, 96
181: 1c61f2 s32i a15, a1, 112
184: 1b61e2 s32i a14, a1, 108
187: 1961c2 s32i a12, a1, 100
18a: 1a61d2 s32i a13, a1, 104
18d: 06cd mov.n a12, a6
18f: 07dd mov.n a13, a7
191: 05ed mov.n a14, a5
193: 1e6192 s32i a9, a1, 120
196: 2f0c movi.n a15, 2
198: 81f9 s32i.n a15, a1, 32
19a: fff301 l32r a0, 168 <hmac_sha256+0x20>
19d: 0000c0 callx0 a0
1a0: a1c9 s32i.n a12, a1, 40
1a2: b1f9 s32i.n a15, a1, 44
1a4: 61e9 s32i.n a14, a1, 24
1a6: 9129 s32i.n a2, a1, 36
1a8: 202102 l32i a0, a1, 128
1ab: 1f6102 s32i a0, a1, 124
1ae: 30c122 addi a2, a1, 48
1b1: 1130d0 slli a3, a0, 3
1b4: 7129 s32i.n a2, a1, 28
1b6: 304132 s8i a3, a1, 48
1b9: 413830 srli a3, a3, 8
1bc: 314132 s8i a3, a1, 49
1bf: 059016 beqz a0, 21c <sha256_prf+0xac>
1c2: 1e0c movi.n a14, 1
1c4: 0f0c movi.n a15, 0
1c6: 00cd mov.n a12, a0
1c8: 0041e2 s8i a14, a1, 0
1cb: 4128e0 srli a2, a14, 8
1ce: 014122 s8i a2, a1, 1
1d1: 26ccb6 bltui a12, 32, 1fb <sha256_prf+0x8b>
1d4: 1e2122 l32i a2, a1, 120
1d7: 1d2132 l32i a3, a1, 116
1da: 440c movi.n a4, 4
1dc: 10c152 addi a5, a1, 16
1df: 20c162 addi a6, a1, 32
1e2: 0d7d mov.n a7, a13
1e4: 000005 call0 1e8 <sha256_prf+0x78>
1e7: 20cdd2 addi a13, a13, 32
1ea: e0ccc2 addi a12, a12, -32
1ed: ee1b addi.n a14, a14, 1
1ef: 1f2132 l32i a3, a1, 124
1f2: 20cff2 addi a15, a15, 32
1f5: cf3f37 bltu a15, a3, 1c8 <sha256_prf+0x58>
1f8: 000806 j 21c <sha256_prf+0xac>
1fb: 1e2122 l32i a2, a1, 120
1fe: 1d2132 l32i a3, a1, 116
201: 440c movi.n a4, 4
203: 10c152 addi a5, a1, 16
206: 20c162 addi a6, a1, 32
209: 40c172 addi a7, a1, 64
20c: 000005 call0 210 <sha256_prf+0xa0>
20f: 0c4d mov.n a4, a12
211: 0d2d mov.n a2, a13
213: 40c132 addi a3, a1, 64
216: ffd501 l32r a0, 16c <hmac_sha256+0x24>
219: 0000c0 callx0 a0
21c: 1921c2 l32i a12, a1, 100
21f: 1a21d2 l32i a13, a1, 104
222: 1b21e2 l32i a14, a1, 108
225: 1c21f2 l32i a15, a1, 112
228: 80a022 movi a2, 128
22b: 182102 l32i a0, a1, 96
22e: 112a add.n a1, a1, a2
230: f00d ret.n
sha256-internal.o: file format elf32-xtensa-le
Disassembly of section .irom0.text:
00000000 <sha256_vector>:
0: 90a082 movi a8, 144
3: c01180 sub a1, a1, a8
6: 1c6152 s32i a5, a1, 112
9: 1d6102 s32i a0, a1, 116
c: 1f61d2 s32i a13, a1, 124
f: 1e61c2 s32i a12, a1, 120
12: 2061e2 s32i a14, a1, 128
15: 04cd mov.n a12, a4
17: 02ed mov.n a14, a2
19: 03dd mov.n a13, a3
1b: 012d mov.n a2, a1
1d: 001d85 call0 1f8 <sha256_vector+0x1f8>
20: 3e9c beqz.n a14, 37 <sha256_vector+0x37>
22: a0eed0 addx4 a14, a14, a13
25: 012d mov.n a2, a1
27: 0d38 l32i.n a3, a13, 0
29: 0c48 l32i.n a4, a12, 0
2b: 002045 call0 230 <sha256_vector+0x230>
2e: 42dc bnez.n a2, 46 <sha256_vector+0x46>
30: cc4b addi.n a12, a12, 4
32: dd4b addi.n a13, a13, 4
34: ed9de7 bne a13, a14, 25 <sha256_vector+0x25>
37: 012d mov.n a2, a1
39: 1c2132 l32i a3, a1, 112
3c: 002a05 call0 2e0 <sha256_vector+0x2e0>
3f: 32cc bnez.n a2, 46 <sha256_vector+0x46>
41: 020c movi.n a2, 0
43: 000046 j 48 <sha256_vector+0x48>
46: f27c movi.n a2, -1
48: 1e21c2 l32i a12, a1, 120
4b: 1f21d2 l32i a13, a1, 124
4e: 2021e2 l32i a14, a1, 128
51: 90a032 movi a3, 144
54: 1d2102 l32i a0, a1, 116
57: 113a add.n a1, a1, a3
59: f00d ret.n
5b: 000000 ill
5e: 6d0000 excw
61: a14202 s8i a0, a2, 161
64: 114040 slli a4, a0, 12
67: 61c2c0 xsr.eps2 a12
6a: d249 s32i.n a4, a2, 52
6c: e24a61 l32r a6, ffff8994 <sha256_vector+0xffff8994>
6f: f24b61 l32r a6, ffffc99c <sha256_vector+0xffffc99c>
72: 024c61 l32r a6, fffc09a4 <sha256_vector+0xfffc09a4>
75: 224861 l32r a6, fffc8998 <sha256_vector+0xfffc8998>
78: 024e61 l32r a6, fffc09b0 <sha256_vector+0xfffc09b0>
7b: 0220c2 l32i a12, a0, 8
7e: 0d4d61 l32r a6, fffc35b4 <sha256_vector+0xfffc35b4>
81: 212201 l32r a0, fffc850c <sha256_vector+0xfffc850c>
84: 484d excw
86: 004926 beqi a9, 4, 8a <sha256_vector+0x8a>
89: 664b addi.n a6, a6, 4
8b: 004b addi.n a0, a0, 4
8d: f19627 bne a6, a2, 82 <sha256_vector+0x82>
90: fed162 addmi a6, a1, 0xfffffe00
93: 064b addi.n a0, a6, 4
95: 44c662 addi a6, a6, 68
98: 030372 l8ui a7, a3, 3
9b: 020382 l8ui a8, a3, 2
9e: 010392 l8ui a9, a3, 1
a1: 118880 slli a8, a8, 8
a4: 119900 slli a9, a9, 16
a7: 207780 or a7, a7, a8
aa: 000382 l8ui a8, a3, 0
ad: 334b addi.n a3, a3, 4
af: 018880 slli a8, a8, 24
b2: 208890 or a8, a8, a9
b5: 207780 or a7, a7, a8
b8: 876072 s32i a7, a0, 0x21c
bb: 004b addi.n a0, a0, 4
bd: d79067 bne a0, a6, 98 <sha256_vector+0x98>
c0: 4158 l32i.n a5, a1, 16
c2: 034c movi.n a3, 64
c4: fed102 addmi a0, a1, 0xfffffe00
c7: ffd172 addmi a7, a1, 0xffffff00
ca: 774b addi.n a7, a7, 4
cc: 772682 l32i a8, a6, 0x1dc
cf: 404310 ssai 19
d2: 8526c2 l32i a12, a6, 0x214
d5: 802692 l32i a9, a6, 0x200
d8: 81dcc0 src a13, a12, a12
db: 404110 ssai 17
de: 81bcc0 src a11, a12, a12
e1: 41cac0 srli a12, a12, 10
e4: 30bbd0 xor a11, a11, a13
e7: 404210 ssai 18
ea: 30bbc0 xor a11, a11, a12
ed: 7826c2 l32i a12, a6, 0x1e0
f0: 99ba add.n a9, a9, a11
f2: 81dcc0 src a13, a12, a12
f5: 404700 ssai 7
f8: 81acc0 src a10, a12, a12
fb: 41c3c0 srli a12, a12, 3
fe: 30aad0 xor a10, a10, a13
101: 30aac0 xor a10, a10, a12
104: 88aa add.n a8, a8, a10
106: 889a add.n a8, a8, a9
108: 876682 s32i a8, a6, 0x21c
10b: 664b addi.n a6, a6, 4
10d: bb9677 bne a6, a7, cc <sha256_vector+0xcc>
110: 004b addi.n a0, a0, 4
112: ffd2c1 l32r a12, 5c <sha256_vector+0x5c>
115: 21b8 l32i.n a11, a1, 8
117: 11a8 l32i.n a10, a1, 4
119: 0198 l32i.n a9, a1, 0
11b: 3188 l32i.n a8, a1, 12
11d: 71d8 l32i.n a13, a1, 28
11f: 6178 l32i.n a7, a1, 24
121: 5168 l32i.n a6, a1, 20
123: 330b addi.n a3, a3, -1
125: 404910 ssai 25
128: 304760 xor a4, a7, a6
12b: 81e550 src a14, a5, a5
12e: 104450 and a4, a4, a5
131: 404600 ssai 6
134: 81f550 src a15, a5, a5
137: 304470 xor a4, a4, a7
13a: 404b00 ssai 11
13d: 812550 src a2, a5, a5
140: 30ff20 xor a15, a15, a2
143: 404d00 ssai 13
146: 872022 l32i a2, a0, 0x21c
149: 30eef0 xor a14, a14, a15
14c: 004b addi.n a0, a0, 4
14e: ddea add.n a13, a13, a14
150: 44da add.n a4, a4, a13
152: 81f990 src a15, a9, a9
155: 0cd8 l32i.n a13, a12, 0
157: 404200 ssai 2
15a: cc4b addi.n a12, a12, 4
15c: 81e990 src a14, a9, a9
15f: 30eef0 xor a14, a14, a15
162: 404610 ssai 22
165: 22da add.n a2, a2, a13
167: 224a add.n a2, a2, a4
169: 81d990 src a13, a9, a9
16c: 428a add.n a4, a2, a8
16e: 4149 s32i.n a4, a1, 16
170: 30dde0 xor a13, a13, a14
173: 208a90 or a8, a10, a9
176: 10ea90 and a14, a10, a9
179: 108b80 and a8, a11, a8
17c: 2088e0 or a8, a8, a14
17f: 88da add.n a8, a8, a13
181: 228a add.n a2, a2, a8
183: 07dd mov.n a13, a7
185: 71d9 s32i.n a13, a1, 28
187: 0129 s32i.n a2, a1, 0
189: 067d mov.n a7, a6
18b: 0b8d mov.n a8, a11
18d: 3189 s32i.n a8, a1, 12
18f: 6179 s32i.n a7, a1, 24
191: 056d mov.n a6, a5
193: 0abd mov.n a11, a10
195: 045d mov.n a5, a4
197: 21b9 s32i.n a11, a1, 8
199: 09ad mov.n a10, a9
19b: 5169 s32i.n a6, a1, 20
19d: 029d mov.n a9, a2
19f: 11a9 s32i.n a10, a1, 4
1a1: f7e356 bnez a3, 123 <sha256_vector+0x123>
1a4: 010d mov.n a0, a1
1a6: 020c movi.n a2, 0
1a8: 4921c2 l32i a12, a1, 0x124
1ab: 4a21d2 l32i a13, a1, 0x128
1ae: 4b21e2 l32i a14, a1, 0x12c
1b1: 4c21f2 l32i a15, a1, 0x130
1b4: 4d2142 l32i a4, a1, 0x134
1b7: 0058 l32i.n a5, a0, 0
1b9: 4e2132 l32i a3, a1, 0x138
1bc: 004b addi.n a0, a0, 4
1be: 2368 l32i.n a6, a3, 8
1c0: 334b addi.n a3, a3, 4
1c2: 4e6132 s32i a3, a1, 0x138
1c5: 556a add.n a5, a5, a6
1c7: 1359 s32i.n a5, a3, 4
1c9: e79347 bne a3, a4, 1b4 <sha256_vector+0x1b4>
1cc: 40a132 movi a3, 0x140
1cf: 482102 l32i a0, a1, 0x120
1d2: 113a add.n a1, a1, a3
1d4: f00d ret.n
1d6: 670000 excw
1d9: 6a09e6 bgei a9, -1, 247 <sha256_vector+0x247>
1dc: 67ae85 call0 67cc8 <sha256_vector+0x67cc8>
1df: 72bb addi.n a7, a2, 11
1e1: 3c6ef3 excw
1e4: f53a add.n a15, a5, a3
1e6: 4f .byte 0x4f
1e7: 527fa5 excw
1ea: 0e .byte 0xe
1eb: 688c51 l32r a5, fffda41c <sha256_vector+0xfffda41c>
1ee: ab9b05 call0 fffabba0 <sha256_vector+0xfffabba0>
1f1: 83d9 s32i.n a13, a3, 32
1f3: 1f .byte 0x1f
1f4: cd19 s32i.n a1, a13, 48
1f6: 315be0 srai a5, a14, 27
1f9: ff .byte 0xff
1fa: ff .byte 0xff
1fb: fffd41 l32r a4, 1f0 <sha256_vector+0x1f0>
1fe: fffb51 l32r a5, 1ec <sha256_vector+0x1ec>
201: fff961 l32r a6, 1e8 <sha256_vector+0x1e8>
204: fff871 l32r a7, 1e4 <sha256_vector+0x1e4>
207: fff681 l32r a8, 1e0 <sha256_vector+0x1e0>
20a: fff491 l32r a9, 1dc <sha256_vector+0x1dc>
20d: fff2a1 l32r a10, 1d8 <sha256_vector+0x1d8>
210: 0b0c movi.n a11, 0
212: a2b9 s32i.n a11, a2, 40
214: 12b9 s32i.n a11, a2, 4
216: 02b9 s32i.n a11, a2, 0
218: 22a9 s32i.n a10, a2, 8
21a: 3299 s32i.n a9, a2, 12
21c: 4289 s32i.n a8, a2, 16
21e: 5279 s32i.n a7, a2, 20
220: 6269 s32i.n a6, a2, 24
222: 7259 s32i.n a5, a2, 28
224: 8249 s32i.n a4, a2, 32
226: 9239 s32i.n a3, a2, 36
228: f00d ret.n
22a: 000000 ill
22d: 000000 ill
230: e0c112 addi a1, a1, -32
233: 51f9 s32i.n a15, a1, 20
235: 21c9 s32i.n a12, a1, 8
237: 1109 s32i.n a0, a1, 4
239: 41e9 s32i.n a14, a1, 16
23b: 31d9 s32i.n a13, a1, 12
23d: 03ed mov.n a14, a3
23f: 02dd mov.n a13, a2
241: a208 l32i.n a0, a2, 40
243: 04cd mov.n a12, a4
245: 02d0b6 bltui a0, 64, 24b <sha256_vector+0x24b>
248: 002306 j 2d8 <sha256_vector+0x2d8>
24b: 078416 beqz a4, 2c7 <sha256_vector+0x2c7>
24e: 2cc242 addi a4, a2, 44
251: 0149 s32i.n a4, a1, 0
253: ad08 l32i.n a0, a13, 40
255: 0cfd mov.n a15, a12
257: 40ec bnez.n a0, 27f <sha256_vector+0x27f>
259: 22dcb6 bltui a12, 64, 27f <sha256_vector+0x27f>
25c: 0d2d mov.n a2, a13
25e: 0e3d mov.n a3, a14
260: ffdfc5 call0 60 <sha256_vector+0x60>
263: 071296 bltz a2, 2d8 <sha256_vector+0x2d8>
266: 1d08 l32i.n a0, a13, 4
268: 40cee2 addi a14, a14, 64
26b: 0d58 l32i.n a5, a13, 0
26d: c0ccc2 addi a12, a12, -64
270: 02d522 addmi a2, a5, 0x200
273: 01b257 bgeu a2, a5, 278 <sha256_vector+0x278>
276: 001b addi.n a0, a0, 1
278: 1d09 s32i.n a0, a13, 4
27a: 0d29 s32i.n a2, a13, 0
27c: 001106 j 2c4 <sha256_vector+0x2c4>
27f: 024c movi.n a2, 64
281: c02200 sub a2, a2, a0
284: 01b2c7 bgeu a2, a12, 289 <sha256_vector+0x289>
287: 02fd mov.n a15, a2
289: 0e3d mov.n a3, a14
28b: 0f4d mov.n a4, a15
28d: 20da add.n a2, a0, a13
28f: 2cc222 addi a2, a2, 44
292: ffe601 l32r a0, 22c <sha256_vector+0x22c>
295: 0000c0 callx0 a0
298: eefa add.n a14, a14, a15
29a: ad38 l32i.n a3, a13, 40
29c: c0ccf0 sub a12, a12, a15
29f: 33fa add.n a3, a3, a15
2a1: ad39 s32i.n a3, a13, 40
2a3: 1dd366 bnei a3, 64, 2c4 <sha256_vector+0x2c4>
2a6: 0d2d mov.n a2, a13
2a8: 0138 l32i.n a3, a1, 0
2aa: ffdb45 call0 60 <sha256_vector+0x60>
2ad: 027296 bltz a2, 2d8 <sha256_vector+0x2d8>
2b0: 1d08 l32i.n a0, a13, 4
2b2: 0d48 l32i.n a4, a13, 0
2b4: 050c movi.n a5, 0
2b6: 02d422 addmi a2, a4, 0x200
2b9: 01b247 bgeu a2, a4, 2be <sha256_vector+0x2be>
2bc: 001b addi.n a0, a0, 1
2be: 1d09 s32i.n a0, a13, 4
2c0: 0d29 s32i.n a2, a13, 0
2c2: ad59 s32i.n a5, a13, 40
2c4: f8bc56 bnez a12, 253 <sha256_vector+0x253>
2c7: 020c movi.n a2, 0
2c9: 21c8 l32i.n a12, a1, 8
2cb: 31d8 l32i.n a13, a1, 12
2cd: 41e8 l32i.n a14, a1, 16
2cf: 51f8 l32i.n a15, a1, 20
2d1: 1108 l32i.n a0, a1, 4
2d3: 20c112 addi a1, a1, 32
2d6: f00d ret.n
2d8: f27c movi.n a2, -1
2da: fffac6 j 2c9 <sha256_vector+0x2c9>
2dd: 000000 ill
2e0: e0c112 addi a1, a1, -32
2e3: 41f9 s32i.n a15, a1, 16
2e5: 0109 s32i.n a0, a1, 0
2e7: 31e9 s32i.n a14, a1, 12
2e9: 11c9 s32i.n a12, a1, 4
2eb: 21d9 s32i.n a13, a1, 8
2ed: 02cd mov.n a12, a2
2ef: a228 l32i.n a2, a2, 40
2f1: 03dd mov.n a13, a3
2f3: 04d2b6 bltui a2, 64, 2fb <sha256_vector+0x2fb>
2f6: f27c movi.n a2, -1
2f8: 003006 j 3bc <sha256_vector+0x3bc>
2fb: 0e0c movi.n a14, 0
2fd: 1c08 l32i.n a0, a12, 4
2ff: 2cccf2 addi a15, a12, 44
302: 0c38 l32i.n a3, a12, 0
304: 1142d0 slli a4, a2, 3
307: b03230 addx8 a3, a2, a3
30a: 01b347 bgeu a3, a4, 30f <sha256_vector+0x30f>
30d: 001b addi.n a0, a0, 1
30f: 1c09 s32i.n a0, a12, 4
311: 0c39 s32i.n a3, a12, 0
313: 62ca add.n a6, a2, a12
315: 80af52 movi a5, -128
318: 721b addi.n a7, a2, 1
31a: ac79 s32i.n a7, a12, 40
31c: 2c4652 s8i a5, a6, 44
31f: ac08 l32i.n a0, a12, 40
321: 843c movi.n a4, 56
323: 1bb407 bgeu a4, a0, 342 <sha256_vector+0x342>
326: 0dd0f6 bgeui a0, 64, 337 <sha256_vector+0x337>
329: 80ca add.n a8, a0, a12
32b: 901b addi.n a9, a0, 1
32d: ac99 s32i.n a9, a12, 40
32f: 2c48e2 s8i a14, a8, 44
332: ac08 l32i.n a0, a12, 40
334: f1d0b6 bltui a0, 64, 329 <sha256_vector+0x329>
337: 0c2d mov.n a2, a12
339: 0f3d mov.n a3, a15
33b: ffd245 call0 60 <sha256_vector+0x60>
33e: ace9 s32i.n a14, a12, 40
340: 000c movi.n a0, 0
342: 723c movi.n a2, 55
344: 0d3207 bltu a2, a0, 355 <sha256_vector+0x355>
347: a0ca add.n a10, a0, a12
349: b01b addi.n a11, a0, 1
34b: acb9 s32i.n a11, a12, 40
34d: 2c4ae2 s8i a14, a10, 44
350: ac08 l32i.n a0, a12, 40
352: f1b207 bgeu a2, a0, 347 <sha256_vector+0x347>
355: 404810 ssai 24
358: 1ce8 l32i.n a14, a12, 4
35a: 0c08 l32i.n a0, a12, 0
35c: 6b4c02 s8i a0, a12, 107
35f: 674ce2 s8i a14, a12, 103
362: 4148e0 srli a4, a14, 8
365: f550e0 extui a5, a14, 16, 16
368: 7568e0 extui a6, a14, 24, 8
36b: 644c62 s8i a6, a12, 100
36e: 654c52 s8i a5, a12, 101
371: 664c42 s8i a4, a12, 102
374: 813e00 src a3, a14, a0
377: 684c32 s8i a3, a12, 104
37a: 404010 ssai 16
37d: 0f3d mov.n a3, a15
37f: 812e00 src a2, a14, a0
382: 694c22 s8i a2, a12, 105
385: 404800 ssai 8
388: 0c2d mov.n a2, a12
38a: 81ee00 src a14, a14, a0
38d: 6a4ce2 s8i a14, a12, 106
390: ffccc5 call0 60 <sha256_vector+0x60>
393: 20cc02 addi a0, a12, 32
396: 2ca8 l32i.n a10, a12, 8
398: 75a8a0 extui a10, a10, 24, 8
39b: 004da2 s8i a10, a13, 0
39e: 2c98 l32i.n a9, a12, 8
3a0: f59090 extui a9, a9, 16, 16
3a3: 014d92 s8i a9, a13, 1
3a6: 2c88 l32i.n a8, a12, 8
3a8: cc4b addi.n a12, a12, 4
3aa: 418880 srli a8, a8, 8
3ad: 024d82 s8i a8, a13, 2
3b0: 1c78 l32i.n a7, a12, 4
3b2: 034d72 s8i a7, a13, 3
3b5: dd4b addi.n a13, a13, 4
3b7: db9c07 bne a12, a0, 396 <sha256_vector+0x396>
3ba: 020c movi.n a2, 0
3bc: 11c8 l32i.n a12, a1, 4
3be: 21d8 l32i.n a13, a1, 8
3c0: 31e8 l32i.n a14, a1, 12
3c2: 41f8 l32i.n a15, a1, 16
3c4: 0108 l32i.n a0, a1, 0
3c6: 20c112 addi a1, a1, 32
3c9: f00d ret.n