File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00298b90
    00298b90crypto/elliptic.initP256: ; void crypto/elliptic.initP256(void)
    00298b90ldr x16, [x28+16]
    00298b94subs xzr, sp, x16
    00298b98b.ls 0x298dc4
    00298b9cstr x30, [sp-96]!
    00298ba0stur x29, [sp-8]
    00298ba4sub x29, sp, 8
    00298ba8adrp x0, 0x437000
    00298bacadd x0, x0, 1629
    00298bb0movz x1, 78
    00298bb4bl crypto/elliptic.bigFromDecimal
    00298bb8str x0, [sp+80]
    00298bbcadrp x0, 0x437000
    00298bc0add x0, x0, 1707
    00298bc4movz x1, 78
    00298bc8bl crypto/elliptic.bigFromDecimal
    00298bccstr x0, [sp+72]
    00298bd0adrp x0, 0x435000
    00298bd4add x0, x0, 1545
    00298bd8orr x1, xzr, 64
    00298bdcbl crypto/elliptic.bigFromHex
    00298be0str x0, [sp+64]
    00298be4adrp x0, 0x435000
    00298be8add x0, x0, 1609
    00298becorr x1, xzr, 64
    00298bf0bl crypto/elliptic.bigFromHex
    00298bf4str x0, [sp+56]
    00298bf8adrp x0, 0x435000
    00298bfcadd x0, x0, 1673
    00298c00orr x1, xzr, 64
    00298c04bl crypto/elliptic.bigFromHex
    00298c08str x0, [sp+48]
    00298c0cadrp x0, 0x3ee000
    00298c10add x0, x0, 3296
    00298c14bl runtime.newobject
    00298c18str x0, [sp+40]
    00298c1cmovz x2, 5
    00298c20str x2, [x0+56]
    00298c24adrp x27, 0x7b3000
    00298c28ldr w2, [x27+3056]
    00298c2ccbz w2, 0x298c34
    00298c30b 0x298c38
    00298c34
    00298c34loc_298c34:
    00298c34b 0x298c48
    00298c38
    00298c38loc_298c38:
    00298c38ldr x1, [x0+48]
    00298c3cbl runtime.gcWriteBarrier1
    00298c40str x1, [x25]
    00298c44b 0x298c48
    00298c48
    00298c48loc_298c48:
    00298c48adrp x1, 0x418000
    00298c4cadd x1, x1, 2167
    00298c50str x1, [x0+48]
    00298c54ldr x0, [sp+40]
    00298c58ldrsb x27, [x0]
    00298c5corr x1, xzr, 256
    00298c60str x1, [x0+40]
    00298c64ldr x0, [sp+40]
    00298c68ldrsb x27, [x0]
    00298c6cldr x1, [sp+80]
    00298c70adrp x27, 0x7b3000
    00298c74ldr w2, [x27+3056]
    00298c78cbz w2, 0x298c80
    00298c7cb 0x298c84
    00298c80
    00298c80loc_298c80:
    00298c80b 0x298c98
    00298c84
    00298c84loc_298c84:
    00298c84bl runtime.gcWriteBarrier2
    00298c88str x1, [x25]
    00298c8cldr x2, [x0]
    00298c90str x2, [x25+8]
    00298c94b 0x298c98
    00298c98
    00298c98loc_298c98:
    00298c98str x1, [x0]
    00298c9cldr x0, [sp+40]
    00298ca0ldrsb x27, [x0]
    00298ca4ldr x1, [sp+72]
    00298ca8adrp x27, 0x7b3000
    00298cacldr w2, [x27+3056]
    00298cb0cbz w2, 0x298cb8
    00298cb4b 0x298cbc
    00298cb8
    00298cb8loc_298cb8:
    00298cb8b 0x298cd0
    00298cbc
    00298cbcloc_298cbc:
    00298cbcbl runtime.gcWriteBarrier2
    00298cc0str x1, [x25]
    00298cc4ldr x2, [x0+8]
    00298cc8str x2, [x25+8]
    00298cccb 0x298cd0
    00298cd0
    00298cd0loc_298cd0:
    00298cd0str x1, [x0+8]
    00298cd4ldr x0, [sp+40]
    00298cd8ldrsb x27, [x0]
    00298cdcldr x1, [sp+64]
    00298ce0adrp x27, 0x7b3000
    00298ce4ldr w2, [x27+3056]
    00298ce8cbz w2, 0x298cf0
    00298cecb 0x298cf4
    00298cf0
    00298cf0loc_298cf0:
    00298cf0b 0x298d08
    00298cf4
    00298cf4loc_298cf4:
    00298cf4bl runtime.gcWriteBarrier2
    00298cf8str x1, [x25]
    00298cfcldr x2, [x0+16]
    00298d00str x2, [x25+8]
    00298d04b 0x298d08
    00298d08
    00298d08loc_298d08:
    00298d08str x1, [x0+16]
    00298d0cldr x0, [sp+40]
    00298d10ldrsb x27, [x0]
    00298d14ldr x1, [sp+56]
    00298d18adrp x27, 0x7b3000
    00298d1cldr w2, [x27+3056]
    00298d20cbz w2, 0x298d28
    00298d24b 0x298d2c
    00298d28
    00298d28loc_298d28:
    00298d28b 0x298d40
    00298d2c
    00298d2cloc_298d2c:
    00298d2cbl runtime.gcWriteBarrier2
    00298d30str x1, [x25]
    00298d34ldr x2, [x0+24]
    00298d38str x2, [x25+8]
    00298d3cb 0x298d40
    00298d40
    00298d40loc_298d40:
    00298d40str x1, [x0+24]
    00298d44ldr x0, [sp+40]
    00298d48ldrsb x27, [x0]
    00298d4cldr x1, [sp+48]
    00298d50adrp x27, 0x7b3000
    00298d54ldr w2, [x27+3056]
    00298d58cbz w2, 0x298d60
    00298d5cb 0x298d64
    00298d60
    00298d60loc_298d60:
    00298d60b 0x298d78
    00298d64
    00298d64loc_298d64:
    00298d64bl runtime.gcWriteBarrier2
    00298d68str x1, [x25]
    00298d6cldr x2, [x0+32]
    00298d70str x2, [x25+8]
    00298d74b 0x298d78
    00298d78
    00298d78loc_298d78:
    00298d78str x1, [x0+32]
    00298d7cadrp x27, 0x775000
    00298d80ldr x0, [x27+1976]
    00298d84ldrsb x27, [x0]
    00298d88ldr x1, [sp+40]
    00298d8cadrp x27, 0x7b3000
    00298d90ldr w2, [x27+3056]
    00298d94cbz w2, 0x298d9c
    00298d98b 0x298da0
    00298d9c
    00298d9cloc_298d9c:
    00298d9cb 0x298db4
    00298da0
    00298da0loc_298da0:
    00298da0bl runtime.gcWriteBarrier2
    00298da4str x1, [x25]
    00298da8ldr x2, [x0+8]
    00298dacstr x2, [x25+8]
    00298db0b 0x298db4
    00298db4
    00298db4loc_298db4:
    00298db4str x1, [x0+8]
    00298db8ldur x29, [sp-8]
    00298dbcldr x30, [sp], 96
    00298dc0ret x30
    00298dc4
    00298dc4loc_298dc4:
    00298dc4mov x3, x30
    00298dc8bl runtime.morestack_noctxt.abi0
    00298dccb 0x298b90
    00298b90
    00298dd0
    00298dd0crypto/elliptic.initP384: ; void crypto/elliptic.initP384(void)
    00298dd0ldr x16, [x28+16]
    00298dd4subs xzr, sp, x16
    00298dd8b.ls 0x299004
    00298ddcstr x30, [sp-96]!
    00298de0stur x29, [sp-8]
    00298de4sub x29, sp, 8
    00298de8adrp x0, 0x438000
    00298decadd x0, x0, 3477
    00298df0movz x1, 116
    00298df4bl crypto/elliptic.bigFromDecimal
    00298df8str x0, [sp+80]
    00298dfcadrp x0, 0x438000
    00298e00add x0, x0, 3593
    00298e04movz x1, 116
    00298e08bl crypto/elliptic.bigFromDecimal
    00298e0cstr x0, [sp+72]
    00298e10adrp x0, 0x438000
    00298e14add x0, x0, 1948
    00298e18orr x1, xzr, 96
    00298e1cbl crypto/elliptic.bigFromHex
    00298e20str x0, [sp+64]
    00298e24adrp x0, 0x438000
    00298e28add x0, x0, 2044
    00298e2corr x1, xzr, 96
    00298e30bl crypto/elliptic.bigFromHex
    00298e34str x0, [sp+56]
    00298e38adrp x0, 0x438000
    00298e3cadd x0, x0, 2140
    00298e40orr x1, xzr, 96
    00298e44bl crypto/elliptic.bigFromHex
    00298e48str x0, [sp+48]
    00298e4cadrp x0, 0x3ee000
    00298e50add x0, x0, 3296
    00298e54bl runtime.newobject
    00298e58str x0, [sp+40]
    00298e5cmovz x2, 5
    00298e60str x2, [x0+56]
    00298e64adrp x27, 0x7b3000
    00298e68ldr w2, [x27+3056]
    00298e6ccbz w2, 0x298e74
    00298e70b 0x298e78
    00298e74
    00298e74loc_298e74:
    00298e74b 0x298e88
    00298e78
    00298e78loc_298e78:
    00298e78ldr x1, [x0+48]
    00298e7cbl runtime.gcWriteBarrier1
    00298e80str x1, [x25]
    00298e84b 0x298e88
    00298e88
    00298e88loc_298e88:
    00298e88adrp x1, 0x418000
    00298e8cadd x1, x1, 2172
    00298e90str x1, [x0+48]
    00298e94ldr x0, [sp+40]
    00298e98ldrsb x27, [x0]
    00298e9corr x1, xzr, 384
    00298ea0str x1, [x0+40]
    00298ea4ldr x0, [sp+40]
    00298ea8ldrsb x27, [x0]
    00298eacldr x1, [sp+80]
    00298eb0adrp x27, 0x7b3000
    00298eb4ldr w2, [x27+3056]
    00298eb8cbz w2, 0x298ec0
    00298ebcb 0x298ec4
    00298ec0
    00298ec0loc_298ec0:
    00298ec0b 0x298ed8
    00298ec4
    00298ec4loc_298ec4:
    00298ec4bl runtime.gcWriteBarrier2
    00298ec8str x1, [x25]
    00298eccldr x2, [x0]
    00298ed0str x2, [x25+8]
    00298ed4b 0x298ed8
    00298ed8
    00298ed8loc_298ed8:
    00298ed8str x1, [x0]
    00298edcldr x0, [sp+40]
    00298ee0ldrsb x27, [x0]
    00298ee4ldr x1, [sp+72]
    00298ee8adrp x27, 0x7b3000
    00298eecldr w2, [x27+3056]
    00298ef0cbz w2, 0x298ef8
    00298ef4b 0x298efc
    00298ef8
    00298ef8loc_298ef8:
    00298ef8b 0x298f10
    00298efc
    00298efcloc_298efc:
    00298efcbl runtime.gcWriteBarrier2
    00298f00str x1, [x25]
    00298f04ldr x2, [x0+8]
    00298f08str x2, [x25+8]
    00298f0cb 0x298f10
    00298f10
    00298f10loc_298f10:
    00298f10str x1, [x0+8]
    00298f14ldr x0, [sp+40]
    00298f18ldrsb x27, [x0]
    00298f1cldr x1, [sp+64]
    00298f20adrp x27, 0x7b3000
    00298f24ldr w2, [x27+3056]
    00298f28cbz w2, 0x298f30
    00298f2cb 0x298f34
    00298f30
    00298f30loc_298f30:
    00298f30b 0x298f48
    00298f34
    00298f34loc_298f34:
    00298f34bl runtime.gcWriteBarrier2
    00298f38str x1, [x25]
    00298f3cldr x2, [x0+16]
    00298f40str x2, [x25+8]
    00298f44b 0x298f48
    00298f48
    00298f48loc_298f48:
    00298f48str x1, [x0+16]
    00298f4cldr x0, [sp+40]
    00298f50ldrsb x27, [x0]
    00298f54ldr x1, [sp+56]
    00298f58adrp x27, 0x7b3000
    00298f5cldr w2, [x27+3056]
    00298f60cbz w2, 0x298f68
    00298f64b 0x298f6c
    00298f68
    00298f68loc_298f68:
    00298f68b 0x298f80
    00298f6c
    00298f6cloc_298f6c:
    00298f6cbl runtime.gcWriteBarrier2
    00298f70str x1, [x25]
    00298f74ldr x2, [x0+24]
    00298f78str x2, [x25+8]
    00298f7cb 0x298f80
    00298f80
    00298f80loc_298f80:
    00298f80str x1, [x0+24]
    00298f84ldr x0, [sp+40]
    00298f88ldrsb x27, [x0]
    00298f8cldr x1, [sp+48]
    00298f90adrp x27, 0x7b3000
    00298f94ldr w2, [x27+3056]
    00298f98cbz w2, 0x298fa0
    00298f9cb 0x298fa4
    00298fa0
    00298fa0loc_298fa0:
    00298fa0b 0x298fb8
    00298fa4
    00298fa4loc_298fa4:
    00298fa4bl runtime.gcWriteBarrier2
    00298fa8str x1, [x25]
    00298facldr x2, [x0+32]
    00298fb0str x2, [x25+8]
    00298fb4b 0x298fb8
    00298fb8
    00298fb8loc_298fb8:
    00298fb8str x1, [x0+32]
    00298fbcadrp x27, 0x775000
    00298fc0ldr x0, [x27+1984]
    00298fc4ldrsb x27, [x0]
    00298fc8ldr x1, [sp+40]
    00298fccadrp x27, 0x7b3000
    00298fd0ldr w2, [x27+3056]
    00298fd4cbz w2, 0x298fdc
    00298fd8b 0x298fe0
    00298fdc
    00298fdcloc_298fdc:
    00298fdcb 0x298ff4
    00298fe0
    00298fe0loc_298fe0:
    00298fe0bl runtime.gcWriteBarrier2
    00298fe4str x1, [x25]
    00298fe8ldr x2, [x0+8]
    00298fecstr x2, [x25+8]
    00298ff0b 0x298ff4
    00298ff4
    00298ff4loc_298ff4:
    00298ff4str x1, [x0+8]
    00298ff8ldur x29, [sp-8]
    00298ffcldr x30, [sp], 96
    00299000ret x30
    00299004
    00299004loc_299004:
    00299004mov x3, x30
    00299008bl runtime.morestack_noctxt.abi0
    0029900cb 0x298dd0
    00298dd0
    00299010
    00299010crypto/elliptic.initP521: ; void crypto/elliptic.initP521(void)
    00299010ldr x16, [x28+16]
    00299014subs xzr, sp, x16
    00299018b.ls 0x299244
    0029901cstr x30, [sp-96]!
    00299020stur x29, [sp-8]
    00299024sub x29, sp, 8
    00299028adrp x0, 0x438000
    0029902cadd x0, x0, 1191
    00299030movz x1, 157
    00299034bl crypto/elliptic.bigFromDecimal
    00299038str x0, [sp+80]
    0029903cadrp x0, 0x438000
    00299040add x0, x0, 1348
    00299044movz x1, 157
    00299048bl crypto/elliptic.bigFromDecimal
    0029904cstr x0, [sp+72]
    00299050adrp x0, 0x438000
    00299054add x0, x0, 496
    00299058movz x1, 132
    0029905cbl crypto/elliptic.bigFromHex
    00299060str x0, [sp+64]
    00299064adrp x0, 0x438000
    00299068add x0, x0, 628
    0029906cmovz x1, 132
    00299070bl crypto/elliptic.bigFromHex
    00299074str x0, [sp+56]
    00299078adrp x0, 0x438000
    0029907cadd x0, x0, 760
    00299080movz x1, 132
    00299084bl crypto/elliptic.bigFromHex
    00299088str x0, [sp+48]
    0029908cadrp x0, 0x3ed000
    00299090add x0, x0, 3296
    00299094bl runtime.newobject
    00299098str x0, [sp+40]
    0029909cmovz x2, 5
    002990a0str x2, [x0+56]
    002990a4adrp x27, 0x7b2000
    002990a8ldr w2, [x27+3056]
    002990accbz w2, 0x2990b4
    002990b0b 0x2990b8
    002990b4
    002990b4loc_2990b4:
    002990b4b 0x2990c8
    002990b8
    002990b8loc_2990b8:
    002990b8ldr x1, [x0+48]
    002990bcbl runtime.gcWriteBarrier1
    002990c0str x1, [x25]
    002990c4b 0x2990c8
    002990c8
    002990c8loc_2990c8:
    002990c8adrp x1, 0x417000
    002990ccadd x1, x1, 2177
    002990d0str x1, [x0+48]
    002990d4ldr x0, [sp+40]
    002990d8ldrsb x27, [x0]
    002990dcmovz x1, 521
    002990e0str x1, [x0+40]
    002990e4ldr x0, [sp+40]
    002990e8ldrsb x27, [x0]
    002990ecldr x1, [sp+80]
    002990f0adrp x27, 0x7b2000
    002990f4ldr w2, [x27+3056]
    002990f8cbz w2, 0x299100
    002990fcb 0x299104
    00299100
    00299100loc_299100:
    00299100b 0x299118
    00299104
    00299104loc_299104:
    00299104bl runtime.gcWriteBarrier2
    00299108str x1, [x25]
    0029910cldr x2, [x0]
    00299110str x2, [x25+8]
    00299114b 0x299118
    00299118
    00299118loc_299118:
    00299118str x1, [x0]
    0029911cldr x0, [sp+40]
    00299120ldrsb x27, [x0]
    00299124ldr x1, [sp+72]
    00299128adrp x27, 0x7b2000
    0029912cldr w2, [x27+3056]
    00299130cbz w2, 0x299138
    00299134b 0x29913c
    00299138
    00299138loc_299138:
    00299138b 0x299150
    0029913c
    0029913cloc_29913c:
    0029913cbl runtime.gcWriteBarrier2
    00299140str x1, [x25]
    00299144ldr x2, [x0+8]
    00299148str x2, [x25+8]
    0029914cb 0x299150
    00299150
    00299150loc_299150:
    00299150str x1, [x0+8]
    00299154ldr x0, [sp+40]
    00299158ldrsb x27, [x0]
    0029915cldr x1, [sp+64]
    00299160adrp x27, 0x7b2000
    00299164ldr w2, [x27+3056]
    00299168cbz w2, 0x299170
    0029916cb 0x299174
    00299170
    00299170loc_299170:
    00299170b 0x299188
    00299174
    00299174loc_299174:
    00299174bl runtime.gcWriteBarrier2
    00299178str x1, [x25]
    0029917cldr x2, [x0+16]
    00299180str x2, [x25+8]
    00299184b 0x299188
    00299188
    00299188loc_299188:
    00299188str x1, [x0+16]
    0029918cldr x0, [sp+40]
    00299190ldrsb x27, [x0]
    00299194ldr x1, [sp+56]
    00299198adrp x27, 0x7b2000
    0029919cldr w2, [x27+3056]
    002991a0cbz w2, 0x2991a8
    002991a4b 0x2991ac
    002991a8
    002991a8loc_2991a8:
    002991a8b 0x2991c0
    002991ac
    002991acloc_2991ac:
    002991acbl runtime.gcWriteBarrier2
    002991b0str x1, [x25]
    002991b4ldr x2, [x0+24]
    002991b8str x2, [x25+8]
    002991bcb 0x2991c0
    002991c0
    002991c0loc_2991c0:
    002991c0str x1, [x0+24]
    002991c4ldr x0, [sp+40]
    002991c8ldrsb x27, [x0]
    002991ccldr x1, [sp+48]
    002991d0adrp x27, 0x7b2000
    002991d4ldr w2, [x27+3056]
    002991d8cbz w2, 0x2991e0
    002991dcb 0x2991e4
    002991e0
    002991e0loc_2991e0:
    002991e0b 0x2991f8
    002991e4
    002991e4loc_2991e4:
    002991e4bl runtime.gcWriteBarrier2
    002991e8str x1, [x25]
    002991ecldr x2, [x0+32]
    002991f0str x2, [x25+8]
    002991f4b 0x2991f8
    002991f8
    002991f8loc_2991f8:
    002991f8str x1, [x0+32]
    002991fcadrp x27, 0x774000
    00299200ldr x0, [x27+1992]
    00299204ldrsb x27, [x0]
    00299208ldr x1, [sp+40]
    0029920cadrp x27, 0x7b2000
    00299210ldr w2, [x27+3056]
    00299214cbz w2, 0x29921c
    00299218b 0x299220
    0029921c
    0029921cloc_29921c:
    0029921cb 0x299234
    00299220
    00299220loc_299220:
    00299220bl runtime.gcWriteBarrier2
    00299224str x1, [x25]
    00299228ldr x2, [x0+8]
    0029922cstr x2, [x25+8]
    00299230b 0x299234
    00299234
    00299234loc_299234:
    00299234str x1, [x0+8]
    00299238ldur x29, [sp-8]
    0029923cldr x30, [sp], 96
    00299240ret x30
    00299244
    00299244loc_299244:
    00299244mov x3, x30
    00299248bl runtime.morestack_noctxt.abi0
    0029924cb 0x299010
    00299010
    00299250
    00299250crypto/elliptic.bigFromDecimal: ; void crypto/elliptic.bigFromDecimal(struct string s)
    00299250ldr x16, [x28+16]
    00299254subs xzr, sp, x16
    00299258b.ls 0x2992f8
    0029925cstr x30, [sp-96]!
    00299260stur x29, [sp-8]
    00299264sub x29, sp, 8
    00299268str x0, [sp+104]
    0029926cstr x1, [sp+112]
    00299270str xzr, [sp+48]
    00299274adrp x0, 0x3ac000
    00299278add x0, x0, 1024
    0029927cbl runtime.newobject
    00299280str x0, [sp+72]
    00299284str xzr, [sp+64]
    00299288ldr x1, [sp+104]
    0029928cldr x2, [sp+112]
    00299290ldr x0, [sp+72]
    00299294movz x3, 10
    00299298bl math/big.(*Int).SetString
    0029929cstr x0, [sp+64]
    002992a0strb w1, [sp+46]
    002992a4ldr x1, [sp+64]
    002992a8str x1, [sp+80]
    002992acldrb w1, [sp+46]
    002992b0strb w1, [sp+47]
    002992b4ldr x1, [sp+80]
    002992b8str x1, [sp+56]
    002992bcldrb w1, [sp+47]
    002992c0strb w1, [sp+45]
    002992c4tbnz w1, 0, 0x2992cc
    002992c8b 0x2992e0
    002992cc
    002992ccloc_2992cc:
    002992ccldr x0, [sp+56]
    002992d0str x0, [sp+48]
    002992d4ldur x29, [sp-8]
    002992d8ldr x30, [sp], 96
    002992dcret x30
    002992e0
    002992e0loc_2992e0:
    002992e0adrp x0, 0x35c000
    002992e4add x0, x0, 2944
    002992e8adrp x1, 0x479000
    002992ecadd x1, x1, 2144
    002992f0bl runtime.gopanic
    002992f4hint
    002992f8
    002992f8loc_2992f8:
    002992f8stp x0, x1, [sp+8]
    002992fcmov x3, x30
    00299300bl runtime.morestack_noctxt.abi0
    00299304ldp x0, x1, [sp+8]
    00299308b 0x299250
    0029930cudf 0
    00299250
    00299310
    00299310crypto/elliptic.bigFromHex: ; void crypto/elliptic.bigFromHex(struct string s)
    00299310ldr x16, [x28+16]
    00299314subs xzr, sp, x16
    00299318b.ls 0x2993b8
    0029931cstr x30, [sp-96]!
    00299320stur x29, [sp-8]
    00299324sub x29, sp, 8
    00299328str x0, [sp+104]
    0029932cstr x1, [sp+112]
    00299330str xzr, [sp+48]
    00299334adrp x0, 0x3ac000
    00299338add x0, x0, 1024
    0029933cbl runtime.newobject
    00299340str x0, [sp+72]
    00299344str xzr, [sp+64]
    00299348ldr x1, [sp+104]
    0029934cldr x2, [sp+112]
    00299350ldr x0, [sp+72]
    00299354orr x3, xzr, 16
    00299358bl math/big.(*Int).SetString
    0029935cstr x0, [sp+64]
    00299360strb w1, [sp+46]
    00299364ldr x1, [sp+64]
    00299368str x1, [sp+80]
    0029936cldrb w1, [sp+46]
    00299370strb w1, [sp+47]
    00299374ldr x1, [sp+80]
    00299378str x1, [sp+56]
    0029937cldrb w1, [sp+47]
    00299380strb w1, [sp+45]
    00299384tbnz w1, 0, 0x29938c
    00299388b 0x2993a0
    0029938c
    0029938cloc_29938c:
    0029938cldr x0, [sp+56]
    00299390str x0, [sp+48]
    00299394ldur x29, [sp-8]
    00299398ldr x30, [sp], 96
    0029939cret x30
    002993a0
    002993a0loc_2993a0:
    002993a0adrp x0, 0x35c000
    002993a4add x0, x0, 2944
    002993a8adrp x1, 0x479000
    002993acadd x1, x1, 2144
    002993b0bl runtime.gopanic
    002993b4hint
    002993b8
    002993b8loc_2993b8:
    002993b8stp x0, x1, [sp+8]
    002993bcmov x3, x30
    002993c0bl runtime.morestack_noctxt.abi0
    002993c4ldp x0, x1, [sp+8]
    002993c8b 0x299310
    002993ccudf 0
    00299310
    002993d0
    002993d0crypto/elliptic.(*CurveParams).Params: ; void crypto/elliptic.(*CurveParams).Params(crypto/elliptic.CurveParams * curve)
    002993d0str x30, [sp-32]!
    002993d4stur x29, [sp-8]
    002993d8sub x29, sp, 8
    002993dcstr x0, [sp+40]
    002993e0str xzr, [sp+16]
    002993e4ldr x0, [sp+40]
    002993e8str x0, [sp+16]
    002993ecadd x29, sp, 24
    002993f0add sp, sp, 32
    002993f4ret x30
    002993f8udf 0
    002993fcudf 0
    002993d0
    00299400
    00299400crypto/elliptic.(*CurveParams).polynomial: ; void crypto/elliptic.(*CurveParams).polynomial(crypto/elliptic.CurveParams * curve, math/big.Int * x)
    00299400ldr x16, [x28+16]
    00299404subs xzr, sp, x16
    00299408b.ls 0x2994dc
    0029940cstr x30, [sp-128]!
    00299410stur x29, [sp-8]
    00299414sub x29, sp, 8
    00299418str x0, [sp+136]
    0029941cstr x1, [sp+144]
    00299420str xzr, [sp+40]
    00299424adrp x0, 0x3ac000
    00299428add x0, x0, 1024
    0029942cbl runtime.newobject
    00299430str x0, [sp+112]
    00299434ldr x1, [sp+144]
    00299438ldr x2, [sp+144]
    0029943cbl math/big.(*Int).Mul
    00299440str x0, [sp+48]
    00299444ldr x2, [sp+144]
    00299448mov x1, x0
    0029944cbl math/big.(*Int).Mul
    00299450strb wzr, [sp+80]
    00299454str xzr, [sp+88]
    00299458stp xzr, xzr, [sp+96]
    0029945cadd x0, sp, 80
    00299460str x0, [sp+112]
    00299464ldr x1, [sp+144]
    00299468orr x2, xzr, 1
    0029946cbl math/big.(*Int).Lsh
    00299470str x0, [sp+56]
    00299474ldr x2, [sp+144]
    00299478mov x1, x0
    0029947cbl math/big.(*Int).Add
    00299480ldr x1, [sp+48]
    00299484ldr x2, [sp+56]
    00299488ldr x0, [sp+48]
    0029948cbl math/big.(*Int).Sub
    00299490ldr x1, [sp+136]
    00299494ldrsb x27, [x1]
    00299498ldr x2, [x1+16]
    0029949cstr x2, [sp+72]
    002994a0ldr x0, [sp+48]
    002994a4ldr x1, [sp+48]
    002994a8bl math/big.(*Int).Add
    002994acldr x1, [sp+136]
    002994b0ldrsb x27, [x1]
    002994b4ldr x2, [x1]
    002994b8str x2, [sp+64]
    002994bcldr x0, [sp+48]
    002994c0ldr x1, [sp+48]
    002994c4bl math/big.(*Int).Mod
    002994c8ldr x0, [sp+48]
    002994ccstr x0, [sp+40]
    002994d0ldur x29, [sp-8]
    002994d4ldr x30, [sp], 128
    002994d8ret x30
    002994dc
    002994dcloc_2994dc:
    002994dcstp x0, x1, [sp+8]
    002994e0mov x3, x30
    002994e4bl runtime.morestack_noctxt.abi0
    002994e8ldp x0, x1, [sp+8]
    002994ecb 0x299400
    00299400
    002994f0
    002994f0crypto/elliptic.(*CurveParams).IsOnCurve: ; void crypto/elliptic.(*CurveParams).IsOnCurve(crypto/elliptic.CurveParams * curve, math/big.Int * x, math/big.Int * y)
    002994f0ldr x16, [x28+16]
    002994f4sub x17, sp, 64
    002994f8subs xzr, x17, x16
    002994fcb.ls 0x2996f0
    00299500str x30, [sp-192]!
    00299504stur x29, [sp-8]
    00299508sub x29, sp, 8
    0029950cstr x0, [sp+200]
    00299510str x1, [sp+208]
    00299514str x2, [sp+216]
    00299518strb wzr, [sp+42]
    0029951cstp xzr, xzr, [sp+88]
    00299520ldr x0, [sp+200]
    00299524bl crypto/elliptic.matchesSpecificCurve
    00299528str x0, [sp+88]
    0029952cstr x1, [sp+96]
    00299530strb w2, [sp+47]
    00299534ldr x1, [sp+88]
    00299538ldr x2, [sp+96]
    0029953cstr x1, [sp+104]
    00299540str x2, [sp+112]
    00299544ldrb w1, [sp+47]
    00299548strb w1, [sp+44]
    0029954cldr x1, [sp+104]
    00299550ldr x2, [sp+112]
    00299554str x1, [sp+72]
    00299558str x2, [sp+80]
    0029955cldrb w1, [sp+44]
    00299560strb w1, [sp+43]
    00299564tbnz w1, 0, 0x29956c
    00299568b 0x29959c
    0029956c
    0029956cloc_29956c:
    0029956cldr x1, [sp+208]
    00299570ldr x2, [sp+216]
    00299574ldr x3, [sp+72]
    00299578ldrsb x27, [x3]
    0029957cldr x3, [x3+40]
    00299580ldr x0, [sp+80]
    00299584blr x3
    00299588strb w0, [sp+47]
    0029958cstrb w0, [sp+42]
    00299590ldur x29, [sp-8]
    00299594ldr x30, [sp], 192
    00299598ret x30
    0029959c
    0029959cloc_29959c:
    0029959cldr x0, [sp+208]
    002995a0bl math/big.(*Int).Sign
    002995a4str x0, [sp+56]
    002995a8subs xzr, x0, 0
    002995accset x1, lt
    002995b0strb w1, [sp+45]
    002995b4tbnz x0, 63, 0x2995bc
    002995b8b 0x2995c0
    002995bc
    002995bcloc_2995bc:
    002995bcb 0x2995ec
    002995c0
    002995c0loc_2995c0:
    002995c0ldr x2, [sp+200]
    002995c4ldrsb x27, [x2]
    002995c8ldr x1, [x2]
    002995ccstr x1, [sp+168]
    002995d0ldr x0, [sp+208]
    002995d4bl math/big.(*Int).Cmp
    002995d8str x0, [sp+48]
    002995dcsubs xzr, x0, 0
    002995e0cset x2, ge
    002995e4strb w2, [sp+45]
    002995e8b 0x2995ec
    002995ec
    002995ecloc_2995ec:
    002995ecldrb w3, [sp+45]
    002995f0strb w3, [sp+46]
    002995f4tbnz w3, 0, 0x2995fc
    002995f8b 0x299600
    002995fc
    002995fcloc_2995fc:
    002995fcb 0x29961c
    00299600
    00299600loc_299600:
    00299600ldr x0, [sp+216]
    00299604bl math/big.(*Int).Sign
    00299608str x0, [sp+48]
    0029960csubs xzr, x0, 0
    00299610cset x1, lt
    00299614strb w1, [sp+46]
    00299618b 0x29961c
    0029961c
    0029961cloc_29961c:
    0029961cldrb w3, [sp+46]
    00299620strb w3, [sp+47]
    00299624tbnz w3, 0, 0x29962c
    00299628b 0x299630
    0029962c
    0029962cloc_29962c:
    0029962cb 0x29965c
    00299630
    00299630loc_299630:
    00299630ldr x2, [sp+200]
    00299634ldrsb x27, [x2]
    00299638ldr x1, [x2]
    0029963cstr x1, [sp+160]
    00299640ldr x0, [sp+216]
    00299644bl math/big.(*Int).Cmp
    00299648str x0, [sp+48]
    0029964csubs xzr, x0, 0
    00299650cset x2, ge
    00299654strb w2, [sp+47]
    00299658b 0x29965c
    0029965c
    0029965cloc_29965c:
    0029965cldrb w3, [sp+47]
    00299660tbnz w3, 0, 0x299668
    00299664b 0x29967c
    00299668
    00299668loc_299668:
    00299668strb wzr, [sp+42]
    0029966cmov x0, xzr
    00299670ldur x29, [sp-8]
    00299674ldr x30, [sp], 192
    00299678ret x30
    0029967c
    0029967cloc_29967c:
    0029967cstrb wzr, [sp+128]
    00299680str xzr, [sp+136]
    00299684stp xzr, xzr, [sp+144]
    00299688add x0, sp, 128
    0029968cstr x0, [sp+176]
    00299690ldr x1, [sp+216]
    00299694ldr x2, [sp+216]
    00299698bl math/big.(*Int).Mul
    0029969cstr x0, [sp+64]
    002996a0ldr x3, [sp+200]
    002996a4ldrsb x27, [x3]
    002996a8ldr x2, [x3]
    002996acstr x2, [sp+120]
    002996b0ldr x0, [sp+64]
    002996b4ldr x1, [sp+64]
    002996b8bl math/big.(*Int).Mod
    002996bcldr x1, [sp+208]
    002996c0ldr x0, [sp+200]
    002996c4bl crypto/elliptic.(*CurveParams).polynomial
    002996c8str x0, [sp+176]
    002996ccldr x1, [sp+64]
    002996d0bl math/big.(*Int).Cmp
    002996d4str x0, [sp+56]
    002996d8subs xzr, x0, 0
    002996dccset x0, eq
    002996e0strb w0, [sp+42]
    002996e4ldur x29, [sp-8]
    002996e8ldr x30, [sp], 192
    002996ecret x30
    002996f0
    002996f0loc_2996f0:
    002996f0stp x0, x1, [sp+8]
    002996f4str x2, [sp+24]
    002996f8mov x3, x30
    002996fcbl runtime.morestack_noctxt.abi0
    00299700ldp x0, x1, [sp+8]
    00299704ldr x2, [sp+24]
    00299708b 0x2994f0
    0029970cudf 0
    002994f0
    00299710
    00299710crypto/elliptic.zForAffine: ; void crypto/elliptic.zForAffine(math/big.Int * x, math/big.Int * y)
    00299710ldr x16, [x28+16]
    00299714subs xzr, sp, x16
    00299718b.ls 0x2997b8
    0029971cstr x30, [sp-80]!
    00299720stur x29, [sp-8]
    00299724sub x29, sp, 8
    00299728str x0, [sp+88]
    0029972cstr x1, [sp+96]
    00299730str xzr, [sp+56]
    00299734adrp x0, 0x3ac000
    00299738add x0, x0, 1024
    0029973cbl runtime.newobject
    00299740str x0, [sp+64]
    00299744ldr x0, [sp+88]
    00299748bl math/big.(*Int).Sign
    0029974cstr x0, [sp+48]
    00299750subs xzr, x0, 0
    00299754cset x1, ne
    00299758strb w1, [sp+39]
    0029975ccbnz x0, 0x299764
    00299760b 0x299768
    00299764
    00299764loc_299764:
    00299764b 0x299784
    00299768
    00299768loc_299768:
    00299768ldr x0, [sp+96]
    0029976cbl math/big.(*Int).Sign
    00299770str x0, [sp+40]
    00299774subs xzr, x0, 0
    00299778cset x1, ne
    0029977cstrb w1, [sp+39]
    00299780b 0x299784
    00299784
    00299784loc_299784:
    00299784ldrb w2, [sp+39]
    00299788tbnz w2, 0, 0x299790
    0029978cb 0x2997a0
    00299790
    00299790loc_299790:
    00299790ldr x0, [sp+64]
    00299794orr x1, xzr, 1
    00299798bl math/big.(*Int).SetInt64
    0029979cb 0x2997a4
    002997a0
    002997a0loc_2997a0:
    002997a0b 0x2997a4
    002997a4
    002997a4loc_2997a4:
    002997a4ldr x0, [sp+64]
    002997a8str x0, [sp+56]
    002997acldur x29, [sp-8]
    002997b0ldr x30, [sp], 80
    002997b4ret x30
    002997b8
    002997b8loc_2997b8:
    002997b8stp x0, x1, [sp+8]
    002997bcmov x3, x30
    002997c0bl runtime.morestack_noctxt.abi0
    002997c4ldp x0, x1, [sp+8]
    002997c8b 0x299710
    002997ccudf 0
    00299710
    002997d0
    002997d0crypto/elliptic.(*CurveParams).affineFromJacobian: ; void crypto/elliptic.(*CurveParams).affineFromJacobian(crypto/elliptic.CurveParams * curve, math/big.Int * x, math/big.Int * y, math/big.Int * z)
    002997d0ldr x16, [x28+16]
    002997d4sub x17, sp, 64
    002997d8subs xzr, x17, x16
    002997dcb.ls 0x29994c
    002997e0str x30, [sp-192]!
    002997e4stur x29, [sp-8]
    002997e8sub x29, sp, 8
    002997ecstr x0, [sp+200]
    002997f0str x1, [sp+208]
    002997f4str x2, [sp+216]
    002997f8str x3, [sp+224]
    002997fcstr xzr, [sp+72]
    00299800str xzr, [sp+64]
    00299804ldr x0, [sp+224]
    00299808bl math/big.(*Int).Sign
    0029980cstr x0, [sp+40]
    00299810cbz x0, 0x299818
    00299814b 0x299858
    00299818
    00299818loc_299818:
    00299818adrp x0, 0x3ac000
    0029981cadd x0, x0, 1024
    00299820bl runtime.newobject
    00299824str x0, [sp+80]
    00299828adrp x0, 0x3ac000
    0029982cadd x0, x0, 1024
    00299830bl runtime.newobject
    00299834str x0, [sp+176]
    00299838ldr x1, [sp+80]
    0029983cstr x1, [sp+72]
    00299840ldr x1, [sp+176]
    00299844str x1, [sp+64]
    00299848ldr x0, [sp+72]
    0029984cldur x29, [sp-8]
    00299850ldr x30, [sp], 192
    00299854ret x30
    00299858
    00299858loc_299858:
    00299858strb wzr, [sp+144]
    0029985cstr xzr, [sp+152]
    00299860stp xzr, xzr, [sp+160]
    00299864add x3, sp, 144
    00299868str x3, [sp+176]
    0029986cldr x3, [sp+200]
    00299870ldrsb x27, [x3]
    00299874ldr x2, [x3]
    00299878str x2, [sp+136]
    0029987cldr x1, [sp+224]
    00299880ldr x0, [sp+176]
    00299884bl math/big.(*Int).ModInverse
    00299888str x0, [sp+56]
    0029988cstrb wzr, [sp+104]
    00299890str xzr, [sp+112]
    00299894stp xzr, xzr, [sp+120]
    00299898add x0, sp, 104
    0029989cstr x0, [sp+176]
    002998a0ldr x1, [sp+56]
    002998a4ldr x2, [sp+56]
    002998a8bl math/big.(*Int).Mul
    002998acstr x0, [sp+48]
    002998b0adrp x0, 0x3ac000
    002998b4add x0, x0, 1024
    002998b8bl runtime.newobject
    002998bcstr x0, [sp+176]
    002998c0ldr x1, [sp+208]
    002998c4ldr x2, [sp+48]
    002998c8bl math/big.(*Int).Mul
    002998ccstr x0, [sp+72]
    002998d0ldr x3, [sp+200]
    002998d4ldrsb x27, [x3]
    002998d8ldr x2, [x3]
    002998dcstr x2, [sp+96]
    002998e0ldr x0, [sp+72]
    002998e4ldr x1, [sp+72]
    002998e8bl math/big.(*Int).Mod
    002998ecldr x1, [sp+48]
    002998f0ldr x2, [sp+56]
    002998f4ldr x0, [sp+48]
    002998f8bl math/big.(*Int).Mul
    002998fcadrp x0, 0x3ac000
    00299900add x0, x0, 1024
    00299904bl runtime.newobject
    00299908str x0, [sp+176]
    0029990cldr x1, [sp+216]
    00299910ldr x2, [sp+48]
    00299914bl math/big.(*Int).Mul
    00299918str x0, [sp+64]
    0029991cldr x3, [sp+200]
    00299920ldrsb x27, [x3]
    00299924ldr x2, [x3]
    00299928str x2, [sp+88]
    0029992cldr x0, [sp+64]
    00299930ldr x1, [sp+64]
    00299934bl math/big.(*Int).Mod
    00299938ldr x1, [sp+64]
    0029993cldr x0, [sp+72]
    00299940ldur x29, [sp-8]
    00299944ldr x30, [sp], 192
    00299948ret x30
    0029994c
    0029994cloc_29994c:
    0029994cstp x0, x1, [sp+8]
    00299950stp x2, x3, [sp+24]
    00299954mov x3, x30
    00299958bl runtime.morestack_noctxt.abi0
    0029995cldp x0, x1, [sp+8]
    00299960ldp x2, x3, [sp+24]
    00299964b 0x2997d0
    00299968udf 0
    0029996cudf 0
    002997d0
    00299970
    00299970crypto/elliptic.(*CurveParams).Add: ; void crypto/elliptic.(*CurveParams).Add(crypto/elliptic.CurveParams * curve, math/big.Int * x1, math/big.Int * y1, math/big.Int * x2, math/big.Int * y2)
    00299970ldr x16, [x28+16]
    00299974sub x17, sp, 112
    00299978subs xzr, x17, x16
    0029997cb.ls 0x299b50
    00299980str x30, [sp-240]!
    00299984stur x29, [sp-8]
    00299988sub x29, sp, 8
    0029998cstr x0, [sp+248]
    00299990str x1, [sp+256]
    00299994str x2, [sp+264]
    00299998str x3, [sp+272]
    0029999cstr x4, [sp+280]
    002999a0str xzr, [sp+80]
    002999a4str xzr, [sp+72]
    002999a8stp xzr, xzr, [sp+160]
    002999acldr x0, [sp+248]
    002999b0bl crypto/elliptic.matchesSpecificCurve
    002999b4str x0, [sp+160]
    002999b8str x1, [sp+168]
    002999bcstrb w2, [sp+70]
    002999c0ldr x1, [sp+160]
    002999c4ldr x2, [sp+168]
    002999c8str x1, [sp+120]
    002999ccstr x2, [sp+128]
    002999d0ldrb w1, [sp+70]
    002999d4strb w1, [sp+71]
    002999d8ldr x1, [sp+120]
    002999dcldr x2, [sp+128]
    002999e0str x1, [sp+104]
    002999e4str x2, [sp+112]
    002999e8ldrb w1, [sp+71]
    002999ecstrb w1, [sp+69]
    002999f0tbnz w1, 0, 0x2999f8
    002999f4b 0x299a5c
    002999f8
    002999f8loc_2999f8:
    002999f8str xzr, [sp+152]
    002999fcstr xzr, [sp+144]
    00299a00ldr x1, [sp+256]
    00299a04ldr x2, [sp+264]
    00299a08ldr x3, [sp+272]
    00299a0cldr x4, [sp+280]
    00299a10ldr x5, [sp+104]
    00299a14ldrsb x27, [x5]
    00299a18ldr x5, [x5+24]
    00299a1cldr x0, [sp+112]
    00299a20blr x5
    00299a24str x0, [sp+152]
    00299a28str x1, [sp+144]
    00299a2cldr x5, [sp+152]
    00299a30str x5, [sp+224]
    00299a34ldr x5, [sp+144]
    00299a38str x5, [sp+216]
    00299a3cldr x5, [sp+224]
    00299a40str x5, [sp+80]
    00299a44ldr x1, [sp+216]
    00299a48str x1, [sp+72]
    00299a4cldr x0, [sp+80]
    00299a50ldur x29, [sp-8]
    00299a54ldr x30, [sp], 240
    00299a58ret x30
    00299a5c
    00299a5cloc_299a5c:
    00299a5cldr x2, [sp+256]
    00299a60ldr x3, [sp+264]
    00299a64ldr x1, [sp+248]
    00299a68adrp x0, 0x481000
    00299a6cadd x0, x0, 648
    00299a70bl crypto/elliptic.panicIfNotOnCurve
    00299a74ldr x2, [sp+272]
    00299a78ldr x3, [sp+280]
    00299a7cldr x1, [sp+248]
    00299a80adrp x0, 0x481000
    00299a84add x0, x0, 648
    00299a88bl crypto/elliptic.panicIfNotOnCurve
    00299a8cldr x1, [sp+264]
    00299a90ldr x0, [sp+256]
    00299a94bl crypto/elliptic.zForAffine
    00299a98str x0, [sp+96]
    00299a9cldr x1, [sp+280]
    00299aa0ldr x0, [sp+272]
    00299aa4bl crypto/elliptic.zForAffine
    00299aa8str x0, [sp+88]
    00299aacstr xzr, [sp+144]
    00299ab0str xzr, [sp+152]
    00299ab4str xzr, [sp+136]
    00299ab8ldr x1, [sp+256]
    00299abcldr x2, [sp+264]
    00299ac0ldr x3, [sp+96]
    00299ac4ldr x4, [sp+272]
    00299ac8ldr x5, [sp+280]
    00299accldr x6, [sp+88]
    00299ad0ldr x0, [sp+248]
    00299ad4bl crypto/elliptic.(*CurveParams).addJacobian
    00299ad8str x0, [sp+144]
    00299adcstr x1, [sp+152]
    00299ae0str x2, [sp+136]
    00299ae4ldr x4, [sp+144]
    00299ae8str x4, [sp+208]
    00299aecldr x4, [sp+152]
    00299af0str x4, [sp+200]
    00299af4ldr x4, [sp+136]
    00299af8str x4, [sp+192]
    00299afcstr xzr, [sp+136]
    00299b00str xzr, [sp+152]
    00299b04ldr x0, [sp+248]
    00299b08ldr x1, [sp+208]
    00299b0cldr x2, [sp+200]
    00299b10ldr x3, [sp+192]
    00299b14bl crypto/elliptic.(*CurveParams).affineFromJacobian
    00299b18str x0, [sp+136]
    00299b1cstr x1, [sp+152]
    00299b20ldr x4, [sp+136]
    00299b24str x4, [sp+184]
    00299b28ldr x4, [sp+152]
    00299b2cstr x4, [sp+176]
    00299b30ldr x4, [sp+184]
    00299b34str x4, [sp+80]
    00299b38ldr x1, [sp+176]
    00299b3cstr x1, [sp+72]
    00299b40ldr x0, [sp+80]
    00299b44ldur x29, [sp-8]
    00299b48ldr x30, [sp], 240
    00299b4cret x30
    00299b50
    00299b50loc_299b50:
    00299b50stp x0, x1, [sp+8]
    00299b54stp x2, x3, [sp+24]
    00299b58str x4, [sp+40]
    00299b5cmov x3, x30
    00299b60bl runtime.morestack_noctxt.abi0
    00299b64ldp x0, x1, [sp+8]
    00299b68ldp x2, x3, [sp+24]
    00299b6cldr x4, [sp+40]
    00299b70b 0x299970
    00299b74udf 0
    00299b78udf 0
    00299b7cudf 0
    00299970
    00299b80
    00299b80crypto/elliptic.(*CurveParams).addJacobian: ; void crypto/elliptic.(*CurveParams).addJacobian(crypto/elliptic.CurveParams * curve, math/big.Int * x1, math/big.Int * y1, math/big.Int * z1, math/big.Int * x2, math/big.Int * y2, math/big.Int * z2)
    00299b80ldr x16, [x28+16]
    00299b84sub x17, sp, 560
    00299b88subs xzr, x17, x16
    00299b8cb.ls 0x29a1fc
    00299b90sub x20, sp, 688
    00299b94stp x29, x30, [x20-8]
    00299b98add sp, x20, 0
    00299b9csub x29, sp, 8
    00299ba0str x0, [sp+696]
    00299ba4str x1, [sp+704]
    00299ba8str x2, [sp+712]
    00299bacstr x3, [sp+720]
    00299bb0str x4, [sp+728]
    00299bb4str x5, [sp+736]
    00299bb8str x6, [sp+744]
    00299bbcstr xzr, [sp+72]
    00299bc0str xzr, [sp+64]
    00299bc4str xzr, [sp+56]
    00299bc8adrp x0, 0x3ac000
    00299bccadd x0, x0, 1024
    00299bd0bl runtime.newobject
    00299bd4str x0, [sp+648]
    00299bd8adrp x0, 0x3ac000
    00299bdcadd x0, x0, 1024
    00299be0bl runtime.newobject
    00299be4str x0, [sp+640]
    00299be8adrp x0, 0x3ac000
    00299becadd x0, x0, 1024
    00299bf0bl runtime.newobject
    00299bf4str x0, [sp+632]
    00299bf8ldr x1, [sp+648]
    00299bfcstr x1, [sp+112]
    00299c00ldr x1, [sp+640]
    00299c04str x1, [sp+104]
    00299c08ldr x1, [sp+632]
    00299c0cstr x1, [sp+80]
    00299c10ldr x0, [sp+720]
    00299c14bl math/big.(*Int).Sign
    00299c18str x0, [sp+48]
    00299c1ccbz x0, 0x299c24
    00299c20b 0x299c74
    00299c24
    00299c24loc_299c24:
    00299c24ldr x1, [sp+728]
    00299c28ldr x0, [sp+112]
    00299c2cbl math/big.(*Int).Set
    00299c30ldr x1, [sp+736]
    00299c34ldr x0, [sp+104]
    00299c38bl math/big.(*Int).Set
    00299c3cldr x1, [sp+744]
    00299c40ldr x0, [sp+80]
    00299c44bl math/big.(*Int).Set
    00299c48ldr x2, [sp+112]
    00299c4cstr x2, [sp+72]
    00299c50ldr x2, [sp+104]
    00299c54str x2, [sp+64]
    00299c58ldr x2, [sp+80]
    00299c5cstr x2, [sp+56]
    00299c60ldr x0, [sp+72]
    00299c64ldr x1, [sp+64]
    00299c68ldp x29, x30, [sp-8]
    00299c6cadd sp, sp, 688
    00299c70ret x30
    00299c74
    00299c74loc_299c74:
    00299c74ldr x0, [sp+744]
    00299c78bl math/big.(*Int).Sign
    00299c7cstr x0, [sp+48]
    00299c80cbz x0, 0x299c88
    00299c84b 0x299cd8
    00299c88
    00299c88loc_299c88:
    00299c88ldr x1, [sp+704]
    00299c8cldr x0, [sp+112]
    00299c90bl math/big.(*Int).Set
    00299c94ldr x1, [sp+712]
    00299c98ldr x0, [sp+104]
    00299c9cbl math/big.(*Int).Set
    00299ca0ldr x1, [sp+720]
    00299ca4ldr x0, [sp+80]
    00299ca8bl math/big.(*Int).Set
    00299cacldr x2, [sp+112]
    00299cb0str x2, [sp+72]
    00299cb4ldr x2, [sp+104]
    00299cb8str x2, [sp+64]
    00299cbcldr x2, [sp+80]
    00299cc0str x2, [sp+56]
    00299cc4ldr x0, [sp+72]
    00299cc8ldr x1, [sp+64]
    00299cccldp x29, x30, [sp-8]
    00299cd0add sp, sp, 688
    00299cd4ret x30
    00299cd8
    00299cd8loc_299cd8:
    00299cd8strb wzr, [sp+600]
    00299cdcstr xzr, [sp+608]
    00299ce0add x27, sp, 616
    00299ce4stp xzr, xzr, [x27]
    00299ce8add x0, sp, 600
    00299cecstr x0, [sp+632]
    00299cf0ldr x1, [sp+720]
    00299cf4ldr x2, [sp+720]
    00299cf8bl math/big.(*Int).Mul
    00299cfcstr x0, [sp+96]
    00299d00ldr x3, [sp+696]
    00299d04ldrsb x27, [x3]
    00299d08ldr x2, [x3]
    00299d0cstr x2, [sp+592]
    00299d10ldr x0, [sp+96]
    00299d14ldr x1, [sp+96]
    00299d18bl math/big.(*Int).Mod
    00299d1cstrb wzr, [sp+560]
    00299d20str xzr, [sp+568]
    00299d24add x27, sp, 576
    00299d28stp xzr, xzr, [x27]
    00299d2cadd x0, sp, 560
    00299d30str x0, [sp+632]
    00299d34ldr x1, [sp+744]
    00299d38ldr x2, [sp+744]
    00299d3cbl math/big.(*Int).Mul
    00299d40str x0, [sp+88]
    00299d44ldr x3, [sp+696]
    00299d48ldrsb x27, [x3]
    00299d4cldr x2, [x3]
    00299d50str x2, [sp+552]
    00299d54ldr x0, [sp+88]
    00299d58ldr x1, [sp+88]
    00299d5cbl math/big.(*Int).Mod
    00299d60strb wzr, [sp+520]
    00299d64str xzr, [sp+528]
    00299d68add x27, sp, 536
    00299d6cstp xzr, xzr, [x27]
    00299d70add x0, sp, 520
    00299d74str x0, [sp+632]
    00299d78ldr x1, [sp+704]
    00299d7cldr x2, [sp+88]
    00299d80bl math/big.(*Int).Mul
    00299d84str x0, [sp+136]
    00299d88ldr x3, [sp+696]
    00299d8cldrsb x27, [x3]
    00299d90ldr x2, [x3]
    00299d94str x2, [sp+512]
    00299d98ldr x0, [sp+136]
    00299d9cldr x1, [sp+136]
    00299da0bl math/big.(*Int).Mod
    00299da4strb wzr, [sp+480]
    00299da8str xzr, [sp+488]
    00299dacstp xzr, xzr, [sp+496]
    00299db0add x0, sp, 480
    00299db4str x0, [sp+632]
    00299db8ldr x1, [sp+728]
    00299dbcldr x2, [sp+96]
    00299dc0bl math/big.(*Int).Mul
    00299dc4str x0, [sp+128]
    00299dc8ldr x3, [sp+696]
    00299dccldrsb x27, [x3]
    00299dd0ldr x2, [x3]
    00299dd4str x2, [sp+472]
    00299dd8ldr x0, [sp+128]
    00299ddcldr x1, [sp+128]
    00299de0bl math/big.(*Int).Mod
    00299de4strb wzr, [sp+440]
    00299de8str xzr, [sp+448]
    00299decstp xzr, xzr, [sp+456]
    00299df0add x0, sp, 440
    00299df4str x0, [sp+632]
    00299df8ldr x1, [sp+128]
    00299dfcldr x2, [sp+136]
    00299e00bl math/big.(*Int).Sub
    00299e04str x0, [sp+184]
    00299e08bl math/big.(*Int).Sign
    00299e0cstr x0, [sp+48]
    00299e10subs xzr, x0, 0
    00299e14cset x3, eq
    00299e18strb w3, [sp+46]
    00299e1cldr x0, [sp+184]
    00299e20bl math/big.(*Int).Sign
    00299e24str x0, [sp+48]
    00299e28adds xzr, x0, 1
    00299e2cb.eq 0x299e34
    00299e30b 0x299e54
    00299e34
    00299e34loc_299e34:
    00299e34ldr x3, [sp+696]
    00299e38ldrsb x27, [x3]
    00299e3cldr x2, [x3]
    00299e40str x2, [sp+432]
    00299e44ldr x0, [sp+184]
    00299e48ldr x1, [sp+184]
    00299e4cbl math/big.(*Int).Add
    00299e50b 0x299e58
    00299e54
    00299e54loc_299e54:
    00299e54b 0x299e58
    00299e58
    00299e58loc_299e58:
    00299e58strb wzr, [sp+400]
    00299e5cstr xzr, [sp+408]
    00299e60stp xzr, xzr, [sp+416]
    00299e64add x0, sp, 400
    00299e68str x0, [sp+632]
    00299e6cldr x1, [sp+184]
    00299e70orr x2, xzr, 1
    00299e74bl math/big.(*Int).Lsh
    00299e78str x0, [sp+176]
    00299e7cmov x1, x0
    00299e80mov x2, x0
    00299e84bl math/big.(*Int).Mul
    00299e88strb wzr, [sp+368]
    00299e8cstr xzr, [sp+376]
    00299e90stp xzr, xzr, [sp+384]
    00299e94add x0, sp, 368
    00299e98str x0, [sp+632]
    00299e9cldr x1, [sp+184]
    00299ea0ldr x2, [sp+176]
    00299ea4bl math/big.(*Int).Mul
    00299ea8str x0, [sp+168]
    00299eacstrb wzr, [sp+336]
    00299eb0str xzr, [sp+344]
    00299eb4stp xzr, xzr, [sp+352]
    00299eb8add x0, sp, 336
    00299ebcstr x0, [sp+632]
    00299ec0ldr x1, [sp+712]
    00299ec4ldr x2, [sp+744]
    00299ec8bl math/big.(*Int).Mul
    00299eccstr x0, [sp+152]
    00299ed0ldr x2, [sp+88]
    00299ed4mov x1, x0
    00299ed8bl math/big.(*Int).Mul
    00299edcldr x3, [sp+696]
    00299ee0ldrsb x27, [x3]
    00299ee4ldr x2, [x3]
    00299ee8str x2, [sp+328]
    00299eecldr x0, [sp+152]
    00299ef0ldr x1, [sp+152]
    00299ef4bl math/big.(*Int).Mod
    00299ef8strb wzr, [sp+296]
    00299efcstr xzr, [sp+304]
    00299f00stp xzr, xzr, [sp+312]
    00299f04add x0, sp, 296
    00299f08str x0, [sp+632]
    00299f0cldr x1, [sp+736]
    00299f10ldr x2, [sp+720]
    00299f14bl math/big.(*Int).Mul
    00299f18str x0, [sp+144]
    00299f1cldr x2, [sp+96]
    00299f20mov x1, x0
    00299f24bl math/big.(*Int).Mul
    00299f28ldr x3, [sp+696]
    00299f2cldrsb x27, [x3]
    00299f30ldr x2, [x3]
    00299f34str x2, [sp+288]
    00299f38ldr x0, [sp+144]
    00299f3cldr x1, [sp+144]
    00299f40bl math/big.(*Int).Mod
    00299f44strb wzr, [sp+256]
    00299f48str xzr, [sp+264]
    00299f4cstp xzr, xzr, [sp+272]
    00299f50add x0, sp, 256
    00299f54str x0, [sp+632]
    00299f58ldr x1, [sp+144]
    00299f5cldr x2, [sp+152]
    00299f60bl math/big.(*Int).Sub
    00299f64str x0, [sp+160]
    00299f68bl math/big.(*Int).Sign
    00299f6cstr x0, [sp+48]
    00299f70adds xzr, x0, 1
    00299f74b.eq 0x299f7c
    00299f78b 0x299f9c
    00299f7c
    00299f7cloc_299f7c:
    00299f7cldr x3, [sp+696]
    00299f80ldrsb x27, [x3]
    00299f84ldr x2, [x3]
    00299f88str x2, [sp+248]
    00299f8cldr x0, [sp+160]
    00299f90ldr x1, [sp+160]
    00299f94bl math/big.(*Int).Add
    00299f98b 0x299fa0
    00299f9c
    00299f9cloc_299f9c:
    00299f9cb 0x299fa0
    00299fa0
    00299fa0loc_299fa0:
    00299fa0ldr x0, [sp+160]
    00299fa4bl math/big.(*Int).Sign
    00299fa8str x0, [sp+48]
    00299facsubs xzr, x0, 0
    00299fb0cset x1, eq
    00299fb4strb w1, [sp+45]
    00299fb8ldrb w2, [sp+46]
    00299fbcstrb w2, [sp+47]
    00299fc0tbnz w2, 0, 0x299fc8
    00299fc4b 0x299fd0
    00299fc8
    00299fc8loc_299fc8:
    00299fc8strb w1, [sp+47]
    00299fccb 0x299fd4
    00299fd0
    00299fd0loc_299fd0:
    00299fd0b 0x299fd4
    00299fd4
    00299fd4loc_299fd4:
    00299fd4ldrb w4, [sp+47]
    00299fd8tbnz w4, 0, 0x299fe0
    00299fdcb 0x29a050
    00299fe0
    00299fe0loc_299fe0:
    00299fe0str xzr, [sp+632]
    00299fe4str xzr, [sp+640]
    00299fe8str xzr, [sp+648]
    00299fecldr x1, [sp+704]
    00299ff0ldr x2, [sp+712]
    00299ff4ldr x3, [sp+720]
    00299ff8ldr x0, [sp+696]
    00299ffcbl crypto/elliptic.(*CurveParams).doubleJacobian
    0029a000str x0, [sp+632]
    0029a004str x1, [sp+640]
    0029a008str x2, [sp+648]
    0029a00cldr x4, [sp+632]
    0029a010str x4, [sp+672]
    0029a014ldr x4, [sp+640]
    0029a018str x4, [sp+664]
    0029a01cldr x4, [sp+648]
    0029a020str x4, [sp+656]
    0029a024ldr x4, [sp+672]
    0029a028str x4, [sp+72]
    0029a02cldr x4, [sp+664]
    0029a030str x4, [sp+64]
    0029a034ldr x2, [sp+656]
    0029a038str x2, [sp+56]
    0029a03cldr x0, [sp+72]
    0029a040ldr x1, [sp+64]
    0029a044ldp x29, x30, [sp-8]
    0029a048add sp, sp, 688
    0029a04cret x30
    0029a050
    0029a050loc_29a050:
    0029a050ldr x1, [sp+160]
    0029a054ldr x0, [sp+160]
    0029a058orr x2, xzr, 1
    0029a05cbl math/big.(*Int).Lsh
    0029a060strb wzr, [sp+216]
    0029a064str xzr, [sp+224]
    0029a068stp xzr, xzr, [sp+232]
    0029a06cadd x0, sp, 216
    0029a070str x0, [sp+648]
    0029a074ldr x1, [sp+136]
    0029a078ldr x2, [sp+176]
    0029a07cbl math/big.(*Int).Mul
    0029a080str x0, [sp+120]
    0029a084ldr x1, [sp+160]
    0029a088ldr x0, [sp+112]
    0029a08cbl math/big.(*Int).Set
    0029a090ldr x1, [sp+112]
    0029a094ldr x2, [sp+112]
    0029a098ldr x0, [sp+112]
    0029a09cbl math/big.(*Int).Mul
    0029a0a0ldr x1, [sp+112]
    0029a0a4ldr x2, [sp+168]
    0029a0a8ldr x0, [sp+112]
    0029a0acbl math/big.(*Int).Sub
    0029a0b0ldr x1, [sp+112]
    0029a0b4ldr x2, [sp+120]
    0029a0b8ldr x0, [sp+112]
    0029a0bcbl math/big.(*Int).Sub
    0029a0c0ldr x1, [sp+112]
    0029a0c4ldr x2, [sp+120]
    0029a0c8ldr x0, [sp+112]
    0029a0ccbl math/big.(*Int).Sub
    0029a0d0ldr x3, [sp+696]
    0029a0d4ldrsb x27, [x3]
    0029a0d8ldr x2, [x3]
    0029a0dcstr x2, [sp+208]
    0029a0e0ldr x0, [sp+112]
    0029a0e4ldr x1, [sp+112]
    0029a0e8bl math/big.(*Int).Mod
    0029a0ecldr x1, [sp+160]
    0029a0f0ldr x0, [sp+104]
    0029a0f4bl math/big.(*Int).Set
    0029a0f8ldr x1, [sp+120]
    0029a0fcldr x2, [sp+112]
    0029a100ldr x0, [sp+120]
    0029a104bl math/big.(*Int).Sub
    0029a108ldr x1, [sp+104]
    0029a10cldr x2, [sp+120]
    0029a110ldr x0, [sp+104]
    0029a114bl math/big.(*Int).Mul
    0029a118ldr x1, [sp+152]
    0029a11cldr x2, [sp+168]
    0029a120ldr x0, [sp+152]
    0029a124bl math/big.(*Int).Mul
    0029a128ldr x1, [sp+152]
    0029a12cldr x0, [sp+152]
    0029a130orr x2, xzr, 1
    0029a134bl math/big.(*Int).Lsh
    0029a138ldr x1, [sp+104]
    0029a13cldr x2, [sp+152]
    0029a140ldr x0, [sp+104]
    0029a144bl math/big.(*Int).Sub
    0029a148ldr x3, [sp+696]
    0029a14cldrsb x27, [x3]
    0029a150ldr x2, [x3]
    0029a154str x2, [sp+200]
    0029a158ldr x0, [sp+104]
    0029a15cldr x1, [sp+104]
    0029a160bl math/big.(*Int).Mod
    0029a164ldr x1, [sp+720]
    0029a168ldr x2, [sp+744]
    0029a16cldr x0, [sp+80]
    0029a170bl math/big.(*Int).Add
    0029a174ldr x1, [sp+80]
    0029a178ldr x2, [sp+80]
    0029a17cldr x0, [sp+80]
    0029a180bl math/big.(*Int).Mul
    0029a184ldr x1, [sp+80]
    0029a188ldr x2, [sp+96]
    0029a18cldr x0, [sp+80]
    0029a190bl math/big.(*Int).Sub
    0029a194ldr x1, [sp+80]
    0029a198ldr x2, [sp+88]
    0029a19cldr x0, [sp+80]
    0029a1a0bl math/big.(*Int).Sub
    0029a1a4ldr x1, [sp+80]
    0029a1a8ldr x2, [sp+184]
    0029a1acldr x0, [sp+80]
    0029a1b0bl math/big.(*Int).Mul
    0029a1b4ldr x3, [sp+696]
    0029a1b8ldrsb x27, [x3]
    0029a1bcldr x2, [x3]
    0029a1c0str x2, [sp+192]
    0029a1c4ldr x0, [sp+80]
    0029a1c8ldr x1, [sp+80]
    0029a1ccbl math/big.(*Int).Mod
    0029a1d0ldr x3, [sp+112]
    0029a1d4str x3, [sp+72]
    0029a1d8ldr x3, [sp+104]
    0029a1dcstr x3, [sp+64]
    0029a1e0ldr x2, [sp+80]
    0029a1e4str x2, [sp+56]
    0029a1e8ldr x0, [sp+72]
    0029a1ecldr x1, [sp+64]
    0029a1f0ldp x29, x30, [sp-8]
    0029a1f4add sp, sp, 688
    0029a1f8ret x30
    0029a1fc
    0029a1fcloc_29a1fc:
    0029a1fcstp x0, x1, [sp+8]
    0029a200stp x2, x3, [sp+24]
    0029a204stp x4, x5, [sp+40]
    0029a208str x6, [sp+56]
    0029a20cmov x3, x30
    0029a210bl runtime.morestack_noctxt.abi0
    0029a214ldp x0, x1, [sp+8]
    0029a218ldp x2, x3, [sp+24]
    0029a21cldp x4, x5, [sp+40]
    0029a220ldr x6, [sp+56]
    0029a224b 0x299b80
    0029a228udf 0
    0029a22cudf 0
    00299b80
    0029a230
    0029a230crypto/elliptic.(*CurveParams).doubleJacobian: ; void crypto/elliptic.(*CurveParams).doubleJacobian(crypto/elliptic.CurveParams * curve, math/big.Int * x, math/big.Int * y, math/big.Int * z)
    0029a230ldr x16, [x28+16]
    0029a234sub x17, sp, 256
    0029a238subs xzr, x17, x16
    0029a23cb.ls 0x29a6a4
    0029a240sub x20, sp, 384
    0029a244stp x29, x30, [x20-8]
    0029a248add sp, x20, 0
    0029a24csub x29, sp, 8
    0029a250str x0, [sp+392]
    0029a254str x1, [sp+400]
    0029a258str x2, [sp+408]
    0029a25cstr x3, [sp+416]
    0029a260str xzr, [sp+56]
    0029a264str xzr, [sp+48]
    0029a268str xzr, [sp+40]
    0029a26cstrb wzr, [sp+336]
    0029a270str xzr, [sp+344]
    0029a274stp xzr, xzr, [sp+352]
    0029a278add x0, sp, 336
    0029a27cstr x0, [sp+368]
    0029a280ldr x1, [sp+416]
    0029a284ldr x2, [sp+416]
    0029a288bl math/big.(*Int).Mul
    0029a28cstr x0, [sp+96]
    0029a290ldr x3, [sp+392]
    0029a294ldrsb x27, [x3]
    0029a298ldr x2, [x3]
    0029a29cstr x2, [sp+328]
    0029a2a0ldr x0, [sp+96]
    0029a2a4ldr x1, [sp+96]
    0029a2a8bl math/big.(*Int).Mod
    0029a2acstrb wzr, [sp+296]
    0029a2b0str xzr, [sp+304]
    0029a2b4stp xzr, xzr, [sp+312]
    0029a2b8add x0, sp, 296
    0029a2bcstr x0, [sp+368]
    0029a2c0ldr x1, [sp+408]
    0029a2c4ldr x2, [sp+408]
    0029a2c8bl math/big.(*Int).Mul
    0029a2ccstr x0, [sp+88]
    0029a2d0ldr x3, [sp+392]
    0029a2d4ldrsb x27, [x3]
    0029a2d8ldr x2, [x3]
    0029a2dcstr x2, [sp+288]
    0029a2e0ldr x0, [sp+88]
    0029a2e4ldr x1, [sp+88]
    0029a2e8bl math/big.(*Int).Mod
    0029a2ecadrp x0, 0x3ab000
    0029a2f0add x0, x0, 1024
    0029a2f4bl runtime.newobject
    0029a2f8str x0, [sp+368]
    0029a2fcldr x1, [sp+400]
    0029a300ldr x2, [sp+96]
    0029a304bl math/big.(*Int).Sub
    0029a308str x0, [sp+128]
    0029a30cbl math/big.(*Int).Sign
    0029a310str x0, [sp+32]
    0029a314adds xzr, x0, 1
    0029a318b.eq 0x29a320
    0029a31cb 0x29a340
    0029a320
    0029a320loc_29a320:
    0029a320ldr x3, [sp+392]
    0029a324ldrsb x27, [x3]
    0029a328ldr x2, [x3]
    0029a32cstr x2, [sp+280]
    0029a330ldr x0, [sp+128]
    0029a334ldr x1, [sp+128]
    0029a338bl math/big.(*Int).Add
    0029a33cb 0x29a344
    0029a340
    0029a340loc_29a340:
    0029a340b 0x29a344
    0029a344
    0029a344loc_29a344:
    0029a344strb wzr, [sp+248]
    0029a348str xzr, [sp+256]
    0029a34cstp xzr, xzr, [sp+264]
    0029a350add x0, sp, 248
    0029a354str x0, [sp+368]
    0029a358ldr x1, [sp+400]
    0029a35cldr x2, [sp+96]
    0029a360bl math/big.(*Int).Add
    0029a364str x0, [sp+120]
    0029a368ldr x1, [sp+128]
    0029a36cldr x3, [sp+128]
    0029a370mov x2, x0
    0029a374mov x0, x3
    0029a378bl math/big.(*Int).Mul
    0029a37cldr x1, [sp+128]
    0029a380ldr x0, [sp+120]
    0029a384bl math/big.(*Int).Set
    0029a388ldr x1, [sp+128]
    0029a38cldr x0, [sp+128]
    0029a390orr x2, xzr, 1
    0029a394bl math/big.(*Int).Lsh
    0029a398ldr x1, [sp+128]
    0029a39cldr x2, [sp+120]
    0029a3a0ldr x0, [sp+128]
    0029a3a4bl math/big.(*Int).Add
    0029a3a8ldr x1, [sp+400]
    0029a3acldr x2, [sp+88]
    0029a3b0ldr x0, [sp+120]
    0029a3b4bl math/big.(*Int).Mul
    0029a3b8str x0, [sp+112]
    0029a3bcadrp x0, 0x3ab000
    0029a3c0add x0, x0, 1024
    0029a3c4bl runtime.newobject
    0029a3c8str x0, [sp+368]
    0029a3ccldr x1, [sp+128]
    0029a3d0ldr x2, [sp+128]
    0029a3d4bl math/big.(*Int).Mul
    0029a3d8str x0, [sp+80]
    0029a3dcstrb wzr, [sp+216]
    0029a3e0str xzr, [sp+224]
    0029a3e4stp xzr, xzr, [sp+232]
    0029a3e8add x0, sp, 216
    0029a3ecstr x0, [sp+368]
    0029a3f0ldr x1, [sp+112]
    0029a3f4orr x2, xzr, 3
    0029a3f8bl math/big.(*Int).Lsh
    0029a3fcstr x0, [sp+104]
    0029a400ldr x3, [sp+392]
    0029a404ldrsb x27, [x3]
    0029a408ldr x2, [x3]
    0029a40cstr x2, [sp+208]
    0029a410ldr x0, [sp+104]
    0029a414ldr x1, [sp+104]
    0029a418bl math/big.(*Int).Mod
    0029a41cldr x1, [sp+80]
    0029a420ldr x2, [sp+104]
    0029a424ldr x0, [sp+80]
    0029a428bl math/big.(*Int).Sub
    0029a42cldr x0, [sp+80]
    0029a430bl math/big.(*Int).Sign
    0029a434str x0, [sp+32]
    0029a438adds xzr, x0, 1
    0029a43cb.eq 0x29a444
    0029a440b 0x29a464
    0029a444
    0029a444loc_29a444:
    0029a444ldr x3, [sp+392]
    0029a448ldrsb x27, [x3]
    0029a44cldr x2, [x3]
    0029a450str x2, [sp+200]
    0029a454ldr x0, [sp+80]
    0029a458ldr x1, [sp+80]
    0029a45cbl math/big.(*Int).Add
    0029a460b 0x29a468
    0029a464
    0029a464loc_29a464:
    0029a464b 0x29a468
    0029a468
    0029a468loc_29a468:
    0029a468ldr x3, [sp+392]
    0029a46cldrsb x27, [x3]
    0029a470ldr x2, [x3]
    0029a474str x2, [sp+192]
    0029a478ldr x0, [sp+80]
    0029a47cldr x1, [sp+80]
    0029a480bl math/big.(*Int).Mod
    0029a484adrp x0, 0x3ab000
    0029a488add x0, x0, 1024
    0029a48cbl runtime.newobject
    0029a490str x0, [sp+368]
    0029a494ldr x1, [sp+408]
    0029a498ldr x2, [sp+416]
    0029a49cbl math/big.(*Int).Add
    0029a4a0str x0, [sp+64]
    0029a4a4mov x1, x0
    0029a4a8mov x2, x0
    0029a4acbl math/big.(*Int).Mul
    0029a4b0ldr x1, [sp+64]
    0029a4b4ldr x2, [sp+88]
    0029a4b8ldr x0, [sp+64]
    0029a4bcbl math/big.(*Int).Sub
    0029a4c0ldr x0, [sp+64]
    0029a4c4bl math/big.(*Int).Sign
    0029a4c8str x0, [sp+32]
    0029a4ccadds xzr, x0, 1
    0029a4d0b.eq 0x29a4d8
    0029a4d4b 0x29a4f8
    0029a4d8
    0029a4d8loc_29a4d8:
    0029a4d8ldr x3, [sp+392]
    0029a4dcldrsb x27, [x3]
    0029a4e0ldr x2, [x3]
    0029a4e4str x2, [sp+184]
    0029a4e8ldr x0, [sp+64]
    0029a4ecldr x1, [sp+64]
    0029a4f0bl math/big.(*Int).Add
    0029a4f4b 0x29a4fc
    0029a4f8
    0029a4f8loc_29a4f8:
    0029a4f8b 0x29a4fc
    0029a4fc
    0029a4fcloc_29a4fc:
    0029a4fcldr x1, [sp+64]
    0029a500ldr x2, [sp+96]
    0029a504ldr x0, [sp+64]
    0029a508bl math/big.(*Int).Sub
    0029a50cldr x0, [sp+64]
    0029a510bl math/big.(*Int).Sign
    0029a514str x0, [sp+32]
    0029a518adds xzr, x0, 1
    0029a51cb.eq 0x29a524
    0029a520b 0x29a544
    0029a524
    0029a524loc_29a524:
    0029a524ldr x3, [sp+392]
    0029a528ldrsb x27, [x3]
    0029a52cldr x2, [x3]
    0029a530str x2, [sp+176]
    0029a534ldr x0, [sp+64]
    0029a538ldr x1, [sp+64]
    0029a53cbl math/big.(*Int).Add
    0029a540b 0x29a548
    0029a544
    0029a544loc_29a544:
    0029a544b 0x29a548
    0029a548
    0029a548loc_29a548:
    0029a548ldr x3, [sp+392]
    0029a54cldrsb x27, [x3]
    0029a550ldr x2, [x3]
    0029a554str x2, [sp+168]
    0029a558ldr x0, [sp+64]
    0029a55cldr x1, [sp+64]
    0029a560bl math/big.(*Int).Mod
    0029a564ldr x1, [sp+112]
    0029a568ldr x0, [sp+112]
    0029a56corr x2, xzr, 2
    0029a570bl math/big.(*Int).Lsh
    0029a574ldr x1, [sp+112]
    0029a578ldr x2, [sp+80]
    0029a57cldr x0, [sp+112]
    0029a580bl math/big.(*Int).Sub
    0029a584ldr x0, [sp+112]
    0029a588bl math/big.(*Int).Sign
    0029a58cstr x0, [sp+32]
    0029a590adds xzr, x0, 1
    0029a594b.eq 0x29a59c
    0029a598b 0x29a5bc
    0029a59c
    0029a59cloc_29a59c:
    0029a59cldr x3, [sp+392]
    0029a5a0ldrsb x27, [x3]
    0029a5a4ldr x2, [x3]
    0029a5a8str x2, [sp+160]
    0029a5acldr x0, [sp+112]
    0029a5b0ldr x1, [sp+112]
    0029a5b4bl math/big.(*Int).Add
    0029a5b8b 0x29a5c0
    0029a5bc
    0029a5bcloc_29a5bc:
    0029a5bcb 0x29a5c0
    0029a5c0
    0029a5c0loc_29a5c0:
    0029a5c0ldr x1, [sp+128]
    0029a5c4ldr x2, [sp+112]
    0029a5c8ldr x0, [sp+128]
    0029a5ccbl math/big.(*Int).Mul
    0029a5d0str x0, [sp+72]
    0029a5d4ldr x1, [sp+88]
    0029a5d8ldr x2, [sp+88]
    0029a5dcldr x0, [sp+88]
    0029a5e0bl math/big.(*Int).Mul
    0029a5e4ldr x1, [sp+88]
    0029a5e8ldr x0, [sp+88]
    0029a5ecorr x2, xzr, 3
    0029a5f0bl math/big.(*Int).Lsh
    0029a5f4ldr x3, [sp+392]
    0029a5f8ldrsb x27, [x3]
    0029a5fcldr x2, [x3]
    0029a600str x2, [sp+152]
    0029a604ldr x0, [sp+88]
    0029a608ldr x1, [sp+88]
    0029a60cbl math/big.(*Int).Mod
    0029a610ldr x1, [sp+72]
    0029a614ldr x2, [sp+88]
    0029a618ldr x0, [sp+72]
    0029a61cbl math/big.(*Int).Sub
    0029a620ldr x0, [sp+72]
    0029a624bl math/big.(*Int).Sign
    0029a628str x0, [sp+32]
    0029a62cadds xzr, x0, 1
    0029a630b.eq 0x29a638
    0029a634b 0x29a658
    0029a638
    0029a638loc_29a638:
    0029a638ldr x3, [sp+392]
    0029a63cldrsb x27, [x3]
    0029a640ldr x2, [x3]
    0029a644str x2, [sp+144]
    0029a648ldr x0, [sp+72]
    0029a64cldr x1, [sp+72]
    0029a650bl math/big.(*Int).Add
    0029a654b 0x29a65c
    0029a658
    0029a658loc_29a658:
    0029a658b 0x29a65c
    0029a65c
    0029a65cloc_29a65c:
    0029a65cldr x3, [sp+392]
    0029a660ldrsb x27, [x3]
    0029a664ldr x2, [x3]
    0029a668str x2, [sp+136]
    0029a66cldr x0, [sp+72]
    0029a670ldr x1, [sp+72]
    0029a674bl math/big.(*Int).Mod
    0029a678ldr x3, [sp+80]
    0029a67cstr x3, [sp+56]
    0029a680ldr x3, [sp+72]
    0029a684str x3, [sp+48]
    0029a688ldr x2, [sp+64]
    0029a68cstr x2, [sp+40]
    0029a690ldr x0, [sp+56]
    0029a694ldr x1, [sp+48]
    0029a698ldp x29, x30, [sp-8]
    0029a69cadd sp, sp, 384
    0029a6a0ret x30
    0029a6a4
    0029a6a4loc_29a6a4:
    0029a6a4stp x0, x1, [sp+8]
    0029a6a8stp x2, x3, [sp+24]
    0029a6acmov x3, x30
    0029a6b0bl runtime.morestack_noctxt.abi0
    0029a6b4ldp x0, x1, [sp+8]
    0029a6b8ldp x2, x3, [sp+24]
    0029a6bcb 0x29a230
    0029a230
    0029a6c0
    0029a6c0crypto/elliptic.(*CurveParams).ScalarMult: ; void crypto/elliptic.(*CurveParams).ScalarMult(crypto/elliptic.CurveParams * curve, math/big.Int * Bx, math/big.Int * By, struct []uint8 k)
    0029a6c0ldr x16, [x28+16]
    0029a6c4sub x17, sp, 336
    0029a6c8subs xzr, x17, x16
    0029a6ccb.ls 0x29aa04
    0029a6d0sub x20, sp, 464
    0029a6d4stp x29, x30, [x20-8]
    0029a6d8add sp, x20, 0
    0029a6dcsub x29, sp, 8
    0029a6e0str x0, [sp+472]
    0029a6e4str x1, [sp+480]
    0029a6e8str x2, [sp+488]
    0029a6ecstr x3, [sp+496]
    0029a6f0str x4, [sp+504]
    0029a6f4str x5, [sp+512]
    0029a6f8str xzr, [sp+112]
    0029a6fcstr xzr, [sp+104]
    0029a700stp xzr, xzr, [sp+360]
    0029a704ldr x0, [sp+472]
    0029a708bl crypto/elliptic.matchesSpecificCurve
    0029a70cstr x0, [sp+360]
    0029a710str x1, [sp+368]
    0029a714strb w2, [sp+79]
    0029a718ldr x1, [sp+360]
    0029a71cldr x2, [sp+368]
    0029a720str x1, [sp+168]
    0029a724str x2, [sp+176]
    0029a728ldrb w1, [sp+79]
    0029a72cstrb w1, [sp+78]
    0029a730ldr x1, [sp+168]
    0029a734ldr x2, [sp+176]
    0029a738str x1, [sp+144]
    0029a73cstr x2, [sp+152]
    0029a740ldrb w1, [sp+78]
    0029a744strb w1, [sp+76]
    0029a748tbnz w1, 0, 0x29a750
    0029a74cb 0x29a7b8
    0029a750
    0029a750loc_29a750:
    0029a750str xzr, [sp+352]
    0029a754str xzr, [sp+344]
    0029a758ldr x1, [sp+480]
    0029a75cldr x2, [sp+488]
    0029a760ldr x4, [sp+504]
    0029a764ldr x5, [sp+512]
    0029a768ldr x6, [sp+144]
    0029a76cldrsb x27, [x6]
    0029a770ldr x6, [x6+64]
    0029a774ldr x3, [sp+496]
    0029a778ldr x0, [sp+152]
    0029a77cblr x6
    0029a780str x0, [sp+352]
    0029a784str x1, [sp+344]
    0029a788ldr x6, [sp+352]
    0029a78cstr x6, [sp+448]
    0029a790ldr x6, [sp+344]
    0029a794str x6, [sp+440]
    0029a798ldr x6, [sp+448]
    0029a79cstr x6, [sp+112]
    0029a7a0ldr x1, [sp+440]
    0029a7a4str x1, [sp+104]
    0029a7a8ldr x0, [sp+112]
    0029a7acldp x29, x30, [sp-8]
    0029a7b0add sp, sp, 464
    0029a7b4ret x30
    0029a7b8
    0029a7b8loc_29a7b8:
    0029a7b8ldr x2, [sp+480]
    0029a7bcldr x3, [sp+488]
    0029a7c0ldr x1, [sp+472]
    0029a7c4adrp x0, 0x480000
    0029a7c8add x0, x0, 648
    0029a7ccbl crypto/elliptic.panicIfNotOnCurve
    0029a7d0strb wzr, [sp+280]
    0029a7d4str xzr, [sp+288]
    0029a7d8stp xzr, xzr, [sp+296]
    0029a7dcadd x0, sp, 280
    0029a7e0str x0, [sp+344]
    0029a7e4orr x1, xzr, 1
    0029a7e8bl math/big.(*Int).SetInt64
    0029a7ecstr x0, [sp+160]
    0029a7f0strb wzr, [sp+248]
    0029a7f4str xzr, [sp+256]
    0029a7f8stp xzr, xzr, [sp+264]
    0029a7fcadd x4, sp, 248
    0029a800str x4, [sp+344]
    0029a804strb wzr, [sp+216]
    0029a808str xzr, [sp+224]
    0029a80cstp xzr, xzr, [sp+232]
    0029a810add x4, sp, 216
    0029a814str x4, [sp+352]
    0029a818strb wzr, [sp+184]
    0029a81cstr xzr, [sp+192]
    0029a820stp xzr, xzr, [sp+200]
    0029a824add x4, sp, 184
    0029a828str x4, [sp+336]
    0029a82cldr x4, [sp+344]
    0029a830str x4, [sp+136]
    0029a834ldr x4, [sp+352]
    0029a838str x4, [sp+128]
    0029a83cldr x4, [sp+336]
    0029a840str x4, [sp+120]
    0029a844ldr x4, [sp+504]
    0029a848ldr x5, [sp+496]
    0029a84cldr x6, [sp+512]
    0029a850str x5, [sp+312]
    0029a854str x4, [sp+320]
    0029a858str x6, [sp+328]
    0029a85cstr xzr, [sp+96]
    0029a860str x4, [sp+88]
    0029a864b 0x29a868
    0029a868
    0029a868loc_29a868:
    0029a868ldr x4, [sp+88]
    0029a86cldr x5, [sp+96]
    0029a870subs xzr, x4, x5
    0029a874b.gt 0x29a87c
    0029a878b 0x29a894
    0029a87c
    0029a87cloc_29a87c:
    0029a87cldr x4, [sp+96]
    0029a880ldr x5, [sp+312]
    0029a884ldrb w4, [x5+x4]
    0029a888strb w4, [sp+77]
    0029a88cstr xzr, [sp+80]
    0029a890b 0x29a8e8
    0029a894
    0029a894loc_29a894:
    0029a894str xzr, [sp+336]
    0029a898str xzr, [sp+352]
    0029a89cldr x1, [sp+136]
    0029a8a0ldr x2, [sp+128]
    0029a8a4ldr x3, [sp+120]
    0029a8a8ldr x0, [sp+472]
    0029a8acbl crypto/elliptic.(*CurveParams).affineFromJacobian
    0029a8b0str x0, [sp+336]
    0029a8b4str x1, [sp+352]
    0029a8b8ldr x4, [sp+336]
    0029a8bcstr x4, [sp+384]
    0029a8c0ldr x4, [sp+352]
    0029a8c4str x4, [sp+376]
    0029a8c8ldr x4, [sp+384]
    0029a8ccstr x4, [sp+112]
    0029a8d0ldr x1, [sp+376]
    0029a8d4str x1, [sp+104]
    0029a8d8ldr x0, [sp+112]
    0029a8dcldp x29, x30, [sp-8]
    0029a8e0add sp, sp, 464
    0029a8e4ret x30
    0029a8e8
    0029a8e8loc_29a8e8:
    0029a8e8ldr x4, [sp+80]
    0029a8ecsubs xzr, x4, 8
    0029a8f0b.lt 0x29a8f8
    0029a8f4b 0x29a9f0
    0029a8f8
    0029a8f8loc_29a8f8:
    0029a8f8str xzr, [sp+336]
    0029a8fcstr xzr, [sp+352]
    0029a900str xzr, [sp+344]
    0029a904ldr x1, [sp+136]
    0029a908ldr x2, [sp+128]
    0029a90cldr x3, [sp+120]
    0029a910ldr x0, [sp+472]
    0029a914bl crypto/elliptic.(*CurveParams).doubleJacobian
    0029a918str x0, [sp+336]
    0029a91cstr x1, [sp+352]
    0029a920str x2, [sp+344]
    0029a924ldr x4, [sp+336]
    0029a928str x4, [sp+432]
    0029a92cldr x4, [sp+352]
    0029a930str x4, [sp+424]
    0029a934ldr x4, [sp+344]
    0029a938str x4, [sp+416]
    0029a93cldr x4, [sp+432]
    0029a940str x4, [sp+136]
    0029a944ldr x4, [sp+424]
    0029a948str x4, [sp+128]
    0029a94cldr x4, [sp+416]
    0029a950str x4, [sp+120]
    0029a954ldrb w4, [sp+77]
    0029a958tbnz w4, 7, 0x29a960
    0029a95cb 0x29a9cc
    0029a960
    0029a960loc_29a960:
    0029a960str xzr, [sp+344]
    0029a964str xzr, [sp+352]
    0029a968str xzr, [sp+336]
    0029a96cldr x1, [sp+480]
    0029a970ldr x2, [sp+488]
    0029a974ldr x3, [sp+160]
    0029a978ldr x4, [sp+136]
    0029a97cldr x5, [sp+128]
    0029a980ldr x6, [sp+120]
    0029a984ldr x0, [sp+472]
    0029a988bl crypto/elliptic.(*CurveParams).addJacobian
    0029a98cstr x0, [sp+344]
    0029a990str x1, [sp+352]
    0029a994str x2, [sp+336]
    0029a998ldr x7, [sp+344]
    0029a99cstr x7, [sp+408]
    0029a9a0ldr x7, [sp+352]
    0029a9a4str x7, [sp+400]
    0029a9a8ldr x7, [sp+336]
    0029a9acstr x7, [sp+392]
    0029a9b0ldr x7, [sp+408]
    0029a9b4str x7, [sp+136]
    0029a9b8ldr x7, [sp+400]
    0029a9bcstr x7, [sp+128]
    0029a9c0ldr x7, [sp+392]
    0029a9c4str x7, [sp+120]
    0029a9c8b 0x29a9d0
    0029a9cc
    0029a9ccloc_29a9cc:
    0029a9ccb 0x29a9d0
    0029a9d0
    0029a9d0loc_29a9d0:
    0029a9d0ldrb w4, [sp+77]
    0029a9d4ubfm x4, x4, 63, 62
    0029a9d8strb w4, [sp+77]
    0029a9dcb 0x29a9e0
    0029a9e0
    0029a9e0loc_29a9e0:
    0029a9e0ldr x4, [sp+80]
    0029a9e4add x4, x4, 1
    0029a9e8str x4, [sp+80]
    0029a9ecb 0x29a8e8
    0029a9f0
    0029a9f0loc_29a9f0:
    0029a9f0b 0x29a9f4
    0029a9f4
    0029a9f4loc_29a9f4:
    0029a9f4ldr x4, [sp+96]
    0029a9f8add x4, x4, 1
    0029a9fcstr x4, [sp+96]
    0029aa00b 0x29a868
    0029aa04
    0029aa04loc_29aa04:
    0029aa04stp x0, x1, [sp+8]
    0029aa08stp x2, x3, [sp+24]
    0029aa0cstp x4, x5, [sp+40]
    0029aa10mov x3, x30
    0029aa14bl runtime.morestack_noctxt.abi0
    0029aa18ldp x0, x1, [sp+8]
    0029aa1cldp x2, x3, [sp+24]
    0029aa20ldp x4, x5, [sp+40]
    0029aa24b 0x29a6c0
    0029aa28udf 0
    0029aa2cudf 0
    0029a6c0
    0029aa30
    0029aa30crypto/elliptic.(*CurveParams).ScalarBaseMult: ; void crypto/elliptic.(*CurveParams).ScalarBaseMult(crypto/elliptic.CurveParams * curve, struct []uint8 k)
    0029aa30ldr x16, [x28+16]
    0029aa34sub x17, sp, 80
    0029aa38subs xzr, x17, x16
    0029aa3cb.ls 0x29ab8c
    0029aa40str x30, [sp-208]!
    0029aa44stur x29, [sp-8]
    0029aa48sub x29, sp, 8
    0029aa4cstr x0, [sp+216]
    0029aa50str x1, [sp+224]
    0029aa54str x2, [sp+232]
    0029aa58str x3, [sp+240]
    0029aa5cstr xzr, [sp+80]
    0029aa60str xzr, [sp+72]
    0029aa64stp xzr, xzr, [sp+168]
    0029aa68ldr x0, [sp+216]
    0029aa6cbl crypto/elliptic.matchesSpecificCurve
    0029aa70str x0, [sp+168]
    0029aa74str x1, [sp+176]
    0029aa78strb w2, [sp+71]
    0029aa7cldr x1, [sp+168]
    0029aa80ldr x2, [sp+176]
    0029aa84str x1, [sp+120]
    0029aa88str x2, [sp+128]
    0029aa8cldrb w1, [sp+71]
    0029aa90strb w1, [sp+70]
    0029aa94ldr x1, [sp+120]
    0029aa98ldr x2, [sp+128]
    0029aa9cstr x1, [sp+88]
    0029aaa0str x2, [sp+96]
    0029aaa4ldrb w1, [sp+70]
    0029aaa8strb w1, [sp+69]
    0029aaactbnz w1, 0, 0x29aab4
    0029aab0b 0x29ab14
    0029aab4
    0029aab4loc_29aab4:
    0029aab4str xzr, [sp+160]
    0029aab8str xzr, [sp+152]
    0029aabcldr x2, [sp+232]
    0029aac0ldr x3, [sp+240]
    0029aac4ldr x4, [sp+88]
    0029aac8ldrsb x27, [x4]
    0029aaccldr x4, [x4+56]
    0029aad0ldr x1, [sp+224]
    0029aad4ldr x0, [sp+96]
    0029aad8blr x4
    0029aadcstr x0, [sp+160]
    0029aae0str x1, [sp+152]
    0029aae4ldr x4, [sp+160]
    0029aae8str x4, [sp+112]
    0029aaecldr x4, [sp+152]
    0029aaf0str x4, [sp+104]
    0029aaf4ldr x4, [sp+112]
    0029aaf8str x4, [sp+80]
    0029aafcldr x1, [sp+104]
    0029ab00str x1, [sp+72]
    0029ab04ldr x0, [sp+80]
    0029ab08ldur x29, [sp-8]
    0029ab0cldr x30, [sp], 208
    0029ab10ret x30
    0029ab14
    0029ab14loc_29ab14:
    0029ab14str xzr, [sp+152]
    0029ab18str xzr, [sp+160]
    0029ab1cldr x6, [sp+216]
    0029ab20ldrsb x27, [x6]
    0029ab24ldr x6, [x6+24]
    0029ab28str x6, [sp+144]
    0029ab2cldr x6, [sp+216]
    0029ab30ldrsb x27, [x6]
    0029ab34ldr x2, [x6+32]
    0029ab38str x2, [sp+136]
    0029ab3cldr x3, [sp+224]
    0029ab40ldr x0, [sp+216]
    0029ab44ldr x4, [sp+232]
    0029ab48ldr x5, [sp+240]
    0029ab4cldr x1, [sp+144]
    0029ab50bl crypto/elliptic.(*CurveParams).ScalarMult
    0029ab54str x0, [sp+152]
    0029ab58str x1, [sp+160]
    0029ab5cldr x6, [sp+152]
    0029ab60str x6, [sp+192]
    0029ab64ldr x6, [sp+160]
    0029ab68str x6, [sp+184]
    0029ab6cldr x6, [sp+192]
    0029ab70str x6, [sp+80]
    0029ab74ldr x1, [sp+184]
    0029ab78str x1, [sp+72]
    0029ab7cldr x0, [sp+80]
    0029ab80ldur x29, [sp-8]
    0029ab84ldr x30, [sp], 208
    0029ab88ret x30
    0029ab8c
    0029ab8cloc_29ab8c:
    0029ab8cstp x0, x1, [sp+8]
    0029ab90stp x2, x3, [sp+24]
    0029ab94mov x3, x30
    0029ab98bl runtime.morestack_noctxt.abi0
    0029ab9cldp x0, x1, [sp+8]
    0029aba0ldp x2, x3, [sp+24]
    0029aba4b 0x29aa30
    0029aba8udf 0
    0029abacudf 0
    0029aa30
    0029abb0
    0029abb0crypto/elliptic.matchesSpecificCurve: ; void crypto/elliptic.matchesSpecificCurve(crypto/elliptic.CurveParams * params)
    0029abb0ldr x16, [x28+16]
    0029abb4sub x17, sp, 80
    0029abb8subs xzr, x17, x16
    0029abbcb.ls 0x29adf4
    0029abc0str x30, [sp-208]!
    0029abc4stur x29, [sp-8]
    0029abc8sub x29, sp, 8
    0029abccstr x0, [sp+216]
    0029abd0stp xzr, xzr, [sp+56]
    0029abd4strb wzr, [sp+31]
    0029abd8stp xzr, xzr, [sp+88]
    0029abdcstp xzr, xzr, [sp+104]
    0029abe0stp xzr, xzr, [sp+120]
    0029abe4stp xzr, xzr, [sp+136]
    0029abe8add x3, sp, 88
    0029abecstr x3, [sp+152]
    0029abf0ldrsb x27, [x3]
    0029abf4adrp x27, 0x773000
    0029abf8ldr x4, [x27+1968]
    0029abfcadrp x5, 0x480000
    0029ac00add x5, x5, 360
    0029ac04str x5, [x3]
    0029ac08adrp x27, 0x7b1000
    0029ac0cldr w5, [x27+3056]
    0029ac10cbz w5, 0x29ac18
    0029ac14b 0x29ac1c
    0029ac18
    0029ac18loc_29ac18:
    0029ac18b 0x29ac30
    0029ac1c
    0029ac1cloc_29ac1c:
    0029ac1cbl runtime.gcWriteBarrier2
    0029ac20str x4, [x25]
    0029ac24ldr x5, [x3+8]
    0029ac28str x5, [x25+8]
    0029ac2cb 0x29ac30
    0029ac30
    0029ac30loc_29ac30:
    0029ac30str x4, [x3+8]
    0029ac34ldrsb x27, [x3]
    0029ac38adrp x27, 0x773000
    0029ac3cldr x4, [x27+1976]
    0029ac40adrp x5, 0x480000
    0029ac44add x5, x5, 432
    0029ac48str x5, [x3+16]
    0029ac4cadrp x27, 0x7b1000
    0029ac50ldr w5, [x27+3056]
    0029ac54cbz w5, 0x29ac5c
    0029ac58b 0x29ac60
    0029ac5c
    0029ac5cloc_29ac5c:
    0029ac5cb 0x29ac74
    0029ac60
    0029ac60loc_29ac60:
    0029ac60bl runtime.gcWriteBarrier2
    0029ac64str x4, [x25]
    0029ac68ldr x5, [x3+24]
    0029ac6cstr x5, [x25+8]
    0029ac70b 0x29ac74
    0029ac74
    0029ac74loc_29ac74:
    0029ac74str x4, [x3+24]
    0029ac78ldr x3, [sp+152]
    0029ac7cldrsb x27, [x3]
    0029ac80adrp x27, 0x773000
    0029ac84ldr x4, [x27+1984]
    0029ac88adrp x5, 0x480000
    0029ac8cadd x5, x5, 504
    0029ac90str x5, [x3+32]
    0029ac94adrp x27, 0x7b1000
    0029ac98ldr w5, [x27+3056]
    0029ac9ccbz w5, 0x29aca4
    0029aca0b 0x29aca8
    0029aca4
    0029aca4loc_29aca4:
    0029aca4b 0x29acbc
    0029aca8
    0029aca8loc_29aca8:
    0029aca8bl runtime.gcWriteBarrier2
    0029acacstr x4, [x25]
    0029acb0ldr x5, [x3+40]
    0029acb4str x5, [x25+8]
    0029acb8b 0x29acbc
    0029acbc
    0029acbcloc_29acbc:
    0029acbcstr x4, [x3+40]
    0029acc0ldr x3, [sp+152]
    0029acc4ldrsb x27, [x3]
    0029acc8adrp x27, 0x773000
    0029acccldr x4, [x27+1992]
    0029acd0adrp x5, 0x480000
    0029acd4add x5, x5, 576
    0029acd8str x5, [x3+48]
    0029acdcadrp x27, 0x7b1000
    0029ace0ldr w5, [x27+3056]
    0029ace4cbz w5, 0x29acec
    0029ace8b 0x29acf0
    0029acec
    0029acecloc_29acec:
    0029acecb 0x29ad04
    0029acf0
    0029acf0loc_29acf0:
    0029acf0bl runtime.gcWriteBarrier2
    0029acf4str x4, [x25]
    0029acf8ldr x5, [x3+56]
    0029acfcstr x5, [x25+8]
    0029ad00b 0x29ad04
    0029ad04
    0029ad04loc_29ad04:
    0029ad04str x4, [x3+56]
    0029ad08ldr x3, [sp+152]
    0029ad0cldrsb x27, [x3]
    0029ad10b 0x29ad14
    0029ad14
    0029ad14loc_29ad14:
    0029ad14str x3, [sp+168]
    0029ad18orr x3, xzr, 4
    0029ad1cstr x3, [sp+176]
    0029ad20str x3, [sp+184]
    0029ad24str xzr, [sp+40]
    0029ad28str x3, [sp+32]
    0029ad2cldr x3, [sp+168]
    0029ad30str x3, [sp+48]
    0029ad34b 0x29ad38
    0029ad38
    0029ad38loc_29ad38:
    0029ad38ldr x3, [sp+32]
    0029ad3cldr x4, [sp+40]
    0029ad40subs xzr, x3, x4
    0029ad44b.gt 0x29ad4c
    0029ad48b 0x29add4
    0029ad4c
    0029ad4cloc_29ad4c:
    0029ad4cldr x1, [sp+48]
    0029ad50str x1, [sp+192]
    0029ad54ldr x1, [sp+192]
    0029ad58ldr x2, [x1]
    0029ad5cldr x0, [x1+8]
    0029ad60str x2, [sp+72]
    0029ad64str x0, [sp+80]
    0029ad68ldrsb x27, [x2]
    0029ad6cldr x1, [x2+48]
    0029ad70blr x1
    0029ad74str x0, [sp+160]
    0029ad78ldr x1, [sp+216]
    0029ad7csubs xzr, x0, x1
    0029ad80b.eq 0x29ad88
    0029ad84b 0x29adb4
    0029ad88
    0029ad88loc_29ad88:
    0029ad88ldr x3, [sp+72]
    0029ad8cldr x4, [sp+80]
    0029ad90str x3, [sp+56]
    0029ad94str x4, [sp+64]
    0029ad98orr x2, xzr, 1
    0029ad9cstrb w2, [sp+31]
    0029ada0ldr x0, [sp+56]
    0029ada4ldr x1, [sp+64]
    0029ada8ldur x29, [sp-8]
    0029adacldr x30, [sp], 208
    0029adb0ret x30
    0029adb4
    0029adb4loc_29adb4:
    0029adb4b 0x29adb8
    0029adb8
    0029adb8loc_29adb8:
    0029adb8ldr x3, [sp+40]
    0029adbcadd x3, x3, 1
    0029adc0str x3, [sp+40]
    0029adc4ldr x3, [sp+192]
    0029adc8add x3, x3, 16
    0029adccstr x3, [sp+48]
    0029add0b 0x29ad38
    0029add4
    0029add4loc_29add4:
    0029add4stp xzr, xzr, [sp+56]
    0029add8strb wzr, [sp+31]
    0029addcldr x1, [sp+64]
    0029ade0ldr x0, [sp+56]
    0029ade4mov x2, xzr
    0029ade8ldur x29, [sp-8]
    0029adecldr x30, [sp], 208
    0029adf0ret x30
    0029adf4
    0029adf4loc_29adf4:
    0029adf4str x0, [sp+8]
    0029adf8mov x3, x30
    0029adfcbl runtime.morestack_noctxt.abi0
    0029ae00ldr x0, [sp+8]
    0029ae04b 0x29abb0
    0029ae08udf 0
    0029ae0cudf 0
    0029abb0