File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    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
    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
    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
    0028d410
    0028d410math/big.karatsubaSqr: ; void math/big.karatsubaSqr(math/big.nat z, math/big.nat x)
    0028d410ldr x16, [x28+16]
    0028d414sub x17, sp, 256
    0028d418subs xzr, x17, x16
    0028d41cb.ls 0x28d9fc
    0028d420sub x20, sp, 384
    0028d424stp x29, x30, [x20-8]
    0028d428add sp, x20, 0
    0028d42csub x29, sp, 8
    0028d430str x0, [sp+392]
    0028d434str x1, [sp+400]
    0028d438str x2, [sp+408]
    0028d43cstr x3, [sp+416]
    0028d440str x4, [sp+424]
    0028d444str x5, [sp+432]
    0028d448str x4, [sp+112]
    0028d44cands xzr, x4, 1
    0028d450cset x6, ne
    0028d454strb w6, [sp+103]
    0028d458tbnz w4, 0, 0x28d460
    0028d45cb 0x28d464
    0028d460
    0028d460loc_28d460:
    0028d460b 0x28d480
    0028d464
    0028d464loc_28d464:
    0028d464ldr x6, [sp+112]
    0028d468adrp x27, 0x733000
    0028d46cldr x7, [x27+2024]
    0028d470subs xzr, x7, x6
    0028d474cset x6, gt
    0028d478strb w6, [sp+103]
    0028d47cb 0x28d480
    0028d480
    0028d480loc_28d480:
    0028d480ldrb w6, [sp+103]
    0028d484strb w6, [sp+102]
    0028d488tbnz w6, 0, 0x28d490
    0028d48cb 0x28d494
    0028d490
    0028d490loc_28d490:
    0028d490b 0x28d4a8
    0028d494
    0028d494loc_28d494:
    0028d494ldr x6, [sp+112]
    0028d498subs xzr, x6, 2
    0028d49ccset x6, lt
    0028d4a0strb w6, [sp+102]
    0028d4a4b 0x28d4a8
    0028d4a8
    0028d4a8loc_28d4a8:
    0028d4a8ldrb w6, [sp+102]
    0028d4actbnz w6, 0, 0x28d4b4
    0028d4b0b 0x28d500
    0028d4b4
    0028d4b4loc_28d4b4:
    0028d4b4ldr x6, [sp+112]
    0028d4b8ubfm x1, x6, 63, 62
    0028d4bcstr x1, [sp+152]
    0028d4c0ldr x2, [sp+408]
    0028d4c4ldr x0, [sp+392]
    0028d4c8subs xzr, x2, x6, lsl #1
    0028d4ccb.hs 0x28d4d4
    0028d4d0b 0x28d9f4
    0028d4d4
    0028d4d4loc_28d4d4:
    0028d4d4b 0x28d4d8
    0028d4d8
    0028d4d8loc_28d4d8:
    0028d4d8str x0, [sp+352]
    0028d4dcstr x1, [sp+360]
    0028d4e0str x2, [sp+368]
    0028d4e4ldr x3, [sp+416]
    0028d4e8ldr x4, [sp+424]
    0028d4ecldr x5, [sp+432]
    0028d4f0bl math/big.basicSqr
    0028d4f4ldp x29, x30, [sp-8]
    0028d4f8add sp, sp, 384
    0028d4fcret x30
    0028d500
    0028d500loc_28d500:
    0028d500ldr x6, [sp+112]
    0028d504sbfm x0, x6, 1, 63
    0028d508str x0, [sp+104]
    0028d50cldr x1, [sp+424]
    0028d510ldr x7, [sp+416]
    0028d514ldr x8, [sp+432]
    0028d518b 0x28d51c
    0028d51c
    0028d51cloc_28d51c:
    0028d51csubs xzr, x1, x6, asr #1
    0028d520b.hs 0x28d528
    0028d524b 0x28d9f0
    0028d528
    0028d528loc_28d528:
    0028d528sub x8, x8, x6, asr #1
    0028d52csub x6, x1, x6, asr #1
    0028d530sub x9, xzr, x8
    0028d534ubfm x10, x0, 61, 60
    0028d538and x9, x10, x9, asr #63
    0028d53cadd x7, x7, x9
    0028d540str x7, [sp+352]
    0028d544str x6, [sp+360]
    0028d548str x8, [sp+368]
    0028d54cldr x1, [sp+104]
    0028d550ldr x2, [sp+432]
    0028d554ldr x6, [sp+416]
    0028d558subs xzr, x1, x2
    0028d55cb.ls 0x28d564
    0028d560b 0x28d9ec
    0028d564
    0028d564loc_28d564:
    0028d564b 0x28d568
    0028d568
    0028d568loc_28d568:
    0028d568str x6, [sp+328]
    0028d56cstr x1, [sp+336]
    0028d570str x2, [sp+344]
    0028d574ldr x6, [sp+352]
    0028d578ldr x7, [sp+360]
    0028d57cldr x8, [sp+368]
    0028d580str x6, [sp+184]
    0028d584str x7, [sp+192]
    0028d588str x8, [sp+200]
    0028d58cldr x3, [sp+328]
    0028d590ldr x4, [sp+336]
    0028d594ldr x5, [sp+344]
    0028d598str x3, [sp+208]
    0028d59cstr x4, [sp+216]
    0028d5a0str x5, [sp+224]
    0028d5a4ldr x0, [sp+392]
    0028d5a8ldr x1, [sp+400]
    0028d5acldr x2, [sp+408]
    0028d5b0bl math/big.karatsubaSqr
    0028d5b4ldr x0, [sp+112]
    0028d5b8ldr x1, [sp+400]
    0028d5bcldr x6, [sp+392]
    0028d5c0ldr x7, [sp+408]
    0028d5c4b 0x28d5c8
    0028d5c8
    0028d5c8loc_28d5c8:
    0028d5c8subs xzr, x1, x0
    0028d5ccb.hs 0x28d5d4
    0028d5d0b 0x28d9e8
    0028d5d4
    0028d5d4loc_28d5d4:
    0028d5d4sub x2, x7, x0
    0028d5d8sub x1, x1, x0
    0028d5dcsub x7, xzr, x2
    0028d5e0ubfm x8, x0, 61, 60
    0028d5e4and x7, x8, x7, asr #63
    0028d5e8add x0, x6, x7
    0028d5ecstr x0, [sp+328]
    0028d5f0str x1, [sp+336]
    0028d5f4str x2, [sp+344]
    0028d5f8ldr x3, [sp+184]
    0028d5fcldr x4, [sp+192]
    0028d600ldr x5, [sp+200]
    0028d604bl math/big.karatsubaSqr
    0028d608ldr x6, [sp+112]
    0028d60cubfm x0, x6, 63, 62
    0028d610str x0, [sp+152]
    0028d614ldr x7, [sp+112]
    0028d618ldr x8, [sp+104]
    0028d61cadd x1, x8, x7, lsl #1
    0028d620str x1, [sp+144]
    0028d624ldr x2, [sp+408]
    0028d628ldr x7, [sp+392]
    0028d62csubs xzr, x2, x1
    0028d630b.hs 0x28d638
    0028d634b 0x28d9e4
    0028d638
    0028d638loc_28d638:
    0028d638subs xzr, x1, x6, lsl #1
    0028d63cb.hs 0x28d644
    0028d640b 0x28d9e0
    0028d644
    0028d644loc_28d644:
    0028d644sub x0, x2, x6, lsl #1
    0028d648sub x1, x1, x6, lsl #1
    0028d64csub x2, xzr, x0
    0028d650ubfm x3, x6, 60, 59
    0028d654and x2, x3, x2, asr #63
    0028d658add x2, x7, x2
    0028d65cstr x2, [sp+160]
    0028d660str x1, [sp+168]
    0028d664str x0, [sp+176]
    0028d668ldr x3, [sp+184]
    0028d66cldr x4, [sp+192]
    0028d670ldr x5, [sp+200]
    0028d674ldr x6, [sp+208]
    0028d678ldr x7, [sp+216]
    0028d67cldr x8, [sp+224]
    0028d680str x2, [sp+8]
    0028d684str x1, [sp+16]
    0028d688str x0, [sp+24]
    0028d68cstr x3, [sp+32]
    0028d690str x4, [sp+40]
    0028d694str x5, [sp+48]
    0028d698str x6, [sp+56]
    0028d69cstr x7, [sp+64]
    0028d6a0str x8, [sp+72]
    0028d6a4bl math/big.subVV.abi0
    0028d6a8ldr x0, [sp+80]
    0028d6acstr x0, [sp+136]
    0028d6b0cbnz x0, 0x28d6b8
    0028d6b4b 0x28d708
    0028d6b8
    0028d6b8loc_28d6b8:
    0028d6b8ldr x0, [sp+160]
    0028d6bcldr x1, [sp+168]
    0028d6c0ldr x2, [sp+176]
    0028d6c4ldr x3, [sp+208]
    0028d6c8ldr x4, [sp+216]
    0028d6ccldr x5, [sp+224]
    0028d6d0ldr x6, [sp+184]
    0028d6d4ldr x7, [sp+192]
    0028d6d8ldr x8, [sp+200]
    0028d6dcstr x0, [sp+8]
    0028d6e0str x1, [sp+16]
    0028d6e4str x2, [sp+24]
    0028d6e8str x3, [sp+32]
    0028d6ecstr x4, [sp+40]
    0028d6f0str x5, [sp+48]
    0028d6f4str x6, [sp+56]
    0028d6f8str x7, [sp+64]
    0028d6fcstr x8, [sp+72]
    0028d700bl math/big.subVV.abi0
    0028d704b 0x28d70c
    0028d708
    0028d708loc_28d708:
    0028d708b 0x28d70c
    0028d70c
    0028d70cloc_28d70c:
    0028d70cldr x6, [sp+112]
    0028d710add x0, x6, x6, lsl #1
    0028d714str x0, [sp+144]
    0028d718ldr x1, [sp+400]
    0028d71cldr x6, [sp+392]
    0028d720ldr x7, [sp+408]
    0028d724b 0x28d728
    0028d728
    0028d728loc_28d728:
    0028d728subs xzr, x1, x0
    0028d72cb.hs 0x28d734
    0028d730b 0x28d9dc
    0028d734
    0028d734loc_28d734:
    0028d734sub x2, x7, x0
    0028d738sub x1, x1, x0
    0028d73csub x7, xzr, x2
    0028d740ubfm x8, x0, 61, 60
    0028d744and x7, x8, x7, asr #63
    0028d748add x0, x6, x7
    0028d74cstr x0, [sp+256]
    0028d750str x1, [sp+264]
    0028d754str x2, [sp+272]
    0028d758ldr x4, [sp+168]
    0028d75cldr x5, [sp+176]
    0028d760ldr x3, [sp+160]
    0028d764bl math/big.karatsubaSqr
    0028d768ldr x6, [sp+112]
    0028d76cubfm x0, x6, 62, 61
    0028d770str x0, [sp+144]
    0028d774ldr x1, [sp+400]
    0028d778ldr x7, [sp+392]
    0028d77cldr x8, [sp+408]
    0028d780b 0x28d784
    0028d784
    0028d784loc_28d784:
    0028d784subs xzr, x1, x6, lsl #2
    0028d788b.hs 0x28d790
    0028d78cb 0x28d9d8
    0028d790
    0028d790loc_28d790:
    0028d790sub x8, x8, x6, lsl #2
    0028d794sub x9, x1, x6, lsl #2
    0028d798sub x10, xzr, x8
    0028d79cubfm x11, x6, 59, 58
    0028d7a0and x10, x11, x10, asr #63
    0028d7a4add x7, x7, x10
    0028d7a8str x7, [sp+232]
    0028d7acstr x9, [sp+240]
    0028d7b0str x8, [sp+248]
    0028d7b4ldr x7, [sp+112]
    0028d7b8ubfm x1, x7, 63, 62
    0028d7bcstr x1, [sp+144]
    0028d7c0ldr x2, [sp+408]
    0028d7c4ldr x8, [sp+392]
    0028d7c8subs xzr, x2, x7, lsl #1
    0028d7ccb.hs 0x28d7d4
    0028d7d0b 0x28d9d4
    0028d7d4
    0028d7d4loc_28d7d4:
    0028d7d4b 0x28d7d8
    0028d7d8
    0028d7d8loc_28d7d8:
    0028d7d8str x8, [sp+328]
    0028d7dcstr x1, [sp+336]
    0028d7e0str x2, [sp+344]
    0028d7e4ldr x7, [sp+232]
    0028d7e8ldr x8, [sp+240]
    0028d7ecldr x9, [sp+248]
    0028d7f0str x7, [sp+304]
    0028d7f4str x8, [sp+312]
    0028d7f8str x9, [sp+320]
    0028d7fcldr x7, [sp+336]
    0028d800ldr x8, [sp+328]
    0028d804ldr x9, [sp+344]
    0028d808str x8, [sp+280]
    0028d80cstr x7, [sp+288]
    0028d810str x9, [sp+296]
    0028d814ldr x8, [sp+312]
    0028d818str x8, [sp+128]
    0028d81csubs xzr, x8, x7
    0028d820b.gt 0x28d828
    0028d824b 0x28d830
    0028d828
    0028d828loc_28d828:
    0028d828str x7, [sp+128]
    0028d82cb 0x28d834
    0028d830
    0028d830loc_28d830:
    0028d830b 0x28d834
    0028d834
    0028d834loc_28d834:
    0028d834ldr x7, [sp+280]
    0028d838ldr x8, [sp+304]
    0028d83csubs xzr, x7, x8
    0028d840b.ne 0x28d848
    0028d844b 0x28d868
    0028d848
    0028d848loc_28d848:
    0028d848ldr x3, [sp+128]
    0028d84cstr x3, [sp+120]
    0028d850ldr x3, [sp+120]
    0028d854ubfm x2, x3, 61, 60
    0028d858ldr x0, [sp+304]
    0028d85cldr x1, [sp+280]
    0028d860bl runtime.memmove
    0028d864b 0x28d86c
    0028d868
    0028d868loc_28d868:
    0028d868b 0x28d86c
    0028d86c
    0028d86cloc_28d86c:
    0028d86cldr x0, [sp+104]
    0028d870ldr x1, [sp+400]
    0028d874ldr x7, [sp+392]
    0028d878ldr x8, [sp+408]
    0028d87cb 0x28d880
    0028d880
    0028d880loc_28d880:
    0028d880subs xzr, x1, x0
    0028d884b.hs 0x28d88c
    0028d888b 0x28d9d0
    0028d88c
    0028d88cloc_28d88c:
    0028d88csub x2, x8, x0
    0028d890sub x1, x1, x0
    0028d894sub x8, xzr, x2
    0028d898ubfm x9, x0, 61, 60
    0028d89cand x8, x9, x8, asr #63
    0028d8a0add x0, x7, x8
    0028d8a4str x0, [sp+328]
    0028d8a8str x1, [sp+336]
    0028d8acstr x2, [sp+344]
    0028d8b0ldr x6, [sp+112]
    0028d8b4ldr x3, [sp+232]
    0028d8b8ldr x4, [sp+240]
    0028d8bcldr x5, [sp+248]
    0028d8c0bl math/big.karatsubaAdd
    0028d8c4ldr x0, [sp+104]
    0028d8c8ldr x1, [sp+400]
    0028d8ccldr x7, [sp+392]
    0028d8d0ldr x8, [sp+408]
    0028d8d4b 0x28d8d8
    0028d8d8
    0028d8d8loc_28d8d8:
    0028d8d8subs xzr, x1, x0
    0028d8dcb.hs 0x28d8e4
    0028d8e0b 0x28d9cc
    0028d8e4
    0028d8e4loc_28d8e4:
    0028d8e4sub x8, x8, x0
    0028d8e8sub x9, x1, x0
    0028d8ecsub x10, xzr, x8
    0028d8f0ubfm x11, x0, 61, 60
    0028d8f4and x10, x11, x10, asr #63
    0028d8f8add x7, x7, x10
    0028d8fcstr x7, [sp+328]
    0028d900str x9, [sp+336]
    0028d904str x8, [sp+344]
    0028d908ldr x0, [sp+112]
    0028d90cldr x1, [sp+240]
    0028d910ldr x7, [sp+232]
    0028d914ldr x8, [sp+248]
    0028d918b 0x28d91c
    0028d91c
    0028d91cloc_28d91c:
    0028d91csubs xzr, x1, x0
    0028d920b.hs 0x28d928
    0028d924b 0x28d9c8
    0028d928
    0028d928loc_28d928:
    0028d928sub x5, x8, x0
    0028d92csub x4, x1, x0
    0028d930sub x8, xzr, x5
    0028d934ubfm x9, x0, 61, 60
    0028d938and x8, x9, x8, asr #63
    0028d93cadd x3, x7, x8
    0028d940str x3, [sp+352]
    0028d944str x4, [sp+360]
    0028d948str x5, [sp+368]
    0028d94cldr x6, [sp+112]
    0028d950ldr x0, [sp+328]
    0028d954ldr x1, [sp+336]
    0028d958ldr x2, [sp+344]
    0028d95cbl math/big.karatsubaAdd
    0028d960ldr x0, [sp+104]
    0028d964ldr x1, [sp+400]
    0028d968ldr x7, [sp+392]
    0028d96cldr x8, [sp+408]
    0028d970b 0x28d974
    0028d974
    0028d974loc_28d974:
    0028d974subs xzr, x1, x0
    0028d978b.hs 0x28d980
    0028d97cb 0x28d9c4
    0028d980
    0028d980loc_28d980:
    0028d980sub x2, x8, x0
    0028d984sub x1, x1, x0
    0028d988sub x8, xzr, x2
    0028d98cubfm x9, x0, 61, 60
    0028d990and x8, x9, x8, asr #63
    0028d994add x0, x7, x8
    0028d998str x0, [sp+352]
    0028d99cstr x1, [sp+360]
    0028d9a0str x2, [sp+368]
    0028d9a4ldr x6, [sp+112]
    0028d9a8ldr x3, [sp+256]
    0028d9acldr x4, [sp+264]
    0028d9b0ldr x5, [sp+272]
    0028d9b4bl math/big.karatsubaSub
    0028d9b8ldp x29, x30, [sp-8]
    0028d9bcadd sp, sp, 384
    0028d9c0ret x30
    0028d9c4
    0028d9c4loc_28d9c4:
    0028d9c4bl runtime.panicSliceB
    0028d9c8
    0028d9c8loc_28d9c8:
    0028d9c8bl runtime.panicSliceB
    0028d9cc
    0028d9ccloc_28d9cc:
    0028d9ccbl runtime.panicSliceB
    0028d9d0
    0028d9d0loc_28d9d0:
    0028d9d0bl runtime.panicSliceB
    0028d9d4
    0028d9d4loc_28d9d4:
    0028d9d4bl runtime.panicSliceAcap
    0028d9d8
    0028d9d8loc_28d9d8:
    0028d9d8bl runtime.panicSliceB
    0028d9dc
    0028d9dcloc_28d9dc:
    0028d9dcbl runtime.panicSliceB
    0028d9e0
    0028d9e0loc_28d9e0:
    0028d9e0bl runtime.panicSliceB
    0028d9e4
    0028d9e4loc_28d9e4:
    0028d9e4bl runtime.panicSliceAcap
    0028d9e8
    0028d9e8loc_28d9e8:
    0028d9e8bl runtime.panicSliceB
    0028d9ec
    0028d9ecloc_28d9ec:
    0028d9ecbl runtime.panicSliceAcap
    0028d9f0
    0028d9f0loc_28d9f0:
    0028d9f0bl runtime.panicSliceB
    0028d9f4
    0028d9f4loc_28d9f4:
    0028d9f4bl runtime.panicSliceAcap
    0028d9f8hint
    0028d9fc
    0028d9fcloc_28d9fc:
    0028d9fcstp x0, x1, [sp+8]
    0028da00stp x2, x3, [sp+24]
    0028da04stp x4, x5, [sp+40]
    0028da08mov x3, x30
    0028da0cbl runtime.morestack_noctxt.abi0
    0028da10ldp x0, x1, [sp+8]
    0028da14ldp x2, x3, [sp+24]
    0028da18ldp x4, x5, [sp+40]
    0028da1cb 0x28d410
    0028d410
    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