File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    00286890
    00286890math/big.(*Int).GCD: ; void math/big.(*Int).GCD(math/big.Int * z, math/big.Int * x, math/big.Int * y, math/big.Int * a, math/big.Int * b)
    00286890ldr x16, [x28+16]
    00286894subs xzr, sp, x16
    00286898b.ls 0x286a74
    0028689cstr x30, [sp-112]!
    002868a0stur x29, [sp-8]
    002868a4sub x29, sp, 8
    002868a8str x0, [sp+120]
    002868acstr x1, [sp+128]
    002868b0str x2, [sp+136]
    002868b4str x3, [sp+144]
    002868b8str x4, [sp+152]
    002868bcstr xzr, [sp+88]
    002868c0ldr x5, [sp+144]
    002868c4ldrsb x27, [x5]
    002868c8ldr x5, [x5+16]
    002868ccstr x5, [sp+80]
    002868d0subs xzr, x5, 0
    002868d4cset x6, eq
    002868d8strb w6, [sp+55]
    002868dccbz x5, 0x2868e4
    002868e0b 0x2868e8
    002868e4
    002868e4loc_2868e4:
    002868e4b 0x286908
    002868e8
    002868e8loc_2868e8:
    002868e8ldr x5, [sp+152]
    002868ecldrsb x27, [x5]
    002868f0ldr x5, [x5+16]
    002868f4str x5, [sp+72]
    002868f8subs xzr, x5, 0
    002868fccset x5, eq
    00286900strb w5, [sp+55]
    00286904b 0x286908
    00286908
    00286908loc_286908:
    00286908ldrb w5, [sp+55]
    0028690ctbnz w5, 0, 0x286914
    00286910b 0x286a48
    00286914
    00286914loc_286914:
    00286914ldr x2, [sp+144]
    00286918ldrsb x27, [x2]
    0028691cldr x2, [x2+16]
    00286920str x2, [sp+80]
    00286924ldr x3, [sp+152]
    00286928ldrsb x27, [x3]
    0028692cldr x3, [x3+16]
    00286930str x3, [sp+72]
    00286934str x2, [sp+64]
    00286938str x3, [sp+56]
    0028693cldr x2, [sp+144]
    00286940ldrsb x27, [x2]
    00286944ldrb w2, [x2]
    00286948strb w2, [sp+54]
    0028694cldr x2, [sp+152]
    00286950ldrsb x27, [x2]
    00286954ldrb w2, [x2]
    00286958strb w2, [sp+53]
    0028695cldr x2, [sp+64]
    00286960cbz x2, 0x286968
    00286964b 0x286978
    00286968
    00286968loc_286968:
    00286968ldr x1, [sp+152]
    0028696cldr x0, [sp+120]
    00286970bl math/big.(*Int).Set
    00286974b 0x286988
    00286978
    00286978loc_286978:
    00286978ldr x1, [sp+144]
    0028697cldr x0, [sp+120]
    00286980bl math/big.(*Int).Set
    00286984b 0x286988
    00286988
    00286988loc_286988:
    00286988ldr x2, [sp+120]
    0028698cldrsb x27, [x2]
    00286990strb wzr, [x2]
    00286994ldr x2, [sp+128]
    00286998cbnz x2, 0x2869a0
    0028699cb 0x2869e0
    002869a0
    002869a0loc_2869a0:
    002869a0ldr x2, [sp+64]
    002869a4cbz x2, 0x2869ac
    002869a8b 0x2869bc
    002869ac
    002869acloc_2869ac:
    002869acldr x0, [sp+128]
    002869b0mov x1, xzr
    002869b4bl math/big.(*Int).SetUint64
    002869b8b 0x2869dc
    002869bc
    002869bcloc_2869bc:
    002869bcldr x0, [sp+128]
    002869c0orr x1, xzr, 1
    002869c4bl math/big.(*Int).SetUint64
    002869c8ldr x2, [sp+128]
    002869ccldrsb x27, [x2]
    002869d0ldrb w3, [sp+54]
    002869d4strb w3, [x2]
    002869d8b 0x2869dc
    002869dc
    002869dcloc_2869dc:
    002869dcb 0x2869e4
    002869e0
    002869e0loc_2869e0:
    002869e0b 0x2869e4
    002869e4
    002869e4loc_2869e4:
    002869e4ldr x2, [sp+136]
    002869e8cbnz x2, 0x2869f0
    002869ecb 0x286a30
    002869f0
    002869f0loc_2869f0:
    002869f0ldr x2, [sp+56]
    002869f4cbz x2, 0x2869fc
    002869f8b 0x286a0c
    002869fc
    002869fcloc_2869fc:
    002869fcldr x0, [sp+136]
    00286a00mov x1, xzr
    00286a04bl math/big.(*Int).SetUint64
    00286a08b 0x286a2c
    00286a0c
    00286a0cloc_286a0c:
    00286a0cldr x0, [sp+136]
    00286a10orr x1, xzr, 1
    00286a14bl math/big.(*Int).SetUint64
    00286a18ldr x2, [sp+136]
    00286a1cldrsb x27, [x2]
    00286a20ldrb w3, [sp+53]
    00286a24strb w3, [x2]
    00286a28b 0x286a2c
    00286a2c
    00286a2cloc_286a2c:
    00286a2cb 0x286a34
    00286a30
    00286a30loc_286a30:
    00286a30b 0x286a34
    00286a34
    00286a34loc_286a34:
    00286a34ldr x0, [sp+120]
    00286a38str x0, [sp+88]
    00286a3cldur x29, [sp-8]
    00286a40ldr x30, [sp], 112
    00286a44ret x30
    00286a48
    00286a48loc_286a48:
    00286a48ldr x1, [sp+128]
    00286a4cldr x2, [sp+136]
    00286a50ldr x3, [sp+144]
    00286a54ldr x4, [sp+152]
    00286a58ldr x0, [sp+120]
    00286a5cbl math/big.(*Int).lehmerGCD
    00286a60str x0, [sp+96]
    00286a64str x0, [sp+88]
    00286a68ldur x29, [sp-8]
    00286a6cldr x30, [sp], 112
    00286a70ret x30
    00286a74
    00286a74loc_286a74:
    00286a74stp x0, x1, [sp+8]
    00286a78stp x2, x3, [sp+24]
    00286a7cstr x4, [sp+40]
    00286a80mov x3, x30
    00286a84bl runtime.morestack_noctxt.abi0
    00286a88ldp x0, x1, [sp+8]
    00286a8cldp x2, x3, [sp+24]
    00286a90ldr x4, [sp+40]
    00286a94b 0x286890
    00286a98udf 0
    00286a9cudf 0
    00286890
    00286aa0
    00286aa0math/big.lehmerSimulate: ; void math/big.lehmerSimulate(math/big.Int * A, math/big.Int * B)
    00286aa0ldr x16, [x28+16]
    00286aa4sub x17, sp, 48
    00286aa8subs xzr, x17, x16
    00286aacb.ls 0x286e20
    00286ab0str x30, [sp-176]!
    00286ab4stur x29, [sp-8]
    00286ab8sub x29, sp, 8
    00286abcstr x0, [sp+184]
    00286ac0str x1, [sp+192]
    00286ac4str xzr, [sp+80]
    00286ac8str xzr, [sp+72]
    00286accstr xzr, [sp+56]
    00286ad0str xzr, [sp+48]
    00286ad4strb wzr, [sp+38]
    00286ad8str xzr, [sp+136]
    00286adcstr xzr, [sp+128]
    00286ae0str xzr, [sp+64]
    00286ae4str xzr, [sp+40]
    00286ae8ldr x2, [sp+192]
    00286aecldrsb x27, [x2]
    00286af0ldr x2, [x2+16]
    00286af4str x2, [sp+112]
    00286af8ldr x2, [sp+184]
    00286afcldrsb x27, [x2]
    00286b00ldr x2, [x2+16]
    00286b04str x2, [sp+104]
    00286b08ldr x3, [sp+184]
    00286b0cldrsb x27, [x3]
    00286b10ldr x1, [x3+16]
    00286b14ldr x3, [x3+8]
    00286b18sub x0, x2, 1
    00286b1csubs xzr, x1, x0
    00286b20b.hi 0x286b28
    00286b24b 0x286e18
    00286b28
    00286b28loc_286b28:
    00286b28ldr x0, [x3+3*x0]
    00286b2cstr x0, [sp+160]
    00286b30bl math/big.nlz
    00286b34str x0, [sp+120]
    00286b38ldr x1, [sp+184]
    00286b3cldrsb x27, [x1]
    00286b40ldr x2, [x1+16]
    00286b44ldr x1, [x1+8]
    00286b48ldr x3, [sp+104]
    00286b4csub x3, x3, 1
    00286b50subs xzr, x2, x3
    00286b54b.hi 0x286b5c
    00286b58b 0x286e0c
    00286b5c
    00286b5cloc_286b5c:
    00286b5cldr x5, [x1+3*x3]
    00286b60lslv x5, x5, x0
    00286b64ldr x6, [sp+184]
    00286b68ldrsb x27, [x6]
    00286b6cldr x1, [x6+16]
    00286b70ldr x6, [x6+8]
    00286b74ldr x7, [sp+104]
    00286b78sub x7, x7, 2
    00286b7csubs xzr, x0, 64
    00286b80csel x5, x5, xzr, lo
    00286b84subs xzr, x1, x7
    00286b88b.hi 0x286b90
    00286b8cb 0x286e04
    00286b90
    00286b90loc_286b90:
    00286b90ldr x6, [x6+3*x7]
    00286b94orr x7, xzr, 64
    00286b98sub x8, x7, x0
    00286b9clsrv x6, x6, x8
    00286ba0subs xzr, x8, 64
    00286ba4csel x6, x6, xzr, lo
    00286ba8orr x5, x5, x6
    00286bacstr x5, [sp+136]
    00286bb0ldr x5, [sp+112]
    00286bb4ldr x6, [sp+104]
    00286bb8subs xzr, x5, x6
    00286bbcb.eq 0x286bc4
    00286bc0b 0x286c40
    00286bc4
    00286bc4loc_286bc4:
    00286bc4b 0x286bc8
    00286bc8
    00286bc8loc_286bc8:
    00286bc8ldr x5, [sp+192]
    00286bccldrsb x27, [x5]
    00286bd0ldr x1, [x5+16]
    00286bd4ldr x5, [x5+8]
    00286bd8ldr x6, [sp+104]
    00286bdcsub x6, x6, 1
    00286be0subs xzr, x1, x6
    00286be4b.hi 0x286bec
    00286be8b 0x286dfc
    00286bec
    00286becloc_286bec:
    00286becldr x5, [x5+3*x6]
    00286bf0lslv x5, x5, x0
    00286bf4ldr x6, [sp+192]
    00286bf8ldrsb x27, [x6]
    00286bfcldr x1, [x6+16]
    00286c00ldr x6, [x6+8]
    00286c04ldr x8, [sp+104]
    00286c08sub x8, x8, 2
    00286c0csubs xzr, x0, 64
    00286c10csel x5, x5, xzr, lo
    00286c14subs xzr, x1, x8
    00286c18b.hi 0x286c20
    00286c1cb 0x286df4
    00286c20
    00286c20loc_286c20:
    00286c20ldr x6, [x6+3*x8]
    00286c24sub x7, x7, x0
    00286c28lsrv x6, x6, x7
    00286c2csubs xzr, x7, 64
    00286c30csel x6, x6, xzr, lo
    00286c34orr x5, x5, x6
    00286c38str x5, [sp+128]
    00286c3cb 0x286ca8
    00286c40
    00286c40loc_286c40:
    00286c40ldr x5, [sp+104]
    00286c44ldr x6, [sp+112]
    00286c48add x6, x6, 1
    00286c4csubs xzr, x5, x6
    00286c50b.eq 0x286c58
    00286c54b 0x286c9c
    00286c58
    00286c58loc_286c58:
    00286c58b 0x286c5c
    00286c5c
    00286c5cloc_286c5c:
    00286c5cldr x5, [sp+192]
    00286c60ldrsb x27, [x5]
    00286c64ldr x1, [x5+16]
    00286c68ldr x5, [x5+8]
    00286c6cldr x6, [sp+104]
    00286c70sub x6, x6, 2
    00286c74subs xzr, x1, x6
    00286c78b.hi 0x286c80
    00286c7cb 0x286dec
    00286c80
    00286c80loc_286c80:
    00286c80ldr x5, [x5+3*x6]
    00286c84sub x6, x7, x0
    00286c88lsrv x5, x5, x6
    00286c8csubs xzr, x6, 64
    00286c90csel x5, x5, xzr, lo
    00286c94str x5, [sp+128]
    00286c98b 0x286ca8
    00286c9c
    00286c9cloc_286c9c:
    00286c9cb 0x286ca0
    00286ca0
    00286ca0loc_286ca0:
    00286ca0str xzr, [sp+128]
    00286ca4b 0x286ca8
    00286ca8
    00286ca8loc_286ca8:
    00286ca8strb wzr, [sp+38]
    00286cacstr xzr, [sp+80]
    00286cb0orr x5, xzr, 1
    00286cb4str x5, [sp+72]
    00286cb8str xzr, [sp+64]
    00286cbcstr xzr, [sp+56]
    00286cc0str xzr, [sp+48]
    00286cc4str x5, [sp+40]
    00286cc8b 0x286ccc
    00286ccc
    00286cccloc_286ccc:
    00286cccldr x5, [sp+40]
    00286cd0ldr x6, [sp+128]
    00286cd4subs xzr, x5, x6
    00286cd8cset x5, ls
    00286cdcstrb w5, [sp+39]
    00286ce0b.ls 0x286ce8
    00286ce4b 0x286d10
    00286ce8
    00286ce8loc_286ce8:
    00286ce8ldr x5, [sp+136]
    00286cecldr x6, [sp+128]
    00286cf0sub x5, x5, x6
    00286cf4ldr x6, [sp+48]
    00286cf8ldr x7, [sp+40]
    00286cfcadd x6, x6, x7
    00286d00subs xzr, x5, x6
    00286d04cset x5, hs
    00286d08strb w5, [sp+39]
    00286d0cb 0x286d14
    00286d10
    00286d10loc_286d10:
    00286d10b 0x286d14
    00286d14
    00286d14loc_286d14:
    00286d14ldrb w5, [sp+39]
    00286d18tbnz w5, 0, 0x286d20
    00286d1cb 0x286dc0
    00286d20
    00286d20loc_286d20:
    00286d20ldr x5, [sp+136]
    00286d24ldr x6, [sp+128]
    00286d28cbnz x6, 0x286d30
    00286d2cb 0x286de8
    00286d30
    00286d30loc_286d30:
    00286d30udiv x5, x5, x6
    00286d34str x5, [sp+96]
    00286d38ldr x6, [sp+136]
    00286d3cldr x7, [sp+128]
    00286d40cbnz x7, 0x286d48
    00286d44b 0x286de0
    00286d48
    00286d48loc_286d48:
    00286d48udiv x27, x6, x7
    00286d4cmsub x6, x27, x7, x6
    00286d50str x6, [sp+88]
    00286d54ldr x7, [sp+128]
    00286d58str x7, [sp+136]
    00286d5cstr x6, [sp+128]
    00286d60ldr x6, [sp+72]
    00286d64ldr x7, [sp+64]
    00286d68madd x5, x7, x5, x6
    00286d6cstr x5, [sp+152]
    00286d70ldr x6, [sp+72]
    00286d74str x6, [sp+80]
    00286d78ldr x6, [sp+64]
    00286d7cstr x6, [sp+72]
    00286d80str x5, [sp+64]
    00286d84ldr x5, [sp+48]
    00286d88ldr x6, [sp+96]
    00286d8cldr x7, [sp+40]
    00286d90madd x5, x7, x6, x5
    00286d94str x5, [sp+144]
    00286d98ldr x6, [sp+48]
    00286d9cstr x6, [sp+56]
    00286da0ldr x6, [sp+40]
    00286da4str x6, [sp+48]
    00286da8str x5, [sp+40]
    00286dacldrb w5, [sp+38]
    00286db0eor x5, x5, 1
    00286db4strb w5, [sp+38]
    00286db8b 0x286dbc
    00286dbc
    00286dbcloc_286dbc:
    00286dbcb 0x286ccc
    00286dc0
    00286dc0loc_286dc0:
    00286dc0ldr x1, [sp+72]
    00286dc4ldr x2, [sp+56]
    00286dc8ldr x3, [sp+48]
    00286dccldrb w4, [sp+38]
    00286dd0ldr x0, [sp+80]
    00286dd4ldur x29, [sp-8]
    00286dd8ldr x30, [sp], 176
    00286ddcret x30
    00286de0
    00286de0loc_286de0:
    00286de0b 0x286de4
    00286de4
    00286de4loc_286de4:
    00286de4bl runtime.panicdivide
    00286de8
    00286de8loc_286de8:
    00286de8b 0x286de4
    00286dec
    00286decloc_286dec:
    00286decmov x0, x6
    00286df0bl runtime.panicIndex
    00286df4
    00286df4loc_286df4:
    00286df4mov x0, x8
    00286df8bl runtime.panicIndex
    00286dfc
    00286dfcloc_286dfc:
    00286dfcmov x0, x6
    00286e00bl runtime.panicIndex
    00286e04
    00286e04loc_286e04:
    00286e04mov x0, x7
    00286e08bl runtime.panicIndex
    00286e0c
    00286e0cloc_286e0c:
    00286e0cmov x0, x3
    00286e10mov x1, x2
    00286e14bl runtime.panicIndex
    00286e18
    00286e18loc_286e18:
    00286e18bl runtime.panicIndex
    00286e1chint
    00286e20
    00286e20loc_286e20:
    00286e20stp x0, x1, [sp+8]
    00286e24mov x3, x30
    00286e28bl runtime.morestack_noctxt.abi0
    00286e2cldp x0, x1, [sp+8]
    00286e30b 0x286aa0
    00286e34udf 0
    00286e38udf 0
    00286e3cudf 0
    00286aa0
    00286e40
    00286e40math/big.lehmerUpdate: ; void math/big.lehmerUpdate(math/big.Int * A, math/big.Int * B, math/big.Int * q, math/big.Int * r, math/big.Int * s, math/big.Int * t, math/big.Word u0, math/big.Word u1, math/big.Word v0, math/big.Word v1, bool even)
    00286e40ldr x16, [x28+16]
    00286e44sub x17, sp, 48
    00286e48subs xzr, x17, x16
    00286e4cb.ls 0x2870fc
    00286e50str x30, [sp-176]!
    00286e54stur x29, [sp-8]
    00286e58sub x29, sp, 8
    00286e5cstr x0, [sp+184]
    00286e60str x1, [sp+192]
    00286e64str x2, [sp+200]
    00286e68str x3, [sp+208]
    00286e6cstr x4, [sp+216]
    00286e70str x5, [sp+224]
    00286e74str x6, [sp+232]
    00286e78str x7, [sp+240]
    00286e7cstr x8, [sp+248]
    00286e80str x9, [sp+256]
    00286e84strb w10, [sp+264]
    00286e88ldr x4, [sp+224]
    00286e8cldrsb x27, [x4]
    00286e90ldr x0, [x4+8]
    00286e94ldr x1, [x4+16]
    00286e98ldr x2, [x4+24]
    00286e9cstr x0, [sp+120]
    00286ea0str x1, [sp+128]
    00286ea4str x2, [sp+136]
    00286ea8ldr x3, [sp+232]
    00286eacbl math/big.nat.setWord
    00286eb0str x0, [sp+144]
    00286eb4str x1, [sp+152]
    00286eb8str x2, [sp+160]
    00286ebcldr x4, [sp+224]
    00286ec0ldrsb x27, [x4]
    00286ec4str x1, [x4+16]
    00286ec8str x2, [x4+24]
    00286eccadrp x27, 0x7c5000
    00286ed0ldr w5, [x27+3056]
    00286ed4cbz w5, 0x286edc
    00286ed8b 0x286ee0
    00286edc
    00286edcloc_286edc:
    00286edcb 0x286ef4
    00286ee0
    00286ee0loc_286ee0:
    00286ee0bl runtime.gcWriteBarrier2
    00286ee4str x0, [x25]
    00286ee8ldr x5, [x4+8]
    00286eecstr x5, [x25+8]
    00286ef0b 0x286ef4
    00286ef4
    00286ef4loc_286ef4:
    00286ef4str x0, [x4+8]
    00286ef8ldr x4, [sp+216]
    00286efcldrsb x27, [x4]
    00286f00ldr x0, [x4+8]
    00286f04ldr x1, [x4+16]
    00286f08ldr x2, [x4+24]
    00286f0cstr x0, [sp+96]
    00286f10str x1, [sp+104]
    00286f14str x2, [sp+112]
    00286f18ldr x3, [sp+248]
    00286f1cbl math/big.nat.setWord
    00286f20str x0, [sp+144]
    00286f24str x1, [sp+152]
    00286f28str x2, [sp+160]
    00286f2cldr x4, [sp+216]
    00286f30ldrsb x27, [x4]
    00286f34str x1, [x4+16]
    00286f38str x2, [x4+24]
    00286f3cadrp x27, 0x7c5000
    00286f40ldr w5, [x27+3056]
    00286f44cbz w5, 0x286f4c
    00286f48b 0x286f50
    00286f4c
    00286f4cloc_286f4c:
    00286f4cb 0x286f64
    00286f50
    00286f50loc_286f50:
    00286f50bl runtime.gcWriteBarrier2
    00286f54str x0, [x25]
    00286f58ldr x3, [x4+8]
    00286f5cstr x3, [x25+8]
    00286f60b 0x286f64
    00286f64
    00286f64loc_286f64:
    00286f64str x0, [x4+8]
    00286f68ldr x3, [sp+224]
    00286f6cldrsb x27, [x3]
    00286f70ldrb w4, [sp+264]
    00286f74eor x4, x4, 1
    00286f78strb w4, [x3]
    00286f7cldr x3, [sp+216]
    00286f80ldrsb x27, [x3]
    00286f84ldrb w4, [sp+264]
    00286f88strb w4, [x3]
    00286f8cldr x1, [sp+184]
    00286f90ldr x2, [sp+224]
    00286f94ldr x0, [sp+224]
    00286f98bl math/big.(*Int).Mul
    00286f9cldr x1, [sp+192]
    00286fa0ldr x2, [sp+216]
    00286fa4ldr x0, [sp+216]
    00286fa8bl math/big.(*Int).Mul
    00286facldr x3, [sp+208]
    00286fb0ldrsb x27, [x3]
    00286fb4ldr x0, [x3+8]
    00286fb8ldr x1, [x3+16]
    00286fbcldr x2, [x3+24]
    00286fc0str x0, [sp+72]
    00286fc4str x1, [sp+80]
    00286fc8str x2, [sp+88]
    00286fccldr x3, [sp+240]
    00286fd0bl math/big.nat.setWord
    00286fd4str x0, [sp+144]
    00286fd8str x1, [sp+152]
    00286fdcstr x2, [sp+160]
    00286fe0ldr x3, [sp+208]
    00286fe4ldrsb x27, [x3]
    00286fe8str x1, [x3+16]
    00286fecstr x2, [x3+24]
    00286ff0adrp x27, 0x7c5000
    00286ff4ldr w4, [x27+3056]
    00286ff8cbz w4, 0x287000
    00286ffcb 0x287004
    00287000
    00287000loc_287000:
    00287000b 0x287018
    00287004
    00287004loc_287004:
    00287004bl runtime.gcWriteBarrier2
    00287008str x0, [x25]
    0028700cldr x4, [x3+8]
    00287010str x4, [x25+8]
    00287014b 0x287018
    00287018
    00287018loc_287018:
    00287018str x0, [x3+8]
    0028701cldr x4, [sp+200]
    00287020ldrsb x27, [x4]
    00287024ldr x0, [x4+8]
    00287028ldr x1, [x4+16]
    0028702cldr x2, [x4+24]
    00287030str x0, [sp+48]
    00287034str x1, [sp+56]
    00287038str x2, [sp+64]
    0028703cldr x3, [sp+256]
    00287040bl math/big.nat.setWord
    00287044str x0, [sp+144]
    00287048str x1, [sp+152]
    0028704cstr x2, [sp+160]
    00287050ldr x4, [sp+200]
    00287054ldrsb x27, [x4]
    00287058str x1, [x4+16]
    0028705cstr x2, [x4+24]
    00287060adrp x27, 0x7c4000
    00287064ldr w5, [x27+3056]
    00287068cbz w5, 0x287070
    0028706cb 0x287074
    00287070
    00287070loc_287070:
    00287070b 0x287088
    00287074
    00287074loc_287074:
    00287074bl runtime.gcWriteBarrier2
    00287078str x0, [x25]
    0028707cldr x3, [x4+8]
    00287080str x3, [x25+8]
    00287084b 0x287088
    00287088
    00287088loc_287088:
    00287088str x0, [x4+8]
    0028708cldr x3, [sp+208]
    00287090ldrsb x27, [x3]
    00287094ldrb w4, [sp+264]
    00287098strb w4, [x3]
    0028709cldr x3, [sp+200]
    002870a0ldrsb x27, [x3]
    002870a4ldrb w4, [sp+264]
    002870a8eor x4, x4, 1
    002870acstrb w4, [x3]
    002870b0ldr x1, [sp+184]
    002870b4ldr x2, [sp+208]
    002870b8ldr x0, [sp+208]
    002870bcbl math/big.(*Int).Mul
    002870c0ldr x1, [sp+192]
    002870c4ldr x2, [sp+200]
    002870c8ldr x0, [sp+200]
    002870ccbl math/big.(*Int).Mul
    002870d0ldr x1, [sp+224]
    002870d4ldr x2, [sp+216]
    002870d8ldr x0, [sp+184]
    002870dcbl math/big.(*Int).Add
    002870e0ldr x1, [sp+208]
    002870e4ldr x2, [sp+200]
    002870e8ldr x0, [sp+192]
    002870ecbl math/big.(*Int).Add
    002870f0ldur x29, [sp-8]
    002870f4ldr x30, [sp], 176
    002870f8ret x30
    002870fc
    002870fcloc_2870fc:
    002870fcstp x0, x1, [sp+8]
    00287100stp x2, x3, [sp+24]
    00287104stp x4, x5, [sp+40]
    00287108stp x6, x7, [sp+56]
    0028710cstp x8, x9, [sp+72]
    00287110strb w10, [sp+88]
    00287114mov x3, x30
    00287118bl runtime.morestack_noctxt.abi0
    0028711cldp x0, x1, [sp+8]
    00287120ldp x2, x3, [sp+24]
    00287124ldp x4, x5, [sp+40]
    00287128ldp x6, x7, [sp+56]
    0028712cldp x8, x9, [sp+72]
    00287130ldrb w10, [sp+88]
    00287134b 0x286e40
    00287138udf 0
    0028713cudf 0
    00286e40
    00287140
    00287140math/big.euclidUpdate: ; void math/big.euclidUpdate(math/big.Int * A, math/big.Int * B, math/big.Int * Ua, math/big.Int * Ub, math/big.Int * q, math/big.Int * r, math/big.Int * s, math/big.Int * t, bool extended)
    00287140ldr x16, [x28+16]
    00287144sub x17, sp, 16
    00287148subs xzr, x17, x16
    0028714cb.ls 0x287360
    00287150str x30, [sp-144]!
    00287154stur x29, [sp-8]
    00287158sub x29, sp, 8
    0028715cstr x0, [sp+152]
    00287160str x1, [sp+160]
    00287164str x2, [sp+168]
    00287168str x3, [sp+176]
    0028716cstr x4, [sp+184]
    00287170str x5, [sp+192]
    00287174str x6, [sp+200]
    00287178str x7, [sp+208]
    0028717cstrb w8, [sp+216]
    00287180str xzr, [sp+120]
    00287184str xzr, [sp+112]
    00287188ldr x1, [sp+152]
    0028718cldr x2, [sp+160]
    00287190ldr x3, [sp+192]
    00287194ldr x0, [sp+184]
    00287198bl math/big.(*Int).QuoRem
    0028719cstr x0, [sp+120]
    002871a0str x1, [sp+112]
    002871a4ldr x4, [sp+120]
    002871a8str x4, [sp+40]
    002871acldr x4, [sp+112]
    002871b0str x4, [sp+128]
    002871b4ldr x4, [sp+40]
    002871b8str x4, [sp+184]
    002871bcldr x4, [sp+128]
    002871c0str x4, [sp+192]
    002871c4ldrsb x27, [x4]
    002871c8ldrb w5, [x4]
    002871ccldr x6, [x4+8]
    002871d0ldr x7, [x4+16]
    002871d4ldr x4, [x4+24]
    002871d8strb w5, [sp+80]
    002871dcstr x6, [sp+88]
    002871e0str x7, [sp+96]
    002871e4str x4, [sp+104]
    002871e8ldr x4, [sp+152]
    002871ecldrsb x27, [x4]
    002871f0ldrb w5, [x4]
    002871f4ldr x6, [x4+8]
    002871f8ldr x7, [x4+16]
    002871fcldr x4, [x4+24]
    00287200strb w5, [sp+48]
    00287204str x6, [sp+56]
    00287208str x7, [sp+64]
    0028720cstr x4, [sp+72]
    00287210ldr x4, [sp+152]
    00287214ldrsb x27, [x4]
    00287218ldr x5, [sp+160]
    0028721cldrsb x27, [x5]
    00287220ldr x6, [x5+8]
    00287224ldr x7, [x5+16]
    00287228ldr x8, [x5+24]
    0028722cldrb w5, [x5]
    00287230strb w5, [x4]
    00287234str x7, [x4+16]
    00287238str x8, [x4+24]
    0028723cadrp x27, 0x7c4000
    00287240ldr w5, [x27+3056]
    00287244cbz w5, 0x28724c
    00287248b 0x287250
    0028724c
    0028724cloc_28724c:
    0028724cb 0x287264
    00287250
    00287250loc_287250:
    00287250bl runtime.gcWriteBarrier2
    00287254str x6, [x25]
    00287258ldr x2, [x4+8]
    0028725cstr x2, [x25+8]
    00287260b 0x287264
    00287264
    00287264loc_287264:
    00287264str x6, [x4+8]
    00287268ldr x2, [sp+160]
    0028726cldrsb x27, [x2]
    00287270ldr x3, [sp+88]
    00287274ldrb w4, [sp+80]
    00287278ldr x5, [sp+96]
    0028727cldr x6, [sp+104]
    00287280strb w4, [x2]
    00287284str x5, [x2+16]
    00287288str x6, [x2+24]
    0028728cadrp x27, 0x7c4000
    00287290ldr w4, [x27+3056]
    00287294cbz w4, 0x28729c
    00287298b 0x2872a0
    0028729c
    0028729cloc_28729c:
    0028729cb 0x2872b4
    002872a0
    002872a0loc_2872a0:
    002872a0bl runtime.gcWriteBarrier2
    002872a4str x3, [x25]
    002872a8ldr x4, [x2+8]
    002872acstr x4, [x25+8]
    002872b0b 0x2872b4
    002872b4
    002872b4loc_2872b4:
    002872b4str x3, [x2+8]
    002872b8ldr x2, [sp+192]
    002872bcldrsb x27, [x2]
    002872c0ldr x3, [sp+56]
    002872c4ldrb w4, [sp+48]
    002872c8ldr x5, [sp+64]
    002872ccldr x6, [sp+72]
    002872d0strb w4, [x2]
    002872d4str x5, [x2+16]
    002872d8str x6, [x2+24]
    002872dcadrp x27, 0x7c4000
    002872e0ldr w4, [x27+3056]
    002872e4cbz w4, 0x2872ec
    002872e8b 0x2872f0
    002872ec
    002872ecloc_2872ec:
    002872ecb 0x287304
    002872f0
    002872f0loc_2872f0:
    002872f0bl runtime.gcWriteBarrier2
    002872f4str x3, [x25]
    002872f8ldr x4, [x2+8]
    002872fcstr x4, [x25+8]
    00287300b 0x287304
    00287304
    00287304loc_287304:
    00287304str x3, [x2+8]
    00287308ldrb w2, [sp+216]
    0028730ctbnz w2, 0, 0x287314
    00287310b 0x287350
    00287314
    00287314loc_287314:
    00287314ldr x1, [sp+176]
    00287318ldr x0, [sp+208]
    0028731cbl math/big.(*Int).Set
    00287320ldr x1, [sp+176]
    00287324ldr x2, [sp+184]
    00287328ldr x0, [sp+200]
    0028732cbl math/big.(*Int).Mul
    00287330ldr x1, [sp+168]
    00287334ldr x2, [sp+200]
    00287338ldr x0, [sp+176]
    0028733cbl math/big.(*Int).Sub
    00287340ldr x1, [sp+208]
    00287344ldr x0, [sp+168]
    00287348bl math/big.(*Int).Set
    0028734cb 0x287354
    00287350
    00287350loc_287350:
    00287350b 0x287354
    00287354
    00287354loc_287354:
    00287354ldur x29, [sp-8]
    00287358ldr x30, [sp], 144
    0028735cret x30
    00287360
    00287360loc_287360:
    00287360stp x0, x1, [sp+8]
    00287364stp x2, x3, [sp+24]
    00287368stp x4, x5, [sp+40]
    0028736cstp x6, x7, [sp+56]
    00287370strb w8, [sp+72]
    00287374mov x3, x30
    00287378bl runtime.morestack_noctxt.abi0
    0028737cldp x0, x1, [sp+8]
    00287380ldp x2, x3, [sp+24]
    00287384ldp x4, x5, [sp+40]
    00287388ldp x6, x7, [sp+56]
    0028738cldrb w8, [sp+72]
    00287390b 0x287140
    00287394udf 0
    00287398udf 0
    0028739cudf 0
    00287140
    002873a0
    002873a0math/big.(*Int).lehmerGCD: ; void math/big.(*Int).lehmerGCD(math/big.Int * z, math/big.Int * x, math/big.Int * y, math/big.Int * a, math/big.Int * b)
    002873a0ldr x16, [x28+16]
    002873a4sub x17, sp, 656
    002873a8subs xzr, x17, x16
    002873acb.ls 0x287c1c
    002873b0sub x20, sp, 784
    002873b4stp x29, x30, [x20-8]
    002873b8add sp, x20, 0
    002873bcsub x29, sp, 8
    002873c0str x0, [sp+792]
    002873c4str x1, [sp+800]
    002873c8str x2, [sp+808]
    002873ccstr x3, [sp+816]
    002873d0str x4, [sp+824]
    002873d4str xzr, [sp+304]
    002873d8str xzr, [sp+368]
    002873dcstr xzr, [sp+360]
    002873e0str xzr, [sp+352]
    002873e4str xzr, [sp+344]
    002873e8strb wzr, [sp+712]
    002873ecstr xzr, [sp+720]
    002873f0add x27, sp, 728
    002873f4stp xzr, xzr, [x27]
    002873f8add x0, sp, 712
    002873fcstr x0, [sp+768]
    00287400ldr x1, [sp+816]
    00287404bl math/big.(*Int).Abs
    00287408str x0, [sp+368]
    0028740cstrb wzr, [sp+680]
    00287410str xzr, [sp+688]
    00287414add x27, sp, 696
    00287418stp xzr, xzr, [x27]
    0028741cadd x0, sp, 680
    00287420str x0, [sp+768]
    00287424ldr x1, [sp+824]
    00287428bl math/big.(*Int).Abs
    0028742cstr x0, [sp+360]
    00287430ldr x2, [sp+800]
    00287434subs xzr, x2, 0
    00287438cset x3, ne
    0028743cstrb w3, [sp+110]
    00287440cbnz x2, 0x287448
    00287444b 0x28744c
    00287448
    00287448loc_287448:
    00287448b 0x287460
    0028744c
    0028744cloc_28744c:
    0028744cldr x6, [sp+808]
    00287450subs xzr, x6, 0
    00287454cset x6, ne
    00287458strb w6, [sp+110]
    0028745cb 0x287460
    00287460
    00287460loc_287460:
    00287460ldrb w6, [sp+110]
    00287464strb w6, [sp+107]
    00287468tbnz w6, 0, 0x287470
    0028746cb 0x2874b0
    00287470
    00287470loc_287470:
    00287470strb wzr, [sp+648]
    00287474str xzr, [sp+656]
    00287478add x27, sp, 664
    0028747cstp xzr, xzr, [x27]
    00287480add x0, sp, 648
    00287484str x0, [sp+768]
    00287488orr x1, xzr, 1
    0028748cbl math/big.(*Int).SetInt64
    00287490str x0, [sp+352]
    00287494strb wzr, [sp+616]
    00287498str xzr, [sp+624]
    0028749cadd x27, sp, 632
    002874a0stp xzr, xzr, [x27]
    002874a4add x2, sp, 616
    002874a8str x2, [sp+344]
    002874acb 0x2874b4
    002874b0
    002874b0loc_2874b0:
    002874b0b 0x2874b4
    002874b4
    002874b4loc_2874b4:
    002874b4strb wzr, [sp+584]
    002874b8str xzr, [sp+592]
    002874bcadd x27, sp, 600
    002874c0stp xzr, xzr, [x27]
    002874c4add x6, sp, 584
    002874c8str x6, [sp+336]
    002874ccstrb wzr, [sp+552]
    002874d0str xzr, [sp+560]
    002874d4add x27, sp, 568
    002874d8stp xzr, xzr, [x27]
    002874dcadd x6, sp, 552
    002874e0str x6, [sp+328]
    002874e4strb wzr, [sp+520]
    002874e8str xzr, [sp+528]
    002874ecadd x27, sp, 536
    002874f0stp xzr, xzr, [x27]
    002874f4add x6, sp, 520
    002874f8str x6, [sp+320]
    002874fcstrb wzr, [sp+488]
    00287500str xzr, [sp+496]
    00287504stp xzr, xzr, [sp+504]
    00287508add x6, sp, 488
    0028750cstr x6, [sp+312]
    00287510ldr x6, [sp+368]
    00287514ldrsb x27, [x6]
    00287518ldr x7, [x6+8]
    0028751cldr x8, [x6+16]
    00287520ldr x6, [x6+24]
    00287524str x7, [sp+464]
    00287528str x8, [sp+472]
    0028752cstr x6, [sp+480]
    00287530ldr x6, [sp+360]
    00287534ldrsb x27, [x6]
    00287538ldr x3, [x6+8]
    0028753cldr x4, [x6+16]
    00287540ldr x5, [x6+24]
    00287544str x3, [sp+440]
    00287548str x4, [sp+448]
    0028754cstr x5, [sp+456]
    00287550ldr x0, [sp+464]
    00287554ldr x1, [sp+472]
    00287558ldr x2, [sp+480]
    0028755cbl math/big.nat.cmp
    00287560str x0, [sp+264]
    00287564tbnz x0, 63, 0x28756c
    00287568b 0x2875a0
    0028756c
    0028756cloc_28756c:
    0028756cldr x9, [sp+368]
    00287570str x9, [sp+432]
    00287574ldr x9, [sp+360]
    00287578str x9, [sp+368]
    0028757cldr x9, [sp+432]
    00287580str x9, [sp+360]
    00287584ldr x9, [sp+344]
    00287588str x9, [sp+424]
    0028758cldr x9, [sp+352]
    00287590str x9, [sp+344]
    00287594ldr x9, [sp+424]
    00287598str x9, [sp+352]
    0028759cb 0x2875a4
    002875a0
    002875a0loc_2875a0:
    002875a0b 0x2875a4
    002875a4
    002875a4loc_2875a4:
    002875a4b 0x2875a8
    002875a8
    002875a8loc_2875a8:
    002875a8ldr x9, [sp+360]
    002875acldrsb x27, [x9]
    002875b0ldr x9, [x9+16]
    002875b4str x9, [sp+264]
    002875b8subs xzr, x9, 1
    002875bcb.gt 0x2875c4
    002875c0b 0x2876e8
    002875c4
    002875c4loc_2875c4:
    002875c4ldr x1, [sp+360]
    002875c8ldr x0, [sp+368]
    002875ccbl math/big.lehmerSimulate
    002875d0str x0, [sp+256]
    002875d4str x1, [sp+248]
    002875d8str x2, [sp+240]
    002875dcstr x3, [sp+232]
    002875e0strb w4, [sp+110]
    002875e4ldr x2, [sp+256]
    002875e8str x2, [sp+296]
    002875ecldr x2, [sp+248]
    002875f0str x2, [sp+288]
    002875f4ldr x2, [sp+240]
    002875f8str x2, [sp+280]
    002875fcldr x2, [sp+232]
    00287600str x2, [sp+272]
    00287604ldrb w2, [sp+110]
    00287608strb w2, [sp+111]
    0028760cldr x2, [sp+296]
    00287610str x2, [sp+168]
    00287614ldr x2, [sp+288]
    00287618str x2, [sp+160]
    0028761cldr x2, [sp+280]
    00287620str x2, [sp+136]
    00287624ldr x2, [sp+272]
    00287628str x2, [sp+128]
    0028762cldrb w10, [sp+111]
    00287630strb w10, [sp+109]
    00287634ldr x2, [sp+136]
    00287638cbnz x2, 0x287640
    0028763cb 0x2876b4
    00287640
    00287640loc_287640:
    00287640ldr x6, [sp+168]
    00287644ldr x7, [sp+160]
    00287648ldr x8, [sp+136]
    0028764cldr x9, [sp+128]
    00287650ldr x1, [sp+360]
    00287654ldr x2, [sp+336]
    00287658ldr x3, [sp+328]
    0028765cldr x4, [sp+320]
    00287660ldr x5, [sp+312]
    00287664ldr x0, [sp+368]
    00287668bl math/big.lehmerUpdate
    0028766cldrb w11, [sp+107]
    00287670tbnz w11, 0, 0x287678
    00287674b 0x2876ac
    00287678
    00287678loc_287678:
    00287678ldr x6, [sp+168]
    0028767cldr x7, [sp+160]
    00287680ldr x8, [sp+136]
    00287684ldr x9, [sp+128]
    00287688ldrb w10, [sp+109]
    0028768cldr x1, [sp+344]
    00287690ldr x2, [sp+336]
    00287694ldr x3, [sp+328]
    00287698ldr x4, [sp+320]
    0028769cldr x5, [sp+312]
    002876a0ldr x0, [sp+352]
    002876a4bl math/big.lehmerUpdate
    002876a8b 0x2876b0
    002876ac
    002876acloc_2876ac:
    002876acb 0x2876b0
    002876b0
    002876b0loc_2876b0:
    002876b0b 0x2876e0
    002876b4
    002876b4loc_2876b4:
    002876b4ldrb w8, [sp+107]
    002876b8ldr x1, [sp+360]
    002876bcldr x2, [sp+352]
    002876c0ldr x3, [sp+344]
    002876c4ldr x4, [sp+336]
    002876c8ldr x5, [sp+328]
    002876ccldr x6, [sp+320]
    002876d0ldr x7, [sp+312]
    002876d4ldr x0, [sp+368]
    002876d8bl math/big.euclidUpdate
    002876dcb 0x2876e0
    002876e0
    002876e0loc_2876e0:
    002876e0b 0x2876e4
    002876e4
    002876e4loc_2876e4:
    002876e4b 0x2875a8
    002876e8
    002876e8loc_2876e8:
    002876e8ldr x9, [sp+360]
    002876ecldrsb x27, [x9]
    002876f0ldr x9, [x9+16]
    002876f4str x9, [sp+264]
    002876f8cbnz x9, 0x287700
    002876fcb 0x2877f0
    00287700
    00287700loc_287700:
    00287700ldr x9, [sp+368]
    00287704ldrsb x27, [x9]
    00287708ldr x9, [x9+16]
    0028770cstr x9, [sp+264]
    00287710subs xzr, x9, 1
    00287714b.gt 0x28771c
    00287718b 0x287748
    0028771c
    0028771cloc_28771c:
    0028771cldrb w8, [sp+107]
    00287720ldr x1, [sp+360]
    00287724ldr x2, [sp+352]
    00287728ldr x3, [sp+344]
    0028772cldr x4, [sp+336]
    00287730ldr x5, [sp+328]
    00287734ldr x6, [sp+320]
    00287738ldr x7, [sp+312]
    0028773cldr x0, [sp+368]
    00287740bl math/big.euclidUpdate
    00287744b 0x28774c
    00287748
    00287748loc_287748:
    00287748b 0x28774c
    0028774c
    0028774cloc_28774c:
    0028774cldr x4, [sp+360]
    00287750ldrsb x27, [x4]
    00287754ldr x4, [x4+16]
    00287758str x4, [sp+264]
    0028775ccbnz x4, 0x287764
    00287760b 0x2877ec
    00287764
    00287764loc_287764:
    00287764ldr x4, [sp+368]
    00287768ldrsb x27, [x4]
    0028776cldr x1, [x4+16]
    00287770ldr x4, [x4+8]
    00287774subs xzr, x1, 0
    00287778b.hi 0x287780
    0028777cb 0x287c10
    00287780
    00287780loc_287780:
    00287780ldr x4, [x4]
    00287784str x4, [sp+200]
    00287788ldr x4, [sp+360]
    0028778cldrsb x27, [x4]
    00287790ldr x1, [x4+16]
    00287794ldr x4, [x4+8]
    00287798subs xzr, x1, 0
    0028779cb.hi 0x2877a4
    002877a0b 0x287c08
    002877a4
    002877a4loc_2877a4:
    002877a4ldr x4, [x4]
    002877a8str x4, [sp+192]
    002877acldrb w4, [sp+107]
    002877b0tbnz w4, 0, 0x2877b8
    002877b4b 0x2877e8
    002877b8
    002877b8loc_2877b8:
    002877b8str xzr, [sp+152]
    002877bcstr xzr, [sp+144]
    002877c0str xzr, [sp+120]
    002877c4str xzr, [sp+112]
    002877c8orr x4, xzr, 1
    002877ccstr x4, [sp+152]
    002877d0str xzr, [sp+144]
    002877d4str xzr, [sp+120]
    002877d8str x4, [sp+112]
    002877dcorr x4, xzr, 1
    002877e0strb w4, [sp+108]
    002877e4b 0x287a28
    002877e8
    002877e8loc_2877e8:
    002877e8b 0x2879b4
    002877ec
    002877ecloc_2877ec:
    002877ecb 0x2879b0
    002877f0
    002877f0loc_2877f0:
    002877f0b 0x2877f4
    002877f4
    002877f4loc_2877f4:
    002877f4ldr x3, [sp+816]
    002877f8ldrsb x27, [x3]
    002877fcldrb w3, [x3]
    00287800strb w3, [sp+106]
    00287804ldr x3, [sp+808]
    00287808cbnz x3, 0x287810
    0028780cb 0x2878a4
    00287810
    00287810loc_287810:
    00287810ldr x3, [sp+824]
    00287814ldr x4, [sp+808]
    00287818subs xzr, x3, x4
    0028781cb.eq 0x287824
    00287820b 0x287834
    00287824
    00287824loc_287824:
    00287824ldr x1, [sp+824]
    00287828ldr x0, [sp+360]
    0028782cbl math/big.(*Int).Set
    00287830b 0x287840
    00287834
    00287834loc_287834:
    00287834ldr x3, [sp+824]
    00287838str x3, [sp+360]
    0028783cb 0x287840
    00287840
    00287840loc_287840:
    00287840ldr x1, [sp+816]
    00287844ldr x2, [sp+352]
    00287848ldr x0, [sp+808]
    0028784cbl math/big.(*Int).Mul
    00287850ldrb w3, [sp+106]
    00287854tbnz w3, 0, 0x28785c
    00287858b 0x28787c
    0028785c
    0028785cloc_28785c:
    0028785cldr x3, [sp+808]
    00287860ldrsb x27, [x3]
    00287864ldr x4, [sp+808]
    00287868ldrsb x27, [x4]
    0028786cldrb w4, [x4]
    00287870eor x4, x4, 1
    00287874strb w4, [x3]
    00287878b 0x287880
    0028787c
    0028787cloc_28787c:
    0028787cb 0x287880
    00287880
    00287880loc_287880:
    00287880ldr x1, [sp+368]
    00287884ldr x2, [sp+808]
    00287888ldr x0, [sp+808]
    0028788cbl math/big.(*Int).Sub
    00287890ldr x1, [sp+808]
    00287894ldr x2, [sp+360]
    00287898ldr x0, [sp+808]
    0028789cbl math/big.(*Int).Div
    002878a0b 0x2878a8
    002878a4
    002878a4loc_2878a4:
    002878a4b 0x2878a8
    002878a8
    002878a8loc_2878a8:
    002878a8ldr x1, [sp+800]
    002878accbnz x1, 0x2878b4
    002878b0b 0x287940
    002878b4
    002878b4loc_2878b4:
    002878b4ldr x1, [sp+800]
    002878b8ldrsb x27, [x1]
    002878bcldr x2, [sp+352]
    002878c0ldrsb x27, [x2]
    002878c4ldr x3, [x2+8]
    002878c8ldr x4, [x2+16]
    002878ccldr x5, [x2+24]
    002878d0ldrb w2, [x2]
    002878d4strb w2, [x1]
    002878d8str x4, [x1+16]
    002878dcstr x5, [x1+24]
    002878e0adrp x27, 0x7c4000
    002878e4ldr w2, [x27+3056]
    002878e8cbz w2, 0x2878f0
    002878ecb 0x2878f4
    002878f0
    002878f0loc_2878f0:
    002878f0b 0x287908
    002878f4
    002878f4loc_2878f4:
    002878f4bl runtime.gcWriteBarrier2
    002878f8str x3, [x25]
    002878fcldr x2, [x1+8]
    00287900str x2, [x25+8]
    00287904b 0x287908
    00287908
    00287908loc_287908:
    00287908str x3, [x1+8]
    0028790cldrb w1, [sp+106]
    00287910tbnz w1, 0, 0x287918
    00287914b 0x287938
    00287918
    00287918loc_287918:
    00287918ldr x1, [sp+800]
    0028791cldrsb x27, [x1]
    00287920ldr x2, [sp+800]
    00287924ldrsb x27, [x2]
    00287928ldrb w2, [x2]
    0028792ceor x2, x2, 1
    00287930strb w2, [x1]
    00287934b 0x28793c
    00287938
    00287938loc_287938:
    00287938b 0x28793c
    0028793c
    0028793cloc_28793c:
    0028793cb 0x287944
    00287940
    00287940loc_287940:
    00287940b 0x287944
    00287944
    00287944loc_287944:
    00287944ldr x1, [sp+792]
    00287948ldrsb x27, [x1]
    0028794cldr x2, [sp+368]
    00287950ldrsb x27, [x2]
    00287954ldr x3, [x2+8]
    00287958ldr x4, [x2+16]
    0028795cldr x5, [x2+24]
    00287960ldrb w2, [x2]
    00287964strb w2, [x1]
    00287968str x4, [x1+16]
    0028796cstr x5, [x1+24]
    00287970adrp x27, 0x7c4000
    00287974ldr w2, [x27+3056]
    00287978cbz w2, 0x287980
    0028797cb 0x287984
    00287980
    00287980loc_287980:
    00287980b 0x287998
    00287984
    00287984loc_287984:
    00287984bl runtime.gcWriteBarrier2
    00287988str x3, [x25]
    0028798cldr x2, [x1+8]
    00287990str x2, [x25+8]
    00287994b 0x287998
    00287998
    00287998loc_287998:
    00287998str x3, [x1+8]
    0028799cldr x0, [sp+792]
    002879a0str x0, [sp+304]
    002879a4ldp x29, x30, [sp-8]
    002879a8add sp, sp, 784
    002879acret x30
    002879b0
    002879b0loc_2879b0:
    002879b0b 0x2877f4
    002879b4
    002879b4loc_2879b4:
    002879b4ldr x3, [sp+192]
    002879b8cbnz x3, 0x2879c0
    002879bcb 0x2879f0
    002879c0
    002879c0loc_2879c0:
    002879c0ldr x3, [sp+200]
    002879c4ldr x4, [sp+192]
    002879c8cbnz x4, 0x2879d0
    002879ccb 0x287a24
    002879d0
    002879d0loc_2879d0:
    002879d0udiv x27, x3, x4
    002879d4msub x3, x27, x4, x3
    002879d8str x3, [sp+208]
    002879dcldr x4, [sp+192]
    002879e0str x4, [sp+200]
    002879e4str x3, [sp+192]
    002879e8b 0x2879ec
    002879ec
    002879ecloc_2879ec:
    002879ecb 0x2879b4
    002879f0
    002879f0loc_2879f0:
    002879f0b 0x2879f4
    002879f4
    002879f4loc_2879f4:
    002879f4ldr x3, [sp+368]
    002879f8ldrsb x27, [x3]
    002879fcldr x1, [x3+16]
    00287a00ldr x3, [x3+8]
    00287a04ldr x4, [sp+200]
    00287a08subs xzr, x1, 0
    00287a0cb.hi 0x287a14
    00287a10b 0x287a1c
    00287a14
    00287a14loc_287a14:
    00287a14str x4, [x3]
    00287a18b 0x2879b0
    00287a1c
    00287a1cloc_287a1c:
    00287a1cmov x0, xzr
    00287a20bl runtime.panicIndex
    00287a24
    00287a24loc_287a24:
    00287a24bl runtime.panicdivide
    00287a28
    00287a28loc_287a28:
    00287a28ldr x4, [sp+192]
    00287a2ccbnz x4, 0x287a34
    00287a30b 0x287ac4
    00287a34
    00287a34loc_287a34:
    00287a34ldr x4, [sp+200]
    00287a38ldr x5, [sp+192]
    00287a3ccbnz x5, 0x287a44
    00287a40b 0x287c04
    00287a44
    00287a44loc_287a44:
    00287a44udiv x4, x4, x5
    00287a48str x4, [sp+184]
    00287a4cldr x5, [sp+200]
    00287a50ldr x6, [sp+192]
    00287a54cbnz x6, 0x287a5c
    00287a58b 0x287bfc
    00287a5c
    00287a5cloc_287a5c:
    00287a5cudiv x27, x5, x6
    00287a60msub x5, x27, x6, x5
    00287a64str x5, [sp+176]
    00287a68ldr x6, [sp+192]
    00287a6cstr x6, [sp+200]
    00287a70str x5, [sp+192]
    00287a74ldr x5, [sp+152]
    00287a78ldr x6, [sp+144]
    00287a7cmadd x4, x6, x4, x5
    00287a80str x4, [sp+224]
    00287a84ldr x5, [sp+144]
    00287a88str x5, [sp+152]
    00287a8cstr x4, [sp+144]
    00287a90ldr x4, [sp+120]
    00287a94ldr x5, [sp+184]
    00287a98ldr x6, [sp+112]
    00287a9cmadd x4, x6, x5, x4
    00287aa0str x4, [sp+216]
    00287aa4ldr x5, [sp+112]
    00287aa8str x5, [sp+120]
    00287aacstr x4, [sp+112]
    00287ab0ldrb w4, [sp+108]
    00287ab4eor x4, x4, 1
    00287ab8strb w4, [sp+108]
    00287abcb 0x287ac0
    00287ac0
    00287ac0loc_287ac0:
    00287ac0b 0x287a28
    00287ac4
    00287ac4loc_287ac4:
    00287ac4ldr x4, [sp+312]
    00287ac8ldrsb x27, [x4]
    00287accldr x0, [x4+8]
    00287ad0ldr x1, [x4+16]
    00287ad4ldr x2, [x4+24]
    00287ad8str x0, [sp+400]
    00287adcstr x1, [sp+408]
    00287ae0str x2, [sp+416]
    00287ae4ldr x3, [sp+152]
    00287ae8bl math/big.nat.setWord
    00287aecstr x0, [sp+744]
    00287af0str x1, [sp+752]
    00287af4str x2, [sp+760]
    00287af8ldr x4, [sp+312]
    00287afcldrsb x27, [x4]
    00287b00str x1, [x4+16]
    00287b04str x2, [x4+24]
    00287b08adrp x27, 0x7c4000
    00287b0cldr w5, [x27+3056]
    00287b10cbz w5, 0x287b18
    00287b14b 0x287b1c
    00287b18
    00287b18loc_287b18:
    00287b18b 0x287b30
    00287b1c
    00287b1cloc_287b1c:
    00287b1cbl runtime.gcWriteBarrier2
    00287b20str x0, [x25]
    00287b24ldr x5, [x4+8]
    00287b28str x5, [x25+8]
    00287b2cb 0x287b30
    00287b30
    00287b30loc_287b30:
    00287b30str x0, [x4+8]
    00287b34ldr x4, [sp+320]
    00287b38ldrsb x27, [x4]
    00287b3cldr x0, [x4+8]
    00287b40ldr x1, [x4+16]
    00287b44ldr x2, [x4+24]
    00287b48str x0, [sp+376]
    00287b4cstr x1, [sp+384]
    00287b50str x2, [sp+392]
    00287b54ldr x3, [sp+120]
    00287b58bl math/big.nat.setWord
    00287b5cstr x0, [sp+744]
    00287b60str x1, [sp+752]
    00287b64str x2, [sp+760]
    00287b68ldr x4, [sp+320]
    00287b6cldrsb x27, [x4]
    00287b70str x1, [x4+16]
    00287b74str x2, [x4+24]
    00287b78adrp x27, 0x7c4000
    00287b7cldr w5, [x27+3056]
    00287b80cbz w5, 0x287b88
    00287b84b 0x287b8c
    00287b88
    00287b88loc_287b88:
    00287b88b 0x287ba0
    00287b8c
    00287b8cloc_287b8c:
    00287b8cbl runtime.gcWriteBarrier2
    00287b90str x0, [x25]
    00287b94ldr x3, [x4+8]
    00287b98str x3, [x25+8]
    00287b9cb 0x287ba0
    00287ba0
    00287ba0loc_287ba0:
    00287ba0str x0, [x4+8]
    00287ba4ldr x3, [sp+312]
    00287ba8ldrsb x27, [x3]
    00287bacldrb w4, [sp+108]
    00287bb0eor x4, x4, 1
    00287bb4strb w4, [x3]
    00287bb8ldr x3, [sp+320]
    00287bbcldrsb x27, [x3]
    00287bc0ldrb w4, [sp+108]
    00287bc4strb w4, [x3]
    00287bc8ldr x1, [sp+352]
    00287bccldr x2, [sp+312]
    00287bd0ldr x0, [sp+312]
    00287bd4bl math/big.(*Int).Mul
    00287bd8ldr x1, [sp+344]
    00287bdcldr x2, [sp+320]
    00287be0ldr x0, [sp+320]
    00287be4bl math/big.(*Int).Mul
    00287be8ldr x1, [sp+312]
    00287becldr x2, [sp+320]
    00287bf0ldr x0, [sp+352]
    00287bf4bl math/big.(*Int).Add
    00287bf8b 0x2879f4
    00287bfc
    00287bfcloc_287bfc:
    00287bfcb 0x287c00
    00287c00
    00287c00loc_287c00:
    00287c00bl runtime.panicdivide
    00287c04
    00287c04loc_287c04:
    00287c04b 0x287c00
    00287c08
    00287c08loc_287c08:
    00287c08mov x0, xzr
    00287c0cbl runtime.panicIndex
    00287c10
    00287c10loc_287c10:
    00287c10mov x0, xzr
    00287c14bl runtime.panicIndex
    00287c18hint
    00287c1c
    00287c1cloc_287c1c:
    00287c1cstp x0, x1, [sp+8]
    00287c20stp x2, x3, [sp+24]
    00287c24str x4, [sp+40]
    00287c28mov x3, x30
    00287c2cbl runtime.morestack_noctxt.abi0
    00287c30ldp x0, x1, [sp+8]
    00287c34ldp x2, x3, [sp+24]
    00287c38ldr x4, [sp+40]
    00287c3cb 0x2873a0
    002873a0