File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0028da20
    0028da20math/big.nat.sqr: ; void math/big.nat.sqr(math/big.nat z, math/big.nat x)
    0028da20ldr x16, [x28+16]
    0028da24sub x17, sp, 208
    0028da28subs xzr, x17, x16
    0028da2cb.ls 0x28dfd8
    0028da30sub x20, sp, 336
    0028da34stp x29, x30, [x20-8]
    0028da38add sp, x20, 0
    0028da3csub x29, sp, 8
    0028da40str x0, [sp+344]
    0028da44str x1, [sp+352]
    0028da48str x2, [sp+360]
    0028da4cstr x3, [sp+368]
    0028da50str x4, [sp+376]
    0028da54str x5, [sp+384]
    0028da58str xzr, [sp+168]
    0028da5cstp xzr, xzr, [sp+176]
    0028da60ldr x6, [sp+376]
    0028da64str x6, [sp+96]
    0028da68cbz x6, 0x28da70
    0028da6cb 0x28daac
    0028da70
    0028da70loc_28da70:
    0028da70b 0x28da74
    0028da74
    0028da74loc_28da74:
    0028da74ldr x0, [sp+344]
    0028da78ldr x2, [sp+360]
    0028da7cb 0x28da80
    0028da80
    0028da80loc_28da80:
    0028da80b 0x28da84
    0028da84
    0028da84loc_28da84:
    0028da84str x0, [sp+304]
    0028da88str xzr, [sp+312]
    0028da8cstr x2, [sp+320]
    0028da90str x0, [sp+168]
    0028da94str xzr, [sp+176]
    0028da98str x2, [sp+184]
    0028da9cmov x1, xzr
    0028daa0ldp x29, x30, [sp-8]
    0028daa4add sp, sp, 336
    0028daa8ret x30
    0028daac
    0028daacloc_28daac:
    0028daacsubs xzr, x6, 1
    0028dab0b.eq 0x28dab8
    0028dab4b 0x28db80
    0028dab8
    0028dab8loc_28dab8:
    0028dab8b 0x28dabc
    0028dabc
    0028dabcloc_28dabc:
    0028dabcldr x1, [sp+376]
    0028dac0ldr x4, [sp+368]
    0028dac4subs xzr, x1, 0
    0028dac8b.hi 0x28dad0
    0028daccb 0x28dfcc
    0028dad0
    0028dad0loc_28dad0:
    0028dad0ldr x4, [x4]
    0028dad4str x4, [sp+112]
    0028dad8ldr x0, [sp+344]
    0028dadcldr x1, [sp+352]
    0028dae0ldr x2, [sp+360]
    0028dae4orr x3, xzr, 2
    0028dae8bl math/big.nat.make
    0028daecstr x0, [sp+344]
    0028daf0str x1, [sp+352]
    0028daf4str x2, [sp+360]
    0028daf8ldr x4, [sp+112]
    0028dafcldr x5, [sp+112]
    0028db00umulh x6, x5, x4
    0028db04str x6, [sp+160]
    0028db08madd x4, x5, x4, xzr
    0028db0cstr x4, [sp+152]
    0028db10str x6, [sp+128]
    0028db14str x4, [sp+120]
    0028db18ldr x1, [sp+352]
    0028db1cldr x4, [sp+344]
    0028db20subs xzr, x1, 1
    0028db24b.hi 0x28db2c
    0028db28b 0x28dfc4
    0028db2c
    0028db2cloc_28db2c:
    0028db2cstr x6, [x4+8]
    0028db30ldr x1, [sp+352]
    0028db34ldr x3, [sp+344]
    0028db38ldr x4, [sp+120]
    0028db3csubs xzr, x1, 0
    0028db40b.hi 0x28db48
    0028db44b 0x28dfbc
    0028db48
    0028db48loc_28db48:
    0028db48str x4, [x3]
    0028db4cldr x0, [sp+344]
    0028db50ldr x1, [sp+352]
    0028db54ldr x2, [sp+360]
    0028db58bl math/big.nat.norm
    0028db5cstr x0, [sp+304]
    0028db60str x1, [sp+312]
    0028db64str x2, [sp+320]
    0028db68str x0, [sp+168]
    0028db6cstr x1, [sp+176]
    0028db70str x2, [sp+184]
    0028db74ldp x29, x30, [sp-8]
    0028db78add sp, sp, 336
    0028db7cret x30
    0028db80
    0028db80loc_28db80:
    0028db80b 0x28db84
    0028db84
    0028db84loc_28db84:
    0028db84ldr x0, [sp+344]
    0028db88ldr x3, [sp+368]
    0028db8cldr x1, [sp+352]
    0028db90ldr x4, [sp+376]
    0028db94ldr x2, [sp+360]
    0028db98ldr x5, [sp+384]
    0028db9cbl math/big.alias
    0028dba0strb w0, [sp+95]
    0028dba4tbnz w0, 0, 0x28dbac
    0028dba8b 0x28dbb8
    0028dbac
    0028dbacloc_28dbac:
    0028dbacstr xzr, [sp+344]
    0028dbb0stp xzr, xzr, [sp+352]
    0028dbb4b 0x28dbbc
    0028dbb8
    0028dbb8loc_28dbb8:
    0028dbb8b 0x28dbbc
    0028dbbc
    0028dbbcloc_28dbbc:
    0028dbbcadrp x27, 0x733000
    0028dbc0ldr x4, [x27+2016]
    0028dbc4ldr x5, [sp+96]
    0028dbc8subs xzr, x4, x5
    0028dbccb.gt 0x28dbd4
    0028dbd0b 0x28dc48
    0028dbd4
    0028dbd4loc_28dbd4:
    0028dbd4ldr x0, [sp+344]
    0028dbd8ldr x1, [sp+352]
    0028dbdcldr x2, [sp+360]
    0028dbe0ldr x4, [sp+96]
    0028dbe4ubfm x3, x4, 63, 62
    0028dbe8bl math/big.nat.make
    0028dbecstr x0, [sp+344]
    0028dbf0str x1, [sp+352]
    0028dbf4str x2, [sp+360]
    0028dbf8ldr x4, [sp+376]
    0028dbfcldr x7, [sp+376]
    0028dc00ldr x5, [sp+384]
    0028dc04ldr x8, [sp+384]
    0028dc08ldr x3, [sp+368]
    0028dc0cldr x6, [sp+368]
    0028dc10bl math/big.basicMul
    0028dc14ldr x0, [sp+344]
    0028dc18ldr x1, [sp+352]
    0028dc1cldr x2, [sp+360]
    0028dc20bl math/big.nat.norm
    0028dc24str x0, [sp+304]
    0028dc28str x1, [sp+312]
    0028dc2cstr x2, [sp+320]
    0028dc30str x0, [sp+168]
    0028dc34str x1, [sp+176]
    0028dc38str x2, [sp+184]
    0028dc3cldp x29, x30, [sp-8]
    0028dc40add sp, sp, 336
    0028dc44ret x30
    0028dc48
    0028dc48loc_28dc48:
    0028dc48adrp x27, 0x733000
    0028dc4cldr x4, [x27+2024]
    0028dc50ldr x5, [sp+96]
    0028dc54subs xzr, x4, x5
    0028dc58b.gt 0x28dc60
    0028dc5cb 0x28dcc8
    0028dc60
    0028dc60loc_28dc60:
    0028dc60ldr x0, [sp+344]
    0028dc64ldr x1, [sp+352]
    0028dc68ldr x2, [sp+360]
    0028dc6cldr x4, [sp+96]
    0028dc70ubfm x3, x4, 63, 62
    0028dc74bl math/big.nat.make
    0028dc78str x0, [sp+344]
    0028dc7cstr x1, [sp+352]
    0028dc80str x2, [sp+360]
    0028dc84ldr x4, [sp+376]
    0028dc88ldr x5, [sp+384]
    0028dc8cldr x3, [sp+368]
    0028dc90bl math/big.basicSqr
    0028dc94ldr x0, [sp+344]
    0028dc98ldr x1, [sp+352]
    0028dc9cldr x2, [sp+360]
    0028dca0bl math/big.nat.norm
    0028dca4str x0, [sp+304]
    0028dca8str x1, [sp+312]
    0028dcacstr x2, [sp+320]
    0028dcb0str x0, [sp+168]
    0028dcb4str x1, [sp+176]
    0028dcb8str x2, [sp+184]
    0028dcbcldp x29, x30, [sp-8]
    0028dcc0add sp, sp, 336
    0028dcc4ret x30
    0028dcc8
    0028dcc8loc_28dcc8:
    0028dcc8adrp x27, 0x733000
    0028dcccldr x1, [x27+2024]
    0028dcd0ldr x0, [sp+96]
    0028dcd4bl math/big.karatsubaLen
    0028dcd8str x0, [sp+104]
    0028dcdcldr x2, [sp+384]
    0028dce0ldr x3, [sp+368]
    0028dce4subs xzr, x0, x2
    0028dce8b.ls 0x28dcf0
    0028dcecb 0x28dfb4
    0028dcf0
    0028dcf0loc_28dcf0:
    0028dcf0b 0x28dcf4
    0028dcf4
    0028dcf4loc_28dcf4:
    0028dcf4str x3, [sp+240]
    0028dcf8str x0, [sp+248]
    0028dcfcstr x2, [sp+256]
    0028dd00ldr x4, [sp+104]
    0028dd04add x4, x4, x4, lsl #1
    0028dd08ubfm x5, x4, 63, 62
    0028dd0cldr x6, [sp+96]
    0028dd10ubfm x6, x6, 63, 62
    0028dd14subs xzr, x6, x4, lsl #1
    0028dd18b.gt 0x28dd20
    0028dd1cb 0x28dd24
    0028dd20
    0028dd20loc_28dd20:
    0028dd20b 0x28dd2c
    0028dd24
    0028dd24loc_28dd24:
    0028dd24mov x6, x5
    0028dd28b 0x28dd2c
    0028dd2c
    0028dd2cloc_28dd2c:
    0028dd2cstr x6, [sp+144]
    0028dd30ldr x0, [sp+344]
    0028dd34ldr x1, [sp+352]
    0028dd38ldr x2, [sp+360]
    0028dd3cmov x3, x6
    0028dd40bl math/big.nat.make
    0028dd44str x0, [sp+344]
    0028dd48str x1, [sp+352]
    0028dd4cstr x2, [sp+360]
    0028dd50ldr x4, [sp+248]
    0028dd54ldr x5, [sp+256]
    0028dd58ldr x3, [sp+240]
    0028dd5cbl math/big.karatsubaSqr
    0028dd60ldr x4, [sp+96]
    0028dd64ubfm x1, x4, 63, 62
    0028dd68str x1, [sp+144]
    0028dd6cldr x2, [sp+360]
    0028dd70subs xzr, x2, x4, lsl #1
    0028dd74b.hs 0x28dd7c
    0028dd78b 0x28dfb0
    0028dd7c
    0028dd7cloc_28dd7c:
    0028dd7cb 0x28dd80
    0028dd80
    0028dd80loc_28dd80:
    0028dd80str x1, [sp+352]
    0028dd84ldr x3, [sp+104]
    0028dd88ubfm x0, x3, 63, 62
    0028dd8cstr x0, [sp+144]
    0028dd90ldr x5, [sp+344]
    0028dd94ldr x6, [sp+360]
    0028dd98b 0x28dd9c
    0028dd9c
    0028dd9cloc_28dd9c:
    0028dd9csubs xzr, x0, x4, lsl #1
    0028dda0b.ls 0x28dda8
    0028dda4b 0x28dfac
    0028dda8
    0028dda8loc_28dda8:
    0028dda8sub x4, x6, x3, lsl #1
    0028ddacsub x6, xzr, x4
    0028ddb0ubfm x7, x3, 60, 59
    0028ddb4and x6, x7, x6, asr #63
    0028ddb8add x5, x5, x6
    0028ddbcstr x5, [sp+304]
    0028ddc0sub x3, x1, x3, lsl #1
    0028ddc4str x3, [sp+312]
    0028ddc8str x4, [sp+320]
    0028ddcccbnz x3, 0x28ddd4
    0028ddd0b 0x28ddf4
    0028ddd4
    0028ddd4loc_28ddd4:
    0028ddd4str x5, [sp+296]
    0028ddd8ldr x2, [sp+312]
    0028dddcubfm x2, x2, 61, 60
    0028dde0str x2, [sp+136]
    0028dde4ldr x1, [sp+136]
    0028dde8ldr x0, [sp+296]
    0028ddecbl runtime.memclrNoHeapPointers
    0028ddf0b 0x28ddf8
    0028ddf4
    0028ddf4loc_28ddf4:
    0028ddf4b 0x28ddf8
    0028ddf8
    0028ddf8loc_28ddf8:
    0028ddf8ldr x3, [sp+96]
    0028ddfcldr x4, [sp+104]
    0028de00subs xzr, x3, x4
    0028de04b.gt 0x28de0c
    0028de08b 0x28df70
    0028de0c
    0028de0cloc_28de0c:
    0028de0cldr x1, [sp+104]
    0028de10ubfm x0, x1, 63, 62
    0028de14bl math/big.getNat
    0028de18str x0, [sp+264]
    0028de1cldrsb x27, [x0]
    0028de20ldr x1, [x0]
    0028de24ldr x2, [x0+8]
    0028de28ldr x3, [x0+16]
    0028de2cstr x1, [sp+272]
    0028de30str x2, [sp+280]
    0028de34str x3, [sp+288]
    0028de38ldr x0, [sp+240]
    0028de3cldr x1, [sp+248]
    0028de40ldr x2, [sp+256]
    0028de44bl math/big.nat.norm
    0028de48str x0, [sp+216]
    0028de4cstr x1, [sp+224]
    0028de50str x2, [sp+232]
    0028de54ldr x0, [sp+104]
    0028de58ldr x1, [sp+376]
    0028de5cldr x2, [sp+368]
    0028de60ldr x3, [sp+384]
    0028de64b 0x28de68
    0028de68
    0028de68loc_28de68:
    0028de68subs xzr, x1, x0
    0028de6cb.hs 0x28de74
    0028de70b 0x28dfa8
    0028de74
    0028de74loc_28de74:
    0028de74sub x8, x3, x0
    0028de78sub x7, x1, x0
    0028de7csub x9, xzr, x8
    0028de80ubfm x10, x0, 61, 60
    0028de84and x9, x10, x9, asr #63
    0028de88add x6, x2, x9
    0028de8cstr x6, [sp+192]
    0028de90str x7, [sp+200]
    0028de94str x8, [sp+208]
    0028de98ldr x0, [sp+272]
    0028de9cldr x3, [sp+216]
    0028dea0ldr x1, [sp+280]
    0028dea4ldr x4, [sp+224]
    0028dea8ldr x2, [sp+288]
    0028deacldr x5, [sp+232]
    0028deb0bl math/big.nat.mul
    0028deb4str x0, [sp+272]
    0028deb8str x1, [sp+280]
    0028debcstr x2, [sp+288]
    0028dec0ldr x6, [sp+104]
    0028dec4ldr x9, [sp+344]
    0028dec8ldr x10, [sp+352]
    0028deccldr x11, [sp+360]
    0028ded0mov x3, x0
    0028ded4mov x4, x1
    0028ded8mov x5, x2
    0028dedcmov x0, x9
    0028dee0mov x1, x10
    0028dee4mov x2, x11
    0028dee8bl math/big.addAt
    0028deecldr x6, [sp+104]
    0028def0ldr x0, [sp+344]
    0028def4ldr x3, [sp+272]
    0028def8ldr x1, [sp+352]
    0028defcldr x4, [sp+280]
    0028df00ldr x2, [sp+360]
    0028df04ldr x5, [sp+288]
    0028df08bl math/big.addAt
    0028df0cldr x0, [sp+272]
    0028df10ldr x3, [sp+192]
    0028df14ldr x1, [sp+280]
    0028df18ldr x4, [sp+200]
    0028df1cldr x2, [sp+288]
    0028df20ldr x5, [sp+208]
    0028df24bl math/big.nat.sqr
    0028df28str x0, [sp+272]
    0028df2cstr x1, [sp+280]
    0028df30str x2, [sp+288]
    0028df34ldr x9, [sp+344]
    0028df38ldr x10, [sp+352]
    0028df3cldr x11, [sp+360]
    0028df40ldr x12, [sp+104]
    0028df44ubfm x6, x12, 63, 62
    0028df48mov x3, x0
    0028df4cmov x4, x1
    0028df50mov x5, x2
    0028df54mov x0, x9
    0028df58mov x1, x10
    0028df5cmov x2, x11
    0028df60bl math/big.addAt
    0028df64ldr x0, [sp+264]
    0028df68bl math/big.putNat
    0028df6cb 0x28df74
    0028df70
    0028df70loc_28df70:
    0028df70b 0x28df74
    0028df74
    0028df74loc_28df74:
    0028df74ldr x0, [sp+344]
    0028df78ldr x1, [sp+352]
    0028df7cldr x2, [sp+360]
    0028df80bl math/big.nat.norm
    0028df84str x0, [sp+304]
    0028df88str x1, [sp+312]
    0028df8cstr x2, [sp+320]
    0028df90str x0, [sp+168]
    0028df94str x1, [sp+176]
    0028df98str x2, [sp+184]
    0028df9cldp x29, x30, [sp-8]
    0028dfa0add sp, sp, 336
    0028dfa4ret x30
    0028dfa8
    0028dfa8loc_28dfa8:
    0028dfa8bl runtime.panicSliceB
    0028dfac
    0028dfacloc_28dfac:
    0028dfacbl runtime.panicSliceB
    0028dfb0
    0028dfb0loc_28dfb0:
    0028dfb0bl runtime.panicSliceAcap
    0028dfb4
    0028dfb4loc_28dfb4:
    0028dfb4mov x1, x0
    0028dfb8bl runtime.panicSliceAcap
    0028dfbc
    0028dfbcloc_28dfbc:
    0028dfbcmov x0, xzr
    0028dfc0bl runtime.panicIndex
    0028dfc4
    0028dfc4loc_28dfc4:
    0028dfc4orr x0, xzr, 1
    0028dfc8bl runtime.panicIndex
    0028dfcc
    0028dfccloc_28dfcc:
    0028dfccmov x0, xzr
    0028dfd0bl runtime.panicIndex
    0028dfd4hint
    0028dfd8
    0028dfd8loc_28dfd8:
    0028dfd8stp x0, x1, [sp+8]
    0028dfdcstp x2, x3, [sp+24]
    0028dfe0stp x4, x5, [sp+40]
    0028dfe4mov x3, x30
    0028dfe8bl runtime.morestack_noctxt.abi0
    0028dfecldp x0, x1, [sp+8]
    0028dff0ldp x2, x3, [sp+24]
    0028dff4ldp x4, x5, [sp+40]
    0028dff8b 0x28da20
    0028dffcudf 0
    0028da20
    0028e000
    0028e000math/big.getNat: ; void math/big.getNat(int n)
    0028e000ldr x16, [x28+16]
    0028e004subs xzr, sp, x16
    0028e008b.ls 0x28e164
    0028e00cstr x30, [sp-128]!
    0028e010stur x29, [sp-8]
    0028e014sub x29, sp, 8
    0028e018str x0, [sp+136]
    0028e01cstr xzr, [sp+40]
    0028e020str xzr, [sp+48]
    0028e024adrp x0, 0x795000
    0028e028add x0, x0, 1440
    0028e02cbl sync.(*Pool).Get
    0028e030str x0, [sp+56]
    0028e034str x1, [sp+64]
    0028e038cbnz x0, 0x28e040
    0028e03cb 0x28e05c
    0028e040
    0028e040loc_28e040:
    0028e040adrp x4, 0x41c000
    0028e044add x4, x4, 2752
    0028e048subs xzr, x0, x4
    0028e04cb.eq 0x28e054
    0028e050b 0x28e150
    0028e054
    0028e054loc_28e054:
    0028e054str x1, [sp+48]
    0028e058b 0x28e060
    0028e05c
    0028e05cloc_28e05c:
    0028e05cb 0x28e060
    0028e060
    0028e060loc_28e060:
    0028e060ldr x4, [sp+48]
    0028e064cbnz x4, 0x28e06c
    0028e068b 0x28e070
    0028e06c
    0028e06cloc_28e06c:
    0028e06cb 0x28e084
    0028e070
    0028e070loc_28e070:
    0028e070adrp x0, 0x41c000
    0028e074add x0, x0, 3680
    0028e078bl runtime.newobject
    0028e07cstr x0, [sp+48]
    0028e080b 0x28e084
    0028e084
    0028e084loc_28e084:
    0028e084ldr x4, [sp+48]
    0028e088ldrsb x27, [x4]
    0028e08cldr x0, [x4]
    0028e090ldr x1, [x4+8]
    0028e094ldr x2, [x4+16]
    0028e098str x0, [sp+72]
    0028e09cstr x1, [sp+80]
    0028e0a0str x2, [sp+88]
    0028e0a4ldr x3, [sp+136]
    0028e0a8bl math/big.nat.make
    0028e0acstr x0, [sp+96]
    0028e0b0str x1, [sp+104]
    0028e0b4str x2, [sp+112]
    0028e0b8ldr x4, [sp+48]
    0028e0bcldrsb x27, [x4]
    0028e0c0str x1, [x4+8]
    0028e0c4str x2, [x4+16]
    0028e0c8adrp x27, 0x7bd000
    0028e0ccldr w5, [x27+3056]
    0028e0d0cbz w5, 0x28e0d8
    0028e0d4b 0x28e0dc
    0028e0d8
    0028e0d8loc_28e0d8:
    0028e0d8b 0x28e0f0
    0028e0dc
    0028e0dcloc_28e0dc:
    0028e0dcbl runtime.gcWriteBarrier2
    0028e0e0str x0, [x25]
    0028e0e4ldr x2, [x4]
    0028e0e8str x2, [x25+8]
    0028e0ecb 0x28e0f0
    0028e0f0
    0028e0f0loc_28e0f0:
    0028e0f0str x0, [x4]
    0028e0f4ldr x2, [sp+136]
    0028e0f8subs xzr, x2, 0
    0028e0fcb.gt 0x28e104
    0028e100b 0x28e130
    0028e104
    0028e104loc_28e104:
    0028e104ldr x2, [sp+48]
    0028e108ldrsb x27, [x2]
    0028e10cldr x1, [x2+8]
    0028e110ldr x2, [x2]
    0028e114subs xzr, x1, 0
    0028e118b.hi 0x28e120
    0028e11cb 0x28e148
    0028e120
    0028e120loc_28e120:
    0028e120movz x1, 60875
    0028e124movk x1, 0xf0000
    0028e128str x1, [x2]
    0028e12cb 0x28e134
    0028e130
    0028e130loc_28e130:
    0028e130b 0x28e134
    0028e134
    0028e134loc_28e134:
    0028e134ldr x0, [sp+48]
    0028e138str x0, [sp+40]
    0028e13cldur x29, [sp-8]
    0028e140ldr x30, [sp], 128
    0028e144ret x30
    0028e148
    0028e148loc_28e148:
    0028e148mov x0, xzr
    0028e14cbl runtime.panicIndex
    0028e150
    0028e150loc_28e150:
    0028e150mov x1, x4
    0028e154adrp x2, 0x37c000
    0028e158add x2, x2, 3520
    0028e15cbl runtime.panicdottypeE
    0028e160hint
    0028e164
    0028e164loc_28e164:
    0028e164str x0, [sp+8]
    0028e168mov x3, x30
    0028e16cbl runtime.morestack_noctxt.abi0
    0028e170ldr x0, [sp+8]
    0028e174b 0x28e000
    0028e178udf 0
    0028e17cudf 0
    0028e000
    0028e180
    0028e180math/big.putNat: ; void math/big.putNat(math/big.nat * x)
    0028e180ldr x16, [x28+16]
    0028e184subs xzr, sp, x16
    0028e188b.ls 0x28e1c0
    0028e18cstr x30, [sp-48]!
    0028e190stur x29, [sp-8]
    0028e194sub x29, sp, 8
    0028e198str x0, [sp+56]
    0028e19cadrp x1, 0x41c000
    0028e1a0add x1, x1, 2752
    0028e1a4mov x2, x0
    0028e1a8adrp x0, 0x795000
    0028e1acadd x0, x0, 1440
    0028e1b0bl sync.(*Pool).Put
    0028e1b4ldur x29, [sp-8]
    0028e1b8ldr x30, [sp], 48
    0028e1bcret x30
    0028e1c0
    0028e1c0loc_28e1c0:
    0028e1c0str x0, [sp+8]
    0028e1c4mov x3, x30
    0028e1c8bl runtime.morestack_noctxt.abi0
    0028e1ccldr x0, [sp+8]
    0028e1d0b 0x28e180
    0028e1d4udf 0
    0028e1d8udf 0
    0028e1dcudf 0
    0028e180
    0028e1e0
    0028e1e0math/big.nat.bitLen: ; void math/big.nat.bitLen(math/big.nat x)
    0028e1e0ldr x16, [x28+16]
    0028e1e4subs xzr, sp, x16
    0028e1e8b.ls 0x28e2b4
    0028e1ecstr x30, [sp-64]!
    0028e1f0stur x29, [sp-8]
    0028e1f4sub x29, sp, 8
    0028e1f8str x0, [sp+72]
    0028e1fcstr x1, [sp+80]
    0028e200str x2, [sp+88]
    0028e204str xzr, [sp+24]
    0028e208str x1, [sp+48]
    0028e20csub x0, x1, 1
    0028e210str x0, [sp+40]
    0028e214tbz x0, 63, 0x28e21c
    0028e218b 0x28e298
    0028e21c
    0028e21cloc_28e21c:
    0028e21cldr x1, [sp+80]
    0028e220ldr x2, [sp+72]
    0028e224subs xzr, x1, x0
    0028e228b.hi 0x28e230
    0028e22cb 0x28e2ac
    0028e230
    0028e230loc_28e230:
    0028e230ldr x1, [x2+3*x0]
    0028e234str x1, [sp+32]
    0028e238ldr x1, [sp+32]
    0028e23cldr x2, [sp+32]
    0028e240orr x1, x1, x2, lsr #1
    0028e244str x1, [sp+32]
    0028e248orr x1, x1, x1, lsr #2
    0028e24cstr x1, [sp+32]
    0028e250orr x1, x1, x1, lsr #4
    0028e254str x1, [sp+32]
    0028e258orr x1, x1, x1, lsr #8
    0028e25cstr x1, [sp+32]
    0028e260orr x1, x1, x1, lsr #16
    0028e264str x1, [sp+32]
    0028e268orr x1, x1, x1, lsr #32
    0028e26cstr x1, [sp+32]
    0028e270clz x1, x1
    0028e274orr x2, xzr, 64
    0028e278sub x1, x2, x1
    0028e27cstr x1, [sp+48]
    0028e280ldr x2, [sp+40]
    0028e284add x0, x1, x2, lsl #6
    0028e288str x0, [sp+24]
    0028e28cldur x29, [sp-8]
    0028e290ldr x30, [sp], 64
    0028e294ret x30
    0028e298
    0028e298loc_28e298:
    0028e298str xzr, [sp+24]
    0028e29cmov x0, xzr
    0028e2a0ldur x29, [sp-8]
    0028e2a4ldr x30, [sp], 64
    0028e2a8ret x30
    0028e2ac
    0028e2acloc_28e2ac:
    0028e2acbl runtime.panicIndex
    0028e2b0hint
    0028e2b4
    0028e2b4loc_28e2b4:
    0028e2b4stp x0, x1, [sp+8]
    0028e2b8str x2, [sp+24]
    0028e2bcmov x3, x30
    0028e2c0bl runtime.morestack_noctxt.abi0
    0028e2c4ldp x0, x1, [sp+8]
    0028e2c8ldr x2, [sp+24]
    0028e2ccb 0x28e1e0
    0028e1e0
    0028e2d0
    0028e2d0math/big.nat.trailingZeroBits: ; void math/big.nat.trailingZeroBits(math/big.nat x)
    0028e2d0ldr x16, [x28+16]
    0028e2d4subs xzr, sp, x16
    0028e2d8b.ls 0x28e3a8
    0028e2dcstr x30, [sp-64]!
    0028e2e0stur x29, [sp-8]
    0028e2e4sub x29, sp, 8
    0028e2e8str x0, [sp+72]
    0028e2ecstr x1, [sp+80]
    0028e2f0str x2, [sp+88]
    0028e2f4str xzr, [sp+24]
    0028e2f8str x1, [sp+48]
    0028e2fccbz x1, 0x28e304
    0028e300b 0x28e318
    0028e304
    0028e304loc_28e304:
    0028e304str xzr, [sp+24]
    0028e308mov x0, xzr
    0028e30cldur x29, [sp-8]
    0028e310ldr x30, [sp], 64
    0028e314ret x30
    0028e318
    0028e318loc_28e318:
    0028e318str xzr, [sp+32]
    0028e31cb 0x28e320
    0028e320
    0028e320loc_28e320:
    0028e320ldr x0, [sp+32]
    0028e324ldr x1, [sp+80]
    0028e328ldr x2, [sp+72]
    0028e32csubs xzr, x0, x1
    0028e330b.lo 0x28e338
    0028e334b 0x28e3a0
    0028e338
    0028e338loc_28e338:
    0028e338ldr x2, [x2+3*x0]
    0028e33ccbz x2, 0x28e344
    0028e340b 0x28e358
    0028e344
    0028e344loc_28e344:
    0028e344ldr x2, [sp+32]
    0028e348add x2, x2, 1
    0028e34cstr x2, [sp+32]
    0028e350b 0x28e354
    0028e354
    0028e354loc_28e354:
    0028e354b 0x28e320
    0028e358
    0028e358loc_28e358:
    0028e358ldr x0, [sp+32]
    0028e35cldr x1, [sp+80]
    0028e360ldr x2, [sp+72]
    0028e364subs xzr, x1, x0
    0028e368b.hi 0x28e370
    0028e36cb 0x28e39c
    0028e370
    0028e370loc_28e370:
    0028e370ldr x1, [x2+3*x0]
    0028e374str x1, [sp+40]
    0028e378ldr x0, [sp+40]
    0028e37cbl math/bits.TrailingZeros
    0028e380str x0, [sp+48]
    0028e384ldr x1, [sp+32]
    0028e388add x0, x0, x1, lsl #6
    0028e38cstr x0, [sp+24]
    0028e390ldur x29, [sp-8]
    0028e394ldr x30, [sp], 64
    0028e398ret x30
    0028e39c
    0028e39cloc_28e39c:
    0028e39cbl runtime.panicIndexU
    0028e3a0
    0028e3a0loc_28e3a0:
    0028e3a0bl runtime.panicIndexU
    0028e3a4hint
    0028e3a8
    0028e3a8loc_28e3a8:
    0028e3a8stp x0, x1, [sp+8]
    0028e3acstr x2, [sp+24]
    0028e3b0mov x3, x30
    0028e3b4bl runtime.morestack_noctxt.abi0
    0028e3b8ldp x0, x1, [sp+8]
    0028e3bcldr x2, [sp+24]
    0028e3c0b 0x28e2d0
    0028e3c4udf 0
    0028e3c8udf 0
    0028e3ccudf 0
    0028e2d0
    0028e3d0
    0028e3d0math/big.nat.isPow2: ; void math/big.nat.isPow2(math/big.nat x)
    0028e3d0ldr x16, [x28+16]
    0028e3d4subs xzr, sp, x16
    0028e3d8b.ls 0x28e53c
    0028e3dcstr x30, [sp-80]!
    0028e3e0stur x29, [sp-8]
    0028e3e4sub x29, sp, 8
    0028e3e8str x0, [sp+88]
    0028e3ecstr x1, [sp+96]
    0028e3f0str x2, [sp+104]
    0028e3f4str xzr, [sp+40]
    0028e3f8strb wzr, [sp+38]
    0028e3fcstr xzr, [sp+48]
    0028e400b 0x28e404
    0028e404
    0028e404loc_28e404:
    0028e404ldr x0, [sp+48]
    0028e408ldr x1, [sp+96]
    0028e40cldr x2, [sp+88]
    0028e410subs xzr, x1, x0
    0028e414b.hi 0x28e41c
    0028e418b 0x28e534
    0028e41c
    0028e41cloc_28e41c:
    0028e41cldr x2, [x2+3*x0]
    0028e420cbz x2, 0x28e428
    0028e424b 0x28e43c
    0028e428
    0028e428loc_28e428:
    0028e428ldr x2, [sp+48]
    0028e42cadd x2, x2, 1
    0028e430str x2, [sp+48]
    0028e434b 0x28e438
    0028e438
    0028e438loc_28e438:
    0028e438b 0x28e404
    0028e43c
    0028e43cloc_28e43c:
    0028e43cldr x2, [sp+96]
    0028e440str x2, [sp+64]
    0028e444ldr x3, [sp+48]
    0028e448sub x2, x2, 1
    0028e44csubs xzr, x3, x2
    0028e450cset x2, eq
    0028e454strb w2, [sp+39]
    0028e458b.eq 0x28e460
    0028e45cb 0x28e4ac
    0028e460
    0028e460loc_28e460:
    0028e460ldr x0, [sp+48]
    0028e464ldr x1, [sp+96]
    0028e468ldr x2, [sp+88]
    0028e46csubs xzr, x0, x1
    0028e470b.lo 0x28e478
    0028e474b 0x28e530
    0028e478
    0028e478loc_28e478:
    0028e478ldr x2, [x2+3*x0]
    0028e47cldr x0, [sp+48]
    0028e480ldr x1, [sp+96]
    0028e484ldr x3, [sp+88]
    0028e488subs xzr, x1, x0
    0028e48cb.hi 0x28e494
    0028e490b 0x28e52c
    0028e494
    0028e494loc_28e494:
    0028e494ldr x3, [x3+3*x0]
    0028e498sub x3, x3, 1
    0028e49cands xzr, x2, x3
    0028e4a0cset x2, eq
    0028e4a4strb w2, [sp+39]
    0028e4a8b 0x28e4b0
    0028e4ac
    0028e4acloc_28e4ac:
    0028e4acb 0x28e4b0
    0028e4b0
    0028e4b0loc_28e4b0:
    0028e4b0ldrb w2, [sp+39]
    0028e4b4tbnz w2, 0, 0x28e4bc
    0028e4b8b 0x28e50c
    0028e4bc
    0028e4bcloc_28e4bc:
    0028e4bcldr x0, [sp+48]
    0028e4c0ldr x1, [sp+96]
    0028e4c4ldr x2, [sp+88]
    0028e4c8subs xzr, x1, x0
    0028e4ccb.hi 0x28e4d4
    0028e4d0b 0x28e528
    0028e4d4
    0028e4d4loc_28e4d4:
    0028e4d4ldr x1, [x2+3*x0]
    0028e4d8str x1, [sp+56]
    0028e4dcldr x0, [sp+56]
    0028e4e0bl math/bits.TrailingZeros
    0028e4e4str x0, [sp+64]
    0028e4e8ldr x1, [sp+48]
    0028e4ecadd x1, x0, x1, lsl #6
    0028e4f0str x1, [sp+40]
    0028e4f4orr x1, xzr, 1
    0028e4f8strb w1, [sp+38]
    0028e4fcldr x0, [sp+40]
    0028e500ldur x29, [sp-8]
    0028e504ldr x30, [sp], 80
    0028e508ret x30
    0028e50c
    0028e50cloc_28e50c:
    0028e50cstr xzr, [sp+40]
    0028e510strb wzr, [sp+38]
    0028e514ldr x0, [sp+40]
    0028e518mov x1, xzr
    0028e51cldur x29, [sp-8]
    0028e520ldr x30, [sp], 80
    0028e524ret x30
    0028e528
    0028e528loc_28e528:
    0028e528bl runtime.panicIndexU
    0028e52c
    0028e52cloc_28e52c:
    0028e52cbl runtime.panicIndexU
    0028e530
    0028e530loc_28e530:
    0028e530bl runtime.panicIndexU
    0028e534
    0028e534loc_28e534:
    0028e534bl runtime.panicIndexU
    0028e538hint
    0028e53c
    0028e53cloc_28e53c:
    0028e53cstp x0, x1, [sp+8]
    0028e540str x2, [sp+24]
    0028e544mov x3, x30
    0028e548bl runtime.morestack_noctxt.abi0
    0028e54cldp x0, x1, [sp+8]
    0028e550ldr x2, [sp+24]
    0028e554b 0x28e3d0
    0028e558udf 0
    0028e55cudf 0
    0028e3d0
    0028e560
    0028e560math/big.same: ; void math/big.same(math/big.nat x, math/big.nat y)
    0028e560ldr x16, [x28+16]
    0028e564subs xzr, sp, x16
    0028e568b.ls 0x28e644
    0028e56cstr x30, [sp-64]!
    0028e570stur x29, [sp-8]
    0028e574sub x29, sp, 8
    0028e578str x0, [sp+72]
    0028e57cstr x1, [sp+80]
    0028e580str x2, [sp+88]
    0028e584str x3, [sp+96]
    0028e588str x4, [sp+104]
    0028e58cstr x5, [sp+112]
    0028e590strb wzr, [sp+29]
    0028e594ldr x2, [sp+80]
    0028e598str x2, [sp+48]
    0028e59cstr x4, [sp+40]
    0028e5a0subs xzr, x4, x2
    0028e5a4cset x2, eq
    0028e5a8strb w2, [sp+30]
    0028e5acb.eq 0x28e5b4
    0028e5b0b 0x28e5cc
    0028e5b4
    0028e5b4loc_28e5b4:
    0028e5b4ldr x2, [sp+80]
    0028e5b8str x2, [sp+32]
    0028e5bcsubs xzr, x2, 0
    0028e5c0cset x2, ne
    0028e5c4strb w2, [sp+30]
    0028e5c8b 0x28e5d0
    0028e5cc
    0028e5ccloc_28e5cc:
    0028e5ccb 0x28e5d0
    0028e5d0
    0028e5d0loc_28e5d0:
    0028e5d0ldrb w2, [sp+30]
    0028e5d4strb w2, [sp+31]
    0028e5d8tbnz w2, 0, 0x28e5e0
    0028e5dcb 0x28e618
    0028e5e0
    0028e5e0loc_28e5e0:
    0028e5e0ldr x1, [sp+80]
    0028e5e4ldr x2, [sp+72]
    0028e5e8subs xzr, x1, 0
    0028e5ecb.hi 0x28e5f4
    0028e5f0b 0x28e638
    0028e5f4
    0028e5f4loc_28e5f4:
    0028e5f4ldr x1, [sp+104]
    0028e5f8ldr x3, [sp+96]
    0028e5fcsubs xzr, x1, 0
    0028e600b.hi 0x28e608
    0028e604b 0x28e630
    0028e608
    0028e608loc_28e608:
    0028e608subs xzr, x3, x2
    0028e60ccset x1, eq
    0028e610strb w1, [sp+31]
    0028e614b 0x28e61c
    0028e618
    0028e618loc_28e618:
    0028e618b 0x28e61c
    0028e61c
    0028e61cloc_28e61c:
    0028e61cldrb w0, [sp+31]
    0028e620strb w0, [sp+29]
    0028e624ldur x29, [sp-8]
    0028e628ldr x30, [sp], 64
    0028e62cret x30
    0028e630
    0028e630loc_28e630:
    0028e630mov x0, xzr
    0028e634bl runtime.panicIndex
    0028e638
    0028e638loc_28e638:
    0028e638mov x0, xzr
    0028e63cbl runtime.panicIndex
    0028e640hint
    0028e644
    0028e644loc_28e644:
    0028e644stp x0, x1, [sp+8]
    0028e648stp x2, x3, [sp+24]
    0028e64cstp x4, x5, [sp+40]
    0028e650mov x3, x30
    0028e654bl runtime.morestack_noctxt.abi0
    0028e658ldp x0, x1, [sp+8]
    0028e65cldp x2, x3, [sp+24]
    0028e660ldp x4, x5, [sp+40]
    0028e664b 0x28e560
    0028e668udf 0
    0028e66cudf 0
    0028e560
    0028e670
    0028e670math/big.nat.shl: ; void math/big.nat.shl(math/big.nat z, math/big.nat x, uint s)
    0028e670ldr x16, [x28+16]
    0028e674sub x17, sp, 64
    0028e678subs xzr, x17, x16
    0028e67cb.ls 0x28e954
    0028e680str x30, [sp-192]!
    0028e684stur x29, [sp-8]
    0028e688sub x29, sp, 8
    0028e68cstr x0, [sp+200]
    0028e690str x1, [sp+208]
    0028e694str x2, [sp+216]
    0028e698str x3, [sp+224]
    0028e69cstr x4, [sp+232]
    0028e6a0str x5, [sp+240]
    0028e6a4str x6, [sp+248]
    0028e6a8str xzr, [sp+128]
    0028e6acstp xzr, xzr, [sp+136]
    0028e6b0ldr x6, [sp+248]
    0028e6b4cbz x6, 0x28e6bc
    0028e6b8b 0x28e774
    0028e6bc
    0028e6bcloc_28e6bc:
    0028e6bcldr x0, [sp+200]
    0028e6c0ldr x3, [sp+224]
    0028e6c4ldr x1, [sp+208]
    0028e6c8ldr x4, [sp+232]
    0028e6ccldr x2, [sp+216]
    0028e6d0ldr x5, [sp+240]
    0028e6d4bl math/big.same
    0028e6d8strb w0, [sp+79]
    0028e6dctbnz w0, 0, 0x28e6e4
    0028e6e0b 0x28e708
    0028e6e4
    0028e6e4loc_28e6e4:
    0028e6e4ldr x0, [sp+200]
    0028e6e8ldr x1, [sp+208]
    0028e6ecldr x2, [sp+216]
    0028e6f0str x0, [sp+128]
    0028e6f4str x1, [sp+136]
    0028e6f8str x2, [sp+144]
    0028e6fcldur x29, [sp-8]
    0028e700ldr x30, [sp], 192
    0028e704ret x30
    0028e708
    0028e708loc_28e708:
    0028e708ldr x0, [sp+200]
    0028e70cldr x3, [sp+224]
    0028e710ldr x1, [sp+208]
    0028e714ldr x4, [sp+232]
    0028e718ldr x2, [sp+216]
    0028e71cldr x5, [sp+240]
    0028e720bl math/big.alias
    0028e724strb w0, [sp+79]
    0028e728tbnz w0, 0, 0x28e730
    0028e72cb 0x28e734
    0028e730
    0028e730loc_28e730:
    0028e730b 0x28e778
    0028e734
    0028e734loc_28e734:
    0028e734ldr x0, [sp+200]
    0028e738ldr x3, [sp+224]
    0028e73cldr x1, [sp+208]
    0028e740ldr x4, [sp+232]
    0028e744ldr x2, [sp+216]
    0028e748ldr x5, [sp+240]
    0028e74cbl math/big.nat.set
    0028e750str x0, [sp+152]
    0028e754str x1, [sp+160]
    0028e758str x2, [sp+168]
    0028e75cstr x0, [sp+128]
    0028e760str x1, [sp+136]
    0028e764str x2, [sp+144]
    0028e768ldur x29, [sp-8]
    0028e76cldr x30, [sp], 192
    0028e770ret x30
    0028e774
    0028e774loc_28e774:
    0028e774b 0x28e778
    0028e778
    0028e778loc_28e778:
    0028e778ldr x4, [sp+232]
    0028e77cstr x4, [sp+88]
    0028e780cbz x4, 0x28e788
    0028e784b 0x28e7c0
    0028e788
    0028e788loc_28e788:
    0028e788ldr x0, [sp+200]
    0028e78cldr x2, [sp+216]
    0028e790b 0x28e794
    0028e794
    0028e794loc_28e794:
    0028e794b 0x28e798
    0028e798
    0028e798loc_28e798:
    0028e798str x0, [sp+152]
    0028e79cstr xzr, [sp+160]
    0028e7a0str x2, [sp+168]
    0028e7a4str x0, [sp+128]
    0028e7a8str xzr, [sp+136]
    0028e7acstr x2, [sp+144]
    0028e7b0mov x1, xzr
    0028e7b4ldur x29, [sp-8]
    0028e7b8ldr x30, [sp], 192
    0028e7bcret x30
    0028e7c0
    0028e7c0loc_28e7c0:
    0028e7c0ldr x5, [sp+248]
    0028e7c4add x4, x4, x5, lsr #6
    0028e7c8str x4, [sp+80]
    0028e7ccldr x0, [sp+200]
    0028e7d0ldr x1, [sp+208]
    0028e7d4ldr x2, [sp+216]
    0028e7d8add x3, x4, 1
    0028e7dcbl math/big.nat.make
    0028e7e0str x0, [sp+200]
    0028e7e4str x1, [sp+208]
    0028e7e8str x2, [sp+216]
    0028e7ecldr x4, [sp+88]
    0028e7f0ldr x5, [sp+80]
    0028e7f4sub x6, x5, x4
    0028e7f8str x6, [sp+104]
    0028e7fcldr x1, [sp+80]
    0028e800subs xzr, x2, x1
    0028e804b.hs 0x28e80c
    0028e808b 0x28e94c
    0028e80c
    0028e80cloc_28e80c:
    0028e80csubs xzr, x1, x6
    0028e810b.hs 0x28e818
    0028e814b 0x28e944
    0028e818
    0028e818loc_28e818:
    0028e818add x2, x2, x4
    0028e81csub x2, x2, x5
    0028e820add x1, x1, x4
    0028e824sub x1, x1, x5
    0028e828sub x3, xzr, x2
    0028e82cubfm x4, x6, 61, 60
    0028e830and x3, x4, x3, asr #63
    0028e834add x0, x0, x3
    0028e838str x0, [sp+152]
    0028e83cstr x1, [sp+160]
    0028e840str x2, [sp+168]
    0028e844ldr x3, [sp+248]
    0028e848and x3, x3, 63
    0028e84cstr x3, [sp+120]
    0028e850ldr x4, [sp+224]
    0028e854ldr x5, [sp+232]
    0028e858ldr x6, [sp+240]
    0028e85cstr x0, [sp+8]
    0028e860str x1, [sp+16]
    0028e864str x2, [sp+24]
    0028e868str x4, [sp+32]
    0028e86cstr x5, [sp+40]
    0028e870str x6, [sp+48]
    0028e874str x3, [sp+56]
    0028e878bl math/big.shlVU.abi0
    0028e87cldr x0, [sp+64]
    0028e880str x0, [sp+96]
    0028e884ldr x1, [sp+80]
    0028e888ldr x2, [sp+208]
    0028e88cldr x3, [sp+200]
    0028e890subs xzr, x2, x1
    0028e894b.hi 0x28e89c
    0028e898b 0x28e938
    0028e89c
    0028e89cloc_28e89c:
    0028e89cstr x0, [x3+3*x1]
    0028e8a0ldr x3, [sp+88]
    0028e8a4ldr x4, [sp+80]
    0028e8a8sub x1, x4, x3
    0028e8acstr x1, [sp+104]
    0028e8b0ldr x2, [sp+216]
    0028e8b4ldr x3, [sp+200]
    0028e8b8subs xzr, x2, x1
    0028e8bcb.hs 0x28e8c4
    0028e8c0b 0x28e934
    0028e8c4
    0028e8c4loc_28e8c4:
    0028e8c4b 0x28e8c8
    0028e8c8
    0028e8c8loc_28e8c8:
    0028e8c8str x3, [sp+152]
    0028e8ccstr x1, [sp+160]
    0028e8d0str x2, [sp+168]
    0028e8d4cbnz x1, 0x28e8dc
    0028e8d8b 0x28e8fc
    0028e8dc
    0028e8dcloc_28e8dc:
    0028e8dcstr x3, [sp+176]
    0028e8e0ldr x2, [sp+160]
    0028e8e4ubfm x2, x2, 61, 60
    0028e8e8str x2, [sp+112]
    0028e8ecldr x1, [sp+112]
    0028e8f0ldr x0, [sp+176]
    0028e8f4bl runtime.memclrNoHeapPointers
    0028e8f8b 0x28e900
    0028e8fc
    0028e8fcloc_28e8fc:
    0028e8fcb 0x28e900
    0028e900
    0028e900loc_28e900:
    0028e900ldr x0, [sp+200]
    0028e904ldr x1, [sp+208]
    0028e908ldr x2, [sp+216]
    0028e90cbl math/big.nat.norm
    0028e910str x0, [sp+152]
    0028e914str x1, [sp+160]
    0028e918str x2, [sp+168]
    0028e91cstr x0, [sp+128]
    0028e920str x1, [sp+136]
    0028e924str x2, [sp+144]
    0028e928ldur x29, [sp-8]
    0028e92cldr x30, [sp], 192
    0028e930ret x30
    0028e934
    0028e934loc_28e934:
    0028e934bl runtime.panicSliceAcap
    0028e938
    0028e938loc_28e938:
    0028e938mov x0, x1
    0028e93cmov x1, x2
    0028e940bl runtime.panicIndex
    0028e944
    0028e944loc_28e944:
    0028e944mov x0, x6
    0028e948bl runtime.panicSliceB
    0028e94c
    0028e94cloc_28e94c:
    0028e94cbl runtime.panicSliceAcap
    0028e950hint
    0028e954
    0028e954loc_28e954:
    0028e954stp x0, x1, [sp+8]
    0028e958stp x2, x3, [sp+24]
    0028e95cstp x4, x5, [sp+40]
    0028e960str x6, [sp+56]
    0028e964mov x3, x30
    0028e968bl runtime.morestack_noctxt.abi0
    0028e96cldp x0, x1, [sp+8]
    0028e970ldp x2, x3, [sp+24]
    0028e974ldp x4, x5, [sp+40]
    0028e978ldr x6, [sp+56]
    0028e97cb 0x28e670
    0028e670
    0028e980
    0028e980math/big.nat.shr: ; void math/big.nat.shr(math/big.nat z, math/big.nat x, uint s)
    0028e980ldr x16, [x28+16]
    0028e984sub x17, sp, 48
    0028e988subs xzr, x17, x16
    0028e98cb.ls 0x28ebc8
    0028e990str x30, [sp-176]!
    0028e994stur x29, [sp-8]
    0028e998sub x29, sp, 8
    0028e99cstr x0, [sp+184]
    0028e9a0str x1, [sp+192]
    0028e9a4str x2, [sp+200]
    0028e9a8str x3, [sp+208]
    0028e9acstr x4, [sp+216]
    0028e9b0str x5, [sp+224]
    0028e9b4str x6, [sp+232]
    0028e9b8str xzr, [sp+120]
    0028e9bcstp xzr, xzr, [sp+128]
    0028e9c0ldr x6, [sp+232]
    0028e9c4cbz x6, 0x28e9cc
    0028e9c8b 0x28ea84
    0028e9cc
    0028e9ccloc_28e9cc:
    0028e9ccldr x0, [sp+184]
    0028e9d0ldr x3, [sp+208]
    0028e9d4ldr x1, [sp+192]
    0028e9d8ldr x4, [sp+216]
    0028e9dcldr x2, [sp+200]
    0028e9e0ldr x5, [sp+224]
    0028e9e4bl math/big.same
    0028e9e8strb w0, [sp+87]
    0028e9ectbnz w0, 0, 0x28e9f4
    0028e9f0b 0x28ea18
    0028e9f4
    0028e9f4loc_28e9f4:
    0028e9f4ldr x0, [sp+184]
    0028e9f8ldr x1, [sp+192]
    0028e9fcldr x2, [sp+200]
    0028ea00str x0, [sp+120]
    0028ea04str x1, [sp+128]
    0028ea08str x2, [sp+136]
    0028ea0cldur x29, [sp-8]
    0028ea10ldr x30, [sp], 176
    0028ea14ret x30
    0028ea18
    0028ea18loc_28ea18:
    0028ea18ldr x0, [sp+184]
    0028ea1cldr x3, [sp+208]
    0028ea20ldr x1, [sp+192]
    0028ea24ldr x4, [sp+216]
    0028ea28ldr x2, [sp+200]
    0028ea2cldr x5, [sp+224]
    0028ea30bl math/big.alias
    0028ea34strb w0, [sp+87]
    0028ea38tbnz w0, 0, 0x28ea40
    0028ea3cb 0x28ea44
    0028ea40
    0028ea40loc_28ea40:
    0028ea40b 0x28ea88
    0028ea44
    0028ea44loc_28ea44:
    0028ea44ldr x0, [sp+184]
    0028ea48ldr x3, [sp+208]
    0028ea4cldr x1, [sp+192]
    0028ea50ldr x4, [sp+216]
    0028ea54ldr x2, [sp+200]
    0028ea58ldr x5, [sp+224]
    0028ea5cbl math/big.nat.set
    0028ea60str x0, [sp+144]
    0028ea64str x1, [sp+152]
    0028ea68str x2, [sp+160]
    0028ea6cstr x0, [sp+120]
    0028ea70str x1, [sp+128]
    0028ea74str x2, [sp+136]
    0028ea78ldur x29, [sp-8]
    0028ea7cldr x30, [sp], 176
    0028ea80ret x30
    0028ea84
    0028ea84loc_28ea84:
    0028ea84b 0x28ea88
    0028ea88
    0028ea88loc_28ea88:
    0028ea88ldr x4, [sp+216]
    0028ea8cstr x4, [sp+96]
    0028ea90ldr x5, [sp+232]
    0028ea94sub x3, x4, x5, lsr #6
    0028ea98str x3, [sp+88]
    0028ea9csubs xzr, x3, 0
    0028eaa0b.le 0x28eaa8
    0028eaa4b 0x28eae0
    0028eaa8
    0028eaa8loc_28eaa8:
    0028eaa8ldr x0, [sp+184]
    0028eaacldr x2, [sp+200]
    0028eab0b 0x28eab4
    0028eab4
    0028eab4loc_28eab4:
    0028eab4b 0x28eab8
    0028eab8
    0028eab8loc_28eab8:
    0028eab8str x0, [sp+144]
    0028eabcstr xzr, [sp+152]
    0028eac0str x2, [sp+160]
    0028eac4str x0, [sp+120]
    0028eac8str xzr, [sp+128]
    0028eaccstr x2, [sp+136]
    0028ead0mov x1, xzr
    0028ead4ldur x29, [sp-8]
    0028ead8ldr x30, [sp], 176
    0028eadcret x30
    0028eae0
    0028eae0loc_28eae0:
    0028eae0ldr x0, [sp+184]
    0028eae4ldr x1, [sp+192]
    0028eae8ldr x2, [sp+200]
    0028eaecbl math/big.nat.make
    0028eaf0str x0, [sp+184]
    0028eaf4str x1, [sp+192]
    0028eaf8str x2, [sp+200]
    0028eafcldr x4, [sp+88]
    0028eb00ldr x5, [sp+96]
    0028eb04sub x0, x5, x4
    0028eb08str x0, [sp+112]
    0028eb0cldr x1, [sp+216]
    0028eb10ldr x6, [sp+208]
    0028eb14ldr x7, [sp+224]
    0028eb18b 0x28eb1c
    0028eb1c
    0028eb1cloc_28eb1c:
    0028eb1csubs xzr, x1, x0
    0028eb20b.hs 0x28eb28
    0028eb24b 0x28ebc0
    0028eb28
    0028eb28loc_28eb28:
    0028eb28add x2, x7, x4
    0028eb2csub x2, x2, x5
    0028eb30add x1, x1, x4
    0028eb34sub x1, x1, x5
    0028eb38sub x3, xzr, x2
    0028eb3cubfm x0, x0, 61, 60
    0028eb40and x0, x0, x3, asr #63
    0028eb44add x0, x6, x0
    0028eb48str x0, [sp+144]
    0028eb4cstr x1, [sp+152]
    0028eb50str x2, [sp+160]
    0028eb54ldr x3, [sp+232]
    0028eb58and x3, x3, 63
    0028eb5cstr x3, [sp+104]
    0028eb60ldr x4, [sp+184]
    0028eb64ldr x5, [sp+192]
    0028eb68ldr x6, [sp+200]
    0028eb6cstr x4, [sp+8]
    0028eb70str x5, [sp+16]
    0028eb74str x6, [sp+24]
    0028eb78str x0, [sp+32]
    0028eb7cstr x1, [sp+40]
    0028eb80str x2, [sp+48]
    0028eb84str x3, [sp+56]
    0028eb88bl math/big.shrVU.abi0
    0028eb8cldr x0, [sp+184]
    0028eb90ldr x1, [sp+192]
    0028eb94ldr x2, [sp+200]
    0028eb98bl math/big.nat.norm
    0028eb9cstr x0, [sp+144]
    0028eba0str x1, [sp+152]
    0028eba4str x2, [sp+160]
    0028eba8str x0, [sp+120]
    0028ebacstr x1, [sp+128]
    0028ebb0str x2, [sp+136]
    0028ebb4ldur x29, [sp-8]
    0028ebb8ldr x30, [sp], 176
    0028ebbcret x30
    0028ebc0
    0028ebc0loc_28ebc0:
    0028ebc0bl runtime.panicSliceB
    0028ebc4hint
    0028ebc8
    0028ebc8loc_28ebc8:
    0028ebc8stp x0, x1, [sp+8]
    0028ebccstp x2, x3, [sp+24]
    0028ebd0stp x4, x5, [sp+40]
    0028ebd4str x6, [sp+56]
    0028ebd8mov x3, x30
    0028ebdcbl runtime.morestack_noctxt.abi0
    0028ebe0ldp x0, x1, [sp+8]
    0028ebe4ldp x2, x3, [sp+24]
    0028ebe8ldp x4, x5, [sp+40]
    0028ebecldr x6, [sp+56]
    0028ebf0b 0x28e980
    0028ebf4udf 0
    0028ebf8udf 0
    0028ebfcudf 0
    0028e980
    0028ec00
    0028ec00math/big.nat.and: ; void math/big.nat.and(math/big.nat z, math/big.nat x, math/big.nat y)
    0028ec00ldr x16, [x28+16]
    0028ec04subs xzr, sp, x16
    0028ec08b.ls 0x28ed5c
    0028ec0cstr x30, [sp-128]!
    0028ec10stur x29, [sp-8]
    0028ec14sub x29, sp, 8
    0028ec18str x0, [sp+136]
    0028ec1cstr x1, [sp+144]
    0028ec20str x2, [sp+152]
    0028ec24str x3, [sp+160]
    0028ec28str x4, [sp+168]
    0028ec2cstr x5, [sp+176]
    0028ec30str x6, [sp+184]
    0028ec34str x7, [sp+192]
    0028ec38str x8, [sp+200]
    0028ec3cstr xzr, [sp+72]
    0028ec40stp xzr, xzr, [sp+80]
    0028ec44ldr x4, [sp+168]
    0028ec48str x4, [sp+56]
    0028ec4cldr x5, [sp+192]
    0028ec50str x5, [sp+48]
    0028ec54subs xzr, x5, x4
    0028ec58b.lt 0x28ec60
    0028ec5cb 0x28ec68
    0028ec60
    0028ec60loc_28ec60:
    0028ec60str x5, [sp+56]
    0028ec64b 0x28ec6c
    0028ec68
    0028ec68loc_28ec68:
    0028ec68b 0x28ec6c
    0028ec6c
    0028ec6cloc_28ec6c:
    0028ec6cldr x3, [sp+56]
    0028ec70ldr x0, [sp+136]
    0028ec74ldr x1, [sp+144]
    0028ec78ldr x2, [sp+152]
    0028ec7cbl math/big.nat.make
    0028ec80str x0, [sp+136]
    0028ec84str x1, [sp+144]
    0028ec88str x2, [sp+152]
    0028ec8cstr xzr, [sp+64]
    0028ec90b 0x28ec94
    0028ec94
    0028ec94loc_28ec94:
    0028ec94ldr x3, [sp+56]
    0028ec98ldr x4, [sp+64]
    0028ec9csubs xzr, x3, x4
    0028eca0b.gt 0x28eca8
    0028eca4b 0x28ed14
    0028eca8
    0028eca8loc_28eca8:
    0028eca8ldr x0, [sp+64]
    0028ecacldr x1, [sp+168]
    0028ecb0ldr x3, [sp+160]
    0028ecb4subs xzr, x1, x0
    0028ecb8b.hi 0x28ecc0
    0028ecbcb 0x28ed54
    0028ecc0
    0028ecc0loc_28ecc0:
    0028ecc0ldr x3, [x3+3*x0]
    0028ecc4ldr x0, [sp+64]
    0028ecc8ldr x1, [sp+192]
    0028ecccldr x4, [sp+184]
    0028ecd0subs xzr, x1, x0
    0028ecd4b.hi 0x28ecdc
    0028ecd8b 0x28ed50
    0028ecdc
    0028ecdcloc_28ecdc:
    0028ecdcldr x5, [sp+64]
    0028ece0ldr x1, [sp+144]
    0028ece4ldr x6, [sp+136]
    0028ece8ldr x4, [x4+3*x0]
    0028ececand x3, x3, x4
    0028ecf0subs xzr, x1, x5
    0028ecf4b.hi 0x28ecfc
    0028ecf8b 0x28ed48
    0028ecfc
    0028ecfcloc_28ecfc:
    0028ecfcstr x3, [x6+3*x5]
    0028ed00b 0x28ed04
    0028ed04
    0028ed04loc_28ed04:
    0028ed04ldr x3, [sp+64]
    0028ed08add x3, x3, 1
    0028ed0cstr x3, [sp+64]
    0028ed10b 0x28ec94
    0028ed14
    0028ed14loc_28ed14:
    0028ed14ldr x0, [sp+136]
    0028ed18ldr x1, [sp+144]
    0028ed1cldr x2, [sp+152]
    0028ed20bl math/big.nat.norm
    0028ed24str x0, [sp+96]
    0028ed28str x1, [sp+104]
    0028ed2cstr x2, [sp+112]
    0028ed30str x0, [sp+72]
    0028ed34str x1, [sp+80]
    0028ed38str x2, [sp+88]
    0028ed3cldur x29, [sp-8]
    0028ed40ldr x30, [sp], 128
    0028ed44ret x30
    0028ed48
    0028ed48loc_28ed48:
    0028ed48mov x0, x5
    0028ed4cbl runtime.panicIndex
    0028ed50
    0028ed50loc_28ed50:
    0028ed50bl runtime.panicIndex
    0028ed54
    0028ed54loc_28ed54:
    0028ed54bl runtime.panicIndex
    0028ed58hint
    0028ed5c
    0028ed5cloc_28ed5c:
    0028ed5cstp x0, x1, [sp+8]
    0028ed60stp x2, x3, [sp+24]
    0028ed64stp x4, x5, [sp+40]
    0028ed68stp x6, x7, [sp+56]
    0028ed6cstr x8, [sp+72]
    0028ed70mov x3, x30
    0028ed74bl runtime.morestack_noctxt.abi0
    0028ed78ldp x0, x1, [sp+8]
    0028ed7cldp x2, x3, [sp+24]
    0028ed80ldp x4, x5, [sp+40]
    0028ed84ldp x6, x7, [sp+56]
    0028ed88ldr x8, [sp+72]
    0028ed8cb 0x28ec00
    0028ec00
    0028ed90
    0028ed90math/big.nat.trunc: ; void math/big.nat.trunc(math/big.nat z, math/big.nat x, uint n)
    0028ed90ldr x16, [x28+16]
    0028ed94sub x17, sp, 80
    0028ed98subs xzr, x17, x16
    0028ed9cb.ls 0x28ef78
    0028eda0str x30, [sp-208]!
    0028eda4stur x29, [sp-8]
    0028eda8sub x29, sp, 8
    0028edacstr x0, [sp+216]
    0028edb0str x1, [sp+224]
    0028edb4str x2, [sp+232]
    0028edb8str x3, [sp+240]
    0028edbcstr x4, [sp+248]
    0028edc0str x5, [sp+256]
    0028edc4str x6, [sp+264]
    0028edc8str xzr, [sp+104]
    0028edccstp xzr, xzr, [sp+112]
    0028edd0ldr x6, [sp+264]
    0028edd4add x6, x6, 63
    0028edd8ubfm x3, x6, 6, 63
    0028eddcstr x3, [sp+64]
    0028ede0ldr x7, [sp+248]
    0028ede4str x7, [sp+80]
    0028ede8subs xzr, x7, x6, lsr #6
    0028edecb.lo 0x28edf4
    0028edf0b 0x28ee34
    0028edf4
    0028edf4loc_28edf4:
    0028edf4ldr x0, [sp+216]
    0028edf8ldr x3, [sp+240]
    0028edfcldr x1, [sp+224]
    0028ee00ldr x4, [sp+248]
    0028ee04ldr x2, [sp+232]
    0028ee08ldr x5, [sp+256]
    0028ee0cbl math/big.nat.set
    0028ee10str x0, [sp+176]
    0028ee14str x1, [sp+184]
    0028ee18str x2, [sp+192]
    0028ee1cstr x0, [sp+104]
    0028ee20str x1, [sp+112]
    0028ee24str x2, [sp+120]
    0028ee28ldur x29, [sp-8]
    0028ee2cldr x30, [sp], 208
    0028ee30ret x30
    0028ee34
    0028ee34loc_28ee34:
    0028ee34ldr x0, [sp+216]
    0028ee38ldr x1, [sp+224]
    0028ee3cldr x2, [sp+232]
    0028ee40bl math/big.nat.make
    0028ee44str x0, [sp+216]
    0028ee48str x1, [sp+224]
    0028ee4cstr x2, [sp+232]
    0028ee50str x0, [sp+152]
    0028ee54str x1, [sp+160]
    0028ee58str x2, [sp+168]
    0028ee5cldr x4, [sp+248]
    0028ee60ldr x5, [sp+240]
    0028ee64ldr x6, [sp+256]
    0028ee68str x5, [sp+128]
    0028ee6cstr x4, [sp+136]
    0028ee70str x6, [sp+144]
    0028ee74ldr x5, [sp+160]
    0028ee78str x5, [sp+72]
    0028ee7csubs xzr, x5, x4
    0028ee80b.gt 0x28ee88
    0028ee84b 0x28ee90
    0028ee88
    0028ee88loc_28ee88:
    0028ee88str x4, [sp+72]
    0028ee8cb 0x28ee94
    0028ee90
    0028ee90loc_28ee90:
    0028ee90b 0x28ee94
    0028ee94
    0028ee94loc_28ee94:
    0028ee94ldr x3, [sp+128]
    0028ee98ldr x4, [sp+152]
    0028ee9csubs xzr, x3, x4
    0028eea0b.ne 0x28eea8
    0028eea4b 0x28eec8
    0028eea8
    0028eea8loc_28eea8:
    0028eea8ldr x3, [sp+72]
    0028eeacstr x3, [sp+96]
    0028eeb0ldr x3, [sp+96]
    0028eeb4ubfm x2, x3, 61, 60
    0028eeb8ldr x1, [sp+128]
    0028eebcldr x0, [sp+152]
    0028eec0bl runtime.memmove
    0028eec4b 0x28eecc
    0028eec8
    0028eec8loc_28eec8:
    0028eec8b 0x28eecc
    0028eecc
    0028eeccloc_28eecc:
    0028eeccldr x3, [sp+264]
    0028eed0ands xzr, x3, 63
    0028eed4b.ne 0x28eedc
    0028eed8b 0x28ef34
    0028eedc
    0028eedcloc_28eedc:
    0028eedcldr x3, [sp+224]
    0028eee0str x3, [sp+80]
    0028eee4sub x0, x3, 1
    0028eee8str x0, [sp+88]
    0028eeecldr x1, [sp+224]
    0028eef0ldr x3, [sp+216]
    0028eef4subs xzr, x1, x0
    0028eef8b.hi 0x28ef00
    0028eefcb 0x28ef70
    0028ef00
    0028ef00loc_28ef00:
    0028ef00ldr x3, [x3+3*x0]
    0028ef04ldr x1, [sp+224]
    0028ef08ldr x4, [sp+216]
    0028ef0cldr x5, [sp+264]
    0028ef10orr x6, xzr, 1
    0028ef14lslv x5, x6, x5
    0028ef18sub x5, x5, 1
    0028ef1cand x3, x3, x5
    0028ef20subs xzr, x1, x0
    0028ef24b.hi 0x28ef2c
    0028ef28b 0x28ef6c
    0028ef2c
    0028ef2cloc_28ef2c:
    0028ef2cstr x3, [x4+3*x0]
    0028ef30b 0x28ef38
    0028ef34
    0028ef34loc_28ef34:
    0028ef34b 0x28ef38
    0028ef38
    0028ef38loc_28ef38:
    0028ef38ldr x0, [sp+216]
    0028ef3cldr x1, [sp+224]
    0028ef40ldr x2, [sp+232]
    0028ef44bl math/big.nat.norm
    0028ef48str x0, [sp+176]
    0028ef4cstr x1, [sp+184]
    0028ef50str x2, [sp+192]
    0028ef54str x0, [sp+104]
    0028ef58str x1, [sp+112]
    0028ef5cstr x2, [sp+120]
    0028ef60ldur x29, [sp-8]
    0028ef64ldr x30, [sp], 208
    0028ef68ret x30
    0028ef6c
    0028ef6cloc_28ef6c:
    0028ef6cbl runtime.panicIndex
    0028ef70
    0028ef70loc_28ef70:
    0028ef70bl runtime.panicIndex
    0028ef74hint
    0028ef78
    0028ef78loc_28ef78:
    0028ef78stp x0, x1, [sp+8]
    0028ef7cstp x2, x3, [sp+24]
    0028ef80stp x4, x5, [sp+40]
    0028ef84str x6, [sp+56]
    0028ef88mov x3, x30
    0028ef8cbl runtime.morestack_noctxt.abi0
    0028ef90ldp x0, x1, [sp+8]
    0028ef94ldp x2, x3, [sp+24]
    0028ef98ldp x4, x5, [sp+40]
    0028ef9cldr x6, [sp+56]
    0028efa0b 0x28ed90
    0028efa4udf 0
    0028efa8udf 0
    0028efacudf 0
    0028ed90
    0028efb0
    0028efb0math/big.nat.andNot: ; void math/big.nat.andNot(math/big.nat z, math/big.nat x, math/big.nat y)
    0028efb0ldr x16, [x28+16]
    0028efb4sub x17, sp, 80
    0028efb8subs xzr, x17, x16
    0028efbcb.ls 0x28f240
    0028efc0str x30, [sp-208]!
    0028efc4stur x29, [sp-8]
    0028efc8sub x29, sp, 8
    0028efccstr x0, [sp+216]
    0028efd0str x1, [sp+224]
    0028efd4str x2, [sp+232]
    0028efd8str x3, [sp+240]
    0028efdcstr x4, [sp+248]
    0028efe0str x5, [sp+256]
    0028efe4str x6, [sp+264]
    0028efe8str x7, [sp+272]
    0028efecstr x8, [sp+280]
    0028eff0str xzr, [sp+80]
    0028eff4stp xzr, xzr, [sp+88]
    0028eff8ldr x4, [sp+248]
    0028effcstr x4, [sp+48]
    0028f000ldr x5, [sp+272]
    0028f004str x5, [sp+40]
    0028f008subs xzr, x5, x4
    0028f00cb.gt 0x28f014
    0028f010b 0x28f01c
    0028f014
    0028f014loc_28f014:
    0028f014str x4, [sp+40]
    0028f018b 0x28f020
    0028f01c
    0028f01cloc_28f01c:
    0028f01cb 0x28f020
    0028f020
    0028f020loc_28f020:
    0028f020ldr x3, [sp+48]
    0028f024ldr x0, [sp+216]
    0028f028ldr x1, [sp+224]
    0028f02cldr x2, [sp+232]
    0028f030bl math/big.nat.make
    0028f034str x0, [sp+216]
    0028f038str x1, [sp+224]
    0028f03cstr x2, [sp+232]
    0028f040str xzr, [sp+56]
    0028f044b 0x28f048
    0028f048
    0028f048loc_28f048:
    0028f048ldr x3, [sp+40]
    0028f04cldr x4, [sp+56]
    0028f050subs xzr, x3, x4
    0028f054b.gt 0x28f05c
    0028f058b 0x28f0c8
    0028f05c
    0028f05cloc_28f05c:
    0028f05cldr x0, [sp+56]
    0028f060ldr x1, [sp+248]
    0028f064ldr x3, [sp+240]
    0028f068subs xzr, x1, x0
    0028f06cb.hi 0x28f074
    0028f070b 0x28f238
    0028f074
    0028f074loc_28f074:
    0028f074ldr x3, [x3+3*x0]
    0028f078ldr x0, [sp+56]
    0028f07cldr x1, [sp+272]
    0028f080ldr x4, [sp+264]
    0028f084subs xzr, x1, x0
    0028f088b.hi 0x28f090
    0028f08cb 0x28f234
    0028f090
    0028f090loc_28f090:
    0028f090ldr x5, [sp+56]
    0028f094ldr x1, [sp+224]
    0028f098ldr x6, [sp+216]
    0028f09cldr x4, [x4+3*x0]
    0028f0a0bic x3, x3, x4
    0028f0a4subs xzr, x1, x5
    0028f0a8b.hi 0x28f0b0
    0028f0acb 0x28f22c
    0028f0b0
    0028f0b0loc_28f0b0:
    0028f0b0str x3, [x6+3*x5]
    0028f0b4b 0x28f0b8
    0028f0b8
    0028f0b8loc_28f0b8:
    0028f0b8ldr x3, [sp+56]
    0028f0bcadd x3, x3, 1
    0028f0c0str x3, [sp+56]
    0028f0c4b 0x28f048
    0028f0c8
    0028f0c8loc_28f0c8:
    0028f0c8ldr x1, [sp+48]
    0028f0ccldr x0, [sp+40]
    0028f0d0ldr x2, [sp+232]
    0028f0d4ldr x3, [sp+216]
    0028f0d8subs xzr, x2, x1
    0028f0dcb.hs 0x28f0e4
    0028f0e0b 0x28f228
    0028f0e4
    0028f0e4loc_28f0e4:
    0028f0e4subs xzr, x1, x0
    0028f0e8b.hs 0x28f0f0
    0028f0ecb 0x28f224
    0028f0f0
    0028f0f0loc_28f0f0:
    0028f0f0sub x4, x2, x0
    0028f0f4sub x5, x1, x0
    0028f0f8sub x6, xzr, x4
    0028f0fcubfm x7, x0, 61, 60
    0028f100and x6, x7, x6, asr #63
    0028f104add x3, x3, x6
    0028f108str x3, [sp+152]
    0028f10cstr x5, [sp+160]
    0028f110str x4, [sp+168]
    0028f114ldr x0, [sp+40]
    0028f118ldr x1, [sp+48]
    0028f11cldr x2, [sp+256]
    0028f120ldr x3, [sp+240]
    0028f124subs xzr, x2, x1
    0028f128b.hs 0x28f130
    0028f12cb 0x28f220
    0028f130
    0028f130loc_28f130:
    0028f130subs xzr, x1, x0
    0028f134b.hs 0x28f13c
    0028f138b 0x28f21c
    0028f13c
    0028f13cloc_28f13c:
    0028f13csub x4, x2, x0
    0028f140sub x5, x1, x0
    0028f144sub x6, xzr, x4
    0028f148ubfm x7, x0, 61, 60
    0028f14cand x6, x7, x6, asr #63
    0028f150add x3, x3, x6
    0028f154str x3, [sp+128]
    0028f158str x5, [sp+136]
    0028f15cstr x4, [sp+144]
    0028f160ldr x3, [sp+152]
    0028f164ldr x4, [sp+160]
    0028f168ldr x5, [sp+168]
    0028f16cstr x3, [sp+104]
    0028f170str x4, [sp+112]
    0028f174str x5, [sp+120]
    0028f178ldr x3, [sp+136]
    0028f17cldr x4, [sp+128]
    0028f180ldr x5, [sp+144]
    0028f184str x4, [sp+176]
    0028f188str x3, [sp+184]
    0028f18cstr x5, [sp+192]
    0028f190ldr x4, [sp+112]
    0028f194str x4, [sp+72]
    0028f198subs xzr, x4, x3
    0028f19cb.gt 0x28f1a4
    0028f1a0b 0x28f1ac
    0028f1a4
    0028f1a4loc_28f1a4:
    0028f1a4str x3, [sp+72]
    0028f1a8b 0x28f1b0
    0028f1ac
    0028f1acloc_28f1ac:
    0028f1acb 0x28f1b0
    0028f1b0
    0028f1b0loc_28f1b0:
    0028f1b0ldr x3, [sp+176]
    0028f1b4ldr x4, [sp+104]
    0028f1b8subs xzr, x3, x4
    0028f1bcb.ne 0x28f1c4
    0028f1c0b 0x28f1e4
    0028f1c4
    0028f1c4loc_28f1c4:
    0028f1c4ldr x3, [sp+72]
    0028f1c8str x3, [sp+64]
    0028f1ccldr x3, [sp+64]
    0028f1d0ubfm x2, x3, 61, 60
    0028f1d4ldr x1, [sp+176]
    0028f1d8ldr x0, [sp+104]
    0028f1dcbl runtime.memmove
    0028f1e0b 0x28f1e8
    0028f1e4
    0028f1e4loc_28f1e4:
    0028f1e4b 0x28f1e8
    0028f1e8
    0028f1e8loc_28f1e8:
    0028f1e8ldr x0, [sp+216]
    0028f1ecldr x1, [sp+224]
    0028f1f0ldr x2, [sp+232]
    0028f1f4bl math/big.nat.norm
    0028f1f8str x0, [sp+128]
    0028f1fcstr x1, [sp+136]
    0028f200str x2, [sp+144]
    0028f204str x0, [sp+80]
    0028f208str x1, [sp+88]
    0028f20cstr x2, [sp+96]
    0028f210ldur x29, [sp-8]
    0028f214ldr x30, [sp], 208
    0028f218ret x30
    0028f21c
    0028f21cloc_28f21c:
    0028f21cbl runtime.panicSliceB
    0028f220
    0028f220loc_28f220:
    0028f220bl runtime.panicSliceAcap
    0028f224
    0028f224loc_28f224:
    0028f224bl runtime.panicSliceB
    0028f228
    0028f228loc_28f228:
    0028f228bl runtime.panicSliceAcap
    0028f22c
    0028f22cloc_28f22c:
    0028f22cmov x0, x5
    0028f230bl runtime.panicIndex
    0028f234
    0028f234loc_28f234:
    0028f234bl runtime.panicIndex
    0028f238
    0028f238loc_28f238:
    0028f238bl runtime.panicIndex
    0028f23chint
    0028f240
    0028f240loc_28f240:
    0028f240stp x0, x1, [sp+8]
    0028f244stp x2, x3, [sp+24]
    0028f248stp x4, x5, [sp+40]
    0028f24cstp x6, x7, [sp+56]
    0028f250str x8, [sp+72]
    0028f254mov x3, x30
    0028f258bl runtime.morestack_noctxt.abi0
    0028f25cldp x0, x1, [sp+8]
    0028f260ldp x2, x3, [sp+24]
    0028f264ldp x4, x5, [sp+40]
    0028f268ldp x6, x7, [sp+56]
    0028f26cldr x8, [sp+72]
    0028f270b 0x28efb0
    0028f274udf 0
    0028f278udf 0
    0028f27cudf 0
    0028efb0
    0028f280
    0028f280math/big.nat.or: ; void math/big.nat.or(math/big.nat z, math/big.nat x, math/big.nat y)
    0028f280ldr x16, [x28+16]
    0028f284sub x17, sp, 112
    0028f288subs xzr, x17, x16
    0028f28cb.ls 0x28f558
    0028f290str x30, [sp-240]!
    0028f294stur x29, [sp-8]
    0028f298sub x29, sp, 8
    0028f29cstr x0, [sp+248]
    0028f2a0str x1, [sp+256]
    0028f2a4str x2, [sp+264]
    0028f2a8str x3, [sp+272]
    0028f2acstr x4, [sp+280]
    0028f2b0str x5, [sp+288]
    0028f2b4str x6, [sp+296]
    0028f2b8str x7, [sp+304]
    0028f2bcstr x8, [sp+312]
    0028f2c0str xzr, [sp+88]
    0028f2c4stp xzr, xzr, [sp+96]
    0028f2c8ldr x4, [sp+280]
    0028f2ccstr x4, [sp+48]
    0028f2d0ldr x4, [sp+304]
    0028f2d4str x4, [sp+40]
    0028f2d8ldr x4, [sp+272]
    0028f2dcldr x5, [sp+280]
    0028f2e0ldr x6, [sp+288]
    0028f2e4str x4, [sp+112]
    0028f2e8str x5, [sp+120]
    0028f2ecstr x6, [sp+128]
    0028f2f0ldr x4, [sp+40]
    0028f2f4ldr x5, [sp+48]
    0028f2f8subs xzr, x4, x5
    0028f2fcb.gt 0x28f304
    0028f300b 0x28f334
    0028f304
    0028f304loc_28f304:
    0028f304ldr x4, [sp+40]
    0028f308str x4, [sp+80]
    0028f30cldr x5, [sp+48]
    0028f310str x5, [sp+40]
    0028f314str x4, [sp+48]
    0028f318ldr x4, [sp+296]
    0028f31cldr x5, [sp+304]
    0028f320ldr x6, [sp+312]
    0028f324str x4, [sp+112]
    0028f328str x5, [sp+120]
    0028f32cstr x6, [sp+128]
    0028f330b 0x28f338
    0028f334
    0028f334loc_28f334:
    0028f334b 0x28f338
    0028f338
    0028f338loc_28f338:
    0028f338ldr x3, [sp+48]
    0028f33cldr x0, [sp+248]
    0028f340ldr x1, [sp+256]
    0028f344ldr x2, [sp+264]
    0028f348bl math/big.nat.make
    0028f34cstr x0, [sp+248]
    0028f350str x1, [sp+256]
    0028f354str x2, [sp+264]
    0028f358str xzr, [sp+56]
    0028f35cb 0x28f360
    0028f360
    0028f360loc_28f360:
    0028f360ldr x3, [sp+40]
    0028f364ldr x4, [sp+56]
    0028f368subs xzr, x3, x4
    0028f36cb.gt 0x28f374
    0028f370b 0x28f3e0
    0028f374
    0028f374loc_28f374:
    0028f374ldr x0, [sp+56]
    0028f378ldr x1, [sp+280]
    0028f37cldr x3, [sp+272]
    0028f380subs xzr, x1, x0
    0028f384b.hi 0x28f38c
    0028f388b 0x28f550
    0028f38c
    0028f38cloc_28f38c:
    0028f38cldr x3, [x3+3*x0]
    0028f390ldr x0, [sp+56]
    0028f394ldr x1, [sp+304]
    0028f398ldr x4, [sp+296]
    0028f39csubs xzr, x1, x0
    0028f3a0b.hi 0x28f3a8
    0028f3a4b 0x28f54c
    0028f3a8
    0028f3a8loc_28f3a8:
    0028f3a8ldr x5, [sp+56]
    0028f3acldr x1, [sp+256]
    0028f3b0ldr x6, [sp+248]
    0028f3b4ldr x4, [x4+3*x0]
    0028f3b8orr x3, x3, x4
    0028f3bcsubs xzr, x1, x5
    0028f3c0b.hi 0x28f3c8
    0028f3c4b 0x28f544
    0028f3c8
    0028f3c8loc_28f3c8:
    0028f3c8str x3, [x6+3*x5]
    0028f3ccb 0x28f3d0
    0028f3d0
    0028f3d0loc_28f3d0:
    0028f3d0ldr x3, [sp+56]
    0028f3d4add x3, x3, 1
    0028f3d8str x3, [sp+56]
    0028f3dcb 0x28f360
    0028f3e0
    0028f3e0loc_28f3e0:
    0028f3e0ldr x1, [sp+48]
    0028f3e4ldr x0, [sp+40]
    0028f3e8ldr x2, [sp+264]
    0028f3ecldr x3, [sp+248]
    0028f3f0subs xzr, x2, x1
    0028f3f4b.hs 0x28f3fc
    0028f3f8b 0x28f540
    0028f3fc
    0028f3fcloc_28f3fc:
    0028f3fcsubs xzr, x1, x0
    0028f400b.hs 0x28f408
    0028f404b 0x28f53c
    0028f408
    0028f408loc_28f408:
    0028f408sub x4, x2, x0
    0028f40csub x5, x1, x0
    0028f410sub x6, xzr, x4
    0028f414ubfm x7, x0, 61, 60
    0028f418and x6, x7, x6, asr #63
    0028f41cadd x3, x3, x6
    0028f420str x3, [sp+160]
    0028f424str x5, [sp+168]
    0028f428str x4, [sp+176]
    0028f42cldr x0, [sp+40]
    0028f430ldr x1, [sp+48]
    0028f434ldr x2, [sp+128]
    0028f438ldr x3, [sp+112]
    0028f43csubs xzr, x2, x1
    0028f440b.hs 0x28f448
    0028f444b 0x28f538
    0028f448
    0028f448loc_28f448:
    0028f448subs xzr, x1, x0
    0028f44cb.hs 0x28f454
    0028f450b 0x28f534
    0028f454
    0028f454loc_28f454:
    0028f454sub x4, x2, x0
    0028f458sub x5, x1, x0
    0028f45csub x6, xzr, x4
    0028f460ubfm x7, x0, 61, 60
    0028f464and x6, x7, x6, asr #63
    0028f468add x3, x3, x6
    0028f46cstr x3, [sp+136]
    0028f470str x5, [sp+144]
    0028f474str x4, [sp+152]
    0028f478ldr x3, [sp+160]
    0028f47cldr x4, [sp+168]
    0028f480ldr x5, [sp+176]
    0028f484str x3, [sp+208]
    0028f488str x4, [sp+216]
    0028f48cstr x5, [sp+224]
    0028f490ldr x3, [sp+144]
    0028f494ldr x4, [sp+136]
    0028f498ldr x5, [sp+152]
    0028f49cstr x4, [sp+184]
    0028f4a0str x3, [sp+192]
    0028f4a4str x5, [sp+200]
    0028f4a8ldr x4, [sp+216]
    0028f4acstr x4, [sp+72]
    0028f4b0subs xzr, x4, x3
    0028f4b4b.gt 0x28f4bc
    0028f4b8b 0x28f4c4
    0028f4bc
    0028f4bcloc_28f4bc:
    0028f4bcstr x3, [sp+72]
    0028f4c0b 0x28f4c8
    0028f4c4
    0028f4c4loc_28f4c4:
    0028f4c4b 0x28f4c8
    0028f4c8
    0028f4c8loc_28f4c8:
    0028f4c8ldr x3, [sp+184]
    0028f4ccldr x4, [sp+208]
    0028f4d0subs xzr, x3, x4
    0028f4d4b.ne 0x28f4dc
    0028f4d8b 0x28f4fc
    0028f4dc
    0028f4dcloc_28f4dc:
    0028f4dcldr x3, [sp+72]
    0028f4e0str x3, [sp+64]
    0028f4e4ldr x3, [sp+64]
    0028f4e8ubfm x2, x3, 61, 60
    0028f4ecldr x1, [sp+184]
    0028f4f0ldr x0, [sp+208]
    0028f4f4bl runtime.memmove
    0028f4f8b 0x28f500
    0028f4fc
    0028f4fcloc_28f4fc:
    0028f4fcb 0x28f500
    0028f500
    0028f500loc_28f500:
    0028f500ldr x0, [sp+248]
    0028f504ldr x1, [sp+256]
    0028f508ldr x2, [sp+264]
    0028f50cbl math/big.nat.norm
    0028f510str x0, [sp+136]
    0028f514str x1, [sp+144]
    0028f518str x2, [sp+152]
    0028f51cstr x0, [sp+88]
    0028f520str x1, [sp+96]
    0028f524str x2, [sp+104]
    0028f528ldur x29, [sp-8]
    0028f52cldr x30, [sp], 240
    0028f530ret x30
    0028f534
    0028f534loc_28f534:
    0028f534bl runtime.panicSliceB
    0028f538
    0028f538loc_28f538:
    0028f538bl runtime.panicSliceAcap
    0028f53c
    0028f53cloc_28f53c:
    0028f53cbl runtime.panicSliceB
    0028f540
    0028f540loc_28f540:
    0028f540bl runtime.panicSliceAcap
    0028f544
    0028f544loc_28f544:
    0028f544mov x0, x5
    0028f548bl runtime.panicIndex
    0028f54c
    0028f54cloc_28f54c:
    0028f54cbl runtime.panicIndex
    0028f550
    0028f550loc_28f550:
    0028f550bl runtime.panicIndex
    0028f554hint
    0028f558
    0028f558loc_28f558:
    0028f558stp x0, x1, [sp+8]
    0028f55cstp x2, x3, [sp+24]
    0028f560stp x4, x5, [sp+40]
    0028f564stp x6, x7, [sp+56]
    0028f568str x8, [sp+72]
    0028f56cmov x3, x30
    0028f570bl runtime.morestack_noctxt.abi0
    0028f574ldp x0, x1, [sp+8]
    0028f578ldp x2, x3, [sp+24]
    0028f57cldp x4, x5, [sp+40]
    0028f580ldp x6, x7, [sp+56]
    0028f584ldr x8, [sp+72]
    0028f588b 0x28f280
    0028f58cudf 0
    0028f280
    0028f590
    0028f590math/big.nat.expNN: ; void math/big.nat.expNN(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m, bool slow)
    0028f590ldr x16, [x28+16]
    0028f594sub x17, sp, 512
    0028f598subs xzr, x17, x16
    0028f59cb.ls 0x290120
    0028f5a0sub x20, sp, 640
    0028f5a4stp x29, x30, [x20-8]
    0028f5a8add sp, x20, 0
    0028f5acsub x29, sp, 8
    0028f5b0str x0, [sp+648]
    0028f5b4str x1, [sp+656]
    0028f5b8str x2, [sp+664]
    0028f5bcstr x3, [sp+672]
    0028f5c0str x4, [sp+680]
    0028f5c4str x5, [sp+688]
    0028f5c8str x6, [sp+696]
    0028f5ccstr x7, [sp+704]
    0028f5d0str x8, [sp+712]
    0028f5d4str x9, [sp+720]
    0028f5d8str x10, [sp+728]
    0028f5dcstr x11, [sp+736]
    0028f5e0strb w12, [sp+744]
    0028f5e4str xzr, [sp+200]
    0028f5e8stp xzr, xzr, [sp+208]
    0028f5ecldr x0, [sp+648]
    0028f5f0ldr x3, [sp+672]
    0028f5f4ldr x1, [sp+656]
    0028f5f8ldr x4, [sp+680]
    0028f5fcldr x2, [sp+664]
    0028f600ldr x5, [sp+688]
    0028f604bl math/big.alias
    0028f608strb w0, [sp+118]
    0028f60cstrb w0, [sp+119]
    0028f610tbnz w0, 0, 0x28f618
    0028f614b 0x28f61c
    0028f618
    0028f618loc_28f618:
    0028f618b 0x28f644
    0028f61c
    0028f61cloc_28f61c:
    0028f61cldr x0, [sp+648]
    0028f620ldr x3, [sp+696]
    0028f624ldr x1, [sp+656]
    0028f628ldr x4, [sp+704]
    0028f62cldr x2, [sp+664]
    0028f630ldr x5, [sp+712]
    0028f634bl math/big.alias
    0028f638strb w0, [sp+117]
    0028f63cstrb w0, [sp+119]
    0028f640b 0x28f644
    0028f644
    0028f644loc_28f644:
    0028f644ldrb w9, [sp+119]
    0028f648tbnz w9, 0, 0x28f650
    0028f64cb 0x28f660
    0028f650
    0028f650loc_28f650:
    0028f650str xzr, [sp+648]
    0028f654add x27, sp, 656
    0028f658stp xzr, xzr, [x27]
    0028f65cb 0x28f664
    0028f660
    0028f660loc_28f660:
    0028f660b 0x28f664
    0028f664
    0028f664loc_28f664:
    0028f664ldr x9, [sp+728]
    0028f668str x9, [sp+192]
    0028f66csubs xzr, x9, 1
    0028f670cset x9, eq
    0028f674strb w9, [sp+118]
    0028f678b.eq 0x28f680
    0028f67cb 0x28f6a8
    0028f680
    0028f680loc_28f680:
    0028f680ldr x1, [sp+728]
    0028f684ldr x9, [sp+720]
    0028f688subs xzr, x1, 0
    0028f68cb.hi 0x28f694
    0028f690b 0x290114
    0028f694
    0028f694loc_28f694:
    0028f694ldr x9, [x9]
    0028f698subs xzr, x9, 1
    0028f69ccset x9, eq
    0028f6a0strb w9, [sp+118]
    0028f6a4b 0x28f6ac
    0028f6a8
    0028f6a8loc_28f6a8:
    0028f6a8b 0x28f6ac
    0028f6ac
    0028f6acloc_28f6ac:
    0028f6acldrb w9, [sp+118]
    0028f6b0tbnz w9, 0, 0x28f6b8
    0028f6b4b 0x28f6f0
    0028f6b8
    0028f6b8loc_28f6b8:
    0028f6b8ldr x0, [sp+648]
    0028f6bcldr x1, [sp+656]
    0028f6c0ldr x2, [sp+664]
    0028f6c4mov x3, xzr
    0028f6c8bl math/big.nat.setWord
    0028f6ccstr x0, [sp+512]
    0028f6d0str x1, [sp+520]
    0028f6d4str x2, [sp+528]
    0028f6d8str x0, [sp+200]
    0028f6dcstr x1, [sp+208]
    0028f6e0str x2, [sp+216]
    0028f6e4ldp x29, x30, [sp-8]
    0028f6e8add sp, sp, 640
    0028f6ecret x30
    0028f6f0
    0028f6f0loc_28f6f0:
    0028f6f0ldr x9, [sp+704]
    0028f6f4str x9, [sp+192]
    0028f6f8cbz x9, 0x28f700
    0028f6fcb 0x28f738
    0028f700
    0028f700loc_28f700:
    0028f700ldr x0, [sp+648]
    0028f704ldr x1, [sp+656]
    0028f708ldr x2, [sp+664]
    0028f70corr x3, xzr, 1
    0028f710bl math/big.nat.setWord
    0028f714str x0, [sp+512]
    0028f718str x1, [sp+520]
    0028f71cstr x2, [sp+528]
    0028f720str x0, [sp+200]
    0028f724str x1, [sp+208]
    0028f728str x2, [sp+216]
    0028f72cldp x29, x30, [sp-8]
    0028f730add sp, sp, 640
    0028f734ret x30
    0028f738
    0028f738loc_28f738:
    0028f738ldr x9, [sp+680]
    0028f73cstr x9, [sp+192]
    0028f740cbz x9, 0x28f748
    0028f744b 0x28f780
    0028f748
    0028f748loc_28f748:
    0028f748ldr x0, [sp+648]
    0028f74cldr x1, [sp+656]
    0028f750ldr x2, [sp+664]
    0028f754mov x3, xzr
    0028f758bl math/big.nat.setWord
    0028f75cstr x0, [sp+512]
    0028f760str x1, [sp+520]
    0028f764str x2, [sp+528]
    0028f768str x0, [sp+200]
    0028f76cstr x1, [sp+208]
    0028f770str x2, [sp+216]
    0028f774ldp x29, x30, [sp-8]
    0028f778add sp, sp, 640
    0028f77cret x30
    0028f780
    0028f780loc_28f780:
    0028f780ldr x9, [sp+680]
    0028f784str x9, [sp+192]
    0028f788subs xzr, x9, 1
    0028f78ccset x9, eq
    0028f790strb w9, [sp+118]
    0028f794b.eq 0x28f79c
    0028f798b 0x28f7c4
    0028f79c
    0028f79cloc_28f79c:
    0028f79cldr x1, [sp+680]
    0028f7a0ldr x9, [sp+672]
    0028f7a4subs xzr, x1, 0
    0028f7a8b.hi 0x28f7b0
    0028f7acb 0x29010c
    0028f7b0
    0028f7b0loc_28f7b0:
    0028f7b0ldr x9, [x9]
    0028f7b4subs xzr, x9, 1
    0028f7b8cset x9, eq
    0028f7bcstrb w9, [sp+118]
    0028f7c0b 0x28f7c8
    0028f7c4
    0028f7c4loc_28f7c4:
    0028f7c4b 0x28f7c8
    0028f7c8
    0028f7c8loc_28f7c8:
    0028f7c8ldrb w9, [sp+118]
    0028f7cctbnz w9, 0, 0x28f7d4
    0028f7d0b 0x28f80c
    0028f7d4
    0028f7d4loc_28f7d4:
    0028f7d4ldr x0, [sp+648]
    0028f7d8ldr x1, [sp+656]
    0028f7dcldr x2, [sp+664]
    0028f7e0orr x3, xzr, 1
    0028f7e4bl math/big.nat.setWord
    0028f7e8str x0, [sp+512]
    0028f7ecstr x1, [sp+520]
    0028f7f0str x2, [sp+528]
    0028f7f4str x0, [sp+200]
    0028f7f8str x1, [sp+208]
    0028f7fcstr x2, [sp+216]
    0028f800ldp x29, x30, [sp-8]
    0028f804add sp, sp, 640
    0028f808ret x30
    0028f80c
    0028f80cloc_28f80c:
    0028f80cldr x9, [sp+704]
    0028f810str x9, [sp+192]
    0028f814subs xzr, x9, 1
    0028f818cset x9, eq
    0028f81cstrb w9, [sp+118]
    0028f820b.eq 0x28f828
    0028f824b 0x28f850
    0028f828
    0028f828loc_28f828:
    0028f828ldr x1, [sp+704]
    0028f82cldr x9, [sp+696]
    0028f830subs xzr, x1, 0
    0028f834b.hi 0x28f83c
    0028f838b 0x290104
    0028f83c
    0028f83cloc_28f83c:
    0028f83cldr x9, [x9]
    0028f840subs xzr, x9, 1
    0028f844cset x9, eq
    0028f848strb w9, [sp+118]
    0028f84cb 0x28f854
    0028f850
    0028f850loc_28f850:
    0028f850b 0x28f854
    0028f854
    0028f854loc_28f854:
    0028f854ldrb w9, [sp+118]
    0028f858tbnz w9, 0, 0x28f860
    0028f85cb 0x28f8fc
    0028f860
    0028f860loc_28f860:
    0028f860ldr x9, [sp+728]
    0028f864str x9, [sp+192]
    0028f868cbnz x9, 0x28f870
    0028f86cb 0x28f8bc
    0028f870
    0028f870loc_28f870:
    0028f870ldr x0, [sp+648]
    0028f874ldr x3, [sp+672]
    0028f878ldr x6, [sp+720]
    0028f87cldr x1, [sp+656]
    0028f880ldr x4, [sp+680]
    0028f884ldr x7, [sp+728]
    0028f888ldr x2, [sp+664]
    0028f88cldr x5, [sp+688]
    0028f890ldr x8, [sp+736]
    0028f894bl math/big.nat.rem
    0028f898str x0, [sp+512]
    0028f89cstr x1, [sp+520]
    0028f8a0str x2, [sp+528]
    0028f8a4str x0, [sp+200]
    0028f8a8str x1, [sp+208]
    0028f8acstr x2, [sp+216]
    0028f8b0ldp x29, x30, [sp-8]
    0028f8b4add sp, sp, 640
    0028f8b8ret x30
    0028f8bc
    0028f8bcloc_28f8bc:
    0028f8bcldr x0, [sp+648]
    0028f8c0ldr x3, [sp+672]
    0028f8c4ldr x1, [sp+656]
    0028f8c8ldr x4, [sp+680]
    0028f8ccldr x2, [sp+664]
    0028f8d0ldr x5, [sp+688]
    0028f8d4bl math/big.nat.set
    0028f8d8str x0, [sp+512]
    0028f8dcstr x1, [sp+520]
    0028f8e0str x2, [sp+528]
    0028f8e4str x0, [sp+200]
    0028f8e8str x1, [sp+208]
    0028f8ecstr x2, [sp+216]
    0028f8f0ldp x29, x30, [sp-8]
    0028f8f4add sp, sp, 640
    0028f8f8ret x30
    0028f8fc
    0028f8fcloc_28f8fc:
    0028f8fcldr x6, [sp+728]
    0028f900str x6, [sp+192]
    0028f904cbnz x6, 0x28f90c
    0028f908b 0x28fad0
    0028f90c
    0028f90cloc_28f90c:
    0028f90cldr x3, [sp+728]
    0028f910str x3, [sp+192]
    0028f914ldr x1, [sp+656]
    0028f918ldr x2, [sp+664]
    0028f91cldr x0, [sp+648]
    0028f920bl math/big.nat.make
    0028f924str x0, [sp+648]
    0028f928str x1, [sp+656]
    0028f92cstr x2, [sp+664]
    0028f930ldr x4, [sp+704]
    0028f934str x4, [sp+192]
    0028f938subs xzr, x4, 1
    0028f93ccset x4, gt
    0028f940strb w4, [sp+118]
    0028f944b.gt 0x28f94c
    0028f948b 0x28f95c
    0028f94c
    0028f94cloc_28f94c:
    0028f94cldrb w12, [sp+744]
    0028f950eor x12, x12, 1
    0028f954strb w12, [sp+118]
    0028f958b 0x28f960
    0028f95c
    0028f95cloc_28f95c:
    0028f95cb 0x28f960
    0028f960
    0028f960loc_28f960:
    0028f960ldrb w12, [sp+118]
    0028f964tbnz w12, 0, 0x28f96c
    0028f968b 0x28facc
    0028f96c
    0028f96cloc_28f96c:
    0028f96cldr x1, [sp+728]
    0028f970ldr x12, [sp+720]
    0028f974subs xzr, x1, 0
    0028f978b.hi 0x28f980
    0028f97cb 0x2900fc
    0028f980
    0028f980loc_28f980:
    0028f980ldr x12, [x12]
    0028f984tbnz w12, 0, 0x28f98c
    0028f988b 0x28f9e4
    0028f98c
    0028f98cloc_28f98c:
    0028f98cldr x0, [sp+648]
    0028f990ldr x3, [sp+672]
    0028f994ldr x6, [sp+696]
    0028f998ldr x9, [sp+720]
    0028f99cldr x1, [sp+656]
    0028f9a0ldr x4, [sp+680]
    0028f9a4ldr x7, [sp+704]
    0028f9a8ldr x10, [sp+728]
    0028f9acldr x2, [sp+664]
    0028f9b0ldr x5, [sp+688]
    0028f9b4ldr x8, [sp+712]
    0028f9b8ldr x11, [sp+736]
    0028f9bcbl math/big.nat.expNNMontgomery
    0028f9c0str x0, [sp+512]
    0028f9c4str x1, [sp+520]
    0028f9c8str x2, [sp+528]
    0028f9ccstr x0, [sp+200]
    0028f9d0str x1, [sp+208]
    0028f9d4str x2, [sp+216]
    0028f9d8ldp x29, x30, [sp-8]
    0028f9dcadd sp, sp, 640
    0028f9e0ret x30
    0028f9e4
    0028f9e4loc_28f9e4:
    0028f9e4ldr x0, [sp+720]
    0028f9e8ldr x1, [sp+728]
    0028f9ecldr x2, [sp+736]
    0028f9f0bl math/big.nat.isPow2
    0028f9f4str x0, [sp+184]
    0028f9f8strb w1, [sp+118]
    0028f9fcldr x3, [sp+184]
    0028fa00str x3, [sp+176]
    0028fa04ldrb w3, [sp+118]
    0028fa08strb w3, [sp+116]
    0028fa0cldr x3, [sp+176]
    0028fa10str x3, [sp+144]
    0028fa14ldrb w3, [sp+116]
    0028fa18strb w3, [sp+115]
    0028fa1ctbnz w3, 0, 0x28fa24
    0028fa20b 0x28fa74
    0028fa24
    0028fa24loc_28fa24:
    0028fa24ldr x9, [sp+144]
    0028fa28ldr x0, [sp+648]
    0028fa2cldr x3, [sp+672]
    0028fa30ldr x6, [sp+696]
    0028fa34ldr x1, [sp+656]
    0028fa38ldr x4, [sp+680]
    0028fa3cldr x7, [sp+704]
    0028fa40ldr x2, [sp+664]
    0028fa44ldr x5, [sp+688]
    0028fa48ldr x8, [sp+712]
    0028fa4cbl math/big.nat.expNNWindowed
    0028fa50str x0, [sp+512]
    0028fa54str x1, [sp+520]
    0028fa58str x2, [sp+528]
    0028fa5cstr x0, [sp+200]
    0028fa60str x1, [sp+208]
    0028fa64str x2, [sp+216]
    0028fa68ldp x29, x30, [sp-8]
    0028fa6cadd sp, sp, 640
    0028fa70ret x30
    0028fa74
    0028fa74loc_28fa74:
    0028fa74ldr x0, [sp+648]
    0028fa78ldr x3, [sp+672]
    0028fa7cldr x6, [sp+696]
    0028fa80ldr x9, [sp+720]
    0028fa84ldr x1, [sp+656]
    0028fa88ldr x4, [sp+680]
    0028fa8cldr x7, [sp+704]
    0028fa90ldr x10, [sp+728]
    0028fa94ldr x2, [sp+664]
    0028fa98ldr x5, [sp+688]
    0028fa9cldr x8, [sp+712]
    0028faa0ldr x11, [sp+736]
    0028faa4bl math/big.nat.expNNMontgomeryEven
    0028faa8str x0, [sp+512]
    0028faacstr x1, [sp+520]
    0028fab0str x2, [sp+528]
    0028fab4str x0, [sp+200]
    0028fab8str x1, [sp+208]
    0028fabcstr x2, [sp+216]
    0028fac0ldp x29, x30, [sp-8]
    0028fac4add sp, sp, 640
    0028fac8ret x30
    0028facc
    0028faccloc_28facc:
    0028faccb 0x28fad4
    0028fad0
    0028fad0loc_28fad0:
    0028fad0b 0x28fad4
    0028fad4
    0028fad4loc_28fad4:
    0028fad4ldr x0, [sp+648]
    0028fad8ldr x3, [sp+672]
    0028fadcldr x1, [sp+656]
    0028fae0ldr x4, [sp+680]
    0028fae4ldr x2, [sp+664]
    0028fae8ldr x5, [sp+688]
    0028faecbl math/big.nat.set
    0028faf0str x0, [sp+648]
    0028faf4str x1, [sp+656]
    0028faf8str x2, [sp+664]
    0028fafcldr x6, [sp+704]
    0028fb00str x6, [sp+192]
    0028fb04ldr x1, [sp+704]
    0028fb08ldr x7, [sp+696]
    0028fb0csub x0, x6, 1
    0028fb10subs xzr, x1, x0
    0028fb14b.hi 0x28fb1c
    0028fb18b 0x2900f8
    0028fb1c
    0028fb1cloc_28fb1c:
    0028fb1cldr x0, [x7+3*x0]
    0028fb20str x0, [sp+128]
    0028fb24bl math/big.nlz
    0028fb28str x0, [sp+184]
    0028fb2cadd x1, x0, 1
    0028fb30str x1, [sp+136]
    0028fb34ldr x2, [sp+128]
    0028fb38lslv x2, x2, x1
    0028fb3csubs xzr, x1, 64
    0028fb40csel x1, x2, xzr, lo
    0028fb44str x1, [sp+128]
    0028fb48str xzr, [sp+272]
    0028fb4cstp xzr, xzr, [sp+280]
    0028fb50ldr x1, [sp+136]
    0028fb54orr x2, xzr, 64
    0028fb58sub x1, x2, x1
    0028fb5cstr x1, [sp+120]
    0028fb60str xzr, [sp+224]
    0028fb64stp xzr, xzr, [sp+232]
    0028fb68str xzr, [sp+248]
    0028fb6cstp xzr, xzr, [sp+256]
    0028fb70str xzr, [sp+160]
    0028fb74b 0x28fb78
    0028fb78
    0028fb78loc_28fb78:
    0028fb78ldr x6, [sp+120]
    0028fb7cldr x7, [sp+160]
    0028fb80subs xzr, x6, x7
    0028fb84b.gt 0x28fb8c
    0028fb88b 0x28fdf0
    0028fb8c
    0028fb8cloc_28fb8c:
    0028fb8cldr x0, [sp+224]
    0028fb90ldr x3, [sp+648]
    0028fb94ldr x1, [sp+232]
    0028fb98ldr x4, [sp+656]
    0028fb9cldr x2, [sp+240]
    0028fba0ldr x5, [sp+664]
    0028fba4bl math/big.nat.sqr
    0028fba8str x0, [sp+224]
    0028fbacstr x1, [sp+232]
    0028fbb0str x2, [sp+240]
    0028fbb4str x0, [sp+464]
    0028fbb8str x1, [sp+472]
    0028fbbcstr x2, [sp+480]
    0028fbc0ldr x6, [sp+648]
    0028fbc4ldr x7, [sp+656]
    0028fbc8ldr x8, [sp+664]
    0028fbccstr x6, [sp+224]
    0028fbd0str x7, [sp+232]
    0028fbd4str x8, [sp+240]
    0028fbd8ldr x3, [sp+464]
    0028fbdcldr x4, [sp+472]
    0028fbe0ldr x5, [sp+480]
    0028fbe4str x3, [sp+648]
    0028fbe8str x4, [sp+656]
    0028fbecstr x5, [sp+664]
    0028fbf0ldr x6, [sp+128]
    0028fbf4tbnz x6, 63, 0x28fbfc
    0028fbf8b 0x28fc64
    0028fbfc
    0028fbfcloc_28fbfc:
    0028fbfcldr x0, [sp+224]
    0028fc00ldr x6, [sp+672]
    0028fc04ldr x1, [sp+232]
    0028fc08ldr x7, [sp+680]
    0028fc0cldr x2, [sp+240]
    0028fc10ldr x8, [sp+688]
    0028fc14bl math/big.nat.mul
    0028fc18str x0, [sp+224]
    0028fc1cstr x1, [sp+232]
    0028fc20str x2, [sp+240]
    0028fc24str x0, [sp+440]
    0028fc28str x1, [sp+448]
    0028fc2cstr x2, [sp+456]
    0028fc30ldr x9, [sp+648]
    0028fc34ldr x10, [sp+656]
    0028fc38ldr x11, [sp+664]
    0028fc3cstr x9, [sp+224]
    0028fc40str x10, [sp+232]
    0028fc44str x11, [sp+240]
    0028fc48ldr x9, [sp+440]
    0028fc4cldr x10, [sp+448]
    0028fc50ldr x11, [sp+456]
    0028fc54str x9, [sp+648]
    0028fc58str x10, [sp+656]
    0028fc5cstr x11, [sp+664]
    0028fc60b 0x28fc68
    0028fc64
    0028fc64loc_28fc64:
    0028fc64b 0x28fc68
    0028fc68
    0028fc68loc_28fc68:
    0028fc68ldr x12, [sp+728]
    0028fc6cstr x12, [sp+192]
    0028fc70cbnz x12, 0x28fc78
    0028fc74b 0x28fdcc
    0028fc78
    0028fc78loc_28fc78:
    0028fc78str xzr, [sp+512]
    0028fc7cadd x27, sp, 520
    0028fc80stp xzr, xzr, [x27]
    0028fc84str xzr, [sp+488]
    0028fc88stp xzr, xzr, [sp+496]
    0028fc8cldr x0, [sp+224]
    0028fc90ldr x3, [sp+248]
    0028fc94ldr x6, [sp+648]
    0028fc98ldr x9, [sp+720]
    0028fc9cldr x1, [sp+232]
    0028fca0ldr x4, [sp+256]
    0028fca4ldr x7, [sp+656]
    0028fca8ldr x10, [sp+728]
    0028fcacldr x2, [sp+240]
    0028fcb0ldr x5, [sp+264]
    0028fcb4ldr x8, [sp+664]
    0028fcb8ldr x11, [sp+736]
    0028fcbcbl math/big.nat.div
    0028fcc0str x0, [sp+512]
    0028fcc4str x1, [sp+520]
    0028fcc8str x2, [sp+528]
    0028fcccstr x3, [sp+488]
    0028fcd0str x4, [sp+496]
    0028fcd4str x5, [sp+504]
    0028fcd8ldr x12, [sp+520]
    0028fcdcldr x13, [sp+528]
    0028fce0ldr x14, [sp+512]
    0028fce4str x14, [sp+608]
    0028fce8str x12, [sp+616]
    0028fcecstr x13, [sp+624]
    0028fcf0ldr x12, [sp+488]
    0028fcf4ldr x13, [sp+496]
    0028fcf8ldr x14, [sp+504]
    0028fcfcstr x12, [sp+584]
    0028fd00str x13, [sp+592]
    0028fd04str x14, [sp+600]
    0028fd08ldr x12, [sp+608]
    0028fd0cldr x13, [sp+616]
    0028fd10ldr x14, [sp+624]
    0028fd14str x12, [sp+224]
    0028fd18str x13, [sp+232]
    0028fd1cstr x14, [sp+240]
    0028fd20ldr x12, [sp+584]
    0028fd24ldr x13, [sp+592]
    0028fd28ldr x14, [sp+600]
    0028fd2cstr x12, [sp+248]
    0028fd30str x13, [sp+256]
    0028fd34str x14, [sp+264]
    0028fd38ldr x12, [sp+224]
    0028fd3cldr x13, [sp+232]
    0028fd40ldr x14, [sp+240]
    0028fd44str x12, [sp+416]
    0028fd48str x13, [sp+424]
    0028fd4cstr x14, [sp+432]
    0028fd50ldr x12, [sp+248]
    0028fd54ldr x13, [sp+256]
    0028fd58ldr x14, [sp+264]
    0028fd5cstr x12, [sp+392]
    0028fd60str x13, [sp+400]
    0028fd64str x14, [sp+408]
    0028fd68ldr x12, [sp+272]
    0028fd6cldr x13, [sp+280]
    0028fd70ldr x14, [sp+288]
    0028fd74str x12, [sp+224]
    0028fd78str x13, [sp+232]
    0028fd7cstr x14, [sp+240]
    0028fd80ldr x12, [sp+648]
    0028fd84ldr x13, [sp+656]
    0028fd88ldr x14, [sp+664]
    0028fd8cstr x12, [sp+248]
    0028fd90str x13, [sp+256]
    0028fd94str x14, [sp+264]
    0028fd98ldr x12, [sp+416]
    0028fd9cldr x13, [sp+424]
    0028fda0ldr x14, [sp+432]
    0028fda4str x12, [sp+272]
    0028fda8str x13, [sp+280]
    0028fdacstr x14, [sp+288]
    0028fdb0ldr x12, [sp+392]
    0028fdb4ldr x13, [sp+400]
    0028fdb8ldr x14, [sp+408]
    0028fdbcstr x12, [sp+648]
    0028fdc0str x13, [sp+656]
    0028fdc4str x14, [sp+664]
    0028fdc8b 0x28fdd0
    0028fdcc
    0028fdccloc_28fdcc:
    0028fdccb 0x28fdd0
    0028fdd0
    0028fdd0loc_28fdd0:
    0028fdd0ldr x6, [sp+128]
    0028fdd4ubfm x6, x6, 63, 62
    0028fdd8str x6, [sp+128]
    0028fddcb 0x28fde0
    0028fde0
    0028fde0loc_28fde0:
    0028fde0ldr x6, [sp+160]
    0028fde4add x6, x6, 1
    0028fde8str x6, [sp+160]
    0028fdecb 0x28fb78
    0028fdf0
    0028fdf0loc_28fdf0:
    0028fdf0ldr x6, [sp+704]
    0028fdf4str x6, [sp+192]
    0028fdf8sub x6, x6, 2
    0028fdfcstr x6, [sp+168]
    0028fe00b 0x28fe04
    0028fe04
    0028fe04loc_28fe04:
    0028fe04ldr x6, [sp+168]
    0028fe08tbz x6, 63, 0x28fe10
    0028fe0cb 0x28fe38
    0028fe10
    0028fe10loc_28fe10:
    0028fe10ldr x0, [sp+168]
    0028fe14ldr x1, [sp+704]
    0028fe18ldr x6, [sp+696]
    0028fe1csubs xzr, x1, x0
    0028fe20b.hi 0x28fe28
    0028fe24b 0x2900f4
    0028fe28
    0028fe28loc_28fe28:
    0028fe28ldr x6, [x6+3*x0]
    0028fe2cstr x6, [sp+128]
    0028fe30str xzr, [sp+152]
    0028fe34b 0x28fe6c
    0028fe38
    0028fe38loc_28fe38:
    0028fe38ldr x0, [sp+648]
    0028fe3cldr x1, [sp+656]
    0028fe40ldr x2, [sp+664]
    0028fe44bl math/big.nat.norm
    0028fe48str x0, [sp+512]
    0028fe4cstr x1, [sp+520]
    0028fe50str x2, [sp+528]
    0028fe54str x0, [sp+200]
    0028fe58str x1, [sp+208]
    0028fe5cstr x2, [sp+216]
    0028fe60ldp x29, x30, [sp-8]
    0028fe64add sp, sp, 640
    0028fe68ret x30
    0028fe6c
    0028fe6cloc_28fe6c:
    0028fe6cldr x6, [sp+152]
    0028fe70subs xzr, x6, 64
    0028fe74b.lt 0x28fe7c
    0028fe78b 0x2900e0
    0028fe7c
    0028fe7cloc_28fe7c:
    0028fe7cldr x0, [sp+224]
    0028fe80ldr x3, [sp+648]
    0028fe84ldr x1, [sp+232]
    0028fe88ldr x4, [sp+656]
    0028fe8cldr x2, [sp+240]
    0028fe90ldr x5, [sp+664]
    0028fe94bl math/big.nat.sqr
    0028fe98str x0, [sp+224]
    0028fe9cstr x1, [sp+232]
    0028fea0str x2, [sp+240]
    0028fea4str x0, [sp+368]
    0028fea8str x1, [sp+376]
    0028feacstr x2, [sp+384]
    0028feb0ldr x6, [sp+648]
    0028feb4ldr x7, [sp+656]
    0028feb8ldr x8, [sp+664]
    0028febcstr x6, [sp+224]
    0028fec0str x7, [sp+232]
    0028fec4str x8, [sp+240]
    0028fec8ldr x3, [sp+368]
    0028feccldr x4, [sp+376]
    0028fed0ldr x5, [sp+384]
    0028fed4str x3, [sp+648]
    0028fed8str x4, [sp+656]
    0028fedcstr x5, [sp+664]
    0028fee0ldr x6, [sp+128]
    0028fee4tbnz x6, 63, 0x28feec
    0028fee8b 0x28ff54
    0028feec
    0028feecloc_28feec:
    0028feecldr x0, [sp+224]
    0028fef0ldr x6, [sp+672]
    0028fef4ldr x1, [sp+232]
    0028fef8ldr x7, [sp+680]
    0028fefcldr x2, [sp+240]
    0028ff00ldr x8, [sp+688]
    0028ff04bl math/big.nat.mul
    0028ff08str x0, [sp+224]
    0028ff0cstr x1, [sp+232]
    0028ff10str x2, [sp+240]
    0028ff14str x0, [sp+344]
    0028ff18str x1, [sp+352]
    0028ff1cstr x2, [sp+360]
    0028ff20ldr x9, [sp+648]
    0028ff24ldr x10, [sp+656]
    0028ff28ldr x11, [sp+664]
    0028ff2cstr x9, [sp+224]
    0028ff30str x10, [sp+232]
    0028ff34str x11, [sp+240]
    0028ff38ldr x9, [sp+344]
    0028ff3cldr x10, [sp+352]
    0028ff40ldr x11, [sp+360]
    0028ff44str x9, [sp+648]
    0028ff48str x10, [sp+656]
    0028ff4cstr x11, [sp+664]
    0028ff50b 0x28ff58
    0028ff54
    0028ff54loc_28ff54:
    0028ff54b 0x28ff58
    0028ff58
    0028ff58loc_28ff58:
    0028ff58ldr x12, [sp+728]
    0028ff5cstr x12, [sp+192]
    0028ff60cbnz x12, 0x28ff68
    0028ff64b 0x2900bc
    0028ff68
    0028ff68loc_28ff68:
    0028ff68str xzr, [sp+488]
    0028ff6cstp xzr, xzr, [sp+496]
    0028ff70str xzr, [sp+512]
    0028ff74add x27, sp, 520
    0028ff78stp xzr, xzr, [x27]
    0028ff7cldr x0, [sp+224]
    0028ff80ldr x3, [sp+248]
    0028ff84ldr x6, [sp+648]
    0028ff88ldr x9, [sp+720]
    0028ff8cldr x1, [sp+232]
    0028ff90ldr x4, [sp+256]
    0028ff94ldr x7, [sp+656]
    0028ff98ldr x10, [sp+728]
    0028ff9cldr x2, [sp+240]
    0028ffa0ldr x5, [sp+264]
    0028ffa4ldr x8, [sp+664]
    0028ffa8ldr x11, [sp+736]
    0028ffacbl math/big.nat.div
    0028ffb0str x0, [sp+488]
    0028ffb4str x1, [sp+496]
    0028ffb8str x2, [sp+504]
    0028ffbcstr x3, [sp+512]
    0028ffc0str x4, [sp+520]
    0028ffc4str x5, [sp+528]
    0028ffc8ldr x12, [sp+496]
    0028ffccldr x13, [sp+504]
    0028ffd0ldr x14, [sp+488]
    0028ffd4str x14, [sp+560]
    0028ffd8str x12, [sp+568]
    0028ffdcstr x13, [sp+576]
    0028ffe0ldr x12, [sp+512]
    0028ffe4ldr x13, [sp+520]
    0028ffe8ldr x14, [sp+528]
    0028ffecstr x12, [sp+536]
    0028fff0str x13, [sp+544]
    0028fff4str x14, [sp+552]
    0028fff8ldr x12, [sp+560]
    0028fffcldr x13, [sp+568]
    00290000ldr x14, [sp+576]
    00290004str x12, [sp+224]
    00290008str x13, [sp+232]
    0029000cstr x14, [sp+240]
    00290010ldr x12, [sp+536]
    00290014ldr x13, [sp+544]
    00290018ldr x14, [sp+552]
    0029001cstr x12, [sp+248]
    00290020str x13, [sp+256]
    00290024str x14, [sp+264]
    00290028ldr x12, [sp+224]
    0029002cldr x13, [sp+232]
    00290030ldr x14, [sp+240]
    00290034str x12, [sp+320]
    00290038str x13, [sp+328]
    0029003cstr x14, [sp+336]
    00290040ldr x12, [sp+248]
    00290044ldr x13, [sp+256]
    00290048ldr x14, [sp+264]
    0029004cstr x12, [sp+296]
    00290050str x13, [sp+304]
    00290054str x14, [sp+312]
    00290058ldr x12, [sp+272]
    0029005cldr x13, [sp+280]
    00290060ldr x14, [sp+288]
    00290064str x12, [sp+224]
    00290068str x13, [sp+232]
    0029006cstr x14, [sp+240]
    00290070ldr x12, [sp+648]
    00290074ldr x13, [sp+656]
    00290078ldr x14, [sp+664]
    0029007cstr x12, [sp+248]
    00290080str x13, [sp+256]
    00290084str x14, [sp+264]
    00290088ldr x12, [sp+320]
    0029008cldr x13, [sp+328]
    00290090ldr x14, [sp+336]
    00290094str x12, [sp+272]
    00290098str x13, [sp+280]
    0029009cstr x14, [sp+288]
    002900a0ldr x12, [sp+296]
    002900a4ldr x13, [sp+304]
    002900a8ldr x14, [sp+312]
    002900acstr x12, [sp+648]
    002900b0str x13, [sp+656]
    002900b4str x14, [sp+664]
    002900b8b 0x2900c0
    002900bc
    002900bcloc_2900bc:
    002900bcb 0x2900c0
    002900c0
    002900c0loc_2900c0:
    002900c0ldr x6, [sp+128]
    002900c4ubfm x6, x6, 63, 62
    002900c8str x6, [sp+128]
    002900ccb 0x2900d0
    002900d0
    002900d0loc_2900d0:
    002900d0ldr x6, [sp+152]
    002900d4add x6, x6, 1
    002900d8str x6, [sp+152]
    002900dcb 0x28fe6c
    002900e0
    002900e0loc_2900e0:
    002900e0b 0x2900e4
    002900e4
    002900e4loc_2900e4:
    002900e4ldr x6, [sp+168]
    002900e8sub x6, x6, 1
    002900ecstr x6, [sp+168]
    002900f0b 0x28fe04
    002900f4
    002900f4loc_2900f4:
    002900f4bl runtime.panicIndex
    002900f8
    002900f8loc_2900f8:
    002900f8bl runtime.panicIndex
    002900fc
    002900fcloc_2900fc:
    002900fcmov x0, xzr
    00290100bl runtime.panicIndex
    00290104
    00290104loc_290104:
    00290104mov x0, xzr
    00290108bl runtime.panicIndex
    0029010c
    0029010cloc_29010c:
    0029010cmov x0, xzr
    00290110bl runtime.panicIndex
    00290114
    00290114loc_290114:
    00290114mov x0, xzr
    00290118bl runtime.panicIndex
    0029011chint
    00290120
    00290120loc_290120:
    00290120stp x0, x1, [sp+8]
    00290124stp x2, x3, [sp+24]
    00290128stp x4, x5, [sp+40]
    0029012cstp x6, x7, [sp+56]
    00290130stp x8, x9, [sp+72]
    00290134stp x10, x11, [sp+88]
    00290138strb w12, [sp+104]
    0029013cmov x3, x30
    00290140bl runtime.morestack_noctxt.abi0
    00290144ldp x0, x1, [sp+8]
    00290148ldp x2, x3, [sp+24]
    0029014cldp x4, x5, [sp+40]
    00290150ldp x6, x7, [sp+56]
    00290154ldp x8, x9, [sp+72]
    00290158ldp x10, x11, [sp+88]
    0029015cldrb w12, [sp+104]
    00290160b 0x28f590
    00290164udf 0
    00290168udf 0
    0029016cudf 0
    0028f590