diff --git a/ct_eq.txt b/ct_eq.txt new file mode 100644 index 000000000..a03628458 --- /dev/null +++ b/ct_eq.txt @@ -0,0 +1,841 @@ + +################# This routine works. +000aa104 : + aa104: 7171 addi sp,sp,-176 + aa106: d706 sw ra,172(sp) + aa108: d522 sw s0,168(sp) + aa10a: d326 sw s1,164(sp) + aa10c: d14a sw s2,160(sp) + aa10e: cf4e sw s3,156(sp) + aa110: cd52 sw s4,152(sp) + aa112: cb56 sw s5,148(sp) + aa114: c95a sw s6,144(sp) + aa116: c75e sw s7,140(sp) + aa118: c562 sw s8,136(sp) + aa11a: c366 sw s9,132(sp) + aa11c: c16a sw s10,128(sp) + aa11e: deee sw s11,124(sp) + aa120: 8b3e mv s6,a5 + aa122: 8bba mv s7,a4 + aa124: 8a36 mv s4,a3 + aa126: 89b2 mv s3,a2 + aa128: 8aae mv s5,a1 + aa12a: 892a mv s2,a0 + aa12c: 04058493 addi s1,a1,64 + aa130: 08a8 addi a0,sp,88 + aa132: 7fd00613 li a2,2045 + aa136: 85a6 mv a1,s1 + aa138: fffe3097 auipc ra,0xfffe3 + aa13c: 2d4080e7 jalr 724(ra) # 8d40c ::find> + aa140: 05814503 lbu a0,88(sp) + aa144: c905 beqz a0,aa174 <.LBB549_2+0x1c> + aa146: 05914503 lbu a0,89(sp) + aa14a: 0002f5b7 lui a1,0x2f + aa14e: fbd58593 addi a1,a1,-67 # 2efbd <.Lswitch.table.vault::ctap::client_pin::ClientPin::verify_pin_hash_enc> + aa152: 952e add a0,a0,a1 + aa154: 00050403 lb s0,0(a0) + +000aa158 <.LBB549_2>: + aa158: 004b2503 lw a0,4(s6) + aa15c: c149 beqz a0,aa1de <.LBB549_2+0x86> + aa15e: 000b2c03 lw s8,0(s6) + aa162: 4485 li s1,1 + aa164: 4585 li a1,1 + aa166: 8562 mv a0,s8 + aa168: fff8b097 auipc ra,0xfff8b + aa16c: 1aa080e7 jalr 426(ra) # 35312 <__rust_dealloc> + aa170: 8526 mv a0,s1 + aa172: a0bd j aa1e0 <.LBB549_2+0x88> + aa174: 4576 lw a0,92(sp) + aa176: c549 beqz a0,aa200 <.LBB549_2+0xa8> + aa178: 5416 lw s0,100(sp) + aa17a: 5586 lw a1,96(sp) + aa17c: 4645 li a2,17 + aa17e: 08c41463 bne s0,a2,aa206 <.LBB549_2+0xae> + aa182: 01050c03 lb s8,16(a0) + aa186: 00f50603 lb a2,15(a0) + aa18a: de32 sw a2,60(sp) + aa18c: 00e50603 lb a2,14(a0) + aa190: dc32 sw a2,56(sp) + aa192: 00d50603 lb a2,13(a0) + aa196: da32 sw a2,52(sp) + aa198: 00c50603 lb a2,12(a0) + aa19c: d832 sw a2,48(sp) + aa19e: 00b50603 lb a2,11(a0) + aa1a2: d632 sw a2,44(sp) + aa1a4: 00a50603 lb a2,10(a0) + aa1a8: d432 sw a2,40(sp) + aa1aa: 00950603 lb a2,9(a0) + aa1ae: d232 sw a2,36(sp) + aa1b0: 00850603 lb a2,8(a0) + aa1b4: d032 sw a2,32(sp) + aa1b6: 00750603 lb a2,7(a0) + aa1ba: ce32 sw a2,28(sp) + aa1bc: 00650603 lb a2,6(a0) + aa1c0: cc32 sw a2,24(sp) + aa1c2: 00550603 lb a2,5(a0) + aa1c6: ca32 sw a2,20(sp) + aa1c8: 00450603 lb a2,4(a0) + aa1cc: c832 sw a2,16(sp) + aa1ce: 00350c83 lb s9,3(a0) + aa1d2: 00250d83 lb s11,2(a0) + aa1d6: 00150d03 lb s10,1(a0) + aa1da: e98d bnez a1,aa20c <.LBB549_2+0xb4> + aa1dc: a82d j aa216 <.LBB549_2+0xbe> + aa1de: 4505 li a0,1 + aa1e0: 85a2 mv a1,s0 + aa1e2: 50ba lw ra,172(sp) + aa1e4: 542a lw s0,168(sp) + aa1e6: 549a lw s1,164(sp) + aa1e8: 590a lw s2,160(sp) + aa1ea: 49fa lw s3,156(sp) + aa1ec: 4a6a lw s4,152(sp) + aa1ee: 4ada lw s5,148(sp) + aa1f0: 4b4a lw s6,144(sp) + aa1f2: 4bba lw s7,140(sp) + aa1f4: 4c2a lw s8,136(sp) + aa1f6: 4c9a lw s9,132(sp) + aa1f8: 4d0a lw s10,128(sp) + aa1fa: 5df6 lw s11,124(sp) + aa1fc: 614d addi sp,sp,176 + aa1fe: 8082 ret + aa200: 03600413 li s0,54 + aa204: bf91 j aa158 <.LBB549_2> + aa206: 0f200d13 li s10,242 + aa20a: c591 beqz a1,aa216 <.LBB549_2+0xbe> + aa20c: 4585 li a1,1 + aa20e: fff8b097 auipc ra,0xfff8b + aa212: 104080e7 jalr 260(ra) # 35312 <__rust_dealloc> + aa216: 4545 li a0,17 + aa218: 08a41a63 bne s0,a0,aa2ac <.LBB549_2+0x154> + aa21c: 05a10023 sb s10,64(sp) + aa220: 05b100a3 sb s11,65(sp) + aa224: 05910123 sb s9,66(sp) + aa228: 4542 lw a0,16(sp) + aa22a: 04a101a3 sb a0,67(sp) + aa22e: 4552 lw a0,20(sp) + aa230: 04a10223 sb a0,68(sp) + aa234: 4562 lw a0,24(sp) + aa236: 04a102a3 sb a0,69(sp) + aa23a: 4572 lw a0,28(sp) + aa23c: 04a10323 sb a0,70(sp) + aa240: 5502 lw a0,32(sp) + aa242: 04a103a3 sb a0,71(sp) + aa246: 5512 lw a0,36(sp) + aa248: 04a10423 sb a0,72(sp) + aa24c: 5522 lw a0,40(sp) + aa24e: 04a104a3 sb a0,73(sp) + aa252: 5532 lw a0,44(sp) + aa254: 04a10523 sb a0,74(sp) + aa258: 5542 lw a0,48(sp) + aa25a: 04a105a3 sb a0,75(sp) + aa25e: 5552 lw a0,52(sp) + aa260: 04a10623 sb a0,76(sp) + aa264: 5562 lw a0,56(sp) + aa266: 04a106a3 sb a0,77(sp) + aa26a: 0a094503 lbu a0,160(s2) + aa26e: 55f2 lw a1,60(sp) + aa270: 04b10723 sb a1,78(sp) + aa274: 058107a3 sb s8,79(sp) + aa278: 4589 li a1,2 + aa27a: 03400413 li s0,52 + aa27e: eca5ede3 bltu a1,a0,aa158 <.LBB549_2> + aa282: 08a8 addi a0,sp,88 + aa284: 7fc00613 li a2,2044 + aa288: 85a6 mv a1,s1 + aa28a: fffe3097 auipc ra,0xfffe3 + aa28e: 182080e7 jalr 386(ra) # 8d40c ::find> + aa292: 05814503 lbu a0,88(sp) + aa296: cd09 beqz a0,aa2b0 <.LBB549_2+0x158> + aa298: 05914503 lbu a0,89(sp) + aa29c: 0002f5b7 lui a1,0x2f + aa2a0: fc258593 addi a1,a1,-62 # 2efc2 <.Lswitch.table.vault::ctap::client_pin::ClientPin::verify_pin_hash_enc.2445> + aa2a4: 952e add a0,a0,a1 + aa2a6: 00054403 lbu s0,0(a0) + aa2aa: b57d j aa158 <.LBB549_2> + aa2ac: 846a mv s0,s10 + aa2ae: b56d j aa158 <.LBB549_2> + aa2b0: 4576 lw a0,92(sp) + aa2b2: cd19 beqz a0,aa2d0 <.LBB549_2+0x178> + aa2b4: 5616 lw a2,100(sp) + aa2b6: 5586 lw a1,96(sp) + aa2b8: 4685 li a3,1 + aa2ba: 22d61363 bne a2,a3,aa4e0 <.LBB549_30+0x6> + aa2be: 00054403 lbu s0,0(a0) + aa2c2: c981 beqz a1,aa2d2 <.LBB549_2+0x17a> + aa2c4: 4585 li a1,1 + aa2c6: fff8b097 auipc ra,0xfff8b + aa2ca: 04c080e7 jalr 76(ra) # 35312 <__rust_dealloc> + aa2ce: a011 j aa2d2 <.LBB549_2+0x17a> + aa2d0: 4421 li s0,8 + aa2d2: fff40513 addi a0,s0,-1 + aa2d6: 00a435b3 sltu a1,s0,a0 + aa2da: 15fd addi a1,a1,-1 + aa2dc: 8d6d and a0,a0,a1 + aa2de: 1c851263 bne a0,s0,aa4a2 <.LBB549_24+0x1c0> + +000aa2e2 <.LBB549_24>: + aa2e2: c662 sw s8,12(sp) + aa2e4: 008b2683 lw a3,8(s6) + aa2e8: 3206c363 bltz a3,aa60e <.LBB549_50+0x1c> + aa2ec: 000b2c03 lw s8,0(s6) + aa2f0: 010ba703 lw a4,16(s7) + aa2f4: 08a8 addi a0,sp,88 + aa2f6: 85d2 mv a1,s4 + aa2f8: 8662 mv a2,s8 + aa2fa: 9702 jalr a4 + aa2fc: 4a66 lw s4,88(sp) + aa2fe: 1e0a0b63 beqz s4,aa4f4 <.LBB549_30+0x1a> + aa302: 5b86 lw s7,96(sp) + aa304: 300bc563 bltz s7,aa60e <.LBB549_50+0x1c> + aa308: 44f6 lw s1,92(sp) + aa30a: 4541 li a0,16 + aa30c: 1eab9763 bne s7,a0,aa4fa <.LBB549_30+0x20> + aa310: 000a4503 lbu a0,0(s4) + aa314: 0ffd7593 zext.b a1,s10 + aa318: 8d2d xor a0,a0,a1 + aa31a: 00153513 seqz a0,a0 + aa31e: 00044097 auipc ra,0x44 + aa322: 7e2080e7 jalr 2018(ra) # eeb00 + aa326: 001a4583 lbu a1,1(s4) + aa32a: 842a mv s0,a0 + aa32c: 0ffdf513 zext.b a0,s11 + aa330: 8d2d xor a0,a0,a1 + aa332: 00153513 seqz a0,a0 + aa336: 00044097 auipc ra,0x44 + aa33a: 7ca080e7 jalr 1994(ra) # eeb00 + aa33e: 002a4583 lbu a1,2(s4) + aa342: 8d26 mv s10,s1 + aa344: 00a474b3 and s1,s0,a0 + aa348: 0ffcf513 zext.b a0,s9 + aa34c: 8d2d xor a0,a0,a1 + aa34e: 00153513 seqz a0,a0 + aa352: 00044097 auipc ra,0x44 + aa356: 7ae080e7 jalr 1966(ra) # eeb00 + aa35a: 003a4583 lbu a1,3(s4) + aa35e: 842a mv s0,a0 + aa360: 01014503 lbu a0,16(sp) + aa364: 8d2d xor a0,a0,a1 + aa366: 00153513 seqz a0,a0 + aa36a: 00044097 auipc ra,0x44 + aa36e: 796080e7 jalr 1942(ra) # eeb00 + aa372: 004a4583 lbu a1,4(s4) + aa376: 8d61 and a0,a0,s0 + aa378: 8ce9 and s1,s1,a0 + aa37a: 01414503 lbu a0,20(sp) + aa37e: 8d2d xor a0,a0,a1 + aa380: 00153513 seqz a0,a0 + aa384: 00044097 auipc ra,0x44 + aa388: 77c080e7 jalr 1916(ra) # eeb00 + aa38c: 005a4583 lbu a1,5(s4) + aa390: 842a mv s0,a0 + aa392: 01814503 lbu a0,24(sp) + aa396: 8d2d xor a0,a0,a1 + aa398: 00153513 seqz a0,a0 + aa39c: 00044097 auipc ra,0x44 + aa3a0: 764080e7 jalr 1892(ra) # eeb00 + aa3a4: 006a4583 lbu a1,6(s4) + aa3a8: 8c69 and s0,s0,a0 + aa3aa: 01c14503 lbu a0,28(sp) + aa3ae: 8d2d xor a0,a0,a1 + aa3b0: 00153513 seqz a0,a0 + aa3b4: 00044097 auipc ra,0x44 + aa3b8: 74c080e7 jalr 1868(ra) # eeb00 + aa3bc: 007a4583 lbu a1,7(s4) + aa3c0: 8d61 and a0,a0,s0 + aa3c2: 8ce9 and s1,s1,a0 + aa3c4: 02014503 lbu a0,32(sp) + aa3c8: 8d2d xor a0,a0,a1 + aa3ca: 00153513 seqz a0,a0 + aa3ce: 00044097 auipc ra,0x44 + aa3d2: 732080e7 jalr 1842(ra) # eeb00 + aa3d6: 008a4583 lbu a1,8(s4) + aa3da: 842a mv s0,a0 + aa3dc: 02414503 lbu a0,36(sp) + aa3e0: 8d2d xor a0,a0,a1 + aa3e2: 00153513 seqz a0,a0 + aa3e6: 00044097 auipc ra,0x44 + aa3ea: 71a080e7 jalr 1818(ra) # eeb00 + aa3ee: 009a4583 lbu a1,9(s4) + aa3f2: 8c69 and s0,s0,a0 + aa3f4: 02814503 lbu a0,40(sp) + aa3f8: 8d2d xor a0,a0,a1 + aa3fa: 00153513 seqz a0,a0 + aa3fe: 00044097 auipc ra,0x44 + aa402: 702080e7 jalr 1794(ra) # eeb00 + aa406: 00aa4583 lbu a1,10(s4) + aa40a: 8c69 and s0,s0,a0 + aa40c: 02c14503 lbu a0,44(sp) + aa410: 8d2d xor a0,a0,a1 + aa412: 00153513 seqz a0,a0 + aa416: 00044097 auipc ra,0x44 + aa41a: 6ea080e7 jalr 1770(ra) # eeb00 + aa41e: 00ba4583 lbu a1,11(s4) + aa422: 8d61 and a0,a0,s0 + aa424: 8ce9 and s1,s1,a0 + aa426: 03014503 lbu a0,48(sp) + aa42a: 8d2d xor a0,a0,a1 + aa42c: 00153513 seqz a0,a0 + aa430: 00044097 auipc ra,0x44 + aa434: 6d0080e7 jalr 1744(ra) # eeb00 + aa438: 00ca4583 lbu a1,12(s4) + aa43c: 842a mv s0,a0 + aa43e: 03414503 lbu a0,52(sp) + aa442: 8d2d xor a0,a0,a1 + aa444: 00153513 seqz a0,a0 + aa448: 00044097 auipc ra,0x44 + aa44c: 6b8080e7 jalr 1720(ra) # eeb00 + aa450: 00da4583 lbu a1,13(s4) + aa454: 8c69 and s0,s0,a0 + aa456: 03814503 lbu a0,56(sp) + aa45a: 8d2d xor a0,a0,a1 + aa45c: 00153513 seqz a0,a0 + aa460: 00044097 auipc ra,0x44 + aa464: 6a0080e7 jalr 1696(ra) # eeb00 + aa468: 00ea4583 lbu a1,14(s4) + aa46c: 8c69 and s0,s0,a0 + aa46e: 03c14503 lbu a0,60(sp) + aa472: 8d2d xor a0,a0,a1 + aa474: 00153513 seqz a0,a0 + aa478: 00044097 auipc ra,0x44 + aa47c: 688080e7 jalr 1672(ra) # eeb00 + aa480: 00fa4583 lbu a1,15(s4) + aa484: 8c69 and s0,s0,a0 + aa486: 00c14503 lbu a0,12(sp) + aa48a: 8d2d xor a0,a0,a1 + aa48c: 00153513 seqz a0,a0 + aa490: 00044097 auipc ra,0x44 + aa494: 670080e7 jalr 1648(ra) # eeb00 + aa498: 8d61 and a0,a0,s0 + aa49a: 8d65 and a0,a0,s1 + aa49c: 84ea mv s1,s10 + aa49e: 8905 andi a0,a0,1 + aa4a0: a8b1 j aa4fc <.LBB549_30+0x22> + aa4a2: 06a10823 sb a0,112(sp) + aa4a6: 1888 addi a0,sp,112 + aa4a8: ccaa sw a0,88(sp) + aa4aa: 4505 li a0,1 + aa4ac: ceaa sw a0,92(sp) + aa4ae: 7fc00513 li a0,2044 + aa4b2: d0aa sw a0,96(sp) + aa4b4: 08ac addi a1,sp,88 + aa4b6: 4605 li a2,1 + aa4b8: 8526 mv a0,s1 + aa4ba: 00000097 auipc ra,0x0 + aa4be: 5c8080e7 jalr 1480(ra) # aaa82 ::transaction> + aa4c2: 0ff57513 zext.b a0,a0 + aa4c6: 050a slli a0,a0,0x2 + aa4c8: 000115b7 lui a1,0x11 + aa4cc: 49058593 addi a1,a1,1168 # 11490 <.LJTI549_0> + aa4d0: 952e add a0,a0,a1 + aa4d2: 4108 lw a0,0(a0) + aa4d4: 0f200413 li s0,242 + aa4d8: 8502 jr a0 + +000aa4da <.LBB549_30>: + aa4da: 02800413 li s0,40 + aa4de: b9ad j aa158 <.LBB549_2> + aa4e0: 0f200413 li s0,242 + aa4e4: c6058ae3 beqz a1,aa158 <.LBB549_2> + aa4e8: 4585 li a1,1 + aa4ea: fff8b097 auipc ra,0xfff8b + aa4ee: e28080e7 jalr -472(ra) # 35312 <__rust_dealloc> + aa4f2: b19d j aa158 <.LBB549_2> + aa4f4: 03100413 li s0,49 + aa4f8: b185 j aa158 <.LBB549_2> + aa4fa: 4501 li a0,0 + aa4fc: 00044097 auipc ra,0x44 + aa500: 604080e7 jalr 1540(ra) # eeb00 + aa504: 0ff57513 zext.b a0,a0 + aa508: c51d beqz a0,aa536 <.LBB549_30+0x5c> + aa50a: c499 beqz s1,aa518 <.LBB549_30+0x3e> + aa50c: 4585 li a1,1 + aa50e: 8552 mv a0,s4 + aa510: fff8b097 auipc ra,0xfff8b + aa514: e02080e7 jalr -510(ra) # 35312 <__rust_dealloc> + aa518: 8556 mv a0,s5 + aa51a: 00000097 auipc ra,0x0 + aa51e: b50080e7 jalr -1200(ra) # aa06a + aa522: 8905 andi a0,a0,1 + aa524: e171 bnez a0,aa5e8 <.LBB549_30+0x10e> + aa526: 004b2583 lw a1,4(s6) + aa52a: 4481 li s1,0 + aa52c: 0a090023 sb zero,160(s2) + aa530: c2059ae3 bnez a1,aa164 <.LBB549_2+0xc> + aa534: b175 j aa1e0 <.LBB549_2+0x88> + # begin ct_eq eval & debug print + aa536: 0011d537 lui a0,0x11d + aa53a: cd452503 lw a0,-812(a0) # 11ccd4 + aa53e: 4591 li a1,4 + aa540: 04a5fc63 bgeu a1,a0,aa598 <.LBB549_30+0xbe> + aa544: 0088 addi a0,sp,64 + aa546: 85d2 mv a1,s4 + aa548: 865e mv a2,s7 + aa54a: 00004097 auipc ra,0x4 + aa54e: 494080e7 jalr 1172(ra) # ae9de <<[T] as subtle::ConstantTimeEq>::ct_eq> + aa552: 0ff57513 zext.b a0,a0 + aa556: 00a03533 snez a0,a0 + aa55a: 06a10da3 sb a0,123(sp) + aa55e: 07b10513 addi a0,sp,123 + aa562: d8aa sw a0,112(sp) + aa564: 00111537 lui a0,0x111 + aa568: f5250513 addi a0,a0,-174 # 110f52 <::fmt.2128> + aa56c: daaa sw a0,116(sp) + aa56e: 00020537 lui a0,0x20 + aa572: 4cc50513 addi a0,a0,1228 # 204cc <.Lanon.2a07d538331e3edaa7271c55a21c2770.308> + aa576: ccaa sw a0,88(sp) + aa578: 4505 li a0,1 + aa57a: ceaa sw a0,92(sp) + aa57c: d482 sw zero,104(sp) + aa57e: 188c addi a1,sp,112 + aa580: d0ae sw a1,96(sp) + aa582: d2aa sw a0,100(sp) + aa584: 00020537 lui a0,0x20 + aa588: 50c50613 addi a2,a0,1292 # 2050c <.Lanon.2a07d538331e3edaa7271c55a21c2770.311> + aa58c: 08a8 addi a0,sp,88 + aa58e: 4595 li a1,5 + aa590: fffb6097 auipc ra,0xfffb6 + aa594: 0c2080e7 jalr 194(ra) # 60652 + # end ct_eq eval & debug print + aa598: 0ff9f593 zext.b a1,s3 + aa59c: 4605 li a2,1 + aa59e: 02000513 li a0,32 + aa5a2: 00c58463 beq a1,a2,aa5aa <.LBB549_30+0xd0> + aa5a6: 06000513 li a0,96 + aa5aa: 954a add a0,a0,s2 + aa5ac: 00004097 auipc ra,0x4 + aa5b0: 2d6080e7 jalr 726(ra) # ae882 + aa5b4: 8556 mv a0,s5 + aa5b6: fffff097 auipc ra,0xfffff + aa5ba: 5fe080e7 jalr 1534(ra) # a9bb4 + aa5be: 8905 andi a0,a0,1 + aa5c0: 842e mv s0,a1 + aa5c2: ed0d bnez a0,aa5fc <.LBB549_50+0xa> + aa5c4: 0ff47513 zext.b a0,s0 + aa5c8: c905 beqz a0,aa5f8 <.LBB549_50+0x6> + aa5ca: 0a090503 lb a0,160(s2) + aa5ce: 0505 addi a0,a0,1 + aa5d0: 0ff57593 zext.b a1,a0 + aa5d4: 0aa90023 sb a0,160(s2) + aa5d8: 4509 li a0,2 + aa5da: 03400413 li s0,52 + aa5de: 00b56f63 bltu a0,a1,aa5fc <.LBB549_50+0xa> + aa5e2: 03100413 li s0,49 + aa5e6: a819 j aa5fc <.LBB549_50+0xa> + aa5e8: 842e mv s0,a1 + aa5ea: b6bd j aa158 <.LBB549_2> + +000aa5ec <.LBB549_49>: + aa5ec: 07f00413 li s0,127 + aa5f0: b6a5 j aa158 <.LBB549_2> + +000aa5f2 <.LBB549_50>: + aa5f2: 0f300413 li s0,243 + aa5f6: b68d j aa158 <.LBB549_2> + aa5f8: 03200413 li s0,50 + aa5fc: b4048ee3 beqz s1,aa158 <.LBB549_2> + aa600: 4585 li a1,1 + aa602: 8552 mv a0,s4 + aa604: fff8b097 auipc ra,0xfff8b + aa608: d0e080e7 jalr -754(ra) # 35312 <__rust_dealloc> + aa60c: b6b1 j aa158 <.LBB549_2> + aa60e: 0002b537 lui a0,0x2b + aa612: b8450513 addi a0,a0,-1148 # 2ab84 <.Lanon.77d58145572983627de21c6b4eb0fd6d.105> + aa616: 0a200593 li a1,162 + aa61a: fff95097 auipc ra,0xfff95 + aa61e: 78a080e7 jalr 1930(ra) # 3fda4 + ... + +000aa624 : + +############ This routine fails +000aa094 : + aa094: 7119 addi sp,sp,-128 + aa096: de86 sw ra,124(sp) + aa098: dca2 sw s0,120(sp) + aa09a: daa6 sw s1,116(sp) + aa09c: d8ca sw s2,112(sp) + aa09e: d6ce sw s3,108(sp) + aa0a0: d4d2 sw s4,104(sp) + aa0a2: d2d6 sw s5,100(sp) + aa0a4: d0da sw s6,96(sp) + aa0a6: cede sw s7,92(sp) + aa0a8: cce2 sw s8,88(sp) + aa0aa: cae6 sw s9,84(sp) + aa0ac: c8ea sw s10,80(sp) + aa0ae: c6ee sw s11,76(sp) + aa0b0: 8b3e mv s6,a5 + aa0b2: 8bba mv s7,a4 + aa0b4: 8a36 mv s4,a3 + aa0b6: 89b2 mv s3,a2 + aa0b8: 8aae mv s5,a1 + aa0ba: 892a mv s2,a0 + aa0bc: 04058493 addi s1,a1,64 + aa0c0: 1828 addi a0,sp,56 + aa0c2: 7fd00613 li a2,2045 + aa0c6: 85a6 mv a1,s1 + aa0c8: fffe3097 auipc ra,0xfffe3 + aa0cc: 2d4080e7 jalr 724(ra) # 8d39c ::find> + aa0d0: 03814503 lbu a0,56(sp) + aa0d4: c905 beqz a0,aa104 <.LBB549_2+0x1c> + aa0d6: 03914503 lbu a0,57(sp) + aa0da: 0002f5b7 lui a1,0x2f + aa0de: f4d58593 addi a1,a1,-179 # 2ef4d <.Lswitch.table.vault::ctap::client_pin::ClientPin::verify_pin_hash_enc> + aa0e2: 952e add a0,a0,a1 + aa0e4: 00050403 lb s0,0(a0) + +000aa0e8 <.LBB549_2>: + aa0e8: 004b2503 lw a0,4(s6) + aa0ec: c149 beqz a0,aa16e <.LBB549_2+0x86> + aa0ee: 000b2c83 lw s9,0(s6) + aa0f2: 4485 li s1,1 + aa0f4: 4585 li a1,1 + aa0f6: 8566 mv a0,s9 + aa0f8: fff8b097 auipc ra,0xfff8b + aa0fc: 1aa080e7 jalr 426(ra) # 352a2 <__rust_dealloc> + aa100: 8526 mv a0,s1 + aa102: a0bd j aa170 <.LBB549_2+0x88> + aa104: 5572 lw a0,60(sp) + aa106: c549 beqz a0,aa190 <.LBB549_2+0xa8> + aa108: 4416 lw s0,68(sp) + aa10a: 4586 lw a1,64(sp) + aa10c: 4645 li a2,17 + aa10e: 08c41463 bne s0,a2,aa196 <.LBB549_2+0xae> + aa112: 01050d83 lb s11,16(a0) + aa116: 00f50603 lb a2,15(a0) + aa11a: c232 sw a2,4(sp) + aa11c: 00e50603 lb a2,14(a0) + aa120: c432 sw a2,8(sp) + aa122: 00d50603 lb a2,13(a0) + aa126: c632 sw a2,12(sp) + aa128: 00c50603 lb a2,12(a0) + aa12c: c832 sw a2,16(sp) + aa12e: 00b50603 lb a2,11(a0) + aa132: ca32 sw a2,20(sp) + aa134: 00a50603 lb a2,10(a0) + aa138: cc32 sw a2,24(sp) + aa13a: 00950603 lb a2,9(a0) + aa13e: ce32 sw a2,28(sp) + aa140: 00850603 lb a2,8(a0) + aa144: d032 sw a2,32(sp) + aa146: 00750603 lb a2,7(a0) + aa14a: d232 sw a2,36(sp) + aa14c: 00650603 lb a2,6(a0) + aa150: d432 sw a2,40(sp) + aa152: 00550603 lb a2,5(a0) + aa156: d632 sw a2,44(sp) + aa158: 00450d03 lb s10,4(a0) + aa15c: 00350603 lb a2,3(a0) + aa160: d832 sw a2,48(sp) + aa162: 00250c83 lb s9,2(a0) + aa166: 00150c03 lb s8,1(a0) + aa16a: e98d bnez a1,aa19c <.LBB549_2+0xb4> + aa16c: a82d j aa1a6 <.LBB549_2+0xbe> + aa16e: 4505 li a0,1 + aa170: 85a2 mv a1,s0 + aa172: 50f6 lw ra,124(sp) + aa174: 5466 lw s0,120(sp) + aa176: 54d6 lw s1,116(sp) + aa178: 5946 lw s2,112(sp) + aa17a: 59b6 lw s3,108(sp) + aa17c: 5a26 lw s4,104(sp) + aa17e: 5a96 lw s5,100(sp) + aa180: 5b06 lw s6,96(sp) + aa182: 4bf6 lw s7,92(sp) + aa184: 4c66 lw s8,88(sp) + aa186: 4cd6 lw s9,84(sp) + aa188: 4d46 lw s10,80(sp) + aa18a: 4db6 lw s11,76(sp) + aa18c: 6109 addi sp,sp,128 + aa18e: 8082 ret + aa190: 03600413 li s0,54 + aa194: bf91 j aa0e8 <.LBB549_2> + aa196: 0f200c13 li s8,242 + aa19a: c591 beqz a1,aa1a6 <.LBB549_2+0xbe> + aa19c: 4585 li a1,1 + aa19e: fff8b097 auipc ra,0xfff8b + aa1a2: 104080e7 jalr 260(ra) # 352a2 <__rust_dealloc> + aa1a6: 4545 li a0,17 + aa1a8: 02a41e63 bne s0,a0,aa1e4 <.LBB549_2+0xfc> + aa1ac: 0a094503 lbu a0,160(s2) + aa1b0: 4589 li a1,2 + aa1b2: 03400413 li s0,52 + aa1b6: f2a5e9e3 bltu a1,a0,aa0e8 <.LBB549_2> + aa1ba: 1828 addi a0,sp,56 + aa1bc: 7fc00613 li a2,2044 + aa1c0: 85a6 mv a1,s1 + aa1c2: fffe3097 auipc ra,0xfffe3 + aa1c6: 1da080e7 jalr 474(ra) # 8d39c ::find> + aa1ca: 03814503 lbu a0,56(sp) + aa1ce: cd09 beqz a0,aa1e8 <.LBB549_2+0x100> + aa1d0: 03914503 lbu a0,57(sp) + aa1d4: 0002f5b7 lui a1,0x2f + aa1d8: f5258593 addi a1,a1,-174 # 2ef52 <.Lswitch.table.vault::ctap::client_pin::ClientPin::verify_pin_hash_enc.2445> + aa1dc: 952e add a0,a0,a1 + aa1de: 00054403 lbu s0,0(a0) + aa1e2: b719 j aa0e8 <.LBB549_2> + aa1e4: 8462 mv s0,s8 + aa1e6: b709 j aa0e8 <.LBB549_2> + aa1e8: 5572 lw a0,60(sp) + aa1ea: cd19 beqz a0,aa208 <.LBB549_2+0x120> + aa1ec: 4616 lw a2,68(sp) + aa1ee: 4586 lw a1,64(sp) + aa1f0: 4685 li a3,1 + aa1f2: 22d61163 bne a2,a3,aa414 <.LBB549_30+0x6> + aa1f6: 00054403 lbu s0,0(a0) + aa1fa: c981 beqz a1,aa20a <.LBB549_2+0x122> + aa1fc: 4585 li a1,1 + aa1fe: fff8b097 auipc ra,0xfff8b + aa202: 0a4080e7 jalr 164(ra) # 352a2 <__rust_dealloc> + aa206: a011 j aa20a <.LBB549_2+0x122> + aa208: 4421 li s0,8 + aa20a: fff40513 addi a0,s0,-1 + aa20e: 00a435b3 sltu a1,s0,a0 + aa212: 15fd addi a1,a1,-1 + aa214: 8d6d and a0,a0,a1 + aa216: 1a851f63 bne a0,s0,aa3d4 <.LBB549_24+0x1ba> + +000aa21a <.LBB549_24>: + aa21a: 008b2683 lw a3,8(s6) + aa21e: 2c06c163 bltz a3,aa4e0 <.LBB549_48+0x1c> + aa222: 8466 mv s0,s9 + aa224: 000b2c83 lw s9,0(s6) + aa228: 010ba703 lw a4,16(s7) + aa22c: 1828 addi a0,sp,56 + aa22e: 85d2 mv a1,s4 + aa230: 8666 mv a2,s9 + aa232: 9702 jalr a4 + aa234: 5a62 lw s4,56(sp) + aa236: 1e0a0963 beqz s4,aa428 <.LBB549_30+0x1a> + aa23a: 4506 lw a0,64(sp) + aa23c: 2a054263 bltz a0,aa4e0 <.LBB549_48+0x1c> + aa240: 54f2 lw s1,60(sp) + aa242: 45c1 li a1,16 + aa244: 1eb51563 bne a0,a1,aa42e <.LBB549_30+0x20> + aa248: 866a mv a2,s10 + aa24a: 0ffdf513 zext.b a0,s11 + aa24e: c02a sw a0,0(sp) + aa250: 02c14d03 lbu s10,44(sp) + aa254: 0ff67b93 zext.b s7,a2 + aa258: 000a4503 lbu a0,0(s4) + aa25c: d626 sw s1,44(sp) + aa25e: 03014483 lbu s1,48(sp) + aa262: 0ff47d93 zext.b s11,s0 + aa266: 0ffc7593 zext.b a1,s8 + aa26a: 8d2d xor a0,a0,a1 + aa26c: 00153513 seqz a0,a0 + aa270: 00044097 auipc ra,0x44 + aa274: 588080e7 jalr 1416(ra) # ee7f8 + aa278: 001a4583 lbu a1,1(s4) + aa27c: 842a mv s0,a0 + aa27e: 00bdc533 xor a0,s11,a1 + aa282: 00153513 seqz a0,a0 + aa286: 00044097 auipc ra,0x44 + aa28a: 572080e7 jalr 1394(ra) # ee7f8 + aa28e: 002a4583 lbu a1,2(s4) + aa292: 00a47c33 and s8,s0,a0 + aa296: 8da5 xor a1,a1,s1 + aa298: 0015b513 seqz a0,a1 + aa29c: 00044097 auipc ra,0x44 + aa2a0: 55c080e7 jalr 1372(ra) # ee7f8 + aa2a4: 003a4583 lbu a1,3(s4) + aa2a8: 842a mv s0,a0 + aa2aa: 00bbc533 xor a0,s7,a1 + aa2ae: 00153513 seqz a0,a0 + aa2b2: 00044097 auipc ra,0x44 + aa2b6: 546080e7 jalr 1350(ra) # ee7f8 + aa2ba: 004a4583 lbu a1,4(s4) + aa2be: 8d61 and a0,a0,s0 + aa2c0: 00ac74b3 and s1,s8,a0 + aa2c4: 00bd4533 xor a0,s10,a1 + aa2c8: 00153513 seqz a0,a0 + aa2cc: 00044097 auipc ra,0x44 + aa2d0: 52c080e7 jalr 1324(ra) # ee7f8 + aa2d4: 005a4583 lbu a1,5(s4) + aa2d8: 842a mv s0,a0 + aa2da: 5522 lw a0,40(sp) + aa2dc: 8d2d xor a0,a0,a1 + aa2de: 00153513 seqz a0,a0 + aa2e2: 00044097 auipc ra,0x44 + aa2e6: 516080e7 jalr 1302(ra) # ee7f8 + aa2ea: 006a4583 lbu a1,6(s4) + aa2ee: 8c69 and s0,s0,a0 + aa2f0: 5512 lw a0,36(sp) + aa2f2: 8d2d xor a0,a0,a1 + aa2f4: 00153513 seqz a0,a0 + aa2f8: 00044097 auipc ra,0x44 + aa2fc: 500080e7 jalr 1280(ra) # ee7f8 + aa300: 007a4583 lbu a1,7(s4) + aa304: 8d61 and a0,a0,s0 + aa306: 8ce9 and s1,s1,a0 + aa308: 5502 lw a0,32(sp) + aa30a: 8d2d xor a0,a0,a1 + aa30c: 00153513 seqz a0,a0 + aa310: 00044097 auipc ra,0x44 + aa314: 4e8080e7 jalr 1256(ra) # ee7f8 + aa318: 008a4583 lbu a1,8(s4) + aa31c: 842a mv s0,a0 + aa31e: 4572 lw a0,28(sp) + aa320: 8d2d xor a0,a0,a1 + aa322: 00153513 seqz a0,a0 + aa326: 00044097 auipc ra,0x44 + aa32a: 4d2080e7 jalr 1234(ra) # ee7f8 + aa32e: 009a4583 lbu a1,9(s4) + aa332: 8c69 and s0,s0,a0 + aa334: 4562 lw a0,24(sp) + aa336: 8d2d xor a0,a0,a1 + aa338: 00153513 seqz a0,a0 + aa33c: 00044097 auipc ra,0x44 + aa340: 4bc080e7 jalr 1212(ra) # ee7f8 + aa344: 00aa4583 lbu a1,10(s4) + aa348: 8c69 and s0,s0,a0 + aa34a: 4552 lw a0,20(sp) + aa34c: 8d2d xor a0,a0,a1 + aa34e: 00153513 seqz a0,a0 + aa352: 00044097 auipc ra,0x44 + aa356: 4a6080e7 jalr 1190(ra) # ee7f8 + aa35a: 00ba4583 lbu a1,11(s4) + aa35e: 8d61 and a0,a0,s0 + aa360: 8ce9 and s1,s1,a0 + aa362: 4542 lw a0,16(sp) + aa364: 8d2d xor a0,a0,a1 + aa366: 00153513 seqz a0,a0 + aa36a: 00044097 auipc ra,0x44 + aa36e: 48e080e7 jalr 1166(ra) # ee7f8 + aa372: 00ca4583 lbu a1,12(s4) + aa376: 842a mv s0,a0 + aa378: 4532 lw a0,12(sp) + aa37a: 8d2d xor a0,a0,a1 + aa37c: 00153513 seqz a0,a0 + aa380: 00044097 auipc ra,0x44 + aa384: 478080e7 jalr 1144(ra) # ee7f8 + aa388: 00da4583 lbu a1,13(s4) + aa38c: 8c69 and s0,s0,a0 + aa38e: 4522 lw a0,8(sp) + aa390: 8d2d xor a0,a0,a1 + aa392: 00153513 seqz a0,a0 + aa396: 00044097 auipc ra,0x44 + aa39a: 462080e7 jalr 1122(ra) # ee7f8 + aa39e: 00ea4583 lbu a1,14(s4) + aa3a2: 8c69 and s0,s0,a0 + aa3a4: 4512 lw a0,4(sp) + aa3a6: 8d2d xor a0,a0,a1 + aa3a8: 00153513 seqz a0,a0 + aa3ac: 00044097 auipc ra,0x44 + aa3b0: 44c080e7 jalr 1100(ra) # ee7f8 + aa3b4: 00fa4583 lbu a1,15(s4) + aa3b8: 8c69 and s0,s0,a0 + aa3ba: 4502 lw a0,0(sp) + aa3bc: 8d2d xor a0,a0,a1 + aa3be: 00153513 seqz a0,a0 + aa3c2: 00044097 auipc ra,0x44 + aa3c6: 436080e7 jalr 1078(ra) # ee7f8 + aa3ca: 8d61 and a0,a0,s0 + aa3cc: 8d65 and a0,a0,s1 + aa3ce: 54b2 lw s1,44(sp) + aa3d0: 8905 andi a0,a0,1 + aa3d2: a8b9 j aa430 <.LBB549_30+0x22> + aa3d4: 02a10ba3 sb a0,55(sp) + aa3d8: 03710513 addi a0,sp,55 + aa3dc: dc2a sw a0,56(sp) + aa3de: 4505 li a0,1 + aa3e0: de2a sw a0,60(sp) + aa3e2: 7fc00513 li a0,2044 + aa3e6: c0aa sw a0,64(sp) + aa3e8: 182c addi a1,sp,56 + aa3ea: 4605 li a2,1 + aa3ec: 8526 mv a0,s1 + aa3ee: 00000097 auipc ra,0x0 + aa3f2: 566080e7 jalr 1382(ra) # aa954 ::transaction> + aa3f6: 0ff57513 zext.b a0,a0 + aa3fa: 050a slli a0,a0,0x2 + aa3fc: 000115b7 lui a1,0x11 + aa400: 49058593 addi a1,a1,1168 # 11490 <.LJTI549_0> + aa404: 952e add a0,a0,a1 + aa406: 4108 lw a0,0(a0) + aa408: 0f200413 li s0,242 + aa40c: 8502 jr a0 + +000aa40e <.LBB549_30>: + aa40e: 02800413 li s0,40 + aa412: b9d9 j aa0e8 <.LBB549_2> + aa414: 0f200413 li s0,242 + aa418: cc0588e3 beqz a1,aa0e8 <.LBB549_2> + aa41c: 4585 li a1,1 + aa41e: fff8b097 auipc ra,0xfff8b + aa422: e84080e7 jalr -380(ra) # 352a2 <__rust_dealloc> + aa426: b1c9 j aa0e8 <.LBB549_2> + aa428: 03100413 li s0,49 + aa42c: b975 j aa0e8 <.LBB549_2> + aa42e: 4501 li a0,0 + aa430: 00044097 auipc ra,0x44 + aa434: 3c8080e7 jalr 968(ra) # ee7f8 + aa438: 0ff57513 zext.b a0,a0 + aa43c: c51d beqz a0,aa46a <.LBB549_30+0x5c> + aa43e: c499 beqz s1,aa44c <.LBB549_30+0x3e> + aa440: 4585 li a1,1 + aa442: 8552 mv a0,s4 + aa444: fff8b097 auipc ra,0xfff8b + aa448: e5e080e7 jalr -418(ra) # 352a2 <__rust_dealloc> + aa44c: 8556 mv a0,s5 + aa44e: 00000097 auipc ra,0x0 + aa452: bac080e7 jalr -1108(ra) # a9ffa + aa456: 8905 andi a0,a0,1 + aa458: e12d bnez a0,aa4ba <.LBB549_30+0xac> + aa45a: 004b2583 lw a1,4(s6) + aa45e: 4481 li s1,0 + aa460: 0a090023 sb zero,160(s2) + aa464: c80598e3 bnez a1,aa0f4 <.LBB549_2+0xc> + aa468: b321 j aa170 <.LBB549_2+0x88> + # begin missing ct_eq routine + # end missing ct_eq routine + aa46a: 0ff9f593 zext.b a1,s3 + aa46e: 4605 li a2,1 + aa470: 02000513 li a0,32 + aa474: 00c58463 beq a1,a2,aa47c <.LBB549_30+0x6e> + aa478: 06000513 li a0,96 + aa47c: 954a add a0,a0,s2 + aa47e: 00004097 auipc ra,0x4 + aa482: 2d6080e7 jalr 726(ra) # ae754 + aa486: 8556 mv a0,s5 + aa488: fffff097 auipc ra,0xfffff + aa48c: 6bc080e7 jalr 1724(ra) # a9b44 + aa490: 8905 andi a0,a0,1 + aa492: 842e mv s0,a1 + aa494: ed0d bnez a0,aa4ce <.LBB549_48+0xa> + aa496: 0ff47513 zext.b a0,s0 + aa49a: c905 beqz a0,aa4ca <.LBB549_48+0x6> + aa49c: 0a090503 lb a0,160(s2) + aa4a0: 0505 addi a0,a0,1 + aa4a2: 0ff57593 zext.b a1,a0 + aa4a6: 0aa90023 sb a0,160(s2) + aa4aa: 4509 li a0,2 + aa4ac: 03400413 li s0,52 + aa4b0: 00b56f63 bltu a0,a1,aa4ce <.LBB549_48+0xa> + aa4b4: 03100413 li s0,49 + aa4b8: a819 j aa4ce <.LBB549_48+0xa> + aa4ba: 842e mv s0,a1 + aa4bc: b135 j aa0e8 <.LBB549_2> + +000aa4be <.LBB549_47>: + aa4be: 07f00413 li s0,127 + aa4c2: b11d j aa0e8 <.LBB549_2> + +000aa4c4 <.LBB549_48>: + aa4c4: 0f300413 li s0,243 + aa4c8: b105 j aa0e8 <.LBB549_2> + aa4ca: 03200413 li s0,50 + aa4ce: c0048de3 beqz s1,aa0e8 <.LBB549_2> + aa4d2: 4585 li a1,1 + aa4d4: 8552 mv a0,s4 + aa4d6: fff8b097 auipc ra,0xfff8b + aa4da: dcc080e7 jalr -564(ra) # 352a2 <__rust_dealloc> + aa4de: b129 j aa0e8 <.LBB549_2> + aa4e0: 0002b537 lui a0,0x2b + aa4e4: b1450513 addi a0,a0,-1260 # 2ab14 <.Lanon.77d58145572983627de21c6b4eb0fd6d.105> + aa4e8: 0a200593 li a1,162 + aa4ec: fff96097 auipc ra,0xfff96 + aa4f0: 848080e7 jalr -1976(ra) # 3fd34 + ... + +000aa4f6 : \ No newline at end of file