File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
0028c320
0028c320math/big.alias: ; void math/big.alias(math/big.nat x, math/big.nat y)
0028c320ldr x16, [x28+16]
0028c324subs xzr, sp, x16
0028c328b.ls 0x28c478
0028c32cstr x30, [sp-128]!
0028c330stur x29, [sp-8]
0028c334sub x29, sp, 8
0028c338str x0, [sp+136]
0028c33cstr x1, [sp+144]
0028c340str x2, [sp+152]
0028c344str x3, [sp+160]
0028c348str x4, [sp+168]
0028c34cstr x5, [sp+176]
0028c350strb wzr, [sp+29]
0028c354ldr x3, [sp+152]
0028c358str x3, [sp+56]
0028c35csubs xzr, x3, 0
0028c360cset x4, ne
0028c364strb w4, [sp+30]
0028c368cbnz x3, 0x28c370
0028c36cb 0x28c388
0028c370
0028c370loc_28c370:
0028c370ldr x3, [sp+176]
0028c374str x3, [sp+48]
0028c378subs xzr, x3, 0
0028c37ccset x3, ne
0028c380strb w3, [sp+30]
0028c384b 0x28c38c
0028c388
0028c388loc_28c388:
0028c388b 0x28c38c
0028c38c
0028c38cloc_28c38c:
0028c38cldrb w3, [sp+30]
0028c390strb w3, [sp+31]
0028c394tbnz w3, 0, 0x28c39c
0028c398b 0x28c448
0028c39c
0028c39cloc_28c39c:
0028c39cldr x1, [sp+152]
0028c3a0str x1, [sp+48]
0028c3a4ldr x2, [sp+152]
0028c3a8ldr x3, [sp+136]
0028c3acsubs xzr, x1, x2
0028c3b0b.ls 0x28c3b8
0028c3b4b 0x28c470
0028c3b8
0028c3b8loc_28c3b8:
0028c3b8b 0x28c3bc
0028c3bc
0028c3bcloc_28c3bc:
0028c3bcstr x3, [sp+72]
0028c3c0str x1, [sp+80]
0028c3c4str x2, [sp+88]
0028c3c8ldr x3, [sp+152]
0028c3ccstr x3, [sp+40]
0028c3d0ldr x1, [sp+176]
0028c3d4str x1, [sp+32]
0028c3d8ldr x2, [sp+176]
0028c3dcldr x3, [sp+160]
0028c3e0subs xzr, x2, x1
0028c3e4b.hs 0x28c3ec
0028c3e8b 0x28c46c
0028c3ec
0028c3ecloc_28c3ec:
0028c3ecb 0x28c3f0
0028c3f0
0028c3f0loc_28c3f0:
0028c3f0str x3, [sp+96]
0028c3f4str x1, [sp+104]
0028c3f8str x2, [sp+112]
0028c3fcldr x2, [sp+176]
0028c400str x2, [sp+64]
0028c404ldr x4, [sp+80]
0028c408ldr x5, [sp+72]
0028c40cldr x6, [sp+40]
0028c410sub x0, x6, 1
0028c414subs xzr, x4, x0
0028c418b.hi 0x28c420
0028c41cb 0x28c464
0028c420
0028c420loc_28c420:
0028c420add x4, x5, x0, lsl #3
0028c424sub x0, x2, 1
0028c428subs xzr, x1, x0
0028c42cb.hi 0x28c434
0028c430b 0x28c460
0028c434
0028c434loc_28c434:
0028c434add x1, x3, x0, lsl #3
0028c438subs xzr, x1, x4
0028c43ccset x1, eq
0028c440strb w1, [sp+31]
0028c444b 0x28c44c
0028c448
0028c448loc_28c448:
0028c448b 0x28c44c
0028c44c
0028c44cloc_28c44c:
0028c44cldrb w0, [sp+31]
0028c450strb w0, [sp+29]
0028c454ldur x29, [sp-8]
0028c458ldr x30, [sp], 128
0028c45cret x30
0028c460
0028c460loc_28c460:
0028c460bl runtime.panicIndex
0028c464
0028c464loc_28c464:
0028c464mov x1, x4
0028c468bl runtime.panicIndex
0028c46c
0028c46cloc_28c46c:
0028c46cbl runtime.panicSliceAcap
0028c470
0028c470loc_28c470:
0028c470bl runtime.panicSliceAcap
0028c474hint
0028c478
0028c478loc_28c478:
0028c478stp x0, x1, [sp+8]
0028c47cstp x2, x3, [sp+24]
0028c480stp x4, x5, [sp+40]
0028c484mov x3, x30
0028c488bl runtime.morestack_noctxt.abi0
0028c48cldp x0, x1, [sp+8]
0028c490ldp x2, x3, [sp+24]
0028c494ldp x4, x5, [sp+40]
0028c498b 0x28c320
0028c49cudf 0
0028c320
0028c320math/big.alias: ; void math/big.alias(math/big.nat x, math/big.nat y)
0028c320ldr x16, [x28+16]
0028c324subs xzr, sp, x16
0028c328b.ls 0x28c478
0028c32cstr x30, [sp-128]!
0028c330stur x29, [sp-8]
0028c334sub x29, sp, 8
0028c338str x0, [sp+136]
0028c33cstr x1, [sp+144]
0028c340str x2, [sp+152]
0028c344str x3, [sp+160]
0028c348str x4, [sp+168]
0028c34cstr x5, [sp+176]
0028c350strb wzr, [sp+29]
0028c354ldr x3, [sp+152]
0028c358str x3, [sp+56]
0028c35csubs xzr, x3, 0
0028c360cset x4, ne
0028c364strb w4, [sp+30]
0028c368cbnz x3, 0x28c370
0028c36cb 0x28c388
0028c370
0028c370loc_28c370:
0028c370ldr x3, [sp+176]
0028c374str x3, [sp+48]
0028c378subs xzr, x3, 0
0028c37ccset x3, ne
0028c380strb w3, [sp+30]
0028c384b 0x28c38c
0028c388
0028c388loc_28c388:
0028c388b 0x28c38c
0028c38c
0028c38cloc_28c38c:
0028c38cldrb w3, [sp+30]
0028c390strb w3, [sp+31]
0028c394tbnz w3, 0, 0x28c39c
0028c398b 0x28c448
0028c39c
0028c39cloc_28c39c:
0028c39cldr x1, [sp+152]
0028c3a0str x1, [sp+48]
0028c3a4ldr x2, [sp+152]
0028c3a8ldr x3, [sp+136]
0028c3acsubs xzr, x1, x2
0028c3b0b.ls 0x28c3b8
0028c3b4b 0x28c470
0028c3b8
0028c3b8loc_28c3b8:
0028c3b8b 0x28c3bc
0028c3bc
0028c3bcloc_28c3bc:
0028c3bcstr x3, [sp+72]
0028c3c0str x1, [sp+80]
0028c3c4str x2, [sp+88]
0028c3c8ldr x3, [sp+152]
0028c3ccstr x3, [sp+40]
0028c3d0ldr x1, [sp+176]
0028c3d4str x1, [sp+32]
0028c3d8ldr x2, [sp+176]
0028c3dcldr x3, [sp+160]
0028c3e0subs xzr, x2, x1
0028c3e4b.hs 0x28c3ec
0028c3e8b 0x28c46c
0028c3ec
0028c3ecloc_28c3ec:
0028c3ecb 0x28c3f0
0028c3f0
0028c3f0loc_28c3f0:
0028c3f0str x3, [sp+96]
0028c3f4str x1, [sp+104]
0028c3f8str x2, [sp+112]
0028c3fcldr x2, [sp+176]
0028c400str x2, [sp+64]
0028c404ldr x4, [sp+80]
0028c408ldr x5, [sp+72]
0028c40cldr x6, [sp+40]
0028c410sub x0, x6, 1
0028c414subs xzr, x4, x0
0028c418b.hi 0x28c420
0028c41cb 0x28c464
0028c420
0028c420loc_28c420:
0028c420add x4, x5, x0, lsl #3
0028c424sub x0, x2, 1
0028c428subs xzr, x1, x0
0028c42cb.hi 0x28c434
0028c430b 0x28c460
0028c434
0028c434loc_28c434:
0028c434add x1, x3, x0, lsl #3
0028c438subs xzr, x1, x4
0028c43ccset x1, eq
0028c440strb w1, [sp+31]
0028c444b 0x28c44c
0028c448
0028c448loc_28c448:
0028c448b 0x28c44c
0028c44c
0028c44cloc_28c44c:
0028c44cldrb w0, [sp+31]
0028c450strb w0, [sp+29]
0028c454ldur x29, [sp-8]
0028c458ldr x30, [sp], 128
0028c45cret x30
0028c460
0028c460loc_28c460:
0028c460bl runtime.panicIndex
0028c464
0028c464loc_28c464:
0028c464mov x1, x4
0028c468bl runtime.panicIndex
0028c46c
0028c46cloc_28c46c:
0028c46cbl runtime.panicSliceAcap
0028c470
0028c470loc_28c470:
0028c470bl runtime.panicSliceAcap
0028c474hint
0028c478
0028c478loc_28c478:
0028c478stp x0, x1, [sp+8]
0028c47cstp x2, x3, [sp+24]
0028c480stp x4, x5, [sp+40]
0028c484mov x3, x30
0028c488bl runtime.morestack_noctxt.abi0
0028c48cldp x0, x1, [sp+8]
0028c490ldp x2, x3, [sp+24]
0028c494ldp x4, x5, [sp+40]
0028c498b 0x28c320
0028c49cudf 0
0028c320
0028c4a0
0028c4a0math/big.addAt: ; void math/big.addAt(math/big.nat z, math/big.nat x, int i)
0028c4a0ldr x16, [x28+16]
0028c4a4sub x17, sp, 48
0028c4a8subs xzr, x17, x16
0028c4acb.ls 0x28c6d8
0028c4b0str x30, [sp-176]!
0028c4b4stur x29, [sp-8]
0028c4b8sub x29, sp, 8
0028c4bcstr x0, [sp+184]
0028c4c0str x1, [sp+192]
0028c4c4str x2, [sp+200]
0028c4c8str x3, [sp+208]
0028c4ccstr x4, [sp+216]
0028c4d0str x5, [sp+224]
0028c4d4str x6, [sp+232]
0028c4d8str x4, [sp+88]
0028c4dccbnz x4, 0x28c4e4
0028c4e0b 0x28c6ac
0028c4e4
0028c4e4loc_28c4e4:
0028c4e4add x1, x6, x4
0028c4e8str x1, [sp+112]
0028c4ecldr x2, [sp+200]
0028c4f0ldr x3, [sp+184]
0028c4f4subs xzr, x2, x1
0028c4f8b.hs 0x28c500
0028c4fcb 0x28c6d0
0028c500
0028c500loc_28c500:
0028c500subs xzr, x6, x1
0028c504b.ls 0x28c50c
0028c508b 0x28c6c8
0028c50c
0028c50cloc_28c50c:
0028c50csub x2, x2, x6
0028c510sub x5, xzr, x2
0028c514ubfm x6, x6, 61, 60
0028c518and x5, x6, x5, asr #63
0028c51cadd x3, x3, x5
0028c520str x3, [sp+144]
0028c524str x4, [sp+152]
0028c528str x2, [sp+160]
0028c52cldr x0, [sp+232]
0028c530ldr x1, [sp+192]
0028c534ldr x2, [sp+184]
0028c538ldr x3, [sp+200]
0028c53cb 0x28c540
0028c540
0028c540loc_28c540:
0028c540subs xzr, x1, x0
0028c544b.hs 0x28c54c
0028c548b 0x28c6c4
0028c54c
0028c54cloc_28c54c:
0028c54csub x3, x3, x0
0028c550sub x1, x1, x0
0028c554sub x4, xzr, x3
0028c558ubfm x0, x0, 61, 60
0028c55cand x0, x0, x4, asr #63
0028c560add x0, x2, x0
0028c564str x0, [sp+120]
0028c568str x1, [sp+128]
0028c56cstr x3, [sp+136]
0028c570ldr x2, [sp+144]
0028c574ldr x4, [sp+152]
0028c578ldr x5, [sp+160]
0028c57cldr x6, [sp+208]
0028c580ldr x7, [sp+216]
0028c584ldr x8, [sp+224]
0028c588str x2, [sp+8]
0028c58cstr x4, [sp+16]
0028c590str x5, [sp+24]
0028c594str x0, [sp+32]
0028c598str x1, [sp+40]
0028c59cstr x3, [sp+48]
0028c5a0str x6, [sp+56]
0028c5a4str x7, [sp+64]
0028c5a8str x8, [sp+72]
0028c5acbl math/big.addVV.abi0
0028c5b0ldr x0, [sp+80]
0028c5b4str x0, [sp+104]
0028c5b8cbnz x0, 0x28c5c0
0028c5bcb 0x28c6a4
0028c5c0
0028c5c0loc_28c5c0:
0028c5c0ldr x2, [sp+88]
0028c5c4ldr x3, [sp+232]
0028c5c8add x0, x3, x2
0028c5ccstr x0, [sp+96]
0028c5d0ldr x2, [sp+192]
0028c5d4str x2, [sp+112]
0028c5d8subs xzr, x2, x0
0028c5dcb.gt 0x28c5e4
0028c5e0b 0x28c69c
0028c5e4
0028c5e4loc_28c5e4:
0028c5e4ldr x1, [sp+192]
0028c5e8ldr x2, [sp+184]
0028c5ecldr x3, [sp+200]
0028c5f0b 0x28c5f4
0028c5f4
0028c5f4loc_28c5f4:
0028c5f4subs xzr, x1, x0
0028c5f8b.hs 0x28c600
0028c5fcb 0x28c6c0
0028c600
0028c600loc_28c600:
0028c600sub x3, x3, x0
0028c604sub x4, x1, x0
0028c608sub x5, xzr, x3
0028c60cubfm x6, x0, 61, 60
0028c610and x5, x6, x5, asr #63
0028c614add x2, x2, x5
0028c618str x2, [sp+120]
0028c61cstr x4, [sp+128]
0028c620str x3, [sp+136]
0028c624ldr x0, [sp+96]
0028c628ldr x1, [sp+192]
0028c62cldr x2, [sp+184]
0028c630ldr x3, [sp+200]
0028c634b 0x28c638
0028c638
0028c638loc_28c638:
0028c638subs xzr, x1, x0
0028c63cb.hs 0x28c644
0028c640b 0x28c6bc
0028c644
0028c644loc_28c644:
0028c644sub x3, x3, x0
0028c648sub x1, x1, x0
0028c64csub x4, xzr, x3
0028c650ubfm x0, x0, 61, 60
0028c654and x0, x0, x4, asr #63
0028c658add x0, x2, x0
0028c65cstr x0, [sp+144]
0028c660str x1, [sp+152]
0028c664str x3, [sp+160]
0028c668ldr x2, [sp+104]
0028c66cldr x4, [sp+120]
0028c670ldr x5, [sp+128]
0028c674ldr x6, [sp+136]
0028c678str x4, [sp+8]
0028c67cstr x5, [sp+16]
0028c680str x6, [sp+24]
0028c684str x0, [sp+32]
0028c688str x1, [sp+40]
0028c68cstr x3, [sp+48]
0028c690str x2, [sp+56]
0028c694bl math/big.addVW.abi0
0028c698b 0x28c6a0
0028c69c
0028c69cloc_28c69c:
0028c69cb 0x28c6a0
0028c6a0
0028c6a0loc_28c6a0:
0028c6a0b 0x28c6a8
0028c6a4
0028c6a4loc_28c6a4:
0028c6a4b 0x28c6a8
0028c6a8
0028c6a8loc_28c6a8:
0028c6a8b 0x28c6b0
0028c6ac
0028c6acloc_28c6ac:
0028c6acb 0x28c6b0
0028c6b0
0028c6b0loc_28c6b0:
0028c6b0ldur x29, [sp-8]
0028c6b4ldr x30, [sp], 176
0028c6b8ret x30
0028c6bc
0028c6bcloc_28c6bc:
0028c6bcbl runtime.panicSliceB
0028c6c0
0028c6c0loc_28c6c0:
0028c6c0bl runtime.panicSliceB
0028c6c4
0028c6c4loc_28c6c4:
0028c6c4bl runtime.panicSliceB
0028c6c8
0028c6c8loc_28c6c8:
0028c6c8mov x0, x6
0028c6ccbl runtime.panicSliceB
0028c6d0
0028c6d0loc_28c6d0:
0028c6d0bl runtime.panicSliceAcap
0028c6d4hint
0028c6d8
0028c6d8loc_28c6d8:
0028c6d8stp x0, x1, [sp+8]
0028c6dcstp x2, x3, [sp+24]
0028c6e0stp x4, x5, [sp+40]
0028c6e4str x6, [sp+56]
0028c6e8mov x3, x30
0028c6ecbl runtime.morestack_noctxt.abi0
0028c6f0ldp x0, x1, [sp+8]
0028c6f4ldp x2, x3, [sp+24]
0028c6f8ldp x4, x5, [sp+40]
0028c6fcldr x6, [sp+56]
0028c700b 0x28c4a0
0028c704udf 0
0028c708udf 0
0028c70cudf 0
0028c4a0
0028c4a0math/big.addAt: ; void math/big.addAt(math/big.nat z, math/big.nat x, int i)
0028c4a0ldr x16, [x28+16]
0028c4a4sub x17, sp, 48
0028c4a8subs xzr, x17, x16
0028c4acb.ls 0x28c6d8
0028c4b0str x30, [sp-176]!
0028c4b4stur x29, [sp-8]
0028c4b8sub x29, sp, 8
0028c4bcstr x0, [sp+184]
0028c4c0str x1, [sp+192]
0028c4c4str x2, [sp+200]
0028c4c8str x3, [sp+208]
0028c4ccstr x4, [sp+216]
0028c4d0str x5, [sp+224]
0028c4d4str x6, [sp+232]
0028c4d8str x4, [sp+88]
0028c4dccbnz x4, 0x28c4e4
0028c4e0b 0x28c6ac
0028c4e4
0028c4e4loc_28c4e4:
0028c4e4add x1, x6, x4
0028c4e8str x1, [sp+112]
0028c4ecldr x2, [sp+200]
0028c4f0ldr x3, [sp+184]
0028c4f4subs xzr, x2, x1
0028c4f8b.hs 0x28c500
0028c4fcb 0x28c6d0
0028c500
0028c500loc_28c500:
0028c500subs xzr, x6, x1
0028c504b.ls 0x28c50c
0028c508b 0x28c6c8
0028c50c
0028c50cloc_28c50c:
0028c50csub x2, x2, x6
0028c510sub x5, xzr, x2
0028c514ubfm x6, x6, 61, 60
0028c518and x5, x6, x5, asr #63
0028c51cadd x3, x3, x5
0028c520str x3, [sp+144]
0028c524str x4, [sp+152]
0028c528str x2, [sp+160]
0028c52cldr x0, [sp+232]
0028c530ldr x1, [sp+192]
0028c534ldr x2, [sp+184]
0028c538ldr x3, [sp+200]
0028c53cb 0x28c540
0028c540
0028c540loc_28c540:
0028c540subs xzr, x1, x0
0028c544b.hs 0x28c54c
0028c548b 0x28c6c4
0028c54c
0028c54cloc_28c54c:
0028c54csub x3, x3, x0
0028c550sub x1, x1, x0
0028c554sub x4, xzr, x3
0028c558ubfm x0, x0, 61, 60
0028c55cand x0, x0, x4, asr #63
0028c560add x0, x2, x0
0028c564str x0, [sp+120]
0028c568str x1, [sp+128]
0028c56cstr x3, [sp+136]
0028c570ldr x2, [sp+144]
0028c574ldr x4, [sp+152]
0028c578ldr x5, [sp+160]
0028c57cldr x6, [sp+208]
0028c580ldr x7, [sp+216]
0028c584ldr x8, [sp+224]
0028c588str x2, [sp+8]
0028c58cstr x4, [sp+16]
0028c590str x5, [sp+24]
0028c594str x0, [sp+32]
0028c598str x1, [sp+40]
0028c59cstr x3, [sp+48]
0028c5a0str x6, [sp+56]
0028c5a4str x7, [sp+64]
0028c5a8str x8, [sp+72]
0028c5acbl math/big.addVV.abi0
0028c5b0ldr x0, [sp+80]
0028c5b4str x0, [sp+104]
0028c5b8cbnz x0, 0x28c5c0
0028c5bcb 0x28c6a4
0028c5c0
0028c5c0loc_28c5c0:
0028c5c0ldr x2, [sp+88]
0028c5c4ldr x3, [sp+232]
0028c5c8add x0, x3, x2
0028c5ccstr x0, [sp+96]
0028c5d0ldr x2, [sp+192]
0028c5d4str x2, [sp+112]
0028c5d8subs xzr, x2, x0
0028c5dcb.gt 0x28c5e4
0028c5e0b 0x28c69c
0028c5e4
0028c5e4loc_28c5e4:
0028c5e4ldr x1, [sp+192]
0028c5e8ldr x2, [sp+184]
0028c5ecldr x3, [sp+200]
0028c5f0b 0x28c5f4
0028c5f4
0028c5f4loc_28c5f4:
0028c5f4subs xzr, x1, x0
0028c5f8b.hs 0x28c600
0028c5fcb 0x28c6c0
0028c600
0028c600loc_28c600:
0028c600sub x3, x3, x0
0028c604sub x4, x1, x0
0028c608sub x5, xzr, x3
0028c60cubfm x6, x0, 61, 60
0028c610and x5, x6, x5, asr #63
0028c614add x2, x2, x5
0028c618str x2, [sp+120]
0028c61cstr x4, [sp+128]
0028c620str x3, [sp+136]
0028c624ldr x0, [sp+96]
0028c628ldr x1, [sp+192]
0028c62cldr x2, [sp+184]
0028c630ldr x3, [sp+200]
0028c634b 0x28c638
0028c638
0028c638loc_28c638:
0028c638subs xzr, x1, x0
0028c63cb.hs 0x28c644
0028c640b 0x28c6bc
0028c644
0028c644loc_28c644:
0028c644sub x3, x3, x0
0028c648sub x1, x1, x0
0028c64csub x4, xzr, x3
0028c650ubfm x0, x0, 61, 60
0028c654and x0, x0, x4, asr #63
0028c658add x0, x2, x0
0028c65cstr x0, [sp+144]
0028c660str x1, [sp+152]
0028c664str x3, [sp+160]
0028c668ldr x2, [sp+104]
0028c66cldr x4, [sp+120]
0028c670ldr x5, [sp+128]
0028c674ldr x6, [sp+136]
0028c678str x4, [sp+8]
0028c67cstr x5, [sp+16]
0028c680str x6, [sp+24]
0028c684str x0, [sp+32]
0028c688str x1, [sp+40]
0028c68cstr x3, [sp+48]
0028c690str x2, [sp+56]
0028c694bl math/big.addVW.abi0
0028c698b 0x28c6a0
0028c69c
0028c69cloc_28c69c:
0028c69cb 0x28c6a0
0028c6a0
0028c6a0loc_28c6a0:
0028c6a0b 0x28c6a8
0028c6a4
0028c6a4loc_28c6a4:
0028c6a4b 0x28c6a8
0028c6a8
0028c6a8loc_28c6a8:
0028c6a8b 0x28c6b0
0028c6ac
0028c6acloc_28c6ac:
0028c6acb 0x28c6b0
0028c6b0
0028c6b0loc_28c6b0:
0028c6b0ldur x29, [sp-8]
0028c6b4ldr x30, [sp], 176
0028c6b8ret x30
0028c6bc
0028c6bcloc_28c6bc:
0028c6bcbl runtime.panicSliceB
0028c6c0
0028c6c0loc_28c6c0:
0028c6c0bl runtime.panicSliceB
0028c6c4
0028c6c4loc_28c6c4:
0028c6c4bl runtime.panicSliceB
0028c6c8
0028c6c8loc_28c6c8:
0028c6c8mov x0, x6
0028c6ccbl runtime.panicSliceB
0028c6d0
0028c6d0loc_28c6d0:
0028c6d0bl runtime.panicSliceAcap
0028c6d4hint
0028c6d8
0028c6d8loc_28c6d8:
0028c6d8stp x0, x1, [sp+8]
0028c6dcstp x2, x3, [sp+24]
0028c6e0stp x4, x5, [sp+40]
0028c6e4str x6, [sp+56]
0028c6e8mov x3, x30
0028c6ecbl runtime.morestack_noctxt.abi0
0028c6f0ldp x0, x1, [sp+8]
0028c6f4ldp x2, x3, [sp+24]
0028c6f8ldp x4, x5, [sp+40]
0028c6fcldr x6, [sp+56]
0028c700b 0x28c4a0
0028c704udf 0
0028c708udf 0
0028c70cudf 0
0028c4a0
0028c710
0028c710math/big.karatsubaLen: ; void math/big.karatsubaLen(int n, int threshold)
0028c710str x30, [sp-32]!
0028c714stur x29, [sp-8]
0028c718sub x29, sp, 8
0028c71cstr x0, [sp+40]
0028c720str x1, [sp+48]
0028c724str xzr, [sp+8]
0028c728str xzr, [sp+16]
0028c72cb 0x28c730
0028c730
0028c730loc_28c730:
0028c730ldr x1, [sp+48]
0028c734ldr x2, [sp+40]
0028c738subs xzr, x1, x2
0028c73cb.lt 0x28c744
0028c740b 0x28c764
0028c744
0028c744loc_28c744:
0028c744ldr x1, [sp+40]
0028c748sbfm x1, x1, 1, 63
0028c74cstr x1, [sp+40]
0028c750ldr x1, [sp+16]
0028c754add x1, x1, 1
0028c758str x1, [sp+16]
0028c75cb 0x28c760
0028c760
0028c760loc_28c760:
0028c760b 0x28c730
0028c764
0028c764loc_28c764:
0028c764ldr x1, [sp+16]
0028c768ldr x2, [sp+40]
0028c76clslv x2, x2, x1
0028c770subs xzr, x1, 64
0028c774csel x0, x2, xzr, lo
0028c778str x0, [sp+8]
0028c77cadd x29, sp, 24
0028c780add sp, sp, 32
0028c784ret x30
0028c788udf 0
0028c78cudf 0
0028c710
0028c710math/big.karatsubaLen: ; void math/big.karatsubaLen(int n, int threshold)
0028c710str x30, [sp-32]!
0028c714stur x29, [sp-8]
0028c718sub x29, sp, 8
0028c71cstr x0, [sp+40]
0028c720str x1, [sp+48]
0028c724str xzr, [sp+8]
0028c728str xzr, [sp+16]
0028c72cb 0x28c730
0028c730
0028c730loc_28c730:
0028c730ldr x1, [sp+48]
0028c734ldr x2, [sp+40]
0028c738subs xzr, x1, x2
0028c73cb.lt 0x28c744
0028c740b 0x28c764
0028c744
0028c744loc_28c744:
0028c744ldr x1, [sp+40]
0028c748sbfm x1, x1, 1, 63
0028c74cstr x1, [sp+40]
0028c750ldr x1, [sp+16]
0028c754add x1, x1, 1
0028c758str x1, [sp+16]
0028c75cb 0x28c760
0028c760
0028c760loc_28c760:
0028c760b 0x28c730
0028c764
0028c764loc_28c764:
0028c764ldr x1, [sp+16]
0028c768ldr x2, [sp+40]
0028c76clslv x2, x2, x1
0028c770subs xzr, x1, 64
0028c774csel x0, x2, xzr, lo
0028c778str x0, [sp+8]
0028c77cadd x29, sp, 24
0028c780add sp, sp, 32
0028c784ret x30
0028c788udf 0
0028c78cudf 0
0028c710
0028c790
0028c790math/big.nat.mul: ; void math/big.nat.mul(math/big.nat z, math/big.nat x, math/big.nat y)
0028c790ldr x16, [x28+16]
0028c794sub x17, sp, 272
0028c798subs xzr, x17, x16
0028c79cb.ls 0x28cf1c
0028c7a0sub x20, sp, 400
0028c7a4stp x29, x30, [x20-8]
0028c7a8add sp, x20, 0
0028c7acsub x29, sp, 8
0028c7b0str x0, [sp+408]
0028c7b4str x1, [sp+416]
0028c7b8str x2, [sp+424]
0028c7bcstr x3, [sp+432]
0028c7c0str x4, [sp+440]
0028c7c4str x5, [sp+448]
0028c7c8str x6, [sp+456]
0028c7ccstr x7, [sp+464]
0028c7d0str x8, [sp+472]
0028c7d4str xzr, [sp+160]
0028c7d8stp xzr, xzr, [sp+168]
0028c7dcldr x9, [sp+440]
0028c7e0str x9, [sp+104]
0028c7e4ldr x10, [sp+464]
0028c7e8str x10, [sp+96]
0028c7ecsubs xzr, x10, x9
0028c7f0b.gt 0x28c7f8
0028c7f4b 0x28c848
0028c7f8
0028c7f8loc_28c7f8:
0028c7f8b 0x28c7fc
0028c7fc
0028c7fcloc_28c7fc:
0028c7fcldr x0, [sp+408]
0028c800ldr x3, [sp+456]
0028c804ldr x6, [sp+432]
0028c808ldr x1, [sp+416]
0028c80cldr x4, [sp+464]
0028c810ldr x7, [sp+440]
0028c814ldr x2, [sp+424]
0028c818ldr x5, [sp+472]
0028c81cldr x8, [sp+448]
0028c820bl math/big.nat.mul
0028c824str x0, [sp+368]
0028c828str x1, [sp+376]
0028c82cstr x2, [sp+384]
0028c830str x0, [sp+160]
0028c834str x1, [sp+168]
0028c838str x2, [sp+176]
0028c83cldp x29, x30, [sp-8]
0028c840add sp, sp, 400
0028c844ret x30
0028c848
0028c848loc_28c848:
0028c848subs xzr, x9, 0
0028c84ccset x8, eq
0028c850strb w8, [sp+95]
0028c854cbz x9, 0x28c85c
0028c858b 0x28c860
0028c85c
0028c85cloc_28c85c:
0028c85cb 0x28c874
0028c860
0028c860loc_28c860:
0028c860ldr x8, [sp+96]
0028c864subs xzr, x8, 0
0028c868cset x8, eq
0028c86cstrb w8, [sp+95]
0028c870b 0x28c874
0028c874
0028c874loc_28c874:
0028c874ldrb w8, [sp+95]
0028c878tbnz w8, 0, 0x28c880
0028c87cb 0x28c8bc
0028c880
0028c880loc_28c880:
0028c880b 0x28c884
0028c884
0028c884loc_28c884:
0028c884ldr x0, [sp+408]
0028c888ldr x2, [sp+424]
0028c88cb 0x28c890
0028c890
0028c890loc_28c890:
0028c890b 0x28c894
0028c894
0028c894loc_28c894:
0028c894str x0, [sp+368]
0028c898str xzr, [sp+376]
0028c89cstr x2, [sp+384]
0028c8a0str x0, [sp+160]
0028c8a4str xzr, [sp+168]
0028c8a8str x2, [sp+176]
0028c8acmov x1, xzr
0028c8b0ldp x29, x30, [sp-8]
0028c8b4add sp, sp, 400
0028c8b8ret x30
0028c8bc
0028c8bcloc_28c8bc:
0028c8bcldr x8, [sp+96]
0028c8c0subs xzr, x8, 1
0028c8c4b.eq 0x28c8cc
0028c8c8b 0x28c930
0028c8cc
0028c8ccloc_28c8cc:
0028c8ccb 0x28c8d0
0028c8d0
0028c8d0loc_28c8d0:
0028c8d0ldr x1, [sp+464]
0028c8d4ldr x8, [sp+456]
0028c8d8subs xzr, x1, 0
0028c8dcb.hi 0x28c8e4
0028c8e0b 0x28cf10
0028c8e4
0028c8e4loc_28c8e4:
0028c8e4ldr x6, [x8]
0028c8e8str x6, [sp+136]
0028c8ecldr x0, [sp+408]
0028c8f0ldr x3, [sp+432]
0028c8f4ldr x1, [sp+416]
0028c8f8ldr x4, [sp+440]
0028c8fcldr x2, [sp+424]
0028c900ldr x5, [sp+448]
0028c904mov x7, xzr
0028c908bl math/big.nat.mulAddWW
0028c90cstr x0, [sp+368]
0028c910str x1, [sp+376]
0028c914str x2, [sp+384]
0028c918str x0, [sp+160]
0028c91cstr x1, [sp+168]
0028c920str x2, [sp+176]
0028c924ldp x29, x30, [sp-8]
0028c928add sp, sp, 400
0028c92cret x30
0028c930
0028c930loc_28c930:
0028c930b 0x28c934
0028c934
0028c934loc_28c934:
0028c934ldr x0, [sp+408]
0028c938ldr x3, [sp+432]
0028c93cldr x1, [sp+416]
0028c940ldr x4, [sp+440]
0028c944ldr x2, [sp+424]
0028c948ldr x5, [sp+448]
0028c94cbl math/big.alias
0028c950strb w0, [sp+94]
0028c954strb w0, [sp+95]
0028c958tbnz w0, 0, 0x28c960
0028c95cb 0x28c964
0028c960
0028c960loc_28c960:
0028c960b 0x28c98c
0028c964
0028c964loc_28c964:
0028c964ldr x0, [sp+408]
0028c968ldr x3, [sp+456]
0028c96cldr x1, [sp+416]
0028c970ldr x4, [sp+464]
0028c974ldr x2, [sp+424]
0028c978ldr x5, [sp+472]
0028c97cbl math/big.alias
0028c980strb w0, [sp+93]
0028c984strb w0, [sp+95]
0028c988b 0x28c98c
0028c98c
0028c98cloc_28c98c:
0028c98cldrb w4, [sp+95]
0028c990tbnz w4, 0, 0x28c998
0028c994b 0x28c9a4
0028c998
0028c998loc_28c998:
0028c998str xzr, [sp+408]
0028c99cstp xzr, xzr, [sp+416]
0028c9a0b 0x28c9a8
0028c9a4
0028c9a4loc_28c9a4:
0028c9a4b 0x28c9a8
0028c9a8
0028c9a8loc_28c9a8:
0028c9a8adrp x27, 0x734000
0028c9acldr x4, [x27+2008]
0028c9b0ldr x5, [sp+96]
0028c9b4subs xzr, x4, x5
0028c9b8b.gt 0x28c9c0
0028c9bcb 0x28ca38
0028c9c0
0028c9c0loc_28c9c0:
0028c9c0ldr x0, [sp+408]
0028c9c4ldr x1, [sp+416]
0028c9c8ldr x2, [sp+424]
0028c9ccldr x4, [sp+96]
0028c9d0ldr x5, [sp+104]
0028c9d4add x3, x5, x4
0028c9d8bl math/big.nat.make
0028c9dcstr x0, [sp+408]
0028c9e0str x1, [sp+416]
0028c9e4str x2, [sp+424]
0028c9e8ldr x4, [sp+440]
0028c9ecldr x7, [sp+464]
0028c9f0ldr x5, [sp+448]
0028c9f4ldr x8, [sp+472]
0028c9f8ldr x3, [sp+432]
0028c9fcldr x6, [sp+456]
0028ca00bl math/big.basicMul
0028ca04ldr x0, [sp+408]
0028ca08ldr x1, [sp+416]
0028ca0cldr x2, [sp+424]
0028ca10bl math/big.nat.norm
0028ca14str x0, [sp+368]
0028ca18str x1, [sp+376]
0028ca1cstr x2, [sp+384]
0028ca20str x0, [sp+160]
0028ca24str x1, [sp+168]
0028ca28str x2, [sp+176]
0028ca2cldp x29, x30, [sp-8]
0028ca30add sp, sp, 400
0028ca34ret x30
0028ca38
0028ca38loc_28ca38:
0028ca38adrp x27, 0x734000
0028ca3cldr x1, [x27+2008]
0028ca40ldr x0, [sp+96]
0028ca44bl math/big.karatsubaLen
0028ca48str x0, [sp+112]
0028ca4cldr x2, [sp+448]
0028ca50ldr x3, [sp+432]
0028ca54subs xzr, x0, x2
0028ca58b.ls 0x28ca60
0028ca5cb 0x28cf08
0028ca60
0028ca60loc_28ca60:
0028ca60b 0x28ca64
0028ca64
0028ca64loc_28ca64:
0028ca64str x3, [sp+304]
0028ca68str x0, [sp+312]
0028ca6cstr x2, [sp+320]
0028ca70ldr x1, [sp+112]
0028ca74ldr x2, [sp+472]
0028ca78ldr x4, [sp+456]
0028ca7csubs xzr, x2, x1
0028ca80b.hs 0x28ca88
0028ca84b 0x28cf04
0028ca88
0028ca88loc_28ca88:
0028ca88b 0x28ca8c
0028ca8c
0028ca8cloc_28ca8c:
0028ca8cstr x4, [sp+232]
0028ca90str x1, [sp+240]
0028ca94str x2, [sp+248]
0028ca98ldr x4, [sp+112]
0028ca9cadd x4, x4, x4, lsl #1
0028caa0ubfm x5, x4, 63, 62
0028caa4ldr x6, [sp+104]
0028caa8ldr x7, [sp+96]
0028caacadd x6, x6, x7
0028cab0subs xzr, x6, x4, lsl #1
0028cab4b.gt 0x28cabc
0028cab8b 0x28cac0
0028cabc
0028cabcloc_28cabc:
0028cabcb 0x28cac8
0028cac0
0028cac0loc_28cac0:
0028cac0mov x6, x5
0028cac4b 0x28cac8
0028cac8
0028cac8loc_28cac8:
0028cac8str x6, [sp+152]
0028caccldr x0, [sp+408]
0028cad0ldr x1, [sp+416]
0028cad4ldr x2, [sp+424]
0028cad8mov x3, x6
0028cadcbl math/big.nat.make
0028cae0str x0, [sp+408]
0028cae4str x1, [sp+416]
0028cae8str x2, [sp+424]
0028caecldr x4, [sp+312]
0028caf0ldr x7, [sp+240]
0028caf4ldr x5, [sp+320]
0028caf8ldr x8, [sp+248]
0028cafcldr x3, [sp+304]
0028cb00ldr x6, [sp+232]
0028cb04bl math/big.karatsuba
0028cb08ldr x4, [sp+96]
0028cb0cldr x5, [sp+104]
0028cb10add x1, x5, x4
0028cb14str x1, [sp+152]
0028cb18ldr x2, [sp+424]
0028cb1csubs xzr, x2, x1
0028cb20b.hs 0x28cb28
0028cb24b 0x28cf00
0028cb28
0028cb28loc_28cb28:
0028cb28b 0x28cb2c
0028cb2c
0028cb2cloc_28cb2c:
0028cb2cstr x1, [sp+416]
0028cb30ldr x3, [sp+112]
0028cb34ubfm x0, x3, 63, 62
0028cb38str x0, [sp+152]
0028cb3cldr x4, [sp+408]
0028cb40ldr x5, [sp+424]
0028cb44b 0x28cb48
0028cb48
0028cb48loc_28cb48:
0028cb48subs xzr, x1, x3, lsl #1
0028cb4cb.hs 0x28cb54
0028cb50b 0x28cefc
0028cb54
0028cb54loc_28cb54:
0028cb54sub x5, x5, x3, lsl #1
0028cb58sub x6, xzr, x5
0028cb5cubfm x7, x3, 60, 59
0028cb60and x6, x7, x6, asr #63
0028cb64add x4, x4, x6
0028cb68str x4, [sp+368]
0028cb6csub x3, x1, x3, lsl #1
0028cb70str x3, [sp+376]
0028cb74str x5, [sp+384]
0028cb78cbnz x3, 0x28cb80
0028cb7cb 0x28cba0
0028cb80
0028cb80loc_28cb80:
0028cb80str x4, [sp+360]
0028cb84ldr x2, [sp+376]
0028cb88ubfm x2, x2, 61, 60
0028cb8cstr x2, [sp+128]
0028cb90ldr x1, [sp+128]
0028cb94ldr x0, [sp+360]
0028cb98bl runtime.memclrNoHeapPointers
0028cb9cb 0x28cba4
0028cba0
0028cba0loc_28cba0:
0028cba0b 0x28cba4
0028cba4
0028cba4loc_28cba4:
0028cba4ldr x3, [sp+96]
0028cba8ldr x4, [sp+112]
0028cbacsubs xzr, x3, x4
0028cbb0cset x3, gt
0028cbb4strb w3, [sp+94]
0028cbb8b.gt 0x28cbc0
0028cbbcb 0x28cbc4
0028cbc0
0028cbc0loc_28cbc0:
0028cbc0b 0x28cbdc
0028cbc4
0028cbc4loc_28cbc4:
0028cbc4ldr x3, [sp+104]
0028cbc8ldr x4, [sp+96]
0028cbccsubs xzr, x4, x3
0028cbd0cset x3, ne
0028cbd4strb w3, [sp+94]
0028cbd8b 0x28cbdc
0028cbdc
0028cbdcloc_28cbdc:
0028cbdcldrb w3, [sp+94]
0028cbe0tbnz w3, 0, 0x28cbe8
0028cbe4b 0x28ccf0
0028cbe8
0028cbe8loc_28cbe8:
0028cbe8ldr x1, [sp+112]
0028cbecadd x0, x1, x1, lsl #1
0028cbf0bl math/big.getNat
0028cbf4str x0, [sp+328]
0028cbf8ldrsb x27, [x0]
0028cbfcldr x1, [x0]
0028cc00ldr x2, [x0+8]
0028cc04ldr x3, [x0+16]
0028cc08str x1, [sp+336]
0028cc0cstr x2, [sp+344]
0028cc10str x3, [sp+352]
0028cc14ldr x0, [sp+304]
0028cc18ldr x1, [sp+312]
0028cc1cldr x2, [sp+320]
0028cc20bl math/big.nat.norm
0028cc24str x0, [sp+280]
0028cc28str x1, [sp+288]
0028cc2cstr x2, [sp+296]
0028cc30ldr x0, [sp+112]
0028cc34ldr x1, [sp+464]
0028cc38ldr x2, [sp+456]
0028cc3cldr x3, [sp+472]
0028cc40b 0x28cc44
0028cc44
0028cc44loc_28cc44:
0028cc44subs xzr, x1, x0
0028cc48b.hs 0x28cc50
0028cc4cb 0x28cef8
0028cc50
0028cc50loc_28cc50:
0028cc50sub x8, x3, x0
0028cc54sub x7, x1, x0
0028cc58sub x9, xzr, x8
0028cc5cubfm x10, x0, 61, 60
0028cc60and x9, x10, x9, asr #63
0028cc64add x6, x2, x9
0028cc68str x6, [sp+184]
0028cc6cstr x7, [sp+192]
0028cc70str x8, [sp+200]
0028cc74ldr x0, [sp+336]
0028cc78ldr x3, [sp+280]
0028cc7cldr x1, [sp+344]
0028cc80ldr x4, [sp+288]
0028cc84ldr x2, [sp+352]
0028cc88ldr x5, [sp+296]
0028cc8cbl math/big.nat.mul
0028cc90str x0, [sp+336]
0028cc94str x1, [sp+344]
0028cc98str x2, [sp+352]
0028cc9cldr x6, [sp+112]
0028cca0ldr x9, [sp+408]
0028cca4ldr x10, [sp+416]
0028cca8ldr x11, [sp+424]
0028ccacmov x3, x0
0028ccb0mov x4, x1
0028ccb4mov x5, x2
0028ccb8mov x0, x9
0028ccbcmov x1, x10
0028ccc0mov x2, x11
0028ccc4bl math/big.addAt
0028ccc8ldr x0, [sp+232]
0028ccccldr x1, [sp+240]
0028ccd0ldr x2, [sp+248]
0028ccd4bl math/big.nat.norm
0028ccd8str x0, [sp+208]
0028ccdcstr x1, [sp+216]
0028cce0str x2, [sp+224]
0028cce4ldr x9, [sp+112]
0028cce8str x9, [sp+120]
0028ccecb 0x28cd28
0028ccf0
0028ccf0loc_28ccf0:
0028ccf0b 0x28ccf4
0028ccf4
0028ccf4loc_28ccf4:
0028ccf4ldr x0, [sp+408]
0028ccf8ldr x1, [sp+416]
0028ccfcldr x2, [sp+424]
0028cd00bl math/big.nat.norm
0028cd04str x0, [sp+368]
0028cd08str x1, [sp+376]
0028cd0cstr x2, [sp+384]
0028cd10str x0, [sp+160]
0028cd14str x1, [sp+168]
0028cd18str x2, [sp+176]
0028cd1cldp x29, x30, [sp-8]
0028cd20add sp, sp, 400
0028cd24ret x30
0028cd28
0028cd28loc_28cd28:
0028cd28ldr x3, [sp+440]
0028cd2cstr x3, [sp+152]
0028cd30ldr x4, [sp+120]
0028cd34subs xzr, x3, x4
0028cd38b.gt 0x28cd40
0028cd3cb 0x28cee4
0028cd40
0028cd40loc_28cd40:
0028cd40ldr x0, [sp+120]
0028cd44ldr x1, [sp+440]
0028cd48ldr x3, [sp+432]
0028cd4cldr x4, [sp+448]
0028cd50b 0x28cd54
0028cd54
0028cd54loc_28cd54:
0028cd54subs xzr, x1, x0
0028cd58b.hs 0x28cd60
0028cd5cb 0x28cef4
0028cd60
0028cd60loc_28cd60:
0028cd60sub x2, x4, x0
0028cd64sub x4, x1, x0
0028cd68sub x5, xzr, x2
0028cd6cubfm x6, x0, 61, 60
0028cd70and x5, x6, x5, asr #63
0028cd74add x3, x3, x5
0028cd78str x3, [sp+256]
0028cd7cstr x4, [sp+264]
0028cd80str x2, [sp+272]
0028cd84str x4, [sp+144]
0028cd88ldr x3, [sp+112]
0028cd8csubs xzr, x3, x4
0028cd90b.lt 0x28cd98
0028cd94b 0x28cdb4
0028cd98
0028cd98loc_28cd98:
0028cd98ldr x1, [sp+112]
0028cd9csubs xzr, x1, x2
0028cda0b.ls 0x28cda8
0028cda4b 0x28cef0
0028cda8
0028cda8loc_28cda8:
0028cda8b 0x28cdac
0028cdac
0028cdacloc_28cdac:
0028cdacstr x1, [sp+264]
0028cdb0b 0x28cdb8
0028cdb4
0028cdb4loc_28cdb4:
0028cdb4b 0x28cdb8
0028cdb8
0028cdb8loc_28cdb8:
0028cdb8ldr x0, [sp+256]
0028cdbcldr x1, [sp+264]
0028cdc0ldr x2, [sp+272]
0028cdc4bl math/big.nat.norm
0028cdc8str x0, [sp+256]
0028cdccstr x1, [sp+264]
0028cdd0str x2, [sp+272]
0028cdd4ldr x3, [sp+336]
0028cdd8ldr x6, [sp+208]
0028cddcldr x4, [sp+344]
0028cde0ldr x7, [sp+216]
0028cde4ldr x5, [sp+352]
0028cde8ldr x8, [sp+224]
0028cdecmov x9, x0
0028cdf0mov x0, x3
0028cdf4mov x10, x1
0028cdf8mov x1, x4
0028cdfcmov x11, x2
0028ce00mov x2, x5
0028ce04mov x3, x9
0028ce08mov x4, x10
0028ce0cmov x5, x11
0028ce10bl math/big.nat.mul
0028ce14str x0, [sp+336]
0028ce18str x1, [sp+344]
0028ce1cstr x2, [sp+352]
0028ce20ldr x6, [sp+120]
0028ce24ldr x3, [sp+408]
0028ce28ldr x4, [sp+416]
0028ce2cldr x5, [sp+424]
0028ce30mov x7, x0
0028ce34mov x0, x3
0028ce38mov x8, x1
0028ce3cmov x1, x4
0028ce40mov x9, x2
0028ce44mov x2, x5
0028ce48mov x3, x7
0028ce4cmov x4, x8
0028ce50mov x5, x9
0028ce54bl math/big.addAt
0028ce58ldr x0, [sp+336]
0028ce5cldr x3, [sp+256]
0028ce60ldr x6, [sp+184]
0028ce64ldr x1, [sp+344]
0028ce68ldr x4, [sp+264]
0028ce6cldr x7, [sp+192]
0028ce70ldr x2, [sp+352]
0028ce74ldr x5, [sp+272]
0028ce78ldr x8, [sp+200]
0028ce7cbl math/big.nat.mul
0028ce80str x0, [sp+336]
0028ce84str x1, [sp+344]
0028ce88str x2, [sp+352]
0028ce8cldr x3, [sp+408]
0028ce90ldr x4, [sp+416]
0028ce94ldr x5, [sp+424]
0028ce98ldr x6, [sp+112]
0028ce9cldr x7, [sp+120]
0028cea0add x6, x7, x6
0028cea4mov x7, x0
0028cea8mov x0, x3
0028ceacmov x8, x1
0028ceb0mov x1, x4
0028ceb4mov x9, x2
0028ceb8mov x2, x5
0028cebcmov x3, x7
0028cec0mov x4, x8
0028cec4mov x5, x9
0028cec8bl math/big.addAt
0028ceccb 0x28ced0
0028ced0
0028ced0loc_28ced0:
0028ced0ldr x3, [sp+112]
0028ced4ldr x4, [sp+120]
0028ced8add x3, x4, x3
0028cedcstr x3, [sp+120]
0028cee0b 0x28cd28
0028cee4
0028cee4loc_28cee4:
0028cee4ldr x0, [sp+328]
0028cee8bl math/big.putNat
0028ceecb 0x28ccf4
0028cef0
0028cef0loc_28cef0:
0028cef0bl runtime.panicSliceAcap
0028cef4
0028cef4loc_28cef4:
0028cef4bl runtime.panicSliceB
0028cef8
0028cef8loc_28cef8:
0028cef8bl runtime.panicSliceB
0028cefc
0028cefcloc_28cefc:
0028cefcbl runtime.panicSliceB
0028cf00
0028cf00loc_28cf00:
0028cf00bl runtime.panicSliceAcap
0028cf04
0028cf04loc_28cf04:
0028cf04bl runtime.panicSliceAcap
0028cf08
0028cf08loc_28cf08:
0028cf08mov x1, x0
0028cf0cbl runtime.panicSliceAcap
0028cf10
0028cf10loc_28cf10:
0028cf10mov x0, xzr
0028cf14bl runtime.panicIndex
0028cf18hint
0028cf1c
0028cf1cloc_28cf1c:
0028cf1cstp x0, x1, [sp+8]
0028cf20stp x2, x3, [sp+24]
0028cf24stp x4, x5, [sp+40]
0028cf28stp x6, x7, [sp+56]
0028cf2cstr x8, [sp+72]
0028cf30mov x3, x30
0028cf34bl runtime.morestack_noctxt.abi0
0028cf38ldp x0, x1, [sp+8]
0028cf3cldp x2, x3, [sp+24]
0028cf40ldp x4, x5, [sp+40]
0028cf44ldp x6, x7, [sp+56]
0028cf48ldr x8, [sp+72]
0028cf4cb 0x28c790
0028c790
0028c790math/big.nat.mul: ; void math/big.nat.mul(math/big.nat z, math/big.nat x, math/big.nat y)
0028c790ldr x16, [x28+16]
0028c794sub x17, sp, 272
0028c798subs xzr, x17, x16
0028c79cb.ls 0x28cf1c
0028c7a0sub x20, sp, 400
0028c7a4stp x29, x30, [x20-8]
0028c7a8add sp, x20, 0
0028c7acsub x29, sp, 8
0028c7b0str x0, [sp+408]
0028c7b4str x1, [sp+416]
0028c7b8str x2, [sp+424]
0028c7bcstr x3, [sp+432]
0028c7c0str x4, [sp+440]
0028c7c4str x5, [sp+448]
0028c7c8str x6, [sp+456]
0028c7ccstr x7, [sp+464]
0028c7d0str x8, [sp+472]
0028c7d4str xzr, [sp+160]
0028c7d8stp xzr, xzr, [sp+168]
0028c7dcldr x9, [sp+440]
0028c7e0str x9, [sp+104]
0028c7e4ldr x10, [sp+464]
0028c7e8str x10, [sp+96]
0028c7ecsubs xzr, x10, x9
0028c7f0b.gt 0x28c7f8
0028c7f4b 0x28c848
0028c7f8
0028c7f8loc_28c7f8:
0028c7f8b 0x28c7fc
0028c7fc
0028c7fcloc_28c7fc:
0028c7fcldr x0, [sp+408]
0028c800ldr x3, [sp+456]
0028c804ldr x6, [sp+432]
0028c808ldr x1, [sp+416]
0028c80cldr x4, [sp+464]
0028c810ldr x7, [sp+440]
0028c814ldr x2, [sp+424]
0028c818ldr x5, [sp+472]
0028c81cldr x8, [sp+448]
0028c820bl math/big.nat.mul
0028c824str x0, [sp+368]
0028c828str x1, [sp+376]
0028c82cstr x2, [sp+384]
0028c830str x0, [sp+160]
0028c834str x1, [sp+168]
0028c838str x2, [sp+176]
0028c83cldp x29, x30, [sp-8]
0028c840add sp, sp, 400
0028c844ret x30
0028c848
0028c848loc_28c848:
0028c848subs xzr, x9, 0
0028c84ccset x8, eq
0028c850strb w8, [sp+95]
0028c854cbz x9, 0x28c85c
0028c858b 0x28c860
0028c85c
0028c85cloc_28c85c:
0028c85cb 0x28c874
0028c860
0028c860loc_28c860:
0028c860ldr x8, [sp+96]
0028c864subs xzr, x8, 0
0028c868cset x8, eq
0028c86cstrb w8, [sp+95]
0028c870b 0x28c874
0028c874
0028c874loc_28c874:
0028c874ldrb w8, [sp+95]
0028c878tbnz w8, 0, 0x28c880
0028c87cb 0x28c8bc
0028c880
0028c880loc_28c880:
0028c880b 0x28c884
0028c884
0028c884loc_28c884:
0028c884ldr x0, [sp+408]
0028c888ldr x2, [sp+424]
0028c88cb 0x28c890
0028c890
0028c890loc_28c890:
0028c890b 0x28c894
0028c894
0028c894loc_28c894:
0028c894str x0, [sp+368]
0028c898str xzr, [sp+376]
0028c89cstr x2, [sp+384]
0028c8a0str x0, [sp+160]
0028c8a4str xzr, [sp+168]
0028c8a8str x2, [sp+176]
0028c8acmov x1, xzr
0028c8b0ldp x29, x30, [sp-8]
0028c8b4add sp, sp, 400
0028c8b8ret x30
0028c8bc
0028c8bcloc_28c8bc:
0028c8bcldr x8, [sp+96]
0028c8c0subs xzr, x8, 1
0028c8c4b.eq 0x28c8cc
0028c8c8b 0x28c930
0028c8cc
0028c8ccloc_28c8cc:
0028c8ccb 0x28c8d0
0028c8d0
0028c8d0loc_28c8d0:
0028c8d0ldr x1, [sp+464]
0028c8d4ldr x8, [sp+456]
0028c8d8subs xzr, x1, 0
0028c8dcb.hi 0x28c8e4
0028c8e0b 0x28cf10
0028c8e4
0028c8e4loc_28c8e4:
0028c8e4ldr x6, [x8]
0028c8e8str x6, [sp+136]
0028c8ecldr x0, [sp+408]
0028c8f0ldr x3, [sp+432]
0028c8f4ldr x1, [sp+416]
0028c8f8ldr x4, [sp+440]
0028c8fcldr x2, [sp+424]
0028c900ldr x5, [sp+448]
0028c904mov x7, xzr
0028c908bl math/big.nat.mulAddWW
0028c90cstr x0, [sp+368]
0028c910str x1, [sp+376]
0028c914str x2, [sp+384]
0028c918str x0, [sp+160]
0028c91cstr x1, [sp+168]
0028c920str x2, [sp+176]
0028c924ldp x29, x30, [sp-8]
0028c928add sp, sp, 400
0028c92cret x30
0028c930
0028c930loc_28c930:
0028c930b 0x28c934
0028c934
0028c934loc_28c934:
0028c934ldr x0, [sp+408]
0028c938ldr x3, [sp+432]
0028c93cldr x1, [sp+416]
0028c940ldr x4, [sp+440]
0028c944ldr x2, [sp+424]
0028c948ldr x5, [sp+448]
0028c94cbl math/big.alias
0028c950strb w0, [sp+94]
0028c954strb w0, [sp+95]
0028c958tbnz w0, 0, 0x28c960
0028c95cb 0x28c964
0028c960
0028c960loc_28c960:
0028c960b 0x28c98c
0028c964
0028c964loc_28c964:
0028c964ldr x0, [sp+408]
0028c968ldr x3, [sp+456]
0028c96cldr x1, [sp+416]
0028c970ldr x4, [sp+464]
0028c974ldr x2, [sp+424]
0028c978ldr x5, [sp+472]
0028c97cbl math/big.alias
0028c980strb w0, [sp+93]
0028c984strb w0, [sp+95]
0028c988b 0x28c98c
0028c98c
0028c98cloc_28c98c:
0028c98cldrb w4, [sp+95]
0028c990tbnz w4, 0, 0x28c998
0028c994b 0x28c9a4
0028c998
0028c998loc_28c998:
0028c998str xzr, [sp+408]
0028c99cstp xzr, xzr, [sp+416]
0028c9a0b 0x28c9a8
0028c9a4
0028c9a4loc_28c9a4:
0028c9a4b 0x28c9a8
0028c9a8
0028c9a8loc_28c9a8:
0028c9a8adrp x27, 0x734000
0028c9acldr x4, [x27+2008]
0028c9b0ldr x5, [sp+96]
0028c9b4subs xzr, x4, x5
0028c9b8b.gt 0x28c9c0
0028c9bcb 0x28ca38
0028c9c0
0028c9c0loc_28c9c0:
0028c9c0ldr x0, [sp+408]
0028c9c4ldr x1, [sp+416]
0028c9c8ldr x2, [sp+424]
0028c9ccldr x4, [sp+96]
0028c9d0ldr x5, [sp+104]
0028c9d4add x3, x5, x4
0028c9d8bl math/big.nat.make
0028c9dcstr x0, [sp+408]
0028c9e0str x1, [sp+416]
0028c9e4str x2, [sp+424]
0028c9e8ldr x4, [sp+440]
0028c9ecldr x7, [sp+464]
0028c9f0ldr x5, [sp+448]
0028c9f4ldr x8, [sp+472]
0028c9f8ldr x3, [sp+432]
0028c9fcldr x6, [sp+456]
0028ca00bl math/big.basicMul
0028ca04ldr x0, [sp+408]
0028ca08ldr x1, [sp+416]
0028ca0cldr x2, [sp+424]
0028ca10bl math/big.nat.norm
0028ca14str x0, [sp+368]
0028ca18str x1, [sp+376]
0028ca1cstr x2, [sp+384]
0028ca20str x0, [sp+160]
0028ca24str x1, [sp+168]
0028ca28str x2, [sp+176]
0028ca2cldp x29, x30, [sp-8]
0028ca30add sp, sp, 400
0028ca34ret x30
0028ca38
0028ca38loc_28ca38:
0028ca38adrp x27, 0x734000
0028ca3cldr x1, [x27+2008]
0028ca40ldr x0, [sp+96]
0028ca44bl math/big.karatsubaLen
0028ca48str x0, [sp+112]
0028ca4cldr x2, [sp+448]
0028ca50ldr x3, [sp+432]
0028ca54subs xzr, x0, x2
0028ca58b.ls 0x28ca60
0028ca5cb 0x28cf08
0028ca60
0028ca60loc_28ca60:
0028ca60b 0x28ca64
0028ca64
0028ca64loc_28ca64:
0028ca64str x3, [sp+304]
0028ca68str x0, [sp+312]
0028ca6cstr x2, [sp+320]
0028ca70ldr x1, [sp+112]
0028ca74ldr x2, [sp+472]
0028ca78ldr x4, [sp+456]
0028ca7csubs xzr, x2, x1
0028ca80b.hs 0x28ca88
0028ca84b 0x28cf04
0028ca88
0028ca88loc_28ca88:
0028ca88b 0x28ca8c
0028ca8c
0028ca8cloc_28ca8c:
0028ca8cstr x4, [sp+232]
0028ca90str x1, [sp+240]
0028ca94str x2, [sp+248]
0028ca98ldr x4, [sp+112]
0028ca9cadd x4, x4, x4, lsl #1
0028caa0ubfm x5, x4, 63, 62
0028caa4ldr x6, [sp+104]
0028caa8ldr x7, [sp+96]
0028caacadd x6, x6, x7
0028cab0subs xzr, x6, x4, lsl #1
0028cab4b.gt 0x28cabc
0028cab8b 0x28cac0
0028cabc
0028cabcloc_28cabc:
0028cabcb 0x28cac8
0028cac0
0028cac0loc_28cac0:
0028cac0mov x6, x5
0028cac4b 0x28cac8
0028cac8
0028cac8loc_28cac8:
0028cac8str x6, [sp+152]
0028caccldr x0, [sp+408]
0028cad0ldr x1, [sp+416]
0028cad4ldr x2, [sp+424]
0028cad8mov x3, x6
0028cadcbl math/big.nat.make
0028cae0str x0, [sp+408]
0028cae4str x1, [sp+416]
0028cae8str x2, [sp+424]
0028caecldr x4, [sp+312]
0028caf0ldr x7, [sp+240]
0028caf4ldr x5, [sp+320]
0028caf8ldr x8, [sp+248]
0028cafcldr x3, [sp+304]
0028cb00ldr x6, [sp+232]
0028cb04bl math/big.karatsuba
0028cb08ldr x4, [sp+96]
0028cb0cldr x5, [sp+104]
0028cb10add x1, x5, x4
0028cb14str x1, [sp+152]
0028cb18ldr x2, [sp+424]
0028cb1csubs xzr, x2, x1
0028cb20b.hs 0x28cb28
0028cb24b 0x28cf00
0028cb28
0028cb28loc_28cb28:
0028cb28b 0x28cb2c
0028cb2c
0028cb2cloc_28cb2c:
0028cb2cstr x1, [sp+416]
0028cb30ldr x3, [sp+112]
0028cb34ubfm x0, x3, 63, 62
0028cb38str x0, [sp+152]
0028cb3cldr x4, [sp+408]
0028cb40ldr x5, [sp+424]
0028cb44b 0x28cb48
0028cb48
0028cb48loc_28cb48:
0028cb48subs xzr, x1, x3, lsl #1
0028cb4cb.hs 0x28cb54
0028cb50b 0x28cefc
0028cb54
0028cb54loc_28cb54:
0028cb54sub x5, x5, x3, lsl #1
0028cb58sub x6, xzr, x5
0028cb5cubfm x7, x3, 60, 59
0028cb60and x6, x7, x6, asr #63
0028cb64add x4, x4, x6
0028cb68str x4, [sp+368]
0028cb6csub x3, x1, x3, lsl #1
0028cb70str x3, [sp+376]
0028cb74str x5, [sp+384]
0028cb78cbnz x3, 0x28cb80
0028cb7cb 0x28cba0
0028cb80
0028cb80loc_28cb80:
0028cb80str x4, [sp+360]
0028cb84ldr x2, [sp+376]
0028cb88ubfm x2, x2, 61, 60
0028cb8cstr x2, [sp+128]
0028cb90ldr x1, [sp+128]
0028cb94ldr x0, [sp+360]
0028cb98bl runtime.memclrNoHeapPointers
0028cb9cb 0x28cba4
0028cba0
0028cba0loc_28cba0:
0028cba0b 0x28cba4
0028cba4
0028cba4loc_28cba4:
0028cba4ldr x3, [sp+96]
0028cba8ldr x4, [sp+112]
0028cbacsubs xzr, x3, x4
0028cbb0cset x3, gt
0028cbb4strb w3, [sp+94]
0028cbb8b.gt 0x28cbc0
0028cbbcb 0x28cbc4
0028cbc0
0028cbc0loc_28cbc0:
0028cbc0b 0x28cbdc
0028cbc4
0028cbc4loc_28cbc4:
0028cbc4ldr x3, [sp+104]
0028cbc8ldr x4, [sp+96]
0028cbccsubs xzr, x4, x3
0028cbd0cset x3, ne
0028cbd4strb w3, [sp+94]
0028cbd8b 0x28cbdc
0028cbdc
0028cbdcloc_28cbdc:
0028cbdcldrb w3, [sp+94]
0028cbe0tbnz w3, 0, 0x28cbe8
0028cbe4b 0x28ccf0
0028cbe8
0028cbe8loc_28cbe8:
0028cbe8ldr x1, [sp+112]
0028cbecadd x0, x1, x1, lsl #1
0028cbf0bl math/big.getNat
0028cbf4str x0, [sp+328]
0028cbf8ldrsb x27, [x0]
0028cbfcldr x1, [x0]
0028cc00ldr x2, [x0+8]
0028cc04ldr x3, [x0+16]
0028cc08str x1, [sp+336]
0028cc0cstr x2, [sp+344]
0028cc10str x3, [sp+352]
0028cc14ldr x0, [sp+304]
0028cc18ldr x1, [sp+312]
0028cc1cldr x2, [sp+320]
0028cc20bl math/big.nat.norm
0028cc24str x0, [sp+280]
0028cc28str x1, [sp+288]
0028cc2cstr x2, [sp+296]
0028cc30ldr x0, [sp+112]
0028cc34ldr x1, [sp+464]
0028cc38ldr x2, [sp+456]
0028cc3cldr x3, [sp+472]
0028cc40b 0x28cc44
0028cc44
0028cc44loc_28cc44:
0028cc44subs xzr, x1, x0
0028cc48b.hs 0x28cc50
0028cc4cb 0x28cef8
0028cc50
0028cc50loc_28cc50:
0028cc50sub x8, x3, x0
0028cc54sub x7, x1, x0
0028cc58sub x9, xzr, x8
0028cc5cubfm x10, x0, 61, 60
0028cc60and x9, x10, x9, asr #63
0028cc64add x6, x2, x9
0028cc68str x6, [sp+184]
0028cc6cstr x7, [sp+192]
0028cc70str x8, [sp+200]
0028cc74ldr x0, [sp+336]
0028cc78ldr x3, [sp+280]
0028cc7cldr x1, [sp+344]
0028cc80ldr x4, [sp+288]
0028cc84ldr x2, [sp+352]
0028cc88ldr x5, [sp+296]
0028cc8cbl math/big.nat.mul
0028cc90str x0, [sp+336]
0028cc94str x1, [sp+344]
0028cc98str x2, [sp+352]
0028cc9cldr x6, [sp+112]
0028cca0ldr x9, [sp+408]
0028cca4ldr x10, [sp+416]
0028cca8ldr x11, [sp+424]
0028ccacmov x3, x0
0028ccb0mov x4, x1
0028ccb4mov x5, x2
0028ccb8mov x0, x9
0028ccbcmov x1, x10
0028ccc0mov x2, x11
0028ccc4bl math/big.addAt
0028ccc8ldr x0, [sp+232]
0028ccccldr x1, [sp+240]
0028ccd0ldr x2, [sp+248]
0028ccd4bl math/big.nat.norm
0028ccd8str x0, [sp+208]
0028ccdcstr x1, [sp+216]
0028cce0str x2, [sp+224]
0028cce4ldr x9, [sp+112]
0028cce8str x9, [sp+120]
0028ccecb 0x28cd28
0028ccf0
0028ccf0loc_28ccf0:
0028ccf0b 0x28ccf4
0028ccf4
0028ccf4loc_28ccf4:
0028ccf4ldr x0, [sp+408]
0028ccf8ldr x1, [sp+416]
0028ccfcldr x2, [sp+424]
0028cd00bl math/big.nat.norm
0028cd04str x0, [sp+368]
0028cd08str x1, [sp+376]
0028cd0cstr x2, [sp+384]
0028cd10str x0, [sp+160]
0028cd14str x1, [sp+168]
0028cd18str x2, [sp+176]
0028cd1cldp x29, x30, [sp-8]
0028cd20add sp, sp, 400
0028cd24ret x30
0028cd28
0028cd28loc_28cd28:
0028cd28ldr x3, [sp+440]
0028cd2cstr x3, [sp+152]
0028cd30ldr x4, [sp+120]
0028cd34subs xzr, x3, x4
0028cd38b.gt 0x28cd40
0028cd3cb 0x28cee4
0028cd40
0028cd40loc_28cd40:
0028cd40ldr x0, [sp+120]
0028cd44ldr x1, [sp+440]
0028cd48ldr x3, [sp+432]
0028cd4cldr x4, [sp+448]
0028cd50b 0x28cd54
0028cd54
0028cd54loc_28cd54:
0028cd54subs xzr, x1, x0
0028cd58b.hs 0x28cd60
0028cd5cb 0x28cef4
0028cd60
0028cd60loc_28cd60:
0028cd60sub x2, x4, x0
0028cd64sub x4, x1, x0
0028cd68sub x5, xzr, x2
0028cd6cubfm x6, x0, 61, 60
0028cd70and x5, x6, x5, asr #63
0028cd74add x3, x3, x5
0028cd78str x3, [sp+256]
0028cd7cstr x4, [sp+264]
0028cd80str x2, [sp+272]
0028cd84str x4, [sp+144]
0028cd88ldr x3, [sp+112]
0028cd8csubs xzr, x3, x4
0028cd90b.lt 0x28cd98
0028cd94b 0x28cdb4
0028cd98
0028cd98loc_28cd98:
0028cd98ldr x1, [sp+112]
0028cd9csubs xzr, x1, x2
0028cda0b.ls 0x28cda8
0028cda4b 0x28cef0
0028cda8
0028cda8loc_28cda8:
0028cda8b 0x28cdac
0028cdac
0028cdacloc_28cdac:
0028cdacstr x1, [sp+264]
0028cdb0b 0x28cdb8
0028cdb4
0028cdb4loc_28cdb4:
0028cdb4b 0x28cdb8
0028cdb8
0028cdb8loc_28cdb8:
0028cdb8ldr x0, [sp+256]
0028cdbcldr x1, [sp+264]
0028cdc0ldr x2, [sp+272]
0028cdc4bl math/big.nat.norm
0028cdc8str x0, [sp+256]
0028cdccstr x1, [sp+264]
0028cdd0str x2, [sp+272]
0028cdd4ldr x3, [sp+336]
0028cdd8ldr x6, [sp+208]
0028cddcldr x4, [sp+344]
0028cde0ldr x7, [sp+216]
0028cde4ldr x5, [sp+352]
0028cde8ldr x8, [sp+224]
0028cdecmov x9, x0
0028cdf0mov x0, x3
0028cdf4mov x10, x1
0028cdf8mov x1, x4
0028cdfcmov x11, x2
0028ce00mov x2, x5
0028ce04mov x3, x9
0028ce08mov x4, x10
0028ce0cmov x5, x11
0028ce10bl math/big.nat.mul
0028ce14str x0, [sp+336]
0028ce18str x1, [sp+344]
0028ce1cstr x2, [sp+352]
0028ce20ldr x6, [sp+120]
0028ce24ldr x3, [sp+408]
0028ce28ldr x4, [sp+416]
0028ce2cldr x5, [sp+424]
0028ce30mov x7, x0
0028ce34mov x0, x3
0028ce38mov x8, x1
0028ce3cmov x1, x4
0028ce40mov x9, x2
0028ce44mov x2, x5
0028ce48mov x3, x7
0028ce4cmov x4, x8
0028ce50mov x5, x9
0028ce54bl math/big.addAt
0028ce58ldr x0, [sp+336]
0028ce5cldr x3, [sp+256]
0028ce60ldr x6, [sp+184]
0028ce64ldr x1, [sp+344]
0028ce68ldr x4, [sp+264]
0028ce6cldr x7, [sp+192]
0028ce70ldr x2, [sp+352]
0028ce74ldr x5, [sp+272]
0028ce78ldr x8, [sp+200]
0028ce7cbl math/big.nat.mul
0028ce80str x0, [sp+336]
0028ce84str x1, [sp+344]
0028ce88str x2, [sp+352]
0028ce8cldr x3, [sp+408]
0028ce90ldr x4, [sp+416]
0028ce94ldr x5, [sp+424]
0028ce98ldr x6, [sp+112]
0028ce9cldr x7, [sp+120]
0028cea0add x6, x7, x6
0028cea4mov x7, x0
0028cea8mov x0, x3
0028ceacmov x8, x1
0028ceb0mov x1, x4
0028ceb4mov x9, x2
0028ceb8mov x2, x5
0028cebcmov x3, x7
0028cec0mov x4, x8
0028cec4mov x5, x9
0028cec8bl math/big.addAt
0028ceccb 0x28ced0
0028ced0
0028ced0loc_28ced0:
0028ced0ldr x3, [sp+112]
0028ced4ldr x4, [sp+120]
0028ced8add x3, x4, x3
0028cedcstr x3, [sp+120]
0028cee0b 0x28cd28
0028cee4
0028cee4loc_28cee4:
0028cee4ldr x0, [sp+328]
0028cee8bl math/big.putNat
0028ceecb 0x28ccf4
0028cef0
0028cef0loc_28cef0:
0028cef0bl runtime.panicSliceAcap
0028cef4
0028cef4loc_28cef4:
0028cef4bl runtime.panicSliceB
0028cef8
0028cef8loc_28cef8:
0028cef8bl runtime.panicSliceB
0028cefc
0028cefcloc_28cefc:
0028cefcbl runtime.panicSliceB
0028cf00
0028cf00loc_28cf00:
0028cf00bl runtime.panicSliceAcap
0028cf04
0028cf04loc_28cf04:
0028cf04bl runtime.panicSliceAcap
0028cf08
0028cf08loc_28cf08:
0028cf08mov x1, x0
0028cf0cbl runtime.panicSliceAcap
0028cf10
0028cf10loc_28cf10:
0028cf10mov x0, xzr
0028cf14bl runtime.panicIndex
0028cf18hint
0028cf1c
0028cf1cloc_28cf1c:
0028cf1cstp x0, x1, [sp+8]
0028cf20stp x2, x3, [sp+24]
0028cf24stp x4, x5, [sp+40]
0028cf28stp x6, x7, [sp+56]
0028cf2cstr x8, [sp+72]
0028cf30mov x3, x30
0028cf34bl runtime.morestack_noctxt.abi0
0028cf38ldp x0, x1, [sp+8]
0028cf3cldp x2, x3, [sp+24]
0028cf40ldp x4, x5, [sp+40]
0028cf44ldp x6, x7, [sp+56]
0028cf48ldr x8, [sp+72]
0028cf4cb 0x28c790
0028c790
0028cf50
0028cf50math/big.basicSqr: ; void math/big.basicSqr(math/big.nat z, math/big.nat x)
0028cf50ldr x16, [x28+16]
0028cf54sub x17, sp, 208
0028cf58subs xzr, x17, x16
0028cf5cb.ls 0x28d3e0
0028cf60sub x20, sp, 336
0028cf64stp x29, x30, [x20-8]
0028cf68add sp, x20, 0
0028cf6csub x29, sp, 8
0028cf70str x0, [sp+344]
0028cf74str x1, [sp+352]
0028cf78str x2, [sp+360]
0028cf7cstr x3, [sp+368]
0028cf80str x4, [sp+376]
0028cf84str x5, [sp+384]
0028cf88str x4, [sp+96]
0028cf8cubfm x0, x4, 63, 62
0028cf90bl math/big.getNat
0028cf94str x0, [sp+240]
0028cf98ldrsb x27, [x0]
0028cf9cldr x1, [x0]
0028cfa0ldr x2, [x0+16]
0028cfa4ldr x3, [x0+8]
0028cfa8str x1, [sp+248]
0028cfacstr x3, [sp+256]
0028cfb0str x2, [sp+264]
0028cfb4cbnz x3, 0x28cfbc
0028cfb8b 0x28cfdc
0028cfbc
0028cfbcloc_28cfbc:
0028cfbcstr x1, [sp+272]
0028cfc0ldr x2, [sp+256]
0028cfc4ubfm x2, x2, 61, 60
0028cfc8str x2, [sp+192]
0028cfccldr x1, [sp+192]
0028cfd0ldr x0, [sp+272]
0028cfd4bl runtime.memclrNoHeapPointers
0028cfd8b 0x28cfe0
0028cfdc
0028cfdcloc_28cfdc:
0028cfdcb 0x28cfe0
0028cfe0
0028cfe0loc_28cfe0:
0028cfe0ldr x1, [sp+376]
0028cfe4ldr x3, [sp+368]
0028cfe8subs xzr, x1, 0
0028cfecb.hi 0x28cff4
0028cff0b 0x28d3d4
0028cff4
0028cff4loc_28cff4:
0028cff4ldr x3, [x3]
0028cff8str x3, [sp+184]
0028cffcldr x1, [sp+376]
0028d000ldr x4, [sp+368]
0028d004subs xzr, x1, 0
0028d008b.hi 0x28d010
0028d00cb 0x28d3cc
0028d010
0028d010loc_28d010:
0028d010ldr x4, [x4]
0028d014str x4, [sp+176]
0028d018umulh x5, x3, x4
0028d01cstr x5, [sp+224]
0028d020madd x3, x3, x4, xzr
0028d024str x3, [sp+216]
0028d028str x5, [sp+136]
0028d02cstr x3, [sp+128]
0028d030ldr x1, [sp+352]
0028d034ldr x3, [sp+344]
0028d038subs xzr, x1, 1
0028d03cb.hi 0x28d044
0028d040b 0x28d3c4
0028d044
0028d044loc_28d044:
0028d044str x5, [x3+8]
0028d048ldr x1, [sp+352]
0028d04cldr x3, [sp+344]
0028d050ldr x4, [sp+128]
0028d054subs xzr, x1, 0
0028d058b.hi 0x28d060
0028d05cb 0x28d3bc
0028d060
0028d060loc_28d060:
0028d060str x4, [x3]
0028d064orr x0, xzr, 1
0028d068str x0, [sp+104]
0028d06cb 0x28d070
0028d070
0028d070loc_28d070:
0028d070ldr x3, [sp+96]
0028d074ldr x4, [sp+104]
0028d078subs xzr, x3, x4
0028d07cb.gt 0x28d084
0028d080b 0x28d204
0028d084
0028d084loc_28d084:
0028d084ldr x3, [sp+104]
0028d088ldr x1, [sp+376]
0028d08cldr x4, [sp+368]
0028d090subs xzr, x3, x1
0028d094b.lo 0x28d09c
0028d098b 0x28d3b4
0028d09c
0028d09cloc_28d09c:
0028d09cldr x3, [x4+3*x3]
0028d0a0str x3, [sp+112]
0028d0a4madd x4, x3, x3, xzr
0028d0a8umulh x3, x3, x3
0028d0acstr x3, [sp+216]
0028d0b0str x4, [sp+224]
0028d0b4str x3, [sp+120]
0028d0b8str x4, [sp+232]
0028d0bcldr x4, [sp+104]
0028d0c0ubfm x4, x4, 63, 62
0028d0c4add x4, x4, 1
0028d0c8str x4, [sp+168]
0028d0ccldr x1, [sp+352]
0028d0d0ldr x5, [sp+344]
0028d0d4subs xzr, x1, x4
0028d0d8b.hi 0x28d0e0
0028d0dcb 0x28d3ac
0028d0e0
0028d0e0loc_28d0e0:
0028d0e0str x3, [x5+3*x4]
0028d0e4ldr x3, [sp+104]
0028d0e8ubfm x4, x3, 63, 62
0028d0ecstr x4, [sp+160]
0028d0f0ldr x1, [sp+352]
0028d0f4ldr x5, [sp+344]
0028d0f8ldr x6, [sp+232]
0028d0fcsubs xzr, x1, x3, lsl #1
0028d100b.hi 0x28d108
0028d104b 0x28d3a4
0028d108
0028d108loc_28d108:
0028d108ubfm x3, x3, 60, 59
0028d10cstr x6, [x5+x3]
0028d110ldr x3, [sp+104]
0028d114ubfm x1, x3, 63, 62
0028d118str x1, [sp+208]
0028d11cldr x4, [sp+104]
0028d120ldr x2, [sp+264]
0028d124ldr x5, [sp+248]
0028d128subs xzr, x2, x3, lsl #1
0028d12cb.hs 0x28d134
0028d130b 0x28d3a0
0028d134
0028d134loc_28d134:
0028d134subs xzr, x4, x3, lsl #1
0028d138b.ls 0x28d140
0028d13cb 0x28d398
0028d140
0028d140loc_28d140:
0028d140sub x3, x2, x4
0028d144sub x6, x1, x4
0028d148sub x7, xzr, x3
0028d14cubfm x4, x4, 61, 60
0028d150and x4, x4, x7, asr #63
0028d154add x4, x5, x4
0028d158str x4, [sp+304]
0028d15cstr x6, [sp+312]
0028d160str x3, [sp+320]
0028d164ldr x1, [sp+104]
0028d168ldr x2, [sp+384]
0028d16cldr x3, [sp+368]
0028d170subs xzr, x1, x2
0028d174b.ls 0x28d17c
0028d178b 0x28d394
0028d17c
0028d17cloc_28d17c:
0028d17cb 0x28d180
0028d180
0028d180loc_28d180:
0028d180str x3, [sp+280]
0028d184str x1, [sp+288]
0028d188str x2, [sp+296]
0028d18cldr x0, [sp+112]
0028d190ldr x4, [sp+304]
0028d194ldr x5, [sp+312]
0028d198ldr x6, [sp+320]
0028d19cstr x4, [sp+8]
0028d1a0str x5, [sp+16]
0028d1a4str x6, [sp+24]
0028d1a8str x3, [sp+32]
0028d1acstr x1, [sp+40]
0028d1b0str x2, [sp+48]
0028d1b4str x0, [sp+56]
0028d1b8bl math/big.addMulVVW.abi0
0028d1bcldr x0, [sp+64]
0028d1c0str x0, [sp+224]
0028d1c4ldr x1, [sp+104]
0028d1c8ubfm x2, x1, 63, 62
0028d1ccstr x2, [sp+152]
0028d1d0ldr x3, [sp+256]
0028d1d4ldr x4, [sp+248]
0028d1d8subs xzr, x3, x1, lsl #1
0028d1dcb.hi 0x28d1e4
0028d1e0b 0x28d388
0028d1e4
0028d1e4loc_28d1e4:
0028d1e4ubfm x3, x1, 60, 59
0028d1e8str x0, [x4+x3]
0028d1ecb 0x28d1f0
0028d1f0
0028d1f0loc_28d1f0:
0028d1f0ldr x3, [sp+104]
0028d1f4add x3, x3, 1
0028d1f8str x3, [sp+104]
0028d1fcorr x0, xzr, 1
0028d200b 0x28d070
0028d204
0028d204loc_28d204:
0028d204ldr x3, [sp+96]
0028d208ubfm x3, x3, 63, 62
0028d20csub x1, x3, 1
0028d210str x1, [sp+208]
0028d214ldr x2, [sp+264]
0028d218ldr x4, [sp+248]
0028d21csubs xzr, x2, x1
0028d220b.hs 0x28d228
0028d224b 0x28d384
0028d228
0028d228loc_28d228:
0028d228subs xzr, x1, 1
0028d22cb.hs 0x28d234
0028d230b 0x28d380
0028d234
0028d234loc_28d234:
0028d234sub x5, x2, 1
0028d238sub x6, xzr, x5
0028d23csub x3, x3, 2
0028d240sbfm x6, x6, 63, 63
0028d244and x6, x6, 8
0028d248add x4, x4, x6
0028d24cstr x4, [sp+280]
0028d250str x3, [sp+288]
0028d254str x5, [sp+296]
0028d258ldr x3, [sp+96]
0028d25cubfm x3, x3, 63, 62
0028d260sub x1, x3, 1
0028d264str x1, [sp+200]
0028d268ldr x2, [sp+264]
0028d26cldr x4, [sp+248]
0028d270subs xzr, x2, x1
0028d274b.hs 0x28d27c
0028d278b 0x28d37c
0028d27c
0028d27cloc_28d27c:
0028d27csubs xzr, x1, 1
0028d280b.hs 0x28d288
0028d284b 0x28d378
0028d288
0028d288loc_28d288:
0028d288sub x0, x2, 1
0028d28csub x1, x3, 2
0028d290sub x2, xzr, x0
0028d294sbfm x2, x2, 63, 63
0028d298and x2, x2, 8
0028d29cadd x2, x4, x2
0028d2a0str x2, [sp+304]
0028d2a4str x1, [sp+312]
0028d2a8str x0, [sp+320]
0028d2acldr x3, [sp+280]
0028d2b0ldr x4, [sp+288]
0028d2b4ldr x5, [sp+296]
0028d2b8str x3, [sp+8]
0028d2bcstr x4, [sp+16]
0028d2c0str x5, [sp+24]
0028d2c4str x2, [sp+32]
0028d2c8str x1, [sp+40]
0028d2ccstr x0, [sp+48]
0028d2d0orr x0, xzr, 1
0028d2d4str x0, [sp+56]
0028d2d8bl math/big.shlVU.abi0
0028d2dcldr x0, [sp+64]
0028d2e0str x0, [sp+224]
0028d2e4ldr x1, [sp+96]
0028d2e8ubfm x1, x1, 63, 62
0028d2ecsub x1, x1, 1
0028d2f0str x1, [sp+144]
0028d2f4ldr x2, [sp+256]
0028d2f8ldr x3, [sp+248]
0028d2fcsubs xzr, x2, x1
0028d300b.hi 0x28d308
0028d304b 0x28d36c
0028d308
0028d308loc_28d308:
0028d308str x0, [x3+3*x1]
0028d30cldr x0, [sp+344]
0028d310ldr x1, [sp+352]
0028d314ldr x2, [sp+360]
0028d318ldr x3, [sp+344]
0028d31cldr x4, [sp+352]
0028d320ldr x5, [sp+360]
0028d324ldr x6, [sp+248]
0028d328ldr x7, [sp+256]
0028d32cldr x8, [sp+264]
0028d330str x0, [sp+8]
0028d334str x1, [sp+16]
0028d338str x2, [sp+24]
0028d33cstr x3, [sp+32]
0028d340str x4, [sp+40]
0028d344str x5, [sp+48]
0028d348str x6, [sp+56]
0028d34cstr x7, [sp+64]
0028d350str x8, [sp+72]
0028d354bl math/big.addVV.abi0
0028d358ldr x0, [sp+240]
0028d35cbl math/big.putNat
0028d360ldp x29, x30, [sp-8]
0028d364add sp, sp, 336
0028d368ret x30
0028d36c
0028d36cloc_28d36c:
0028d36cmov x0, x1
0028d370mov x1, x2
0028d374bl runtime.panicIndex
0028d378
0028d378loc_28d378:
0028d378bl runtime.panicSliceB
0028d37c
0028d37cloc_28d37c:
0028d37cbl runtime.panicSliceAcap
0028d380
0028d380loc_28d380:
0028d380bl runtime.panicSliceB
0028d384
0028d384loc_28d384:
0028d384bl runtime.panicSliceAcap
0028d388
0028d388loc_28d388:
0028d388mov x0, x2
0028d38cmov x1, x3
0028d390bl runtime.panicIndex
0028d394
0028d394loc_28d394:
0028d394bl runtime.panicSliceAcap
0028d398
0028d398loc_28d398:
0028d398mov x0, x4
0028d39cbl runtime.panicSliceB
0028d3a0
0028d3a0loc_28d3a0:
0028d3a0bl runtime.panicSliceAcap
0028d3a4
0028d3a4loc_28d3a4:
0028d3a4mov x0, x4
0028d3a8bl runtime.panicIndex
0028d3ac
0028d3acloc_28d3ac:
0028d3acmov x0, x4
0028d3b0bl runtime.panicIndex
0028d3b4
0028d3b4loc_28d3b4:
0028d3b4mov x0, x3
0028d3b8bl runtime.panicIndex
0028d3bc
0028d3bcloc_28d3bc:
0028d3bcmov x0, xzr
0028d3c0bl runtime.panicIndex
0028d3c4
0028d3c4loc_28d3c4:
0028d3c4orr x0, xzr, 1
0028d3c8bl runtime.panicIndex
0028d3cc
0028d3ccloc_28d3cc:
0028d3ccmov x0, xzr
0028d3d0bl runtime.panicIndex
0028d3d4
0028d3d4loc_28d3d4:
0028d3d4mov x0, xzr
0028d3d8bl runtime.panicIndex
0028d3dchint
0028d3e0
0028d3e0loc_28d3e0:
0028d3e0stp x0, x1, [sp+8]
0028d3e4stp x2, x3, [sp+24]
0028d3e8stp x4, x5, [sp+40]
0028d3ecmov x3, x30
0028d3f0bl runtime.morestack_noctxt.abi0
0028d3f4ldp x0, x1, [sp+8]
0028d3f8ldp x2, x3, [sp+24]
0028d3fcldp x4, x5, [sp+40]
0028d400b 0x28cf50
0028d404udf 0
0028d408udf 0
0028d40cudf 0
0028cf50
0028cf50math/big.basicSqr: ; void math/big.basicSqr(math/big.nat z, math/big.nat x)
0028cf50ldr x16, [x28+16]
0028cf54sub x17, sp, 208
0028cf58subs xzr, x17, x16
0028cf5cb.ls 0x28d3e0
0028cf60sub x20, sp, 336
0028cf64stp x29, x30, [x20-8]
0028cf68add sp, x20, 0
0028cf6csub x29, sp, 8
0028cf70str x0, [sp+344]
0028cf74str x1, [sp+352]
0028cf78str x2, [sp+360]
0028cf7cstr x3, [sp+368]
0028cf80str x4, [sp+376]
0028cf84str x5, [sp+384]
0028cf88str x4, [sp+96]
0028cf8cubfm x0, x4, 63, 62
0028cf90bl math/big.getNat
0028cf94str x0, [sp+240]
0028cf98ldrsb x27, [x0]
0028cf9cldr x1, [x0]
0028cfa0ldr x2, [x0+16]
0028cfa4ldr x3, [x0+8]
0028cfa8str x1, [sp+248]
0028cfacstr x3, [sp+256]
0028cfb0str x2, [sp+264]
0028cfb4cbnz x3, 0x28cfbc
0028cfb8b 0x28cfdc
0028cfbc
0028cfbcloc_28cfbc:
0028cfbcstr x1, [sp+272]
0028cfc0ldr x2, [sp+256]
0028cfc4ubfm x2, x2, 61, 60
0028cfc8str x2, [sp+192]
0028cfccldr x1, [sp+192]
0028cfd0ldr x0, [sp+272]
0028cfd4bl runtime.memclrNoHeapPointers
0028cfd8b 0x28cfe0
0028cfdc
0028cfdcloc_28cfdc:
0028cfdcb 0x28cfe0
0028cfe0
0028cfe0loc_28cfe0:
0028cfe0ldr x1, [sp+376]
0028cfe4ldr x3, [sp+368]
0028cfe8subs xzr, x1, 0
0028cfecb.hi 0x28cff4
0028cff0b 0x28d3d4
0028cff4
0028cff4loc_28cff4:
0028cff4ldr x3, [x3]
0028cff8str x3, [sp+184]
0028cffcldr x1, [sp+376]
0028d000ldr x4, [sp+368]
0028d004subs xzr, x1, 0
0028d008b.hi 0x28d010
0028d00cb 0x28d3cc
0028d010
0028d010loc_28d010:
0028d010ldr x4, [x4]
0028d014str x4, [sp+176]
0028d018umulh x5, x3, x4
0028d01cstr x5, [sp+224]
0028d020madd x3, x3, x4, xzr
0028d024str x3, [sp+216]
0028d028str x5, [sp+136]
0028d02cstr x3, [sp+128]
0028d030ldr x1, [sp+352]
0028d034ldr x3, [sp+344]
0028d038subs xzr, x1, 1
0028d03cb.hi 0x28d044
0028d040b 0x28d3c4
0028d044
0028d044loc_28d044:
0028d044str x5, [x3+8]
0028d048ldr x1, [sp+352]
0028d04cldr x3, [sp+344]
0028d050ldr x4, [sp+128]
0028d054subs xzr, x1, 0
0028d058b.hi 0x28d060
0028d05cb 0x28d3bc
0028d060
0028d060loc_28d060:
0028d060str x4, [x3]
0028d064orr x0, xzr, 1
0028d068str x0, [sp+104]
0028d06cb 0x28d070
0028d070
0028d070loc_28d070:
0028d070ldr x3, [sp+96]
0028d074ldr x4, [sp+104]
0028d078subs xzr, x3, x4
0028d07cb.gt 0x28d084
0028d080b 0x28d204
0028d084
0028d084loc_28d084:
0028d084ldr x3, [sp+104]
0028d088ldr x1, [sp+376]
0028d08cldr x4, [sp+368]
0028d090subs xzr, x3, x1
0028d094b.lo 0x28d09c
0028d098b 0x28d3b4
0028d09c
0028d09cloc_28d09c:
0028d09cldr x3, [x4+3*x3]
0028d0a0str x3, [sp+112]
0028d0a4madd x4, x3, x3, xzr
0028d0a8umulh x3, x3, x3
0028d0acstr x3, [sp+216]
0028d0b0str x4, [sp+224]
0028d0b4str x3, [sp+120]
0028d0b8str x4, [sp+232]
0028d0bcldr x4, [sp+104]
0028d0c0ubfm x4, x4, 63, 62
0028d0c4add x4, x4, 1
0028d0c8str x4, [sp+168]
0028d0ccldr x1, [sp+352]
0028d0d0ldr x5, [sp+344]
0028d0d4subs xzr, x1, x4
0028d0d8b.hi 0x28d0e0
0028d0dcb 0x28d3ac
0028d0e0
0028d0e0loc_28d0e0:
0028d0e0str x3, [x5+3*x4]
0028d0e4ldr x3, [sp+104]
0028d0e8ubfm x4, x3, 63, 62
0028d0ecstr x4, [sp+160]
0028d0f0ldr x1, [sp+352]
0028d0f4ldr x5, [sp+344]
0028d0f8ldr x6, [sp+232]
0028d0fcsubs xzr, x1, x3, lsl #1
0028d100b.hi 0x28d108
0028d104b 0x28d3a4
0028d108
0028d108loc_28d108:
0028d108ubfm x3, x3, 60, 59
0028d10cstr x6, [x5+x3]
0028d110ldr x3, [sp+104]
0028d114ubfm x1, x3, 63, 62
0028d118str x1, [sp+208]
0028d11cldr x4, [sp+104]
0028d120ldr x2, [sp+264]
0028d124ldr x5, [sp+248]
0028d128subs xzr, x2, x3, lsl #1
0028d12cb.hs 0x28d134
0028d130b 0x28d3a0
0028d134
0028d134loc_28d134:
0028d134subs xzr, x4, x3, lsl #1
0028d138b.ls 0x28d140
0028d13cb 0x28d398
0028d140
0028d140loc_28d140:
0028d140sub x3, x2, x4
0028d144sub x6, x1, x4
0028d148sub x7, xzr, x3
0028d14cubfm x4, x4, 61, 60
0028d150and x4, x4, x7, asr #63
0028d154add x4, x5, x4
0028d158str x4, [sp+304]
0028d15cstr x6, [sp+312]
0028d160str x3, [sp+320]
0028d164ldr x1, [sp+104]
0028d168ldr x2, [sp+384]
0028d16cldr x3, [sp+368]
0028d170subs xzr, x1, x2
0028d174b.ls 0x28d17c
0028d178b 0x28d394
0028d17c
0028d17cloc_28d17c:
0028d17cb 0x28d180
0028d180
0028d180loc_28d180:
0028d180str x3, [sp+280]
0028d184str x1, [sp+288]
0028d188str x2, [sp+296]
0028d18cldr x0, [sp+112]
0028d190ldr x4, [sp+304]
0028d194ldr x5, [sp+312]
0028d198ldr x6, [sp+320]
0028d19cstr x4, [sp+8]
0028d1a0str x5, [sp+16]
0028d1a4str x6, [sp+24]
0028d1a8str x3, [sp+32]
0028d1acstr x1, [sp+40]
0028d1b0str x2, [sp+48]
0028d1b4str x0, [sp+56]
0028d1b8bl math/big.addMulVVW.abi0
0028d1bcldr x0, [sp+64]
0028d1c0str x0, [sp+224]
0028d1c4ldr x1, [sp+104]
0028d1c8ubfm x2, x1, 63, 62
0028d1ccstr x2, [sp+152]
0028d1d0ldr x3, [sp+256]
0028d1d4ldr x4, [sp+248]
0028d1d8subs xzr, x3, x1, lsl #1
0028d1dcb.hi 0x28d1e4
0028d1e0b 0x28d388
0028d1e4
0028d1e4loc_28d1e4:
0028d1e4ubfm x3, x1, 60, 59
0028d1e8str x0, [x4+x3]
0028d1ecb 0x28d1f0
0028d1f0
0028d1f0loc_28d1f0:
0028d1f0ldr x3, [sp+104]
0028d1f4add x3, x3, 1
0028d1f8str x3, [sp+104]
0028d1fcorr x0, xzr, 1
0028d200b 0x28d070
0028d204
0028d204loc_28d204:
0028d204ldr x3, [sp+96]
0028d208ubfm x3, x3, 63, 62
0028d20csub x1, x3, 1
0028d210str x1, [sp+208]
0028d214ldr x2, [sp+264]
0028d218ldr x4, [sp+248]
0028d21csubs xzr, x2, x1
0028d220b.hs 0x28d228
0028d224b 0x28d384
0028d228
0028d228loc_28d228:
0028d228subs xzr, x1, 1
0028d22cb.hs 0x28d234
0028d230b 0x28d380
0028d234
0028d234loc_28d234:
0028d234sub x5, x2, 1
0028d238sub x6, xzr, x5
0028d23csub x3, x3, 2
0028d240sbfm x6, x6, 63, 63
0028d244and x6, x6, 8
0028d248add x4, x4, x6
0028d24cstr x4, [sp+280]
0028d250str x3, [sp+288]
0028d254str x5, [sp+296]
0028d258ldr x3, [sp+96]
0028d25cubfm x3, x3, 63, 62
0028d260sub x1, x3, 1
0028d264str x1, [sp+200]
0028d268ldr x2, [sp+264]
0028d26cldr x4, [sp+248]
0028d270subs xzr, x2, x1
0028d274b.hs 0x28d27c
0028d278b 0x28d37c
0028d27c
0028d27cloc_28d27c:
0028d27csubs xzr, x1, 1
0028d280b.hs 0x28d288
0028d284b 0x28d378
0028d288
0028d288loc_28d288:
0028d288sub x0, x2, 1
0028d28csub x1, x3, 2
0028d290sub x2, xzr, x0
0028d294sbfm x2, x2, 63, 63
0028d298and x2, x2, 8
0028d29cadd x2, x4, x2
0028d2a0str x2, [sp+304]
0028d2a4str x1, [sp+312]
0028d2a8str x0, [sp+320]
0028d2acldr x3, [sp+280]
0028d2b0ldr x4, [sp+288]
0028d2b4ldr x5, [sp+296]
0028d2b8str x3, [sp+8]
0028d2bcstr x4, [sp+16]
0028d2c0str x5, [sp+24]
0028d2c4str x2, [sp+32]
0028d2c8str x1, [sp+40]
0028d2ccstr x0, [sp+48]
0028d2d0orr x0, xzr, 1
0028d2d4str x0, [sp+56]
0028d2d8bl math/big.shlVU.abi0
0028d2dcldr x0, [sp+64]
0028d2e0str x0, [sp+224]
0028d2e4ldr x1, [sp+96]
0028d2e8ubfm x1, x1, 63, 62
0028d2ecsub x1, x1, 1
0028d2f0str x1, [sp+144]
0028d2f4ldr x2, [sp+256]
0028d2f8ldr x3, [sp+248]
0028d2fcsubs xzr, x2, x1
0028d300b.hi 0x28d308
0028d304b 0x28d36c
0028d308
0028d308loc_28d308:
0028d308str x0, [x3+3*x1]
0028d30cldr x0, [sp+344]
0028d310ldr x1, [sp+352]
0028d314ldr x2, [sp+360]
0028d318ldr x3, [sp+344]
0028d31cldr x4, [sp+352]
0028d320ldr x5, [sp+360]
0028d324ldr x6, [sp+248]
0028d328ldr x7, [sp+256]
0028d32cldr x8, [sp+264]
0028d330str x0, [sp+8]
0028d334str x1, [sp+16]
0028d338str x2, [sp+24]
0028d33cstr x3, [sp+32]
0028d340str x4, [sp+40]
0028d344str x5, [sp+48]
0028d348str x6, [sp+56]
0028d34cstr x7, [sp+64]
0028d350str x8, [sp+72]
0028d354bl math/big.addVV.abi0
0028d358ldr x0, [sp+240]
0028d35cbl math/big.putNat
0028d360ldp x29, x30, [sp-8]
0028d364add sp, sp, 336
0028d368ret x30
0028d36c
0028d36cloc_28d36c:
0028d36cmov x0, x1
0028d370mov x1, x2
0028d374bl runtime.panicIndex
0028d378
0028d378loc_28d378:
0028d378bl runtime.panicSliceB
0028d37c
0028d37cloc_28d37c:
0028d37cbl runtime.panicSliceAcap
0028d380
0028d380loc_28d380:
0028d380bl runtime.panicSliceB
0028d384
0028d384loc_28d384:
0028d384bl runtime.panicSliceAcap
0028d388
0028d388loc_28d388:
0028d388mov x0, x2
0028d38cmov x1, x3
0028d390bl runtime.panicIndex
0028d394
0028d394loc_28d394:
0028d394bl runtime.panicSliceAcap
0028d398
0028d398loc_28d398:
0028d398mov x0, x4
0028d39cbl runtime.panicSliceB
0028d3a0
0028d3a0loc_28d3a0:
0028d3a0bl runtime.panicSliceAcap
0028d3a4
0028d3a4loc_28d3a4:
0028d3a4mov x0, x4
0028d3a8bl runtime.panicIndex
0028d3ac
0028d3acloc_28d3ac:
0028d3acmov x0, x4
0028d3b0bl runtime.panicIndex
0028d3b4
0028d3b4loc_28d3b4:
0028d3b4mov x0, x3
0028d3b8bl runtime.panicIndex
0028d3bc
0028d3bcloc_28d3bc:
0028d3bcmov x0, xzr
0028d3c0bl runtime.panicIndex
0028d3c4
0028d3c4loc_28d3c4:
0028d3c4orr x0, xzr, 1
0028d3c8bl runtime.panicIndex
0028d3cc
0028d3ccloc_28d3cc:
0028d3ccmov x0, xzr
0028d3d0bl runtime.panicIndex
0028d3d4
0028d3d4loc_28d3d4:
0028d3d4mov x0, xzr
0028d3d8bl runtime.panicIndex
0028d3dchint
0028d3e0
0028d3e0loc_28d3e0:
0028d3e0stp x0, x1, [sp+8]
0028d3e4stp x2, x3, [sp+24]
0028d3e8stp x4, x5, [sp+40]
0028d3ecmov x3, x30
0028d3f0bl runtime.morestack_noctxt.abi0
0028d3f4ldp x0, x1, [sp+8]
0028d3f8ldp x2, x3, [sp+24]
0028d3fcldp x4, x5, [sp+40]
0028d400b 0x28cf50
0028d404udf 0
0028d408udf 0
0028d40cudf 0
0028cf50
Loading..