File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    002899a0
    002899a0math/big.byteReader.ReadByte: ; void math/big.byteReader.ReadByte(math/big.byteReader r)
    002899a0ldr x16, [x28+16]
    002899a4sub x17, sp, 96
    002899a8subs xzr, x17, x16
    002899acb.ls 0x289b24
    002899b0str x30, [sp-224]!
    002899b4stur x29, [sp-8]
    002899b8sub x29, sp, 8
    002899bcstr x0, [sp+232]
    002899c0str x1, [sp+240]
    002899c4strb wzr, [sp+58]
    002899c8stp xzr, xzr, [sp+96]
    002899ccstp xzr, xzr, [sp+200]
    002899d0ldr x1, [sp+232]
    002899d4ldrsb x27, [x1]
    002899d8ldr x0, [sp+240]
    002899dcldr x1, [x1+32]
    002899e0blr x1
    002899e4str w0, [sp+64]
    002899e8str x1, [sp+88]
    002899ecstr x2, [sp+200]
    002899f0str x3, [sp+208]
    002899f4ldrsw x1, [sp+64]
    002899f8str w1, [sp+68]
    002899fcldr x1, [sp+88]
    00289a00str x1, [sp+80]
    00289a04str x2, [sp+128]
    00289a08str x3, [sp+136]
    00289a0cldrsw x1, [sp+68]
    00289a10str w1, [sp+60]
    00289a14ldr x1, [sp+80]
    00289a18str x1, [sp+72]
    00289a1cstr x2, [sp+112]
    00289a20str x3, [sp+120]
    00289a24ldr x1, [sp+72]
    00289a28subs xzr, x1, 1
    00289a2ccset x1, ne
    00289a30strb w1, [sp+59]
    00289a34b.ne 0x289a3c
    00289a38b 0x289a54
    00289a3c
    00289a3cloc_289a3c:
    00289a3cldr x3, [sp+112]
    00289a40subs xzr, x3, 0
    00289a44cset x3, ne
    00289a48eor x3, x3, 1
    00289a4cstrb w3, [sp+59]
    00289a50b 0x289a58
    00289a54
    00289a54loc_289a54:
    00289a54b 0x289a58
    00289a58
    00289a58loc_289a58:
    00289a58ldrb w3, [sp+59]
    00289a5ctbnz w3, 0, 0x289a64
    00289a60b 0x289af8
    00289a64
    00289a64loc_289a64:
    00289a64stp xzr, xzr, [sp+184]
    00289a68add x1, sp, 184
    00289a6cstr x1, [sp+152]
    00289a70ldrsw x0, [sp+60]
    00289a74bl runtime.convT32
    00289a78str x0, [sp+144]
    00289a7cldr x1, [sp+152]
    00289a80ldrsb x27, [x1]
    00289a84adrp x2, 0x36c000
    00289a88add x2, x2, 3264
    00289a8cstr x2, [x1]
    00289a90adrp x27, 0x7c2000
    00289a94ldr w2, [x27+3056]
    00289a98cbz w2, 0x289aa0
    00289a9cb 0x289aa4
    00289aa0
    00289aa0loc_289aa0:
    00289aa0b 0x289ab8
    00289aa4
    00289aa4loc_289aa4:
    00289aa4bl runtime.gcWriteBarrier2
    00289aa8str x0, [x25]
    00289aacldr x5, [x1+8]
    00289ab0str x5, [x25+8]
    00289ab4b 0x289ab8
    00289ab8
    00289ab8loc_289ab8:
    00289ab8str x0, [x1+8]
    00289abcldr x2, [sp+152]
    00289ac0ldrsb x27, [x2]
    00289ac4b 0x289ac8
    00289ac8
    00289ac8loc_289ac8:
    00289ac8str x2, [sp+160]
    00289accorr x4, xzr, 1
    00289ad0str x4, [sp+168]
    00289ad4str x4, [sp+176]
    00289ad8adrp x0, 0x42b000
    00289adcadd x0, x0, 3636
    00289ae0orr x1, xzr, 16
    00289ae4mov x3, x4
    00289ae8bl fmt.Errorf
    00289aecstr x0, [sp+112]
    00289af0str x1, [sp+120]
    00289af4b 0x289afc
    00289af8
    00289af8loc_289af8:
    00289af8b 0x289afc
    00289afc
    00289afcloc_289afc:
    00289afcldrsw x3, [sp+60]
    00289b00strb w3, [sp+58]
    00289b04ldr x1, [sp+112]
    00289b08ldr x2, [sp+120]
    00289b0cstr x1, [sp+96]
    00289b10str x2, [sp+104]
    00289b14ldrb w0, [sp+58]
    00289b18ldur x29, [sp-8]
    00289b1cldr x30, [sp], 224
    00289b20ret x30
    00289b24
    00289b24loc_289b24:
    00289b24stp x0, x1, [sp+8]
    00289b28mov x3, x30
    00289b2cbl runtime.morestack_noctxt.abi0
    00289b30ldp x0, x1, [sp+8]
    00289b34b 0x2899a0
    00289b38udf 0
    00289b3cudf 0
    002899a0
    00289b40
    00289b40math/big.byteReader.UnreadByte: ; void math/big.byteReader.UnreadByte(math/big.byteReader r)
    00289b40ldr x16, [x28+16]
    00289b44subs xzr, sp, x16
    00289b48b.ls 0x289b94
    00289b4cstr x30, [sp-64]!
    00289b50stur x29, [sp-8]
    00289b54sub x29, sp, 8
    00289b58str x0, [sp+72]
    00289b5cstr x1, [sp+80]
    00289b60stp xzr, xzr, [sp+24]
    00289b64ldr x1, [sp+72]
    00289b68ldrsb x27, [x1]
    00289b6cldr x0, [sp+80]
    00289b70ldr x1, [x1+56]
    00289b74blr x1
    00289b78str x0, [sp+40]
    00289b7cstr x1, [sp+48]
    00289b80str x0, [sp+24]
    00289b84str x1, [sp+32]
    00289b88ldur x29, [sp-8]
    00289b8cldr x30, [sp], 64
    00289b90ret x30
    00289b94
    00289b94loc_289b94:
    00289b94stp x0, x1, [sp+8]
    00289b98mov x3, x30
    00289b9cbl runtime.morestack_noctxt.abi0
    00289ba0ldp x0, x1, [sp+8]
    00289ba4b 0x289b40
    00289ba8udf 0
    00289bacudf 0
    00289b40
    00289bb0
    00289bb0math/big.(*Int).Scan: ; void math/big.(*Int).Scan(math/big.Int * z, fmt.ScanState s, int32 ch)
    00289bb0ldr x16, [x28+16]
    00289bb4sub x17, sp, 64
    00289bb8subs xzr, x17, x16
    00289bbcb.ls 0x289da8
    00289bc0str x30, [sp-192]!
    00289bc4stur x29, [sp-8]
    00289bc8sub x29, sp, 8
    00289bccstr x0, [sp+200]
    00289bd0str x1, [sp+208]
    00289bd4str x2, [sp+216]
    00289bd8str w3, [sp+224]
    00289bdcstp xzr, xzr, [sp+80]
    00289be0ldr x1, [sp+208]
    00289be4ldrsb x27, [x1]
    00289be8ldr x1, [x1+40]
    00289becldr x0, [sp+216]
    00289bf0blr x1
    00289bf4str xzr, [sp+56]
    00289bf8ldrsw x1, [sp+224]
    00289bfcstr w1, [sp+52]
    00289c00subs wzr, w1, 100
    00289c04b.le 0x289c0c
    00289c08b 0x289c60
    00289c0c
    00289c0cloc_289c0c:
    00289c0csubs wzr, w1, 88
    00289c10b.eq 0x289c18
    00289c14b 0x289c1c
    00289c18
    00289c18loc_289c18:
    00289c18b 0x289cc4
    00289c1c
    00289c1cloc_289c1c:
    00289c1csubs wzr, w1, 98
    00289c20b.eq 0x289c28
    00289c24b 0x289c38
    00289c28
    00289c28loc_289c28:
    00289c28b 0x289c2c
    00289c2c
    00289c2cloc_289c2c:
    00289c2corr x2, xzr, 2
    00289c30str x2, [sp+56]
    00289c34b 0x289cd0
    00289c38
    00289c38loc_289c38:
    00289c38subs wzr, w1, 100
    00289c3cb.eq 0x289c44
    00289c40b 0x289c54
    00289c44
    00289c44loc_289c44:
    00289c44b 0x289c48
    00289c48
    00289c48loc_289c48:
    00289c48movz x2, 10
    00289c4cstr x2, [sp+56]
    00289c50b 0x289cd0
    00289c54
    00289c54loc_289c54:
    00289c54b 0x289c58
    00289c58
    00289c58loc_289c58:
    00289c58b 0x289c5c
    00289c5c
    00289c5cloc_289c5c:
    00289c5cb 0x289d78
    00289c60
    00289c60loc_289c60:
    00289c60subs wzr, w1, 115
    00289c64b.le 0x289c6c
    00289c68b 0x289ca0
    00289c6c
    00289c6cloc_289c6c:
    00289c6csubs wzr, w1, 111
    00289c70b.eq 0x289c78
    00289c74b 0x289c88
    00289c78
    00289c78loc_289c78:
    00289c78b 0x289c7c
    00289c7c
    00289c7cloc_289c7c:
    00289c7corr x2, xzr, 8
    00289c80str x2, [sp+56]
    00289c84b 0x289cd0
    00289c88
    00289c88loc_289c88:
    00289c88subs wzr, w1, 115
    00289c8cb.eq 0x289c94
    00289c90b 0x289c98
    00289c94
    00289c94loc_289c94:
    00289c94b 0x289cb0
    00289c98
    00289c98loc_289c98:
    00289c98b 0x289c9c
    00289c9c
    00289c9cloc_289c9c:
    00289c9cb 0x289d74
    00289ca0
    00289ca0loc_289ca0:
    00289ca0subs wzr, w1, 118
    00289ca4b.eq 0x289cac
    00289ca8b 0x289cb4
    00289cac
    00289cacloc_289cac:
    00289cacb 0x289cb0
    00289cb0
    00289cb0loc_289cb0:
    00289cb0b 0x289cd0
    00289cb4
    00289cb4loc_289cb4:
    00289cb4subs wzr, w1, 120
    00289cb8b.eq 0x289cc0
    00289cbcb 0x289d6c
    00289cc0
    00289cc0loc_289cc0:
    00289cc0b 0x289cc4
    00289cc4
    00289cc4loc_289cc4:
    00289cc4orr x2, xzr, 16
    00289cc8str x2, [sp+56]
    00289cccb 0x289cd0
    00289cd0
    00289cd0loc_289cd0:
    00289cd0stp xzr, xzr, [sp+168]
    00289cd4ldr x2, [sp+208]
    00289cd8ldr x3, [sp+216]
    00289cdcstr x2, [sp+168]
    00289ce0str x3, [sp+176]
    00289ce4str xzr, [sp+160]
    00289ce8stp xzr, xzr, [sp+112]
    00289cecadrp x0, 0x3f9000
    00289cf0add x0, x0, 32
    00289cf4add x1, sp, 168
    00289cf8bl runtime.convT
    00289cfcstr x0, [sp+152]
    00289d00ldr x3, [sp+56]
    00289d04ldr x2, [sp+200]
    00289d08adrp x1, 0x48e000
    00289d0cadd x1, x1, 2064
    00289d10mov x4, x0
    00289d14mov x0, x2
    00289d18mov x2, x4
    00289d1cbl math/big.(*Int).scan
    00289d20str x0, [sp+160]
    00289d24str x1, [sp+72]
    00289d28str x2, [sp+112]
    00289d2cstr x3, [sp+120]
    00289d30ldr x2, [sp+160]
    00289d34str x2, [sp+144]
    00289d38ldr x2, [sp+72]
    00289d3cstr x2, [sp+64]
    00289d40ldr x0, [sp+112]
    00289d44ldr x1, [sp+120]
    00289d48str x0, [sp+128]
    00289d4cstr x1, [sp+136]
    00289d50str x0, [sp+96]
    00289d54str x1, [sp+104]
    00289d58str x0, [sp+80]
    00289d5cstr x1, [sp+88]
    00289d60ldur x29, [sp-8]
    00289d64ldr x30, [sp], 192
    00289d68ret x30
    00289d6c
    00289d6cloc_289d6c:
    00289d6cb 0x289d70
    00289d70
    00289d70loc_289d70:
    00289d70b 0x289d74
    00289d74
    00289d74loc_289d74:
    00289d74b 0x289d78
    00289d78
    00289d78loc_289d78:
    00289d78b 0x289d7c
    00289d7c
    00289d7cloc_289d7c:
    00289d7cadrp x0, 0x42f000
    00289d80add x0, x0, 22
    00289d84movz x1, 22
    00289d88bl errors.New
    00289d8cstr x0, [sp+112]
    00289d90str x1, [sp+120]
    00289d94str x0, [sp+80]
    00289d98str x1, [sp+88]
    00289d9cldur x29, [sp-8]
    00289da0ldr x30, [sp], 192
    00289da4ret x30
    00289da8
    00289da8loc_289da8:
    00289da8stp x0, x1, [sp+8]
    00289dacstr x2, [sp+24]
    00289db0str w3, [sp+32]
    00289db4mov x3, x30
    00289db8bl runtime.morestack_noctxt.abi0
    00289dbcldp x0, x1, [sp+8]
    00289dc0ldr x2, [sp+24]
    00289dc4ldrsw x3, [sp+32]
    00289dc8b 0x289bb0
    00289dccudf 0
    00289bb0
    00289dd0
    00289dd0math/big.nat.String: ; void math/big.nat.String(math/big.nat z)
    00289dd0ldr x16, [x28+16]
    00289dd4subs xzr, sp, x16
    00289dd8b.ls 0x289e4c
    00289ddcstr x30, [sp-96]!
    00289de0stur x29, [sp-8]
    00289de4sub x29, sp, 8
    00289de8str x0, [sp+104]
    00289decstr x1, [sp+112]
    00289df0str x2, [sp+120]
    00289df4stp xzr, xzr, [sp+48]
    00289df8ldr x0, [sp+104]
    00289dfcldr x1, [sp+112]
    00289e00ldr x2, [sp+120]
    00289e04mov x3, xzr
    00289e08orr x4, xzr, 16
    00289e0cbl math/big.nat.itoa
    00289e10str x0, [sp+64]
    00289e14str x1, [sp+72]
    00289e18str x2, [sp+80]
    00289e1corr x2, xzr, 2
    00289e20mov x3, x0
    00289e24mov x4, x1
    00289e28mov x0, xzr
    00289e2cadrp x1, 0x427000
    00289e30add x1, x1, 207
    00289e34bl runtime.concatstring2
    00289e38str x0, [sp+48]
    00289e3cstr x1, [sp+56]
    00289e40ldur x29, [sp-8]
    00289e44ldr x30, [sp], 96
    00289e48ret x30
    00289e4c
    00289e4cloc_289e4c:
    00289e4cstp x0, x1, [sp+8]
    00289e50str x2, [sp+24]
    00289e54mov x3, x30
    00289e58bl runtime.morestack_noctxt.abi0
    00289e5cldp x0, x1, [sp+8]
    00289e60ldr x2, [sp+24]
    00289e64b 0x289dd0
    00289e68udf 0
    00289e6cudf 0
    00289dd0
    00289e70
    00289e70math/big.nat.norm: ; void math/big.nat.norm(math/big.nat z)
    00289e70ldr x16, [x28+16]
    00289e74subs xzr, sp, x16
    00289e78b.ls 0x289f60
    00289e7cstr x30, [sp-96]!
    00289e80stur x29, [sp-8]
    00289e84sub x29, sp, 8
    00289e88str x0, [sp+104]
    00289e8cstr x1, [sp+112]
    00289e90str x2, [sp+120]
    00289e94str xzr, [sp+40]
    00289e98stp xzr, xzr, [sp+48]
    00289e9cldr x3, [sp+112]
    00289ea0str x3, [sp+32]
    00289ea4b 0x289ea8
    00289ea8
    00289ea8loc_289ea8:
    00289ea8ldr x3, [sp+32]
    00289eacsubs xzr, x3, 0
    00289eb0cset x3, gt
    00289eb4strb w3, [sp+31]
    00289eb8b.gt 0x289ec0
    00289ebcb 0x289ef0
    00289ec0
    00289ec0loc_289ec0:
    00289ec0ldr x1, [sp+112]
    00289ec4ldr x3, [sp+104]
    00289ec8ldr x4, [sp+32]
    00289eccsub x0, x4, 1
    00289ed0subs xzr, x1, x0
    00289ed4b.hi 0x289edc
    00289ed8b 0x289f58
    00289edc
    00289edcloc_289edc:
    00289edcldr x3, [x3+3*x0]
    00289ee0subs xzr, x3, 0
    00289ee4cset x3, eq
    00289ee8strb w3, [sp+31]
    00289eecb 0x289ef4
    00289ef0
    00289ef0loc_289ef0:
    00289ef0b 0x289ef4
    00289ef4
    00289ef4loc_289ef4:
    00289ef4ldrb w3, [sp+31]
    00289ef8tbnz w3, 0, 0x289f00
    00289efcb 0x289f14
    00289f00
    00289f00loc_289f00:
    00289f00ldr x3, [sp+32]
    00289f04sub x3, x3, 1
    00289f08str x3, [sp+32]
    00289f0cb 0x289f10
    00289f10
    00289f10loc_289f10:
    00289f10b 0x289ea8
    00289f14
    00289f14loc_289f14:
    00289f14ldr x1, [sp+32]
    00289f18ldr x2, [sp+120]
    00289f1cldr x0, [sp+104]
    00289f20subs xzr, x2, x1
    00289f24b.hs 0x289f2c
    00289f28b 0x289f54
    00289f2c
    00289f2cloc_289f2c:
    00289f2cb 0x289f30
    00289f30
    00289f30loc_289f30:
    00289f30str x0, [sp+64]
    00289f34str x1, [sp+72]
    00289f38str x2, [sp+80]
    00289f3cstr x0, [sp+40]
    00289f40str x1, [sp+48]
    00289f44str x2, [sp+56]
    00289f48ldur x29, [sp-8]
    00289f4cldr x30, [sp], 96
    00289f50ret x30
    00289f54
    00289f54loc_289f54:
    00289f54bl runtime.panicSliceAcap
    00289f58
    00289f58loc_289f58:
    00289f58bl runtime.panicIndex
    00289f5chint
    00289f60
    00289f60loc_289f60:
    00289f60stp x0, x1, [sp+8]
    00289f64str x2, [sp+24]
    00289f68mov x3, x30
    00289f6cbl runtime.morestack_noctxt.abi0
    00289f70ldp x0, x1, [sp+8]
    00289f74ldr x2, [sp+24]
    00289f78b 0x289e70
    00289f7cudf 0
    00289e70
    00289f80
    00289f80math/big.nat.make: ; void math/big.nat.make(math/big.nat z, int n)
    00289f80ldr x16, [x28+16]
    00289f84subs xzr, sp, x16
    00289f88b.ls 0x28a0b0
    00289f8cstr x30, [sp-96]!
    00289f90stur x29, [sp-8]
    00289f94sub x29, sp, 8
    00289f98str x0, [sp+104]
    00289f9cstr x1, [sp+112]
    00289fa0str x2, [sp+120]
    00289fa4str x3, [sp+128]
    00289fa8str xzr, [sp+40]
    00289facstp xzr, xzr, [sp+48]
    00289fb0ldr x3, [sp+120]
    00289fb4str x3, [sp+32]
    00289fb8ldr x4, [sp+128]
    00289fbcsubs xzr, x3, x4
    00289fc0b.ge 0x289fc8
    00289fc4b 0x28a008
    00289fc8
    00289fc8loc_289fc8:
    00289fc8ldr x1, [sp+128]
    00289fccldr x2, [sp+120]
    00289fd0ldr x0, [sp+104]
    00289fd4subs xzr, x2, x1
    00289fd8b.hs 0x289fe0
    00289fdcb 0x28a0a8
    00289fe0
    00289fe0loc_289fe0:
    00289fe0b 0x289fe4
    00289fe4
    00289fe4loc_289fe4:
    00289fe4str x0, [sp+64]
    00289fe8str x1, [sp+72]
    00289fecstr x2, [sp+80]
    00289ff0str x0, [sp+40]
    00289ff4str x1, [sp+48]
    00289ff8str x2, [sp+56]
    00289ffcldur x29, [sp-8]
    0028a000ldr x30, [sp], 96
    0028a004ret x30
    0028a008
    0028a008loc_28a008:
    0028a008ldr x3, [sp+128]
    0028a00csubs xzr, x3, 1
    0028a010b.eq 0x28a018
    0028a014b 0x28a05c
    0028a018
    0028a018loc_28a018:
    0028a018adrp x0, 0x36c000
    0028a01cadd x0, x0, 2624
    0028a020orr x1, xzr, 1
    0028a024mov x2, x1
    0028a028bl runtime.makeslice
    0028a02cstr x0, [sp+64]
    0028a030orr x2, xzr, 1
    0028a034str x2, [sp+72]
    0028a038str x2, [sp+80]
    0028a03cstr x0, [sp+40]
    0028a040str x2, [sp+48]
    0028a044str x2, [sp+56]
    0028a048ldr x0, [sp+40]
    0028a04cmov x1, x2
    0028a050ldur x29, [sp-8]
    0028a054ldr x30, [sp], 96
    0028a058ret x30
    0028a05c
    0028a05cloc_28a05c:
    0028a05cldr x1, [sp+128]
    0028a060ldr x3, [sp+128]
    0028a064add x2, x3, 4
    0028a068adrp x0, 0x36c000
    0028a06cadd x0, x0, 2624
    0028a070bl runtime.makeslice
    0028a074ldr x1, [sp+128]
    0028a078ldr x3, [sp+128]
    0028a07cstr x0, [sp+64]
    0028a080str x1, [sp+72]
    0028a084add x2, x3, 4
    0028a088str x2, [sp+80]
    0028a08cstr x0, [sp+40]
    0028a090str x1, [sp+48]
    0028a094str x2, [sp+56]
    0028a098ldr x0, [sp+40]
    0028a09cldur x29, [sp-8]
    0028a0a0ldr x30, [sp], 96
    0028a0a4ret x30
    0028a0a8
    0028a0a8loc_28a0a8:
    0028a0a8bl runtime.panicSliceAcap
    0028a0achint
    0028a0b0
    0028a0b0loc_28a0b0:
    0028a0b0stp x0, x1, [sp+8]
    0028a0b4stp x2, x3, [sp+24]
    0028a0b8mov x3, x30
    0028a0bcbl runtime.morestack_noctxt.abi0
    0028a0c0ldp x0, x1, [sp+8]
    0028a0c4ldp x2, x3, [sp+24]
    0028a0c8b 0x289f80
    0028a0ccudf 0
    00289f80
    0028a0d0
    0028a0d0math/big.nat.setWord: ; void math/big.nat.setWord(math/big.nat z, math/big.Word x)
    0028a0d0ldr x16, [x28+16]
    0028a0d4subs xzr, sp, x16
    0028a0d8b.ls 0x28a1a8
    0028a0dcstr x30, [sp-96]!
    0028a0e0stur x29, [sp-8]
    0028a0e4sub x29, sp, 8
    0028a0e8str x0, [sp+104]
    0028a0ecstr x1, [sp+112]
    0028a0f0str x2, [sp+120]
    0028a0f4str x3, [sp+128]
    0028a0f8str xzr, [sp+40]
    0028a0fcstp xzr, xzr, [sp+48]
    0028a100ldr x4, [sp+128]
    0028a104cbz x4, 0x28a10c
    0028a108b 0x28a144
    0028a10c
    0028a10cloc_28a10c:
    0028a10cldr x0, [sp+104]
    0028a110ldr x2, [sp+120]
    0028a114b 0x28a118
    0028a118
    0028a118loc_28a118:
    0028a118b 0x28a11c
    0028a11c
    0028a11cloc_28a11c:
    0028a11cstr x0, [sp+64]
    0028a120str xzr, [sp+72]
    0028a124str x2, [sp+80]
    0028a128str x0, [sp+40]
    0028a12cstr xzr, [sp+48]
    0028a130str x2, [sp+56]
    0028a134mov x1, xzr
    0028a138ldur x29, [sp-8]
    0028a13cldr x30, [sp], 96
    0028a140ret x30
    0028a144
    0028a144loc_28a144:
    0028a144ldr x0, [sp+104]
    0028a148ldr x1, [sp+112]
    0028a14cldr x2, [sp+120]
    0028a150orr x3, xzr, 1
    0028a154bl math/big.nat.make
    0028a158str x0, [sp+104]
    0028a15cstr x1, [sp+112]
    0028a160str x2, [sp+120]
    0028a164ldr x4, [sp+128]
    0028a168subs xzr, x1, 0
    0028a16cb.hi 0x28a174
    0028a170b 0x28a19c
    0028a174
    0028a174loc_28a174:
    0028a174str x4, [x0]
    0028a178ldr x0, [sp+104]
    0028a17cldr x1, [sp+112]
    0028a180ldr x2, [sp+120]
    0028a184str x0, [sp+40]
    0028a188str x1, [sp+48]
    0028a18cstr x2, [sp+56]
    0028a190ldur x29, [sp-8]
    0028a194ldr x30, [sp], 96
    0028a198ret x30
    0028a19c
    0028a19cloc_28a19c:
    0028a19cmov x0, xzr
    0028a1a0bl runtime.panicIndex
    0028a1a4hint
    0028a1a8
    0028a1a8loc_28a1a8:
    0028a1a8stp x0, x1, [sp+8]
    0028a1acstp x2, x3, [sp+24]
    0028a1b0mov x3, x30
    0028a1b4bl runtime.morestack_noctxt.abi0
    0028a1b8ldp x0, x1, [sp+8]
    0028a1bcldp x2, x3, [sp+24]
    0028a1c0b 0x28a0d0
    0028a1c4udf 0
    0028a1c8udf 0
    0028a1ccudf 0
    0028a0d0
    0028a1d0
    0028a1d0math/big.nat.setUint64: ; void math/big.nat.setUint64(math/big.nat z, uint64 x)
    0028a1d0ldr x16, [x28+16]
    0028a1d4subs xzr, sp, x16
    0028a1d8b.ls 0x28a2e0
    0028a1dcstr x30, [sp-112]!
    0028a1e0stur x29, [sp-8]
    0028a1e4sub x29, sp, 8
    0028a1e8str x0, [sp+120]
    0028a1ecstr x1, [sp+128]
    0028a1f0str x2, [sp+136]
    0028a1f4str x3, [sp+144]
    0028a1f8str xzr, [sp+56]
    0028a1fcstp xzr, xzr, [sp+64]
    0028a200ldr x4, [sp+144]
    0028a204str x4, [sp+48]
    0028a208ldr x4, [sp+48]
    0028a20cldr x5, [sp+144]
    0028a210subs xzr, x5, x4
    0028a214b.eq 0x28a21c
    0028a218b 0x28a254
    0028a21c
    0028a21cloc_28a21c:
    0028a21cldr x3, [sp+48]
    0028a220ldr x0, [sp+120]
    0028a224ldr x1, [sp+128]
    0028a228ldr x2, [sp+136]
    0028a22cbl math/big.nat.setWord
    0028a230str x0, [sp+80]
    0028a234str x1, [sp+88]
    0028a238str x2, [sp+96]
    0028a23cstr x0, [sp+56]
    0028a240str x1, [sp+64]
    0028a244str x2, [sp+72]
    0028a248ldur x29, [sp-8]
    0028a24cldr x30, [sp], 112
    0028a250ret x30
    0028a254
    0028a254loc_28a254:
    0028a254ldr x0, [sp+120]
    0028a258ldr x1, [sp+128]
    0028a25cldr x2, [sp+136]
    0028a260orr x3, xzr, 2
    0028a264bl math/big.nat.make
    0028a268str x0, [sp+120]
    0028a26cstr x1, [sp+128]
    0028a270str x2, [sp+136]
    0028a274ldr x4, [sp+144]
    0028a278ubfm x4, x4, 32, 63
    0028a27csubs xzr, x1, 1
    0028a280b.hi 0x28a288
    0028a284b 0x28a2d4
    0028a288
    0028a288loc_28a288:
    0028a288str x4, [x0+8]
    0028a28cldr x1, [sp+128]
    0028a290ldr x3, [sp+120]
    0028a294ldr x4, [sp+144]
    0028a298subs xzr, x1, 0
    0028a29cb.hi 0x28a2a4
    0028a2a0b 0x28a2cc
    0028a2a4
    0028a2a4loc_28a2a4:
    0028a2a4str x4, [x3]
    0028a2a8ldr x0, [sp+120]
    0028a2acldr x1, [sp+128]
    0028a2b0ldr x2, [sp+136]
    0028a2b4str x0, [sp+56]
    0028a2b8str x1, [sp+64]
    0028a2bcstr x2, [sp+72]
    0028a2c0ldur x29, [sp-8]
    0028a2c4ldr x30, [sp], 112
    0028a2c8ret x30
    0028a2cc
    0028a2ccloc_28a2cc:
    0028a2ccmov x0, xzr
    0028a2d0bl runtime.panicIndex
    0028a2d4
    0028a2d4loc_28a2d4:
    0028a2d4orr x0, xzr, 1
    0028a2d8bl runtime.panicIndex
    0028a2dchint
    0028a2e0
    0028a2e0loc_28a2e0:
    0028a2e0stp x0, x1, [sp+8]
    0028a2e4stp x2, x3, [sp+24]
    0028a2e8mov x3, x30
    0028a2ecbl runtime.morestack_noctxt.abi0
    0028a2f0ldp x0, x1, [sp+8]
    0028a2f4ldp x2, x3, [sp+24]
    0028a2f8b 0x28a1d0
    0028a2fcudf 0
    0028a1d0
    0028a300
    0028a300math/big.nat.set: ; void math/big.nat.set(math/big.nat z, math/big.nat x)
    0028a300ldr x16, [x28+16]
    0028a304sub x17, sp, 16
    0028a308subs xzr, x17, x16
    0028a30cb.ls 0x28a400
    0028a310str x30, [sp-144]!
    0028a314stur x29, [sp-8]
    0028a318sub x29, sp, 8
    0028a31cstr x0, [sp+152]
    0028a320str x1, [sp+160]
    0028a324str x2, [sp+168]
    0028a328str x3, [sp+176]
    0028a32cstr x4, [sp+184]
    0028a330str x5, [sp+192]
    0028a334str xzr, [sp+64]
    0028a338stp xzr, xzr, [sp+72]
    0028a33cldr x3, [sp+184]
    0028a340str x3, [sp+56]
    0028a344ldr x1, [sp+160]
    0028a348ldr x2, [sp+168]
    0028a34cldr x0, [sp+152]
    0028a350bl math/big.nat.make
    0028a354str x0, [sp+152]
    0028a358str x1, [sp+160]
    0028a35cstr x2, [sp+168]
    0028a360str x0, [sp+112]
    0028a364str x1, [sp+120]
    0028a368str x2, [sp+128]
    0028a36cldr x4, [sp+184]
    0028a370ldr x5, [sp+176]
    0028a374ldr x6, [sp+192]
    0028a378str x5, [sp+88]
    0028a37cstr x4, [sp+96]
    0028a380str x6, [sp+104]
    0028a384ldr x5, [sp+120]
    0028a388str x5, [sp+48]
    0028a38csubs xzr, x5, x4
    0028a390b.gt 0x28a398
    0028a394b 0x28a3a0
    0028a398
    0028a398loc_28a398:
    0028a398str x4, [sp+48]
    0028a39cb 0x28a3a4
    0028a3a0
    0028a3a0loc_28a3a0:
    0028a3a0b 0x28a3a4
    0028a3a4
    0028a3a4loc_28a3a4:
    0028a3a4ldr x3, [sp+88]
    0028a3a8ldr x4, [sp+112]
    0028a3acsubs xzr, x3, x4
    0028a3b0b.ne 0x28a3b8
    0028a3b4b 0x28a3d8
    0028a3b8
    0028a3b8loc_28a3b8:
    0028a3b8ldr x3, [sp+48]
    0028a3bcstr x3, [sp+40]
    0028a3c0ldr x3, [sp+40]
    0028a3c4ubfm x2, x3, 61, 60
    0028a3c8ldr x1, [sp+88]
    0028a3ccldr x0, [sp+112]
    0028a3d0bl runtime.memmove
    0028a3d4b 0x28a3dc
    0028a3d8
    0028a3d8loc_28a3d8:
    0028a3d8b 0x28a3dc
    0028a3dc
    0028a3dcloc_28a3dc:
    0028a3dcldr x0, [sp+152]
    0028a3e0ldr x1, [sp+160]
    0028a3e4ldr x2, [sp+168]
    0028a3e8str x0, [sp+64]
    0028a3ecstr x1, [sp+72]
    0028a3f0str x2, [sp+80]
    0028a3f4ldur x29, [sp-8]
    0028a3f8ldr x30, [sp], 144
    0028a3fcret x30
    0028a400
    0028a400loc_28a400:
    0028a400stp x0, x1, [sp+8]
    0028a404stp x2, x3, [sp+24]
    0028a408stp x4, x5, [sp+40]
    0028a40cmov x3, x30
    0028a410bl runtime.morestack_noctxt.abi0
    0028a414ldp x0, x1, [sp+8]
    0028a418ldp x2, x3, [sp+24]
    0028a41cldp x4, x5, [sp+40]
    0028a420b 0x28a300
    0028a424udf 0
    0028a428udf 0
    0028a42cudf 0
    0028a300
    0028a430
    0028a430math/big.nat.add: ; void math/big.nat.add(math/big.nat z, math/big.nat x, math/big.nat y)
    0028a430ldr x16, [x28+16]
    0028a434sub x17, sp, 64
    0028a438subs xzr, x17, x16
    0028a43cb.ls 0x28a750
    0028a440str x30, [sp-192]!
    0028a444stur x29, [sp-8]
    0028a448sub x29, sp, 8
    0028a44cstr x0, [sp+200]
    0028a450str x1, [sp+208]
    0028a454str x2, [sp+216]
    0028a458str x3, [sp+224]
    0028a45cstr x4, [sp+232]
    0028a460str x5, [sp+240]
    0028a464str x6, [sp+248]
    0028a468str x7, [sp+256]
    0028a46cstr x8, [sp+264]
    0028a470str xzr, [sp+112]
    0028a474stp xzr, xzr, [sp+120]
    0028a478ldr x9, [sp+232]
    0028a47cstr x9, [sp+96]
    0028a480ldr x10, [sp+256]
    0028a484str x10, [sp+88]
    0028a488subs xzr, x10, x9
    0028a48cb.gt 0x28a494
    0028a490b 0x28a4e4
    0028a494
    0028a494loc_28a494:
    0028a494b 0x28a498
    0028a498
    0028a498loc_28a498:
    0028a498ldr x0, [sp+200]
    0028a49cldr x3, [sp+248]
    0028a4a0ldr x6, [sp+224]
    0028a4a4ldr x1, [sp+208]
    0028a4a8ldr x4, [sp+256]
    0028a4acldr x7, [sp+232]
    0028a4b0ldr x2, [sp+216]
    0028a4b4ldr x5, [sp+264]
    0028a4b8ldr x8, [sp+240]
    0028a4bcbl math/big.nat.add
    0028a4c0str x0, [sp+160]
    0028a4c4str x1, [sp+168]
    0028a4c8str x2, [sp+176]
    0028a4ccstr x0, [sp+112]
    0028a4d0str x1, [sp+120]
    0028a4d4str x2, [sp+128]
    0028a4d8ldur x29, [sp-8]
    0028a4dcldr x30, [sp], 192
    0028a4e0ret x30
    0028a4e4
    0028a4e4loc_28a4e4:
    0028a4e4cbz x9, 0x28a4ec
    0028a4e8b 0x28a528
    0028a4ec
    0028a4ecloc_28a4ec:
    0028a4ecb 0x28a4f0
    0028a4f0
    0028a4f0loc_28a4f0:
    0028a4f0ldr x0, [sp+200]
    0028a4f4ldr x2, [sp+216]
    0028a4f8b 0x28a4fc
    0028a4fc
    0028a4fcloc_28a4fc:
    0028a4fcb 0x28a500
    0028a500
    0028a500loc_28a500:
    0028a500str x0, [sp+160]
    0028a504str xzr, [sp+168]
    0028a508str x2, [sp+176]
    0028a50cstr x0, [sp+112]
    0028a510str xzr, [sp+120]
    0028a514str x2, [sp+128]
    0028a518mov x1, xzr
    0028a51cldur x29, [sp-8]
    0028a520ldr x30, [sp], 192
    0028a524ret x30
    0028a528
    0028a528loc_28a528:
    0028a528cbz x10, 0x28a530
    0028a52cb 0x28a574
    0028a530
    0028a530loc_28a530:
    0028a530b 0x28a534
    0028a534
    0028a534loc_28a534:
    0028a534ldr x0, [sp+200]
    0028a538ldr x3, [sp+224]
    0028a53cldr x1, [sp+208]
    0028a540ldr x4, [sp+232]
    0028a544ldr x2, [sp+216]
    0028a548ldr x5, [sp+240]
    0028a54cbl math/big.nat.set
    0028a550str x0, [sp+160]
    0028a554str x1, [sp+168]
    0028a558str x2, [sp+176]
    0028a55cstr x0, [sp+112]
    0028a560str x1, [sp+120]
    0028a564str x2, [sp+128]
    0028a568ldur x29, [sp-8]
    0028a56cldr x30, [sp], 192
    0028a570ret x30
    0028a574
    0028a574loc_28a574:
    0028a574b 0x28a578
    0028a578
    0028a578loc_28a578:
    0028a578ldr x0, [sp+200]
    0028a57cldr x1, [sp+208]
    0028a580ldr x2, [sp+216]
    0028a584add x3, x9, 1
    0028a588bl math/big.nat.make
    0028a58cstr x0, [sp+200]
    0028a590str x1, [sp+208]
    0028a594str x2, [sp+216]
    0028a598ldr x1, [sp+88]
    0028a59csubs xzr, x2, x1
    0028a5a0b.hs 0x28a5a8
    0028a5a4b 0x28a748
    0028a5a8
    0028a5a8loc_28a5a8:
    0028a5a8b 0x28a5ac
    0028a5ac
    0028a5acloc_28a5ac:
    0028a5acstr x0, [sp+160]
    0028a5b0str x1, [sp+168]
    0028a5b4str x2, [sp+176]
    0028a5b8ldr x3, [sp+224]
    0028a5bcldr x4, [sp+232]
    0028a5c0ldr x5, [sp+240]
    0028a5c4ldr x6, [sp+248]
    0028a5c8ldr x7, [sp+256]
    0028a5ccldr x8, [sp+264]
    0028a5d0str x0, [sp+8]
    0028a5d4str x1, [sp+16]
    0028a5d8str x2, [sp+24]
    0028a5dcstr x3, [sp+32]
    0028a5e0str x4, [sp+40]
    0028a5e4str x5, [sp+48]
    0028a5e8str x6, [sp+56]
    0028a5ecstr x7, [sp+64]
    0028a5f0str x8, [sp+72]
    0028a5f4bl math/big.addVV.abi0
    0028a5f8ldr x0, [sp+80]
    0028a5fcstr x0, [sp+104]
    0028a600ldr x0, [sp+88]
    0028a604ldr x1, [sp+96]
    0028a608subs xzr, x0, x1
    0028a60cb.lt 0x28a614
    0028a610b 0x28a6e0
    0028a614
    0028a614loc_28a614:
    0028a614ldr x1, [sp+96]
    0028a618ldr x0, [sp+88]
    0028a61cldr x2, [sp+216]
    0028a620ldr x3, [sp+200]
    0028a624subs xzr, x2, x1
    0028a628b.hs 0x28a630
    0028a62cb 0x28a744
    0028a630
    0028a630loc_28a630:
    0028a630subs xzr, x1, x0
    0028a634b.hs 0x28a63c
    0028a638b 0x28a740
    0028a63c
    0028a63cloc_28a63c:
    0028a63csub x2, x2, x0
    0028a640sub x4, x1, x0
    0028a644sub x5, xzr, x2
    0028a648ubfm x6, x0, 61, 60
    0028a64cand x5, x6, x5, asr #63
    0028a650add x3, x3, x5
    0028a654str x3, [sp+160]
    0028a658str x4, [sp+168]
    0028a65cstr x2, [sp+176]
    0028a660ldr x0, [sp+88]
    0028a664ldr x1, [sp+232]
    0028a668ldr x2, [sp+224]
    0028a66cldr x3, [sp+240]
    0028a670b 0x28a674
    0028a674
    0028a674loc_28a674:
    0028a674subs xzr, x1, x0
    0028a678b.hs 0x28a680
    0028a67cb 0x28a73c
    0028a680
    0028a680loc_28a680:
    0028a680sub x3, x3, x0
    0028a684sub x1, x1, x0
    0028a688sub x4, xzr, x3
    0028a68cubfm x0, x0, 61, 60
    0028a690and x0, x0, x4, asr #63
    0028a694add x0, x2, x0
    0028a698str x0, [sp+136]
    0028a69cstr x1, [sp+144]
    0028a6a0str x3, [sp+152]
    0028a6a4ldr x2, [sp+104]
    0028a6a8ldr x4, [sp+160]
    0028a6acldr x5, [sp+168]
    0028a6b0ldr x6, [sp+176]
    0028a6b4str x4, [sp+8]
    0028a6b8str x5, [sp+16]
    0028a6bcstr x6, [sp+24]
    0028a6c0str x0, [sp+32]
    0028a6c4str x1, [sp+40]
    0028a6c8str x3, [sp+48]
    0028a6ccstr x2, [sp+56]
    0028a6d0bl math/big.addVW.abi0
    0028a6d4ldr x0, [sp+64]
    0028a6d8str x0, [sp+104]
    0028a6dcb 0x28a6e4
    0028a6e0
    0028a6e0loc_28a6e0:
    0028a6e0b 0x28a6e4
    0028a6e4
    0028a6e4loc_28a6e4:
    0028a6e4ldr x0, [sp+96]
    0028a6e8ldr x1, [sp+208]
    0028a6ecldr x3, [sp+200]
    0028a6f0ldr x4, [sp+104]
    0028a6f4subs xzr, x1, x0
    0028a6f8b.hi 0x28a700
    0028a6fcb 0x28a738
    0028a700
    0028a700loc_28a700:
    0028a700str x4, [x3+3*x0]
    0028a704ldr x0, [sp+200]
    0028a708ldr x1, [sp+208]
    0028a70cldr x2, [sp+216]
    0028a710bl math/big.nat.norm
    0028a714str x0, [sp+136]
    0028a718str x1, [sp+144]
    0028a71cstr x2, [sp+152]
    0028a720str x0, [sp+112]
    0028a724str x1, [sp+120]
    0028a728str x2, [sp+128]
    0028a72cldur x29, [sp-8]
    0028a730ldr x30, [sp], 192
    0028a734ret x30
    0028a738
    0028a738loc_28a738:
    0028a738bl runtime.panicIndex
    0028a73c
    0028a73cloc_28a73c:
    0028a73cbl runtime.panicSliceB
    0028a740
    0028a740loc_28a740:
    0028a740bl runtime.panicSliceB
    0028a744
    0028a744loc_28a744:
    0028a744bl runtime.panicSliceAcap
    0028a748
    0028a748loc_28a748:
    0028a748bl runtime.panicSliceAcap
    0028a74chint
    0028a750
    0028a750loc_28a750:
    0028a750stp x0, x1, [sp+8]
    0028a754stp x2, x3, [sp+24]
    0028a758stp x4, x5, [sp+40]
    0028a75cstp x6, x7, [sp+56]
    0028a760str x8, [sp+72]
    0028a764mov x3, x30
    0028a768bl runtime.morestack_noctxt.abi0
    0028a76cldp x0, x1, [sp+8]
    0028a770ldp x2, x3, [sp+24]
    0028a774ldp x4, x5, [sp+40]
    0028a778ldp x6, x7, [sp+56]
    0028a77cldr x8, [sp+72]
    0028a780b 0x28a430
    0028a784udf 0
    0028a788udf 0
    0028a78cudf 0
    0028a430
    0028a790
    0028a790math/big.nat.sub: ; void math/big.nat.sub(math/big.nat z, math/big.nat x, math/big.nat y)
    0028a790ldr x16, [x28+16]
    0028a794sub x17, sp, 64
    0028a798subs xzr, x17, x16
    0028a79cb.ls 0x28aa64
    0028a7a0str x30, [sp-192]!
    0028a7a4stur x29, [sp-8]
    0028a7a8sub x29, sp, 8
    0028a7acstr x0, [sp+200]
    0028a7b0str x1, [sp+208]
    0028a7b4str x2, [sp+216]
    0028a7b8str x3, [sp+224]
    0028a7bcstr x4, [sp+232]
    0028a7c0str x5, [sp+240]
    0028a7c4str x6, [sp+248]
    0028a7c8str x7, [sp+256]
    0028a7ccstr x8, [sp+264]
    0028a7d0str xzr, [sp+112]
    0028a7d4stp xzr, xzr, [sp+120]
    0028a7d8ldr x3, [sp+232]
    0028a7dcstr x3, [sp+96]
    0028a7e0ldr x6, [sp+256]
    0028a7e4str x6, [sp+88]
    0028a7e8subs xzr, x6, x3
    0028a7ecb.gt 0x28aa48
    0028a7f0b 0x28a7f4
    0028a7f4
    0028a7f4loc_28a7f4:
    0028a7f4cbz x3, 0x28a7fc
    0028a7f8b 0x28a838
    0028a7fc
    0028a7fcloc_28a7fc:
    0028a7fcb 0x28a800
    0028a800
    0028a800loc_28a800:
    0028a800ldr x0, [sp+200]
    0028a804ldr x2, [sp+216]
    0028a808b 0x28a80c
    0028a80c
    0028a80cloc_28a80c:
    0028a80cb 0x28a810
    0028a810
    0028a810loc_28a810:
    0028a810str x0, [sp+160]
    0028a814str xzr, [sp+168]
    0028a818str x2, [sp+176]
    0028a81cstr x0, [sp+112]
    0028a820str xzr, [sp+120]
    0028a824str x2, [sp+128]
    0028a828mov x1, xzr
    0028a82cldur x29, [sp-8]
    0028a830ldr x30, [sp], 192
    0028a834ret x30
    0028a838
    0028a838loc_28a838:
    0028a838cbz x6, 0x28a840
    0028a83cb 0x28a884
    0028a840
    0028a840loc_28a840:
    0028a840b 0x28a844
    0028a844
    0028a844loc_28a844:
    0028a844ldr x0, [sp+200]
    0028a848ldr x3, [sp+224]
    0028a84cldr x1, [sp+208]
    0028a850ldr x4, [sp+232]
    0028a854ldr x2, [sp+216]
    0028a858ldr x5, [sp+240]
    0028a85cbl math/big.nat.set
    0028a860str x0, [sp+160]
    0028a864str x1, [sp+168]
    0028a868str x2, [sp+176]
    0028a86cstr x0, [sp+112]
    0028a870str x1, [sp+120]
    0028a874str x2, [sp+128]
    0028a878ldur x29, [sp-8]
    0028a87cldr x30, [sp], 192
    0028a880ret x30
    0028a884
    0028a884loc_28a884:
    0028a884b 0x28a888
    0028a888
    0028a888loc_28a888:
    0028a888ldr x0, [sp+200]
    0028a88cldr x1, [sp+208]
    0028a890ldr x2, [sp+216]
    0028a894bl math/big.nat.make
    0028a898str x0, [sp+200]
    0028a89cstr x1, [sp+208]
    0028a8a0str x2, [sp+216]
    0028a8a4ldr x1, [sp+88]
    0028a8a8subs xzr, x2, x1
    0028a8acb.hs 0x28a8b4
    0028a8b0b 0x28aa44
    0028a8b4
    0028a8b4loc_28a8b4:
    0028a8b4b 0x28a8b8
    0028a8b8
    0028a8b8loc_28a8b8:
    0028a8b8str x0, [sp+160]
    0028a8bcstr x1, [sp+168]
    0028a8c0str x2, [sp+176]
    0028a8c4ldr x3, [sp+224]
    0028a8c8ldr x4, [sp+232]
    0028a8ccldr x5, [sp+240]
    0028a8d0ldr x6, [sp+248]
    0028a8d4ldr x7, [sp+256]
    0028a8d8ldr x8, [sp+264]
    0028a8dcstr x0, [sp+8]
    0028a8e0str x1, [sp+16]
    0028a8e4str x2, [sp+24]
    0028a8e8str x3, [sp+32]
    0028a8ecstr x4, [sp+40]
    0028a8f0str x5, [sp+48]
    0028a8f4str x6, [sp+56]
    0028a8f8str x7, [sp+64]
    0028a8fcstr x8, [sp+72]
    0028a900bl math/big.subVV.abi0
    0028a904ldr x0, [sp+80]
    0028a908str x0, [sp+104]
    0028a90cldr x0, [sp+88]
    0028a910ldr x1, [sp+96]
    0028a914subs xzr, x0, x1
    0028a918b.lt 0x28a920
    0028a91cb 0x28a9e4
    0028a920
    0028a920loc_28a920:
    0028a920ldr x0, [sp+88]
    0028a924ldr x1, [sp+208]
    0028a928ldr x2, [sp+200]
    0028a92cldr x3, [sp+216]
    0028a930b 0x28a934
    0028a934
    0028a934loc_28a934:
    0028a934subs xzr, x1, x0
    0028a938b.hs 0x28a940
    0028a93cb 0x28aa40
    0028a940
    0028a940loc_28a940:
    0028a940sub x3, x3, x0
    0028a944sub x4, x1, x0
    0028a948sub x5, xzr, x3
    0028a94cubfm x6, x0, 61, 60
    0028a950and x5, x6, x5, asr #63
    0028a954add x2, x2, x5
    0028a958str x2, [sp+160]
    0028a95cstr x4, [sp+168]
    0028a960str x3, [sp+176]
    0028a964ldr x0, [sp+88]
    0028a968ldr x1, [sp+232]
    0028a96cldr x2, [sp+224]
    0028a970ldr x3, [sp+240]
    0028a974b 0x28a978
    0028a978
    0028a978loc_28a978:
    0028a978subs xzr, x1, x0
    0028a97cb.hs 0x28a984
    0028a980b 0x28aa3c
    0028a984
    0028a984loc_28a984:
    0028a984sub x3, x3, x0
    0028a988sub x1, x1, x0
    0028a98csub x4, xzr, x3
    0028a990ubfm x0, x0, 61, 60
    0028a994and x0, x0, x4, asr #63
    0028a998add x0, x2, x0
    0028a99cstr x0, [sp+136]
    0028a9a0str x1, [sp+144]
    0028a9a4str x3, [sp+152]
    0028a9a8ldr x2, [sp+104]
    0028a9acldr x4, [sp+160]
    0028a9b0ldr x5, [sp+168]
    0028a9b4ldr x6, [sp+176]
    0028a9b8str x4, [sp+8]
    0028a9bcstr x5, [sp+16]
    0028a9c0str x6, [sp+24]
    0028a9c4str x0, [sp+32]
    0028a9c8str x1, [sp+40]
    0028a9ccstr x3, [sp+48]
    0028a9d0str x2, [sp+56]
    0028a9d4bl math/big.subVW.abi0
    0028a9d8ldr x0, [sp+64]
    0028a9dcstr x0, [sp+104]
    0028a9e0b 0x28a9e8
    0028a9e4
    0028a9e4loc_28a9e4:
    0028a9e4b 0x28a9e8
    0028a9e8
    0028a9e8loc_28a9e8:
    0028a9e8ldr x3, [sp+104]
    0028a9eccbnz x3, 0x28aa28
    0028a9f0b 0x28a9f4
    0028a9f4
    0028a9f4loc_28a9f4:
    0028a9f4ldr x0, [sp+200]
    0028a9f8ldr x1, [sp+208]
    0028a9fcldr x2, [sp+216]
    0028aa00bl math/big.nat.norm
    0028aa04str x0, [sp+136]
    0028aa08str x1, [sp+144]
    0028aa0cstr x2, [sp+152]
    0028aa10str x0, [sp+112]
    0028aa14str x1, [sp+120]
    0028aa18str x2, [sp+128]
    0028aa1cldur x29, [sp-8]
    0028aa20ldr x30, [sp], 192
    0028aa24ret x30
    0028aa28
    0028aa28loc_28aa28:
    0028aa28adrp x0, 0x36b000
    0028aa2cadd x0, x0, 2944
    0028aa30adrp x1, 0x488000
    0028aa34add x1, x1, 1184
    0028aa38bl runtime.gopanic
    0028aa3c
    0028aa3cloc_28aa3c:
    0028aa3cbl runtime.panicSliceB
    0028aa40
    0028aa40loc_28aa40:
    0028aa40bl runtime.panicSliceB
    0028aa44
    0028aa44loc_28aa44:
    0028aa44bl runtime.panicSliceAcap
    0028aa48
    0028aa48loc_28aa48:
    0028aa48b 0x28aa4c
    0028aa4c
    0028aa4cloc_28aa4c:
    0028aa4cadrp x0, 0x36b000
    0028aa50add x0, x0, 2944
    0028aa54adrp x1, 0x488000
    0028aa58add x1, x1, 1184
    0028aa5cbl runtime.gopanic
    0028aa60hint
    0028aa64
    0028aa64loc_28aa64:
    0028aa64stp x0, x1, [sp+8]
    0028aa68stp x2, x3, [sp+24]
    0028aa6cstp x4, x5, [sp+40]
    0028aa70stp x6, x7, [sp+56]
    0028aa74str x8, [sp+72]
    0028aa78mov x3, x30
    0028aa7cbl runtime.morestack_noctxt.abi0
    0028aa80ldp x0, x1, [sp+8]
    0028aa84ldp x2, x3, [sp+24]
    0028aa88ldp x4, x5, [sp+40]
    0028aa8cldp x6, x7, [sp+56]
    0028aa90ldr x8, [sp+72]
    0028aa94b 0x28a790
    0028aa98udf 0
    0028aa9cudf 0
    0028a790
    0028aaa0
    0028aaa0math/big.nat.cmp: ; void math/big.nat.cmp(math/big.nat x, math/big.nat y)
    0028aaa0ldr x16, [x28+16]
    0028aaa4subs xzr, sp, x16
    0028aaa8b.ls 0x28ace0
    0028aaacstr x30, [sp-80]!
    0028aab0stur x29, [sp-8]
    0028aab4sub x29, sp, 8
    0028aab8str x0, [sp+88]
    0028aabcstr x1, [sp+96]
    0028aac0str x2, [sp+104]
    0028aac4str x3, [sp+112]
    0028aac8str x4, [sp+120]
    0028aaccstr x5, [sp+128]
    0028aad0str xzr, [sp+40]
    0028aad4ldr x2, [sp+96]
    0028aad8str x2, [sp+56]
    0028aadcstr x4, [sp+48]
    0028aae0subs xzr, x4, x2
    0028aae4cset x2, ne
    0028aae8strb w2, [sp+39]
    0028aaecb.ne 0x28aaf4
    0028aaf0b 0x28aaf8
    0028aaf4
    0028aaf4loc_28aaf4:
    0028aaf4b 0x28ab0c
    0028aaf8
    0028aaf8loc_28aaf8:
    0028aaf8ldr x2, [sp+56]
    0028aafcsubs xzr, x2, 0
    0028ab00cset x2, eq
    0028ab04strb w2, [sp+39]
    0028ab08b 0x28ab0c
    0028ab0c
    0028ab0cloc_28ab0c:
    0028ab0cldrb w2, [sp+39]
    0028ab10tbnz w2, 0, 0x28ab18
    0028ab14b 0x28ab74
    0028ab18
    0028ab18loc_28ab18:
    0028ab18ldr x1, [sp+48]
    0028ab1cldr x2, [sp+56]
    0028ab20subs xzr, x1, x2
    0028ab24b.gt 0x28ab2c
    0028ab28b 0x28ab3c
    0028ab2c
    0028ab2cloc_28ab2c:
    0028ab2cb 0x28ab30
    0028ab30
    0028ab30loc_28ab30:
    0028ab30movn x1, 0
    0028ab34str x1, [sp+40]
    0028ab38b 0x28ab64
    0028ab3c
    0028ab3cloc_28ab3c:
    0028ab3cldr x1, [sp+48]
    0028ab40ldr x2, [sp+56]
    0028ab44subs xzr, x1, x2
    0028ab48b.lt 0x28ab50
    0028ab4cb 0x28ab60
    0028ab50
    0028ab50loc_28ab50:
    0028ab50b 0x28ab54
    0028ab54
    0028ab54loc_28ab54:
    0028ab54orr x1, xzr, 1
    0028ab58str x1, [sp+40]
    0028ab5cb 0x28ab64
    0028ab60
    0028ab60loc_28ab60:
    0028ab60b 0x28ab64
    0028ab64
    0028ab64loc_28ab64:
    0028ab64ldr x0, [sp+40]
    0028ab68ldur x29, [sp-8]
    0028ab6cldr x30, [sp], 80
    0028ab70ret x30
    0028ab74
    0028ab74loc_28ab74:
    0028ab74ldr x2, [sp+56]
    0028ab78sub x2, x2, 1
    0028ab7cstr x2, [sp+64]
    0028ab80b 0x28ab84
    0028ab84
    0028ab84loc_28ab84:
    0028ab84ldr x2, [sp+64]
    0028ab88subs xzr, x2, 0
    0028ab8ccset x2, gt
    0028ab90strb w2, [sp+39]
    0028ab94b.gt 0x28ab9c
    0028ab98b 0x28abe4
    0028ab9c
    0028ab9cloc_28ab9c:
    0028ab9cldr x0, [sp+64]
    0028aba0ldr x1, [sp+96]
    0028aba4ldr x2, [sp+88]
    0028aba8subs xzr, x0, x1
    0028abacb.lo 0x28abb4
    0028abb0b 0x28acd8
    0028abb4
    0028abb4loc_28abb4:
    0028abb4ldr x2, [x2+3*x0]
    0028abb8ldr x0, [sp+64]
    0028abbcldr x1, [sp+120]
    0028abc0ldr x3, [sp+112]
    0028abc4subs xzr, x0, x1
    0028abc8b.lo 0x28abd0
    0028abccb 0x28acd4
    0028abd0
    0028abd0loc_28abd0:
    0028abd0ldr x3, [x3+3*x0]
    0028abd4subs xzr, x3, x2
    0028abd8cset x2, eq
    0028abdcstrb w2, [sp+39]
    0028abe0b 0x28abe8
    0028abe4
    0028abe4loc_28abe4:
    0028abe4b 0x28abe8
    0028abe8
    0028abe8loc_28abe8:
    0028abe8ldrb w2, [sp+39]
    0028abectbnz w2, 0, 0x28abf4
    0028abf0b 0x28ac08
    0028abf4
    0028abf4loc_28abf4:
    0028abf4ldr x2, [sp+64]
    0028abf8sub x2, x2, 1
    0028abfcstr x2, [sp+64]
    0028ac00b 0x28ac04
    0028ac04
    0028ac04loc_28ac04:
    0028ac04b 0x28ab84
    0028ac08
    0028ac08loc_28ac08:
    0028ac08ldr x0, [sp+64]
    0028ac0cldr x1, [sp+96]
    0028ac10ldr x2, [sp+88]
    0028ac14subs xzr, x0, x1
    0028ac18b.lo 0x28ac20
    0028ac1cb 0x28acd0
    0028ac20
    0028ac20loc_28ac20:
    0028ac20ldr x2, [x2+3*x0]
    0028ac24ldr x0, [sp+64]
    0028ac28ldr x1, [sp+120]
    0028ac2cldr x3, [sp+112]
    0028ac30subs xzr, x1, x0
    0028ac34b.hi 0x28ac3c
    0028ac38b 0x28accc
    0028ac3c
    0028ac3cloc_28ac3c:
    0028ac3cldr x3, [x3+3*x0]
    0028ac40subs xzr, x3, x2
    0028ac44b.hi 0x28ac4c
    0028ac48b 0x28ac5c
    0028ac4c
    0028ac4cloc_28ac4c:
    0028ac4cb 0x28ac50
    0028ac50
    0028ac50loc_28ac50:
    0028ac50movn x1, 0
    0028ac54str x1, [sp+40]
    0028ac58b 0x28acb4
    0028ac5c
    0028ac5cloc_28ac5c:
    0028ac5cldr x0, [sp+64]
    0028ac60ldr x1, [sp+96]
    0028ac64ldr x2, [sp+88]
    0028ac68subs xzr, x0, x1
    0028ac6cb.lo 0x28ac74
    0028ac70b 0x28acc8
    0028ac74
    0028ac74loc_28ac74:
    0028ac74ldr x2, [x2+3*x0]
    0028ac78ldr x0, [sp+64]
    0028ac7cldr x1, [sp+120]
    0028ac80ldr x3, [sp+112]
    0028ac84subs xzr, x1, x0
    0028ac88b.hi 0x28ac90
    0028ac8cb 0x28acc4
    0028ac90
    0028ac90loc_28ac90:
    0028ac90ldr x1, [x3+3*x0]
    0028ac94subs xzr, x1, x2
    0028ac98b.lo 0x28aca0
    0028ac9cb 0x28acb0
    0028aca0
    0028aca0loc_28aca0:
    0028aca0b 0x28aca4
    0028aca4
    0028aca4loc_28aca4:
    0028aca4orr x1, xzr, 1
    0028aca8str x1, [sp+40]
    0028acacb 0x28acb4
    0028acb0
    0028acb0loc_28acb0:
    0028acb0b 0x28acb4
    0028acb4
    0028acb4loc_28acb4:
    0028acb4ldr x0, [sp+40]
    0028acb8ldur x29, [sp-8]
    0028acbcldr x30, [sp], 80
    0028acc0ret x30
    0028acc4
    0028acc4loc_28acc4:
    0028acc4bl runtime.panicIndex
    0028acc8
    0028acc8loc_28acc8:
    0028acc8bl runtime.panicIndex
    0028accc
    0028acccloc_28accc:
    0028acccbl runtime.panicIndex
    0028acd0
    0028acd0loc_28acd0:
    0028acd0bl runtime.panicIndex
    0028acd4
    0028acd4loc_28acd4:
    0028acd4bl runtime.panicIndex
    0028acd8
    0028acd8loc_28acd8:
    0028acd8bl runtime.panicIndex
    0028acdchint
    0028ace0
    0028ace0loc_28ace0:
    0028ace0stp x0, x1, [sp+8]
    0028ace4stp x2, x3, [sp+24]
    0028ace8stp x4, x5, [sp+40]
    0028acecmov x3, x30
    0028acf0bl runtime.morestack_noctxt.abi0
    0028acf4ldp x0, x1, [sp+8]
    0028acf8ldp x2, x3, [sp+24]
    0028acfcldp x4, x5, [sp+40]
    0028ad00b 0x28aaa0
    0028ad04udf 0
    0028ad08udf 0
    0028ad0cudf 0
    0028aaa0
    0028ad10
    0028ad10math/big.nat.mulAddWW: ; void math/big.nat.mulAddWW(math/big.nat z, math/big.nat x, math/big.Word y, math/big.Word r)
    0028ad10ldr x16, [x28+16]
    0028ad14sub x17, sp, 32
    0028ad18subs xzr, x17, x16
    0028ad1cb.ls 0x28aeb4
    0028ad20str x30, [sp-160]!
    0028ad24stur x29, [sp-8]
    0028ad28sub x29, sp, 8
    0028ad2cstr x0, [sp+168]
    0028ad30str x1, [sp+176]
    0028ad34str x2, [sp+184]
    0028ad38str x3, [sp+192]
    0028ad3cstr x4, [sp+200]
    0028ad40str x5, [sp+208]
    0028ad44str x6, [sp+216]
    0028ad48str x7, [sp+224]
    0028ad4cstr xzr, [sp+104]
    0028ad50stp xzr, xzr, [sp+112]
    0028ad54ldr x4, [sp+200]
    0028ad58str x4, [sp+88]
    0028ad5csubs xzr, x4, 0
    0028ad60cset x5, eq
    0028ad64strb w5, [sp+87]
    0028ad68cbz x4, 0x28ad70
    0028ad6cb 0x28ad74
    0028ad70
    0028ad70loc_28ad70:
    0028ad70b 0x28ad88
    0028ad74
    0028ad74loc_28ad74:
    0028ad74ldr x4, [sp+216]
    0028ad78subs xzr, x4, 0
    0028ad7ccset x4, eq
    0028ad80strb w4, [sp+87]
    0028ad84b 0x28ad88
    0028ad88
    0028ad88loc_28ad88:
    0028ad88ldrb w4, [sp+87]
    0028ad8ctbnz w4, 0, 0x28ad94
    0028ad90b 0x28adcc
    0028ad94
    0028ad94loc_28ad94:
    0028ad94ldr x3, [sp+224]
    0028ad98ldr x0, [sp+168]
    0028ad9cldr x1, [sp+176]
    0028ada0ldr x2, [sp+184]
    0028ada4bl math/big.nat.setWord
    0028ada8str x0, [sp+128]
    0028adacstr x1, [sp+136]
    0028adb0str x2, [sp+144]
    0028adb4str x0, [sp+104]
    0028adb8str x1, [sp+112]
    0028adbcstr x2, [sp+120]
    0028adc0ldur x29, [sp-8]
    0028adc4ldr x30, [sp], 160
    0028adc8ret x30
    0028adcc
    0028adccloc_28adcc:
    0028adccldr x0, [sp+168]
    0028add0ldr x1, [sp+176]
    0028add4ldr x2, [sp+184]
    0028add8ldr x4, [sp+88]
    0028addcadd x3, x4, 1
    0028ade0bl math/big.nat.make
    0028ade4str x0, [sp+168]
    0028ade8str x1, [sp+176]
    0028adecstr x2, [sp+184]
    0028adf0ldr x1, [sp+88]
    0028adf4subs xzr, x2, x1
    0028adf8b.hs 0x28ae00
    0028adfcb 0x28aeac
    0028ae00
    0028ae00loc_28ae00:
    0028ae00b 0x28ae04
    0028ae04
    0028ae04loc_28ae04:
    0028ae04str x0, [sp+128]
    0028ae08str x1, [sp+136]
    0028ae0cstr x2, [sp+144]
    0028ae10ldr x3, [sp+216]
    0028ae14ldr x4, [sp+224]
    0028ae18ldr x5, [sp+192]
    0028ae1cldr x6, [sp+200]
    0028ae20ldr x7, [sp+208]
    0028ae24str x0, [sp+8]
    0028ae28str x1, [sp+16]
    0028ae2cstr x2, [sp+24]
    0028ae30str x5, [sp+32]
    0028ae34str x6, [sp+40]
    0028ae38str x7, [sp+48]
    0028ae3cstr x3, [sp+56]
    0028ae40str x4, [sp+64]
    0028ae44bl math/big.mulAddVWW.abi0
    0028ae48ldr x0, [sp+72]
    0028ae4cstr x0, [sp+96]
    0028ae50ldr x1, [sp+88]
    0028ae54ldr x2, [sp+176]
    0028ae58ldr x3, [sp+168]
    0028ae5csubs xzr, x2, x1
    0028ae60b.hi 0x28ae68
    0028ae64b 0x28aea0
    0028ae68
    0028ae68loc_28ae68:
    0028ae68str x0, [x3+3*x1]
    0028ae6cldr x0, [sp+168]
    0028ae70ldr x1, [sp+176]
    0028ae74ldr x2, [sp+184]
    0028ae78bl math/big.nat.norm
    0028ae7cstr x0, [sp+128]
    0028ae80str x1, [sp+136]
    0028ae84str x2, [sp+144]
    0028ae88str x0, [sp+104]
    0028ae8cstr x1, [sp+112]
    0028ae90str x2, [sp+120]
    0028ae94ldur x29, [sp-8]
    0028ae98ldr x30, [sp], 160
    0028ae9cret x30
    0028aea0
    0028aea0loc_28aea0:
    0028aea0mov x0, x1
    0028aea4mov x1, x2
    0028aea8bl runtime.panicIndex
    0028aeac
    0028aeacloc_28aeac:
    0028aeacbl runtime.panicSliceAcap
    0028aeb0hint
    0028aeb4
    0028aeb4loc_28aeb4:
    0028aeb4stp x0, x1, [sp+8]
    0028aeb8stp x2, x3, [sp+24]
    0028aebcstp x4, x5, [sp+40]
    0028aec0stp x6, x7, [sp+56]
    0028aec4mov x3, x30
    0028aec8bl runtime.morestack_noctxt.abi0
    0028aeccldp x0, x1, [sp+8]
    0028aed0ldp x2, x3, [sp+24]
    0028aed4ldp x4, x5, [sp+40]
    0028aed8ldp x6, x7, [sp+56]
    0028aedcb 0x28ad10
    0028ad10
    0028aee0
    0028aee0math/big.basicMul: ; void math/big.basicMul(math/big.nat z, math/big.nat x, math/big.nat y)
    0028aee0ldr x16, [x28+16]
    0028aee4sub x17, sp, 96
    0028aee8subs xzr, x17, x16
    0028aeecb.ls 0x28b0dc
    0028aef0str x30, [sp-224]!
    0028aef4stur x29, [sp-8]
    0028aef8sub x29, sp, 8
    0028aefcstr x0, [sp+232]
    0028af00str x1, [sp+240]
    0028af04str x2, [sp+248]
    0028af08str x3, [sp+256]
    0028af0cstr x4, [sp+264]
    0028af10str x5, [sp+272]
    0028af14str x6, [sp+280]
    0028af18str x7, [sp+288]
    0028af1cstr x8, [sp+296]
    0028af20str x4, [sp+112]
    0028af24str x7, [sp+104]
    0028af28add x1, x4, x7
    0028af2cstr x1, [sp+96]
    0028af30ldr x2, [sp+248]
    0028af34ldr x3, [sp+232]
    0028af38subs xzr, x2, x1
    0028af3cb.hs 0x28af44
    0028af40b 0x28b0d4
    0028af44
    0028af44loc_28af44:
    0028af44b 0x28af48
    0028af48
    0028af48loc_28af48:
    0028af48str x3, [sp+184]
    0028af4cstr x1, [sp+192]
    0028af50str x2, [sp+200]
    0028af54cbnz x1, 0x28af5c
    0028af58b 0x28af7c
    0028af5c
    0028af5cloc_28af5c:
    0028af5cstr x3, [sp+208]
    0028af60ldr x2, [sp+192]
    0028af64ubfm x2, x2, 61, 60
    0028af68str x2, [sp+144]
    0028af6cldr x1, [sp+144]
    0028af70ldr x0, [sp+208]
    0028af74bl runtime.memclrNoHeapPointers
    0028af78b 0x28af80
    0028af7c
    0028af7cloc_28af7c:
    0028af7cb 0x28af80
    0028af80
    0028af80loc_28af80:
    0028af80ldr x3, [sp+288]
    0028af84ldr x4, [sp+280]
    0028af88ldr x5, [sp+296]
    0028af8cstr x4, [sp+184]
    0028af90str x3, [sp+192]
    0028af94str x5, [sp+200]
    0028af98str xzr, [sp+136]
    0028af9cstr x3, [sp+128]
    0028afa0b 0x28afa4
    0028afa4
    0028afa4loc_28afa4:
    0028afa4ldr x3, [sp+128]
    0028afa8ldr x4, [sp+136]
    0028afacsubs xzr, x3, x4
    0028afb0b.gt 0x28afb8
    0028afb4b 0x28b0b4
    0028afb8
    0028afb8loc_28afb8:
    0028afb8ldr x3, [sp+136]
    0028afbcstr x3, [sp+80]
    0028afc0ldr x4, [sp+136]
    0028afc4ldr x5, [sp+184]
    0028afc8ldr x4, [x5+3*x4]
    0028afccstr x4, [sp+88]
    0028afd0cbnz x4, 0x28afd8
    0028afd4b 0x28b09c
    0028afd8
    0028afd8loc_28afd8:
    0028afd8ldr x4, [sp+264]
    0028afdcstr x4, [sp+96]
    0028afe0ldr x4, [sp+264]
    0028afe4str x4, [sp+104]
    0028afe8add x1, x3, x4
    0028afecstr x1, [sp+112]
    0028aff0ldr x0, [sp+80]
    0028aff4ldr x2, [sp+248]
    0028aff8ldr x3, [sp+232]
    0028affcsubs xzr, x2, x1
    0028b000b.hs 0x28b008
    0028b004b 0x28b0d0
    0028b008
    0028b008loc_28b008:
    0028b008subs xzr, x0, x1
    0028b00cb.ls 0x28b014
    0028b010b 0x28b0cc
    0028b014
    0028b014loc_28b014:
    0028b014sub x2, x2, x0
    0028b018sub x1, x1, x0
    0028b01csub x4, xzr, x2
    0028b020ubfm x0, x0, 61, 60
    0028b024and x0, x0, x4, asr #63
    0028b028add x0, x3, x0
    0028b02cstr x0, [sp+160]
    0028b030str x1, [sp+168]
    0028b034str x2, [sp+176]
    0028b038ldr x3, [sp+88]
    0028b03cldr x4, [sp+256]
    0028b040ldr x5, [sp+264]
    0028b044ldr x6, [sp+272]
    0028b048str x0, [sp+8]
    0028b04cstr x1, [sp+16]
    0028b050str x2, [sp+24]
    0028b054str x4, [sp+32]
    0028b058str x5, [sp+40]
    0028b05cstr x6, [sp+48]
    0028b060str x3, [sp+56]
    0028b064bl math/big.addMulVVW.abi0
    0028b068ldr x0, [sp+64]
    0028b06cstr x0, [sp+152]
    0028b070ldr x1, [sp+96]
    0028b074ldr x2, [sp+80]
    0028b078add x1, x1, x2
    0028b07cstr x1, [sp+120]
    0028b080ldr x2, [sp+240]
    0028b084ldr x3, [sp+232]
    0028b088subs xzr, x2, x1
    0028b08cb.hi 0x28b094
    0028b090b 0x28b0c0
    0028b094
    0028b094loc_28b094:
    0028b094str x0, [x3+3*x1]
    0028b098b 0x28b0a0
    0028b09c
    0028b09cloc_28b09c:
    0028b09cb 0x28b0a0
    0028b0a0
    0028b0a0loc_28b0a0:
    0028b0a0b 0x28b0a4
    0028b0a4
    0028b0a4loc_28b0a4:
    0028b0a4ldr x3, [sp+136]
    0028b0a8add x3, x3, 1
    0028b0acstr x3, [sp+136]
    0028b0b0b 0x28afa4
    0028b0b4
    0028b0b4loc_28b0b4:
    0028b0b4ldur x29, [sp-8]
    0028b0b8ldr x30, [sp], 224
    0028b0bcret x30
    0028b0c0
    0028b0c0loc_28b0c0:
    0028b0c0mov x0, x1
    0028b0c4mov x1, x2
    0028b0c8bl runtime.panicIndex
    0028b0cc
    0028b0ccloc_28b0cc:
    0028b0ccbl runtime.panicSliceB
    0028b0d0
    0028b0d0loc_28b0d0:
    0028b0d0bl runtime.panicSliceAcap
    0028b0d4
    0028b0d4loc_28b0d4:
    0028b0d4bl runtime.panicSliceAcap
    0028b0d8hint
    0028b0dc
    0028b0dcloc_28b0dc:
    0028b0dcstp x0, x1, [sp+8]
    0028b0e0stp x2, x3, [sp+24]
    0028b0e4stp x4, x5, [sp+40]
    0028b0e8stp x6, x7, [sp+56]
    0028b0ecstr x8, [sp+72]
    0028b0f0mov x3, x30
    0028b0f4bl runtime.morestack_noctxt.abi0
    0028b0f8ldp x0, x1, [sp+8]
    0028b0fcldp x2, x3, [sp+24]
    0028b100ldp x4, x5, [sp+40]
    0028b104ldp x6, x7, [sp+56]
    0028b108ldr x8, [sp+72]
    0028b10cb 0x28aee0
    0028aee0
    0028b110
    0028b110math/big.nat.montgomery: ; void math/big.nat.montgomery(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m, math/big.Word k, int n)
    0028b110ldr x16, [x28+16]
    0028b114sub x17, sp, 224
    0028b118subs xzr, x17, x16
    0028b11cb.ls 0x28b6b8
    0028b120sub x20, sp, 352
    0028b124stp x29, x30, [x20-8]
    0028b128add sp, x20, 0
    0028b12csub x29, sp, 8
    0028b130str x0, [sp+360]
    0028b134str x1, [sp+368]
    0028b138str x2, [sp+376]
    0028b13cstr x3, [sp+384]
    0028b140str x4, [sp+392]
    0028b144str x5, [sp+400]
    0028b148str x6, [sp+408]
    0028b14cstr x7, [sp+416]
    0028b150str x8, [sp+424]
    0028b154str x9, [sp+432]
    0028b158str x10, [sp+440]
    0028b15cstr x11, [sp+448]
    0028b160str x12, [sp+456]
    0028b164str x13, [sp+464]
    0028b168str xzr, [sp+216]
    0028b16cstp xzr, xzr, [sp+224]
    0028b170ldr x4, [sp+392]
    0028b174str x4, [sp+208]
    0028b178ldr x5, [sp+464]
    0028b17csubs xzr, x4, x5
    0028b180cset x4, ne
    0028b184strb w4, [sp+102]
    0028b188b.ne 0x28b190
    0028b18cb 0x28b194
    0028b190
    0028b190loc_28b190:
    0028b190b 0x28b1b0
    0028b194
    0028b194loc_28b194:
    0028b194ldr x4, [sp+416]
    0028b198str x4, [sp+200]
    0028b19cldr x5, [sp+464]
    0028b1a0subs xzr, x4, x5
    0028b1a4cset x4, ne
    0028b1a8strb w4, [sp+102]
    0028b1acb 0x28b1b0
    0028b1b0
    0028b1b0loc_28b1b0:
    0028b1b0ldrb w4, [sp+102]
    0028b1b4strb w4, [sp+103]
    0028b1b8tbnz w4, 0, 0x28b1c0
    0028b1bcb 0x28b1c4
    0028b1c0
    0028b1c0loc_28b1c0:
    0028b1c0b 0x28b1e0
    0028b1c4
    0028b1c4loc_28b1c4:
    0028b1c4ldr x4, [sp+440]
    0028b1c8str x4, [sp+200]
    0028b1ccldr x5, [sp+464]
    0028b1d0subs xzr, x4, x5
    0028b1d4cset x4, ne
    0028b1d8strb w4, [sp+103]
    0028b1dcb 0x28b1e0
    0028b1e0
    0028b1e0loc_28b1e0:
    0028b1e0ldrb w4, [sp+103]
    0028b1e4tbnz w4, 0, 0x28b6a0
    0028b1e8b 0x28b1ec
    0028b1ec
    0028b1ecloc_28b1ec:
    0028b1ecldr x0, [sp+360]
    0028b1f0ldr x1, [sp+368]
    0028b1f4ldr x2, [sp+376]
    0028b1f8ldr x4, [sp+464]
    0028b1fcubfm x3, x4, 63, 62
    0028b200bl math/big.nat.make
    0028b204str x0, [sp+360]
    0028b208str x1, [sp+368]
    0028b20cstr x2, [sp+376]
    0028b210cbnz x1, 0x28b218
    0028b214b 0x28b238
    0028b218
    0028b218loc_28b218:
    0028b218str x0, [sp+288]
    0028b21cldr x2, [sp+368]
    0028b220ubfm x2, x2, 61, 60
    0028b224str x2, [sp+192]
    0028b228ldr x1, [sp+192]
    0028b22cldr x0, [sp+288]
    0028b230bl runtime.memclrNoHeapPointers
    0028b234b 0x28b23c
    0028b238
    0028b238loc_28b238:
    0028b238b 0x28b23c
    0028b23c
    0028b23cloc_28b23c:
    0028b23cstr xzr, [sp+160]
    0028b240str xzr, [sp+112]
    0028b244b 0x28b248
    0028b248
    0028b248loc_28b248:
    0028b248ldr x3, [sp+464]
    0028b24cldr x4, [sp+112]
    0028b250subs xzr, x3, x4
    0028b254b.gt 0x28b25c
    0028b258b 0x28b474
    0028b25c
    0028b25cloc_28b25c:
    0028b25cldr x0, [sp+112]
    0028b260ldr x1, [sp+416]
    0028b264ldr x3, [sp+408]
    0028b268subs xzr, x0, x1
    0028b26cb.lo 0x28b274
    0028b270b 0x28b69c
    0028b274
    0028b274loc_28b274:
    0028b274ldr x3, [x3+3*x0]
    0028b278str x3, [sp+120]
    0028b27cldr x3, [sp+112]
    0028b280ldr x4, [sp+464]
    0028b284add x1, x4, x3
    0028b288str x1, [sp+208]
    0028b28cldr x0, [sp+112]
    0028b290ldr x2, [sp+376]
    0028b294ldr x3, [sp+360]
    0028b298subs xzr, x2, x1
    0028b29cb.hs 0x28b2a4
    0028b2a0b 0x28b698
    0028b2a4
    0028b2a4loc_28b2a4:
    0028b2a4subs xzr, x0, x1
    0028b2a8b.ls 0x28b2b0
    0028b2acb 0x28b694
    0028b2b0
    0028b2b0loc_28b2b0:
    0028b2b0sub x2, x2, x0
    0028b2b4sub x1, x1, x0
    0028b2b8sub x4, xzr, x2
    0028b2bcubfm x0, x0, 61, 60
    0028b2c0and x0, x0, x4, asr #63
    0028b2c4add x0, x3, x0
    0028b2c8str x0, [sp+320]
    0028b2ccstr x1, [sp+328]
    0028b2d0str x2, [sp+336]
    0028b2d4ldr x3, [sp+120]
    0028b2d8ldr x4, [sp+384]
    0028b2dcldr x5, [sp+392]
    0028b2e0ldr x6, [sp+400]
    0028b2e4str x0, [sp+8]
    0028b2e8str x1, [sp+16]
    0028b2ecstr x2, [sp+24]
    0028b2f0str x4, [sp+32]
    0028b2f4str x5, [sp+40]
    0028b2f8str x6, [sp+48]
    0028b2fcstr x3, [sp+56]
    0028b300bl math/big.addMulVVW.abi0
    0028b304ldr x0, [sp+64]
    0028b308str x0, [sp+152]
    0028b30cldr x0, [sp+112]
    0028b310ldr x1, [sp+368]
    0028b314ldr x2, [sp+360]
    0028b318subs xzr, x1, x0
    0028b31cb.hi 0x28b324
    0028b320b 0x28b690
    0028b324
    0028b324loc_28b324:
    0028b324ldr x3, [x2+3*x0]
    0028b328ldr x4, [sp+456]
    0028b32cmadd x3, x3, x4, xzr
    0028b330str x3, [sp+104]
    0028b334ldr x3, [sp+112]
    0028b338ldr x4, [sp+464]
    0028b33cadd x1, x4, x3
    0028b340str x1, [sp+208]
    0028b344ldr x0, [sp+112]
    0028b348ldr x2, [sp+376]
    0028b34cldr x3, [sp+360]
    0028b350subs xzr, x2, x1
    0028b354b.hs 0x28b35c
    0028b358b 0x28b68c
    0028b35c
    0028b35cloc_28b35c:
    0028b35csubs xzr, x0, x1
    0028b360b.ls 0x28b368
    0028b364b 0x28b688
    0028b368
    0028b368loc_28b368:
    0028b368sub x2, x2, x0
    0028b36csub x1, x1, x0
    0028b370sub x4, xzr, x2
    0028b374ubfm x0, x0, 61, 60
    0028b378and x0, x0, x4, asr #63
    0028b37cadd x0, x3, x0
    0028b380str x0, [sp+320]
    0028b384str x1, [sp+328]
    0028b388str x2, [sp+336]
    0028b38cldr x3, [sp+104]
    0028b390ldr x4, [sp+432]
    0028b394ldr x5, [sp+440]
    0028b398ldr x6, [sp+448]
    0028b39cstr x0, [sp+8]
    0028b3a0str x1, [sp+16]
    0028b3a4str x2, [sp+24]
    0028b3a8str x4, [sp+32]
    0028b3acstr x5, [sp+40]
    0028b3b0str x6, [sp+48]
    0028b3b4str x3, [sp+56]
    0028b3b8bl math/big.addMulVVW.abi0
    0028b3bcldr x0, [sp+64]
    0028b3c0str x0, [sp+144]
    0028b3c4ldr x1, [sp+152]
    0028b3c8ldr x2, [sp+160]
    0028b3ccadd x1, x2, x1
    0028b3d0str x1, [sp+136]
    0028b3d4add x0, x1, x0
    0028b3d8str x0, [sp+128]
    0028b3dcldr x1, [sp+112]
    0028b3e0ldr x2, [sp+464]
    0028b3e4add x1, x2, x1
    0028b3e8str x1, [sp+184]
    0028b3ecldr x2, [sp+368]
    0028b3f0ldr x3, [sp+360]
    0028b3f4subs xzr, x2, x1
    0028b3f8b.hi 0x28b400
    0028b3fcb 0x28b67c
    0028b400
    0028b400loc_28b400:
    0028b400str x0, [x3+3*x1]
    0028b404ldr x3, [sp+152]
    0028b408ldr x4, [sp+136]
    0028b40csubs xzr, x3, x4
    0028b410cset x3, hi
    0028b414strb w3, [sp+102]
    0028b418b.hi 0x28b420
    0028b41cb 0x28b424
    0028b420
    0028b420loc_28b420:
    0028b420b 0x28b43c
    0028b424
    0028b424loc_28b424:
    0028b424ldr x3, [sp+128]
    0028b428ldr x4, [sp+144]
    0028b42csubs xzr, x4, x3
    0028b430cset x3, hi
    0028b434strb w3, [sp+102]
    0028b438b 0x28b43c
    0028b43c
    0028b43cloc_28b43c:
    0028b43cldrb w3, [sp+102]
    0028b440tbnz w3, 0, 0x28b448
    0028b444b 0x28b454
    0028b448
    0028b448loc_28b448:
    0028b448orr x3, xzr, 1
    0028b44cstr x3, [sp+160]
    0028b450b 0x28b460
    0028b454
    0028b454loc_28b454:
    0028b454str xzr, [sp+160]
    0028b458orr x3, xzr, 1
    0028b45cb 0x28b460
    0028b460
    0028b460loc_28b460:
    0028b460b 0x28b464
    0028b464
    0028b464loc_28b464:
    0028b464ldr x4, [sp+112]
    0028b468add x4, x4, 1
    0028b46cstr x4, [sp+112]
    0028b470b 0x28b248
    0028b474
    0028b474loc_28b474:
    0028b474ldr x3, [sp+160]
    0028b478cbnz x3, 0x28b480
    0028b47cb 0x28b530
    0028b480
    0028b480loc_28b480:
    0028b480ldr x1, [sp+464]
    0028b484ldr x2, [sp+376]
    0028b488ldr x3, [sp+360]
    0028b48csubs xzr, x2, x1
    0028b490b.hs 0x28b498
    0028b494b 0x28b678
    0028b498
    0028b498loc_28b498:
    0028b498b 0x28b49c
    0028b49c
    0028b49cloc_28b49c:
    0028b49cstr x3, [sp+320]
    0028b4a0str x1, [sp+328]
    0028b4a4str x2, [sp+336]
    0028b4a8ldr x0, [sp+464]
    0028b4acldr x1, [sp+368]
    0028b4b0ldr x2, [sp+360]
    0028b4b4ldr x3, [sp+376]
    0028b4b8b 0x28b4bc
    0028b4bc
    0028b4bcloc_28b4bc:
    0028b4bcsubs xzr, x1, x0
    0028b4c0b.hs 0x28b4c8
    0028b4c4b 0x28b674
    0028b4c8
    0028b4c8loc_28b4c8:
    0028b4c8sub x3, x3, x0
    0028b4ccsub x1, x1, x0
    0028b4d0sub x4, xzr, x3
    0028b4d4ubfm x0, x0, 61, 60
    0028b4d8and x0, x0, x4, asr #63
    0028b4dcadd x0, x2, x0
    0028b4e0str x0, [sp+296]
    0028b4e4str x1, [sp+304]
    0028b4e8str x3, [sp+312]
    0028b4ecldr x2, [sp+320]
    0028b4f0ldr x4, [sp+328]
    0028b4f4ldr x5, [sp+336]
    0028b4f8ldr x6, [sp+432]
    0028b4fcldr x7, [sp+440]
    0028b500ldr x8, [sp+448]
    0028b504str x2, [sp+8]
    0028b508str x4, [sp+16]
    0028b50cstr x5, [sp+24]
    0028b510str x0, [sp+32]
    0028b514str x1, [sp+40]
    0028b518str x3, [sp+48]
    0028b51cstr x6, [sp+56]
    0028b520str x7, [sp+64]
    0028b524str x8, [sp+72]
    0028b528bl math/big.subVV.abi0
    0028b52cb 0x28b628
    0028b530
    0028b530loc_28b530:
    0028b530ldr x1, [sp+464]
    0028b534ldr x2, [sp+376]
    0028b538ldr x3, [sp+360]
    0028b53csubs xzr, x2, x1
    0028b540b.hs 0x28b548
    0028b544b 0x28b670
    0028b548
    0028b548loc_28b548:
    0028b548b 0x28b54c
    0028b54c
    0028b54cloc_28b54c:
    0028b54cstr x3, [sp+296]
    0028b550str x1, [sp+304]
    0028b554str x2, [sp+312]
    0028b558ldr x0, [sp+464]
    0028b55cldr x1, [sp+368]
    0028b560ldr x3, [sp+360]
    0028b564ldr x4, [sp+376]
    0028b568b 0x28b56c
    0028b56c
    0028b56cloc_28b56c:
    0028b56csubs xzr, x1, x0
    0028b570b.hs 0x28b578
    0028b574b 0x28b66c
    0028b578
    0028b578loc_28b578:
    0028b578sub x4, x4, x0
    0028b57csub x5, x1, x0
    0028b580sub x6, xzr, x4
    0028b584ubfm x7, x0, 61, 60
    0028b588and x6, x7, x6, asr #63
    0028b58cadd x3, x3, x6
    0028b590str x3, [sp+320]
    0028b594str x5, [sp+328]
    0028b598str x4, [sp+336]
    0028b59cldr x3, [sp+296]
    0028b5a0ldr x4, [sp+304]
    0028b5a4ldr x5, [sp+312]
    0028b5a8str x3, [sp+264]
    0028b5acstr x4, [sp+272]
    0028b5b0str x5, [sp+280]
    0028b5b4ldr x3, [sp+328]
    0028b5b8ldr x4, [sp+320]
    0028b5bcldr x5, [sp+336]
    0028b5c0str x4, [sp+240]
    0028b5c4str x3, [sp+248]
    0028b5c8str x5, [sp+256]
    0028b5ccldr x4, [sp+272]
    0028b5d0str x4, [sp+176]
    0028b5d4subs xzr, x4, x3
    0028b5d8b.gt 0x28b5e0
    0028b5dcb 0x28b5e8
    0028b5e0
    0028b5e0loc_28b5e0:
    0028b5e0str x3, [sp+176]
    0028b5e4b 0x28b5ec
    0028b5e8
    0028b5e8loc_28b5e8:
    0028b5e8b 0x28b5ec
    0028b5ec
    0028b5ecloc_28b5ec:
    0028b5ecldr x3, [sp+240]
    0028b5f0ldr x4, [sp+264]
    0028b5f4subs xzr, x3, x4
    0028b5f8b.ne 0x28b600
    0028b5fcb 0x28b620
    0028b600
    0028b600loc_28b600:
    0028b600ldr x3, [sp+176]
    0028b604str x3, [sp+168]
    0028b608ldr x3, [sp+168]
    0028b60cubfm x2, x3, 61, 60
    0028b610ldr x1, [sp+240]
    0028b614ldr x0, [sp+264]
    0028b618bl runtime.memmove
    0028b61cb 0x28b624
    0028b620
    0028b620loc_28b620:
    0028b620b 0x28b624
    0028b624
    0028b624loc_28b624:
    0028b624b 0x28b628
    0028b628
    0028b628loc_28b628:
    0028b628ldr x1, [sp+464]
    0028b62cldr x2, [sp+376]
    0028b630ldr x0, [sp+360]
    0028b634subs xzr, x2, x1
    0028b638b.hs 0x28b640
    0028b63cb 0x28b668
    0028b640
    0028b640loc_28b640:
    0028b640b 0x28b644
    0028b644
    0028b644loc_28b644:
    0028b644str x0, [sp+320]
    0028b648str x1, [sp+328]
    0028b64cstr x2, [sp+336]
    0028b650str x0, [sp+216]
    0028b654str x1, [sp+224]
    0028b658str x2, [sp+232]
    0028b65cldp x29, x30, [sp-8]
    0028b660add sp, sp, 352
    0028b664ret x30
    0028b668
    0028b668loc_28b668:
    0028b668bl runtime.panicSliceAcap
    0028b66c
    0028b66cloc_28b66c:
    0028b66cbl runtime.panicSliceB
    0028b670
    0028b670loc_28b670:
    0028b670bl runtime.panicSliceAcap
    0028b674
    0028b674loc_28b674:
    0028b674bl runtime.panicSliceB
    0028b678
    0028b678loc_28b678:
    0028b678bl runtime.panicSliceAcap
    0028b67c
    0028b67cloc_28b67c:
    0028b67cmov x0, x1
    0028b680mov x1, x2
    0028b684bl runtime.panicIndex
    0028b688
    0028b688loc_28b688:
    0028b688bl runtime.panicSliceB
    0028b68c
    0028b68cloc_28b68c:
    0028b68cbl runtime.panicSliceAcap
    0028b690
    0028b690loc_28b690:
    0028b690bl runtime.panicIndex
    0028b694
    0028b694loc_28b694:
    0028b694bl runtime.panicSliceB
    0028b698
    0028b698loc_28b698:
    0028b698bl runtime.panicSliceAcap
    0028b69c
    0028b69cloc_28b69c:
    0028b69cbl runtime.panicIndex
    0028b6a0
    0028b6a0loc_28b6a0:
    0028b6a0adrp x0, 0x36a000
    0028b6a4add x0, x0, 2944
    0028b6a8adrp x1, 0x487000
    0028b6acadd x1, x1, 1200
    0028b6b0bl runtime.gopanic
    0028b6b4hint
    0028b6b8
    0028b6b8loc_28b6b8:
    0028b6b8stp x0, x1, [sp+8]
    0028b6bcstp x2, x3, [sp+24]
    0028b6c0stp x4, x5, [sp+40]
    0028b6c4stp x6, x7, [sp+56]
    0028b6c8stp x8, x9, [sp+72]
    0028b6ccstp x10, x11, [sp+88]
    0028b6d0stp x12, x13, [sp+104]
    0028b6d4mov x3, x30
    0028b6d8bl runtime.morestack_noctxt.abi0
    0028b6dcldp x0, x1, [sp+8]
    0028b6e0ldp x2, x3, [sp+24]
    0028b6e4ldp x4, x5, [sp+40]
    0028b6e8ldp x6, x7, [sp+56]
    0028b6ecldp x8, x9, [sp+72]
    0028b6f0ldp x10, x11, [sp+88]
    0028b6f4ldp x12, x13, [sp+104]
    0028b6f8b 0x28b110
    0028b6fcudf 0
    0028b110
    0028b700
    0028b700math/big.karatsubaAdd: ; void math/big.karatsubaAdd(math/big.nat z, math/big.nat x, int n)
    0028b700ldr x16, [x28+16]
    0028b704sub x17, sp, 32
    0028b708subs xzr, x17, x16
    0028b70cb.ls 0x28b8a4
    0028b710str x30, [sp-160]!
    0028b714stur x29, [sp-8]
    0028b718sub x29, sp, 8
    0028b71cstr x0, [sp+168]
    0028b720str x1, [sp+176]
    0028b724str x2, [sp+184]
    0028b728str x3, [sp+192]
    0028b72cstr x4, [sp+200]
    0028b730str x5, [sp+208]
    0028b734str x6, [sp+216]
    0028b738ldr x2, [sp+184]
    0028b73cldr x0, [sp+168]
    0028b740subs xzr, x6, x2
    0028b744b.ls 0x28b74c
    0028b748b 0x28b898
    0028b74c
    0028b74cloc_28b74c:
    0028b74cb 0x28b750
    0028b750
    0028b750loc_28b750:
    0028b750str x0, [sp+128]
    0028b754str x6, [sp+136]
    0028b758str x2, [sp+144]
    0028b75cldr x1, [sp+168]
    0028b760ldr x3, [sp+176]
    0028b764ldr x4, [sp+184]
    0028b768ldr x5, [sp+192]
    0028b76cldr x7, [sp+200]
    0028b770ldr x8, [sp+208]
    0028b774str x0, [sp+8]
    0028b778str x6, [sp+16]
    0028b77cstr x2, [sp+24]
    0028b780str x1, [sp+32]
    0028b784str x3, [sp+40]
    0028b788str x4, [sp+48]
    0028b78cstr x5, [sp+56]
    0028b790str x7, [sp+64]
    0028b794str x8, [sp+72]
    0028b798bl math/big.addVV.abi0
    0028b79cldr x0, [sp+80]
    0028b7a0str x0, [sp+88]
    0028b7a4cbnz x0, 0x28b7ac
    0028b7a8b 0x28b87c
    0028b7ac
    0028b7acloc_28b7ac:
    0028b7acldr x3, [sp+216]
    0028b7b0ldr x4, [sp+216]
    0028b7b4add x1, x3, x4, asr #1
    0028b7b8str x1, [sp+96]
    0028b7bcldr x0, [sp+216]
    0028b7c0ldr x2, [sp+184]
    0028b7c4ldr x3, [sp+168]
    0028b7c8subs xzr, x2, x1
    0028b7ccb.hs 0x28b7d4
    0028b7d0b 0x28b894
    0028b7d4
    0028b7d4loc_28b7d4:
    0028b7d4subs xzr, x0, x1
    0028b7d8b.ls 0x28b7e0
    0028b7dcb 0x28b890
    0028b7e0
    0028b7e0loc_28b7e0:
    0028b7e0sub x2, x2, x0
    0028b7e4sub x4, x1, x0
    0028b7e8sub x5, xzr, x2
    0028b7ecubfm x6, x0, 61, 60
    0028b7f0and x5, x6, x5, asr #63
    0028b7f4add x3, x3, x5
    0028b7f8str x3, [sp+128]
    0028b7fcstr x4, [sp+136]
    0028b800str x2, [sp+144]
    0028b804ldr x0, [sp+216]
    0028b808ldr x1, [sp+176]
    0028b80cldr x2, [sp+168]
    0028b810ldr x3, [sp+184]
    0028b814b 0x28b818
    0028b818
    0028b818loc_28b818:
    0028b818subs xzr, x1, x0
    0028b81cb.hs 0x28b824
    0028b820b 0x28b88c
    0028b824
    0028b824loc_28b824:
    0028b824sub x3, x3, x0
    0028b828sub x1, x1, x0
    0028b82csub x4, xzr, x3
    0028b830ubfm x0, x0, 61, 60
    0028b834and x0, x0, x4, asr #63
    0028b838add x0, x2, x0
    0028b83cstr x0, [sp+104]
    0028b840str x1, [sp+112]
    0028b844str x3, [sp+120]
    0028b848ldr x2, [sp+88]
    0028b84cldr x4, [sp+128]
    0028b850ldr x5, [sp+136]
    0028b854ldr x6, [sp+144]
    0028b858str x4, [sp+8]
    0028b85cstr x5, [sp+16]
    0028b860str x6, [sp+24]
    0028b864str x0, [sp+32]
    0028b868str x1, [sp+40]
    0028b86cstr x3, [sp+48]
    0028b870str x2, [sp+56]
    0028b874bl math/big.addVW.abi0
    0028b878b 0x28b880
    0028b87c
    0028b87cloc_28b87c:
    0028b87cb 0x28b880
    0028b880
    0028b880loc_28b880:
    0028b880ldur x29, [sp-8]
    0028b884ldr x30, [sp], 160
    0028b888ret x30
    0028b88c
    0028b88cloc_28b88c:
    0028b88cbl runtime.panicSliceB
    0028b890
    0028b890loc_28b890:
    0028b890bl runtime.panicSliceB
    0028b894
    0028b894loc_28b894:
    0028b894bl runtime.panicSliceAcap
    0028b898
    0028b898loc_28b898:
    0028b898mov x1, x6
    0028b89cbl runtime.panicSliceAcap
    0028b8a0hint
    0028b8a4
    0028b8a4loc_28b8a4:
    0028b8a4stp x0, x1, [sp+8]
    0028b8a8stp x2, x3, [sp+24]
    0028b8acstp x4, x5, [sp+40]
    0028b8b0str x6, [sp+56]
    0028b8b4mov x3, x30
    0028b8b8bl runtime.morestack_noctxt.abi0
    0028b8bcldp x0, x1, [sp+8]
    0028b8c0ldp x2, x3, [sp+24]
    0028b8c4ldp x4, x5, [sp+40]
    0028b8c8ldr x6, [sp+56]
    0028b8ccb 0x28b700
    0028b700
    0028b8d0
    0028b8d0math/big.karatsubaSub: ; void math/big.karatsubaSub(math/big.nat z, math/big.nat x, int n)
    0028b8d0ldr x16, [x28+16]
    0028b8d4sub x17, sp, 32
    0028b8d8subs xzr, x17, x16
    0028b8dcb.ls 0x28ba74
    0028b8e0str x30, [sp-160]!
    0028b8e4stur x29, [sp-8]
    0028b8e8sub x29, sp, 8
    0028b8ecstr x0, [sp+168]
    0028b8f0str x1, [sp+176]
    0028b8f4str x2, [sp+184]
    0028b8f8str x3, [sp+192]
    0028b8fcstr x4, [sp+200]
    0028b900str x5, [sp+208]
    0028b904str x6, [sp+216]
    0028b908ldr x2, [sp+184]
    0028b90cldr x0, [sp+168]
    0028b910subs xzr, x6, x2
    0028b914b.ls 0x28b91c
    0028b918b 0x28ba68
    0028b91c
    0028b91cloc_28b91c:
    0028b91cb 0x28b920
    0028b920
    0028b920loc_28b920:
    0028b920str x0, [sp+128]
    0028b924str x6, [sp+136]
    0028b928str x2, [sp+144]
    0028b92cldr x1, [sp+168]
    0028b930ldr x3, [sp+176]
    0028b934ldr x4, [sp+184]
    0028b938ldr x5, [sp+192]
    0028b93cldr x7, [sp+200]
    0028b940ldr x8, [sp+208]
    0028b944str x0, [sp+8]
    0028b948str x6, [sp+16]
    0028b94cstr x2, [sp+24]
    0028b950str x1, [sp+32]
    0028b954str x3, [sp+40]
    0028b958str x4, [sp+48]
    0028b95cstr x5, [sp+56]
    0028b960str x7, [sp+64]
    0028b964str x8, [sp+72]
    0028b968bl math/big.subVV.abi0
    0028b96cldr x0, [sp+80]
    0028b970str x0, [sp+88]
    0028b974cbnz x0, 0x28b97c
    0028b978b 0x28ba4c
    0028b97c
    0028b97cloc_28b97c:
    0028b97cldr x3, [sp+216]
    0028b980ldr x4, [sp+216]
    0028b984add x1, x3, x4, asr #1
    0028b988str x1, [sp+96]
    0028b98cldr x0, [sp+216]
    0028b990ldr x2, [sp+184]
    0028b994ldr x3, [sp+168]
    0028b998subs xzr, x2, x1
    0028b99cb.hs 0x28b9a4
    0028b9a0b 0x28ba64
    0028b9a4
    0028b9a4loc_28b9a4:
    0028b9a4subs xzr, x0, x1
    0028b9a8b.ls 0x28b9b0
    0028b9acb 0x28ba60
    0028b9b0
    0028b9b0loc_28b9b0:
    0028b9b0sub x2, x2, x0
    0028b9b4sub x4, x1, x0
    0028b9b8sub x5, xzr, x2
    0028b9bcubfm x6, x0, 61, 60
    0028b9c0and x5, x6, x5, asr #63
    0028b9c4add x3, x3, x5
    0028b9c8str x3, [sp+128]
    0028b9ccstr x4, [sp+136]
    0028b9d0str x2, [sp+144]
    0028b9d4ldr x0, [sp+216]
    0028b9d8ldr x1, [sp+176]
    0028b9dcldr x2, [sp+168]
    0028b9e0ldr x3, [sp+184]
    0028b9e4b 0x28b9e8
    0028b9e8
    0028b9e8loc_28b9e8:
    0028b9e8subs xzr, x1, x0
    0028b9ecb.hs 0x28b9f4
    0028b9f0b 0x28ba5c
    0028b9f4
    0028b9f4loc_28b9f4:
    0028b9f4sub x3, x3, x0
    0028b9f8sub x1, x1, x0
    0028b9fcsub x4, xzr, x3
    0028ba00ubfm x0, x0, 61, 60
    0028ba04and x0, x0, x4, asr #63
    0028ba08add x0, x2, x0
    0028ba0cstr x0, [sp+104]
    0028ba10str x1, [sp+112]
    0028ba14str x3, [sp+120]
    0028ba18ldr x2, [sp+88]
    0028ba1cldr x4, [sp+128]
    0028ba20ldr x5, [sp+136]
    0028ba24ldr x6, [sp+144]
    0028ba28str x4, [sp+8]
    0028ba2cstr x5, [sp+16]
    0028ba30str x6, [sp+24]
    0028ba34str x0, [sp+32]
    0028ba38str x1, [sp+40]
    0028ba3cstr x3, [sp+48]
    0028ba40str x2, [sp+56]
    0028ba44bl math/big.subVW.abi0
    0028ba48b 0x28ba50
    0028ba4c
    0028ba4cloc_28ba4c:
    0028ba4cb 0x28ba50
    0028ba50
    0028ba50loc_28ba50:
    0028ba50ldur x29, [sp-8]
    0028ba54ldr x30, [sp], 160
    0028ba58ret x30
    0028ba5c
    0028ba5cloc_28ba5c:
    0028ba5cbl runtime.panicSliceB
    0028ba60
    0028ba60loc_28ba60:
    0028ba60bl runtime.panicSliceB
    0028ba64
    0028ba64loc_28ba64:
    0028ba64bl runtime.panicSliceAcap
    0028ba68
    0028ba68loc_28ba68:
    0028ba68mov x1, x6
    0028ba6cbl runtime.panicSliceAcap
    0028ba70hint
    0028ba74
    0028ba74loc_28ba74:
    0028ba74stp x0, x1, [sp+8]
    0028ba78stp x2, x3, [sp+24]
    0028ba7cstp x4, x5, [sp+40]
    0028ba80str x6, [sp+56]
    0028ba84mov x3, x30
    0028ba88bl runtime.morestack_noctxt.abi0
    0028ba8cldp x0, x1, [sp+8]
    0028ba90ldp x2, x3, [sp+24]
    0028ba94ldp x4, x5, [sp+40]
    0028ba98ldr x6, [sp+56]
    0028ba9cb 0x28b8d0
    0028b8d0
    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