File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
00289f80
00289f80math/big.nat.make: ; void math/big.nat.make(math/big.nat z, int n)
00289f80ldr x16, [x28+16]
00289f84subs xzr, sp, x16
00289f88b.ls 0x28a0b0
00289f8cstr x30, [sp-96]!
00289f90stur x29, [sp-8]
00289f94sub x29, sp, 8
00289f98str x0, [sp+104]
00289f9cstr x1, [sp+112]
00289fa0str x2, [sp+120]
00289fa4str x3, [sp+128]
00289fa8str xzr, [sp+40]
00289facstp xzr, xzr, [sp+48]
00289fb0ldr x3, [sp+120]
00289fb4str x3, [sp+32]
00289fb8ldr x4, [sp+128]
00289fbcsubs xzr, x3, x4
00289fc0b.ge 0x289fc8
00289fc4b 0x28a008
00289fc8
00289fc8loc_289fc8:
00289fc8ldr x1, [sp+128]
00289fccldr x2, [sp+120]
00289fd0ldr x0, [sp+104]
00289fd4subs xzr, x2, x1
00289fd8b.hs 0x289fe0
00289fdcb 0x28a0a8
00289fe0
00289fe0loc_289fe0:
00289fe0b 0x289fe4
00289fe4
00289fe4loc_289fe4:
00289fe4str x0, [sp+64]
00289fe8str x1, [sp+72]
00289fecstr x2, [sp+80]
00289ff0str x0, [sp+40]
00289ff4str x1, [sp+48]
00289ff8str x2, [sp+56]
00289ffcldur x29, [sp-8]
0028a000ldr x30, [sp], 96
0028a004ret x30
0028a008
0028a008loc_28a008:
0028a008ldr x3, [sp+128]
0028a00csubs xzr, x3, 1
0028a010b.eq 0x28a018
0028a014b 0x28a05c
0028a018
0028a018loc_28a018:
0028a018adrp x0, 0x36c000
0028a01cadd x0, x0, 2624
0028a020orr x1, xzr, 1
0028a024mov x2, x1
0028a028bl runtime.makeslice
0028a02cstr x0, [sp+64]
0028a030orr x2, xzr, 1
0028a034str x2, [sp+72]
0028a038str x2, [sp+80]
0028a03cstr x0, [sp+40]
0028a040str x2, [sp+48]
0028a044str x2, [sp+56]
0028a048ldr x0, [sp+40]
0028a04cmov x1, x2
0028a050ldur x29, [sp-8]
0028a054ldr x30, [sp], 96
0028a058ret x30
0028a05c
0028a05cloc_28a05c:
0028a05cldr x1, [sp+128]
0028a060ldr x3, [sp+128]
0028a064add x2, x3, 4
0028a068adrp x0, 0x36c000
0028a06cadd x0, x0, 2624
0028a070bl runtime.makeslice
0028a074ldr x1, [sp+128]
0028a078ldr x3, [sp+128]
0028a07cstr x0, [sp+64]
0028a080str x1, [sp+72]
0028a084add x2, x3, 4
0028a088str x2, [sp+80]
0028a08cstr x0, [sp+40]
0028a090str x1, [sp+48]
0028a094str x2, [sp+56]
0028a098ldr x0, [sp+40]
0028a09cldur x29, [sp-8]
0028a0a0ldr x30, [sp], 96
0028a0a4ret x30
0028a0a8
0028a0a8loc_28a0a8:
0028a0a8bl runtime.panicSliceAcap
0028a0achint
0028a0b0
0028a0b0loc_28a0b0:
0028a0b0stp x0, x1, [sp+8]
0028a0b4stp x2, x3, [sp+24]
0028a0b8mov x3, x30
0028a0bcbl runtime.morestack_noctxt.abi0
0028a0c0ldp x0, x1, [sp+8]
0028a0c4ldp x2, x3, [sp+24]
0028a0c8b 0x289f80
0028a0ccudf 0
00289f80
00289f80math/big.nat.make: ; void math/big.nat.make(math/big.nat z, int n)
00289f80ldr x16, [x28+16]
00289f84subs xzr, sp, x16
00289f88b.ls 0x28a0b0
00289f8cstr x30, [sp-96]!
00289f90stur x29, [sp-8]
00289f94sub x29, sp, 8
00289f98str x0, [sp+104]
00289f9cstr x1, [sp+112]
00289fa0str x2, [sp+120]
00289fa4str x3, [sp+128]
00289fa8str xzr, [sp+40]
00289facstp xzr, xzr, [sp+48]
00289fb0ldr x3, [sp+120]
00289fb4str x3, [sp+32]
00289fb8ldr x4, [sp+128]
00289fbcsubs xzr, x3, x4
00289fc0b.ge 0x289fc8
00289fc4b 0x28a008
00289fc8
00289fc8loc_289fc8:
00289fc8ldr x1, [sp+128]
00289fccldr x2, [sp+120]
00289fd0ldr x0, [sp+104]
00289fd4subs xzr, x2, x1
00289fd8b.hs 0x289fe0
00289fdcb 0x28a0a8
00289fe0
00289fe0loc_289fe0:
00289fe0b 0x289fe4
00289fe4
00289fe4loc_289fe4:
00289fe4str x0, [sp+64]
00289fe8str x1, [sp+72]
00289fecstr x2, [sp+80]
00289ff0str x0, [sp+40]
00289ff4str x1, [sp+48]
00289ff8str x2, [sp+56]
00289ffcldur x29, [sp-8]
0028a000ldr x30, [sp], 96
0028a004ret x30
0028a008
0028a008loc_28a008:
0028a008ldr x3, [sp+128]
0028a00csubs xzr, x3, 1
0028a010b.eq 0x28a018
0028a014b 0x28a05c
0028a018
0028a018loc_28a018:
0028a018adrp x0, 0x36c000
0028a01cadd x0, x0, 2624
0028a020orr x1, xzr, 1
0028a024mov x2, x1
0028a028bl runtime.makeslice
0028a02cstr x0, [sp+64]
0028a030orr x2, xzr, 1
0028a034str x2, [sp+72]
0028a038str x2, [sp+80]
0028a03cstr x0, [sp+40]
0028a040str x2, [sp+48]
0028a044str x2, [sp+56]
0028a048ldr x0, [sp+40]
0028a04cmov x1, x2
0028a050ldur x29, [sp-8]
0028a054ldr x30, [sp], 96
0028a058ret x30
0028a05c
0028a05cloc_28a05c:
0028a05cldr x1, [sp+128]
0028a060ldr x3, [sp+128]
0028a064add x2, x3, 4
0028a068adrp x0, 0x36c000
0028a06cadd x0, x0, 2624
0028a070bl runtime.makeslice
0028a074ldr x1, [sp+128]
0028a078ldr x3, [sp+128]
0028a07cstr x0, [sp+64]
0028a080str x1, [sp+72]
0028a084add x2, x3, 4
0028a088str x2, [sp+80]
0028a08cstr x0, [sp+40]
0028a090str x1, [sp+48]
0028a094str x2, [sp+56]
0028a098ldr x0, [sp+40]
0028a09cldur x29, [sp-8]
0028a0a0ldr x30, [sp], 96
0028a0a4ret x30
0028a0a8
0028a0a8loc_28a0a8:
0028a0a8bl runtime.panicSliceAcap
0028a0achint
0028a0b0
0028a0b0loc_28a0b0:
0028a0b0stp x0, x1, [sp+8]
0028a0b4stp x2, x3, [sp+24]
0028a0b8mov x3, x30
0028a0bcbl runtime.morestack_noctxt.abi0
0028a0c0ldp x0, x1, [sp+8]
0028a0c4ldp x2, x3, [sp+24]
0028a0c8b 0x289f80
0028a0ccudf 0
00289f80
0028a0d0
0028a0d0math/big.nat.setWord: ; void math/big.nat.setWord(math/big.nat z, math/big.Word x)
0028a0d0ldr x16, [x28+16]
0028a0d4subs xzr, sp, x16
0028a0d8b.ls 0x28a1a8
0028a0dcstr x30, [sp-96]!
0028a0e0stur x29, [sp-8]
0028a0e4sub x29, sp, 8
0028a0e8str x0, [sp+104]
0028a0ecstr x1, [sp+112]
0028a0f0str x2, [sp+120]
0028a0f4str x3, [sp+128]
0028a0f8str xzr, [sp+40]
0028a0fcstp xzr, xzr, [sp+48]
0028a100ldr x4, [sp+128]
0028a104cbz x4, 0x28a10c
0028a108b 0x28a144
0028a10c
0028a10cloc_28a10c:
0028a10cldr x0, [sp+104]
0028a110ldr x2, [sp+120]
0028a114b 0x28a118
0028a118
0028a118loc_28a118:
0028a118b 0x28a11c
0028a11c
0028a11cloc_28a11c:
0028a11cstr x0, [sp+64]
0028a120str xzr, [sp+72]
0028a124str x2, [sp+80]
0028a128str x0, [sp+40]
0028a12cstr xzr, [sp+48]
0028a130str x2, [sp+56]
0028a134mov x1, xzr
0028a138ldur x29, [sp-8]
0028a13cldr x30, [sp], 96
0028a140ret x30
0028a144
0028a144loc_28a144:
0028a144ldr x0, [sp+104]
0028a148ldr x1, [sp+112]
0028a14cldr x2, [sp+120]
0028a150orr x3, xzr, 1
0028a154bl math/big.nat.make
0028a158str x0, [sp+104]
0028a15cstr x1, [sp+112]
0028a160str x2, [sp+120]
0028a164ldr x4, [sp+128]
0028a168subs xzr, x1, 0
0028a16cb.hi 0x28a174
0028a170b 0x28a19c
0028a174
0028a174loc_28a174:
0028a174str x4, [x0]
0028a178ldr x0, [sp+104]
0028a17cldr x1, [sp+112]
0028a180ldr x2, [sp+120]
0028a184str x0, [sp+40]
0028a188str x1, [sp+48]
0028a18cstr x2, [sp+56]
0028a190ldur x29, [sp-8]
0028a194ldr x30, [sp], 96
0028a198ret x30
0028a19c
0028a19cloc_28a19c:
0028a19cmov x0, xzr
0028a1a0bl runtime.panicIndex
0028a1a4hint
0028a1a8
0028a1a8loc_28a1a8:
0028a1a8stp x0, x1, [sp+8]
0028a1acstp x2, x3, [sp+24]
0028a1b0mov x3, x30
0028a1b4bl runtime.morestack_noctxt.abi0
0028a1b8ldp x0, x1, [sp+8]
0028a1bcldp x2, x3, [sp+24]
0028a1c0b 0x28a0d0
0028a1c4udf 0
0028a1c8udf 0
0028a1ccudf 0
0028a0d0
0028a0d0math/big.nat.setWord: ; void math/big.nat.setWord(math/big.nat z, math/big.Word x)
0028a0d0ldr x16, [x28+16]
0028a0d4subs xzr, sp, x16
0028a0d8b.ls 0x28a1a8
0028a0dcstr x30, [sp-96]!
0028a0e0stur x29, [sp-8]
0028a0e4sub x29, sp, 8
0028a0e8str x0, [sp+104]
0028a0ecstr x1, [sp+112]
0028a0f0str x2, [sp+120]
0028a0f4str x3, [sp+128]
0028a0f8str xzr, [sp+40]
0028a0fcstp xzr, xzr, [sp+48]
0028a100ldr x4, [sp+128]
0028a104cbz x4, 0x28a10c
0028a108b 0x28a144
0028a10c
0028a10cloc_28a10c:
0028a10cldr x0, [sp+104]
0028a110ldr x2, [sp+120]
0028a114b 0x28a118
0028a118
0028a118loc_28a118:
0028a118b 0x28a11c
0028a11c
0028a11cloc_28a11c:
0028a11cstr x0, [sp+64]
0028a120str xzr, [sp+72]
0028a124str x2, [sp+80]
0028a128str x0, [sp+40]
0028a12cstr xzr, [sp+48]
0028a130str x2, [sp+56]
0028a134mov x1, xzr
0028a138ldur x29, [sp-8]
0028a13cldr x30, [sp], 96
0028a140ret x30
0028a144
0028a144loc_28a144:
0028a144ldr x0, [sp+104]
0028a148ldr x1, [sp+112]
0028a14cldr x2, [sp+120]
0028a150orr x3, xzr, 1
0028a154bl math/big.nat.make
0028a158str x0, [sp+104]
0028a15cstr x1, [sp+112]
0028a160str x2, [sp+120]
0028a164ldr x4, [sp+128]
0028a168subs xzr, x1, 0
0028a16cb.hi 0x28a174
0028a170b 0x28a19c
0028a174
0028a174loc_28a174:
0028a174str x4, [x0]
0028a178ldr x0, [sp+104]
0028a17cldr x1, [sp+112]
0028a180ldr x2, [sp+120]
0028a184str x0, [sp+40]
0028a188str x1, [sp+48]
0028a18cstr x2, [sp+56]
0028a190ldur x29, [sp-8]
0028a194ldr x30, [sp], 96
0028a198ret x30
0028a19c
0028a19cloc_28a19c:
0028a19cmov x0, xzr
0028a1a0bl runtime.panicIndex
0028a1a4hint
0028a1a8
0028a1a8loc_28a1a8:
0028a1a8stp x0, x1, [sp+8]
0028a1acstp x2, x3, [sp+24]
0028a1b0mov x3, x30
0028a1b4bl runtime.morestack_noctxt.abi0
0028a1b8ldp x0, x1, [sp+8]
0028a1bcldp x2, x3, [sp+24]
0028a1c0b 0x28a0d0
0028a1c4udf 0
0028a1c8udf 0
0028a1ccudf 0
0028a0d0
0028a1d0
0028a1d0math/big.nat.setUint64: ; void math/big.nat.setUint64(math/big.nat z, uint64 x)
0028a1d0ldr x16, [x28+16]
0028a1d4subs xzr, sp, x16
0028a1d8b.ls 0x28a2e0
0028a1dcstr x30, [sp-112]!
0028a1e0stur x29, [sp-8]
0028a1e4sub x29, sp, 8
0028a1e8str x0, [sp+120]
0028a1ecstr x1, [sp+128]
0028a1f0str x2, [sp+136]
0028a1f4str x3, [sp+144]
0028a1f8str xzr, [sp+56]
0028a1fcstp xzr, xzr, [sp+64]
0028a200ldr x4, [sp+144]
0028a204str x4, [sp+48]
0028a208ldr x4, [sp+48]
0028a20cldr x5, [sp+144]
0028a210subs xzr, x5, x4
0028a214b.eq 0x28a21c
0028a218b 0x28a254
0028a21c
0028a21cloc_28a21c:
0028a21cldr x3, [sp+48]
0028a220ldr x0, [sp+120]
0028a224ldr x1, [sp+128]
0028a228ldr x2, [sp+136]
0028a22cbl math/big.nat.setWord
0028a230str x0, [sp+80]
0028a234str x1, [sp+88]
0028a238str x2, [sp+96]
0028a23cstr x0, [sp+56]
0028a240str x1, [sp+64]
0028a244str x2, [sp+72]
0028a248ldur x29, [sp-8]
0028a24cldr x30, [sp], 112
0028a250ret x30
0028a254
0028a254loc_28a254:
0028a254ldr x0, [sp+120]
0028a258ldr x1, [sp+128]
0028a25cldr x2, [sp+136]
0028a260orr x3, xzr, 2
0028a264bl math/big.nat.make
0028a268str x0, [sp+120]
0028a26cstr x1, [sp+128]
0028a270str x2, [sp+136]
0028a274ldr x4, [sp+144]
0028a278ubfm x4, x4, 32, 63
0028a27csubs xzr, x1, 1
0028a280b.hi 0x28a288
0028a284b 0x28a2d4
0028a288
0028a288loc_28a288:
0028a288str x4, [x0+8]
0028a28cldr x1, [sp+128]
0028a290ldr x3, [sp+120]
0028a294ldr x4, [sp+144]
0028a298subs xzr, x1, 0
0028a29cb.hi 0x28a2a4
0028a2a0b 0x28a2cc
0028a2a4
0028a2a4loc_28a2a4:
0028a2a4str x4, [x3]
0028a2a8ldr x0, [sp+120]
0028a2acldr x1, [sp+128]
0028a2b0ldr x2, [sp+136]
0028a2b4str x0, [sp+56]
0028a2b8str x1, [sp+64]
0028a2bcstr x2, [sp+72]
0028a2c0ldur x29, [sp-8]
0028a2c4ldr x30, [sp], 112
0028a2c8ret x30
0028a2cc
0028a2ccloc_28a2cc:
0028a2ccmov x0, xzr
0028a2d0bl runtime.panicIndex
0028a2d4
0028a2d4loc_28a2d4:
0028a2d4orr x0, xzr, 1
0028a2d8bl runtime.panicIndex
0028a2dchint
0028a2e0
0028a2e0loc_28a2e0:
0028a2e0stp x0, x1, [sp+8]
0028a2e4stp x2, x3, [sp+24]
0028a2e8mov x3, x30
0028a2ecbl runtime.morestack_noctxt.abi0
0028a2f0ldp x0, x1, [sp+8]
0028a2f4ldp x2, x3, [sp+24]
0028a2f8b 0x28a1d0
0028a2fcudf 0
0028a1d0
0028a1d0math/big.nat.setUint64: ; void math/big.nat.setUint64(math/big.nat z, uint64 x)
0028a1d0ldr x16, [x28+16]
0028a1d4subs xzr, sp, x16
0028a1d8b.ls 0x28a2e0
0028a1dcstr x30, [sp-112]!
0028a1e0stur x29, [sp-8]
0028a1e4sub x29, sp, 8
0028a1e8str x0, [sp+120]
0028a1ecstr x1, [sp+128]
0028a1f0str x2, [sp+136]
0028a1f4str x3, [sp+144]
0028a1f8str xzr, [sp+56]
0028a1fcstp xzr, xzr, [sp+64]
0028a200ldr x4, [sp+144]
0028a204str x4, [sp+48]
0028a208ldr x4, [sp+48]
0028a20cldr x5, [sp+144]
0028a210subs xzr, x5, x4
0028a214b.eq 0x28a21c
0028a218b 0x28a254
0028a21c
0028a21cloc_28a21c:
0028a21cldr x3, [sp+48]
0028a220ldr x0, [sp+120]
0028a224ldr x1, [sp+128]
0028a228ldr x2, [sp+136]
0028a22cbl math/big.nat.setWord
0028a230str x0, [sp+80]
0028a234str x1, [sp+88]
0028a238str x2, [sp+96]
0028a23cstr x0, [sp+56]
0028a240str x1, [sp+64]
0028a244str x2, [sp+72]
0028a248ldur x29, [sp-8]
0028a24cldr x30, [sp], 112
0028a250ret x30
0028a254
0028a254loc_28a254:
0028a254ldr x0, [sp+120]
0028a258ldr x1, [sp+128]
0028a25cldr x2, [sp+136]
0028a260orr x3, xzr, 2
0028a264bl math/big.nat.make
0028a268str x0, [sp+120]
0028a26cstr x1, [sp+128]
0028a270str x2, [sp+136]
0028a274ldr x4, [sp+144]
0028a278ubfm x4, x4, 32, 63
0028a27csubs xzr, x1, 1
0028a280b.hi 0x28a288
0028a284b 0x28a2d4
0028a288
0028a288loc_28a288:
0028a288str x4, [x0+8]
0028a28cldr x1, [sp+128]
0028a290ldr x3, [sp+120]
0028a294ldr x4, [sp+144]
0028a298subs xzr, x1, 0
0028a29cb.hi 0x28a2a4
0028a2a0b 0x28a2cc
0028a2a4
0028a2a4loc_28a2a4:
0028a2a4str x4, [x3]
0028a2a8ldr x0, [sp+120]
0028a2acldr x1, [sp+128]
0028a2b0ldr x2, [sp+136]
0028a2b4str x0, [sp+56]
0028a2b8str x1, [sp+64]
0028a2bcstr x2, [sp+72]
0028a2c0ldur x29, [sp-8]
0028a2c4ldr x30, [sp], 112
0028a2c8ret x30
0028a2cc
0028a2ccloc_28a2cc:
0028a2ccmov x0, xzr
0028a2d0bl runtime.panicIndex
0028a2d4
0028a2d4loc_28a2d4:
0028a2d4orr x0, xzr, 1
0028a2d8bl runtime.panicIndex
0028a2dchint
0028a2e0
0028a2e0loc_28a2e0:
0028a2e0stp x0, x1, [sp+8]
0028a2e4stp x2, x3, [sp+24]
0028a2e8mov x3, x30
0028a2ecbl runtime.morestack_noctxt.abi0
0028a2f0ldp x0, x1, [sp+8]
0028a2f4ldp x2, x3, [sp+24]
0028a2f8b 0x28a1d0
0028a2fcudf 0
0028a1d0
0028a300
0028a300math/big.nat.set: ; void math/big.nat.set(math/big.nat z, math/big.nat x)
0028a300ldr x16, [x28+16]
0028a304sub x17, sp, 16
0028a308subs xzr, x17, x16
0028a30cb.ls 0x28a400
0028a310str x30, [sp-144]!
0028a314stur x29, [sp-8]
0028a318sub x29, sp, 8
0028a31cstr x0, [sp+152]
0028a320str x1, [sp+160]
0028a324str x2, [sp+168]
0028a328str x3, [sp+176]
0028a32cstr x4, [sp+184]
0028a330str x5, [sp+192]
0028a334str xzr, [sp+64]
0028a338stp xzr, xzr, [sp+72]
0028a33cldr x3, [sp+184]
0028a340str x3, [sp+56]
0028a344ldr x1, [sp+160]
0028a348ldr x2, [sp+168]
0028a34cldr x0, [sp+152]
0028a350bl math/big.nat.make
0028a354str x0, [sp+152]
0028a358str x1, [sp+160]
0028a35cstr x2, [sp+168]
0028a360str x0, [sp+112]
0028a364str x1, [sp+120]
0028a368str x2, [sp+128]
0028a36cldr x4, [sp+184]
0028a370ldr x5, [sp+176]
0028a374ldr x6, [sp+192]
0028a378str x5, [sp+88]
0028a37cstr x4, [sp+96]
0028a380str x6, [sp+104]
0028a384ldr x5, [sp+120]
0028a388str x5, [sp+48]
0028a38csubs xzr, x5, x4
0028a390b.gt 0x28a398
0028a394b 0x28a3a0
0028a398
0028a398loc_28a398:
0028a398str x4, [sp+48]
0028a39cb 0x28a3a4
0028a3a0
0028a3a0loc_28a3a0:
0028a3a0b 0x28a3a4
0028a3a4
0028a3a4loc_28a3a4:
0028a3a4ldr x3, [sp+88]
0028a3a8ldr x4, [sp+112]
0028a3acsubs xzr, x3, x4
0028a3b0b.ne 0x28a3b8
0028a3b4b 0x28a3d8
0028a3b8
0028a3b8loc_28a3b8:
0028a3b8ldr x3, [sp+48]
0028a3bcstr x3, [sp+40]
0028a3c0ldr x3, [sp+40]
0028a3c4ubfm x2, x3, 61, 60
0028a3c8ldr x1, [sp+88]
0028a3ccldr x0, [sp+112]
0028a3d0bl runtime.memmove
0028a3d4b 0x28a3dc
0028a3d8
0028a3d8loc_28a3d8:
0028a3d8b 0x28a3dc
0028a3dc
0028a3dcloc_28a3dc:
0028a3dcldr x0, [sp+152]
0028a3e0ldr x1, [sp+160]
0028a3e4ldr x2, [sp+168]
0028a3e8str x0, [sp+64]
0028a3ecstr x1, [sp+72]
0028a3f0str x2, [sp+80]
0028a3f4ldur x29, [sp-8]
0028a3f8ldr x30, [sp], 144
0028a3fcret x30
0028a400
0028a400loc_28a400:
0028a400stp x0, x1, [sp+8]
0028a404stp x2, x3, [sp+24]
0028a408stp x4, x5, [sp+40]
0028a40cmov x3, x30
0028a410bl runtime.morestack_noctxt.abi0
0028a414ldp x0, x1, [sp+8]
0028a418ldp x2, x3, [sp+24]
0028a41cldp x4, x5, [sp+40]
0028a420b 0x28a300
0028a424udf 0
0028a428udf 0
0028a42cudf 0
0028a300
0028a300math/big.nat.set: ; void math/big.nat.set(math/big.nat z, math/big.nat x)
0028a300ldr x16, [x28+16]
0028a304sub x17, sp, 16
0028a308subs xzr, x17, x16
0028a30cb.ls 0x28a400
0028a310str x30, [sp-144]!
0028a314stur x29, [sp-8]
0028a318sub x29, sp, 8
0028a31cstr x0, [sp+152]
0028a320str x1, [sp+160]
0028a324str x2, [sp+168]
0028a328str x3, [sp+176]
0028a32cstr x4, [sp+184]
0028a330str x5, [sp+192]
0028a334str xzr, [sp+64]
0028a338stp xzr, xzr, [sp+72]
0028a33cldr x3, [sp+184]
0028a340str x3, [sp+56]
0028a344ldr x1, [sp+160]
0028a348ldr x2, [sp+168]
0028a34cldr x0, [sp+152]
0028a350bl math/big.nat.make
0028a354str x0, [sp+152]
0028a358str x1, [sp+160]
0028a35cstr x2, [sp+168]
0028a360str x0, [sp+112]
0028a364str x1, [sp+120]
0028a368str x2, [sp+128]
0028a36cldr x4, [sp+184]
0028a370ldr x5, [sp+176]
0028a374ldr x6, [sp+192]
0028a378str x5, [sp+88]
0028a37cstr x4, [sp+96]
0028a380str x6, [sp+104]
0028a384ldr x5, [sp+120]
0028a388str x5, [sp+48]
0028a38csubs xzr, x5, x4
0028a390b.gt 0x28a398
0028a394b 0x28a3a0
0028a398
0028a398loc_28a398:
0028a398str x4, [sp+48]
0028a39cb 0x28a3a4
0028a3a0
0028a3a0loc_28a3a0:
0028a3a0b 0x28a3a4
0028a3a4
0028a3a4loc_28a3a4:
0028a3a4ldr x3, [sp+88]
0028a3a8ldr x4, [sp+112]
0028a3acsubs xzr, x3, x4
0028a3b0b.ne 0x28a3b8
0028a3b4b 0x28a3d8
0028a3b8
0028a3b8loc_28a3b8:
0028a3b8ldr x3, [sp+48]
0028a3bcstr x3, [sp+40]
0028a3c0ldr x3, [sp+40]
0028a3c4ubfm x2, x3, 61, 60
0028a3c8ldr x1, [sp+88]
0028a3ccldr x0, [sp+112]
0028a3d0bl runtime.memmove
0028a3d4b 0x28a3dc
0028a3d8
0028a3d8loc_28a3d8:
0028a3d8b 0x28a3dc
0028a3dc
0028a3dcloc_28a3dc:
0028a3dcldr x0, [sp+152]
0028a3e0ldr x1, [sp+160]
0028a3e4ldr x2, [sp+168]
0028a3e8str x0, [sp+64]
0028a3ecstr x1, [sp+72]
0028a3f0str x2, [sp+80]
0028a3f4ldur x29, [sp-8]
0028a3f8ldr x30, [sp], 144
0028a3fcret x30
0028a400
0028a400loc_28a400:
0028a400stp x0, x1, [sp+8]
0028a404stp x2, x3, [sp+24]
0028a408stp x4, x5, [sp+40]
0028a40cmov x3, x30
0028a410bl runtime.morestack_noctxt.abi0
0028a414ldp x0, x1, [sp+8]
0028a418ldp x2, x3, [sp+24]
0028a41cldp x4, x5, [sp+40]
0028a420b 0x28a300
0028a424udf 0
0028a428udf 0
0028a42cudf 0
0028a300
0028a430
0028a430math/big.nat.add: ; void math/big.nat.add(math/big.nat z, math/big.nat x, math/big.nat y)
0028a430ldr x16, [x28+16]
0028a434sub x17, sp, 64
0028a438subs xzr, x17, x16
0028a43cb.ls 0x28a750
0028a440str x30, [sp-192]!
0028a444stur x29, [sp-8]
0028a448sub x29, sp, 8
0028a44cstr x0, [sp+200]
0028a450str x1, [sp+208]
0028a454str x2, [sp+216]
0028a458str x3, [sp+224]
0028a45cstr x4, [sp+232]
0028a460str x5, [sp+240]
0028a464str x6, [sp+248]
0028a468str x7, [sp+256]
0028a46cstr x8, [sp+264]
0028a470str xzr, [sp+112]
0028a474stp xzr, xzr, [sp+120]
0028a478ldr x9, [sp+232]
0028a47cstr x9, [sp+96]
0028a480ldr x10, [sp+256]
0028a484str x10, [sp+88]
0028a488subs xzr, x10, x9
0028a48cb.gt 0x28a494
0028a490b 0x28a4e4
0028a494
0028a494loc_28a494:
0028a494b 0x28a498
0028a498
0028a498loc_28a498:
0028a498ldr x0, [sp+200]
0028a49cldr x3, [sp+248]
0028a4a0ldr x6, [sp+224]
0028a4a4ldr x1, [sp+208]
0028a4a8ldr x4, [sp+256]
0028a4acldr x7, [sp+232]
0028a4b0ldr x2, [sp+216]
0028a4b4ldr x5, [sp+264]
0028a4b8ldr x8, [sp+240]
0028a4bcbl math/big.nat.add
0028a4c0str x0, [sp+160]
0028a4c4str x1, [sp+168]
0028a4c8str x2, [sp+176]
0028a4ccstr x0, [sp+112]
0028a4d0str x1, [sp+120]
0028a4d4str x2, [sp+128]
0028a4d8ldur x29, [sp-8]
0028a4dcldr x30, [sp], 192
0028a4e0ret x30
0028a4e4
0028a4e4loc_28a4e4:
0028a4e4cbz x9, 0x28a4ec
0028a4e8b 0x28a528
0028a4ec
0028a4ecloc_28a4ec:
0028a4ecb 0x28a4f0
0028a4f0
0028a4f0loc_28a4f0:
0028a4f0ldr x0, [sp+200]
0028a4f4ldr x2, [sp+216]
0028a4f8b 0x28a4fc
0028a4fc
0028a4fcloc_28a4fc:
0028a4fcb 0x28a500
0028a500
0028a500loc_28a500:
0028a500str x0, [sp+160]
0028a504str xzr, [sp+168]
0028a508str x2, [sp+176]
0028a50cstr x0, [sp+112]
0028a510str xzr, [sp+120]
0028a514str x2, [sp+128]
0028a518mov x1, xzr
0028a51cldur x29, [sp-8]
0028a520ldr x30, [sp], 192
0028a524ret x30
0028a528
0028a528loc_28a528:
0028a528cbz x10, 0x28a530
0028a52cb 0x28a574
0028a530
0028a530loc_28a530:
0028a530b 0x28a534
0028a534
0028a534loc_28a534:
0028a534ldr x0, [sp+200]
0028a538ldr x3, [sp+224]
0028a53cldr x1, [sp+208]
0028a540ldr x4, [sp+232]
0028a544ldr x2, [sp+216]
0028a548ldr x5, [sp+240]
0028a54cbl math/big.nat.set
0028a550str x0, [sp+160]
0028a554str x1, [sp+168]
0028a558str x2, [sp+176]
0028a55cstr x0, [sp+112]
0028a560str x1, [sp+120]
0028a564str x2, [sp+128]
0028a568ldur x29, [sp-8]
0028a56cldr x30, [sp], 192
0028a570ret x30
0028a574
0028a574loc_28a574:
0028a574b 0x28a578
0028a578
0028a578loc_28a578:
0028a578ldr x0, [sp+200]
0028a57cldr x1, [sp+208]
0028a580ldr x2, [sp+216]
0028a584add x3, x9, 1
0028a588bl math/big.nat.make
0028a58cstr x0, [sp+200]
0028a590str x1, [sp+208]
0028a594str x2, [sp+216]
0028a598ldr x1, [sp+88]
0028a59csubs xzr, x2, x1
0028a5a0b.hs 0x28a5a8
0028a5a4b 0x28a748
0028a5a8
0028a5a8loc_28a5a8:
0028a5a8b 0x28a5ac
0028a5ac
0028a5acloc_28a5ac:
0028a5acstr x0, [sp+160]
0028a5b0str x1, [sp+168]
0028a5b4str x2, [sp+176]
0028a5b8ldr x3, [sp+224]
0028a5bcldr x4, [sp+232]
0028a5c0ldr x5, [sp+240]
0028a5c4ldr x6, [sp+248]
0028a5c8ldr x7, [sp+256]
0028a5ccldr x8, [sp+264]
0028a5d0str x0, [sp+8]
0028a5d4str x1, [sp+16]
0028a5d8str x2, [sp+24]
0028a5dcstr x3, [sp+32]
0028a5e0str x4, [sp+40]
0028a5e4str x5, [sp+48]
0028a5e8str x6, [sp+56]
0028a5ecstr x7, [sp+64]
0028a5f0str x8, [sp+72]
0028a5f4bl math/big.addVV.abi0
0028a5f8ldr x0, [sp+80]
0028a5fcstr x0, [sp+104]
0028a600ldr x0, [sp+88]
0028a604ldr x1, [sp+96]
0028a608subs xzr, x0, x1
0028a60cb.lt 0x28a614
0028a610b 0x28a6e0
0028a614
0028a614loc_28a614:
0028a614ldr x1, [sp+96]
0028a618ldr x0, [sp+88]
0028a61cldr x2, [sp+216]
0028a620ldr x3, [sp+200]
0028a624subs xzr, x2, x1
0028a628b.hs 0x28a630
0028a62cb 0x28a744
0028a630
0028a630loc_28a630:
0028a630subs xzr, x1, x0
0028a634b.hs 0x28a63c
0028a638b 0x28a740
0028a63c
0028a63cloc_28a63c:
0028a63csub x2, x2, x0
0028a640sub x4, x1, x0
0028a644sub x5, xzr, x2
0028a648ubfm x6, x0, 61, 60
0028a64cand x5, x6, x5, asr #63
0028a650add x3, x3, x5
0028a654str x3, [sp+160]
0028a658str x4, [sp+168]
0028a65cstr x2, [sp+176]
0028a660ldr x0, [sp+88]
0028a664ldr x1, [sp+232]
0028a668ldr x2, [sp+224]
0028a66cldr x3, [sp+240]
0028a670b 0x28a674
0028a674
0028a674loc_28a674:
0028a674subs xzr, x1, x0
0028a678b.hs 0x28a680
0028a67cb 0x28a73c
0028a680
0028a680loc_28a680:
0028a680sub x3, x3, x0
0028a684sub x1, x1, x0
0028a688sub x4, xzr, x3
0028a68cubfm x0, x0, 61, 60
0028a690and x0, x0, x4, asr #63
0028a694add x0, x2, x0
0028a698str x0, [sp+136]
0028a69cstr x1, [sp+144]
0028a6a0str x3, [sp+152]
0028a6a4ldr x2, [sp+104]
0028a6a8ldr x4, [sp+160]
0028a6acldr x5, [sp+168]
0028a6b0ldr x6, [sp+176]
0028a6b4str x4, [sp+8]
0028a6b8str x5, [sp+16]
0028a6bcstr x6, [sp+24]
0028a6c0str x0, [sp+32]
0028a6c4str x1, [sp+40]
0028a6c8str x3, [sp+48]
0028a6ccstr x2, [sp+56]
0028a6d0bl math/big.addVW.abi0
0028a6d4ldr x0, [sp+64]
0028a6d8str x0, [sp+104]
0028a6dcb 0x28a6e4
0028a6e0
0028a6e0loc_28a6e0:
0028a6e0b 0x28a6e4
0028a6e4
0028a6e4loc_28a6e4:
0028a6e4ldr x0, [sp+96]
0028a6e8ldr x1, [sp+208]
0028a6ecldr x3, [sp+200]
0028a6f0ldr x4, [sp+104]
0028a6f4subs xzr, x1, x0
0028a6f8b.hi 0x28a700
0028a6fcb 0x28a738
0028a700
0028a700loc_28a700:
0028a700str x4, [x3+3*x0]
0028a704ldr x0, [sp+200]
0028a708ldr x1, [sp+208]
0028a70cldr x2, [sp+216]
0028a710bl math/big.nat.norm
0028a714str x0, [sp+136]
0028a718str x1, [sp+144]
0028a71cstr x2, [sp+152]
0028a720str x0, [sp+112]
0028a724str x1, [sp+120]
0028a728str x2, [sp+128]
0028a72cldur x29, [sp-8]
0028a730ldr x30, [sp], 192
0028a734ret x30
0028a738
0028a738loc_28a738:
0028a738bl runtime.panicIndex
0028a73c
0028a73cloc_28a73c:
0028a73cbl runtime.panicSliceB
0028a740
0028a740loc_28a740:
0028a740bl runtime.panicSliceB
0028a744
0028a744loc_28a744:
0028a744bl runtime.panicSliceAcap
0028a748
0028a748loc_28a748:
0028a748bl runtime.panicSliceAcap
0028a74chint
0028a750
0028a750loc_28a750:
0028a750stp x0, x1, [sp+8]
0028a754stp x2, x3, [sp+24]
0028a758stp x4, x5, [sp+40]
0028a75cstp x6, x7, [sp+56]
0028a760str x8, [sp+72]
0028a764mov x3, x30
0028a768bl runtime.morestack_noctxt.abi0
0028a76cldp x0, x1, [sp+8]
0028a770ldp x2, x3, [sp+24]
0028a774ldp x4, x5, [sp+40]
0028a778ldp x6, x7, [sp+56]
0028a77cldr x8, [sp+72]
0028a780b 0x28a430
0028a784udf 0
0028a788udf 0
0028a78cudf 0
0028a430
0028a430math/big.nat.add: ; void math/big.nat.add(math/big.nat z, math/big.nat x, math/big.nat y)
0028a430ldr x16, [x28+16]
0028a434sub x17, sp, 64
0028a438subs xzr, x17, x16
0028a43cb.ls 0x28a750
0028a440str x30, [sp-192]!
0028a444stur x29, [sp-8]
0028a448sub x29, sp, 8
0028a44cstr x0, [sp+200]
0028a450str x1, [sp+208]
0028a454str x2, [sp+216]
0028a458str x3, [sp+224]
0028a45cstr x4, [sp+232]
0028a460str x5, [sp+240]
0028a464str x6, [sp+248]
0028a468str x7, [sp+256]
0028a46cstr x8, [sp+264]
0028a470str xzr, [sp+112]
0028a474stp xzr, xzr, [sp+120]
0028a478ldr x9, [sp+232]
0028a47cstr x9, [sp+96]
0028a480ldr x10, [sp+256]
0028a484str x10, [sp+88]
0028a488subs xzr, x10, x9
0028a48cb.gt 0x28a494
0028a490b 0x28a4e4
0028a494
0028a494loc_28a494:
0028a494b 0x28a498
0028a498
0028a498loc_28a498:
0028a498ldr x0, [sp+200]
0028a49cldr x3, [sp+248]
0028a4a0ldr x6, [sp+224]
0028a4a4ldr x1, [sp+208]
0028a4a8ldr x4, [sp+256]
0028a4acldr x7, [sp+232]
0028a4b0ldr x2, [sp+216]
0028a4b4ldr x5, [sp+264]
0028a4b8ldr x8, [sp+240]
0028a4bcbl math/big.nat.add
0028a4c0str x0, [sp+160]
0028a4c4str x1, [sp+168]
0028a4c8str x2, [sp+176]
0028a4ccstr x0, [sp+112]
0028a4d0str x1, [sp+120]
0028a4d4str x2, [sp+128]
0028a4d8ldur x29, [sp-8]
0028a4dcldr x30, [sp], 192
0028a4e0ret x30
0028a4e4
0028a4e4loc_28a4e4:
0028a4e4cbz x9, 0x28a4ec
0028a4e8b 0x28a528
0028a4ec
0028a4ecloc_28a4ec:
0028a4ecb 0x28a4f0
0028a4f0
0028a4f0loc_28a4f0:
0028a4f0ldr x0, [sp+200]
0028a4f4ldr x2, [sp+216]
0028a4f8b 0x28a4fc
0028a4fc
0028a4fcloc_28a4fc:
0028a4fcb 0x28a500
0028a500
0028a500loc_28a500:
0028a500str x0, [sp+160]
0028a504str xzr, [sp+168]
0028a508str x2, [sp+176]
0028a50cstr x0, [sp+112]
0028a510str xzr, [sp+120]
0028a514str x2, [sp+128]
0028a518mov x1, xzr
0028a51cldur x29, [sp-8]
0028a520ldr x30, [sp], 192
0028a524ret x30
0028a528
0028a528loc_28a528:
0028a528cbz x10, 0x28a530
0028a52cb 0x28a574
0028a530
0028a530loc_28a530:
0028a530b 0x28a534
0028a534
0028a534loc_28a534:
0028a534ldr x0, [sp+200]
0028a538ldr x3, [sp+224]
0028a53cldr x1, [sp+208]
0028a540ldr x4, [sp+232]
0028a544ldr x2, [sp+216]
0028a548ldr x5, [sp+240]
0028a54cbl math/big.nat.set
0028a550str x0, [sp+160]
0028a554str x1, [sp+168]
0028a558str x2, [sp+176]
0028a55cstr x0, [sp+112]
0028a560str x1, [sp+120]
0028a564str x2, [sp+128]
0028a568ldur x29, [sp-8]
0028a56cldr x30, [sp], 192
0028a570ret x30
0028a574
0028a574loc_28a574:
0028a574b 0x28a578
0028a578
0028a578loc_28a578:
0028a578ldr x0, [sp+200]
0028a57cldr x1, [sp+208]
0028a580ldr x2, [sp+216]
0028a584add x3, x9, 1
0028a588bl math/big.nat.make
0028a58cstr x0, [sp+200]
0028a590str x1, [sp+208]
0028a594str x2, [sp+216]
0028a598ldr x1, [sp+88]
0028a59csubs xzr, x2, x1
0028a5a0b.hs 0x28a5a8
0028a5a4b 0x28a748
0028a5a8
0028a5a8loc_28a5a8:
0028a5a8b 0x28a5ac
0028a5ac
0028a5acloc_28a5ac:
0028a5acstr x0, [sp+160]
0028a5b0str x1, [sp+168]
0028a5b4str x2, [sp+176]
0028a5b8ldr x3, [sp+224]
0028a5bcldr x4, [sp+232]
0028a5c0ldr x5, [sp+240]
0028a5c4ldr x6, [sp+248]
0028a5c8ldr x7, [sp+256]
0028a5ccldr x8, [sp+264]
0028a5d0str x0, [sp+8]
0028a5d4str x1, [sp+16]
0028a5d8str x2, [sp+24]
0028a5dcstr x3, [sp+32]
0028a5e0str x4, [sp+40]
0028a5e4str x5, [sp+48]
0028a5e8str x6, [sp+56]
0028a5ecstr x7, [sp+64]
0028a5f0str x8, [sp+72]
0028a5f4bl math/big.addVV.abi0
0028a5f8ldr x0, [sp+80]
0028a5fcstr x0, [sp+104]
0028a600ldr x0, [sp+88]
0028a604ldr x1, [sp+96]
0028a608subs xzr, x0, x1
0028a60cb.lt 0x28a614
0028a610b 0x28a6e0
0028a614
0028a614loc_28a614:
0028a614ldr x1, [sp+96]
0028a618ldr x0, [sp+88]
0028a61cldr x2, [sp+216]
0028a620ldr x3, [sp+200]
0028a624subs xzr, x2, x1
0028a628b.hs 0x28a630
0028a62cb 0x28a744
0028a630
0028a630loc_28a630:
0028a630subs xzr, x1, x0
0028a634b.hs 0x28a63c
0028a638b 0x28a740
0028a63c
0028a63cloc_28a63c:
0028a63csub x2, x2, x0
0028a640sub x4, x1, x0
0028a644sub x5, xzr, x2
0028a648ubfm x6, x0, 61, 60
0028a64cand x5, x6, x5, asr #63
0028a650add x3, x3, x5
0028a654str x3, [sp+160]
0028a658str x4, [sp+168]
0028a65cstr x2, [sp+176]
0028a660ldr x0, [sp+88]
0028a664ldr x1, [sp+232]
0028a668ldr x2, [sp+224]
0028a66cldr x3, [sp+240]
0028a670b 0x28a674
0028a674
0028a674loc_28a674:
0028a674subs xzr, x1, x0
0028a678b.hs 0x28a680
0028a67cb 0x28a73c
0028a680
0028a680loc_28a680:
0028a680sub x3, x3, x0
0028a684sub x1, x1, x0
0028a688sub x4, xzr, x3
0028a68cubfm x0, x0, 61, 60
0028a690and x0, x0, x4, asr #63
0028a694add x0, x2, x0
0028a698str x0, [sp+136]
0028a69cstr x1, [sp+144]
0028a6a0str x3, [sp+152]
0028a6a4ldr x2, [sp+104]
0028a6a8ldr x4, [sp+160]
0028a6acldr x5, [sp+168]
0028a6b0ldr x6, [sp+176]
0028a6b4str x4, [sp+8]
0028a6b8str x5, [sp+16]
0028a6bcstr x6, [sp+24]
0028a6c0str x0, [sp+32]
0028a6c4str x1, [sp+40]
0028a6c8str x3, [sp+48]
0028a6ccstr x2, [sp+56]
0028a6d0bl math/big.addVW.abi0
0028a6d4ldr x0, [sp+64]
0028a6d8str x0, [sp+104]
0028a6dcb 0x28a6e4
0028a6e0
0028a6e0loc_28a6e0:
0028a6e0b 0x28a6e4
0028a6e4
0028a6e4loc_28a6e4:
0028a6e4ldr x0, [sp+96]
0028a6e8ldr x1, [sp+208]
0028a6ecldr x3, [sp+200]
0028a6f0ldr x4, [sp+104]
0028a6f4subs xzr, x1, x0
0028a6f8b.hi 0x28a700
0028a6fcb 0x28a738
0028a700
0028a700loc_28a700:
0028a700str x4, [x3+3*x0]
0028a704ldr x0, [sp+200]
0028a708ldr x1, [sp+208]
0028a70cldr x2, [sp+216]
0028a710bl math/big.nat.norm
0028a714str x0, [sp+136]
0028a718str x1, [sp+144]
0028a71cstr x2, [sp+152]
0028a720str x0, [sp+112]
0028a724str x1, [sp+120]
0028a728str x2, [sp+128]
0028a72cldur x29, [sp-8]
0028a730ldr x30, [sp], 192
0028a734ret x30
0028a738
0028a738loc_28a738:
0028a738bl runtime.panicIndex
0028a73c
0028a73cloc_28a73c:
0028a73cbl runtime.panicSliceB
0028a740
0028a740loc_28a740:
0028a740bl runtime.panicSliceB
0028a744
0028a744loc_28a744:
0028a744bl runtime.panicSliceAcap
0028a748
0028a748loc_28a748:
0028a748bl runtime.panicSliceAcap
0028a74chint
0028a750
0028a750loc_28a750:
0028a750stp x0, x1, [sp+8]
0028a754stp x2, x3, [sp+24]
0028a758stp x4, x5, [sp+40]
0028a75cstp x6, x7, [sp+56]
0028a760str x8, [sp+72]
0028a764mov x3, x30
0028a768bl runtime.morestack_noctxt.abi0
0028a76cldp x0, x1, [sp+8]
0028a770ldp x2, x3, [sp+24]
0028a774ldp x4, x5, [sp+40]
0028a778ldp x6, x7, [sp+56]
0028a77cldr x8, [sp+72]
0028a780b 0x28a430
0028a784udf 0
0028a788udf 0
0028a78cudf 0
0028a430
0028a790
0028a790math/big.nat.sub: ; void math/big.nat.sub(math/big.nat z, math/big.nat x, math/big.nat y)
0028a790ldr x16, [x28+16]
0028a794sub x17, sp, 64
0028a798subs xzr, x17, x16
0028a79cb.ls 0x28aa64
0028a7a0str x30, [sp-192]!
0028a7a4stur x29, [sp-8]
0028a7a8sub x29, sp, 8
0028a7acstr x0, [sp+200]
0028a7b0str x1, [sp+208]
0028a7b4str x2, [sp+216]
0028a7b8str x3, [sp+224]
0028a7bcstr x4, [sp+232]
0028a7c0str x5, [sp+240]
0028a7c4str x6, [sp+248]
0028a7c8str x7, [sp+256]
0028a7ccstr x8, [sp+264]
0028a7d0str xzr, [sp+112]
0028a7d4stp xzr, xzr, [sp+120]
0028a7d8ldr x3, [sp+232]
0028a7dcstr x3, [sp+96]
0028a7e0ldr x6, [sp+256]
0028a7e4str x6, [sp+88]
0028a7e8subs xzr, x6, x3
0028a7ecb.gt 0x28aa48
0028a7f0b 0x28a7f4
0028a7f4
0028a7f4loc_28a7f4:
0028a7f4cbz x3, 0x28a7fc
0028a7f8b 0x28a838
0028a7fc
0028a7fcloc_28a7fc:
0028a7fcb 0x28a800
0028a800
0028a800loc_28a800:
0028a800ldr x0, [sp+200]
0028a804ldr x2, [sp+216]
0028a808b 0x28a80c
0028a80c
0028a80cloc_28a80c:
0028a80cb 0x28a810
0028a810
0028a810loc_28a810:
0028a810str x0, [sp+160]
0028a814str xzr, [sp+168]
0028a818str x2, [sp+176]
0028a81cstr x0, [sp+112]
0028a820str xzr, [sp+120]
0028a824str x2, [sp+128]
0028a828mov x1, xzr
0028a82cldur x29, [sp-8]
0028a830ldr x30, [sp], 192
0028a834ret x30
0028a838
0028a838loc_28a838:
0028a838cbz x6, 0x28a840
0028a83cb 0x28a884
0028a840
0028a840loc_28a840:
0028a840b 0x28a844
0028a844
0028a844loc_28a844:
0028a844ldr x0, [sp+200]
0028a848ldr x3, [sp+224]
0028a84cldr x1, [sp+208]
0028a850ldr x4, [sp+232]
0028a854ldr x2, [sp+216]
0028a858ldr x5, [sp+240]
0028a85cbl math/big.nat.set
0028a860str x0, [sp+160]
0028a864str x1, [sp+168]
0028a868str x2, [sp+176]
0028a86cstr x0, [sp+112]
0028a870str x1, [sp+120]
0028a874str x2, [sp+128]
0028a878ldur x29, [sp-8]
0028a87cldr x30, [sp], 192
0028a880ret x30
0028a884
0028a884loc_28a884:
0028a884b 0x28a888
0028a888
0028a888loc_28a888:
0028a888ldr x0, [sp+200]
0028a88cldr x1, [sp+208]
0028a890ldr x2, [sp+216]
0028a894bl math/big.nat.make
0028a898str x0, [sp+200]
0028a89cstr x1, [sp+208]
0028a8a0str x2, [sp+216]
0028a8a4ldr x1, [sp+88]
0028a8a8subs xzr, x2, x1
0028a8acb.hs 0x28a8b4
0028a8b0b 0x28aa44
0028a8b4
0028a8b4loc_28a8b4:
0028a8b4b 0x28a8b8
0028a8b8
0028a8b8loc_28a8b8:
0028a8b8str x0, [sp+160]
0028a8bcstr x1, [sp+168]
0028a8c0str x2, [sp+176]
0028a8c4ldr x3, [sp+224]
0028a8c8ldr x4, [sp+232]
0028a8ccldr x5, [sp+240]
0028a8d0ldr x6, [sp+248]
0028a8d4ldr x7, [sp+256]
0028a8d8ldr x8, [sp+264]
0028a8dcstr x0, [sp+8]
0028a8e0str x1, [sp+16]
0028a8e4str x2, [sp+24]
0028a8e8str x3, [sp+32]
0028a8ecstr x4, [sp+40]
0028a8f0str x5, [sp+48]
0028a8f4str x6, [sp+56]
0028a8f8str x7, [sp+64]
0028a8fcstr x8, [sp+72]
0028a900bl math/big.subVV.abi0
0028a904ldr x0, [sp+80]
0028a908str x0, [sp+104]
0028a90cldr x0, [sp+88]
0028a910ldr x1, [sp+96]
0028a914subs xzr, x0, x1
0028a918b.lt 0x28a920
0028a91cb 0x28a9e4
0028a920
0028a920loc_28a920:
0028a920ldr x0, [sp+88]
0028a924ldr x1, [sp+208]
0028a928ldr x2, [sp+200]
0028a92cldr x3, [sp+216]
0028a930b 0x28a934
0028a934
0028a934loc_28a934:
0028a934subs xzr, x1, x0
0028a938b.hs 0x28a940
0028a93cb 0x28aa40
0028a940
0028a940loc_28a940:
0028a940sub x3, x3, x0
0028a944sub x4, x1, x0
0028a948sub x5, xzr, x3
0028a94cubfm x6, x0, 61, 60
0028a950and x5, x6, x5, asr #63
0028a954add x2, x2, x5
0028a958str x2, [sp+160]
0028a95cstr x4, [sp+168]
0028a960str x3, [sp+176]
0028a964ldr x0, [sp+88]
0028a968ldr x1, [sp+232]
0028a96cldr x2, [sp+224]
0028a970ldr x3, [sp+240]
0028a974b 0x28a978
0028a978
0028a978loc_28a978:
0028a978subs xzr, x1, x0
0028a97cb.hs 0x28a984
0028a980b 0x28aa3c
0028a984
0028a984loc_28a984:
0028a984sub x3, x3, x0
0028a988sub x1, x1, x0
0028a98csub x4, xzr, x3
0028a990ubfm x0, x0, 61, 60
0028a994and x0, x0, x4, asr #63
0028a998add x0, x2, x0
0028a99cstr x0, [sp+136]
0028a9a0str x1, [sp+144]
0028a9a4str x3, [sp+152]
0028a9a8ldr x2, [sp+104]
0028a9acldr x4, [sp+160]
0028a9b0ldr x5, [sp+168]
0028a9b4ldr x6, [sp+176]
0028a9b8str x4, [sp+8]
0028a9bcstr x5, [sp+16]
0028a9c0str x6, [sp+24]
0028a9c4str x0, [sp+32]
0028a9c8str x1, [sp+40]
0028a9ccstr x3, [sp+48]
0028a9d0str x2, [sp+56]
0028a9d4bl math/big.subVW.abi0
0028a9d8ldr x0, [sp+64]
0028a9dcstr x0, [sp+104]
0028a9e0b 0x28a9e8
0028a9e4
0028a9e4loc_28a9e4:
0028a9e4b 0x28a9e8
0028a9e8
0028a9e8loc_28a9e8:
0028a9e8ldr x3, [sp+104]
0028a9eccbnz x3, 0x28aa28
0028a9f0b 0x28a9f4
0028a9f4
0028a9f4loc_28a9f4:
0028a9f4ldr x0, [sp+200]
0028a9f8ldr x1, [sp+208]
0028a9fcldr x2, [sp+216]
0028aa00bl math/big.nat.norm
0028aa04str x0, [sp+136]
0028aa08str x1, [sp+144]
0028aa0cstr x2, [sp+152]
0028aa10str x0, [sp+112]
0028aa14str x1, [sp+120]
0028aa18str x2, [sp+128]
0028aa1cldur x29, [sp-8]
0028aa20ldr x30, [sp], 192
0028aa24ret x30
0028aa28
0028aa28loc_28aa28:
0028aa28adrp x0, 0x36b000
0028aa2cadd x0, x0, 2944
0028aa30adrp x1, 0x488000
0028aa34add x1, x1, 1184
0028aa38bl runtime.gopanic
0028aa3c
0028aa3cloc_28aa3c:
0028aa3cbl runtime.panicSliceB
0028aa40
0028aa40loc_28aa40:
0028aa40bl runtime.panicSliceB
0028aa44
0028aa44loc_28aa44:
0028aa44bl runtime.panicSliceAcap
0028aa48
0028aa48loc_28aa48:
0028aa48b 0x28aa4c
0028aa4c
0028aa4cloc_28aa4c:
0028aa4cadrp x0, 0x36b000
0028aa50add x0, x0, 2944
0028aa54adrp x1, 0x488000
0028aa58add x1, x1, 1184
0028aa5cbl runtime.gopanic
0028aa60hint
0028aa64
0028aa64loc_28aa64:
0028aa64stp x0, x1, [sp+8]
0028aa68stp x2, x3, [sp+24]
0028aa6cstp x4, x5, [sp+40]
0028aa70stp x6, x7, [sp+56]
0028aa74str x8, [sp+72]
0028aa78mov x3, x30
0028aa7cbl runtime.morestack_noctxt.abi0
0028aa80ldp x0, x1, [sp+8]
0028aa84ldp x2, x3, [sp+24]
0028aa88ldp x4, x5, [sp+40]
0028aa8cldp x6, x7, [sp+56]
0028aa90ldr x8, [sp+72]
0028aa94b 0x28a790
0028aa98udf 0
0028aa9cudf 0
0028a790
0028a790math/big.nat.sub: ; void math/big.nat.sub(math/big.nat z, math/big.nat x, math/big.nat y)
0028a790ldr x16, [x28+16]
0028a794sub x17, sp, 64
0028a798subs xzr, x17, x16
0028a79cb.ls 0x28aa64
0028a7a0str x30, [sp-192]!
0028a7a4stur x29, [sp-8]
0028a7a8sub x29, sp, 8
0028a7acstr x0, [sp+200]
0028a7b0str x1, [sp+208]
0028a7b4str x2, [sp+216]
0028a7b8str x3, [sp+224]
0028a7bcstr x4, [sp+232]
0028a7c0str x5, [sp+240]
0028a7c4str x6, [sp+248]
0028a7c8str x7, [sp+256]
0028a7ccstr x8, [sp+264]
0028a7d0str xzr, [sp+112]
0028a7d4stp xzr, xzr, [sp+120]
0028a7d8ldr x3, [sp+232]
0028a7dcstr x3, [sp+96]
0028a7e0ldr x6, [sp+256]
0028a7e4str x6, [sp+88]
0028a7e8subs xzr, x6, x3
0028a7ecb.gt 0x28aa48
0028a7f0b 0x28a7f4
0028a7f4
0028a7f4loc_28a7f4:
0028a7f4cbz x3, 0x28a7fc
0028a7f8b 0x28a838
0028a7fc
0028a7fcloc_28a7fc:
0028a7fcb 0x28a800
0028a800
0028a800loc_28a800:
0028a800ldr x0, [sp+200]
0028a804ldr x2, [sp+216]
0028a808b 0x28a80c
0028a80c
0028a80cloc_28a80c:
0028a80cb 0x28a810
0028a810
0028a810loc_28a810:
0028a810str x0, [sp+160]
0028a814str xzr, [sp+168]
0028a818str x2, [sp+176]
0028a81cstr x0, [sp+112]
0028a820str xzr, [sp+120]
0028a824str x2, [sp+128]
0028a828mov x1, xzr
0028a82cldur x29, [sp-8]
0028a830ldr x30, [sp], 192
0028a834ret x30
0028a838
0028a838loc_28a838:
0028a838cbz x6, 0x28a840
0028a83cb 0x28a884
0028a840
0028a840loc_28a840:
0028a840b 0x28a844
0028a844
0028a844loc_28a844:
0028a844ldr x0, [sp+200]
0028a848ldr x3, [sp+224]
0028a84cldr x1, [sp+208]
0028a850ldr x4, [sp+232]
0028a854ldr x2, [sp+216]
0028a858ldr x5, [sp+240]
0028a85cbl math/big.nat.set
0028a860str x0, [sp+160]
0028a864str x1, [sp+168]
0028a868str x2, [sp+176]
0028a86cstr x0, [sp+112]
0028a870str x1, [sp+120]
0028a874str x2, [sp+128]
0028a878ldur x29, [sp-8]
0028a87cldr x30, [sp], 192
0028a880ret x30
0028a884
0028a884loc_28a884:
0028a884b 0x28a888
0028a888
0028a888loc_28a888:
0028a888ldr x0, [sp+200]
0028a88cldr x1, [sp+208]
0028a890ldr x2, [sp+216]
0028a894bl math/big.nat.make
0028a898str x0, [sp+200]
0028a89cstr x1, [sp+208]
0028a8a0str x2, [sp+216]
0028a8a4ldr x1, [sp+88]
0028a8a8subs xzr, x2, x1
0028a8acb.hs 0x28a8b4
0028a8b0b 0x28aa44
0028a8b4
0028a8b4loc_28a8b4:
0028a8b4b 0x28a8b8
0028a8b8
0028a8b8loc_28a8b8:
0028a8b8str x0, [sp+160]
0028a8bcstr x1, [sp+168]
0028a8c0str x2, [sp+176]
0028a8c4ldr x3, [sp+224]
0028a8c8ldr x4, [sp+232]
0028a8ccldr x5, [sp+240]
0028a8d0ldr x6, [sp+248]
0028a8d4ldr x7, [sp+256]
0028a8d8ldr x8, [sp+264]
0028a8dcstr x0, [sp+8]
0028a8e0str x1, [sp+16]
0028a8e4str x2, [sp+24]
0028a8e8str x3, [sp+32]
0028a8ecstr x4, [sp+40]
0028a8f0str x5, [sp+48]
0028a8f4str x6, [sp+56]
0028a8f8str x7, [sp+64]
0028a8fcstr x8, [sp+72]
0028a900bl math/big.subVV.abi0
0028a904ldr x0, [sp+80]
0028a908str x0, [sp+104]
0028a90cldr x0, [sp+88]
0028a910ldr x1, [sp+96]
0028a914subs xzr, x0, x1
0028a918b.lt 0x28a920
0028a91cb 0x28a9e4
0028a920
0028a920loc_28a920:
0028a920ldr x0, [sp+88]
0028a924ldr x1, [sp+208]
0028a928ldr x2, [sp+200]
0028a92cldr x3, [sp+216]
0028a930b 0x28a934
0028a934
0028a934loc_28a934:
0028a934subs xzr, x1, x0
0028a938b.hs 0x28a940
0028a93cb 0x28aa40
0028a940
0028a940loc_28a940:
0028a940sub x3, x3, x0
0028a944sub x4, x1, x0
0028a948sub x5, xzr, x3
0028a94cubfm x6, x0, 61, 60
0028a950and x5, x6, x5, asr #63
0028a954add x2, x2, x5
0028a958str x2, [sp+160]
0028a95cstr x4, [sp+168]
0028a960str x3, [sp+176]
0028a964ldr x0, [sp+88]
0028a968ldr x1, [sp+232]
0028a96cldr x2, [sp+224]
0028a970ldr x3, [sp+240]
0028a974b 0x28a978
0028a978
0028a978loc_28a978:
0028a978subs xzr, x1, x0
0028a97cb.hs 0x28a984
0028a980b 0x28aa3c
0028a984
0028a984loc_28a984:
0028a984sub x3, x3, x0
0028a988sub x1, x1, x0
0028a98csub x4, xzr, x3
0028a990ubfm x0, x0, 61, 60
0028a994and x0, x0, x4, asr #63
0028a998add x0, x2, x0
0028a99cstr x0, [sp+136]
0028a9a0str x1, [sp+144]
0028a9a4str x3, [sp+152]
0028a9a8ldr x2, [sp+104]
0028a9acldr x4, [sp+160]
0028a9b0ldr x5, [sp+168]
0028a9b4ldr x6, [sp+176]
0028a9b8str x4, [sp+8]
0028a9bcstr x5, [sp+16]
0028a9c0str x6, [sp+24]
0028a9c4str x0, [sp+32]
0028a9c8str x1, [sp+40]
0028a9ccstr x3, [sp+48]
0028a9d0str x2, [sp+56]
0028a9d4bl math/big.subVW.abi0
0028a9d8ldr x0, [sp+64]
0028a9dcstr x0, [sp+104]
0028a9e0b 0x28a9e8
0028a9e4
0028a9e4loc_28a9e4:
0028a9e4b 0x28a9e8
0028a9e8
0028a9e8loc_28a9e8:
0028a9e8ldr x3, [sp+104]
0028a9eccbnz x3, 0x28aa28
0028a9f0b 0x28a9f4
0028a9f4
0028a9f4loc_28a9f4:
0028a9f4ldr x0, [sp+200]
0028a9f8ldr x1, [sp+208]
0028a9fcldr x2, [sp+216]
0028aa00bl math/big.nat.norm
0028aa04str x0, [sp+136]
0028aa08str x1, [sp+144]
0028aa0cstr x2, [sp+152]
0028aa10str x0, [sp+112]
0028aa14str x1, [sp+120]
0028aa18str x2, [sp+128]
0028aa1cldur x29, [sp-8]
0028aa20ldr x30, [sp], 192
0028aa24ret x30
0028aa28
0028aa28loc_28aa28:
0028aa28adrp x0, 0x36b000
0028aa2cadd x0, x0, 2944
0028aa30adrp x1, 0x488000
0028aa34add x1, x1, 1184
0028aa38bl runtime.gopanic
0028aa3c
0028aa3cloc_28aa3c:
0028aa3cbl runtime.panicSliceB
0028aa40
0028aa40loc_28aa40:
0028aa40bl runtime.panicSliceB
0028aa44
0028aa44loc_28aa44:
0028aa44bl runtime.panicSliceAcap
0028aa48
0028aa48loc_28aa48:
0028aa48b 0x28aa4c
0028aa4c
0028aa4cloc_28aa4c:
0028aa4cadrp x0, 0x36b000
0028aa50add x0, x0, 2944
0028aa54adrp x1, 0x488000
0028aa58add x1, x1, 1184
0028aa5cbl runtime.gopanic
0028aa60hint
0028aa64
0028aa64loc_28aa64:
0028aa64stp x0, x1, [sp+8]
0028aa68stp x2, x3, [sp+24]
0028aa6cstp x4, x5, [sp+40]
0028aa70stp x6, x7, [sp+56]
0028aa74str x8, [sp+72]
0028aa78mov x3, x30
0028aa7cbl runtime.morestack_noctxt.abi0
0028aa80ldp x0, x1, [sp+8]
0028aa84ldp x2, x3, [sp+24]
0028aa88ldp x4, x5, [sp+40]
0028aa8cldp x6, x7, [sp+56]
0028aa90ldr x8, [sp+72]
0028aa94b 0x28a790
0028aa98udf 0
0028aa9cudf 0
0028a790
0028aaa0
0028aaa0math/big.nat.cmp: ; void math/big.nat.cmp(math/big.nat x, math/big.nat y)
0028aaa0ldr x16, [x28+16]
0028aaa4subs xzr, sp, x16
0028aaa8b.ls 0x28ace0
0028aaacstr x30, [sp-80]!
0028aab0stur x29, [sp-8]
0028aab4sub x29, sp, 8
0028aab8str x0, [sp+88]
0028aabcstr x1, [sp+96]
0028aac0str x2, [sp+104]
0028aac4str x3, [sp+112]
0028aac8str x4, [sp+120]
0028aaccstr x5, [sp+128]
0028aad0str xzr, [sp+40]
0028aad4ldr x2, [sp+96]
0028aad8str x2, [sp+56]
0028aadcstr x4, [sp+48]
0028aae0subs xzr, x4, x2
0028aae4cset x2, ne
0028aae8strb w2, [sp+39]
0028aaecb.ne 0x28aaf4
0028aaf0b 0x28aaf8
0028aaf4
0028aaf4loc_28aaf4:
0028aaf4b 0x28ab0c
0028aaf8
0028aaf8loc_28aaf8:
0028aaf8ldr x2, [sp+56]
0028aafcsubs xzr, x2, 0
0028ab00cset x2, eq
0028ab04strb w2, [sp+39]
0028ab08b 0x28ab0c
0028ab0c
0028ab0cloc_28ab0c:
0028ab0cldrb w2, [sp+39]
0028ab10tbnz w2, 0, 0x28ab18
0028ab14b 0x28ab74
0028ab18
0028ab18loc_28ab18:
0028ab18ldr x1, [sp+48]
0028ab1cldr x2, [sp+56]
0028ab20subs xzr, x1, x2
0028ab24b.gt 0x28ab2c
0028ab28b 0x28ab3c
0028ab2c
0028ab2cloc_28ab2c:
0028ab2cb 0x28ab30
0028ab30
0028ab30loc_28ab30:
0028ab30movn x1, 0
0028ab34str x1, [sp+40]
0028ab38b 0x28ab64
0028ab3c
0028ab3cloc_28ab3c:
0028ab3cldr x1, [sp+48]
0028ab40ldr x2, [sp+56]
0028ab44subs xzr, x1, x2
0028ab48b.lt 0x28ab50
0028ab4cb 0x28ab60
0028ab50
0028ab50loc_28ab50:
0028ab50b 0x28ab54
0028ab54
0028ab54loc_28ab54:
0028ab54orr x1, xzr, 1
0028ab58str x1, [sp+40]
0028ab5cb 0x28ab64
0028ab60
0028ab60loc_28ab60:
0028ab60b 0x28ab64
0028ab64
0028ab64loc_28ab64:
0028ab64ldr x0, [sp+40]
0028ab68ldur x29, [sp-8]
0028ab6cldr x30, [sp], 80
0028ab70ret x30
0028ab74
0028ab74loc_28ab74:
0028ab74ldr x2, [sp+56]
0028ab78sub x2, x2, 1
0028ab7cstr x2, [sp+64]
0028ab80b 0x28ab84
0028ab84
0028ab84loc_28ab84:
0028ab84ldr x2, [sp+64]
0028ab88subs xzr, x2, 0
0028ab8ccset x2, gt
0028ab90strb w2, [sp+39]
0028ab94b.gt 0x28ab9c
0028ab98b 0x28abe4
0028ab9c
0028ab9cloc_28ab9c:
0028ab9cldr x0, [sp+64]
0028aba0ldr x1, [sp+96]
0028aba4ldr x2, [sp+88]
0028aba8subs xzr, x0, x1
0028abacb.lo 0x28abb4
0028abb0b 0x28acd8
0028abb4
0028abb4loc_28abb4:
0028abb4ldr x2, [x2+3*x0]
0028abb8ldr x0, [sp+64]
0028abbcldr x1, [sp+120]
0028abc0ldr x3, [sp+112]
0028abc4subs xzr, x0, x1
0028abc8b.lo 0x28abd0
0028abccb 0x28acd4
0028abd0
0028abd0loc_28abd0:
0028abd0ldr x3, [x3+3*x0]
0028abd4subs xzr, x3, x2
0028abd8cset x2, eq
0028abdcstrb w2, [sp+39]
0028abe0b 0x28abe8
0028abe4
0028abe4loc_28abe4:
0028abe4b 0x28abe8
0028abe8
0028abe8loc_28abe8:
0028abe8ldrb w2, [sp+39]
0028abectbnz w2, 0, 0x28abf4
0028abf0b 0x28ac08
0028abf4
0028abf4loc_28abf4:
0028abf4ldr x2, [sp+64]
0028abf8sub x2, x2, 1
0028abfcstr x2, [sp+64]
0028ac00b 0x28ac04
0028ac04
0028ac04loc_28ac04:
0028ac04b 0x28ab84
0028ac08
0028ac08loc_28ac08:
0028ac08ldr x0, [sp+64]
0028ac0cldr x1, [sp+96]
0028ac10ldr x2, [sp+88]
0028ac14subs xzr, x0, x1
0028ac18b.lo 0x28ac20
0028ac1cb 0x28acd0
0028ac20
0028ac20loc_28ac20:
0028ac20ldr x2, [x2+3*x0]
0028ac24ldr x0, [sp+64]
0028ac28ldr x1, [sp+120]
0028ac2cldr x3, [sp+112]
0028ac30subs xzr, x1, x0
0028ac34b.hi 0x28ac3c
0028ac38b 0x28accc
0028ac3c
0028ac3cloc_28ac3c:
0028ac3cldr x3, [x3+3*x0]
0028ac40subs xzr, x3, x2
0028ac44b.hi 0x28ac4c
0028ac48b 0x28ac5c
0028ac4c
0028ac4cloc_28ac4c:
0028ac4cb 0x28ac50
0028ac50
0028ac50loc_28ac50:
0028ac50movn x1, 0
0028ac54str x1, [sp+40]
0028ac58b 0x28acb4
0028ac5c
0028ac5cloc_28ac5c:
0028ac5cldr x0, [sp+64]
0028ac60ldr x1, [sp+96]
0028ac64ldr x2, [sp+88]
0028ac68subs xzr, x0, x1
0028ac6cb.lo 0x28ac74
0028ac70b 0x28acc8
0028ac74
0028ac74loc_28ac74:
0028ac74ldr x2, [x2+3*x0]
0028ac78ldr x0, [sp+64]
0028ac7cldr x1, [sp+120]
0028ac80ldr x3, [sp+112]
0028ac84subs xzr, x1, x0
0028ac88b.hi 0x28ac90
0028ac8cb 0x28acc4
0028ac90
0028ac90loc_28ac90:
0028ac90ldr x1, [x3+3*x0]
0028ac94subs xzr, x1, x2
0028ac98b.lo 0x28aca0
0028ac9cb 0x28acb0
0028aca0
0028aca0loc_28aca0:
0028aca0b 0x28aca4
0028aca4
0028aca4loc_28aca4:
0028aca4orr x1, xzr, 1
0028aca8str x1, [sp+40]
0028acacb 0x28acb4
0028acb0
0028acb0loc_28acb0:
0028acb0b 0x28acb4
0028acb4
0028acb4loc_28acb4:
0028acb4ldr x0, [sp+40]
0028acb8ldur x29, [sp-8]
0028acbcldr x30, [sp], 80
0028acc0ret x30
0028acc4
0028acc4loc_28acc4:
0028acc4bl runtime.panicIndex
0028acc8
0028acc8loc_28acc8:
0028acc8bl runtime.panicIndex
0028accc
0028acccloc_28accc:
0028acccbl runtime.panicIndex
0028acd0
0028acd0loc_28acd0:
0028acd0bl runtime.panicIndex
0028acd4
0028acd4loc_28acd4:
0028acd4bl runtime.panicIndex
0028acd8
0028acd8loc_28acd8:
0028acd8bl runtime.panicIndex
0028acdchint
0028ace0
0028ace0loc_28ace0:
0028ace0stp x0, x1, [sp+8]
0028ace4stp x2, x3, [sp+24]
0028ace8stp x4, x5, [sp+40]
0028acecmov x3, x30
0028acf0bl runtime.morestack_noctxt.abi0
0028acf4ldp x0, x1, [sp+8]
0028acf8ldp x2, x3, [sp+24]
0028acfcldp x4, x5, [sp+40]
0028ad00b 0x28aaa0
0028ad04udf 0
0028ad08udf 0
0028ad0cudf 0
0028aaa0
0028aaa0math/big.nat.cmp: ; void math/big.nat.cmp(math/big.nat x, math/big.nat y)
0028aaa0ldr x16, [x28+16]
0028aaa4subs xzr, sp, x16
0028aaa8b.ls 0x28ace0
0028aaacstr x30, [sp-80]!
0028aab0stur x29, [sp-8]
0028aab4sub x29, sp, 8
0028aab8str x0, [sp+88]
0028aabcstr x1, [sp+96]
0028aac0str x2, [sp+104]
0028aac4str x3, [sp+112]
0028aac8str x4, [sp+120]
0028aaccstr x5, [sp+128]
0028aad0str xzr, [sp+40]
0028aad4ldr x2, [sp+96]
0028aad8str x2, [sp+56]
0028aadcstr x4, [sp+48]
0028aae0subs xzr, x4, x2
0028aae4cset x2, ne
0028aae8strb w2, [sp+39]
0028aaecb.ne 0x28aaf4
0028aaf0b 0x28aaf8
0028aaf4
0028aaf4loc_28aaf4:
0028aaf4b 0x28ab0c
0028aaf8
0028aaf8loc_28aaf8:
0028aaf8ldr x2, [sp+56]
0028aafcsubs xzr, x2, 0
0028ab00cset x2, eq
0028ab04strb w2, [sp+39]
0028ab08b 0x28ab0c
0028ab0c
0028ab0cloc_28ab0c:
0028ab0cldrb w2, [sp+39]
0028ab10tbnz w2, 0, 0x28ab18
0028ab14b 0x28ab74
0028ab18
0028ab18loc_28ab18:
0028ab18ldr x1, [sp+48]
0028ab1cldr x2, [sp+56]
0028ab20subs xzr, x1, x2
0028ab24b.gt 0x28ab2c
0028ab28b 0x28ab3c
0028ab2c
0028ab2cloc_28ab2c:
0028ab2cb 0x28ab30
0028ab30
0028ab30loc_28ab30:
0028ab30movn x1, 0
0028ab34str x1, [sp+40]
0028ab38b 0x28ab64
0028ab3c
0028ab3cloc_28ab3c:
0028ab3cldr x1, [sp+48]
0028ab40ldr x2, [sp+56]
0028ab44subs xzr, x1, x2
0028ab48b.lt 0x28ab50
0028ab4cb 0x28ab60
0028ab50
0028ab50loc_28ab50:
0028ab50b 0x28ab54
0028ab54
0028ab54loc_28ab54:
0028ab54orr x1, xzr, 1
0028ab58str x1, [sp+40]
0028ab5cb 0x28ab64
0028ab60
0028ab60loc_28ab60:
0028ab60b 0x28ab64
0028ab64
0028ab64loc_28ab64:
0028ab64ldr x0, [sp+40]
0028ab68ldur x29, [sp-8]
0028ab6cldr x30, [sp], 80
0028ab70ret x30
0028ab74
0028ab74loc_28ab74:
0028ab74ldr x2, [sp+56]
0028ab78sub x2, x2, 1
0028ab7cstr x2, [sp+64]
0028ab80b 0x28ab84
0028ab84
0028ab84loc_28ab84:
0028ab84ldr x2, [sp+64]
0028ab88subs xzr, x2, 0
0028ab8ccset x2, gt
0028ab90strb w2, [sp+39]
0028ab94b.gt 0x28ab9c
0028ab98b 0x28abe4
0028ab9c
0028ab9cloc_28ab9c:
0028ab9cldr x0, [sp+64]
0028aba0ldr x1, [sp+96]
0028aba4ldr x2, [sp+88]
0028aba8subs xzr, x0, x1
0028abacb.lo 0x28abb4
0028abb0b 0x28acd8
0028abb4
0028abb4loc_28abb4:
0028abb4ldr x2, [x2+3*x0]
0028abb8ldr x0, [sp+64]
0028abbcldr x1, [sp+120]
0028abc0ldr x3, [sp+112]
0028abc4subs xzr, x0, x1
0028abc8b.lo 0x28abd0
0028abccb 0x28acd4
0028abd0
0028abd0loc_28abd0:
0028abd0ldr x3, [x3+3*x0]
0028abd4subs xzr, x3, x2
0028abd8cset x2, eq
0028abdcstrb w2, [sp+39]
0028abe0b 0x28abe8
0028abe4
0028abe4loc_28abe4:
0028abe4b 0x28abe8
0028abe8
0028abe8loc_28abe8:
0028abe8ldrb w2, [sp+39]
0028abectbnz w2, 0, 0x28abf4
0028abf0b 0x28ac08
0028abf4
0028abf4loc_28abf4:
0028abf4ldr x2, [sp+64]
0028abf8sub x2, x2, 1
0028abfcstr x2, [sp+64]
0028ac00b 0x28ac04
0028ac04
0028ac04loc_28ac04:
0028ac04b 0x28ab84
0028ac08
0028ac08loc_28ac08:
0028ac08ldr x0, [sp+64]
0028ac0cldr x1, [sp+96]
0028ac10ldr x2, [sp+88]
0028ac14subs xzr, x0, x1
0028ac18b.lo 0x28ac20
0028ac1cb 0x28acd0
0028ac20
0028ac20loc_28ac20:
0028ac20ldr x2, [x2+3*x0]
0028ac24ldr x0, [sp+64]
0028ac28ldr x1, [sp+120]
0028ac2cldr x3, [sp+112]
0028ac30subs xzr, x1, x0
0028ac34b.hi 0x28ac3c
0028ac38b 0x28accc
0028ac3c
0028ac3cloc_28ac3c:
0028ac3cldr x3, [x3+3*x0]
0028ac40subs xzr, x3, x2
0028ac44b.hi 0x28ac4c
0028ac48b 0x28ac5c
0028ac4c
0028ac4cloc_28ac4c:
0028ac4cb 0x28ac50
0028ac50
0028ac50loc_28ac50:
0028ac50movn x1, 0
0028ac54str x1, [sp+40]
0028ac58b 0x28acb4
0028ac5c
0028ac5cloc_28ac5c:
0028ac5cldr x0, [sp+64]
0028ac60ldr x1, [sp+96]
0028ac64ldr x2, [sp+88]
0028ac68subs xzr, x0, x1
0028ac6cb.lo 0x28ac74
0028ac70b 0x28acc8
0028ac74
0028ac74loc_28ac74:
0028ac74ldr x2, [x2+3*x0]
0028ac78ldr x0, [sp+64]
0028ac7cldr x1, [sp+120]
0028ac80ldr x3, [sp+112]
0028ac84subs xzr, x1, x0
0028ac88b.hi 0x28ac90
0028ac8cb 0x28acc4
0028ac90
0028ac90loc_28ac90:
0028ac90ldr x1, [x3+3*x0]
0028ac94subs xzr, x1, x2
0028ac98b.lo 0x28aca0
0028ac9cb 0x28acb0
0028aca0
0028aca0loc_28aca0:
0028aca0b 0x28aca4
0028aca4
0028aca4loc_28aca4:
0028aca4orr x1, xzr, 1
0028aca8str x1, [sp+40]
0028acacb 0x28acb4
0028acb0
0028acb0loc_28acb0:
0028acb0b 0x28acb4
0028acb4
0028acb4loc_28acb4:
0028acb4ldr x0, [sp+40]
0028acb8ldur x29, [sp-8]
0028acbcldr x30, [sp], 80
0028acc0ret x30
0028acc4
0028acc4loc_28acc4:
0028acc4bl runtime.panicIndex
0028acc8
0028acc8loc_28acc8:
0028acc8bl runtime.panicIndex
0028accc
0028acccloc_28accc:
0028acccbl runtime.panicIndex
0028acd0
0028acd0loc_28acd0:
0028acd0bl runtime.panicIndex
0028acd4
0028acd4loc_28acd4:
0028acd4bl runtime.panicIndex
0028acd8
0028acd8loc_28acd8:
0028acd8bl runtime.panicIndex
0028acdchint
0028ace0
0028ace0loc_28ace0:
0028ace0stp x0, x1, [sp+8]
0028ace4stp x2, x3, [sp+24]
0028ace8stp x4, x5, [sp+40]
0028acecmov x3, x30
0028acf0bl runtime.morestack_noctxt.abi0
0028acf4ldp x0, x1, [sp+8]
0028acf8ldp x2, x3, [sp+24]
0028acfcldp x4, x5, [sp+40]
0028ad00b 0x28aaa0
0028ad04udf 0
0028ad08udf 0
0028ad0cudf 0
0028aaa0
0028ad10
0028ad10math/big.nat.mulAddWW: ; void math/big.nat.mulAddWW(math/big.nat z, math/big.nat x, math/big.Word y, math/big.Word r)
0028ad10ldr x16, [x28+16]
0028ad14sub x17, sp, 32
0028ad18subs xzr, x17, x16
0028ad1cb.ls 0x28aeb4
0028ad20str x30, [sp-160]!
0028ad24stur x29, [sp-8]
0028ad28sub x29, sp, 8
0028ad2cstr x0, [sp+168]
0028ad30str x1, [sp+176]
0028ad34str x2, [sp+184]
0028ad38str x3, [sp+192]
0028ad3cstr x4, [sp+200]
0028ad40str x5, [sp+208]
0028ad44str x6, [sp+216]
0028ad48str x7, [sp+224]
0028ad4cstr xzr, [sp+104]
0028ad50stp xzr, xzr, [sp+112]
0028ad54ldr x4, [sp+200]
0028ad58str x4, [sp+88]
0028ad5csubs xzr, x4, 0
0028ad60cset x5, eq
0028ad64strb w5, [sp+87]
0028ad68cbz x4, 0x28ad70
0028ad6cb 0x28ad74
0028ad70
0028ad70loc_28ad70:
0028ad70b 0x28ad88
0028ad74
0028ad74loc_28ad74:
0028ad74ldr x4, [sp+216]
0028ad78subs xzr, x4, 0
0028ad7ccset x4, eq
0028ad80strb w4, [sp+87]
0028ad84b 0x28ad88
0028ad88
0028ad88loc_28ad88:
0028ad88ldrb w4, [sp+87]
0028ad8ctbnz w4, 0, 0x28ad94
0028ad90b 0x28adcc
0028ad94
0028ad94loc_28ad94:
0028ad94ldr x3, [sp+224]
0028ad98ldr x0, [sp+168]
0028ad9cldr x1, [sp+176]
0028ada0ldr x2, [sp+184]
0028ada4bl math/big.nat.setWord
0028ada8str x0, [sp+128]
0028adacstr x1, [sp+136]
0028adb0str x2, [sp+144]
0028adb4str x0, [sp+104]
0028adb8str x1, [sp+112]
0028adbcstr x2, [sp+120]
0028adc0ldur x29, [sp-8]
0028adc4ldr x30, [sp], 160
0028adc8ret x30
0028adcc
0028adccloc_28adcc:
0028adccldr x0, [sp+168]
0028add0ldr x1, [sp+176]
0028add4ldr x2, [sp+184]
0028add8ldr x4, [sp+88]
0028addcadd x3, x4, 1
0028ade0bl math/big.nat.make
0028ade4str x0, [sp+168]
0028ade8str x1, [sp+176]
0028adecstr x2, [sp+184]
0028adf0ldr x1, [sp+88]
0028adf4subs xzr, x2, x1
0028adf8b.hs 0x28ae00
0028adfcb 0x28aeac
0028ae00
0028ae00loc_28ae00:
0028ae00b 0x28ae04
0028ae04
0028ae04loc_28ae04:
0028ae04str x0, [sp+128]
0028ae08str x1, [sp+136]
0028ae0cstr x2, [sp+144]
0028ae10ldr x3, [sp+216]
0028ae14ldr x4, [sp+224]
0028ae18ldr x5, [sp+192]
0028ae1cldr x6, [sp+200]
0028ae20ldr x7, [sp+208]
0028ae24str x0, [sp+8]
0028ae28str x1, [sp+16]
0028ae2cstr x2, [sp+24]
0028ae30str x5, [sp+32]
0028ae34str x6, [sp+40]
0028ae38str x7, [sp+48]
0028ae3cstr x3, [sp+56]
0028ae40str x4, [sp+64]
0028ae44bl math/big.mulAddVWW.abi0
0028ae48ldr x0, [sp+72]
0028ae4cstr x0, [sp+96]
0028ae50ldr x1, [sp+88]
0028ae54ldr x2, [sp+176]
0028ae58ldr x3, [sp+168]
0028ae5csubs xzr, x2, x1
0028ae60b.hi 0x28ae68
0028ae64b 0x28aea0
0028ae68
0028ae68loc_28ae68:
0028ae68str x0, [x3+3*x1]
0028ae6cldr x0, [sp+168]
0028ae70ldr x1, [sp+176]
0028ae74ldr x2, [sp+184]
0028ae78bl math/big.nat.norm
0028ae7cstr x0, [sp+128]
0028ae80str x1, [sp+136]
0028ae84str x2, [sp+144]
0028ae88str x0, [sp+104]
0028ae8cstr x1, [sp+112]
0028ae90str x2, [sp+120]
0028ae94ldur x29, [sp-8]
0028ae98ldr x30, [sp], 160
0028ae9cret x30
0028aea0
0028aea0loc_28aea0:
0028aea0mov x0, x1
0028aea4mov x1, x2
0028aea8bl runtime.panicIndex
0028aeac
0028aeacloc_28aeac:
0028aeacbl runtime.panicSliceAcap
0028aeb0hint
0028aeb4
0028aeb4loc_28aeb4:
0028aeb4stp x0, x1, [sp+8]
0028aeb8stp x2, x3, [sp+24]
0028aebcstp x4, x5, [sp+40]
0028aec0stp x6, x7, [sp+56]
0028aec4mov x3, x30
0028aec8bl runtime.morestack_noctxt.abi0
0028aeccldp x0, x1, [sp+8]
0028aed0ldp x2, x3, [sp+24]
0028aed4ldp x4, x5, [sp+40]
0028aed8ldp x6, x7, [sp+56]
0028aedcb 0x28ad10
0028ad10
0028ad10math/big.nat.mulAddWW: ; void math/big.nat.mulAddWW(math/big.nat z, math/big.nat x, math/big.Word y, math/big.Word r)
0028ad10ldr x16, [x28+16]
0028ad14sub x17, sp, 32
0028ad18subs xzr, x17, x16
0028ad1cb.ls 0x28aeb4
0028ad20str x30, [sp-160]!
0028ad24stur x29, [sp-8]
0028ad28sub x29, sp, 8
0028ad2cstr x0, [sp+168]
0028ad30str x1, [sp+176]
0028ad34str x2, [sp+184]
0028ad38str x3, [sp+192]
0028ad3cstr x4, [sp+200]
0028ad40str x5, [sp+208]
0028ad44str x6, [sp+216]
0028ad48str x7, [sp+224]
0028ad4cstr xzr, [sp+104]
0028ad50stp xzr, xzr, [sp+112]
0028ad54ldr x4, [sp+200]
0028ad58str x4, [sp+88]
0028ad5csubs xzr, x4, 0
0028ad60cset x5, eq
0028ad64strb w5, [sp+87]
0028ad68cbz x4, 0x28ad70
0028ad6cb 0x28ad74
0028ad70
0028ad70loc_28ad70:
0028ad70b 0x28ad88
0028ad74
0028ad74loc_28ad74:
0028ad74ldr x4, [sp+216]
0028ad78subs xzr, x4, 0
0028ad7ccset x4, eq
0028ad80strb w4, [sp+87]
0028ad84b 0x28ad88
0028ad88
0028ad88loc_28ad88:
0028ad88ldrb w4, [sp+87]
0028ad8ctbnz w4, 0, 0x28ad94
0028ad90b 0x28adcc
0028ad94
0028ad94loc_28ad94:
0028ad94ldr x3, [sp+224]
0028ad98ldr x0, [sp+168]
0028ad9cldr x1, [sp+176]
0028ada0ldr x2, [sp+184]
0028ada4bl math/big.nat.setWord
0028ada8str x0, [sp+128]
0028adacstr x1, [sp+136]
0028adb0str x2, [sp+144]
0028adb4str x0, [sp+104]
0028adb8str x1, [sp+112]
0028adbcstr x2, [sp+120]
0028adc0ldur x29, [sp-8]
0028adc4ldr x30, [sp], 160
0028adc8ret x30
0028adcc
0028adccloc_28adcc:
0028adccldr x0, [sp+168]
0028add0ldr x1, [sp+176]
0028add4ldr x2, [sp+184]
0028add8ldr x4, [sp+88]
0028addcadd x3, x4, 1
0028ade0bl math/big.nat.make
0028ade4str x0, [sp+168]
0028ade8str x1, [sp+176]
0028adecstr x2, [sp+184]
0028adf0ldr x1, [sp+88]
0028adf4subs xzr, x2, x1
0028adf8b.hs 0x28ae00
0028adfcb 0x28aeac
0028ae00
0028ae00loc_28ae00:
0028ae00b 0x28ae04
0028ae04
0028ae04loc_28ae04:
0028ae04str x0, [sp+128]
0028ae08str x1, [sp+136]
0028ae0cstr x2, [sp+144]
0028ae10ldr x3, [sp+216]
0028ae14ldr x4, [sp+224]
0028ae18ldr x5, [sp+192]
0028ae1cldr x6, [sp+200]
0028ae20ldr x7, [sp+208]
0028ae24str x0, [sp+8]
0028ae28str x1, [sp+16]
0028ae2cstr x2, [sp+24]
0028ae30str x5, [sp+32]
0028ae34str x6, [sp+40]
0028ae38str x7, [sp+48]
0028ae3cstr x3, [sp+56]
0028ae40str x4, [sp+64]
0028ae44bl math/big.mulAddVWW.abi0
0028ae48ldr x0, [sp+72]
0028ae4cstr x0, [sp+96]
0028ae50ldr x1, [sp+88]
0028ae54ldr x2, [sp+176]
0028ae58ldr x3, [sp+168]
0028ae5csubs xzr, x2, x1
0028ae60b.hi 0x28ae68
0028ae64b 0x28aea0
0028ae68
0028ae68loc_28ae68:
0028ae68str x0, [x3+3*x1]
0028ae6cldr x0, [sp+168]
0028ae70ldr x1, [sp+176]
0028ae74ldr x2, [sp+184]
0028ae78bl math/big.nat.norm
0028ae7cstr x0, [sp+128]
0028ae80str x1, [sp+136]
0028ae84str x2, [sp+144]
0028ae88str x0, [sp+104]
0028ae8cstr x1, [sp+112]
0028ae90str x2, [sp+120]
0028ae94ldur x29, [sp-8]
0028ae98ldr x30, [sp], 160
0028ae9cret x30
0028aea0
0028aea0loc_28aea0:
0028aea0mov x0, x1
0028aea4mov x1, x2
0028aea8bl runtime.panicIndex
0028aeac
0028aeacloc_28aeac:
0028aeacbl runtime.panicSliceAcap
0028aeb0hint
0028aeb4
0028aeb4loc_28aeb4:
0028aeb4stp x0, x1, [sp+8]
0028aeb8stp x2, x3, [sp+24]
0028aebcstp x4, x5, [sp+40]
0028aec0stp x6, x7, [sp+56]
0028aec4mov x3, x30
0028aec8bl runtime.morestack_noctxt.abi0
0028aeccldp x0, x1, [sp+8]
0028aed0ldp x2, x3, [sp+24]
0028aed4ldp x4, x5, [sp+40]
0028aed8ldp x6, x7, [sp+56]
0028aedcb 0x28ad10
0028ad10
0028aee0
0028aee0math/big.basicMul: ; void math/big.basicMul(math/big.nat z, math/big.nat x, math/big.nat y)
0028aee0ldr x16, [x28+16]
0028aee4sub x17, sp, 96
0028aee8subs xzr, x17, x16
0028aeecb.ls 0x28b0dc
0028aef0str x30, [sp-224]!
0028aef4stur x29, [sp-8]
0028aef8sub x29, sp, 8
0028aefcstr x0, [sp+232]
0028af00str x1, [sp+240]
0028af04str x2, [sp+248]
0028af08str x3, [sp+256]
0028af0cstr x4, [sp+264]
0028af10str x5, [sp+272]
0028af14str x6, [sp+280]
0028af18str x7, [sp+288]
0028af1cstr x8, [sp+296]
0028af20str x4, [sp+112]
0028af24str x7, [sp+104]
0028af28add x1, x4, x7
0028af2cstr x1, [sp+96]
0028af30ldr x2, [sp+248]
0028af34ldr x3, [sp+232]
0028af38subs xzr, x2, x1
0028af3cb.hs 0x28af44
0028af40b 0x28b0d4
0028af44
0028af44loc_28af44:
0028af44b 0x28af48
0028af48
0028af48loc_28af48:
0028af48str x3, [sp+184]
0028af4cstr x1, [sp+192]
0028af50str x2, [sp+200]
0028af54cbnz x1, 0x28af5c
0028af58b 0x28af7c
0028af5c
0028af5cloc_28af5c:
0028af5cstr x3, [sp+208]
0028af60ldr x2, [sp+192]
0028af64ubfm x2, x2, 61, 60
0028af68str x2, [sp+144]
0028af6cldr x1, [sp+144]
0028af70ldr x0, [sp+208]
0028af74bl runtime.memclrNoHeapPointers
0028af78b 0x28af80
0028af7c
0028af7cloc_28af7c:
0028af7cb 0x28af80
0028af80
0028af80loc_28af80:
0028af80ldr x3, [sp+288]
0028af84ldr x4, [sp+280]
0028af88ldr x5, [sp+296]
0028af8cstr x4, [sp+184]
0028af90str x3, [sp+192]
0028af94str x5, [sp+200]
0028af98str xzr, [sp+136]
0028af9cstr x3, [sp+128]
0028afa0b 0x28afa4
0028afa4
0028afa4loc_28afa4:
0028afa4ldr x3, [sp+128]
0028afa8ldr x4, [sp+136]
0028afacsubs xzr, x3, x4
0028afb0b.gt 0x28afb8
0028afb4b 0x28b0b4
0028afb8
0028afb8loc_28afb8:
0028afb8ldr x3, [sp+136]
0028afbcstr x3, [sp+80]
0028afc0ldr x4, [sp+136]
0028afc4ldr x5, [sp+184]
0028afc8ldr x4, [x5+3*x4]
0028afccstr x4, [sp+88]
0028afd0cbnz x4, 0x28afd8
0028afd4b 0x28b09c
0028afd8
0028afd8loc_28afd8:
0028afd8ldr x4, [sp+264]
0028afdcstr x4, [sp+96]
0028afe0ldr x4, [sp+264]
0028afe4str x4, [sp+104]
0028afe8add x1, x3, x4
0028afecstr x1, [sp+112]
0028aff0ldr x0, [sp+80]
0028aff4ldr x2, [sp+248]
0028aff8ldr x3, [sp+232]
0028affcsubs xzr, x2, x1
0028b000b.hs 0x28b008
0028b004b 0x28b0d0
0028b008
0028b008loc_28b008:
0028b008subs xzr, x0, x1
0028b00cb.ls 0x28b014
0028b010b 0x28b0cc
0028b014
0028b014loc_28b014:
0028b014sub x2, x2, x0
0028b018sub x1, x1, x0
0028b01csub x4, xzr, x2
0028b020ubfm x0, x0, 61, 60
0028b024and x0, x0, x4, asr #63
0028b028add x0, x3, x0
0028b02cstr x0, [sp+160]
0028b030str x1, [sp+168]
0028b034str x2, [sp+176]
0028b038ldr x3, [sp+88]
0028b03cldr x4, [sp+256]
0028b040ldr x5, [sp+264]
0028b044ldr x6, [sp+272]
0028b048str x0, [sp+8]
0028b04cstr x1, [sp+16]
0028b050str x2, [sp+24]
0028b054str x4, [sp+32]
0028b058str x5, [sp+40]
0028b05cstr x6, [sp+48]
0028b060str x3, [sp+56]
0028b064bl math/big.addMulVVW.abi0
0028b068ldr x0, [sp+64]
0028b06cstr x0, [sp+152]
0028b070ldr x1, [sp+96]
0028b074ldr x2, [sp+80]
0028b078add x1, x1, x2
0028b07cstr x1, [sp+120]
0028b080ldr x2, [sp+240]
0028b084ldr x3, [sp+232]
0028b088subs xzr, x2, x1
0028b08cb.hi 0x28b094
0028b090b 0x28b0c0
0028b094
0028b094loc_28b094:
0028b094str x0, [x3+3*x1]
0028b098b 0x28b0a0
0028b09c
0028b09cloc_28b09c:
0028b09cb 0x28b0a0
0028b0a0
0028b0a0loc_28b0a0:
0028b0a0b 0x28b0a4
0028b0a4
0028b0a4loc_28b0a4:
0028b0a4ldr x3, [sp+136]
0028b0a8add x3, x3, 1
0028b0acstr x3, [sp+136]
0028b0b0b 0x28afa4
0028b0b4
0028b0b4loc_28b0b4:
0028b0b4ldur x29, [sp-8]
0028b0b8ldr x30, [sp], 224
0028b0bcret x30
0028b0c0
0028b0c0loc_28b0c0:
0028b0c0mov x0, x1
0028b0c4mov x1, x2
0028b0c8bl runtime.panicIndex
0028b0cc
0028b0ccloc_28b0cc:
0028b0ccbl runtime.panicSliceB
0028b0d0
0028b0d0loc_28b0d0:
0028b0d0bl runtime.panicSliceAcap
0028b0d4
0028b0d4loc_28b0d4:
0028b0d4bl runtime.panicSliceAcap
0028b0d8hint
0028b0dc
0028b0dcloc_28b0dc:
0028b0dcstp x0, x1, [sp+8]
0028b0e0stp x2, x3, [sp+24]
0028b0e4stp x4, x5, [sp+40]
0028b0e8stp x6, x7, [sp+56]
0028b0ecstr x8, [sp+72]
0028b0f0mov x3, x30
0028b0f4bl runtime.morestack_noctxt.abi0
0028b0f8ldp x0, x1, [sp+8]
0028b0fcldp x2, x3, [sp+24]
0028b100ldp x4, x5, [sp+40]
0028b104ldp x6, x7, [sp+56]
0028b108ldr x8, [sp+72]
0028b10cb 0x28aee0
0028aee0
0028aee0math/big.basicMul: ; void math/big.basicMul(math/big.nat z, math/big.nat x, math/big.nat y)
0028aee0ldr x16, [x28+16]
0028aee4sub x17, sp, 96
0028aee8subs xzr, x17, x16
0028aeecb.ls 0x28b0dc
0028aef0str x30, [sp-224]!
0028aef4stur x29, [sp-8]
0028aef8sub x29, sp, 8
0028aefcstr x0, [sp+232]
0028af00str x1, [sp+240]
0028af04str x2, [sp+248]
0028af08str x3, [sp+256]
0028af0cstr x4, [sp+264]
0028af10str x5, [sp+272]
0028af14str x6, [sp+280]
0028af18str x7, [sp+288]
0028af1cstr x8, [sp+296]
0028af20str x4, [sp+112]
0028af24str x7, [sp+104]
0028af28add x1, x4, x7
0028af2cstr x1, [sp+96]
0028af30ldr x2, [sp+248]
0028af34ldr x3, [sp+232]
0028af38subs xzr, x2, x1
0028af3cb.hs 0x28af44
0028af40b 0x28b0d4
0028af44
0028af44loc_28af44:
0028af44b 0x28af48
0028af48
0028af48loc_28af48:
0028af48str x3, [sp+184]
0028af4cstr x1, [sp+192]
0028af50str x2, [sp+200]
0028af54cbnz x1, 0x28af5c
0028af58b 0x28af7c
0028af5c
0028af5cloc_28af5c:
0028af5cstr x3, [sp+208]
0028af60ldr x2, [sp+192]
0028af64ubfm x2, x2, 61, 60
0028af68str x2, [sp+144]
0028af6cldr x1, [sp+144]
0028af70ldr x0, [sp+208]
0028af74bl runtime.memclrNoHeapPointers
0028af78b 0x28af80
0028af7c
0028af7cloc_28af7c:
0028af7cb 0x28af80
0028af80
0028af80loc_28af80:
0028af80ldr x3, [sp+288]
0028af84ldr x4, [sp+280]
0028af88ldr x5, [sp+296]
0028af8cstr x4, [sp+184]
0028af90str x3, [sp+192]
0028af94str x5, [sp+200]
0028af98str xzr, [sp+136]
0028af9cstr x3, [sp+128]
0028afa0b 0x28afa4
0028afa4
0028afa4loc_28afa4:
0028afa4ldr x3, [sp+128]
0028afa8ldr x4, [sp+136]
0028afacsubs xzr, x3, x4
0028afb0b.gt 0x28afb8
0028afb4b 0x28b0b4
0028afb8
0028afb8loc_28afb8:
0028afb8ldr x3, [sp+136]
0028afbcstr x3, [sp+80]
0028afc0ldr x4, [sp+136]
0028afc4ldr x5, [sp+184]
0028afc8ldr x4, [x5+3*x4]
0028afccstr x4, [sp+88]
0028afd0cbnz x4, 0x28afd8
0028afd4b 0x28b09c
0028afd8
0028afd8loc_28afd8:
0028afd8ldr x4, [sp+264]
0028afdcstr x4, [sp+96]
0028afe0ldr x4, [sp+264]
0028afe4str x4, [sp+104]
0028afe8add x1, x3, x4
0028afecstr x1, [sp+112]
0028aff0ldr x0, [sp+80]
0028aff4ldr x2, [sp+248]
0028aff8ldr x3, [sp+232]
0028affcsubs xzr, x2, x1
0028b000b.hs 0x28b008
0028b004b 0x28b0d0
0028b008
0028b008loc_28b008:
0028b008subs xzr, x0, x1
0028b00cb.ls 0x28b014
0028b010b 0x28b0cc
0028b014
0028b014loc_28b014:
0028b014sub x2, x2, x0
0028b018sub x1, x1, x0
0028b01csub x4, xzr, x2
0028b020ubfm x0, x0, 61, 60
0028b024and x0, x0, x4, asr #63
0028b028add x0, x3, x0
0028b02cstr x0, [sp+160]
0028b030str x1, [sp+168]
0028b034str x2, [sp+176]
0028b038ldr x3, [sp+88]
0028b03cldr x4, [sp+256]
0028b040ldr x5, [sp+264]
0028b044ldr x6, [sp+272]
0028b048str x0, [sp+8]
0028b04cstr x1, [sp+16]
0028b050str x2, [sp+24]
0028b054str x4, [sp+32]
0028b058str x5, [sp+40]
0028b05cstr x6, [sp+48]
0028b060str x3, [sp+56]
0028b064bl math/big.addMulVVW.abi0
0028b068ldr x0, [sp+64]
0028b06cstr x0, [sp+152]
0028b070ldr x1, [sp+96]
0028b074ldr x2, [sp+80]
0028b078add x1, x1, x2
0028b07cstr x1, [sp+120]
0028b080ldr x2, [sp+240]
0028b084ldr x3, [sp+232]
0028b088subs xzr, x2, x1
0028b08cb.hi 0x28b094
0028b090b 0x28b0c0
0028b094
0028b094loc_28b094:
0028b094str x0, [x3+3*x1]
0028b098b 0x28b0a0
0028b09c
0028b09cloc_28b09c:
0028b09cb 0x28b0a0
0028b0a0
0028b0a0loc_28b0a0:
0028b0a0b 0x28b0a4
0028b0a4
0028b0a4loc_28b0a4:
0028b0a4ldr x3, [sp+136]
0028b0a8add x3, x3, 1
0028b0acstr x3, [sp+136]
0028b0b0b 0x28afa4
0028b0b4
0028b0b4loc_28b0b4:
0028b0b4ldur x29, [sp-8]
0028b0b8ldr x30, [sp], 224
0028b0bcret x30
0028b0c0
0028b0c0loc_28b0c0:
0028b0c0mov x0, x1
0028b0c4mov x1, x2
0028b0c8bl runtime.panicIndex
0028b0cc
0028b0ccloc_28b0cc:
0028b0ccbl runtime.panicSliceB
0028b0d0
0028b0d0loc_28b0d0:
0028b0d0bl runtime.panicSliceAcap
0028b0d4
0028b0d4loc_28b0d4:
0028b0d4bl runtime.panicSliceAcap
0028b0d8hint
0028b0dc
0028b0dcloc_28b0dc:
0028b0dcstp x0, x1, [sp+8]
0028b0e0stp x2, x3, [sp+24]
0028b0e4stp x4, x5, [sp+40]
0028b0e8stp x6, x7, [sp+56]
0028b0ecstr x8, [sp+72]
0028b0f0mov x3, x30
0028b0f4bl runtime.morestack_noctxt.abi0
0028b0f8ldp x0, x1, [sp+8]
0028b0fcldp x2, x3, [sp+24]
0028b100ldp x4, x5, [sp+40]
0028b104ldp x6, x7, [sp+56]
0028b108ldr x8, [sp+72]
0028b10cb 0x28aee0
0028aee0
0028b110
0028b110math/big.nat.montgomery: ; void math/big.nat.montgomery(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m, math/big.Word k, int n)
0028b110ldr x16, [x28+16]
0028b114sub x17, sp, 224
0028b118subs xzr, x17, x16
0028b11cb.ls 0x28b6b8
0028b120sub x20, sp, 352
0028b124stp x29, x30, [x20-8]
0028b128add sp, x20, 0
0028b12csub x29, sp, 8
0028b130str x0, [sp+360]
0028b134str x1, [sp+368]
0028b138str x2, [sp+376]
0028b13cstr x3, [sp+384]
0028b140str x4, [sp+392]
0028b144str x5, [sp+400]
0028b148str x6, [sp+408]
0028b14cstr x7, [sp+416]
0028b150str x8, [sp+424]
0028b154str x9, [sp+432]
0028b158str x10, [sp+440]
0028b15cstr x11, [sp+448]
0028b160str x12, [sp+456]
0028b164str x13, [sp+464]
0028b168str xzr, [sp+216]
0028b16cstp xzr, xzr, [sp+224]
0028b170ldr x4, [sp+392]
0028b174str x4, [sp+208]
0028b178ldr x5, [sp+464]
0028b17csubs xzr, x4, x5
0028b180cset x4, ne
0028b184strb w4, [sp+102]
0028b188b.ne 0x28b190
0028b18cb 0x28b194
0028b190
0028b190loc_28b190:
0028b190b 0x28b1b0
0028b194
0028b194loc_28b194:
0028b194ldr x4, [sp+416]
0028b198str x4, [sp+200]
0028b19cldr x5, [sp+464]
0028b1a0subs xzr, x4, x5
0028b1a4cset x4, ne
0028b1a8strb w4, [sp+102]
0028b1acb 0x28b1b0
0028b1b0
0028b1b0loc_28b1b0:
0028b1b0ldrb w4, [sp+102]
0028b1b4strb w4, [sp+103]
0028b1b8tbnz w4, 0, 0x28b1c0
0028b1bcb 0x28b1c4
0028b1c0
0028b1c0loc_28b1c0:
0028b1c0b 0x28b1e0
0028b1c4
0028b1c4loc_28b1c4:
0028b1c4ldr x4, [sp+440]
0028b1c8str x4, [sp+200]
0028b1ccldr x5, [sp+464]
0028b1d0subs xzr, x4, x5
0028b1d4cset x4, ne
0028b1d8strb w4, [sp+103]
0028b1dcb 0x28b1e0
0028b1e0
0028b1e0loc_28b1e0:
0028b1e0ldrb w4, [sp+103]
0028b1e4tbnz w4, 0, 0x28b6a0
0028b1e8b 0x28b1ec
0028b1ec
0028b1ecloc_28b1ec:
0028b1ecldr x0, [sp+360]
0028b1f0ldr x1, [sp+368]
0028b1f4ldr x2, [sp+376]
0028b1f8ldr x4, [sp+464]
0028b1fcubfm x3, x4, 63, 62
0028b200bl math/big.nat.make
0028b204str x0, [sp+360]
0028b208str x1, [sp+368]
0028b20cstr x2, [sp+376]
0028b210cbnz x1, 0x28b218
0028b214b 0x28b238
0028b218
0028b218loc_28b218:
0028b218str x0, [sp+288]
0028b21cldr x2, [sp+368]
0028b220ubfm x2, x2, 61, 60
0028b224str x2, [sp+192]
0028b228ldr x1, [sp+192]
0028b22cldr x0, [sp+288]
0028b230bl runtime.memclrNoHeapPointers
0028b234b 0x28b23c
0028b238
0028b238loc_28b238:
0028b238b 0x28b23c
0028b23c
0028b23cloc_28b23c:
0028b23cstr xzr, [sp+160]
0028b240str xzr, [sp+112]
0028b244b 0x28b248
0028b248
0028b248loc_28b248:
0028b248ldr x3, [sp+464]
0028b24cldr x4, [sp+112]
0028b250subs xzr, x3, x4
0028b254b.gt 0x28b25c
0028b258b 0x28b474
0028b25c
0028b25cloc_28b25c:
0028b25cldr x0, [sp+112]
0028b260ldr x1, [sp+416]
0028b264ldr x3, [sp+408]
0028b268subs xzr, x0, x1
0028b26cb.lo 0x28b274
0028b270b 0x28b69c
0028b274
0028b274loc_28b274:
0028b274ldr x3, [x3+3*x0]
0028b278str x3, [sp+120]
0028b27cldr x3, [sp+112]
0028b280ldr x4, [sp+464]
0028b284add x1, x4, x3
0028b288str x1, [sp+208]
0028b28cldr x0, [sp+112]
0028b290ldr x2, [sp+376]
0028b294ldr x3, [sp+360]
0028b298subs xzr, x2, x1
0028b29cb.hs 0x28b2a4
0028b2a0b 0x28b698
0028b2a4
0028b2a4loc_28b2a4:
0028b2a4subs xzr, x0, x1
0028b2a8b.ls 0x28b2b0
0028b2acb 0x28b694
0028b2b0
0028b2b0loc_28b2b0:
0028b2b0sub x2, x2, x0
0028b2b4sub x1, x1, x0
0028b2b8sub x4, xzr, x2
0028b2bcubfm x0, x0, 61, 60
0028b2c0and x0, x0, x4, asr #63
0028b2c4add x0, x3, x0
0028b2c8str x0, [sp+320]
0028b2ccstr x1, [sp+328]
0028b2d0str x2, [sp+336]
0028b2d4ldr x3, [sp+120]
0028b2d8ldr x4, [sp+384]
0028b2dcldr x5, [sp+392]
0028b2e0ldr x6, [sp+400]
0028b2e4str x0, [sp+8]
0028b2e8str x1, [sp+16]
0028b2ecstr x2, [sp+24]
0028b2f0str x4, [sp+32]
0028b2f4str x5, [sp+40]
0028b2f8str x6, [sp+48]
0028b2fcstr x3, [sp+56]
0028b300bl math/big.addMulVVW.abi0
0028b304ldr x0, [sp+64]
0028b308str x0, [sp+152]
0028b30cldr x0, [sp+112]
0028b310ldr x1, [sp+368]
0028b314ldr x2, [sp+360]
0028b318subs xzr, x1, x0
0028b31cb.hi 0x28b324
0028b320b 0x28b690
0028b324
0028b324loc_28b324:
0028b324ldr x3, [x2+3*x0]
0028b328ldr x4, [sp+456]
0028b32cmadd x3, x3, x4, xzr
0028b330str x3, [sp+104]
0028b334ldr x3, [sp+112]
0028b338ldr x4, [sp+464]
0028b33cadd x1, x4, x3
0028b340str x1, [sp+208]
0028b344ldr x0, [sp+112]
0028b348ldr x2, [sp+376]
0028b34cldr x3, [sp+360]
0028b350subs xzr, x2, x1
0028b354b.hs 0x28b35c
0028b358b 0x28b68c
0028b35c
0028b35cloc_28b35c:
0028b35csubs xzr, x0, x1
0028b360b.ls 0x28b368
0028b364b 0x28b688
0028b368
0028b368loc_28b368:
0028b368sub x2, x2, x0
0028b36csub x1, x1, x0
0028b370sub x4, xzr, x2
0028b374ubfm x0, x0, 61, 60
0028b378and x0, x0, x4, asr #63
0028b37cadd x0, x3, x0
0028b380str x0, [sp+320]
0028b384str x1, [sp+328]
0028b388str x2, [sp+336]
0028b38cldr x3, [sp+104]
0028b390ldr x4, [sp+432]
0028b394ldr x5, [sp+440]
0028b398ldr x6, [sp+448]
0028b39cstr x0, [sp+8]
0028b3a0str x1, [sp+16]
0028b3a4str x2, [sp+24]
0028b3a8str x4, [sp+32]
0028b3acstr x5, [sp+40]
0028b3b0str x6, [sp+48]
0028b3b4str x3, [sp+56]
0028b3b8bl math/big.addMulVVW.abi0
0028b3bcldr x0, [sp+64]
0028b3c0str x0, [sp+144]
0028b3c4ldr x1, [sp+152]
0028b3c8ldr x2, [sp+160]
0028b3ccadd x1, x2, x1
0028b3d0str x1, [sp+136]
0028b3d4add x0, x1, x0
0028b3d8str x0, [sp+128]
0028b3dcldr x1, [sp+112]
0028b3e0ldr x2, [sp+464]
0028b3e4add x1, x2, x1
0028b3e8str x1, [sp+184]
0028b3ecldr x2, [sp+368]
0028b3f0ldr x3, [sp+360]
0028b3f4subs xzr, x2, x1
0028b3f8b.hi 0x28b400
0028b3fcb 0x28b67c
0028b400
0028b400loc_28b400:
0028b400str x0, [x3+3*x1]
0028b404ldr x3, [sp+152]
0028b408ldr x4, [sp+136]
0028b40csubs xzr, x3, x4
0028b410cset x3, hi
0028b414strb w3, [sp+102]
0028b418b.hi 0x28b420
0028b41cb 0x28b424
0028b420
0028b420loc_28b420:
0028b420b 0x28b43c
0028b424
0028b424loc_28b424:
0028b424ldr x3, [sp+128]
0028b428ldr x4, [sp+144]
0028b42csubs xzr, x4, x3
0028b430cset x3, hi
0028b434strb w3, [sp+102]
0028b438b 0x28b43c
0028b43c
0028b43cloc_28b43c:
0028b43cldrb w3, [sp+102]
0028b440tbnz w3, 0, 0x28b448
0028b444b 0x28b454
0028b448
0028b448loc_28b448:
0028b448orr x3, xzr, 1
0028b44cstr x3, [sp+160]
0028b450b 0x28b460
0028b454
0028b454loc_28b454:
0028b454str xzr, [sp+160]
0028b458orr x3, xzr, 1
0028b45cb 0x28b460
0028b460
0028b460loc_28b460:
0028b460b 0x28b464
0028b464
0028b464loc_28b464:
0028b464ldr x4, [sp+112]
0028b468add x4, x4, 1
0028b46cstr x4, [sp+112]
0028b470b 0x28b248
0028b474
0028b474loc_28b474:
0028b474ldr x3, [sp+160]
0028b478cbnz x3, 0x28b480
0028b47cb 0x28b530
0028b480
0028b480loc_28b480:
0028b480ldr x1, [sp+464]
0028b484ldr x2, [sp+376]
0028b488ldr x3, [sp+360]
0028b48csubs xzr, x2, x1
0028b490b.hs 0x28b498
0028b494b 0x28b678
0028b498
0028b498loc_28b498:
0028b498b 0x28b49c
0028b49c
0028b49cloc_28b49c:
0028b49cstr x3, [sp+320]
0028b4a0str x1, [sp+328]
0028b4a4str x2, [sp+336]
0028b4a8ldr x0, [sp+464]
0028b4acldr x1, [sp+368]
0028b4b0ldr x2, [sp+360]
0028b4b4ldr x3, [sp+376]
0028b4b8b 0x28b4bc
0028b4bc
0028b4bcloc_28b4bc:
0028b4bcsubs xzr, x1, x0
0028b4c0b.hs 0x28b4c8
0028b4c4b 0x28b674
0028b4c8
0028b4c8loc_28b4c8:
0028b4c8sub x3, x3, x0
0028b4ccsub x1, x1, x0
0028b4d0sub x4, xzr, x3
0028b4d4ubfm x0, x0, 61, 60
0028b4d8and x0, x0, x4, asr #63
0028b4dcadd x0, x2, x0
0028b4e0str x0, [sp+296]
0028b4e4str x1, [sp+304]
0028b4e8str x3, [sp+312]
0028b4ecldr x2, [sp+320]
0028b4f0ldr x4, [sp+328]
0028b4f4ldr x5, [sp+336]
0028b4f8ldr x6, [sp+432]
0028b4fcldr x7, [sp+440]
0028b500ldr x8, [sp+448]
0028b504str x2, [sp+8]
0028b508str x4, [sp+16]
0028b50cstr x5, [sp+24]
0028b510str x0, [sp+32]
0028b514str x1, [sp+40]
0028b518str x3, [sp+48]
0028b51cstr x6, [sp+56]
0028b520str x7, [sp+64]
0028b524str x8, [sp+72]
0028b528bl math/big.subVV.abi0
0028b52cb 0x28b628
0028b530
0028b530loc_28b530:
0028b530ldr x1, [sp+464]
0028b534ldr x2, [sp+376]
0028b538ldr x3, [sp+360]
0028b53csubs xzr, x2, x1
0028b540b.hs 0x28b548
0028b544b 0x28b670
0028b548
0028b548loc_28b548:
0028b548b 0x28b54c
0028b54c
0028b54cloc_28b54c:
0028b54cstr x3, [sp+296]
0028b550str x1, [sp+304]
0028b554str x2, [sp+312]
0028b558ldr x0, [sp+464]
0028b55cldr x1, [sp+368]
0028b560ldr x3, [sp+360]
0028b564ldr x4, [sp+376]
0028b568b 0x28b56c
0028b56c
0028b56cloc_28b56c:
0028b56csubs xzr, x1, x0
0028b570b.hs 0x28b578
0028b574b 0x28b66c
0028b578
0028b578loc_28b578:
0028b578sub x4, x4, x0
0028b57csub x5, x1, x0
0028b580sub x6, xzr, x4
0028b584ubfm x7, x0, 61, 60
0028b588and x6, x7, x6, asr #63
0028b58cadd x3, x3, x6
0028b590str x3, [sp+320]
0028b594str x5, [sp+328]
0028b598str x4, [sp+336]
0028b59cldr x3, [sp+296]
0028b5a0ldr x4, [sp+304]
0028b5a4ldr x5, [sp+312]
0028b5a8str x3, [sp+264]
0028b5acstr x4, [sp+272]
0028b5b0str x5, [sp+280]
0028b5b4ldr x3, [sp+328]
0028b5b8ldr x4, [sp+320]
0028b5bcldr x5, [sp+336]
0028b5c0str x4, [sp+240]
0028b5c4str x3, [sp+248]
0028b5c8str x5, [sp+256]
0028b5ccldr x4, [sp+272]
0028b5d0str x4, [sp+176]
0028b5d4subs xzr, x4, x3
0028b5d8b.gt 0x28b5e0
0028b5dcb 0x28b5e8
0028b5e0
0028b5e0loc_28b5e0:
0028b5e0str x3, [sp+176]
0028b5e4b 0x28b5ec
0028b5e8
0028b5e8loc_28b5e8:
0028b5e8b 0x28b5ec
0028b5ec
0028b5ecloc_28b5ec:
0028b5ecldr x3, [sp+240]
0028b5f0ldr x4, [sp+264]
0028b5f4subs xzr, x3, x4
0028b5f8b.ne 0x28b600
0028b5fcb 0x28b620
0028b600
0028b600loc_28b600:
0028b600ldr x3, [sp+176]
0028b604str x3, [sp+168]
0028b608ldr x3, [sp+168]
0028b60cubfm x2, x3, 61, 60
0028b610ldr x1, [sp+240]
0028b614ldr x0, [sp+264]
0028b618bl runtime.memmove
0028b61cb 0x28b624
0028b620
0028b620loc_28b620:
0028b620b 0x28b624
0028b624
0028b624loc_28b624:
0028b624b 0x28b628
0028b628
0028b628loc_28b628:
0028b628ldr x1, [sp+464]
0028b62cldr x2, [sp+376]
0028b630ldr x0, [sp+360]
0028b634subs xzr, x2, x1
0028b638b.hs 0x28b640
0028b63cb 0x28b668
0028b640
0028b640loc_28b640:
0028b640b 0x28b644
0028b644
0028b644loc_28b644:
0028b644str x0, [sp+320]
0028b648str x1, [sp+328]
0028b64cstr x2, [sp+336]
0028b650str x0, [sp+216]
0028b654str x1, [sp+224]
0028b658str x2, [sp+232]
0028b65cldp x29, x30, [sp-8]
0028b660add sp, sp, 352
0028b664ret x30
0028b668
0028b668loc_28b668:
0028b668bl runtime.panicSliceAcap
0028b66c
0028b66cloc_28b66c:
0028b66cbl runtime.panicSliceB
0028b670
0028b670loc_28b670:
0028b670bl runtime.panicSliceAcap
0028b674
0028b674loc_28b674:
0028b674bl runtime.panicSliceB
0028b678
0028b678loc_28b678:
0028b678bl runtime.panicSliceAcap
0028b67c
0028b67cloc_28b67c:
0028b67cmov x0, x1
0028b680mov x1, x2
0028b684bl runtime.panicIndex
0028b688
0028b688loc_28b688:
0028b688bl runtime.panicSliceB
0028b68c
0028b68cloc_28b68c:
0028b68cbl runtime.panicSliceAcap
0028b690
0028b690loc_28b690:
0028b690bl runtime.panicIndex
0028b694
0028b694loc_28b694:
0028b694bl runtime.panicSliceB
0028b698
0028b698loc_28b698:
0028b698bl runtime.panicSliceAcap
0028b69c
0028b69cloc_28b69c:
0028b69cbl runtime.panicIndex
0028b6a0
0028b6a0loc_28b6a0:
0028b6a0adrp x0, 0x36a000
0028b6a4add x0, x0, 2944
0028b6a8adrp x1, 0x487000
0028b6acadd x1, x1, 1200
0028b6b0bl runtime.gopanic
0028b6b4hint
0028b6b8
0028b6b8loc_28b6b8:
0028b6b8stp x0, x1, [sp+8]
0028b6bcstp x2, x3, [sp+24]
0028b6c0stp x4, x5, [sp+40]
0028b6c4stp x6, x7, [sp+56]
0028b6c8stp x8, x9, [sp+72]
0028b6ccstp x10, x11, [sp+88]
0028b6d0stp x12, x13, [sp+104]
0028b6d4mov x3, x30
0028b6d8bl runtime.morestack_noctxt.abi0
0028b6dcldp x0, x1, [sp+8]
0028b6e0ldp x2, x3, [sp+24]
0028b6e4ldp x4, x5, [sp+40]
0028b6e8ldp x6, x7, [sp+56]
0028b6ecldp x8, x9, [sp+72]
0028b6f0ldp x10, x11, [sp+88]
0028b6f4ldp x12, x13, [sp+104]
0028b6f8b 0x28b110
0028b6fcudf 0
0028b110
0028b110math/big.nat.montgomery: ; void math/big.nat.montgomery(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m, math/big.Word k, int n)
0028b110ldr x16, [x28+16]
0028b114sub x17, sp, 224
0028b118subs xzr, x17, x16
0028b11cb.ls 0x28b6b8
0028b120sub x20, sp, 352
0028b124stp x29, x30, [x20-8]
0028b128add sp, x20, 0
0028b12csub x29, sp, 8
0028b130str x0, [sp+360]
0028b134str x1, [sp+368]
0028b138str x2, [sp+376]
0028b13cstr x3, [sp+384]
0028b140str x4, [sp+392]
0028b144str x5, [sp+400]
0028b148str x6, [sp+408]
0028b14cstr x7, [sp+416]
0028b150str x8, [sp+424]
0028b154str x9, [sp+432]
0028b158str x10, [sp+440]
0028b15cstr x11, [sp+448]
0028b160str x12, [sp+456]
0028b164str x13, [sp+464]
0028b168str xzr, [sp+216]
0028b16cstp xzr, xzr, [sp+224]
0028b170ldr x4, [sp+392]
0028b174str x4, [sp+208]
0028b178ldr x5, [sp+464]
0028b17csubs xzr, x4, x5
0028b180cset x4, ne
0028b184strb w4, [sp+102]
0028b188b.ne 0x28b190
0028b18cb 0x28b194
0028b190
0028b190loc_28b190:
0028b190b 0x28b1b0
0028b194
0028b194loc_28b194:
0028b194ldr x4, [sp+416]
0028b198str x4, [sp+200]
0028b19cldr x5, [sp+464]
0028b1a0subs xzr, x4, x5
0028b1a4cset x4, ne
0028b1a8strb w4, [sp+102]
0028b1acb 0x28b1b0
0028b1b0
0028b1b0loc_28b1b0:
0028b1b0ldrb w4, [sp+102]
0028b1b4strb w4, [sp+103]
0028b1b8tbnz w4, 0, 0x28b1c0
0028b1bcb 0x28b1c4
0028b1c0
0028b1c0loc_28b1c0:
0028b1c0b 0x28b1e0
0028b1c4
0028b1c4loc_28b1c4:
0028b1c4ldr x4, [sp+440]
0028b1c8str x4, [sp+200]
0028b1ccldr x5, [sp+464]
0028b1d0subs xzr, x4, x5
0028b1d4cset x4, ne
0028b1d8strb w4, [sp+103]
0028b1dcb 0x28b1e0
0028b1e0
0028b1e0loc_28b1e0:
0028b1e0ldrb w4, [sp+103]
0028b1e4tbnz w4, 0, 0x28b6a0
0028b1e8b 0x28b1ec
0028b1ec
0028b1ecloc_28b1ec:
0028b1ecldr x0, [sp+360]
0028b1f0ldr x1, [sp+368]
0028b1f4ldr x2, [sp+376]
0028b1f8ldr x4, [sp+464]
0028b1fcubfm x3, x4, 63, 62
0028b200bl math/big.nat.make
0028b204str x0, [sp+360]
0028b208str x1, [sp+368]
0028b20cstr x2, [sp+376]
0028b210cbnz x1, 0x28b218
0028b214b 0x28b238
0028b218
0028b218loc_28b218:
0028b218str x0, [sp+288]
0028b21cldr x2, [sp+368]
0028b220ubfm x2, x2, 61, 60
0028b224str x2, [sp+192]
0028b228ldr x1, [sp+192]
0028b22cldr x0, [sp+288]
0028b230bl runtime.memclrNoHeapPointers
0028b234b 0x28b23c
0028b238
0028b238loc_28b238:
0028b238b 0x28b23c
0028b23c
0028b23cloc_28b23c:
0028b23cstr xzr, [sp+160]
0028b240str xzr, [sp+112]
0028b244b 0x28b248
0028b248
0028b248loc_28b248:
0028b248ldr x3, [sp+464]
0028b24cldr x4, [sp+112]
0028b250subs xzr, x3, x4
0028b254b.gt 0x28b25c
0028b258b 0x28b474
0028b25c
0028b25cloc_28b25c:
0028b25cldr x0, [sp+112]
0028b260ldr x1, [sp+416]
0028b264ldr x3, [sp+408]
0028b268subs xzr, x0, x1
0028b26cb.lo 0x28b274
0028b270b 0x28b69c
0028b274
0028b274loc_28b274:
0028b274ldr x3, [x3+3*x0]
0028b278str x3, [sp+120]
0028b27cldr x3, [sp+112]
0028b280ldr x4, [sp+464]
0028b284add x1, x4, x3
0028b288str x1, [sp+208]
0028b28cldr x0, [sp+112]
0028b290ldr x2, [sp+376]
0028b294ldr x3, [sp+360]
0028b298subs xzr, x2, x1
0028b29cb.hs 0x28b2a4
0028b2a0b 0x28b698
0028b2a4
0028b2a4loc_28b2a4:
0028b2a4subs xzr, x0, x1
0028b2a8b.ls 0x28b2b0
0028b2acb 0x28b694
0028b2b0
0028b2b0loc_28b2b0:
0028b2b0sub x2, x2, x0
0028b2b4sub x1, x1, x0
0028b2b8sub x4, xzr, x2
0028b2bcubfm x0, x0, 61, 60
0028b2c0and x0, x0, x4, asr #63
0028b2c4add x0, x3, x0
0028b2c8str x0, [sp+320]
0028b2ccstr x1, [sp+328]
0028b2d0str x2, [sp+336]
0028b2d4ldr x3, [sp+120]
0028b2d8ldr x4, [sp+384]
0028b2dcldr x5, [sp+392]
0028b2e0ldr x6, [sp+400]
0028b2e4str x0, [sp+8]
0028b2e8str x1, [sp+16]
0028b2ecstr x2, [sp+24]
0028b2f0str x4, [sp+32]
0028b2f4str x5, [sp+40]
0028b2f8str x6, [sp+48]
0028b2fcstr x3, [sp+56]
0028b300bl math/big.addMulVVW.abi0
0028b304ldr x0, [sp+64]
0028b308str x0, [sp+152]
0028b30cldr x0, [sp+112]
0028b310ldr x1, [sp+368]
0028b314ldr x2, [sp+360]
0028b318subs xzr, x1, x0
0028b31cb.hi 0x28b324
0028b320b 0x28b690
0028b324
0028b324loc_28b324:
0028b324ldr x3, [x2+3*x0]
0028b328ldr x4, [sp+456]
0028b32cmadd x3, x3, x4, xzr
0028b330str x3, [sp+104]
0028b334ldr x3, [sp+112]
0028b338ldr x4, [sp+464]
0028b33cadd x1, x4, x3
0028b340str x1, [sp+208]
0028b344ldr x0, [sp+112]
0028b348ldr x2, [sp+376]
0028b34cldr x3, [sp+360]
0028b350subs xzr, x2, x1
0028b354b.hs 0x28b35c
0028b358b 0x28b68c
0028b35c
0028b35cloc_28b35c:
0028b35csubs xzr, x0, x1
0028b360b.ls 0x28b368
0028b364b 0x28b688
0028b368
0028b368loc_28b368:
0028b368sub x2, x2, x0
0028b36csub x1, x1, x0
0028b370sub x4, xzr, x2
0028b374ubfm x0, x0, 61, 60
0028b378and x0, x0, x4, asr #63
0028b37cadd x0, x3, x0
0028b380str x0, [sp+320]
0028b384str x1, [sp+328]
0028b388str x2, [sp+336]
0028b38cldr x3, [sp+104]
0028b390ldr x4, [sp+432]
0028b394ldr x5, [sp+440]
0028b398ldr x6, [sp+448]
0028b39cstr x0, [sp+8]
0028b3a0str x1, [sp+16]
0028b3a4str x2, [sp+24]
0028b3a8str x4, [sp+32]
0028b3acstr x5, [sp+40]
0028b3b0str x6, [sp+48]
0028b3b4str x3, [sp+56]
0028b3b8bl math/big.addMulVVW.abi0
0028b3bcldr x0, [sp+64]
0028b3c0str x0, [sp+144]
0028b3c4ldr x1, [sp+152]
0028b3c8ldr x2, [sp+160]
0028b3ccadd x1, x2, x1
0028b3d0str x1, [sp+136]
0028b3d4add x0, x1, x0
0028b3d8str x0, [sp+128]
0028b3dcldr x1, [sp+112]
0028b3e0ldr x2, [sp+464]
0028b3e4add x1, x2, x1
0028b3e8str x1, [sp+184]
0028b3ecldr x2, [sp+368]
0028b3f0ldr x3, [sp+360]
0028b3f4subs xzr, x2, x1
0028b3f8b.hi 0x28b400
0028b3fcb 0x28b67c
0028b400
0028b400loc_28b400:
0028b400str x0, [x3+3*x1]
0028b404ldr x3, [sp+152]
0028b408ldr x4, [sp+136]
0028b40csubs xzr, x3, x4
0028b410cset x3, hi
0028b414strb w3, [sp+102]
0028b418b.hi 0x28b420
0028b41cb 0x28b424
0028b420
0028b420loc_28b420:
0028b420b 0x28b43c
0028b424
0028b424loc_28b424:
0028b424ldr x3, [sp+128]
0028b428ldr x4, [sp+144]
0028b42csubs xzr, x4, x3
0028b430cset x3, hi
0028b434strb w3, [sp+102]
0028b438b 0x28b43c
0028b43c
0028b43cloc_28b43c:
0028b43cldrb w3, [sp+102]
0028b440tbnz w3, 0, 0x28b448
0028b444b 0x28b454
0028b448
0028b448loc_28b448:
0028b448orr x3, xzr, 1
0028b44cstr x3, [sp+160]
0028b450b 0x28b460
0028b454
0028b454loc_28b454:
0028b454str xzr, [sp+160]
0028b458orr x3, xzr, 1
0028b45cb 0x28b460
0028b460
0028b460loc_28b460:
0028b460b 0x28b464
0028b464
0028b464loc_28b464:
0028b464ldr x4, [sp+112]
0028b468add x4, x4, 1
0028b46cstr x4, [sp+112]
0028b470b 0x28b248
0028b474
0028b474loc_28b474:
0028b474ldr x3, [sp+160]
0028b478cbnz x3, 0x28b480
0028b47cb 0x28b530
0028b480
0028b480loc_28b480:
0028b480ldr x1, [sp+464]
0028b484ldr x2, [sp+376]
0028b488ldr x3, [sp+360]
0028b48csubs xzr, x2, x1
0028b490b.hs 0x28b498
0028b494b 0x28b678
0028b498
0028b498loc_28b498:
0028b498b 0x28b49c
0028b49c
0028b49cloc_28b49c:
0028b49cstr x3, [sp+320]
0028b4a0str x1, [sp+328]
0028b4a4str x2, [sp+336]
0028b4a8ldr x0, [sp+464]
0028b4acldr x1, [sp+368]
0028b4b0ldr x2, [sp+360]
0028b4b4ldr x3, [sp+376]
0028b4b8b 0x28b4bc
0028b4bc
0028b4bcloc_28b4bc:
0028b4bcsubs xzr, x1, x0
0028b4c0b.hs 0x28b4c8
0028b4c4b 0x28b674
0028b4c8
0028b4c8loc_28b4c8:
0028b4c8sub x3, x3, x0
0028b4ccsub x1, x1, x0
0028b4d0sub x4, xzr, x3
0028b4d4ubfm x0, x0, 61, 60
0028b4d8and x0, x0, x4, asr #63
0028b4dcadd x0, x2, x0
0028b4e0str x0, [sp+296]
0028b4e4str x1, [sp+304]
0028b4e8str x3, [sp+312]
0028b4ecldr x2, [sp+320]
0028b4f0ldr x4, [sp+328]
0028b4f4ldr x5, [sp+336]
0028b4f8ldr x6, [sp+432]
0028b4fcldr x7, [sp+440]
0028b500ldr x8, [sp+448]
0028b504str x2, [sp+8]
0028b508str x4, [sp+16]
0028b50cstr x5, [sp+24]
0028b510str x0, [sp+32]
0028b514str x1, [sp+40]
0028b518str x3, [sp+48]
0028b51cstr x6, [sp+56]
0028b520str x7, [sp+64]
0028b524str x8, [sp+72]
0028b528bl math/big.subVV.abi0
0028b52cb 0x28b628
0028b530
0028b530loc_28b530:
0028b530ldr x1, [sp+464]
0028b534ldr x2, [sp+376]
0028b538ldr x3, [sp+360]
0028b53csubs xzr, x2, x1
0028b540b.hs 0x28b548
0028b544b 0x28b670
0028b548
0028b548loc_28b548:
0028b548b 0x28b54c
0028b54c
0028b54cloc_28b54c:
0028b54cstr x3, [sp+296]
0028b550str x1, [sp+304]
0028b554str x2, [sp+312]
0028b558ldr x0, [sp+464]
0028b55cldr x1, [sp+368]
0028b560ldr x3, [sp+360]
0028b564ldr x4, [sp+376]
0028b568b 0x28b56c
0028b56c
0028b56cloc_28b56c:
0028b56csubs xzr, x1, x0
0028b570b.hs 0x28b578
0028b574b 0x28b66c
0028b578
0028b578loc_28b578:
0028b578sub x4, x4, x0
0028b57csub x5, x1, x0
0028b580sub x6, xzr, x4
0028b584ubfm x7, x0, 61, 60
0028b588and x6, x7, x6, asr #63
0028b58cadd x3, x3, x6
0028b590str x3, [sp+320]
0028b594str x5, [sp+328]
0028b598str x4, [sp+336]
0028b59cldr x3, [sp+296]
0028b5a0ldr x4, [sp+304]
0028b5a4ldr x5, [sp+312]
0028b5a8str x3, [sp+264]
0028b5acstr x4, [sp+272]
0028b5b0str x5, [sp+280]
0028b5b4ldr x3, [sp+328]
0028b5b8ldr x4, [sp+320]
0028b5bcldr x5, [sp+336]
0028b5c0str x4, [sp+240]
0028b5c4str x3, [sp+248]
0028b5c8str x5, [sp+256]
0028b5ccldr x4, [sp+272]
0028b5d0str x4, [sp+176]
0028b5d4subs xzr, x4, x3
0028b5d8b.gt 0x28b5e0
0028b5dcb 0x28b5e8
0028b5e0
0028b5e0loc_28b5e0:
0028b5e0str x3, [sp+176]
0028b5e4b 0x28b5ec
0028b5e8
0028b5e8loc_28b5e8:
0028b5e8b 0x28b5ec
0028b5ec
0028b5ecloc_28b5ec:
0028b5ecldr x3, [sp+240]
0028b5f0ldr x4, [sp+264]
0028b5f4subs xzr, x3, x4
0028b5f8b.ne 0x28b600
0028b5fcb 0x28b620
0028b600
0028b600loc_28b600:
0028b600ldr x3, [sp+176]
0028b604str x3, [sp+168]
0028b608ldr x3, [sp+168]
0028b60cubfm x2, x3, 61, 60
0028b610ldr x1, [sp+240]
0028b614ldr x0, [sp+264]
0028b618bl runtime.memmove
0028b61cb 0x28b624
0028b620
0028b620loc_28b620:
0028b620b 0x28b624
0028b624
0028b624loc_28b624:
0028b624b 0x28b628
0028b628
0028b628loc_28b628:
0028b628ldr x1, [sp+464]
0028b62cldr x2, [sp+376]
0028b630ldr x0, [sp+360]
0028b634subs xzr, x2, x1
0028b638b.hs 0x28b640
0028b63cb 0x28b668
0028b640
0028b640loc_28b640:
0028b640b 0x28b644
0028b644
0028b644loc_28b644:
0028b644str x0, [sp+320]
0028b648str x1, [sp+328]
0028b64cstr x2, [sp+336]
0028b650str x0, [sp+216]
0028b654str x1, [sp+224]
0028b658str x2, [sp+232]
0028b65cldp x29, x30, [sp-8]
0028b660add sp, sp, 352
0028b664ret x30
0028b668
0028b668loc_28b668:
0028b668bl runtime.panicSliceAcap
0028b66c
0028b66cloc_28b66c:
0028b66cbl runtime.panicSliceB
0028b670
0028b670loc_28b670:
0028b670bl runtime.panicSliceAcap
0028b674
0028b674loc_28b674:
0028b674bl runtime.panicSliceB
0028b678
0028b678loc_28b678:
0028b678bl runtime.panicSliceAcap
0028b67c
0028b67cloc_28b67c:
0028b67cmov x0, x1
0028b680mov x1, x2
0028b684bl runtime.panicIndex
0028b688
0028b688loc_28b688:
0028b688bl runtime.panicSliceB
0028b68c
0028b68cloc_28b68c:
0028b68cbl runtime.panicSliceAcap
0028b690
0028b690loc_28b690:
0028b690bl runtime.panicIndex
0028b694
0028b694loc_28b694:
0028b694bl runtime.panicSliceB
0028b698
0028b698loc_28b698:
0028b698bl runtime.panicSliceAcap
0028b69c
0028b69cloc_28b69c:
0028b69cbl runtime.panicIndex
0028b6a0
0028b6a0loc_28b6a0:
0028b6a0adrp x0, 0x36a000
0028b6a4add x0, x0, 2944
0028b6a8adrp x1, 0x487000
0028b6acadd x1, x1, 1200
0028b6b0bl runtime.gopanic
0028b6b4hint
0028b6b8
0028b6b8loc_28b6b8:
0028b6b8stp x0, x1, [sp+8]
0028b6bcstp x2, x3, [sp+24]
0028b6c0stp x4, x5, [sp+40]
0028b6c4stp x6, x7, [sp+56]
0028b6c8stp x8, x9, [sp+72]
0028b6ccstp x10, x11, [sp+88]
0028b6d0stp x12, x13, [sp+104]
0028b6d4mov x3, x30
0028b6d8bl runtime.morestack_noctxt.abi0
0028b6dcldp x0, x1, [sp+8]
0028b6e0ldp x2, x3, [sp+24]
0028b6e4ldp x4, x5, [sp+40]
0028b6e8ldp x6, x7, [sp+56]
0028b6ecldp x8, x9, [sp+72]
0028b6f0ldp x10, x11, [sp+88]
0028b6f4ldp x12, x13, [sp+104]
0028b6f8b 0x28b110
0028b6fcudf 0
0028b110
0028b700
0028b700math/big.karatsubaAdd: ; void math/big.karatsubaAdd(math/big.nat z, math/big.nat x, int n)
0028b700ldr x16, [x28+16]
0028b704sub x17, sp, 32
0028b708subs xzr, x17, x16
0028b70cb.ls 0x28b8a4
0028b710str x30, [sp-160]!
0028b714stur x29, [sp-8]
0028b718sub x29, sp, 8
0028b71cstr x0, [sp+168]
0028b720str x1, [sp+176]
0028b724str x2, [sp+184]
0028b728str x3, [sp+192]
0028b72cstr x4, [sp+200]
0028b730str x5, [sp+208]
0028b734str x6, [sp+216]
0028b738ldr x2, [sp+184]
0028b73cldr x0, [sp+168]
0028b740subs xzr, x6, x2
0028b744b.ls 0x28b74c
0028b748b 0x28b898
0028b74c
0028b74cloc_28b74c:
0028b74cb 0x28b750
0028b750
0028b750loc_28b750:
0028b750str x0, [sp+128]
0028b754str x6, [sp+136]
0028b758str x2, [sp+144]
0028b75cldr x1, [sp+168]
0028b760ldr x3, [sp+176]
0028b764ldr x4, [sp+184]
0028b768ldr x5, [sp+192]
0028b76cldr x7, [sp+200]
0028b770ldr x8, [sp+208]
0028b774str x0, [sp+8]
0028b778str x6, [sp+16]
0028b77cstr x2, [sp+24]
0028b780str x1, [sp+32]
0028b784str x3, [sp+40]
0028b788str x4, [sp+48]
0028b78cstr x5, [sp+56]
0028b790str x7, [sp+64]
0028b794str x8, [sp+72]
0028b798bl math/big.addVV.abi0
0028b79cldr x0, [sp+80]
0028b7a0str x0, [sp+88]
0028b7a4cbnz x0, 0x28b7ac
0028b7a8b 0x28b87c
0028b7ac
0028b7acloc_28b7ac:
0028b7acldr x3, [sp+216]
0028b7b0ldr x4, [sp+216]
0028b7b4add x1, x3, x4, asr #1
0028b7b8str x1, [sp+96]
0028b7bcldr x0, [sp+216]
0028b7c0ldr x2, [sp+184]
0028b7c4ldr x3, [sp+168]
0028b7c8subs xzr, x2, x1
0028b7ccb.hs 0x28b7d4
0028b7d0b 0x28b894
0028b7d4
0028b7d4loc_28b7d4:
0028b7d4subs xzr, x0, x1
0028b7d8b.ls 0x28b7e0
0028b7dcb 0x28b890
0028b7e0
0028b7e0loc_28b7e0:
0028b7e0sub x2, x2, x0
0028b7e4sub x4, x1, x0
0028b7e8sub x5, xzr, x2
0028b7ecubfm x6, x0, 61, 60
0028b7f0and x5, x6, x5, asr #63
0028b7f4add x3, x3, x5
0028b7f8str x3, [sp+128]
0028b7fcstr x4, [sp+136]
0028b800str x2, [sp+144]
0028b804ldr x0, [sp+216]
0028b808ldr x1, [sp+176]
0028b80cldr x2, [sp+168]
0028b810ldr x3, [sp+184]
0028b814b 0x28b818
0028b818
0028b818loc_28b818:
0028b818subs xzr, x1, x0
0028b81cb.hs 0x28b824
0028b820b 0x28b88c
0028b824
0028b824loc_28b824:
0028b824sub x3, x3, x0
0028b828sub x1, x1, x0
0028b82csub x4, xzr, x3
0028b830ubfm x0, x0, 61, 60
0028b834and x0, x0, x4, asr #63
0028b838add x0, x2, x0
0028b83cstr x0, [sp+104]
0028b840str x1, [sp+112]
0028b844str x3, [sp+120]
0028b848ldr x2, [sp+88]
0028b84cldr x4, [sp+128]
0028b850ldr x5, [sp+136]
0028b854ldr x6, [sp+144]
0028b858str x4, [sp+8]
0028b85cstr x5, [sp+16]
0028b860str x6, [sp+24]
0028b864str x0, [sp+32]
0028b868str x1, [sp+40]
0028b86cstr x3, [sp+48]
0028b870str x2, [sp+56]
0028b874bl math/big.addVW.abi0
0028b878b 0x28b880
0028b87c
0028b87cloc_28b87c:
0028b87cb 0x28b880
0028b880
0028b880loc_28b880:
0028b880ldur x29, [sp-8]
0028b884ldr x30, [sp], 160
0028b888ret x30
0028b88c
0028b88cloc_28b88c:
0028b88cbl runtime.panicSliceB
0028b890
0028b890loc_28b890:
0028b890bl runtime.panicSliceB
0028b894
0028b894loc_28b894:
0028b894bl runtime.panicSliceAcap
0028b898
0028b898loc_28b898:
0028b898mov x1, x6
0028b89cbl runtime.panicSliceAcap
0028b8a0hint
0028b8a4
0028b8a4loc_28b8a4:
0028b8a4stp x0, x1, [sp+8]
0028b8a8stp x2, x3, [sp+24]
0028b8acstp x4, x5, [sp+40]
0028b8b0str x6, [sp+56]
0028b8b4mov x3, x30
0028b8b8bl runtime.morestack_noctxt.abi0
0028b8bcldp x0, x1, [sp+8]
0028b8c0ldp x2, x3, [sp+24]
0028b8c4ldp x4, x5, [sp+40]
0028b8c8ldr x6, [sp+56]
0028b8ccb 0x28b700
0028b700
0028b700math/big.karatsubaAdd: ; void math/big.karatsubaAdd(math/big.nat z, math/big.nat x, int n)
0028b700ldr x16, [x28+16]
0028b704sub x17, sp, 32
0028b708subs xzr, x17, x16
0028b70cb.ls 0x28b8a4
0028b710str x30, [sp-160]!
0028b714stur x29, [sp-8]
0028b718sub x29, sp, 8
0028b71cstr x0, [sp+168]
0028b720str x1, [sp+176]
0028b724str x2, [sp+184]
0028b728str x3, [sp+192]
0028b72cstr x4, [sp+200]
0028b730str x5, [sp+208]
0028b734str x6, [sp+216]
0028b738ldr x2, [sp+184]
0028b73cldr x0, [sp+168]
0028b740subs xzr, x6, x2
0028b744b.ls 0x28b74c
0028b748b 0x28b898
0028b74c
0028b74cloc_28b74c:
0028b74cb 0x28b750
0028b750
0028b750loc_28b750:
0028b750str x0, [sp+128]
0028b754str x6, [sp+136]
0028b758str x2, [sp+144]
0028b75cldr x1, [sp+168]
0028b760ldr x3, [sp+176]
0028b764ldr x4, [sp+184]
0028b768ldr x5, [sp+192]
0028b76cldr x7, [sp+200]
0028b770ldr x8, [sp+208]
0028b774str x0, [sp+8]
0028b778str x6, [sp+16]
0028b77cstr x2, [sp+24]
0028b780str x1, [sp+32]
0028b784str x3, [sp+40]
0028b788str x4, [sp+48]
0028b78cstr x5, [sp+56]
0028b790str x7, [sp+64]
0028b794str x8, [sp+72]
0028b798bl math/big.addVV.abi0
0028b79cldr x0, [sp+80]
0028b7a0str x0, [sp+88]
0028b7a4cbnz x0, 0x28b7ac
0028b7a8b 0x28b87c
0028b7ac
0028b7acloc_28b7ac:
0028b7acldr x3, [sp+216]
0028b7b0ldr x4, [sp+216]
0028b7b4add x1, x3, x4, asr #1
0028b7b8str x1, [sp+96]
0028b7bcldr x0, [sp+216]
0028b7c0ldr x2, [sp+184]
0028b7c4ldr x3, [sp+168]
0028b7c8subs xzr, x2, x1
0028b7ccb.hs 0x28b7d4
0028b7d0b 0x28b894
0028b7d4
0028b7d4loc_28b7d4:
0028b7d4subs xzr, x0, x1
0028b7d8b.ls 0x28b7e0
0028b7dcb 0x28b890
0028b7e0
0028b7e0loc_28b7e0:
0028b7e0sub x2, x2, x0
0028b7e4sub x4, x1, x0
0028b7e8sub x5, xzr, x2
0028b7ecubfm x6, x0, 61, 60
0028b7f0and x5, x6, x5, asr #63
0028b7f4add x3, x3, x5
0028b7f8str x3, [sp+128]
0028b7fcstr x4, [sp+136]
0028b800str x2, [sp+144]
0028b804ldr x0, [sp+216]
0028b808ldr x1, [sp+176]
0028b80cldr x2, [sp+168]
0028b810ldr x3, [sp+184]
0028b814b 0x28b818
0028b818
0028b818loc_28b818:
0028b818subs xzr, x1, x0
0028b81cb.hs 0x28b824
0028b820b 0x28b88c
0028b824
0028b824loc_28b824:
0028b824sub x3, x3, x0
0028b828sub x1, x1, x0
0028b82csub x4, xzr, x3
0028b830ubfm x0, x0, 61, 60
0028b834and x0, x0, x4, asr #63
0028b838add x0, x2, x0
0028b83cstr x0, [sp+104]
0028b840str x1, [sp+112]
0028b844str x3, [sp+120]
0028b848ldr x2, [sp+88]
0028b84cldr x4, [sp+128]
0028b850ldr x5, [sp+136]
0028b854ldr x6, [sp+144]
0028b858str x4, [sp+8]
0028b85cstr x5, [sp+16]
0028b860str x6, [sp+24]
0028b864str x0, [sp+32]
0028b868str x1, [sp+40]
0028b86cstr x3, [sp+48]
0028b870str x2, [sp+56]
0028b874bl math/big.addVW.abi0
0028b878b 0x28b880
0028b87c
0028b87cloc_28b87c:
0028b87cb 0x28b880
0028b880
0028b880loc_28b880:
0028b880ldur x29, [sp-8]
0028b884ldr x30, [sp], 160
0028b888ret x30
0028b88c
0028b88cloc_28b88c:
0028b88cbl runtime.panicSliceB
0028b890
0028b890loc_28b890:
0028b890bl runtime.panicSliceB
0028b894
0028b894loc_28b894:
0028b894bl runtime.panicSliceAcap
0028b898
0028b898loc_28b898:
0028b898mov x1, x6
0028b89cbl runtime.panicSliceAcap
0028b8a0hint
0028b8a4
0028b8a4loc_28b8a4:
0028b8a4stp x0, x1, [sp+8]
0028b8a8stp x2, x3, [sp+24]
0028b8acstp x4, x5, [sp+40]
0028b8b0str x6, [sp+56]
0028b8b4mov x3, x30
0028b8b8bl runtime.morestack_noctxt.abi0
0028b8bcldp x0, x1, [sp+8]
0028b8c0ldp x2, x3, [sp+24]
0028b8c4ldp x4, x5, [sp+40]
0028b8c8ldr x6, [sp+56]
0028b8ccb 0x28b700
0028b700
0028b8d0
0028b8d0math/big.karatsubaSub: ; void math/big.karatsubaSub(math/big.nat z, math/big.nat x, int n)
0028b8d0ldr x16, [x28+16]
0028b8d4sub x17, sp, 32
0028b8d8subs xzr, x17, x16
0028b8dcb.ls 0x28ba74
0028b8e0str x30, [sp-160]!
0028b8e4stur x29, [sp-8]
0028b8e8sub x29, sp, 8
0028b8ecstr x0, [sp+168]
0028b8f0str x1, [sp+176]
0028b8f4str x2, [sp+184]
0028b8f8str x3, [sp+192]
0028b8fcstr x4, [sp+200]
0028b900str x5, [sp+208]
0028b904str x6, [sp+216]
0028b908ldr x2, [sp+184]
0028b90cldr x0, [sp+168]
0028b910subs xzr, x6, x2
0028b914b.ls 0x28b91c
0028b918b 0x28ba68
0028b91c
0028b91cloc_28b91c:
0028b91cb 0x28b920
0028b920
0028b920loc_28b920:
0028b920str x0, [sp+128]
0028b924str x6, [sp+136]
0028b928str x2, [sp+144]
0028b92cldr x1, [sp+168]
0028b930ldr x3, [sp+176]
0028b934ldr x4, [sp+184]
0028b938ldr x5, [sp+192]
0028b93cldr x7, [sp+200]
0028b940ldr x8, [sp+208]
0028b944str x0, [sp+8]
0028b948str x6, [sp+16]
0028b94cstr x2, [sp+24]
0028b950str x1, [sp+32]
0028b954str x3, [sp+40]
0028b958str x4, [sp+48]
0028b95cstr x5, [sp+56]
0028b960str x7, [sp+64]
0028b964str x8, [sp+72]
0028b968bl math/big.subVV.abi0
0028b96cldr x0, [sp+80]
0028b970str x0, [sp+88]
0028b974cbnz x0, 0x28b97c
0028b978b 0x28ba4c
0028b97c
0028b97cloc_28b97c:
0028b97cldr x3, [sp+216]
0028b980ldr x4, [sp+216]
0028b984add x1, x3, x4, asr #1
0028b988str x1, [sp+96]
0028b98cldr x0, [sp+216]
0028b990ldr x2, [sp+184]
0028b994ldr x3, [sp+168]
0028b998subs xzr, x2, x1
0028b99cb.hs 0x28b9a4
0028b9a0b 0x28ba64
0028b9a4
0028b9a4loc_28b9a4:
0028b9a4subs xzr, x0, x1
0028b9a8b.ls 0x28b9b0
0028b9acb 0x28ba60
0028b9b0
0028b9b0loc_28b9b0:
0028b9b0sub x2, x2, x0
0028b9b4sub x4, x1, x0
0028b9b8sub x5, xzr, x2
0028b9bcubfm x6, x0, 61, 60
0028b9c0and x5, x6, x5, asr #63
0028b9c4add x3, x3, x5
0028b9c8str x3, [sp+128]
0028b9ccstr x4, [sp+136]
0028b9d0str x2, [sp+144]
0028b9d4ldr x0, [sp+216]
0028b9d8ldr x1, [sp+176]
0028b9dcldr x2, [sp+168]
0028b9e0ldr x3, [sp+184]
0028b9e4b 0x28b9e8
0028b9e8
0028b9e8loc_28b9e8:
0028b9e8subs xzr, x1, x0
0028b9ecb.hs 0x28b9f4
0028b9f0b 0x28ba5c
0028b9f4
0028b9f4loc_28b9f4:
0028b9f4sub x3, x3, x0
0028b9f8sub x1, x1, x0
0028b9fcsub x4, xzr, x3
0028ba00ubfm x0, x0, 61, 60
0028ba04and x0, x0, x4, asr #63
0028ba08add x0, x2, x0
0028ba0cstr x0, [sp+104]
0028ba10str x1, [sp+112]
0028ba14str x3, [sp+120]
0028ba18ldr x2, [sp+88]
0028ba1cldr x4, [sp+128]
0028ba20ldr x5, [sp+136]
0028ba24ldr x6, [sp+144]
0028ba28str x4, [sp+8]
0028ba2cstr x5, [sp+16]
0028ba30str x6, [sp+24]
0028ba34str x0, [sp+32]
0028ba38str x1, [sp+40]
0028ba3cstr x3, [sp+48]
0028ba40str x2, [sp+56]
0028ba44bl math/big.subVW.abi0
0028ba48b 0x28ba50
0028ba4c
0028ba4cloc_28ba4c:
0028ba4cb 0x28ba50
0028ba50
0028ba50loc_28ba50:
0028ba50ldur x29, [sp-8]
0028ba54ldr x30, [sp], 160
0028ba58ret x30
0028ba5c
0028ba5cloc_28ba5c:
0028ba5cbl runtime.panicSliceB
0028ba60
0028ba60loc_28ba60:
0028ba60bl runtime.panicSliceB
0028ba64
0028ba64loc_28ba64:
0028ba64bl runtime.panicSliceAcap
0028ba68
0028ba68loc_28ba68:
0028ba68mov x1, x6
0028ba6cbl runtime.panicSliceAcap
0028ba70hint
0028ba74
0028ba74loc_28ba74:
0028ba74stp x0, x1, [sp+8]
0028ba78stp x2, x3, [sp+24]
0028ba7cstp x4, x5, [sp+40]
0028ba80str x6, [sp+56]
0028ba84mov x3, x30
0028ba88bl runtime.morestack_noctxt.abi0
0028ba8cldp x0, x1, [sp+8]
0028ba90ldp x2, x3, [sp+24]
0028ba94ldp x4, x5, [sp+40]
0028ba98ldr x6, [sp+56]
0028ba9cb 0x28b8d0
0028b8d0
0028b8d0math/big.karatsubaSub: ; void math/big.karatsubaSub(math/big.nat z, math/big.nat x, int n)
0028b8d0ldr x16, [x28+16]
0028b8d4sub x17, sp, 32
0028b8d8subs xzr, x17, x16
0028b8dcb.ls 0x28ba74
0028b8e0str x30, [sp-160]!
0028b8e4stur x29, [sp-8]
0028b8e8sub x29, sp, 8
0028b8ecstr x0, [sp+168]
0028b8f0str x1, [sp+176]
0028b8f4str x2, [sp+184]
0028b8f8str x3, [sp+192]
0028b8fcstr x4, [sp+200]
0028b900str x5, [sp+208]
0028b904str x6, [sp+216]
0028b908ldr x2, [sp+184]
0028b90cldr x0, [sp+168]
0028b910subs xzr, x6, x2
0028b914b.ls 0x28b91c
0028b918b 0x28ba68
0028b91c
0028b91cloc_28b91c:
0028b91cb 0x28b920
0028b920
0028b920loc_28b920:
0028b920str x0, [sp+128]
0028b924str x6, [sp+136]
0028b928str x2, [sp+144]
0028b92cldr x1, [sp+168]
0028b930ldr x3, [sp+176]
0028b934ldr x4, [sp+184]
0028b938ldr x5, [sp+192]
0028b93cldr x7, [sp+200]
0028b940ldr x8, [sp+208]
0028b944str x0, [sp+8]
0028b948str x6, [sp+16]
0028b94cstr x2, [sp+24]
0028b950str x1, [sp+32]
0028b954str x3, [sp+40]
0028b958str x4, [sp+48]
0028b95cstr x5, [sp+56]
0028b960str x7, [sp+64]
0028b964str x8, [sp+72]
0028b968bl math/big.subVV.abi0
0028b96cldr x0, [sp+80]
0028b970str x0, [sp+88]
0028b974cbnz x0, 0x28b97c
0028b978b 0x28ba4c
0028b97c
0028b97cloc_28b97c:
0028b97cldr x3, [sp+216]
0028b980ldr x4, [sp+216]
0028b984add x1, x3, x4, asr #1
0028b988str x1, [sp+96]
0028b98cldr x0, [sp+216]
0028b990ldr x2, [sp+184]
0028b994ldr x3, [sp+168]
0028b998subs xzr, x2, x1
0028b99cb.hs 0x28b9a4
0028b9a0b 0x28ba64
0028b9a4
0028b9a4loc_28b9a4:
0028b9a4subs xzr, x0, x1
0028b9a8b.ls 0x28b9b0
0028b9acb 0x28ba60
0028b9b0
0028b9b0loc_28b9b0:
0028b9b0sub x2, x2, x0
0028b9b4sub x4, x1, x0
0028b9b8sub x5, xzr, x2
0028b9bcubfm x6, x0, 61, 60
0028b9c0and x5, x6, x5, asr #63
0028b9c4add x3, x3, x5
0028b9c8str x3, [sp+128]
0028b9ccstr x4, [sp+136]
0028b9d0str x2, [sp+144]
0028b9d4ldr x0, [sp+216]
0028b9d8ldr x1, [sp+176]
0028b9dcldr x2, [sp+168]
0028b9e0ldr x3, [sp+184]
0028b9e4b 0x28b9e8
0028b9e8
0028b9e8loc_28b9e8:
0028b9e8subs xzr, x1, x0
0028b9ecb.hs 0x28b9f4
0028b9f0b 0x28ba5c
0028b9f4
0028b9f4loc_28b9f4:
0028b9f4sub x3, x3, x0
0028b9f8sub x1, x1, x0
0028b9fcsub x4, xzr, x3
0028ba00ubfm x0, x0, 61, 60
0028ba04and x0, x0, x4, asr #63
0028ba08add x0, x2, x0
0028ba0cstr x0, [sp+104]
0028ba10str x1, [sp+112]
0028ba14str x3, [sp+120]
0028ba18ldr x2, [sp+88]
0028ba1cldr x4, [sp+128]
0028ba20ldr x5, [sp+136]
0028ba24ldr x6, [sp+144]
0028ba28str x4, [sp+8]
0028ba2cstr x5, [sp+16]
0028ba30str x6, [sp+24]
0028ba34str x0, [sp+32]
0028ba38str x1, [sp+40]
0028ba3cstr x3, [sp+48]
0028ba40str x2, [sp+56]
0028ba44bl math/big.subVW.abi0
0028ba48b 0x28ba50
0028ba4c
0028ba4cloc_28ba4c:
0028ba4cb 0x28ba50
0028ba50
0028ba50loc_28ba50:
0028ba50ldur x29, [sp-8]
0028ba54ldr x30, [sp], 160
0028ba58ret x30
0028ba5c
0028ba5cloc_28ba5c:
0028ba5cbl runtime.panicSliceB
0028ba60
0028ba60loc_28ba60:
0028ba60bl runtime.panicSliceB
0028ba64
0028ba64loc_28ba64:
0028ba64bl runtime.panicSliceAcap
0028ba68
0028ba68loc_28ba68:
0028ba68mov x1, x6
0028ba6cbl runtime.panicSliceAcap
0028ba70hint
0028ba74
0028ba74loc_28ba74:
0028ba74stp x0, x1, [sp+8]
0028ba78stp x2, x3, [sp+24]
0028ba7cstp x4, x5, [sp+40]
0028ba80str x6, [sp+56]
0028ba84mov x3, x30
0028ba88bl runtime.morestack_noctxt.abi0
0028ba8cldp x0, x1, [sp+8]
0028ba90ldp x2, x3, [sp+24]
0028ba94ldp x4, x5, [sp+40]
0028ba98ldr x6, [sp+56]
0028ba9cb 0x28b8d0
0028b8d0
0028baa0
0028baa0math/big.karatsuba: ; void math/big.karatsuba(math/big.nat z, math/big.nat x, math/big.nat y)
0028baa0ldr x16, [x28+16]
0028baa4sub x17, sp, 336
0028baa8subs xzr, x17, x16
0028baacb.ls 0x28c2e4
0028bab0sub x20, sp, 464
0028bab4stp x29, x30, [x20-8]
0028bab8add sp, x20, 0
0028babcsub x29, sp, 8
0028bac0str x0, [sp+472]
0028bac4str x1, [sp+480]
0028bac8str x2, [sp+488]
0028baccstr x3, [sp+496]
0028bad0str x4, [sp+504]
0028bad4str x5, [sp+512]
0028bad8str x6, [sp+520]
0028badcstr x7, [sp+528]
0028bae0str x8, [sp+536]
0028bae4str x7, [sp+120]
0028bae8ands xzr, x7, 1
0028baeccset x9, ne
0028baf0strb w9, [sp+102]
0028baf4tbnz w7, 0, 0x28bafc
0028baf8b 0x28bb00
0028bafc
0028bafcloc_28bafc:
0028bafcb 0x28bb1c
0028bb00
0028bb00loc_28bb00:
0028bb00ldr x9, [sp+120]
0028bb04adrp x27, 0x735000
0028bb08ldr x10, [x27+2008]
0028bb0csubs xzr, x10, x9
0028bb10cset x9, gt
0028bb14strb w9, [sp+102]
0028bb18b 0x28bb1c
0028bb1c
0028bb1cloc_28bb1c:
0028bb1cldrb w9, [sp+102]
0028bb20strb w9, [sp+103]
0028bb24tbnz w9, 0, 0x28bb2c
0028bb28b 0x28bb30
0028bb2c
0028bb2cloc_28bb2c:
0028bb2cb 0x28bb44
0028bb30
0028bb30loc_28bb30:
0028bb30ldr x9, [sp+120]
0028bb34subs xzr, x9, 2
0028bb38cset x9, lt
0028bb3cstrb w9, [sp+103]
0028bb40b 0x28bb44
0028bb44
0028bb44loc_28bb44:
0028bb44ldrb w9, [sp+103]
0028bb48tbnz w9, 0, 0x28bb50
0028bb4cb 0x28bb84
0028bb50
0028bb50loc_28bb50:
0028bb50ldr x3, [sp+496]
0028bb54ldr x0, [sp+472]
0028bb58ldr x6, [sp+520]
0028bb5cldr x4, [sp+504]
0028bb60ldr x1, [sp+480]
0028bb64ldr x7, [sp+528]
0028bb68ldr x5, [sp+512]
0028bb6cldr x2, [sp+488]
0028bb70ldr x8, [sp+536]
0028bb74bl math/big.basicMul
0028bb78ldp x29, x30, [sp-8]
0028bb7cadd sp, sp, 464
0028bb80ret x30
0028bb84
0028bb84loc_28bb84:
0028bb84ldr x9, [sp+120]
0028bb88sbfm x0, x9, 1, 63
0028bb8cstr x0, [sp+112]
0028bb90ldr x1, [sp+504]
0028bb94ldr x10, [sp+496]
0028bb98ldr x11, [sp+512]
0028bb9cb 0x28bba0
0028bba0
0028bba0loc_28bba0:
0028bba0subs xzr, x1, x9, asr #1
0028bba4b.hs 0x28bbac
0028bba8b 0x28c2dc
0028bbac
0028bbacloc_28bbac:
0028bbacsub x11, x11, x9, asr #1
0028bbb0sub x9, x1, x9, asr #1
0028bbb4sub x12, xzr, x11
0028bbb8ubfm x13, x0, 61, 60
0028bbbcand x12, x13, x12, asr #63
0028bbc0add x10, x10, x12
0028bbc4str x10, [sp+432]
0028bbc8str x9, [sp+440]
0028bbccstr x11, [sp+448]
0028bbd0ldr x1, [sp+112]
0028bbd4ldr x2, [sp+512]
0028bbd8ldr x9, [sp+496]
0028bbdcsubs xzr, x2, x1
0028bbe0b.hs 0x28bbe8
0028bbe4b 0x28c2d8
0028bbe8
0028bbe8loc_28bbe8:
0028bbe8b 0x28bbec
0028bbec
0028bbecloc_28bbec:
0028bbecstr x9, [sp+408]
0028bbf0str x1, [sp+416]
0028bbf4str x2, [sp+424]
0028bbf8ldr x9, [sp+432]
0028bbfcldr x10, [sp+440]
0028bc00ldr x11, [sp+448]
0028bc04str x9, [sp+264]
0028bc08str x10, [sp+272]
0028bc0cstr x11, [sp+280]
0028bc10ldr x9, [sp+408]
0028bc14ldr x10, [sp+416]
0028bc18ldr x11, [sp+424]
0028bc1cstr x9, [sp+288]
0028bc20str x10, [sp+296]
0028bc24str x11, [sp+304]
0028bc28ldr x0, [sp+112]
0028bc2cldr x1, [sp+528]
0028bc30ldr x9, [sp+520]
0028bc34ldr x10, [sp+536]
0028bc38b 0x28bc3c
0028bc3c
0028bc3cloc_28bc3c:
0028bc3csubs xzr, x1, x0
0028bc40b.hs 0x28bc48
0028bc44b 0x28c2d4
0028bc48
0028bc48loc_28bc48:
0028bc48sub x10, x10, x0
0028bc4csub x11, x1, x0
0028bc50sub x12, xzr, x10
0028bc54ubfm x13, x0, 61, 60
0028bc58and x12, x13, x12, asr #63
0028bc5cadd x9, x9, x12
0028bc60str x9, [sp+408]
0028bc64str x11, [sp+416]
0028bc68str x10, [sp+424]
0028bc6cldr x1, [sp+112]
0028bc70ldr x2, [sp+536]
0028bc74ldr x9, [sp+520]
0028bc78subs xzr, x2, x1
0028bc7cb.hs 0x28bc84
0028bc80b 0x28c2d0
0028bc84
0028bc84loc_28bc84:
0028bc84b 0x28bc88
0028bc88
0028bc88loc_28bc88:
0028bc88str x9, [sp+432]
0028bc8cstr x1, [sp+440]
0028bc90str x2, [sp+448]
0028bc94ldr x9, [sp+408]
0028bc98ldr x10, [sp+416]
0028bc9cldr x11, [sp+424]
0028bca0str x9, [sp+192]
0028bca4str x10, [sp+200]
0028bca8str x11, [sp+208]
0028bcacldr x6, [sp+432]
0028bcb0ldr x7, [sp+440]
0028bcb4ldr x8, [sp+448]
0028bcb8str x6, [sp+216]
0028bcbcstr x7, [sp+224]
0028bcc0str x8, [sp+232]
0028bcc4ldr x0, [sp+472]
0028bcc8ldr x3, [sp+288]
0028bcccldr x1, [sp+480]
0028bcd0ldr x4, [sp+296]
0028bcd4ldr x2, [sp+488]
0028bcd8ldr x5, [sp+304]
0028bcdcbl math/big.karatsuba
0028bce0ldr x0, [sp+120]
0028bce4ldr x1, [sp+480]
0028bce8ldr x9, [sp+472]
0028bcecldr x10, [sp+488]
0028bcf0b 0x28bcf4
0028bcf4
0028bcf4loc_28bcf4:
0028bcf4subs xzr, x1, x0
0028bcf8b.hs 0x28bd00
0028bcfcb 0x28c2cc
0028bd00
0028bd00loc_28bd00:
0028bd00sub x2, x10, x0
0028bd04sub x1, x1, x0
0028bd08sub x10, xzr, x2
0028bd0cubfm x11, x0, 61, 60
0028bd10and x10, x11, x10, asr #63
0028bd14add x0, x9, x10
0028bd18str x0, [sp+432]
0028bd1cstr x1, [sp+440]
0028bd20str x2, [sp+448]
0028bd24ldr x3, [sp+264]
0028bd28ldr x6, [sp+192]
0028bd2cldr x4, [sp+272]
0028bd30ldr x7, [sp+200]
0028bd34ldr x5, [sp+280]
0028bd38ldr x8, [sp+208]
0028bd3cbl math/big.karatsuba
0028bd40orr x9, xzr, 1
0028bd44str x9, [sp+104]
0028bd48ldr x9, [sp+120]
0028bd4cubfm x0, x9, 63, 62
0028bd50str x0, [sp+160]
0028bd54ldr x10, [sp+120]
0028bd58ldr x11, [sp+112]
0028bd5cadd x1, x11, x10, lsl #1
0028bd60str x1, [sp+152]
0028bd64ldr x2, [sp+488]
0028bd68ldr x10, [sp+472]
0028bd6csubs xzr, x2, x1
0028bd70b.hs 0x28bd78
0028bd74b 0x28c2c8
0028bd78
0028bd78loc_28bd78:
0028bd78subs xzr, x1, x9, lsl #1
0028bd7cb.hs 0x28bd84
0028bd80b 0x28c2c4
0028bd84
0028bd84loc_28bd84:
0028bd84sub x0, x2, x9, lsl #1
0028bd88sub x1, x1, x9, lsl #1
0028bd8csub x2, xzr, x0
0028bd90ubfm x3, x9, 60, 59
0028bd94and x2, x3, x2, asr #63
0028bd98add x2, x10, x2
0028bd9cstr x2, [sp+240]
0028bda0str x1, [sp+248]
0028bda4str x0, [sp+256]
0028bda8ldr x3, [sp+264]
0028bdacldr x4, [sp+272]
0028bdb0ldr x5, [sp+280]
0028bdb4ldr x6, [sp+288]
0028bdb8ldr x7, [sp+296]
0028bdbcldr x8, [sp+304]
0028bdc0str x2, [sp+8]
0028bdc4str x1, [sp+16]
0028bdc8str x0, [sp+24]
0028bdccstr x3, [sp+32]
0028bdd0str x4, [sp+40]
0028bdd4str x5, [sp+48]
0028bdd8str x6, [sp+56]
0028bddcstr x7, [sp+64]
0028bde0str x8, [sp+72]
0028bde4bl math/big.subVV.abi0
0028bde8ldr x0, [sp+80]
0028bdecstr x0, [sp+144]
0028bdf0cbnz x0, 0x28bdf8
0028bdf4b 0x28be54
0028bdf8
0028bdf8loc_28bdf8:
0028bdf8ldr x0, [sp+104]
0028bdfcsub x0, xzr, x0
0028be00str x0, [sp+104]
0028be04ldr x0, [sp+240]
0028be08ldr x1, [sp+248]
0028be0cldr x2, [sp+256]
0028be10ldr x3, [sp+288]
0028be14ldr x4, [sp+296]
0028be18ldr x5, [sp+304]
0028be1cldr x6, [sp+264]
0028be20ldr x7, [sp+272]
0028be24ldr x8, [sp+280]
0028be28str x0, [sp+8]
0028be2cstr x1, [sp+16]
0028be30str x2, [sp+24]
0028be34str x3, [sp+32]
0028be38str x4, [sp+40]
0028be3cstr x5, [sp+48]
0028be40str x6, [sp+56]
0028be44str x7, [sp+64]
0028be48str x8, [sp+72]
0028be4cbl math/big.subVV.abi0
0028be50b 0x28be58
0028be54
0028be54loc_28be54:
0028be54b 0x28be58
0028be58
0028be58loc_28be58:
0028be58ldr x3, [sp+120]
0028be5cldr x4, [sp+112]
0028be60add x0, x4, x3, lsl #1
0028be64str x0, [sp+152]
0028be68ldr x3, [sp+120]
0028be6cadd x1, x3, x3, lsl #1
0028be70str x1, [sp+160]
0028be74ldr x2, [sp+488]
0028be78ldr x3, [sp+472]
0028be7csubs xzr, x2, x1
0028be80b.hs 0x28be88
0028be84b 0x28c2c0
0028be88
0028be88loc_28be88:
0028be88subs xzr, x1, x0
0028be8cb.hs 0x28be94
0028be90b 0x28c2bc
0028be94
0028be94loc_28be94:
0028be94sub x2, x2, x0
0028be98sub x1, x1, x0
0028be9csub x4, xzr, x2
0028bea0ubfm x0, x0, 61, 60
0028bea4and x0, x0, x4, asr #63
0028bea8add x0, x3, x0
0028beacstr x0, [sp+168]
0028beb0str x1, [sp+176]
0028beb4str x2, [sp+184]
0028beb8ldr x3, [sp+216]
0028bebcldr x4, [sp+224]
0028bec0ldr x5, [sp+232]
0028bec4ldr x6, [sp+192]
0028bec8ldr x7, [sp+200]
0028beccldr x8, [sp+208]
0028bed0str x0, [sp+8]
0028bed4str x1, [sp+16]
0028bed8str x2, [sp+24]
0028bedcstr x3, [sp+32]
0028bee0str x4, [sp+40]
0028bee4str x5, [sp+48]
0028bee8str x6, [sp+56]
0028beecstr x7, [sp+64]
0028bef0str x8, [sp+72]
0028bef4bl math/big.subVV.abi0
0028bef8ldr x0, [sp+80]
0028befcstr x0, [sp+144]
0028bf00cbnz x0, 0x28bf08
0028bf04b 0x28bf64
0028bf08
0028bf08loc_28bf08:
0028bf08ldr x0, [sp+104]
0028bf0csub x0, xzr, x0
0028bf10str x0, [sp+104]
0028bf14ldr x0, [sp+168]
0028bf18ldr x1, [sp+176]
0028bf1cldr x2, [sp+184]
0028bf20ldr x3, [sp+192]
0028bf24ldr x4, [sp+200]
0028bf28ldr x5, [sp+208]
0028bf2cldr x6, [sp+216]
0028bf30ldr x7, [sp+224]
0028bf34ldr x8, [sp+232]
0028bf38str x0, [sp+8]
0028bf3cstr x1, [sp+16]
0028bf40str x2, [sp+24]
0028bf44str x3, [sp+32]
0028bf48str x4, [sp+40]
0028bf4cstr x5, [sp+48]
0028bf50str x6, [sp+56]
0028bf54str x7, [sp+64]
0028bf58str x8, [sp+72]
0028bf5cbl math/big.subVV.abi0
0028bf60b 0x28bf68
0028bf64
0028bf64loc_28bf64:
0028bf64b 0x28bf68
0028bf68
0028bf68loc_28bf68:
0028bf68ldr x9, [sp+120]
0028bf6cadd x0, x9, x9, lsl #1
0028bf70str x0, [sp+160]
0028bf74ldr x1, [sp+480]
0028bf78ldr x9, [sp+472]
0028bf7cldr x10, [sp+488]
0028bf80b 0x28bf84
0028bf84
0028bf84loc_28bf84:
0028bf84subs xzr, x1, x0
0028bf88b.hs 0x28bf90
0028bf8cb 0x28c2b8
0028bf90
0028bf90loc_28bf90:
0028bf90sub x2, x10, x0
0028bf94sub x1, x1, x0
0028bf98sub x10, xzr, x2
0028bf9cubfm x11, x0, 61, 60
0028bfa0and x10, x11, x10, asr #63
0028bfa4add x0, x9, x10
0028bfa8str x0, [sp+336]
0028bfacstr x1, [sp+344]
0028bfb0str x2, [sp+352]
0028bfb4ldr x4, [sp+248]
0028bfb8ldr x7, [sp+176]
0028bfbcldr x5, [sp+256]
0028bfc0ldr x8, [sp+184]
0028bfc4ldr x3, [sp+240]
0028bfc8ldr x6, [sp+168]
0028bfccbl math/big.karatsuba
0028bfd0ldr x9, [sp+120]
0028bfd4ubfm x0, x9, 62, 61
0028bfd8str x0, [sp+160]
0028bfdcldr x1, [sp+480]
0028bfe0ldr x10, [sp+472]
0028bfe4ldr x11, [sp+488]
0028bfe8b 0x28bfec
0028bfec
0028bfecloc_28bfec:
0028bfecsubs xzr, x1, x9, lsl #2
0028bff0b.hs 0x28bff8
0028bff4b 0x28c2b4
0028bff8
0028bff8loc_28bff8:
0028bff8sub x7, x11, x9, lsl #2
0028bffcsub x8, x1, x9, lsl #2
0028c000sub x11, xzr, x7
0028c004ubfm x9, x9, 59, 58
0028c008and x9, x9, x11, asr #63
0028c00cadd x9, x10, x9
0028c010str x9, [sp+312]
0028c014str x8, [sp+320]
0028c018str x7, [sp+328]
0028c01cldr x7, [sp+120]
0028c020ubfm x1, x7, 63, 62
0028c024str x1, [sp+160]
0028c028ldr x2, [sp+488]
0028c02cldr x8, [sp+472]
0028c030subs xzr, x2, x7, lsl #1
0028c034b.hs 0x28c03c
0028c038b 0x28c2b0
0028c03c
0028c03cloc_28c03c:
0028c03cb 0x28c040
0028c040
0028c040loc_28c040:
0028c040str x8, [sp+432]
0028c044str x1, [sp+440]
0028c048str x2, [sp+448]
0028c04cldr x7, [sp+312]
0028c050ldr x8, [sp+320]
0028c054ldr x9, [sp+328]
0028c058str x7, [sp+384]
0028c05cstr x8, [sp+392]
0028c060str x9, [sp+400]
0028c064ldr x7, [sp+440]
0028c068ldr x8, [sp+432]
0028c06cldr x9, [sp+448]
0028c070str x8, [sp+360]
0028c074str x7, [sp+368]
0028c078str x9, [sp+376]
0028c07cldr x8, [sp+392]
0028c080str x8, [sp+136]
0028c084subs xzr, x8, x7
0028c088b.gt 0x28c090
0028c08cb 0x28c098
0028c090
0028c090loc_28c090:
0028c090str x7, [sp+136]
0028c094b 0x28c09c
0028c098
0028c098loc_28c098:
0028c098b 0x28c09c
0028c09c
0028c09cloc_28c09c:
0028c09cldr x7, [sp+384]
0028c0a0ldr x8, [sp+360]
0028c0a4subs xzr, x8, x7
0028c0a8b.ne 0x28c0b0
0028c0acb 0x28c0d0
0028c0b0
0028c0b0loc_28c0b0:
0028c0b0ldr x3, [sp+136]
0028c0b4str x3, [sp+128]
0028c0b8ldr x3, [sp+128]
0028c0bcubfm x2, x3, 61, 60
0028c0c0ldr x1, [sp+360]
0028c0c4ldr x0, [sp+384]
0028c0c8bl runtime.memmove
0028c0ccb 0x28c0d4
0028c0d0
0028c0d0loc_28c0d0:
0028c0d0b 0x28c0d4
0028c0d4
0028c0d4loc_28c0d4:
0028c0d4ldr x0, [sp+112]
0028c0d8ldr x1, [sp+480]
0028c0dcldr x7, [sp+472]
0028c0e0ldr x8, [sp+488]
0028c0e4b 0x28c0e8
0028c0e8
0028c0e8loc_28c0e8:
0028c0e8subs xzr, x1, x0
0028c0ecb.hs 0x28c0f4
0028c0f0b 0x28c2ac
0028c0f4
0028c0f4loc_28c0f4:
0028c0f4sub x2, x8, x0
0028c0f8sub x1, x1, x0
0028c0fcsub x8, xzr, x2
0028c100ubfm x9, x0, 61, 60
0028c104and x8, x9, x8, asr #63
0028c108add x0, x7, x8
0028c10cstr x0, [sp+432]
0028c110str x1, [sp+440]
0028c114str x2, [sp+448]
0028c118ldr x6, [sp+120]
0028c11cldr x3, [sp+312]
0028c120ldr x4, [sp+320]
0028c124ldr x5, [sp+328]
0028c128bl math/big.karatsubaAdd
0028c12cldr x0, [sp+112]
0028c130ldr x1, [sp+480]
0028c134ldr x7, [sp+472]
0028c138ldr x8, [sp+488]
0028c13cb 0x28c140
0028c140
0028c140loc_28c140:
0028c140subs xzr, x1, x0
0028c144b.hs 0x28c14c
0028c148b 0x28c2a8
0028c14c
0028c14cloc_28c14c:
0028c14csub x8, x8, x0
0028c150sub x9, x1, x0
0028c154sub x10, xzr, x8
0028c158ubfm x11, x0, 61, 60
0028c15cand x10, x11, x10, asr #63
0028c160add x7, x7, x10
0028c164str x7, [sp+432]
0028c168str x9, [sp+440]
0028c16cstr x8, [sp+448]
0028c170ldr x0, [sp+120]
0028c174ldr x1, [sp+320]
0028c178ldr x7, [sp+312]
0028c17cldr x8, [sp+328]
0028c180b 0x28c184
0028c184
0028c184loc_28c184:
0028c184subs xzr, x1, x0
0028c188b.hs 0x28c190
0028c18cb 0x28c2a4
0028c190
0028c190loc_28c190:
0028c190sub x5, x8, x0
0028c194sub x4, x1, x0
0028c198sub x8, xzr, x5
0028c19cubfm x9, x0, 61, 60
0028c1a0and x8, x9, x8, asr #63
0028c1a4add x3, x7, x8
0028c1a8str x3, [sp+408]
0028c1acstr x4, [sp+416]
0028c1b0str x5, [sp+424]
0028c1b4ldr x6, [sp+120]
0028c1b8ldr x0, [sp+432]
0028c1bcldr x1, [sp+440]
0028c1c0ldr x2, [sp+448]
0028c1c4bl math/big.karatsubaAdd
0028c1c8ldr x7, [sp+104]
0028c1ccsubs xzr, x7, 0
0028c1d0b.gt 0x28c1d8
0028c1d4b 0x28c234
0028c1d8
0028c1d8loc_28c1d8:
0028c1d8ldr x0, [sp+112]
0028c1dcldr x1, [sp+480]
0028c1e0ldr x7, [sp+472]
0028c1e4ldr x8, [sp+488]
0028c1e8b 0x28c1ec
0028c1ec
0028c1ecloc_28c1ec:
0028c1ecsubs xzr, x1, x0
0028c1f0b.hs 0x28c1f8
0028c1f4b 0x28c2a0
0028c1f8
0028c1f8loc_28c1f8:
0028c1f8sub x2, x8, x0
0028c1fcsub x1, x1, x0
0028c200sub x8, xzr, x2
0028c204ubfm x9, x0, 61, 60
0028c208and x8, x9, x8, asr #63
0028c20cadd x0, x7, x8
0028c210str x0, [sp+408]
0028c214str x1, [sp+416]
0028c218str x2, [sp+424]
0028c21cldr x6, [sp+120]
0028c220ldr x3, [sp+336]
0028c224ldr x4, [sp+344]
0028c228ldr x5, [sp+352]
0028c22cbl math/big.karatsubaAdd
0028c230b 0x28c290
0028c234
0028c234loc_28c234:
0028c234ldr x0, [sp+112]
0028c238ldr x1, [sp+480]
0028c23cldr x7, [sp+472]
0028c240ldr x8, [sp+488]
0028c244b 0x28c248
0028c248
0028c248loc_28c248:
0028c248subs xzr, x1, x0
0028c24cb.hs 0x28c254
0028c250b 0x28c29c
0028c254
0028c254loc_28c254:
0028c254sub x2, x8, x0
0028c258sub x1, x1, x0
0028c25csub x8, xzr, x2
0028c260ubfm x9, x0, 61, 60
0028c264and x8, x9, x8, asr #63
0028c268add x0, x7, x8
0028c26cstr x0, [sp+408]
0028c270str x1, [sp+416]
0028c274str x2, [sp+424]
0028c278ldr x6, [sp+120]
0028c27cldr x3, [sp+336]
0028c280ldr x4, [sp+344]
0028c284ldr x5, [sp+352]
0028c288bl math/big.karatsubaSub
0028c28cb 0x28c290
0028c290
0028c290loc_28c290:
0028c290ldp x29, x30, [sp-8]
0028c294add sp, sp, 464
0028c298ret x30
0028c29c
0028c29cloc_28c29c:
0028c29cbl runtime.panicSliceB
0028c2a0
0028c2a0loc_28c2a0:
0028c2a0bl runtime.panicSliceB
0028c2a4
0028c2a4loc_28c2a4:
0028c2a4bl runtime.panicSliceB
0028c2a8
0028c2a8loc_28c2a8:
0028c2a8bl runtime.panicSliceB
0028c2ac
0028c2acloc_28c2ac:
0028c2acbl runtime.panicSliceB
0028c2b0
0028c2b0loc_28c2b0:
0028c2b0bl runtime.panicSliceAcap
0028c2b4
0028c2b4loc_28c2b4:
0028c2b4bl runtime.panicSliceB
0028c2b8
0028c2b8loc_28c2b8:
0028c2b8bl runtime.panicSliceB
0028c2bc
0028c2bcloc_28c2bc:
0028c2bcbl runtime.panicSliceB
0028c2c0
0028c2c0loc_28c2c0:
0028c2c0bl runtime.panicSliceAcap
0028c2c4
0028c2c4loc_28c2c4:
0028c2c4bl runtime.panicSliceB
0028c2c8
0028c2c8loc_28c2c8:
0028c2c8bl runtime.panicSliceAcap
0028c2cc
0028c2ccloc_28c2cc:
0028c2ccbl runtime.panicSliceB
0028c2d0
0028c2d0loc_28c2d0:
0028c2d0bl runtime.panicSliceAcap
0028c2d4
0028c2d4loc_28c2d4:
0028c2d4bl runtime.panicSliceB
0028c2d8
0028c2d8loc_28c2d8:
0028c2d8bl runtime.panicSliceAcap
0028c2dc
0028c2dcloc_28c2dc:
0028c2dcbl runtime.panicSliceB
0028c2e0hint
0028c2e4
0028c2e4loc_28c2e4:
0028c2e4stp x0, x1, [sp+8]
0028c2e8stp x2, x3, [sp+24]
0028c2ecstp x4, x5, [sp+40]
0028c2f0stp x6, x7, [sp+56]
0028c2f4str x8, [sp+72]
0028c2f8mov x3, x30
0028c2fcbl runtime.morestack_noctxt.abi0
0028c300ldp x0, x1, [sp+8]
0028c304ldp x2, x3, [sp+24]
0028c308ldp x4, x5, [sp+40]
0028c30cldp x6, x7, [sp+56]
0028c310ldr x8, [sp+72]
0028c314b 0x28baa0
0028c318udf 0
0028c31cudf 0
0028baa0
0028baa0math/big.karatsuba: ; void math/big.karatsuba(math/big.nat z, math/big.nat x, math/big.nat y)
0028baa0ldr x16, [x28+16]
0028baa4sub x17, sp, 336
0028baa8subs xzr, x17, x16
0028baacb.ls 0x28c2e4
0028bab0sub x20, sp, 464
0028bab4stp x29, x30, [x20-8]
0028bab8add sp, x20, 0
0028babcsub x29, sp, 8
0028bac0str x0, [sp+472]
0028bac4str x1, [sp+480]
0028bac8str x2, [sp+488]
0028baccstr x3, [sp+496]
0028bad0str x4, [sp+504]
0028bad4str x5, [sp+512]
0028bad8str x6, [sp+520]
0028badcstr x7, [sp+528]
0028bae0str x8, [sp+536]
0028bae4str x7, [sp+120]
0028bae8ands xzr, x7, 1
0028baeccset x9, ne
0028baf0strb w9, [sp+102]
0028baf4tbnz w7, 0, 0x28bafc
0028baf8b 0x28bb00
0028bafc
0028bafcloc_28bafc:
0028bafcb 0x28bb1c
0028bb00
0028bb00loc_28bb00:
0028bb00ldr x9, [sp+120]
0028bb04adrp x27, 0x735000
0028bb08ldr x10, [x27+2008]
0028bb0csubs xzr, x10, x9
0028bb10cset x9, gt
0028bb14strb w9, [sp+102]
0028bb18b 0x28bb1c
0028bb1c
0028bb1cloc_28bb1c:
0028bb1cldrb w9, [sp+102]
0028bb20strb w9, [sp+103]
0028bb24tbnz w9, 0, 0x28bb2c
0028bb28b 0x28bb30
0028bb2c
0028bb2cloc_28bb2c:
0028bb2cb 0x28bb44
0028bb30
0028bb30loc_28bb30:
0028bb30ldr x9, [sp+120]
0028bb34subs xzr, x9, 2
0028bb38cset x9, lt
0028bb3cstrb w9, [sp+103]
0028bb40b 0x28bb44
0028bb44
0028bb44loc_28bb44:
0028bb44ldrb w9, [sp+103]
0028bb48tbnz w9, 0, 0x28bb50
0028bb4cb 0x28bb84
0028bb50
0028bb50loc_28bb50:
0028bb50ldr x3, [sp+496]
0028bb54ldr x0, [sp+472]
0028bb58ldr x6, [sp+520]
0028bb5cldr x4, [sp+504]
0028bb60ldr x1, [sp+480]
0028bb64ldr x7, [sp+528]
0028bb68ldr x5, [sp+512]
0028bb6cldr x2, [sp+488]
0028bb70ldr x8, [sp+536]
0028bb74bl math/big.basicMul
0028bb78ldp x29, x30, [sp-8]
0028bb7cadd sp, sp, 464
0028bb80ret x30
0028bb84
0028bb84loc_28bb84:
0028bb84ldr x9, [sp+120]
0028bb88sbfm x0, x9, 1, 63
0028bb8cstr x0, [sp+112]
0028bb90ldr x1, [sp+504]
0028bb94ldr x10, [sp+496]
0028bb98ldr x11, [sp+512]
0028bb9cb 0x28bba0
0028bba0
0028bba0loc_28bba0:
0028bba0subs xzr, x1, x9, asr #1
0028bba4b.hs 0x28bbac
0028bba8b 0x28c2dc
0028bbac
0028bbacloc_28bbac:
0028bbacsub x11, x11, x9, asr #1
0028bbb0sub x9, x1, x9, asr #1
0028bbb4sub x12, xzr, x11
0028bbb8ubfm x13, x0, 61, 60
0028bbbcand x12, x13, x12, asr #63
0028bbc0add x10, x10, x12
0028bbc4str x10, [sp+432]
0028bbc8str x9, [sp+440]
0028bbccstr x11, [sp+448]
0028bbd0ldr x1, [sp+112]
0028bbd4ldr x2, [sp+512]
0028bbd8ldr x9, [sp+496]
0028bbdcsubs xzr, x2, x1
0028bbe0b.hs 0x28bbe8
0028bbe4b 0x28c2d8
0028bbe8
0028bbe8loc_28bbe8:
0028bbe8b 0x28bbec
0028bbec
0028bbecloc_28bbec:
0028bbecstr x9, [sp+408]
0028bbf0str x1, [sp+416]
0028bbf4str x2, [sp+424]
0028bbf8ldr x9, [sp+432]
0028bbfcldr x10, [sp+440]
0028bc00ldr x11, [sp+448]
0028bc04str x9, [sp+264]
0028bc08str x10, [sp+272]
0028bc0cstr x11, [sp+280]
0028bc10ldr x9, [sp+408]
0028bc14ldr x10, [sp+416]
0028bc18ldr x11, [sp+424]
0028bc1cstr x9, [sp+288]
0028bc20str x10, [sp+296]
0028bc24str x11, [sp+304]
0028bc28ldr x0, [sp+112]
0028bc2cldr x1, [sp+528]
0028bc30ldr x9, [sp+520]
0028bc34ldr x10, [sp+536]
0028bc38b 0x28bc3c
0028bc3c
0028bc3cloc_28bc3c:
0028bc3csubs xzr, x1, x0
0028bc40b.hs 0x28bc48
0028bc44b 0x28c2d4
0028bc48
0028bc48loc_28bc48:
0028bc48sub x10, x10, x0
0028bc4csub x11, x1, x0
0028bc50sub x12, xzr, x10
0028bc54ubfm x13, x0, 61, 60
0028bc58and x12, x13, x12, asr #63
0028bc5cadd x9, x9, x12
0028bc60str x9, [sp+408]
0028bc64str x11, [sp+416]
0028bc68str x10, [sp+424]
0028bc6cldr x1, [sp+112]
0028bc70ldr x2, [sp+536]
0028bc74ldr x9, [sp+520]
0028bc78subs xzr, x2, x1
0028bc7cb.hs 0x28bc84
0028bc80b 0x28c2d0
0028bc84
0028bc84loc_28bc84:
0028bc84b 0x28bc88
0028bc88
0028bc88loc_28bc88:
0028bc88str x9, [sp+432]
0028bc8cstr x1, [sp+440]
0028bc90str x2, [sp+448]
0028bc94ldr x9, [sp+408]
0028bc98ldr x10, [sp+416]
0028bc9cldr x11, [sp+424]
0028bca0str x9, [sp+192]
0028bca4str x10, [sp+200]
0028bca8str x11, [sp+208]
0028bcacldr x6, [sp+432]
0028bcb0ldr x7, [sp+440]
0028bcb4ldr x8, [sp+448]
0028bcb8str x6, [sp+216]
0028bcbcstr x7, [sp+224]
0028bcc0str x8, [sp+232]
0028bcc4ldr x0, [sp+472]
0028bcc8ldr x3, [sp+288]
0028bcccldr x1, [sp+480]
0028bcd0ldr x4, [sp+296]
0028bcd4ldr x2, [sp+488]
0028bcd8ldr x5, [sp+304]
0028bcdcbl math/big.karatsuba
0028bce0ldr x0, [sp+120]
0028bce4ldr x1, [sp+480]
0028bce8ldr x9, [sp+472]
0028bcecldr x10, [sp+488]
0028bcf0b 0x28bcf4
0028bcf4
0028bcf4loc_28bcf4:
0028bcf4subs xzr, x1, x0
0028bcf8b.hs 0x28bd00
0028bcfcb 0x28c2cc
0028bd00
0028bd00loc_28bd00:
0028bd00sub x2, x10, x0
0028bd04sub x1, x1, x0
0028bd08sub x10, xzr, x2
0028bd0cubfm x11, x0, 61, 60
0028bd10and x10, x11, x10, asr #63
0028bd14add x0, x9, x10
0028bd18str x0, [sp+432]
0028bd1cstr x1, [sp+440]
0028bd20str x2, [sp+448]
0028bd24ldr x3, [sp+264]
0028bd28ldr x6, [sp+192]
0028bd2cldr x4, [sp+272]
0028bd30ldr x7, [sp+200]
0028bd34ldr x5, [sp+280]
0028bd38ldr x8, [sp+208]
0028bd3cbl math/big.karatsuba
0028bd40orr x9, xzr, 1
0028bd44str x9, [sp+104]
0028bd48ldr x9, [sp+120]
0028bd4cubfm x0, x9, 63, 62
0028bd50str x0, [sp+160]
0028bd54ldr x10, [sp+120]
0028bd58ldr x11, [sp+112]
0028bd5cadd x1, x11, x10, lsl #1
0028bd60str x1, [sp+152]
0028bd64ldr x2, [sp+488]
0028bd68ldr x10, [sp+472]
0028bd6csubs xzr, x2, x1
0028bd70b.hs 0x28bd78
0028bd74b 0x28c2c8
0028bd78
0028bd78loc_28bd78:
0028bd78subs xzr, x1, x9, lsl #1
0028bd7cb.hs 0x28bd84
0028bd80b 0x28c2c4
0028bd84
0028bd84loc_28bd84:
0028bd84sub x0, x2, x9, lsl #1
0028bd88sub x1, x1, x9, lsl #1
0028bd8csub x2, xzr, x0
0028bd90ubfm x3, x9, 60, 59
0028bd94and x2, x3, x2, asr #63
0028bd98add x2, x10, x2
0028bd9cstr x2, [sp+240]
0028bda0str x1, [sp+248]
0028bda4str x0, [sp+256]
0028bda8ldr x3, [sp+264]
0028bdacldr x4, [sp+272]
0028bdb0ldr x5, [sp+280]
0028bdb4ldr x6, [sp+288]
0028bdb8ldr x7, [sp+296]
0028bdbcldr x8, [sp+304]
0028bdc0str x2, [sp+8]
0028bdc4str x1, [sp+16]
0028bdc8str x0, [sp+24]
0028bdccstr x3, [sp+32]
0028bdd0str x4, [sp+40]
0028bdd4str x5, [sp+48]
0028bdd8str x6, [sp+56]
0028bddcstr x7, [sp+64]
0028bde0str x8, [sp+72]
0028bde4bl math/big.subVV.abi0
0028bde8ldr x0, [sp+80]
0028bdecstr x0, [sp+144]
0028bdf0cbnz x0, 0x28bdf8
0028bdf4b 0x28be54
0028bdf8
0028bdf8loc_28bdf8:
0028bdf8ldr x0, [sp+104]
0028bdfcsub x0, xzr, x0
0028be00str x0, [sp+104]
0028be04ldr x0, [sp+240]
0028be08ldr x1, [sp+248]
0028be0cldr x2, [sp+256]
0028be10ldr x3, [sp+288]
0028be14ldr x4, [sp+296]
0028be18ldr x5, [sp+304]
0028be1cldr x6, [sp+264]
0028be20ldr x7, [sp+272]
0028be24ldr x8, [sp+280]
0028be28str x0, [sp+8]
0028be2cstr x1, [sp+16]
0028be30str x2, [sp+24]
0028be34str x3, [sp+32]
0028be38str x4, [sp+40]
0028be3cstr x5, [sp+48]
0028be40str x6, [sp+56]
0028be44str x7, [sp+64]
0028be48str x8, [sp+72]
0028be4cbl math/big.subVV.abi0
0028be50b 0x28be58
0028be54
0028be54loc_28be54:
0028be54b 0x28be58
0028be58
0028be58loc_28be58:
0028be58ldr x3, [sp+120]
0028be5cldr x4, [sp+112]
0028be60add x0, x4, x3, lsl #1
0028be64str x0, [sp+152]
0028be68ldr x3, [sp+120]
0028be6cadd x1, x3, x3, lsl #1
0028be70str x1, [sp+160]
0028be74ldr x2, [sp+488]
0028be78ldr x3, [sp+472]
0028be7csubs xzr, x2, x1
0028be80b.hs 0x28be88
0028be84b 0x28c2c0
0028be88
0028be88loc_28be88:
0028be88subs xzr, x1, x0
0028be8cb.hs 0x28be94
0028be90b 0x28c2bc
0028be94
0028be94loc_28be94:
0028be94sub x2, x2, x0
0028be98sub x1, x1, x0
0028be9csub x4, xzr, x2
0028bea0ubfm x0, x0, 61, 60
0028bea4and x0, x0, x4, asr #63
0028bea8add x0, x3, x0
0028beacstr x0, [sp+168]
0028beb0str x1, [sp+176]
0028beb4str x2, [sp+184]
0028beb8ldr x3, [sp+216]
0028bebcldr x4, [sp+224]
0028bec0ldr x5, [sp+232]
0028bec4ldr x6, [sp+192]
0028bec8ldr x7, [sp+200]
0028beccldr x8, [sp+208]
0028bed0str x0, [sp+8]
0028bed4str x1, [sp+16]
0028bed8str x2, [sp+24]
0028bedcstr x3, [sp+32]
0028bee0str x4, [sp+40]
0028bee4str x5, [sp+48]
0028bee8str x6, [sp+56]
0028beecstr x7, [sp+64]
0028bef0str x8, [sp+72]
0028bef4bl math/big.subVV.abi0
0028bef8ldr x0, [sp+80]
0028befcstr x0, [sp+144]
0028bf00cbnz x0, 0x28bf08
0028bf04b 0x28bf64
0028bf08
0028bf08loc_28bf08:
0028bf08ldr x0, [sp+104]
0028bf0csub x0, xzr, x0
0028bf10str x0, [sp+104]
0028bf14ldr x0, [sp+168]
0028bf18ldr x1, [sp+176]
0028bf1cldr x2, [sp+184]
0028bf20ldr x3, [sp+192]
0028bf24ldr x4, [sp+200]
0028bf28ldr x5, [sp+208]
0028bf2cldr x6, [sp+216]
0028bf30ldr x7, [sp+224]
0028bf34ldr x8, [sp+232]
0028bf38str x0, [sp+8]
0028bf3cstr x1, [sp+16]
0028bf40str x2, [sp+24]
0028bf44str x3, [sp+32]
0028bf48str x4, [sp+40]
0028bf4cstr x5, [sp+48]
0028bf50str x6, [sp+56]
0028bf54str x7, [sp+64]
0028bf58str x8, [sp+72]
0028bf5cbl math/big.subVV.abi0
0028bf60b 0x28bf68
0028bf64
0028bf64loc_28bf64:
0028bf64b 0x28bf68
0028bf68
0028bf68loc_28bf68:
0028bf68ldr x9, [sp+120]
0028bf6cadd x0, x9, x9, lsl #1
0028bf70str x0, [sp+160]
0028bf74ldr x1, [sp+480]
0028bf78ldr x9, [sp+472]
0028bf7cldr x10, [sp+488]
0028bf80b 0x28bf84
0028bf84
0028bf84loc_28bf84:
0028bf84subs xzr, x1, x0
0028bf88b.hs 0x28bf90
0028bf8cb 0x28c2b8
0028bf90
0028bf90loc_28bf90:
0028bf90sub x2, x10, x0
0028bf94sub x1, x1, x0
0028bf98sub x10, xzr, x2
0028bf9cubfm x11, x0, 61, 60
0028bfa0and x10, x11, x10, asr #63
0028bfa4add x0, x9, x10
0028bfa8str x0, [sp+336]
0028bfacstr x1, [sp+344]
0028bfb0str x2, [sp+352]
0028bfb4ldr x4, [sp+248]
0028bfb8ldr x7, [sp+176]
0028bfbcldr x5, [sp+256]
0028bfc0ldr x8, [sp+184]
0028bfc4ldr x3, [sp+240]
0028bfc8ldr x6, [sp+168]
0028bfccbl math/big.karatsuba
0028bfd0ldr x9, [sp+120]
0028bfd4ubfm x0, x9, 62, 61
0028bfd8str x0, [sp+160]
0028bfdcldr x1, [sp+480]
0028bfe0ldr x10, [sp+472]
0028bfe4ldr x11, [sp+488]
0028bfe8b 0x28bfec
0028bfec
0028bfecloc_28bfec:
0028bfecsubs xzr, x1, x9, lsl #2
0028bff0b.hs 0x28bff8
0028bff4b 0x28c2b4
0028bff8
0028bff8loc_28bff8:
0028bff8sub x7, x11, x9, lsl #2
0028bffcsub x8, x1, x9, lsl #2
0028c000sub x11, xzr, x7
0028c004ubfm x9, x9, 59, 58
0028c008and x9, x9, x11, asr #63
0028c00cadd x9, x10, x9
0028c010str x9, [sp+312]
0028c014str x8, [sp+320]
0028c018str x7, [sp+328]
0028c01cldr x7, [sp+120]
0028c020ubfm x1, x7, 63, 62
0028c024str x1, [sp+160]
0028c028ldr x2, [sp+488]
0028c02cldr x8, [sp+472]
0028c030subs xzr, x2, x7, lsl #1
0028c034b.hs 0x28c03c
0028c038b 0x28c2b0
0028c03c
0028c03cloc_28c03c:
0028c03cb 0x28c040
0028c040
0028c040loc_28c040:
0028c040str x8, [sp+432]
0028c044str x1, [sp+440]
0028c048str x2, [sp+448]
0028c04cldr x7, [sp+312]
0028c050ldr x8, [sp+320]
0028c054ldr x9, [sp+328]
0028c058str x7, [sp+384]
0028c05cstr x8, [sp+392]
0028c060str x9, [sp+400]
0028c064ldr x7, [sp+440]
0028c068ldr x8, [sp+432]
0028c06cldr x9, [sp+448]
0028c070str x8, [sp+360]
0028c074str x7, [sp+368]
0028c078str x9, [sp+376]
0028c07cldr x8, [sp+392]
0028c080str x8, [sp+136]
0028c084subs xzr, x8, x7
0028c088b.gt 0x28c090
0028c08cb 0x28c098
0028c090
0028c090loc_28c090:
0028c090str x7, [sp+136]
0028c094b 0x28c09c
0028c098
0028c098loc_28c098:
0028c098b 0x28c09c
0028c09c
0028c09cloc_28c09c:
0028c09cldr x7, [sp+384]
0028c0a0ldr x8, [sp+360]
0028c0a4subs xzr, x8, x7
0028c0a8b.ne 0x28c0b0
0028c0acb 0x28c0d0
0028c0b0
0028c0b0loc_28c0b0:
0028c0b0ldr x3, [sp+136]
0028c0b4str x3, [sp+128]
0028c0b8ldr x3, [sp+128]
0028c0bcubfm x2, x3, 61, 60
0028c0c0ldr x1, [sp+360]
0028c0c4ldr x0, [sp+384]
0028c0c8bl runtime.memmove
0028c0ccb 0x28c0d4
0028c0d0
0028c0d0loc_28c0d0:
0028c0d0b 0x28c0d4
0028c0d4
0028c0d4loc_28c0d4:
0028c0d4ldr x0, [sp+112]
0028c0d8ldr x1, [sp+480]
0028c0dcldr x7, [sp+472]
0028c0e0ldr x8, [sp+488]
0028c0e4b 0x28c0e8
0028c0e8
0028c0e8loc_28c0e8:
0028c0e8subs xzr, x1, x0
0028c0ecb.hs 0x28c0f4
0028c0f0b 0x28c2ac
0028c0f4
0028c0f4loc_28c0f4:
0028c0f4sub x2, x8, x0
0028c0f8sub x1, x1, x0
0028c0fcsub x8, xzr, x2
0028c100ubfm x9, x0, 61, 60
0028c104and x8, x9, x8, asr #63
0028c108add x0, x7, x8
0028c10cstr x0, [sp+432]
0028c110str x1, [sp+440]
0028c114str x2, [sp+448]
0028c118ldr x6, [sp+120]
0028c11cldr x3, [sp+312]
0028c120ldr x4, [sp+320]
0028c124ldr x5, [sp+328]
0028c128bl math/big.karatsubaAdd
0028c12cldr x0, [sp+112]
0028c130ldr x1, [sp+480]
0028c134ldr x7, [sp+472]
0028c138ldr x8, [sp+488]
0028c13cb 0x28c140
0028c140
0028c140loc_28c140:
0028c140subs xzr, x1, x0
0028c144b.hs 0x28c14c
0028c148b 0x28c2a8
0028c14c
0028c14cloc_28c14c:
0028c14csub x8, x8, x0
0028c150sub x9, x1, x0
0028c154sub x10, xzr, x8
0028c158ubfm x11, x0, 61, 60
0028c15cand x10, x11, x10, asr #63
0028c160add x7, x7, x10
0028c164str x7, [sp+432]
0028c168str x9, [sp+440]
0028c16cstr x8, [sp+448]
0028c170ldr x0, [sp+120]
0028c174ldr x1, [sp+320]
0028c178ldr x7, [sp+312]
0028c17cldr x8, [sp+328]
0028c180b 0x28c184
0028c184
0028c184loc_28c184:
0028c184subs xzr, x1, x0
0028c188b.hs 0x28c190
0028c18cb 0x28c2a4
0028c190
0028c190loc_28c190:
0028c190sub x5, x8, x0
0028c194sub x4, x1, x0
0028c198sub x8, xzr, x5
0028c19cubfm x9, x0, 61, 60
0028c1a0and x8, x9, x8, asr #63
0028c1a4add x3, x7, x8
0028c1a8str x3, [sp+408]
0028c1acstr x4, [sp+416]
0028c1b0str x5, [sp+424]
0028c1b4ldr x6, [sp+120]
0028c1b8ldr x0, [sp+432]
0028c1bcldr x1, [sp+440]
0028c1c0ldr x2, [sp+448]
0028c1c4bl math/big.karatsubaAdd
0028c1c8ldr x7, [sp+104]
0028c1ccsubs xzr, x7, 0
0028c1d0b.gt 0x28c1d8
0028c1d4b 0x28c234
0028c1d8
0028c1d8loc_28c1d8:
0028c1d8ldr x0, [sp+112]
0028c1dcldr x1, [sp+480]
0028c1e0ldr x7, [sp+472]
0028c1e4ldr x8, [sp+488]
0028c1e8b 0x28c1ec
0028c1ec
0028c1ecloc_28c1ec:
0028c1ecsubs xzr, x1, x0
0028c1f0b.hs 0x28c1f8
0028c1f4b 0x28c2a0
0028c1f8
0028c1f8loc_28c1f8:
0028c1f8sub x2, x8, x0
0028c1fcsub x1, x1, x0
0028c200sub x8, xzr, x2
0028c204ubfm x9, x0, 61, 60
0028c208and x8, x9, x8, asr #63
0028c20cadd x0, x7, x8
0028c210str x0, [sp+408]
0028c214str x1, [sp+416]
0028c218str x2, [sp+424]
0028c21cldr x6, [sp+120]
0028c220ldr x3, [sp+336]
0028c224ldr x4, [sp+344]
0028c228ldr x5, [sp+352]
0028c22cbl math/big.karatsubaAdd
0028c230b 0x28c290
0028c234
0028c234loc_28c234:
0028c234ldr x0, [sp+112]
0028c238ldr x1, [sp+480]
0028c23cldr x7, [sp+472]
0028c240ldr x8, [sp+488]
0028c244b 0x28c248
0028c248
0028c248loc_28c248:
0028c248subs xzr, x1, x0
0028c24cb.hs 0x28c254
0028c250b 0x28c29c
0028c254
0028c254loc_28c254:
0028c254sub x2, x8, x0
0028c258sub x1, x1, x0
0028c25csub x8, xzr, x2
0028c260ubfm x9, x0, 61, 60
0028c264and x8, x9, x8, asr #63
0028c268add x0, x7, x8
0028c26cstr x0, [sp+408]
0028c270str x1, [sp+416]
0028c274str x2, [sp+424]
0028c278ldr x6, [sp+120]
0028c27cldr x3, [sp+336]
0028c280ldr x4, [sp+344]
0028c284ldr x5, [sp+352]
0028c288bl math/big.karatsubaSub
0028c28cb 0x28c290
0028c290
0028c290loc_28c290:
0028c290ldp x29, x30, [sp-8]
0028c294add sp, sp, 464
0028c298ret x30
0028c29c
0028c29cloc_28c29c:
0028c29cbl runtime.panicSliceB
0028c2a0
0028c2a0loc_28c2a0:
0028c2a0bl runtime.panicSliceB
0028c2a4
0028c2a4loc_28c2a4:
0028c2a4bl runtime.panicSliceB
0028c2a8
0028c2a8loc_28c2a8:
0028c2a8bl runtime.panicSliceB
0028c2ac
0028c2acloc_28c2ac:
0028c2acbl runtime.panicSliceB
0028c2b0
0028c2b0loc_28c2b0:
0028c2b0bl runtime.panicSliceAcap
0028c2b4
0028c2b4loc_28c2b4:
0028c2b4bl runtime.panicSliceB
0028c2b8
0028c2b8loc_28c2b8:
0028c2b8bl runtime.panicSliceB
0028c2bc
0028c2bcloc_28c2bc:
0028c2bcbl runtime.panicSliceB
0028c2c0
0028c2c0loc_28c2c0:
0028c2c0bl runtime.panicSliceAcap
0028c2c4
0028c2c4loc_28c2c4:
0028c2c4bl runtime.panicSliceB
0028c2c8
0028c2c8loc_28c2c8:
0028c2c8bl runtime.panicSliceAcap
0028c2cc
0028c2ccloc_28c2cc:
0028c2ccbl runtime.panicSliceB
0028c2d0
0028c2d0loc_28c2d0:
0028c2d0bl runtime.panicSliceAcap
0028c2d4
0028c2d4loc_28c2d4:
0028c2d4bl runtime.panicSliceB
0028c2d8
0028c2d8loc_28c2d8:
0028c2d8bl runtime.panicSliceAcap
0028c2dc
0028c2dcloc_28c2dc:
0028c2dcbl runtime.panicSliceB
0028c2e0hint
0028c2e4
0028c2e4loc_28c2e4:
0028c2e4stp x0, x1, [sp+8]
0028c2e8stp x2, x3, [sp+24]
0028c2ecstp x4, x5, [sp+40]
0028c2f0stp x6, x7, [sp+56]
0028c2f4str x8, [sp+72]
0028c2f8mov x3, x30
0028c2fcbl runtime.morestack_noctxt.abi0
0028c300ldp x0, x1, [sp+8]
0028c304ldp x2, x3, [sp+24]
0028c308ldp x4, x5, [sp+40]
0028c30cldp x6, x7, [sp+56]
0028c310ldr x8, [sp+72]
0028c314b 0x28baa0
0028c318udf 0
0028c31cudf 0
0028baa0
Loading..