File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00284800
    00284800math/big.(*Int).SetUint64: ; void math/big.(*Int).SetUint64(math/big.Int * z, uint64 x)
    00284800ldr x16, [x28+16]
    00284804subs xzr, sp, x16
    00284808b.ls 0x2848b4
    0028480cstr x30, [sp-112]!
    00284810stur x29, [sp-8]
    00284814sub x29, sp, 8
    00284818str x0, [sp+120]
    0028481cstr x1, [sp+128]
    00284820str xzr, [sp+48]
    00284824ldr x4, [sp+120]
    00284828ldrsb x27, [x4]
    0028482cldr x0, [x4+8]
    00284830ldr x1, [x4+16]
    00284834ldr x2, [x4+24]
    00284838str x0, [sp+56]
    0028483cstr x1, [sp+64]
    00284840str x2, [sp+72]
    00284844ldr x3, [sp+128]
    00284848bl math/big.nat.setUint64
    0028484cstr x0, [sp+80]
    00284850str x1, [sp+88]
    00284854str x2, [sp+96]
    00284858ldr x4, [sp+120]
    0028485cldrsb x27, [x4]
    00284860str x1, [x4+16]
    00284864str x2, [x4+24]
    00284868adrp x27, 0x7c7000
    0028486cldr w5, [x27+3056]
    00284870cbz w5, 0x284878
    00284874b 0x28487c
    00284878
    00284878loc_284878:
    00284878b 0x284890
    0028487c
    0028487cloc_28487c:
    0028487cbl runtime.gcWriteBarrier2
    00284880str x0, [x25]
    00284884ldr x1, [x4+8]
    00284888str x1, [x25+8]
    0028488cb 0x284890
    00284890
    00284890loc_284890:
    00284890str x0, [x4+8]
    00284894ldr x1, [sp+120]
    00284898ldrsb x27, [x1]
    0028489cstrb wzr, [x1]
    002848a0ldr x0, [sp+120]
    002848a4str x0, [sp+48]
    002848a8ldur x29, [sp-8]
    002848acldr x30, [sp], 112
    002848b0ret x30
    002848b4
    002848b4loc_2848b4:
    002848b4stp x0, x1, [sp+8]
    002848b8mov x3, x30
    002848bcbl runtime.morestack_noctxt.abi0
    002848c0ldp x0, x1, [sp+8]
    002848c4b 0x284800
    002848c8udf 0
    002848ccudf 0
    00284800
    002848d0
    002848d0math/big.NewInt: ; void math/big.NewInt(int64 x)
    002848d0ldr x16, [x28+16]
    002848d4subs xzr, sp, x16
    002848d8b.ls 0x2849e4
    002848dcstr x30, [sp-96]!
    002848e0stur x29, [sp-8]
    002848e4sub x29, sp, 8
    002848e8str x0, [sp+104]
    002848ecstr xzr, [sp+40]
    002848f0ldr x1, [sp+104]
    002848f4str x1, [sp+32]
    002848f8ldr x1, [sp+104]
    002848fctbnz x1, 63, 0x284904
    00284900b 0x284914
    00284904
    00284904loc_284904:
    00284904ldr x1, [sp+32]
    00284908sub x1, xzr, x1
    0028490cstr x1, [sp+32]
    00284910b 0x284918
    00284914
    00284914loc_284914:
    00284914b 0x284918
    00284918
    00284918loc_284918:
    00284918str xzr, [sp+48]
    0028491cstp xzr, xzr, [sp+56]
    00284920ldr x1, [sp+104]
    00284924cbz x1, 0x28492c
    00284928b 0x284930
    0028492c
    0028492cloc_28492c:
    0028492cb 0x284968
    00284930
    00284930loc_284930:
    00284930adrp x0, 0x381000
    00284934add x0, x0, 2560
    00284938bl runtime.newobject
    0028493cstr x0, [sp+80]
    00284940ldr x1, [sp+32]
    00284944str x1, [x0]
    00284948ldr x1, [sp+80]
    0028494cldrsb x27, [x1]
    00284950b 0x284954
    00284954
    00284954loc_284954:
    00284954str x1, [sp+48]
    00284958orr x1, xzr, 1
    0028495cstr x1, [sp+56]
    00284960str x1, [sp+64]
    00284964b 0x284968
    00284968
    00284968loc_284968:
    00284968adrp x0, 0x3c1000
    0028496cadd x0, x0, 1024
    00284970bl runtime.newobject
    00284974str x0, [sp+72]
    00284978ldr x1, [sp+104]
    0028497csubs xzr, x1, 0
    00284980cset x1, lt
    00284984strb w1, [x0]
    00284988ldr x1, [sp+72]
    0028498cldrsb x27, [x1]
    00284990ldr x2, [sp+48]
    00284994ldr x3, [sp+56]
    00284998ldr x4, [sp+64]
    0028499cstr x3, [x1+16]
    002849a0str x4, [x1+24]
    002849a4adrp x27, 0x7c7000
    002849a8ldr w3, [x27+3056]
    002849accbz w3, 0x2849b4
    002849b0b 0x2849b8
    002849b4
    002849b4loc_2849b4:
    002849b4b 0x2849cc
    002849b8
    002849b8loc_2849b8:
    002849b8bl runtime.gcWriteBarrier2
    002849bcstr x2, [x25]
    002849c0ldr x3, [x1+8]
    002849c4str x3, [x25+8]
    002849c8b 0x2849cc
    002849cc
    002849ccloc_2849cc:
    002849ccstr x2, [x1+8]
    002849d0ldr x0, [sp+72]
    002849d4str x0, [sp+40]
    002849d8ldur x29, [sp-8]
    002849dcldr x30, [sp], 96
    002849e0ret x30
    002849e4
    002849e4loc_2849e4:
    002849e4str x0, [sp+8]
    002849e8mov x3, x30
    002849ecbl runtime.morestack_noctxt.abi0
    002849f0ldr x0, [sp+8]
    002849f4b 0x2848d0
    002849f8udf 0
    002849fcudf 0
    002848d0
    00284a00
    00284a00math/big.(*Int).Set: ; void math/big.(*Int).Set(math/big.Int * z, math/big.Int * x)
    00284a00ldr x16, [x28+16]
    00284a04sub x17, sp, 16
    00284a08subs xzr, x17, x16
    00284a0cb.ls 0x284b08
    00284a10str x30, [sp-144]!
    00284a14stur x29, [sp-8]
    00284a18sub x29, sp, 8
    00284a1cstr x0, [sp+152]
    00284a20str x1, [sp+160]
    00284a24str xzr, [sp+56]
    00284a28ldr x6, [sp+160]
    00284a2cldr x7, [sp+152]
    00284a30subs xzr, x6, x7
    00284a34b.ne 0x284a3c
    00284a38b 0x284af0
    00284a3c
    00284a3cloc_284a3c:
    00284a3cldr x6, [sp+152]
    00284a40ldrsb x27, [x6]
    00284a44ldr x7, [x6+8]
    00284a48ldr x8, [x6+16]
    00284a4cldr x6, [x6+24]
    00284a50str x7, [sp+88]
    00284a54str x8, [sp+96]
    00284a58str x6, [sp+104]
    00284a5cldr x6, [sp+160]
    00284a60ldrsb x27, [x6]
    00284a64ldr x3, [x6+8]
    00284a68ldr x4, [x6+16]
    00284a6cldr x5, [x6+24]
    00284a70str x3, [sp+64]
    00284a74str x4, [sp+72]
    00284a78str x5, [sp+80]
    00284a7cldr x0, [sp+88]
    00284a80ldr x1, [sp+96]
    00284a84ldr x2, [sp+104]
    00284a88bl math/big.nat.set
    00284a8cstr x0, [sp+112]
    00284a90str x1, [sp+120]
    00284a94str x2, [sp+128]
    00284a98ldr x6, [sp+152]
    00284a9cldrsb x27, [x6]
    00284aa0str x1, [x6+16]
    00284aa4str x2, [x6+24]
    00284aa8adrp x27, 0x7c7000
    00284aacldr w7, [x27+3056]
    00284ab0cbz w7, 0x284ab8
    00284ab4b 0x284abc
    00284ab8
    00284ab8loc_284ab8:
    00284ab8b 0x284ad0
    00284abc
    00284abcloc_284abc:
    00284abcbl runtime.gcWriteBarrier2
    00284ac0str x0, [x25]
    00284ac4ldr x1, [x6+8]
    00284ac8str x1, [x25+8]
    00284accb 0x284ad0
    00284ad0
    00284ad0loc_284ad0:
    00284ad0str x0, [x6+8]
    00284ad4ldr x1, [sp+152]
    00284ad8ldrsb x27, [x1]
    00284adcldr x2, [sp+160]
    00284ae0ldrsb x27, [x2]
    00284ae4ldrb w2, [x2]
    00284ae8strb w2, [x1]
    00284aecb 0x284af4
    00284af0
    00284af0loc_284af0:
    00284af0b 0x284af4
    00284af4
    00284af4loc_284af4:
    00284af4ldr x0, [sp+152]
    00284af8str x0, [sp+56]
    00284afcldur x29, [sp-8]
    00284b00ldr x30, [sp], 144
    00284b04ret x30
    00284b08
    00284b08loc_284b08:
    00284b08stp x0, x1, [sp+8]
    00284b0cmov x3, x30
    00284b10bl runtime.morestack_noctxt.abi0
    00284b14ldp x0, x1, [sp+8]
    00284b18b 0x284a00
    00284b1cudf 0
    00284a00
    00284b20
    00284b20math/big.(*Int).Abs: ; void math/big.(*Int).Abs(math/big.Int * z, math/big.Int * x)
    00284b20ldr x16, [x28+16]
    00284b24subs xzr, sp, x16
    00284b28b.ls 0x284b70
    00284b2cstr x30, [sp-48]!
    00284b30stur x29, [sp-8]
    00284b34sub x29, sp, 8
    00284b38str x0, [sp+56]
    00284b3cstr x1, [sp+64]
    00284b40str xzr, [sp+32]
    00284b44ldr x1, [sp+64]
    00284b48ldr x0, [sp+56]
    00284b4cbl math/big.(*Int).Set
    00284b50ldr x2, [sp+56]
    00284b54ldrsb x27, [x2]
    00284b58strb wzr, [x2]
    00284b5cldr x0, [sp+56]
    00284b60str x0, [sp+32]
    00284b64ldur x29, [sp-8]
    00284b68ldr x30, [sp], 48
    00284b6cret x30
    00284b70
    00284b70loc_284b70:
    00284b70stp x0, x1, [sp+8]
    00284b74mov x3, x30
    00284b78bl runtime.morestack_noctxt.abi0
    00284b7cldp x0, x1, [sp+8]
    00284b80b 0x284b20
    00284b84udf 0
    00284b88udf 0
    00284b8cudf 0
    00284b20
    00284b90
    00284b90math/big.(*Int).Neg: ; void math/big.(*Int).Neg(math/big.Int * z, math/big.Int * x)
    00284b90ldr x16, [x28+16]
    00284b94subs xzr, sp, x16
    00284b98b.ls 0x284c24
    00284b9cstr x30, [sp-64]!
    00284ba0stur x29, [sp-8]
    00284ba4sub x29, sp, 8
    00284ba8str x0, [sp+72]
    00284bacstr x1, [sp+80]
    00284bb0str xzr, [sp+48]
    00284bb4ldr x1, [sp+80]
    00284bb8ldr x0, [sp+72]
    00284bbcbl math/big.(*Int).Set
    00284bc0ldr x2, [sp+72]
    00284bc4ldrsb x27, [x2]
    00284bc8ldr x2, [x2+16]
    00284bccstr x2, [sp+40]
    00284bd0subs xzr, x2, 0
    00284bd4cset x3, ne
    00284bd8strb w3, [sp+39]
    00284bdccbnz x2, 0x284be4
    00284be0b 0x284bfc
    00284be4
    00284be4loc_284be4:
    00284be4ldr x1, [sp+72]
    00284be8ldrsb x27, [x1]
    00284becldrb w1, [x1]
    00284bf0eor x1, x1, 1
    00284bf4strb w1, [sp+39]
    00284bf8b 0x284c00
    00284bfc
    00284bfcloc_284bfc:
    00284bfcb 0x284c00
    00284c00
    00284c00loc_284c00:
    00284c00ldr x1, [sp+72]
    00284c04ldrsb x27, [x1]
    00284c08ldrb w2, [sp+39]
    00284c0cstrb w2, [x1]
    00284c10ldr x0, [sp+72]
    00284c14str x0, [sp+48]
    00284c18ldur x29, [sp-8]
    00284c1cldr x30, [sp], 64
    00284c20ret x30
    00284c24
    00284c24loc_284c24:
    00284c24stp x0, x1, [sp+8]
    00284c28mov x3, x30
    00284c2cbl runtime.morestack_noctxt.abi0
    00284c30ldp x0, x1, [sp+8]
    00284c34b 0x284b90
    00284c38udf 0
    00284c3cudf 0
    00284b90
    00284c40
    00284c40math/big.(*Int).Add: ; void math/big.(*Int).Add(math/big.Int * z, math/big.Int * x, math/big.Int * y)
    00284c40ldr x16, [x28+16]
    00284c44sub x17, sp, 272
    00284c48subs xzr, x17, x16
    00284c4cb.ls 0x284fc4
    00284c50sub x20, sp, 400
    00284c54stp x29, x30, [x20-8]
    00284c58add sp, x20, 0
    00284c5csub x29, sp, 8
    00284c60str x0, [sp+408]
    00284c64str x1, [sp+416]
    00284c68str x2, [sp+424]
    00284c6cstr xzr, [sp+96]
    00284c70ldr x9, [sp+416]
    00284c74ldrsb x27, [x9]
    00284c78ldrb w9, [x9]
    00284c7cstrb w9, [sp+86]
    00284c80ldr x9, [sp+416]
    00284c84ldrsb x27, [x9]
    00284c88ldrb w9, [x9]
    00284c8cldr x10, [sp+424]
    00284c90ldrsb x27, [x10]
    00284c94ldrb w10, [x10]
    00284c98eor x9, x9, x10
    00284c9ceor x9, x9, 1
    00284ca0tbnz w9, 0, 0x284ca8
    00284ca4b 0x284d70
    00284ca8
    00284ca8loc_284ca8:
    00284ca8ldr x9, [sp+408]
    00284cacldrsb x27, [x9]
    00284cb0ldr x10, [x9+8]
    00284cb4ldr x11, [x9+16]
    00284cb8ldr x9, [x9+24]
    00284cbcstr x10, [sp+128]
    00284cc0str x11, [sp+136]
    00284cc4str x9, [sp+144]
    00284cc8ldr x9, [sp+416]
    00284cccldrsb x27, [x9]
    00284cd0ldr x10, [x9+8]
    00284cd4ldr x11, [x9+16]
    00284cd8ldr x9, [x9+24]
    00284cdcstr x10, [sp+104]
    00284ce0str x11, [sp+112]
    00284ce4str x9, [sp+120]
    00284ce8ldr x9, [sp+424]
    00284cecldrsb x27, [x9]
    00284cf0ldr x6, [x9+8]
    00284cf4ldr x7, [x9+16]
    00284cf8ldr x8, [x9+24]
    00284cfcstr x6, [sp+368]
    00284d00str x7, [sp+376]
    00284d04str x8, [sp+384]
    00284d08ldr x3, [sp+104]
    00284d0cldr x4, [sp+112]
    00284d10ldr x5, [sp+120]
    00284d14ldr x0, [sp+128]
    00284d18ldr x1, [sp+136]
    00284d1cldr x2, [sp+144]
    00284d20bl math/big.nat.add
    00284d24str x0, [sp+152]
    00284d28str x1, [sp+160]
    00284d2cstr x2, [sp+168]
    00284d30ldr x9, [sp+408]
    00284d34ldrsb x27, [x9]
    00284d38str x1, [x9+16]
    00284d3cstr x2, [x9+24]
    00284d40adrp x27, 0x7c7000
    00284d44ldr w10, [x27+3056]
    00284d48cbz w10, 0x284d50
    00284d4cb 0x284d54
    00284d50
    00284d50loc_284d50:
    00284d50b 0x284d68
    00284d54
    00284d54loc_284d54:
    00284d54bl runtime.gcWriteBarrier2
    00284d58str x0, [x25]
    00284d5cldr x1, [x9+8]
    00284d60str x1, [x25+8]
    00284d64b 0x284d68
    00284d68
    00284d68loc_284d68:
    00284d68str x0, [x9+8]
    00284d6cb 0x284f6c
    00284d70
    00284d70loc_284d70:
    00284d70ldr x6, [sp+416]
    00284d74ldrsb x27, [x6]
    00284d78ldr x7, [x6+8]
    00284d7cldr x8, [x6+16]
    00284d80ldr x6, [x6+24]
    00284d84str x7, [sp+344]
    00284d88str x8, [sp+352]
    00284d8cstr x6, [sp+360]
    00284d90ldr x6, [sp+424]
    00284d94ldrsb x27, [x6]
    00284d98ldr x3, [x6+8]
    00284d9cldr x4, [x6+16]
    00284da0ldr x5, [x6+24]
    00284da4str x3, [sp+320]
    00284da8str x4, [sp+328]
    00284dacstr x5, [sp+336]
    00284db0ldr x0, [sp+344]
    00284db4ldr x1, [sp+352]
    00284db8ldr x2, [sp+360]
    00284dbcbl math/big.nat.cmp
    00284dc0str x0, [sp+88]
    00284dc4tbz x0, 63, 0x284dcc
    00284dc8b 0x284e94
    00284dcc
    00284dccloc_284dcc:
    00284dccldr x9, [sp+408]
    00284dd0ldrsb x27, [x9]
    00284dd4ldr x10, [x9+8]
    00284dd8ldr x11, [x9+16]
    00284ddcldr x9, [x9+24]
    00284de0str x10, [sp+296]
    00284de4str x11, [sp+304]
    00284de8str x9, [sp+312]
    00284decldr x9, [sp+416]
    00284df0ldrsb x27, [x9]
    00284df4ldr x10, [x9+8]
    00284df8ldr x11, [x9+16]
    00284dfcldr x9, [x9+24]
    00284e00str x10, [sp+272]
    00284e04str x11, [sp+280]
    00284e08str x9, [sp+288]
    00284e0cldr x9, [sp+424]
    00284e10ldrsb x27, [x9]
    00284e14ldr x6, [x9+8]
    00284e18ldr x7, [x9+16]
    00284e1cldr x8, [x9+24]
    00284e20str x6, [sp+248]
    00284e24str x7, [sp+256]
    00284e28str x8, [sp+264]
    00284e2cldr x0, [sp+296]
    00284e30ldr x1, [sp+304]
    00284e34ldr x2, [sp+312]
    00284e38ldr x3, [sp+272]
    00284e3cldr x4, [sp+280]
    00284e40ldr x5, [sp+288]
    00284e44bl math/big.nat.sub
    00284e48str x0, [sp+152]
    00284e4cstr x1, [sp+160]
    00284e50str x2, [sp+168]
    00284e54ldr x9, [sp+408]
    00284e58ldrsb x27, [x9]
    00284e5cstr x1, [x9+16]
    00284e60str x2, [x9+24]
    00284e64adrp x27, 0x7c7000
    00284e68ldr w10, [x27+3056]
    00284e6ccbz w10, 0x284e74
    00284e70b 0x284e78
    00284e74
    00284e74loc_284e74:
    00284e74b 0x284e8c
    00284e78
    00284e78loc_284e78:
    00284e78bl runtime.gcWriteBarrier2
    00284e7cstr x0, [x25]
    00284e80ldr x1, [x9+8]
    00284e84str x1, [x25+8]
    00284e88b 0x284e8c
    00284e8c
    00284e8cloc_284e8c:
    00284e8cstr x0, [x9+8]
    00284e90b 0x284f68
    00284e94
    00284e94loc_284e94:
    00284e94ldrb w9, [sp+86]
    00284e98eor x9, x9, 1
    00284e9cstrb w9, [sp+86]
    00284ea0ldr x9, [sp+408]
    00284ea4ldrsb x27, [x9]
    00284ea8ldr x10, [x9+8]
    00284eacldr x11, [x9+16]
    00284eb0ldr x9, [x9+24]
    00284eb4str x10, [sp+224]
    00284eb8str x11, [sp+232]
    00284ebcstr x9, [sp+240]
    00284ec0ldr x9, [sp+424]
    00284ec4ldrsb x27, [x9]
    00284ec8ldr x10, [x9+8]
    00284eccldr x11, [x9+16]
    00284ed0ldr x9, [x9+24]
    00284ed4str x10, [sp+200]
    00284ed8str x11, [sp+208]
    00284edcstr x9, [sp+216]
    00284ee0ldr x9, [sp+416]
    00284ee4ldrsb x27, [x9]
    00284ee8ldr x6, [x9+8]
    00284eecldr x7, [x9+16]
    00284ef0ldr x8, [x9+24]
    00284ef4str x6, [sp+176]
    00284ef8str x7, [sp+184]
    00284efcstr x8, [sp+192]
    00284f00ldr x0, [sp+224]
    00284f04ldr x1, [sp+232]
    00284f08ldr x2, [sp+240]
    00284f0cldr x3, [sp+200]
    00284f10ldr x4, [sp+208]
    00284f14ldr x5, [sp+216]
    00284f18bl math/big.nat.sub
    00284f1cstr x0, [sp+152]
    00284f20str x1, [sp+160]
    00284f24str x2, [sp+168]
    00284f28ldr x9, [sp+408]
    00284f2cldrsb x27, [x9]
    00284f30str x1, [x9+16]
    00284f34str x2, [x9+24]
    00284f38adrp x27, 0x7c7000
    00284f3cldr w10, [x27+3056]
    00284f40cbz w10, 0x284f48
    00284f44b 0x284f4c
    00284f48
    00284f48loc_284f48:
    00284f48b 0x284f60
    00284f4c
    00284f4cloc_284f4c:
    00284f4cbl runtime.gcWriteBarrier2
    00284f50str x0, [x25]
    00284f54ldr x1, [x9+8]
    00284f58str x1, [x25+8]
    00284f5cb 0x284f60
    00284f60
    00284f60loc_284f60:
    00284f60str x0, [x9+8]
    00284f64b 0x284f68
    00284f68
    00284f68loc_284f68:
    00284f68b 0x284f6c
    00284f6c
    00284f6cloc_284f6c:
    00284f6cldr x1, [sp+408]
    00284f70ldrsb x27, [x1]
    00284f74ldr x1, [x1+16]
    00284f78str x1, [sp+88]
    00284f7csubs xzr, x1, 0
    00284f80cset x2, ne
    00284f84strb w2, [sp+87]
    00284f88cbnz x1, 0x284f90
    00284f8cb 0x284f9c
    00284f90
    00284f90loc_284f90:
    00284f90ldrb w1, [sp+86]
    00284f94strb w1, [sp+87]
    00284f98b 0x284fa0
    00284f9c
    00284f9cloc_284f9c:
    00284f9cb 0x284fa0
    00284fa0
    00284fa0loc_284fa0:
    00284fa0ldr x1, [sp+408]
    00284fa4ldrsb x27, [x1]
    00284fa8ldrb w2, [sp+87]
    00284facstrb w2, [x1]
    00284fb0ldr x0, [sp+408]
    00284fb4str x0, [sp+96]
    00284fb8ldp x29, x30, [sp-8]
    00284fbcadd sp, sp, 400
    00284fc0ret x30
    00284fc4
    00284fc4loc_284fc4:
    00284fc4stp x0, x1, [sp+8]
    00284fc8str x2, [sp+24]
    00284fccmov x3, x30
    00284fd0bl runtime.morestack_noctxt.abi0
    00284fd4ldp x0, x1, [sp+8]
    00284fd8ldr x2, [sp+24]
    00284fdcb 0x284c40
    00284c40
    00284fe0
    00284fe0math/big.(*Int).Sub: ; void math/big.(*Int).Sub(math/big.Int * z, math/big.Int * x, math/big.Int * y)
    00284fe0ldr x16, [x28+16]
    00284fe4sub x17, sp, 272
    00284fe8subs xzr, x17, x16
    00284fecb.ls 0x285360
    00284ff0sub x20, sp, 400
    00284ff4stp x29, x30, [x20-8]
    00284ff8add sp, x20, 0
    00284ffcsub x29, sp, 8
    00285000str x0, [sp+408]
    00285004str x1, [sp+416]
    00285008str x2, [sp+424]
    0028500cstr xzr, [sp+96]
    00285010ldr x9, [sp+416]
    00285014ldrsb x27, [x9]
    00285018ldrb w9, [x9]
    0028501cstrb w9, [sp+86]
    00285020ldr x9, [sp+416]
    00285024ldrsb x27, [x9]
    00285028ldrb w9, [x9]
    0028502cldr x10, [sp+424]
    00285030ldrsb x27, [x10]
    00285034ldrb w10, [x10]
    00285038eor x9, x9, x10
    0028503ctbnz w9, 0, 0x285044
    00285040b 0x28510c
    00285044
    00285044loc_285044:
    00285044ldr x9, [sp+408]
    00285048ldrsb x27, [x9]
    0028504cldr x10, [x9+8]
    00285050ldr x11, [x9+16]
    00285054ldr x9, [x9+24]
    00285058str x10, [sp+128]
    0028505cstr x11, [sp+136]
    00285060str x9, [sp+144]
    00285064ldr x9, [sp+416]
    00285068ldrsb x27, [x9]
    0028506cldr x10, [x9+8]
    00285070ldr x11, [x9+16]
    00285074ldr x9, [x9+24]
    00285078str x10, [sp+104]
    0028507cstr x11, [sp+112]
    00285080str x9, [sp+120]
    00285084ldr x9, [sp+424]
    00285088ldrsb x27, [x9]
    0028508cldr x6, [x9+8]
    00285090ldr x7, [x9+16]
    00285094ldr x8, [x9+24]
    00285098str x6, [sp+368]
    0028509cstr x7, [sp+376]
    002850a0str x8, [sp+384]
    002850a4ldr x3, [sp+104]
    002850a8ldr x4, [sp+112]
    002850acldr x5, [sp+120]
    002850b0ldr x0, [sp+128]
    002850b4ldr x1, [sp+136]
    002850b8ldr x2, [sp+144]
    002850bcbl math/big.nat.add
    002850c0str x0, [sp+152]
    002850c4str x1, [sp+160]
    002850c8str x2, [sp+168]
    002850ccldr x9, [sp+408]
    002850d0ldrsb x27, [x9]
    002850d4str x1, [x9+16]
    002850d8str x2, [x9+24]
    002850dcadrp x27, 0x7c6000
    002850e0ldr w10, [x27+3056]
    002850e4cbz w10, 0x2850ec
    002850e8b 0x2850f0
    002850ec
    002850ecloc_2850ec:
    002850ecb 0x285104
    002850f0
    002850f0loc_2850f0:
    002850f0bl runtime.gcWriteBarrier2
    002850f4str x0, [x25]
    002850f8ldr x1, [x9+8]
    002850fcstr x1, [x25+8]
    00285100b 0x285104
    00285104
    00285104loc_285104:
    00285104str x0, [x9+8]
    00285108b 0x285308
    0028510c
    0028510cloc_28510c:
    0028510cldr x6, [sp+416]
    00285110ldrsb x27, [x6]
    00285114ldr x7, [x6+8]
    00285118ldr x8, [x6+16]
    0028511cldr x6, [x6+24]
    00285120str x7, [sp+344]
    00285124str x8, [sp+352]
    00285128str x6, [sp+360]
    0028512cldr x6, [sp+424]
    00285130ldrsb x27, [x6]
    00285134ldr x3, [x6+8]
    00285138ldr x4, [x6+16]
    0028513cldr x5, [x6+24]
    00285140str x3, [sp+320]
    00285144str x4, [sp+328]
    00285148str x5, [sp+336]
    0028514cldr x0, [sp+344]
    00285150ldr x1, [sp+352]
    00285154ldr x2, [sp+360]
    00285158bl math/big.nat.cmp
    0028515cstr x0, [sp+88]
    00285160tbz x0, 63, 0x285168
    00285164b 0x285230
    00285168
    00285168loc_285168:
    00285168ldr x9, [sp+408]
    0028516cldrsb x27, [x9]
    00285170ldr x10, [x9+8]
    00285174ldr x11, [x9+16]
    00285178ldr x9, [x9+24]
    0028517cstr x10, [sp+296]
    00285180str x11, [sp+304]
    00285184str x9, [sp+312]
    00285188ldr x9, [sp+416]
    0028518cldrsb x27, [x9]
    00285190ldr x10, [x9+8]
    00285194ldr x11, [x9+16]
    00285198ldr x9, [x9+24]
    0028519cstr x10, [sp+272]
    002851a0str x11, [sp+280]
    002851a4str x9, [sp+288]
    002851a8ldr x9, [sp+424]
    002851acldrsb x27, [x9]
    002851b0ldr x6, [x9+8]
    002851b4ldr x7, [x9+16]
    002851b8ldr x8, [x9+24]
    002851bcstr x6, [sp+248]
    002851c0str x7, [sp+256]
    002851c4str x8, [sp+264]
    002851c8ldr x3, [sp+272]
    002851ccldr x4, [sp+280]
    002851d0ldr x5, [sp+288]
    002851d4ldr x0, [sp+296]
    002851d8ldr x1, [sp+304]
    002851dcldr x2, [sp+312]
    002851e0bl math/big.nat.sub
    002851e4str x0, [sp+152]
    002851e8str x1, [sp+160]
    002851ecstr x2, [sp+168]
    002851f0ldr x9, [sp+408]
    002851f4ldrsb x27, [x9]
    002851f8str x1, [x9+16]
    002851fcstr x2, [x9+24]
    00285200adrp x27, 0x7c6000
    00285204ldr w10, [x27+3056]
    00285208cbz w10, 0x285210
    0028520cb 0x285214
    00285210
    00285210loc_285210:
    00285210b 0x285228
    00285214
    00285214loc_285214:
    00285214bl runtime.gcWriteBarrier2
    00285218str x0, [x25]
    0028521cldr x1, [x9+8]
    00285220str x1, [x25+8]
    00285224b 0x285228
    00285228
    00285228loc_285228:
    00285228str x0, [x9+8]
    0028522cb 0x285304
    00285230
    00285230loc_285230:
    00285230ldrb w9, [sp+86]
    00285234eor x9, x9, 1
    00285238strb w9, [sp+86]
    0028523cldr x9, [sp+408]
    00285240ldrsb x27, [x9]
    00285244ldr x10, [x9+8]
    00285248ldr x11, [x9+16]
    0028524cldr x9, [x9+24]
    00285250str x10, [sp+224]
    00285254str x11, [sp+232]
    00285258str x9, [sp+240]
    0028525cldr x9, [sp+424]
    00285260ldrsb x27, [x9]
    00285264ldr x10, [x9+8]
    00285268ldr x11, [x9+16]
    0028526cldr x9, [x9+24]
    00285270str x10, [sp+200]
    00285274str x11, [sp+208]
    00285278str x9, [sp+216]
    0028527cldr x9, [sp+416]
    00285280ldrsb x27, [x9]
    00285284ldr x6, [x9+8]
    00285288ldr x7, [x9+16]
    0028528cldr x8, [x9+24]
    00285290str x6, [sp+176]
    00285294str x7, [sp+184]
    00285298str x8, [sp+192]
    0028529cldr x0, [sp+224]
    002852a0ldr x1, [sp+232]
    002852a4ldr x2, [sp+240]
    002852a8ldr x3, [sp+200]
    002852acldr x4, [sp+208]
    002852b0ldr x5, [sp+216]
    002852b4bl math/big.nat.sub
    002852b8str x0, [sp+152]
    002852bcstr x1, [sp+160]
    002852c0str x2, [sp+168]
    002852c4ldr x9, [sp+408]
    002852c8ldrsb x27, [x9]
    002852ccstr x1, [x9+16]
    002852d0str x2, [x9+24]
    002852d4adrp x27, 0x7c6000
    002852d8ldr w10, [x27+3056]
    002852dccbz w10, 0x2852e4
    002852e0b 0x2852e8
    002852e4
    002852e4loc_2852e4:
    002852e4b 0x2852fc
    002852e8
    002852e8loc_2852e8:
    002852e8bl runtime.gcWriteBarrier2
    002852ecstr x0, [x25]
    002852f0ldr x1, [x9+8]
    002852f4str x1, [x25+8]
    002852f8b 0x2852fc
    002852fc
    002852fcloc_2852fc:
    002852fcstr x0, [x9+8]
    00285300b 0x285304
    00285304
    00285304loc_285304:
    00285304b 0x285308
    00285308
    00285308loc_285308:
    00285308ldr x1, [sp+408]
    0028530cldrsb x27, [x1]
    00285310ldr x1, [x1+16]
    00285314str x1, [sp+88]
    00285318subs xzr, x1, 0
    0028531ccset x2, ne
    00285320strb w2, [sp+87]
    00285324cbnz x1, 0x28532c
    00285328b 0x285338
    0028532c
    0028532cloc_28532c:
    0028532cldrb w1, [sp+86]
    00285330strb w1, [sp+87]
    00285334b 0x28533c
    00285338
    00285338loc_285338:
    00285338b 0x28533c
    0028533c
    0028533cloc_28533c:
    0028533cldr x1, [sp+408]
    00285340ldrsb x27, [x1]
    00285344ldrb w2, [sp+87]
    00285348strb w2, [x1]
    0028534cldr x0, [sp+408]
    00285350str x0, [sp+96]
    00285354ldp x29, x30, [sp-8]
    00285358add sp, sp, 400
    0028535cret x30
    00285360
    00285360loc_285360:
    00285360stp x0, x1, [sp+8]
    00285364str x2, [sp+24]
    00285368mov x3, x30
    0028536cbl runtime.morestack_noctxt.abi0
    00285370ldp x0, x1, [sp+8]
    00285374ldr x2, [sp+24]
    00285378b 0x284fe0
    0028537cudf 0
    00284fe0
    00285380
    00285380math/big.(*Int).Mul: ; void math/big.(*Int).Mul(math/big.Int * z, math/big.Int * x, math/big.Int * y)
    00285380ldr x16, [x28+16]
    00285384sub x17, sp, 128
    00285388subs xzr, x17, x16
    0028538cb.ls 0x2855b0
    00285390sub x20, sp, 256
    00285394stp x29, x30, [x20-8]
    00285398add sp, x20, 0
    0028539csub x29, sp, 8
    002853a0str x0, [sp+264]
    002853a4str x1, [sp+272]
    002853a8str x2, [sp+280]
    002853acstr xzr, [sp+96]
    002853b0ldr x9, [sp+280]
    002853b4ldr x10, [sp+272]
    002853b8subs xzr, x9, x10
    002853bcb.eq 0x2853c4
    002853c0b 0x28547c
    002853c4
    002853c4loc_2853c4:
    002853c4ldr x6, [sp+264]
    002853c8ldrsb x27, [x6]
    002853ccldr x7, [x6+8]
    002853d0ldr x8, [x6+16]
    002853d4ldr x6, [x6+24]
    002853d8str x7, [sp+152]
    002853dcstr x8, [sp+160]
    002853e0str x6, [sp+168]
    002853e4ldr x6, [sp+272]
    002853e8ldrsb x27, [x6]
    002853ecldr x3, [x6+8]
    002853f0ldr x4, [x6+16]
    002853f4ldr x5, [x6+24]
    002853f8str x3, [sp+128]
    002853fcstr x4, [sp+136]
    00285400str x5, [sp+144]
    00285404ldr x0, [sp+152]
    00285408ldr x1, [sp+160]
    0028540cldr x2, [sp+168]
    00285410bl math/big.nat.sqr
    00285414str x0, [sp+176]
    00285418str x1, [sp+184]
    0028541cstr x2, [sp+192]
    00285420ldr x6, [sp+264]
    00285424ldrsb x27, [x6]
    00285428str x1, [x6+16]
    0028542cstr x2, [x6+24]
    00285430adrp x27, 0x7c6000
    00285434ldr w7, [x27+3056]
    00285438cbz w7, 0x285440
    0028543cb 0x285444
    00285440
    00285440loc_285440:
    00285440b 0x285458
    00285444
    00285444loc_285444:
    00285444bl runtime.gcWriteBarrier2
    00285448str x0, [x25]
    0028544cldr x1, [x6+8]
    00285450str x1, [x25+8]
    00285454b 0x285458
    00285458
    00285458loc_285458:
    00285458str x0, [x6+8]
    0028545cldr x1, [sp+264]
    00285460ldrsb x27, [x1]
    00285464strb wzr, [x1]
    00285468ldr x0, [sp+264]
    0028546cstr x0, [sp+96]
    00285470ldp x29, x30, [sp-8]
    00285474add sp, sp, 256
    00285478ret x30
    0028547c
    0028547cloc_28547c:
    0028547cldr x9, [sp+264]
    00285480ldrsb x27, [x9]
    00285484ldr x10, [x9+8]
    00285488ldr x11, [x9+16]
    0028548cldr x9, [x9+24]
    00285490str x10, [sp+104]
    00285494str x11, [sp+112]
    00285498str x9, [sp+120]
    0028549cldr x9, [sp+272]
    002854a0ldrsb x27, [x9]
    002854a4ldr x10, [x9+8]
    002854a8ldr x11, [x9+16]
    002854acldr x9, [x9+24]
    002854b0str x10, [sp+224]
    002854b4str x11, [sp+232]
    002854b8str x9, [sp+240]
    002854bcldr x9, [sp+280]
    002854c0ldrsb x27, [x9]
    002854c4ldr x6, [x9+8]
    002854c8ldr x7, [x9+16]
    002854ccldr x8, [x9+24]
    002854d0str x6, [sp+200]
    002854d4str x7, [sp+208]
    002854d8str x8, [sp+216]
    002854dcldr x0, [sp+104]
    002854e0ldr x1, [sp+112]
    002854e4ldr x2, [sp+120]
    002854e8ldr x3, [sp+224]
    002854ecldr x4, [sp+232]
    002854f0ldr x5, [sp+240]
    002854f4bl math/big.nat.mul
    002854f8str x0, [sp+176]
    002854fcstr x1, [sp+184]
    00285500str x2, [sp+192]
    00285504ldr x9, [sp+264]
    00285508ldrsb x27, [x9]
    0028550cstr x1, [x9+16]
    00285510str x2, [x9+24]
    00285514adrp x27, 0x7c6000
    00285518ldr w10, [x27+3056]
    0028551ccbz w10, 0x285524
    00285520b 0x285528
    00285524
    00285524loc_285524:
    00285524b 0x28553c
    00285528
    00285528loc_285528:
    00285528bl runtime.gcWriteBarrier2
    0028552cstr x0, [x25]
    00285530ldr x1, [x9+8]
    00285534str x1, [x25+8]
    00285538b 0x28553c
    0028553c
    0028553cloc_28553c:
    0028553cstr x0, [x9+8]
    00285540ldr x1, [sp+264]
    00285544ldrsb x27, [x1]
    00285548ldr x1, [x1+16]
    0028554cstr x1, [sp+88]
    00285550subs xzr, x1, 0
    00285554cset x2, ne
    00285558strb w2, [sp+87]
    0028555ccbnz x1, 0x285564
    00285560b 0x285588
    00285564
    00285564loc_285564:
    00285564ldr x1, [sp+272]
    00285568ldrsb x27, [x1]
    0028556cldrb w1, [x1]
    00285570ldr x2, [sp+280]
    00285574ldrsb x27, [x2]
    00285578ldrb w2, [x2]
    0028557ceor x1, x1, x2
    00285580strb w1, [sp+87]
    00285584b 0x28558c
    00285588
    00285588loc_285588:
    00285588b 0x28558c
    0028558c
    0028558cloc_28558c:
    0028558cldr x1, [sp+264]
    00285590ldrsb x27, [x1]
    00285594ldrb w2, [sp+87]
    00285598strb w2, [x1]
    0028559cldr x0, [sp+264]
    002855a0str x0, [sp+96]
    002855a4ldp x29, x30, [sp-8]
    002855a8add sp, sp, 256
    002855acret x30
    002855b0
    002855b0loc_2855b0:
    002855b0stp x0, x1, [sp+8]
    002855b4str x2, [sp+24]
    002855b8mov x3, x30
    002855bcbl runtime.morestack_noctxt.abi0
    002855c0ldp x0, x1, [sp+8]
    002855c4ldr x2, [sp+24]
    002855c8b 0x285380
    002855ccudf 0
    00285380
    002855d0
    002855d0math/big.(*Int).QuoRem: ; void math/big.(*Int).QuoRem(math/big.Int * z, math/big.Int * x, math/big.Int * y, math/big.Int * r)
    002855d0ldr x16, [x28+16]
    002855d4sub x17, sp, 224
    002855d8subs xzr, x17, x16
    002855dcb.ls 0x285860
    002855e0sub x20, sp, 352
    002855e4stp x29, x30, [x20-8]
    002855e8add sp, x20, 0
    002855ecsub x29, sp, 8
    002855f0str x0, [sp+360]
    002855f4str x1, [sp+368]
    002855f8str x2, [sp+376]
    002855fcstr x3, [sp+384]
    00285600str xzr, [sp+144]
    00285604str xzr, [sp+136]
    00285608stp xzr, xzr, [sp+176]
    0028560cstr xzr, [sp+192]
    00285610stp xzr, xzr, [sp+152]
    00285614str xzr, [sp+168]
    00285618ldr x12, [sp+360]
    0028561cldrsb x27, [x12]
    00285620ldr x13, [x12+8]
    00285624ldr x14, [x12+16]
    00285628ldr x12, [x12+24]
    0028562cstr x13, [sp+320]
    00285630str x14, [sp+328]
    00285634str x12, [sp+336]
    00285638ldr x12, [sp+384]
    0028563cldrsb x27, [x12]
    00285640ldr x13, [x12+8]
    00285644ldr x14, [x12+16]
    00285648ldr x12, [x12+24]
    0028564cstr x13, [sp+296]
    00285650str x14, [sp+304]
    00285654str x12, [sp+312]
    00285658ldr x12, [sp+368]
    0028565cldrsb x27, [x12]
    00285660ldr x13, [x12+8]
    00285664ldr x14, [x12+16]
    00285668ldr x12, [x12+24]
    0028566cstr x13, [sp+272]
    00285670str x14, [sp+280]
    00285674str x12, [sp+288]
    00285678ldr x12, [sp+376]
    0028567cldrsb x27, [x12]
    00285680ldr x9, [x12+8]
    00285684ldr x10, [x12+16]
    00285688ldr x11, [x12+24]
    0028568cstr x9, [sp+248]
    00285690str x10, [sp+256]
    00285694str x11, [sp+264]
    00285698ldr x0, [sp+320]
    0028569cldr x1, [sp+328]
    002856a0ldr x2, [sp+336]
    002856a4ldr x3, [sp+296]
    002856a8ldr x4, [sp+304]
    002856acldr x5, [sp+312]
    002856b0ldr x6, [sp+272]
    002856b4ldr x7, [sp+280]
    002856b8ldr x8, [sp+288]
    002856bcbl math/big.nat.div
    002856c0str x0, [sp+176]
    002856c4str x1, [sp+184]
    002856c8str x2, [sp+192]
    002856ccstr x3, [sp+152]
    002856d0str x4, [sp+160]
    002856d4str x5, [sp+168]
    002856d8ldr x12, [sp+176]
    002856dcldr x13, [sp+184]
    002856e0ldr x14, [sp+192]
    002856e4str x12, [sp+224]
    002856e8str x13, [sp+232]
    002856ecstr x14, [sp+240]
    002856f0ldr x12, [sp+152]
    002856f4ldr x13, [sp+160]
    002856f8ldr x14, [sp+168]
    002856fcstr x12, [sp+200]
    00285700str x13, [sp+208]
    00285704str x14, [sp+216]
    00285708ldr x12, [sp+360]
    0028570cldrsb x27, [x12]
    00285710ldr x13, [sp+224]
    00285714ldr x14, [sp+232]
    00285718ldr x15, [sp+240]
    0028571cstr x14, [x12+16]
    00285720str x15, [x12+24]
    00285724adrp x27, 0x7c6000
    00285728ldr w14, [x27+3056]
    0028572ccbz w14, 0x285734
    00285730b 0x285738
    00285734
    00285734loc_285734:
    00285734b 0x28574c
    00285738
    00285738loc_285738:
    00285738bl runtime.gcWriteBarrier2
    0028573cstr x13, [x25]
    00285740ldr x2, [x12+8]
    00285744str x2, [x25+8]
    00285748b 0x28574c
    0028574c
    0028574cloc_28574c:
    0028574cstr x13, [x12+8]
    00285750ldr x2, [sp+384]
    00285754ldrsb x27, [x2]
    00285758ldr x3, [sp+200]
    0028575cldr x4, [sp+208]
    00285760ldr x5, [sp+216]
    00285764str x4, [x2+16]
    00285768str x5, [x2+24]
    0028576cadrp x27, 0x7c6000
    00285770ldr w4, [x27+3056]
    00285774cbz w4, 0x28577c
    00285778b 0x285780
    0028577c
    0028577cloc_28577c:
    0028577cb 0x285794
    00285780
    00285780loc_285780:
    00285780bl runtime.gcWriteBarrier2
    00285784str x3, [x25]
    00285788ldr x4, [x2+8]
    0028578cstr x4, [x25+8]
    00285790b 0x285794
    00285794
    00285794loc_285794:
    00285794str x3, [x2+8]
    00285798ldr x2, [sp+360]
    0028579cldrsb x27, [x2]
    002857a0ldr x2, [x2+16]
    002857a4str x2, [sp+128]
    002857a8subs xzr, x2, 0
    002857accset x3, ne
    002857b0strb w3, [sp+119]
    002857b4cbnz x2, 0x2857bc
    002857b8b 0x2857e0
    002857bc
    002857bcloc_2857bc:
    002857bcldr x2, [sp+368]
    002857c0ldrsb x27, [x2]
    002857c4ldrb w2, [x2]
    002857c8ldr x3, [sp+376]
    002857ccldrsb x27, [x3]
    002857d0ldrb w3, [x3]
    002857d4eor x2, x2, x3
    002857d8strb w2, [sp+119]
    002857dcb 0x2857e4
    002857e0
    002857e0loc_2857e0:
    002857e0b 0x2857e4
    002857e4
    002857e4loc_2857e4:
    002857e4ldr x2, [sp+384]
    002857e8ldrsb x27, [x2]
    002857ecldr x2, [x2+16]
    002857f0str x2, [sp+120]
    002857f4subs xzr, x2, 0
    002857f8cset x3, ne
    002857fcstrb w3, [sp+118]
    00285800cbnz x2, 0x285808
    00285804b 0x28581c
    00285808
    00285808loc_285808:
    00285808ldr x2, [sp+368]
    0028580cldrsb x27, [x2]
    00285810ldrb w2, [x2]
    00285814strb w2, [sp+118]
    00285818b 0x285820
    0028581c
    0028581cloc_28581c:
    0028581cb 0x285820
    00285820
    00285820loc_285820:
    00285820ldr x2, [sp+360]
    00285824ldrsb x27, [x2]
    00285828ldrb w3, [sp+119]
    0028582cstrb w3, [x2]
    00285830ldr x2, [sp+384]
    00285834ldrsb x27, [x2]
    00285838ldrb w3, [sp+118]
    0028583cstrb w3, [x2]
    00285840ldr x2, [sp+360]
    00285844str x2, [sp+144]
    00285848ldr x1, [sp+384]
    0028584cstr x1, [sp+136]
    00285850ldr x0, [sp+144]
    00285854ldp x29, x30, [sp-8]
    00285858add sp, sp, 352
    0028585cret x30
    00285860
    00285860loc_285860:
    00285860stp x0, x1, [sp+8]
    00285864stp x2, x3, [sp+24]
    00285868mov x3, x30
    0028586cbl runtime.morestack_noctxt.abi0
    00285870ldp x0, x1, [sp+8]
    00285874ldp x2, x3, [sp+24]
    00285878b 0x2855d0
    0028587cudf 0
    002855d0
    00285880
    00285880math/big.(*Int).Div: ; void math/big.(*Int).Div(math/big.Int * z, math/big.Int * x, math/big.Int * y)
    00285880ldr x16, [x28+16]
    00285884subs xzr, sp, x16
    00285888b.ls 0x28593c
    0028588cstr x30, [sp-96]!
    00285890stur x29, [sp-8]
    00285894sub x29, sp, 8
    00285898str x0, [sp+104]
    0028589cstr x1, [sp+112]
    002858a0str x2, [sp+120]
    002858a4str xzr, [sp+48]
    002858a8ldr x4, [sp+120]
    002858acldrsb x27, [x4]
    002858b0ldrb w4, [x4]
    002858b4strb w4, [sp+47]
    002858b8strb wzr, [sp+56]
    002858bcstr xzr, [sp+64]
    002858c0stp xzr, xzr, [sp+72]
    002858c4ldr x1, [sp+112]
    002858c8ldr x2, [sp+120]
    002858ccldr x0, [sp+104]
    002858d0add x3, sp, 56
    002858d4bl math/big.(*Int).QuoRem
    002858d8ldrb w4, [sp+56]
    002858dctbnz w4, 0, 0x2858e4
    002858e0b 0x285924
    002858e4
    002858e4loc_2858e4:
    002858e4ldrb w3, [sp+47]
    002858e8tbnz w3, 0, 0x2858f0
    002858ecb 0x285908
    002858f0
    002858f0loc_2858f0:
    002858f0ldr x1, [sp+104]
    002858f4adrp x27, 0x788000
    002858f8ldr x2, [x27+1960]
    002858fcldr x0, [sp+104]
    00285900bl math/big.(*Int).Add
    00285904b 0x285920
    00285908
    00285908loc_285908:
    00285908ldr x1, [sp+104]
    0028590cadrp x27, 0x788000
    00285910ldr x2, [x27+1960]
    00285914ldr x0, [sp+104]
    00285918bl math/big.(*Int).Sub
    0028591cb 0x285920
    00285920
    00285920loc_285920:
    00285920b 0x285928
    00285924
    00285924loc_285924:
    00285924b 0x285928
    00285928
    00285928loc_285928:
    00285928ldr x0, [sp+104]
    0028592cstr x0, [sp+48]
    00285930ldur x29, [sp-8]
    00285934ldr x30, [sp], 96
    00285938ret x30
    0028593c
    0028593cloc_28593c:
    0028593cstp x0, x1, [sp+8]
    00285940str x2, [sp+24]
    00285944mov x3, x30
    00285948bl runtime.morestack_noctxt.abi0
    0028594cldp x0, x1, [sp+8]
    00285950ldr x2, [sp+24]
    00285954b 0x285880
    00285958udf 0
    0028595cudf 0
    00285880
    00285960
    00285960math/big.(*Int).Mod: ; void math/big.(*Int).Mod(math/big.Int * z, math/big.Int * x, math/big.Int * y)
    00285960ldr x16, [x28+16]
    00285964sub x17, sp, 80
    00285968subs xzr, x17, x16
    0028596cb.ls 0x285ad0
    00285970str x30, [sp-208]!
    00285974stur x29, [sp-8]
    00285978sub x29, sp, 8
    0028597cstr x0, [sp+216]
    00285980str x1, [sp+224]
    00285984str x2, [sp+232]
    00285988str xzr, [sp+64]
    0028598cldr x6, [sp+232]
    00285990str x6, [sp+72]
    00285994ldr x6, [sp+232]
    00285998ldr x7, [sp+216]
    0028599csubs xzr, x6, x7
    002859a0cset x6, eq
    002859a4strb w6, [sp+63]
    002859a8b.eq 0x2859b0
    002859acb 0x2859b4
    002859b0
    002859b0loc_2859b0:
    002859b0b 0x285a10
    002859b4
    002859b4loc_2859b4:
    002859b4ldr x6, [sp+216]
    002859b8ldrsb x27, [x6]
    002859bcldr x7, [x6+8]
    002859c0ldr x8, [x6+16]
    002859c4ldr x6, [x6+24]
    002859c8str x7, [sp+112]
    002859ccstr x8, [sp+120]
    002859d0str x6, [sp+128]
    002859d4ldr x6, [sp+232]
    002859d8ldrsb x27, [x6]
    002859dcldr x3, [x6+8]
    002859e0ldr x4, [x6+16]
    002859e4ldr x5, [x6+24]
    002859e8str x3, [sp+176]
    002859ecstr x4, [sp+184]
    002859f0str x5, [sp+192]
    002859f4ldr x0, [sp+112]
    002859f8ldr x1, [sp+120]
    002859fcldr x2, [sp+128]
    00285a00bl math/big.alias
    00285a04strb w0, [sp+62]
    00285a08strb w0, [sp+63]
    00285a0cb 0x285a10
    00285a10
    00285a10loc_285a10:
    00285a10ldrb w4, [sp+63]
    00285a14tbnz w4, 0, 0x285a1c
    00285a18b 0x285a40
    00285a1c
    00285a1cloc_285a1c:
    00285a1cstrb wzr, [sp+144]
    00285a20str xzr, [sp+152]
    00285a24stp xzr, xzr, [sp+160]
    00285a28add x0, sp, 144
    00285a2cstr x0, [sp+136]
    00285a30ldr x1, [sp+232]
    00285a34bl math/big.(*Int).Set
    00285a38str x0, [sp+72]
    00285a3cb 0x285a44
    00285a40
    00285a40loc_285a40:
    00285a40b 0x285a44
    00285a44
    00285a44loc_285a44:
    00285a44strb wzr, [sp+80]
    00285a48str xzr, [sp+88]
    00285a4cstp xzr, xzr, [sp+96]
    00285a50ldr x2, [sp+232]
    00285a54ldr x3, [sp+216]
    00285a58ldr x1, [sp+224]
    00285a5cadd x0, sp, 80
    00285a60bl math/big.(*Int).QuoRem
    00285a64ldr x4, [sp+216]
    00285a68ldrsb x27, [x4]
    00285a6cldrb w4, [x4]
    00285a70tbnz w4, 0, 0x285a78
    00285a74b 0x285ab8
    00285a78
    00285a78loc_285a78:
    00285a78ldr x3, [sp+72]
    00285a7cldrsb x27, [x3]
    00285a80ldrb w3, [x3]
    00285a84tbnz w3, 0, 0x285a8c
    00285a88b 0x285aa0
    00285a8c
    00285a8cloc_285a8c:
    00285a8cldr x1, [sp+216]
    00285a90ldr x2, [sp+72]
    00285a94ldr x0, [sp+216]
    00285a98bl math/big.(*Int).Sub
    00285a9cb 0x285ab4
    00285aa0
    00285aa0loc_285aa0:
    00285aa0ldr x1, [sp+216]
    00285aa4ldr x2, [sp+72]
    00285aa8ldr x0, [sp+216]
    00285aacbl math/big.(*Int).Add
    00285ab0b 0x285ab4
    00285ab4
    00285ab4loc_285ab4:
    00285ab4b 0x285abc
    00285ab8
    00285ab8loc_285ab8:
    00285ab8b 0x285abc
    00285abc
    00285abcloc_285abc:
    00285abcldr x0, [sp+216]
    00285ac0str x0, [sp+64]
    00285ac4ldur x29, [sp-8]
    00285ac8ldr x30, [sp], 208
    00285accret x30
    00285ad0
    00285ad0loc_285ad0:
    00285ad0stp x0, x1, [sp+8]
    00285ad4str x2, [sp+24]
    00285ad8mov x3, x30
    00285adcbl runtime.morestack_noctxt.abi0
    00285ae0ldp x0, x1, [sp+8]
    00285ae4ldr x2, [sp+24]
    00285ae8b 0x285960
    00285aecudf 0
    00285960
    00285af0
    00285af0math/big.(*Int).Cmp: ; void math/big.(*Int).Cmp(math/big.Int * x, math/big.Int * y)
    00285af0ldr x16, [x28+16]
    00285af4subs xzr, sp, x16
    00285af8b.ls 0x285c04
    00285afcstr x30, [sp-128]!
    00285b00stur x29, [sp-8]
    00285b04sub x29, sp, 8
    00285b08str x0, [sp+136]
    00285b0cstr x1, [sp+144]
    00285b10str xzr, [sp+64]
    00285b14subs xzr, x1, x0
    00285b18b.eq 0x285b20
    00285b1cb 0x285b28
    00285b20
    00285b20loc_285b20:
    00285b20b 0x285b24
    00285b24
    00285b24loc_285b24:
    00285b24b 0x285bf4
    00285b28
    00285b28loc_285b28:
    00285b28ldrsb x27, [x0]
    00285b2cldrsb x27, [x1]
    00285b30ldrb w6, [x0]
    00285b34ldrb w7, [x1]
    00285b38eor x6, x6, x7
    00285b3ceor x6, x6, 1
    00285b40tbnz w6, 0, 0x285b48
    00285b44b 0x285bc4
    00285b48
    00285b48loc_285b48:
    00285b48b 0x285b4c
    00285b4c
    00285b4cloc_285b4c:
    00285b4cldrsb x27, [x0]
    00285b50ldr x6, [x0+8]
    00285b54ldr x7, [x0+16]
    00285b58ldr x8, [x0+24]
    00285b5cstr x6, [sp+96]
    00285b60str x7, [sp+104]
    00285b64str x8, [sp+112]
    00285b68ldr x6, [sp+144]
    00285b6cldrsb x27, [x6]
    00285b70ldr x3, [x6+8]
    00285b74ldr x4, [x6+16]
    00285b78ldr x5, [x6+24]
    00285b7cstr x3, [sp+72]
    00285b80str x4, [sp+80]
    00285b84str x5, [sp+88]
    00285b88ldr x0, [sp+96]
    00285b8cldr x1, [sp+104]
    00285b90ldr x2, [sp+112]
    00285b94bl math/big.nat.cmp
    00285b98str x0, [sp+64]
    00285b9cldr x6, [sp+136]
    00285ba0ldrsb x27, [x6]
    00285ba4ldrb w6, [x6]
    00285ba8tbnz w6, 0, 0x285bb0
    00285bacb 0x285bbc
    00285bb0
    00285bb0loc_285bb0:
    00285bb0sub x1, xzr, x0
    00285bb4str x1, [sp+64]
    00285bb8b 0x285bc0
    00285bbc
    00285bbcloc_285bbc:
    00285bbcb 0x285bc0
    00285bc0
    00285bc0loc_285bc0:
    00285bc0b 0x285bf4
    00285bc4
    00285bc4loc_285bc4:
    00285bc4ldrsb x27, [x0]
    00285bc8ldrb w1, [x0]
    00285bcctbnz w1, 0, 0x285bd4
    00285bd0b 0x285be4
    00285bd4
    00285bd4loc_285bd4:
    00285bd4b 0x285bd8
    00285bd8
    00285bd8loc_285bd8:
    00285bd8movn x1, 0
    00285bdcstr x1, [sp+64]
    00285be0b 0x285bf4
    00285be4
    00285be4loc_285be4:
    00285be4b 0x285be8
    00285be8
    00285be8loc_285be8:
    00285be8orr x1, xzr, 1
    00285becstr x1, [sp+64]
    00285bf0b 0x285bf4
    00285bf4
    00285bf4loc_285bf4:
    00285bf4ldr x0, [sp+64]
    00285bf8ldur x29, [sp-8]
    00285bfcldr x30, [sp], 128
    00285c00ret x30
    00285c04
    00285c04loc_285c04:
    00285c04stp x0, x1, [sp+8]
    00285c08mov x3, x30
    00285c0cbl runtime.morestack_noctxt.abi0
    00285c10ldp x0, x1, [sp+8]
    00285c14b 0x285af0
    00285c18udf 0
    00285c1cudf 0
    00285af0
    00285c20
    00285c20math/big.low64: ; void math/big.low64(math/big.nat x)
    00285c20ldr x16, [x28+16]
    00285c24subs xzr, sp, x16
    00285c28b.ls 0x285ca0
    00285c2cstr x30, [sp-64]!
    00285c30stur x29, [sp-8]
    00285c34sub x29, sp, 8
    00285c38str x0, [sp+72]
    00285c3cstr x1, [sp+80]
    00285c40str x2, [sp+88]
    00285c44str xzr, [sp+32]
    00285c48str x1, [sp+48]
    00285c4ccbz x1, 0x285c54
    00285c50b 0x285c68
    00285c54
    00285c54loc_285c54:
    00285c54str xzr, [sp+32]
    00285c58mov x0, xzr
    00285c5cldur x29, [sp-8]
    00285c60ldr x30, [sp], 64
    00285c64ret x30
    00285c68
    00285c68loc_285c68:
    00285c68ldr x2, [sp+72]
    00285c6csubs xzr, x1, 0
    00285c70b.hi 0x285c78
    00285c74b 0x285c94
    00285c78
    00285c78loc_285c78:
    00285c78ldr x1, [x2]
    00285c7cstr x1, [sp+40]
    00285c80ldr x0, [sp+40]
    00285c84str x0, [sp+32]
    00285c88ldur x29, [sp-8]
    00285c8cldr x30, [sp], 64
    00285c90ret x30
    00285c94
    00285c94loc_285c94:
    00285c94mov x0, xzr
    00285c98bl runtime.panicIndex
    00285c9chint
    00285ca0
    00285ca0loc_285ca0:
    00285ca0stp x0, x1, [sp+8]
    00285ca4str x2, [sp+24]
    00285ca8mov x3, x30
    00285cacbl runtime.morestack_noctxt.abi0
    00285cb0ldp x0, x1, [sp+8]
    00285cb4ldr x2, [sp+24]
    00285cb8b 0x285c20
    00285cbcudf 0
    00285c20
    00285cc0
    00285cc0math/big.(*Int).Int64: ; void math/big.(*Int).Int64(math/big.Int * x)
    00285cc0ldr x16, [x28+16]
    00285cc4subs xzr, sp, x16
    00285cc8b.ls 0x285d48
    00285cccstr x30, [sp-96]!
    00285cd0stur x29, [sp-8]
    00285cd4sub x29, sp, 8
    00285cd8str x0, [sp+104]
    00285cdcstr xzr, [sp+40]
    00285ce0ldrsb x27, [x0]
    00285ce4ldr x3, [x0+8]
    00285ce8ldr x1, [x0+16]
    00285cecldr x2, [x0+24]
    00285cf0str x3, [sp+64]
    00285cf4str x1, [sp+72]
    00285cf8str x2, [sp+80]
    00285cfcmov x0, x3
    00285d00bl math/big.low64
    00285d04str x0, [sp+56]
    00285d08str x0, [sp+48]
    00285d0cldr x3, [sp+104]
    00285d10ldrsb x27, [x3]
    00285d14ldrb w3, [x3]
    00285d18tbnz w3, 0, 0x285d20
    00285d1cb 0x285d30
    00285d20
    00285d20loc_285d20:
    00285d20ldr x1, [sp+48]
    00285d24sub x1, xzr, x1
    00285d28str x1, [sp+48]
    00285d2cb 0x285d34
    00285d30
    00285d30loc_285d30:
    00285d30b 0x285d34
    00285d34
    00285d34loc_285d34:
    00285d34ldr x0, [sp+48]
    00285d38str x0, [sp+40]
    00285d3cldur x29, [sp-8]
    00285d40ldr x30, [sp], 96
    00285d44ret x30
    00285d48
    00285d48loc_285d48:
    00285d48str x0, [sp+8]
    00285d4cmov x3, x30
    00285d50bl runtime.morestack_noctxt.abi0
    00285d54ldr x0, [sp+8]
    00285d58b 0x285cc0
    00285d5cudf 0
    00285cc0
    00285d60
    00285d60math/big.(*Int).Uint64: ; void math/big.(*Int).Uint64(math/big.Int * x)
    00285d60ldr x16, [x28+16]
    00285d64subs xzr, sp, x16
    00285d68b.ls 0x285db8
    00285d6cstr x30, [sp-80]!
    00285d70stur x29, [sp-8]
    00285d74sub x29, sp, 8
    00285d78str x0, [sp+88]
    00285d7cstr xzr, [sp+32]
    00285d80ldrsb x27, [x0]
    00285d84ldr x3, [x0+8]
    00285d88ldr x1, [x0+16]
    00285d8cldr x2, [x0+24]
    00285d90str x3, [sp+48]
    00285d94str x1, [sp+56]
    00285d98str x2, [sp+64]
    00285d9cmov x0, x3
    00285da0bl math/big.low64
    00285da4str x0, [sp+40]
    00285da8str x0, [sp+32]
    00285dacldur x29, [sp-8]
    00285db0ldr x30, [sp], 80
    00285db4ret x30
    00285db8
    00285db8loc_285db8:
    00285db8str x0, [sp+8]
    00285dbcmov x3, x30
    00285dc0bl runtime.morestack_noctxt.abi0
    00285dc4ldr x0, [sp+8]
    00285dc8b 0x285d60
    00285dccudf 0
    00285d60
    00285dd0
    00285dd0math/big.(*Int).SetString: ; void math/big.(*Int).SetString(math/big.Int * z, struct string s, int base)
    00285dd0ldr x16, [x28+16]
    00285dd4subs xzr, sp, x16
    00285dd8b.ls 0x285e68
    00285ddcstr x30, [sp-96]!
    00285de0stur x29, [sp-8]
    00285de4sub x29, sp, 8
    00285de8str x0, [sp+104]
    00285decstr x1, [sp+112]
    00285df0str x2, [sp+120]
    00285df4str x3, [sp+128]
    00285df8str xzr, [sp+48]
    00285dfcstrb wzr, [sp+45]
    00285e00ldr x0, [sp+112]
    00285e04ldr x1, [sp+120]
    00285e08bl strings.NewReader
    00285e0cstr x0, [sp+72]
    00285e10str x0, [sp+64]
    00285e14str xzr, [sp+56]
    00285e18ldr x3, [sp+128]
    00285e1cldr x0, [sp+104]
    00285e20ldr x2, [sp+64]
    00285e24adrp x1, 0x492000
    00285e28add x1, x1, 2104
    00285e2cbl math/big.(*Int).setFromScanner
    00285e30str x0, [sp+56]
    00285e34strb w1, [sp+47]
    00285e38ldr x2, [sp+56]
    00285e3cstr x2, [sp+80]
    00285e40ldrb w2, [sp+47]
    00285e44strb w2, [sp+46]
    00285e48ldr x2, [sp+80]
    00285e4cstr x2, [sp+48]
    00285e50ldrb w1, [sp+46]
    00285e54strb w1, [sp+45]
    00285e58ldr x0, [sp+48]
    00285e5cldur x29, [sp-8]
    00285e60ldr x30, [sp], 96
    00285e64ret x30
    00285e68
    00285e68loc_285e68:
    00285e68stp x0, x1, [sp+8]
    00285e6cstp x2, x3, [sp+24]
    00285e70mov x3, x30
    00285e74bl runtime.morestack_noctxt.abi0
    00285e78ldp x0, x1, [sp+8]
    00285e7cldp x2, x3, [sp+24]
    00285e80b 0x285dd0
    00285e84udf 0
    00285e88udf 0
    00285e8cudf 0
    00285dd0
    00285e90
    00285e90math/big.(*Int).setFromScanner: ; void math/big.(*Int).setFromScanner(math/big.Int * z, io.ByteScanner r, int base)
    00285e90ldr x16, [x28+16]
    00285e94sub x17, sp, 48
    00285e98subs xzr, x17, x16
    00285e9cb.ls 0x285fec
    00285ea0str x30, [sp-176]!
    00285ea4stur x29, [sp-8]
    00285ea8sub x29, sp, 8
    00285eacstr x0, [sp+184]
    00285eb0str x1, [sp+192]
    00285eb4str x2, [sp+200]
    00285eb8str x3, [sp+208]
    00285ebcstr xzr, [sp+64]
    00285ec0strb wzr, [sp+45]
    00285ec4str xzr, [sp+144]
    00285ec8stp xzr, xzr, [sp+128]
    00285eccldr x3, [sp+208]
    00285ed0ldr x1, [sp+192]
    00285ed4ldr x2, [sp+200]
    00285ed8ldr x0, [sp+184]
    00285edcbl math/big.(*Int).scan
    00285ee0str x0, [sp+144]
    00285ee4str x1, [sp+56]
    00285ee8str x2, [sp+128]
    00285eecstr x3, [sp+136]
    00285ef0ldr x4, [sp+144]
    00285ef4str x4, [sp+120]
    00285ef8ldr x4, [sp+56]
    00285efcstr x4, [sp+48]
    00285f00ldr x4, [sp+136]
    00285f04ldr x5, [sp+128]
    00285f08str x5, [sp+104]
    00285f0cstr x4, [sp+112]
    00285f10str x5, [sp+88]
    00285f14str x4, [sp+96]
    00285f18cbnz x5, 0x285f20
    00285f1cb 0x285f3c
    00285f20
    00285f20loc_285f20:
    00285f20str xzr, [sp+64]
    00285f24strb wzr, [sp+45]
    00285f28ldr x0, [sp+64]
    00285f2cmov x1, xzr
    00285f30ldur x29, [sp-8]
    00285f34ldr x30, [sp], 176
    00285f38ret x30
    00285f3c
    00285f3cloc_285f3c:
    00285f3cstp xzr, xzr, [sp+128]
    00285f40ldr x1, [sp+192]
    00285f44ldrsb x27, [x1]
    00285f48ldr x1, [x1+24]
    00285f4cldr x0, [sp+200]
    00285f50blr x1
    00285f54strb w0, [sp+46]
    00285f58str x1, [sp+128]
    00285f5cstr x2, [sp+136]
    00285f60ldrb w1, [sp+46]
    00285f64strb w1, [sp+47]
    00285f68ldr x1, [sp+136]
    00285f6cldr x0, [sp+128]
    00285f70str x0, [sp+152]
    00285f74str x1, [sp+160]
    00285f78str x0, [sp+72]
    00285f7cstr x1, [sp+80]
    00285f80adrp x27, 0x79c000
    00285f84ldr x2, [x27+1520]
    00285f88subs xzr, x2, x0
    00285f8cb.ne 0x285f94
    00285f90b 0x285f98
    00285f94
    00285f94loc_285f94:
    00285f94b 0x285fd0
    00285f98
    00285f98loc_285f98:
    00285f98adrp x27, 0x79c000
    00285f9cldr x2, [x27+1528]
    00285fa0bl runtime.ifaceeq
    00285fa4tbnz w0, 0, 0x285fac
    00285fa8b 0x285fcc
    00285fac
    00285facloc_285fac:
    00285facldr x2, [sp+184]
    00285fb0str x2, [sp+64]
    00285fb4orr x1, xzr, 1
    00285fb8strb w1, [sp+45]
    00285fbcldr x0, [sp+64]
    00285fc0ldur x29, [sp-8]
    00285fc4ldr x30, [sp], 176
    00285fc8ret x30
    00285fcc
    00285fccloc_285fcc:
    00285fccb 0x285fd0
    00285fd0
    00285fd0loc_285fd0:
    00285fd0str xzr, [sp+64]
    00285fd4strb wzr, [sp+45]
    00285fd8ldr x0, [sp+64]
    00285fdcmov x1, xzr
    00285fe0ldur x29, [sp-8]
    00285fe4ldr x30, [sp], 176
    00285fe8ret x30
    00285fec
    00285fecloc_285fec:
    00285fecstp x0, x1, [sp+8]
    00285ff0stp x2, x3, [sp+24]
    00285ff4mov x3, x30
    00285ff8bl runtime.morestack_noctxt.abi0
    00285ffcldp x0, x1, [sp+8]
    00286000ldp x2, x3, [sp+24]
    00286004b 0x285e90
    00286008udf 0
    0028600cudf 0
    00285e90
    00286010
    00286010math/big.(*Int).SetBytes: ; void math/big.(*Int).SetBytes(math/big.Int * z, struct []uint8 buf)
    00286010ldr x16, [x28+16]
    00286014subs xzr, sp, x16
    00286018b.ls 0x2860d4
    0028601cstr x30, [sp-128]!
    00286020stur x29, [sp-8]
    00286024sub x29, sp, 8
    00286028str x0, [sp+136]
    0028602cstr x1, [sp+144]
    00286030str x2, [sp+152]
    00286034str x3, [sp+160]
    00286038str xzr, [sp+64]
    0028603cldr x6, [sp+136]
    00286040ldrsb x27, [x6]
    00286044ldr x0, [x6+8]
    00286048ldr x1, [x6+16]
    0028604cldr x2, [x6+24]
    00286050str x0, [sp+72]
    00286054str x1, [sp+80]
    00286058str x2, [sp+88]
    0028605cldr x3, [sp+144]
    00286060ldr x4, [sp+152]
    00286064ldr x5, [sp+160]
    00286068bl math/big.nat.setBytes
    0028606cstr x0, [sp+96]
    00286070str x1, [sp+104]
    00286074str x2, [sp+112]
    00286078ldr x6, [sp+136]
    0028607cldrsb x27, [x6]
    00286080str x1, [x6+16]
    00286084str x2, [x6+24]
    00286088adrp x27, 0x7c5000
    0028608cldr w7, [x27+3056]
    00286090cbz w7, 0x286098
    00286094b 0x28609c
    00286098
    00286098loc_286098:
    00286098b 0x2860b0
    0028609c
    0028609cloc_28609c:
    0028609cbl runtime.gcWriteBarrier2
    002860a0str x0, [x25]
    002860a4ldr x1, [x6+8]
    002860a8str x1, [x25+8]
    002860acb 0x2860b0
    002860b0
    002860b0loc_2860b0:
    002860b0str x0, [x6+8]
    002860b4ldr x1, [sp+136]
    002860b8ldrsb x27, [x1]
    002860bcstrb wzr, [x1]
    002860c0ldr x0, [sp+136]
    002860c4str x0, [sp+64]
    002860c8ldur x29, [sp-8]
    002860ccldr x30, [sp], 128
    002860d0ret x30
    002860d4
    002860d4loc_2860d4:
    002860d4stp x0, x1, [sp+8]
    002860d8stp x2, x3, [sp+24]
    002860dcmov x3, x30
    002860e0bl runtime.morestack_noctxt.abi0
    002860e4ldp x0, x1, [sp+8]
    002860e8ldp x2, x3, [sp+24]
    002860ecb 0x286010
    00286010
    002860f0
    002860f0math/big.(*Int).Bytes: ; void math/big.(*Int).Bytes(math/big.Int * x)
    002860f0ldr x16, [x28+16]
    002860f4sub x17, sp, 48
    002860f8subs xzr, x17, x16
    002860fcb.ls 0x2861e4
    00286100str x30, [sp-176]!
    00286104stur x29, [sp-8]
    00286108sub x29, sp, 8
    0028610cstr x0, [sp+184]
    00286110str xzr, [sp+72]
    00286114stp xzr, xzr, [sp+80]
    00286118ldr x3, [sp+184]
    0028611cldrsb x27, [x3]
    00286120ldr x3, [x3+16]
    00286124str x3, [sp+64]
    00286128ubfm x2, x3, 61, 60
    0028612cstr x2, [sp+56]
    00286130adrp x0, 0x36f000
    00286134add x0, x0, 3072
    00286138mov x1, x2
    0028613cbl runtime.makeslice
    00286140ldr x3, [sp+56]
    00286144ldr x4, [sp+56]
    00286148str x0, [sp+96]
    0028614cstr x3, [sp+104]
    00286150str x4, [sp+112]
    00286154ldr x3, [sp+184]
    00286158ldrsb x27, [x3]
    0028615cldr x0, [x3+8]
    00286160ldr x1, [x3+16]
    00286164ldr x2, [x3+24]
    00286168str x0, [sp+120]
    0028616cstr x1, [sp+128]
    00286170str x2, [sp+136]
    00286174ldr x3, [sp+96]
    00286178ldr x4, [sp+104]
    0028617cldr x5, [sp+112]
    00286180bl math/big.nat.bytes
    00286184str x0, [sp+64]
    00286188ldr x1, [sp+104]
    0028618cldr x3, [sp+96]
    00286190ldr x4, [sp+112]
    00286194b 0x286198
    00286198
    00286198loc_286198:
    00286198subs xzr, x0, x1
    0028619cb.ls 0x2861a4
    002861a0b 0x2861dc
    002861a4
    002861a4loc_2861a4:
    002861a4sub x2, x4, x0
    002861a8sub x1, x1, x0
    002861acsub x4, xzr, x2
    002861b0and x4, x0, x4, asr #63
    002861b4add x0, x3, x4
    002861b8str x0, [sp+144]
    002861bcstr x1, [sp+152]
    002861c0str x2, [sp+160]
    002861c4str x0, [sp+72]
    002861c8str x1, [sp+80]
    002861ccstr x2, [sp+88]
    002861d0ldur x29, [sp-8]
    002861d4ldr x30, [sp], 176
    002861d8ret x30
    002861dc
    002861dcloc_2861dc:
    002861dcbl runtime.panicSliceB
    002861e0hint
    002861e4
    002861e4loc_2861e4:
    002861e4str x0, [sp+8]
    002861e8mov x3, x30
    002861ecbl runtime.morestack_noctxt.abi0
    002861f0ldr x0, [sp+8]
    002861f4b 0x2860f0
    002861f8udf 0
    002861fcudf 0
    002860f0
    00286200
    00286200math/big.(*Int).FillBytes: ; void math/big.(*Int).FillBytes(math/big.Int * x, struct []uint8 buf)
    00286200ldr x16, [x28+16]
    00286204subs xzr, sp, x16
    00286208b.ls 0x2862b4
    0028620cstr x30, [sp-128]!
    00286210stur x29, [sp-8]
    00286214sub x29, sp, 8
    00286218str x0, [sp+136]
    0028621cstr x1, [sp+144]
    00286220str x2, [sp+152]
    00286224str x3, [sp+160]
    00286228str xzr, [sp+64]
    0028622cstp xzr, xzr, [sp+72]
    00286230ldr x6, [sp+152]
    00286234cbnz x6, 0x28623c
    00286238b 0x28625c
    0028623c
    0028623cloc_28623c:
    0028623cldr x2, [sp+144]
    00286240str x2, [sp+112]
    00286244ldr x2, [sp+152]
    00286248str x2, [sp+56]
    0028624cldr x1, [sp+56]
    00286250ldr x0, [sp+112]
    00286254bl runtime.memclrNoHeapPointers
    00286258b 0x286260
    0028625c
    0028625cloc_28625c:
    0028625cb 0x286260
    00286260
    00286260loc_286260:
    00286260ldr x6, [sp+136]
    00286264ldrsb x27, [x6]
    00286268ldr x0, [x6+8]
    0028626cldr x1, [x6+16]
    00286270ldr x2, [x6+24]
    00286274str x0, [sp+88]
    00286278str x1, [sp+96]
    0028627cstr x2, [sp+104]
    00286280ldr x3, [sp+144]
    00286284ldr x4, [sp+152]
    00286288ldr x5, [sp+160]
    0028628cbl math/big.nat.bytes
    00286290ldr x0, [sp+144]
    00286294ldr x1, [sp+152]
    00286298ldr x2, [sp+160]
    0028629cstr x0, [sp+64]
    002862a0str x1, [sp+72]
    002862a4str x2, [sp+80]
    002862a8ldur x29, [sp-8]
    002862acldr x30, [sp], 128
    002862b0ret x30
    002862b4
    002862b4loc_2862b4:
    002862b4stp x0, x1, [sp+8]
    002862b8stp x2, x3, [sp+24]
    002862bcmov x3, x30
    002862c0bl runtime.morestack_noctxt.abi0
    002862c4ldp x0, x1, [sp+8]
    002862c8ldp x2, x3, [sp+24]
    002862ccb 0x286200
    00286200
    002862d0
    002862d0math/big.(*Int).BitLen: ; void math/big.(*Int).BitLen(math/big.Int * x)
    002862d0ldr x16, [x28+16]
    002862d4subs xzr, sp, x16
    002862d8b.ls 0x286328
    002862dcstr x30, [sp-80]!
    002862e0stur x29, [sp-8]
    002862e4sub x29, sp, 8
    002862e8str x0, [sp+88]
    002862ecstr xzr, [sp+32]
    002862f0ldrsb x27, [x0]
    002862f4ldr x3, [x0+8]
    002862f8ldr x1, [x0+16]
    002862fcldr x2, [x0+24]
    00286300str x3, [sp+48]
    00286304str x1, [sp+56]
    00286308str x2, [sp+64]
    0028630cmov x0, x3
    00286310bl math/big.nat.bitLen
    00286314str x0, [sp+40]
    00286318str x0, [sp+32]
    0028631cldur x29, [sp-8]
    00286320ldr x30, [sp], 80
    00286324ret x30
    00286328
    00286328loc_286328:
    00286328str x0, [sp+8]
    0028632cmov x3, x30
    00286330bl runtime.morestack_noctxt.abi0
    00286334ldr x0, [sp+8]
    00286338b 0x2862d0
    0028633cudf 0
    002862d0
    00286340
    00286340math/big.(*Int).Exp: ; void math/big.(*Int).Exp(math/big.Int * z, math/big.Int * x, math/big.Int * y, math/big.Int * m)
    00286340ldr x16, [x28+16]
    00286344subs xzr, sp, x16
    00286348b.ls 0x286398
    0028634cstr x30, [sp-80]!
    00286350stur x29, [sp-8]
    00286354sub x29, sp, 8
    00286358str x0, [sp+88]
    0028635cstr x1, [sp+96]
    00286360str x2, [sp+104]
    00286364str x3, [sp+112]
    00286368str xzr, [sp+56]
    0028636cldr x1, [sp+96]
    00286370ldr x2, [sp+104]
    00286374ldr x3, [sp+112]
    00286378ldr x0, [sp+88]
    0028637cmov x4, xzr
    00286380bl math/big.(*Int).exp
    00286384str x0, [sp+64]
    00286388str x0, [sp+56]
    0028638cldur x29, [sp-8]
    00286390ldr x30, [sp], 80
    00286394ret x30
    00286398
    00286398loc_286398:
    00286398stp x0, x1, [sp+8]
    0028639cstp x2, x3, [sp+24]
    002863a0mov x3, x30
    002863a4bl runtime.morestack_noctxt.abi0
    002863a8ldp x0, x1, [sp+8]
    002863acldp x2, x3, [sp+24]
    002863b0b 0x286340
    002863b4udf 0
    002863b8udf 0
    002863bcudf 0
    00286340
    002863c0
    002863c0math/big.(*Int).exp: ; void math/big.(*Int).exp(math/big.Int * z, math/big.Int * x, math/big.Int * y, math/big.Int * m, bool slow)
    002863c0ldr x16, [x28+16]
    002863c4sub x17, sp, 320
    002863c8subs xzr, x17, x16
    002863ccb.ls 0x286868
    002863d0sub x20, sp, 448
    002863d4stp x29, x30, [x20-8]
    002863d8add sp, x20, 0
    002863dcsub x29, sp, 8
    002863e0str x0, [sp+456]
    002863e4str x1, [sp+464]
    002863e8str x2, [sp+472]
    002863ecstr x3, [sp+480]
    002863f0strb w4, [sp+488]
    002863f4str xzr, [sp+136]
    002863f8ldr x13, [sp+464]
    002863fcldrsb x27, [x13]
    00286400ldr x14, [x13+8]
    00286404ldr x15, [x13+16]
    00286408ldr x13, [x13+24]
    0028640cstr x14, [sp+168]
    00286410str x15, [sp+176]
    00286414str x13, [sp+184]
    00286418ldr x13, [sp+472]
    0028641cldrsb x27, [x13]
    00286420ldrb w13, [x13]
    00286424tbnz w13, 0, 0x28642c
    00286428b 0x2864f8
    0028642c
    0028642cloc_28642c:
    0028642cldr x3, [sp+480]
    00286430subs xzr, x3, 0
    00286434cset x4, ne
    00286438eor x4, x4, 1
    0028643cstrb w4, [sp+119]
    00286440cbnz x3, 0x286448
    00286444b 0x286468
    00286448
    00286448loc_286448:
    00286448ldr x3, [sp+480]
    0028644cldrsb x27, [x3]
    00286450ldr x3, [x3+16]
    00286454str x3, [sp+128]
    00286458subs xzr, x3, 0
    0028645ccset x3, eq
    00286460strb w3, [sp+119]
    00286464b 0x28646c
    00286468
    00286468loc_286468:
    00286468b 0x28646c
    0028646c
    0028646cloc_28646c:
    0028646cldrb w3, [sp+119]
    00286470tbnz w3, 0, 0x286478
    00286474b 0x286498
    00286478
    00286478loc_286478:
    00286478ldr x0, [sp+456]
    0028647corr x1, xzr, 1
    00286480bl math/big.(*Int).SetInt64
    00286484str x0, [sp+432]
    00286488str x0, [sp+136]
    0028648cldp x29, x30, [sp-8]
    00286490add sp, sp, 448
    00286494ret x30
    00286498
    00286498loc_286498:
    00286498strb wzr, [sp+376]
    0028649cstr xzr, [sp+384]
    002864a0stp xzr, xzr, [sp+392]
    002864a4add x0, sp, 376
    002864a8str x0, [sp+432]
    002864acldr x1, [sp+464]
    002864b0ldr x2, [sp+480]
    002864b4bl math/big.(*Int).ModInverse
    002864b8str x0, [sp+216]
    002864bccbnz x0, 0x2864c4
    002864c0b 0x2864e4
    002864c4
    002864c4loc_2864c4:
    002864c4ldrsb x27, [x0]
    002864c8ldr x13, [x0+8]
    002864ccldr x14, [x0+16]
    002864d0ldr x15, [x0+24]
    002864d4str x13, [sp+168]
    002864d8str x14, [sp+176]
    002864dcstr x15, [sp+184]
    002864e0b 0x2864fc
    002864e4
    002864e4loc_2864e4:
    002864e4str xzr, [sp+136]
    002864e8mov x0, xzr
    002864ecldp x29, x30, [sp-8]
    002864f0add sp, sp, 448
    002864f4ret x30
    002864f8
    002864f8loc_2864f8:
    002864f8b 0x2864fc
    002864fc
    002864fcloc_2864fc:
    002864fcldr x13, [sp+472]
    00286500ldrsb x27, [x13]
    00286504ldr x14, [x13+8]
    00286508ldr x15, [x13+16]
    0028650cldr x13, [x13+24]
    00286510str x14, [sp+144]
    00286514str x15, [sp+152]
    00286518str x13, [sp+160]
    0028651cstr xzr, [sp+192]
    00286520stp xzr, xzr, [sp+200]
    00286524ldr x13, [sp+480]
    00286528cbnz x13, 0x286530
    0028652cb 0x286604
    00286530
    00286530loc_286530:
    00286530ldr x13, [sp+480]
    00286534ldr x14, [sp+456]
    00286538subs xzr, x13, x14
    0028653ccset x13, eq
    00286540strb w13, [sp+119]
    00286544b.eq 0x28654c
    00286548b 0x286550
    0028654c
    0028654cloc_28654c:
    0028654cb 0x2865ac
    00286550
    00286550loc_286550:
    00286550ldr x6, [sp+456]
    00286554ldrsb x27, [x6]
    00286558ldr x7, [x6+8]
    0028655cldr x8, [x6+16]
    00286560ldr x6, [x6+24]
    00286564str x7, [sp+352]
    00286568str x8, [sp+360]
    0028656cstr x6, [sp+368]
    00286570ldr x6, [sp+480]
    00286574ldrsb x27, [x6]
    00286578ldr x3, [x6+8]
    0028657cldr x4, [x6+16]
    00286580ldr x5, [x6+24]
    00286584str x3, [sp+328]
    00286588str x4, [sp+336]
    0028658cstr x5, [sp+344]
    00286590ldr x0, [sp+352]
    00286594ldr x1, [sp+360]
    00286598ldr x2, [sp+368]
    0028659cbl math/big.alias
    002865a0strb w0, [sp+118]
    002865a4strb w0, [sp+119]
    002865a8b 0x2865ac
    002865ac
    002865acloc_2865ac:
    002865acldrb w13, [sp+119]
    002865b0tbnz w13, 0, 0x2865b8
    002865b4b 0x2865dc
    002865b8
    002865b8loc_2865b8:
    002865b8strb wzr, [sp+296]
    002865bcstr xzr, [sp+304]
    002865c0stp xzr, xzr, [sp+312]
    002865c4add x0, sp, 296
    002865c8str x0, [sp+432]
    002865ccldr x1, [sp+480]
    002865d0bl math/big.(*Int).Set
    002865d4str x0, [sp+480]
    002865d8b 0x2865e0
    002865dc
    002865dcloc_2865dc:
    002865dcb 0x2865e0
    002865e0
    002865e0loc_2865e0:
    002865e0ldr x13, [sp+480]
    002865e4ldrsb x27, [x13]
    002865e8ldr x14, [x13+8]
    002865ecldr x15, [x13+16]
    002865f0ldr x13, [x13+24]
    002865f4str x14, [sp+192]
    002865f8str x15, [sp+200]
    002865fcstr x13, [sp+208]
    00286600b 0x286608
    00286604
    00286604loc_286604:
    00286604b 0x286608
    00286608
    00286608loc_286608:
    00286608ldr x13, [sp+456]
    0028660cldrsb x27, [x13]
    00286610ldr x0, [x13+8]
    00286614ldr x1, [x13+16]
    00286618ldr x2, [x13+24]
    0028661cstr x0, [sp+272]
    00286620str x1, [sp+280]
    00286624str x2, [sp+288]
    00286628ldrb w12, [sp+488]
    0028662cldr x3, [sp+168]
    00286630ldr x6, [sp+144]
    00286634ldr x9, [sp+192]
    00286638ldr x4, [sp+176]
    0028663cldr x7, [sp+152]
    00286640ldr x10, [sp+200]
    00286644ldr x5, [sp+184]
    00286648ldr x8, [sp+160]
    0028664cldr x11, [sp+208]
    00286650bl math/big.nat.expNN
    00286654str x0, [sp+408]
    00286658str x1, [sp+416]
    0028665cstr x2, [sp+424]
    00286660ldr x13, [sp+456]
    00286664ldrsb x27, [x13]
    00286668str x1, [x13+16]
    0028666cstr x2, [x13+24]
    00286670adrp x27, 0x7c5000
    00286674ldr w14, [x27+3056]
    00286678cbz w14, 0x286680
    0028667cb 0x286684
    00286680
    00286680loc_286680:
    00286680b 0x286698
    00286684
    00286684loc_286684:
    00286684bl runtime.gcWriteBarrier2
    00286688str x0, [x25]
    0028668cldr x9, [x13+8]
    00286690str x9, [x25+8]
    00286694b 0x286698
    00286698
    00286698loc_286698:
    00286698str x0, [x13+8]
    0028669cldr x9, [sp+456]
    002866a0ldrsb x27, [x9]
    002866a4ldr x9, [x9+16]
    002866a8str x9, [sp+128]
    002866acsubs xzr, x9, 0
    002866b0cset x10, ne
    002866b4strb w10, [sp+117]
    002866b8cbnz x9, 0x2866c0
    002866bcb 0x2866d4
    002866c0
    002866c0loc_2866c0:
    002866c0ldr x9, [sp+464]
    002866c4ldrsb x27, [x9]
    002866c8ldrb w9, [x9]
    002866ccstrb w9, [sp+117]
    002866d0b 0x2866d8
    002866d4
    002866d4loc_2866d4:
    002866d4b 0x2866d8
    002866d8
    002866d8loc_2866d8:
    002866d8ldrb w9, [sp+117]
    002866dcstrb w9, [sp+118]
    002866e0tbnz w9, 0, 0x2866e8
    002866e4b 0x286700
    002866e8
    002866e8loc_2866e8:
    002866e8ldr x9, [sp+152]
    002866ecstr x9, [sp+120]
    002866f0subs xzr, x9, 0
    002866f4cset x9, ne
    002866f8strb w9, [sp+118]
    002866fcb 0x286704
    00286700
    00286700loc_286700:
    00286700b 0x286704
    00286704
    00286704loc_286704:
    00286704ldrb w9, [sp+118]
    00286708strb w9, [sp+119]
    0028670ctbnz w9, 0, 0x286714
    00286710b 0x28673c
    00286714
    00286714loc_286714:
    00286714ldr x1, [sp+152]
    00286718ldr x9, [sp+144]
    0028671csubs xzr, x1, 0
    00286720b.hi 0x286728
    00286724b 0x28685c
    00286728
    00286728loc_286728:
    00286728ldr x9, [x9]
    0028672cands xzr, x9, 1
    00286730cset x9, ne
    00286734strb w9, [sp+119]
    00286738b 0x286740
    0028673c
    0028673cloc_28673c:
    0028673cb 0x286740
    00286740
    00286740loc_286740:
    00286740ldr x9, [sp+456]
    00286744ldrsb x27, [x9]
    00286748ldrb w10, [sp+119]
    0028674cstrb w10, [x9]
    00286750ldr x9, [sp+456]
    00286754ldrsb x27, [x9]
    00286758ldrb w9, [x9]
    0028675cstrb w9, [sp+117]
    00286760tbnz w9, 0, 0x286768
    00286764b 0x286780
    00286768
    00286768loc_286768:
    00286768ldr x9, [sp+200]
    0028676cstr x9, [sp+128]
    00286770subs xzr, x9, 0
    00286774cset x9, ne
    00286778strb w9, [sp+117]
    0028677cb 0x286784
    00286780
    00286780loc_286780:
    00286780b 0x286784
    00286784
    00286784loc_286784:
    00286784ldrb w9, [sp+117]
    00286788tbnz w9, 0, 0x286790
    0028678cb 0x286844
    00286790
    00286790loc_286790:
    00286790ldr x9, [sp+456]
    00286794ldrsb x27, [x9]
    00286798ldr x10, [x9+8]
    0028679cldr x11, [x9+16]
    002867a0ldr x9, [x9+24]
    002867a4str x10, [sp+248]
    002867a8str x11, [sp+256]
    002867acstr x9, [sp+264]
    002867b0ldr x9, [sp+456]
    002867b4ldrsb x27, [x9]
    002867b8ldr x6, [x9+8]
    002867bcldr x7, [x9+16]
    002867c0ldr x8, [x9+24]
    002867c4str x6, [sp+224]
    002867c8str x7, [sp+232]
    002867ccstr x8, [sp+240]
    002867d0ldr x3, [sp+192]
    002867d4ldr x4, [sp+200]
    002867d8ldr x5, [sp+208]
    002867dcldr x0, [sp+248]
    002867e0ldr x1, [sp+256]
    002867e4ldr x2, [sp+264]
    002867e8bl math/big.nat.sub
    002867ecstr x0, [sp+408]
    002867f0str x1, [sp+416]
    002867f4str x2, [sp+424]
    002867f8ldr x9, [sp+456]
    002867fcldrsb x27, [x9]
    00286800str x1, [x9+16]
    00286804str x2, [x9+24]
    00286808adrp x27, 0x7c5000
    0028680cldr w10, [x27+3056]
    00286810cbz w10, 0x286818
    00286814b 0x28681c
    00286818
    00286818loc_286818:
    00286818b 0x286830
    0028681c
    0028681cloc_28681c:
    0028681cbl runtime.gcWriteBarrier2
    00286820str x0, [x25]
    00286824ldr x1, [x9+8]
    00286828str x1, [x25+8]
    0028682cb 0x286830
    00286830
    00286830loc_286830:
    00286830str x0, [x9+8]
    00286834ldr x1, [sp+456]
    00286838ldrsb x27, [x1]
    0028683cstrb wzr, [x1]
    00286840b 0x286848
    00286844
    00286844loc_286844:
    00286844b 0x286848
    00286848
    00286848loc_286848:
    00286848ldr x0, [sp+456]
    0028684cstr x0, [sp+136]
    00286850ldp x29, x30, [sp-8]
    00286854add sp, sp, 448
    00286858ret x30
    0028685c
    0028685cloc_28685c:
    0028685cmov x0, xzr
    00286860bl runtime.panicIndex
    00286864hint
    00286868
    00286868loc_286868:
    00286868stp x0, x1, [sp+8]
    0028686cstp x2, x3, [sp+24]
    00286870strb w4, [sp+40]
    00286874mov x3, x30
    00286878bl runtime.morestack_noctxt.abi0
    0028687cldp x0, x1, [sp+8]
    00286880ldp x2, x3, [sp+24]
    00286884ldrb w4, [sp+40]
    00286888b 0x2863c0
    0028688cudf 0
    002863c0