File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    003a9170
    003a9170golang.org/x/crypto/internal/poly1305.(*macGeneric).Sum: ; void golang.org/x/crypto/internal/poly1305.(*macGeneric).Sum(golang.org/x/crypto/internal/poly1305.macGeneric * h, uint8[16] * out)
    003a9170ldr x16, [x28+16]
    003a9174sub x17, sp, 16
    003a9178subs xzr, x17, x16
    003a917cb.ls 0x3a9250
    003a9180str x30, [sp-144]!
    003a9184stur x29, [sp-8]
    003a9188sub x29, sp, 8
    003a918cstr x0, [sp+152]
    003a9190str x1, [sp+160]
    003a9194ldrsb x27, [x0]
    003a9198ldp x4, x5, [x0]
    003a919cldp x6, x7, [x0+16]
    003a91a0ldp x8, x9, [x0+32]
    003a91a4stp x4, x5, [sp+48]
    003a91a8stp x6, x7, [sp+64]
    003a91acstp x8, x9, [sp+80]
    003a91b0ldr x4, [x0+48]
    003a91b4str x4, [sp+96]
    003a91b8ldr x4, [sp+152]
    003a91bcldrsb x27, [x4]
    003a91c0ldr x4, [x4+72]
    003a91c4subs xzr, x4, 0
    003a91c8b.gt 0x3a91d0
    003a91ccb 0x3a9224
    003a91d0
    003a91d0loc_3a91d0:
    003a91d0ldr x4, [sp+152]
    003a91d4ldrsb x27, [x4]
    003a91d8ldr x1, [x4+72]
    003a91dcstr x1, [sp+104]
    003a91e0ldr x4, [sp+152]
    003a91e4ldrsb x27, [x4]
    003a91e8add x4, x4, 56
    003a91ecldrsb x27, [x4]
    003a91f0subs xzr, x1, 16
    003a91f4b.ls 0x3a91fc
    003a91f8b 0x3a9244
    003a91fc
    003a91fcloc_3a91fc:
    003a91fcb 0x3a9200
    003a9200
    003a9200loc_3a9200:
    003a9200str x4, [sp+112]
    003a9204str x1, [sp+120]
    003a9208orr x3, xzr, 16
    003a920cstr x3, [sp+128]
    003a9210add x0, sp, 48
    003a9214mov x2, x1
    003a9218mov x1, x4
    003a921cbl golang.org/x/crypto/internal/poly1305.updateGeneric
    003a9220b 0x3a9228
    003a9224
    003a9224loc_3a9224:
    003a9224b 0x3a9228
    003a9228
    003a9228loc_3a9228:
    003a9228ldr x0, [sp+160]
    003a922cadd x1, sp, 48
    003a9230add x2, sp, 88
    003a9234bl golang.org/x/crypto/internal/poly1305.finalize
    003a9238ldur x29, [sp-8]
    003a923cldr x30, [sp], 144
    003a9240ret x30
    003a9244
    003a9244loc_3a9244:
    003a9244orr x2, xzr, 16
    003a9248bl runtime.panicSliceAlen
    003a924chint
    003a9250
    003a9250loc_3a9250:
    003a9250stp x0, x1, [sp+8]
    003a9254mov x3, x30
    003a9258bl runtime.morestack_noctxt.abi0
    003a925cldp x0, x1, [sp+8]
    003a9260b 0x3a9170
    003a9264udf 0
    003a9268udf 0
    003a926cudf 0
    003a9170
    003a9270
    003a9270golang.org/x/crypto/internal/poly1305.initialize: ; void golang.org/x/crypto/internal/poly1305.initialize(uint8[32] * key, golang.org/x/crypto/internal/poly1305.macState * m)
    003a9270ldr x16, [x28+16]
    003a9274subs xzr, sp, x16
    003a9278b.ls 0x3a9394
    003a927cstr x30, [sp-80]!
    003a9280stur x29, [sp-8]
    003a9284sub x29, sp, 8
    003a9288str x0, [sp+88]
    003a928cstr x1, [sp+96]
    003a9290ldrsb x27, [x0]
    003a9294b 0x3a9298
    003a9298
    003a9298loc_3a9298:
    003a9298b 0x3a929c
    003a929c
    003a929cloc_3a929c:
    003a929cstr x0, [sp+48]
    003a92a0orr x1, xzr, 8
    003a92a4str x1, [sp+56]
    003a92a8orr x2, xzr, 32
    003a92acstr x2, [sp+64]
    003a92b0bl encoding/binary.littleEndian.Uint64
    003a92b4str x0, [sp+40]
    003a92b8ldr x3, [sp+96]
    003a92bcldrsb x27, [x3]
    003a92c0movn x4, 0xf0000000
    003a92c4movk x4, 0xfffc00000000
    003a92c8movk x4, 0xfff000000000000
    003a92ccand x4, x0, x4
    003a92d0str x4, [x3+24]
    003a92d4ldr x3, [sp+88]
    003a92d8ldrsb x27, [x3]
    003a92dcb 0x3a92e0
    003a92e0
    003a92e0loc_3a92e0:
    003a92e0b 0x3a92e4
    003a92e4
    003a92e4loc_3a92e4:
    003a92e4add x0, x3, 8
    003a92e8str x0, [sp+48]
    003a92ecorr x1, xzr, 8
    003a92f0str x1, [sp+56]
    003a92f4orr x2, xzr, 24
    003a92f8str x2, [sp+64]
    003a92fcbl encoding/binary.littleEndian.Uint64
    003a9300str x0, [sp+40]
    003a9304ldr x3, [sp+96]
    003a9308ldrsb x27, [x3]
    003a930cand x4, x0, 0xffffffc0ffffffc
    003a9310str x4, [x3+32]
    003a9314ldr x3, [sp+88]
    003a9318ldrsb x27, [x3]
    003a931cb 0x3a9320
    003a9320
    003a9320loc_3a9320:
    003a9320b 0x3a9324
    003a9324
    003a9324loc_3a9324:
    003a9324add x0, x3, 16
    003a9328str x0, [sp+48]
    003a932corr x1, xzr, 8
    003a9330str x1, [sp+56]
    003a9334orr x2, xzr, 16
    003a9338str x2, [sp+64]
    003a933cbl encoding/binary.littleEndian.Uint64
    003a9340str x0, [sp+40]
    003a9344ldr x3, [sp+96]
    003a9348ldrsb x27, [x3]
    003a934cstr x0, [x3+40]
    003a9350ldr x3, [sp+88]
    003a9354ldrsb x27, [x3]
    003a9358b 0x3a935c
    003a935c
    003a935cloc_3a935c:
    003a935cadd x0, x3, 24
    003a9360str x0, [sp+48]
    003a9364orr x2, xzr, 8
    003a9368str x2, [sp+56]
    003a936cstr x2, [sp+64]
    003a9370mov x1, x2
    003a9374bl encoding/binary.littleEndian.Uint64
    003a9378str x0, [sp+40]
    003a937cldr x3, [sp+96]
    003a9380ldrsb x27, [x3]
    003a9384str x0, [x3+48]
    003a9388ldur x29, [sp-8]
    003a938cldr x30, [sp], 80
    003a9390ret x30
    003a9394
    003a9394loc_3a9394:
    003a9394stp x0, x1, [sp+8]
    003a9398mov x3, x30
    003a939cbl runtime.morestack_noctxt.abi0
    003a93a0ldp x0, x1, [sp+8]
    003a93a4b 0x3a9270
    003a93a8udf 0
    003a93acudf 0
    003a9270
    003a93b0
    003a93b0golang.org/x/crypto/internal/poly1305.mul64: ; void golang.org/x/crypto/internal/poly1305.mul64(uint64 a, uint64 b)
    003a93b0ldr x16, [x28+16]
    003a93b4subs xzr, sp, x16
    003a93b8b.ls 0x3a9414
    003a93bcstr x30, [sp-96]!
    003a93c0stur x29, [sp-8]
    003a93c4sub x29, sp, 8
    003a93c8str x0, [sp+104]
    003a93ccstr x1, [sp+112]
    003a93d0stp xzr, xzr, [sp+24]
    003a93d4bl golang.org/x/crypto/internal/poly1305.bitsMul64
    003a93d8str x0, [sp+64]
    003a93dcstr x1, [sp+56]
    003a93e0str x0, [sp+80]
    003a93e4str x1, [sp+72]
    003a93e8str x0, [sp+48]
    003a93ecstr x1, [sp+40]
    003a93f0stp xzr, xzr, [sp+24]
    003a93f4str x1, [sp+24]
    003a93f8ldr x2, [sp+48]
    003a93fcstr x2, [sp+32]
    003a9400mov x0, x1
    003a9404mov x1, x2
    003a9408ldur x29, [sp-8]
    003a940cldr x30, [sp], 96
    003a9410ret x30
    003a9414
    003a9414loc_3a9414:
    003a9414stp x0, x1, [sp+8]
    003a9418mov x3, x30
    003a941cbl runtime.morestack_noctxt.abi0
    003a9420ldp x0, x1, [sp+8]
    003a9424b 0x3a93b0
    003a9428udf 0
    003a942cudf 0
    003a93b0
    003a9430
    003a9430golang.org/x/crypto/internal/poly1305.add128: ; void golang.org/x/crypto/internal/poly1305.add128(golang.org/x/crypto/internal/poly1305.uint128 a, golang.org/x/crypto/internal/poly1305.uint128 b)
    003a9430ldr x16, [x28+16]
    003a9434subs xzr, sp, x16
    003a9438b.ls 0x3a94f0
    003a943cstr x30, [sp-128]!
    003a9440stur x29, [sp-8]
    003a9444sub x29, sp, 8
    003a9448str x0, [sp+136]
    003a944cstr x1, [sp+144]
    003a9450str x2, [sp+152]
    003a9454str x3, [sp+160]
    003a9458stp xzr, xzr, [sp+32]
    003a945cldr x0, [sp+136]
    003a9460mov x1, x2
    003a9464mov x2, xzr
    003a9468bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a946cstr x0, [sp+112]
    003a9470str x1, [sp+104]
    003a9474str x0, [sp+96]
    003a9478str x1, [sp+88]
    003a947cstr x0, [sp+48]
    003a9480str x1, [sp+64]
    003a9484ldr x0, [sp+144]
    003a9488ldr x3, [sp+160]
    003a948cmov x2, x1
    003a9490mov x1, x3
    003a9494bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9498str x0, [sp+104]
    003a949cstr x1, [sp+112]
    003a94a0str x0, [sp+80]
    003a94a4str x1, [sp+72]
    003a94a8str x0, [sp+56]
    003a94acstr x1, [sp+64]
    003a94b0cbnz x1, 0x3a94d8
    003a94b4b 0x3a94b8
    003a94b8
    003a94b8loc_3a94b8:
    003a94b8stp xzr, xzr, [sp+32]
    003a94bcldr x0, [sp+48]
    003a94c0str x0, [sp+32]
    003a94c4ldr x1, [sp+56]
    003a94c8str x1, [sp+40]
    003a94ccldur x29, [sp-8]
    003a94d0ldr x30, [sp], 128
    003a94d4ret x30
    003a94d8
    003a94d8loc_3a94d8:
    003a94d8adrp x0, 0x24c000
    003a94dcadd x0, x0, 2944
    003a94e0adrp x1, 0x369000
    003a94e4add x1, x1, 3552
    003a94e8bl runtime.gopanic
    003a94echint
    003a94f0
    003a94f0loc_3a94f0:
    003a94f0stp x0, x1, [sp+8]
    003a94f4stp x2, x3, [sp+24]
    003a94f8mov x3, x30
    003a94fcbl runtime.morestack_noctxt.abi0
    003a9500ldp x0, x1, [sp+8]
    003a9504ldp x2, x3, [sp+24]
    003a9508b 0x3a9430
    003a950cudf 0
    003a9430
    003a9510
    003a9510golang.org/x/crypto/internal/poly1305.shiftRightBy2: ; void golang.org/x/crypto/internal/poly1305.shiftRightBy2(golang.org/x/crypto/internal/poly1305.uint128 a)
    003a9510str x30, [sp-32]!
    003a9514stur x29, [sp-8]
    003a9518sub x29, sp, 8
    003a951cstr x0, [sp+40]
    003a9520str x1, [sp+48]
    003a9524stp xzr, xzr, [sp+8]
    003a9528and x2, x1, 3
    003a952cextr x0, x2, x0, 2
    003a9530str x0, [sp+40]
    003a9534ubfm x1, x1, 2, 63
    003a9538str x1, [sp+48]
    003a953cstr x0, [sp+8]
    003a9540str x1, [sp+16]
    003a9544add x29, sp, 24
    003a9548add sp, sp, 32
    003a954cret x30
    003a9510
    003a9550
    003a9550golang.org/x/crypto/internal/poly1305.updateGeneric: ; void golang.org/x/crypto/internal/poly1305.updateGeneric(golang.org/x/crypto/internal/poly1305.macState * state, struct []uint8 msg)
    003a9550ldr x16, [x28+16]
    003a9554sub x17, sp, 496
    003a9558subs xzr, x17, x16
    003a955cb.ls 0x3a9b94
    003a9560sub x20, sp, 624
    003a9564stp x29, x30, [x20-8]
    003a9568add sp, x20, 0
    003a956csub x29, sp, 8
    003a9570str x0, [sp+632]
    003a9574str x1, [sp+640]
    003a9578str x2, [sp+648]
    003a957cstr x3, [sp+656]
    003a9580ldrsb x27, [x0]
    003a9584ldr x3, [x0]
    003a9588str x3, [sp+280]
    003a958cldrsb x27, [x0]
    003a9590ldr x3, [x0+8]
    003a9594str x3, [sp+240]
    003a9598ldrsb x27, [x0]
    003a959cldr x3, [x0+16]
    003a95a0str x3, [sp+200]
    003a95a4ldr x3, [sp+632]
    003a95a8ldrsb x27, [x3]
    003a95acldr x3, [x3+24]
    003a95b0str x3, [sp+96]
    003a95b4ldr x3, [sp+632]
    003a95b8ldrsb x27, [x3]
    003a95bcldr x3, [x3+32]
    003a95c0str x3, [sp+88]
    003a95c4b 0x3a95c8
    003a95c8
    003a95c8loc_3a95c8:
    003a95c8ldr x3, [sp+648]
    003a95ccstr x3, [sp+376]
    003a95d0cbnz x3, 0x3a95d8
    003a95d4b 0x3a9b0c
    003a95d8
    003a95d8loc_3a95d8:
    003a95d8str xzr, [sp+304]
    003a95dcldr x3, [sp+648]
    003a95e0str x3, [sp+368]
    003a95e4subs xzr, x3, 16
    003a95e8b.ge 0x3a95f0
    003a95ecb 0x3a9710
    003a95f0
    003a95f0loc_3a95f0:
    003a95f0ldr x2, [sp+656]
    003a95f4ldr x0, [sp+640]
    003a95f8subs xzr, x2, 8
    003a95fcb.hs 0x3a9604
    003a9600b 0x3a9b88
    003a9604
    003a9604loc_3a9604:
    003a9604b 0x3a9608
    003a9608
    003a9608loc_3a9608:
    003a9608str x0, [sp+592]
    003a960corr x1, xzr, 8
    003a9610str x1, [sp+600]
    003a9614str x2, [sp+608]
    003a9618bl encoding/binary.littleEndian.Uint64
    003a961cstr x0, [sp+360]
    003a9620ldr x3, [sp+280]
    003a9624mov x1, x0
    003a9628mov x2, xzr
    003a962cmov x0, x3
    003a9630bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9634str x0, [sp+352]
    003a9638str x1, [sp+344]
    003a963cstr x0, [sp+320]
    003a9640str x1, [sp+312]
    003a9644str x0, [sp+280]
    003a9648str x1, [sp+304]
    003a964cldr x2, [sp+656]
    003a9650ldr x3, [sp+640]
    003a9654subs xzr, x2, 16
    003a9658b.hs 0x3a9660
    003a965cb 0x3a9b80
    003a9660
    003a9660loc_3a9660:
    003a9660b 0x3a9664
    003a9664
    003a9664loc_3a9664:
    003a9664sub x2, x2, 8
    003a9668sub x4, xzr, x2
    003a966csbfm x4, x4, 63, 63
    003a9670and x4, x4, 8
    003a9674add x0, x3, x4
    003a9678str x0, [sp+592]
    003a967corr x1, xzr, 8
    003a9680str x1, [sp+600]
    003a9684str x2, [sp+608]
    003a9688bl encoding/binary.littleEndian.Uint64
    003a968cstr x0, [sp+344]
    003a9690ldr x3, [sp+240]
    003a9694ldr x2, [sp+304]
    003a9698mov x1, x0
    003a969cmov x0, x3
    003a96a0bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a96a4str x0, [sp+352]
    003a96a8str x1, [sp+360]
    003a96acstr x0, [sp+536]
    003a96b0str x1, [sp+528]
    003a96b4str x0, [sp+240]
    003a96b8str x1, [sp+304]
    003a96bcldr x3, [sp+200]
    003a96c0add x3, x1, x3
    003a96c4add x3, x3, 1
    003a96c8str x3, [sp+200]
    003a96ccldr x1, [sp+648]
    003a96d0ldr x3, [sp+640]
    003a96d4ldr x4, [sp+656]
    003a96d8b 0x3a96dc
    003a96dc
    003a96dcloc_3a96dc:
    003a96dcsubs xzr, x1, 16
    003a96e0b.hs 0x3a96e8
    003a96e4b 0x3a9b78
    003a96e8
    003a96e8loc_3a96e8:
    003a96e8sub x2, x4, 16
    003a96ecsub x4, xzr, x2
    003a96f0sub x5, x1, 16
    003a96f4sbfm x4, x4, 63, 63
    003a96f8and x4, x4, 16
    003a96fcadd x3, x3, x4
    003a9700str x3, [sp+640]
    003a9704str x5, [sp+648]
    003a9708str x2, [sp+656]
    003a970cb 0x3a9894
    003a9710
    003a9710loc_3a9710:
    003a9710stp xzr, xzr, [sp+40]
    003a9714add x3, sp, 40
    003a9718ldrsb x27, [x3]
    003a971cb 0x3a9720
    003a9720
    003a9720loc_3a9720:
    003a9720str x3, [sp+592]
    003a9724orr x1, xzr, 16
    003a9728str x1, [sp+600]
    003a972cstr x1, [sp+608]
    003a9730str x3, [sp+568]
    003a9734str x1, [sp+576]
    003a9738str x1, [sp+584]
    003a973cldr x3, [sp+648]
    003a9740ldr x4, [sp+640]
    003a9744ldr x5, [sp+656]
    003a9748str x4, [sp+544]
    003a974cstr x3, [sp+552]
    003a9750str x5, [sp+560]
    003a9754ldr x4, [sp+576]
    003a9758str x4, [sp+336]
    003a975csubs xzr, x3, x4
    003a9760b.lt 0x3a9768
    003a9764b 0x3a9770
    003a9768
    003a9768loc_3a9768:
    003a9768str x3, [sp+336]
    003a976cb 0x3a9774
    003a9770
    003a9770loc_3a9770:
    003a9770b 0x3a9774
    003a9774
    003a9774loc_3a9774:
    003a9774ldr x3, [sp+568]
    003a9778ldr x4, [sp+544]
    003a977csubs xzr, x3, x4
    003a9780b.ne 0x3a9788
    003a9784b 0x3a97a4
    003a9788
    003a9788loc_3a9788:
    003a9788ldr x3, [sp+336]
    003a978cstr x3, [sp+328]
    003a9790ldr x2, [sp+328]
    003a9794ldr x0, [sp+568]
    003a9798ldr x1, [sp+544]
    003a979cbl runtime.memmove
    003a97a0b 0x3a97a8
    003a97a4
    003a97a4loc_3a97a4:
    003a97a4b 0x3a97a8
    003a97a8
    003a97a8loc_3a97a8:
    003a97a8ldr x0, [sp+648]
    003a97acstr x0, [sp+368]
    003a97b0subs xzr, x0, 16
    003a97b4b.lo 0x3a97bc
    003a97b8b 0x3a9b70
    003a97bc
    003a97bcloc_3a97bc:
    003a97bcorr x3, xzr, 1
    003a97c0add x4, sp, 40
    003a97c4strb w3, [x4+x0]
    003a97c8add x0, sp, 40
    003a97ccldrsb x27, [x0]
    003a97d0b 0x3a97d4
    003a97d4
    003a97d4loc_3a97d4:
    003a97d4b 0x3a97d8
    003a97d8
    003a97d8loc_3a97d8:
    003a97d8str x0, [sp+592]
    003a97dcorr x1, xzr, 8
    003a97e0str x1, [sp+600]
    003a97e4orr x2, xzr, 16
    003a97e8str x2, [sp+608]
    003a97ecbl encoding/binary.littleEndian.Uint64
    003a97f0str x0, [sp+360]
    003a97f4ldr x3, [sp+280]
    003a97f8mov x1, x0
    003a97fcmov x2, xzr
    003a9800mov x0, x3
    003a9804bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9808str x0, [sp+352]
    003a980cstr x1, [sp+344]
    003a9810str x0, [sp+520]
    003a9814str x1, [sp+512]
    003a9818str x0, [sp+280]
    003a981cstr x1, [sp+304]
    003a9820add x3, sp, 40
    003a9824ldrsb x27, [x3]
    003a9828b 0x3a982c
    003a982c
    003a982cloc_3a982c:
    003a982cadd x0, x3, 8
    003a9830str x0, [sp+592]
    003a9834orr x2, xzr, 8
    003a9838str x2, [sp+600]
    003a983cstr x2, [sp+608]
    003a9840mov x1, x2
    003a9844bl encoding/binary.littleEndian.Uint64
    003a9848str x0, [sp+344]
    003a984cldr x3, [sp+240]
    003a9850ldr x2, [sp+304]
    003a9854mov x1, x0
    003a9858mov x0, x3
    003a985cbl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9860str x0, [sp+352]
    003a9864str x1, [sp+360]
    003a9868str x0, [sp+504]
    003a986cstr x1, [sp+496]
    003a9870str x0, [sp+240]
    003a9874str x1, [sp+304]
    003a9878ldr x3, [sp+200]
    003a987cadd x3, x3, x1
    003a9880str x3, [sp+200]
    003a9884str xzr, [sp+640]
    003a9888add x27, sp, 648
    003a988cstp xzr, xzr, [x27]
    003a9890b 0x3a9894
    003a9894
    003a9894loc_3a9894:
    003a9894ldr x1, [sp+96]
    003a9898ldr x0, [sp+280]
    003a989cbl golang.org/x/crypto/internal/poly1305.mul64
    003a98a0str x0, [sp+264]
    003a98a4str x1, [sp+272]
    003a98a8ldr x1, [sp+96]
    003a98acldr x0, [sp+240]
    003a98b0bl golang.org/x/crypto/internal/poly1305.mul64
    003a98b4str x0, [sp+224]
    003a98b8str x1, [sp+232]
    003a98bcldr x1, [sp+96]
    003a98c0ldr x0, [sp+200]
    003a98c4bl golang.org/x/crypto/internal/poly1305.mul64
    003a98c8str x0, [sp+184]
    003a98ccstr x1, [sp+192]
    003a98d0ldr x1, [sp+88]
    003a98d4ldr x0, [sp+280]
    003a98d8bl golang.org/x/crypto/internal/poly1305.mul64
    003a98dcstr x0, [sp+248]
    003a98e0str x1, [sp+256]
    003a98e4ldr x1, [sp+88]
    003a98e8ldr x0, [sp+240]
    003a98ecbl golang.org/x/crypto/internal/poly1305.mul64
    003a98f0str x0, [sp+208]
    003a98f4str x1, [sp+216]
    003a98f8ldr x1, [sp+88]
    003a98fcldr x0, [sp+200]
    003a9900bl golang.org/x/crypto/internal/poly1305.mul64
    003a9904str x0, [sp+168]
    003a9908str x1, [sp+176]
    003a990cldr x2, [sp+192]
    003a9910cbnz x2, 0x3a9b5c
    003a9914b 0x3a9918
    003a9918
    003a9918loc_3a9918:
    003a9918cbnz x1, 0x3a9b48
    003a991cb 0x3a9920
    003a9920
    003a9920loc_3a9920:
    003a9920ldr x4, [sp+264]
    003a9924ldr x5, [sp+272]
    003a9928str x4, [sp+152]
    003a992cstr x5, [sp+160]
    003a9930ldr x0, [sp+224]
    003a9934ldr x2, [sp+248]
    003a9938ldr x1, [sp+232]
    003a993cldr x3, [sp+256]
    003a9940bl golang.org/x/crypto/internal/poly1305.add128
    003a9944str x0, [sp+136]
    003a9948str x1, [sp+144]
    003a994cldr x0, [sp+184]
    003a9950ldr x2, [sp+208]
    003a9954ldr x1, [sp+192]
    003a9958ldr x3, [sp+216]
    003a995cbl golang.org/x/crypto/internal/poly1305.add128
    003a9960str x0, [sp+120]
    003a9964str x1, [sp+128]
    003a9968ldr x4, [sp+168]
    003a996cldr x5, [sp+176]
    003a9970str x4, [sp+104]
    003a9974str x5, [sp+112]
    003a9978ldr x4, [sp+152]
    003a997cstr x4, [sp+80]
    003a9980ldr x0, [sp+136]
    003a9984ldr x1, [sp+160]
    003a9988mov x2, xzr
    003a998cbl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9990str x0, [sp+360]
    003a9994str x1, [sp+352]
    003a9998str x0, [sp+488]
    003a999cstr x1, [sp+480]
    003a99a0str x0, [sp+72]
    003a99a4str x1, [sp+304]
    003a99a8ldr x0, [sp+120]
    003a99acldr x4, [sp+144]
    003a99b0mov x2, x1
    003a99b4mov x1, x4
    003a99b8bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a99bcstr x0, [sp+352]
    003a99c0str x1, [sp+360]
    003a99c4str x0, [sp+472]
    003a99c8str x1, [sp+464]
    003a99ccstr x0, [sp+64]
    003a99d0str x1, [sp+304]
    003a99d4ldr x0, [sp+104]
    003a99d8ldr x4, [sp+128]
    003a99dcmov x2, x1
    003a99e0mov x1, x4
    003a99e4bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a99e8str x0, [sp+360]
    003a99ecstr x1, [sp+352]
    003a99f0str x0, [sp+456]
    003a99f4str x1, [sp+448]
    003a99f8str x0, [sp+56]
    003a99fcldr x4, [sp+80]
    003a9a00str x4, [sp+280]
    003a9a04ldr x4, [sp+72]
    003a9a08str x4, [sp+240]
    003a9a0cldr x4, [sp+64]
    003a9a10and x4, x4, 3
    003a9a14str x4, [sp+200]
    003a9a18stp xzr, xzr, [sp+288]
    003a9a1cldr x4, [sp+64]
    003a9a20and x1, x4, -4
    003a9a24str x1, [sp+288]
    003a9a28ldr x4, [sp+56]
    003a9a2cstr x4, [sp+296]
    003a9a30ldr x0, [sp+280]
    003a9a34mov x2, xzr
    003a9a38bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9a3cstr x0, [sp+352]
    003a9a40str x1, [sp+360]
    003a9a44str x0, [sp+440]
    003a9a48str x1, [sp+432]
    003a9a4cstr x0, [sp+280]
    003a9a50str x1, [sp+304]
    003a9a54ldr x0, [sp+240]
    003a9a58ldr x4, [sp+296]
    003a9a5cmov x2, x1
    003a9a60mov x1, x4
    003a9a64bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9a68str x0, [sp+360]
    003a9a6cstr x1, [sp+352]
    003a9a70str x0, [sp+424]
    003a9a74str x1, [sp+416]
    003a9a78str x0, [sp+240]
    003a9a7cstr x1, [sp+304]
    003a9a80ldr x4, [sp+200]
    003a9a84add x4, x4, x1
    003a9a88str x4, [sp+200]
    003a9a8cldr x0, [sp+288]
    003a9a90ldr x1, [sp+296]
    003a9a94bl golang.org/x/crypto/internal/poly1305.shiftRightBy2
    003a9a98str x0, [sp+288]
    003a9a9cstr x1, [sp+296]
    003a9aa0ldr x4, [sp+280]
    003a9aa4mov x1, x0
    003a9aa8mov x2, xzr
    003a9aacmov x0, x4
    003a9ab0bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9ab4str x0, [sp+352]
    003a9ab8str x1, [sp+360]
    003a9abcstr x0, [sp+408]
    003a9ac0str x1, [sp+400]
    003a9ac4str x0, [sp+280]
    003a9ac8str x1, [sp+304]
    003a9accldr x0, [sp+240]
    003a9ad0ldr x4, [sp+296]
    003a9ad4mov x2, x1
    003a9ad8mov x1, x4
    003a9adcbl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9ae0str x0, [sp+360]
    003a9ae4str x1, [sp+352]
    003a9ae8str x0, [sp+392]
    003a9aecstr x1, [sp+384]
    003a9af0str x0, [sp+240]
    003a9af4str x1, [sp+304]
    003a9af8ldr x4, [sp+200]
    003a9afcadd x4, x4, x1
    003a9b00str x4, [sp+200]
    003a9b04b 0x3a9b08
    003a9b08
    003a9b08loc_3a9b08:
    003a9b08b 0x3a95c8
    003a9b0c
    003a9b0cloc_3a9b0c:
    003a9b0cldr x0, [sp+632]
    003a9b10ldrsb x27, [x0]
    003a9b14ldr x1, [sp+280]
    003a9b18str x1, [x0]
    003a9b1cldr x0, [sp+632]
    003a9b20ldrsb x27, [x0]
    003a9b24ldr x1, [sp+240]
    003a9b28str x1, [x0+8]
    003a9b2cldr x0, [sp+632]
    003a9b30ldrsb x27, [x0]
    003a9b34ldr x1, [sp+200]
    003a9b38str x1, [x0+16]
    003a9b3cldp x29, x30, [sp-8]
    003a9b40add sp, sp, 624
    003a9b44ret x30
    003a9b48
    003a9b48loc_3a9b48:
    003a9b48adrp x0, 0x24c000
    003a9b4cadd x0, x0, 2944
    003a9b50adrp x1, 0x369000
    003a9b54add x1, x1, 3552
    003a9b58bl runtime.gopanic
    003a9b5c
    003a9b5cloc_3a9b5c:
    003a9b5cadrp x0, 0x24c000
    003a9b60add x0, x0, 2944
    003a9b64adrp x1, 0x369000
    003a9b68add x1, x1, 3552
    003a9b6cbl runtime.gopanic
    003a9b70
    003a9b70loc_3a9b70:
    003a9b70orr x1, xzr, 16
    003a9b74bl runtime.panicIndex
    003a9b78
    003a9b78loc_3a9b78:
    003a9b78orr x0, xzr, 16
    003a9b7cbl runtime.panicSliceB
    003a9b80
    003a9b80loc_3a9b80:
    003a9b80orr x1, xzr, 16
    003a9b84bl runtime.panicSliceAcap
    003a9b88
    003a9b88loc_3a9b88:
    003a9b88orr x1, xzr, 8
    003a9b8cbl runtime.panicSliceAcap
    003a9b90hint
    003a9b94
    003a9b94loc_3a9b94:
    003a9b94stp x0, x1, [sp+8]
    003a9b98stp x2, x3, [sp+24]
    003a9b9cmov x3, x30
    003a9ba0bl runtime.morestack_noctxt.abi0
    003a9ba4ldp x0, x1, [sp+8]
    003a9ba8ldp x2, x3, [sp+24]
    003a9bacb 0x3a9550
    003a9550
    003a9bb0
    003a9bb0golang.org/x/crypto/internal/poly1305.select64: ; void golang.org/x/crypto/internal/poly1305.select64(uint64 v, uint64 x, uint64 y)
    003a9bb0str x30, [sp-32]!
    003a9bb4stur x29, [sp-8]
    003a9bb8sub x29, sp, 8
    003a9bbcstr x0, [sp+40]
    003a9bc0str x1, [sp+48]
    003a9bc4str x2, [sp+56]
    003a9bc8str xzr, [sp+16]
    003a9bccsub x3, xzr, x0
    003a9bd0and x1, x3, x1
    003a9bd4sub x3, x0, 1
    003a9bd8and x2, x3, x2
    003a9bdcorr x0, x1, x2
    003a9be0str x0, [sp+16]
    003a9be4add x29, sp, 24
    003a9be8add sp, sp, 32
    003a9becret x30
    003a9bb0
    003a9bf0
    003a9bf0golang.org/x/crypto/internal/poly1305.finalize: ; void golang.org/x/crypto/internal/poly1305.finalize(uint8[16] * out, uint64[3] * h, uint64[2] * s)
    003a9bf0ldr x16, [x28+16]
    003a9bf4sub x17, sp, 112
    003a9bf8subs xzr, x17, x16
    003a9bfcb.ls 0x3a9da4
    003a9c00str x30, [sp-240]!
    003a9c04stur x29, [sp-8]
    003a9c08sub x29, sp, 8
    003a9c0cstr x0, [sp+248]
    003a9c10str x1, [sp+256]
    003a9c14str x2, [sp+264]
    003a9c18ldrsb x27, [x1]
    003a9c1cldr x0, [x1]
    003a9c20str x0, [sp+72]
    003a9c24ldrsb x27, [x1]
    003a9c28ldr x3, [x1+8]
    003a9c2cstr x3, [sp+64]
    003a9c30ldrsb x27, [x1]
    003a9c34ldr x3, [x1+16]
    003a9c38str x3, [sp+56]
    003a9c3cmovn x1, 4
    003a9c40mov x2, xzr
    003a9c44bl golang.org/x/crypto/internal/poly1305.bitsSub64
    003a9c48str x0, [sp+136]
    003a9c4cstr x1, [sp+128]
    003a9c50str x0, [sp+104]
    003a9c54str x1, [sp+96]
    003a9c58str x0, [sp+48]
    003a9c5cstr x1, [sp+88]
    003a9c60ldr x0, [sp+64]
    003a9c64mov x2, x1
    003a9c68movn x1, 0
    003a9c6cbl golang.org/x/crypto/internal/poly1305.bitsSub64
    003a9c70str x0, [sp+128]
    003a9c74str x1, [sp+136]
    003a9c78str x0, [sp+200]
    003a9c7cstr x1, [sp+192]
    003a9c80str x0, [sp+40]
    003a9c84str x1, [sp+88]
    003a9c88ldr x0, [sp+56]
    003a9c8cmov x2, x1
    003a9c90orr x1, xzr, 3
    003a9c94bl golang.org/x/crypto/internal/poly1305.bitsSub64
    003a9c98str x0, [sp+136]
    003a9c9cstr x1, [sp+128]
    003a9ca0str x0, [sp+184]
    003a9ca4str x1, [sp+176]
    003a9ca8str x1, [sp+88]
    003a9cacldr x3, [sp+72]
    003a9cb0ldr x2, [sp+48]
    003a9cb4mov x0, x1
    003a9cb8mov x1, x3
    003a9cbcbl golang.org/x/crypto/internal/poly1305.select64
    003a9cc0str x0, [sp+72]
    003a9cc4ldr x1, [sp+64]
    003a9cc8ldr x2, [sp+40]
    003a9cccldr x0, [sp+88]
    003a9cd0bl golang.org/x/crypto/internal/poly1305.select64
    003a9cd4str x0, [sp+64]
    003a9cd8ldr x3, [sp+264]
    003a9cdcldrsb x27, [x3]
    003a9ce0ldr x1, [x3]
    003a9ce4str x1, [sp+120]
    003a9ce8ldr x0, [sp+72]
    003a9cecmov x2, xzr
    003a9cf0bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9cf4str x0, [sp+128]
    003a9cf8str x1, [sp+136]
    003a9cfcstr x0, [sp+168]
    003a9d00str x1, [sp+160]
    003a9d04str x0, [sp+72]
    003a9d08str x1, [sp+80]
    003a9d0cldr x3, [sp+264]
    003a9d10ldrsb x27, [x3]
    003a9d14ldr x3, [x3+8]
    003a9d18str x3, [sp+112]
    003a9d1cldr x0, [sp+64]
    003a9d20mov x2, x1
    003a9d24mov x1, x3
    003a9d28bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9d2cstr x0, [sp+136]
    003a9d30str x1, [sp+128]
    003a9d34str x0, [sp+152]
    003a9d38str x1, [sp+144]
    003a9d3cstr x0, [sp+64]
    003a9d40ldr x0, [sp+248]
    003a9d44ldrsb x27, [x0]
    003a9d48b 0x3a9d4c
    003a9d4c
    003a9d4cloc_3a9d4c:
    003a9d4cb 0x3a9d50
    003a9d50
    003a9d50loc_3a9d50:
    003a9d50str x0, [sp+208]
    003a9d54orr x1, xzr, 8
    003a9d58str x1, [sp+216]
    003a9d5corr x2, xzr, 16
    003a9d60str x2, [sp+224]
    003a9d64ldr x3, [sp+72]
    003a9d68bl encoding/binary.littleEndian.PutUint64
    003a9d6cldr x4, [sp+248]
    003a9d70ldrsb x27, [x4]
    003a9d74b 0x3a9d78
    003a9d78
    003a9d78loc_3a9d78:
    003a9d78add x0, x4, 8
    003a9d7cstr x0, [sp+208]
    003a9d80orr x2, xzr, 8
    003a9d84str x2, [sp+216]
    003a9d88str x2, [sp+224]
    003a9d8cldr x3, [sp+64]
    003a9d90mov x1, x2
    003a9d94bl encoding/binary.littleEndian.PutUint64
    003a9d98ldur x29, [sp-8]
    003a9d9cldr x30, [sp], 240
    003a9da0ret x30
    003a9da4
    003a9da4loc_3a9da4:
    003a9da4stp x0, x1, [sp+8]
    003a9da8str x2, [sp+24]
    003a9dacmov x3, x30
    003a9db0bl runtime.morestack_noctxt.abi0
    003a9db4ldp x0, x1, [sp+8]
    003a9db8ldr x2, [sp+24]
    003a9dbcb 0x3a9bf0
    003a9bf0
    003a9dc0
    003a9dc0type:.eq.golang.org/x/crypto/internal/poly1305.MAC: ; void type:.eq.golang.org/x/crypto/internal/poly1305.MAC(golang.org/x/crypto/internal/poly1305.MAC * p, golang.org/x/crypto/internal/poly1305.MAC * q)
    003a9dc0ldr x16, [x28+16]
    003a9dc4subs xzr, sp, x16
    003a9dc8b.ls 0x3a9e14
    003a9dccstr x30, [sp-64]!
    003a9dd0stur x29, [sp-8]
    003a9dd4sub x29, sp, 8
    003a9dd8str x0, [sp+72]
    003a9ddcstr x1, [sp+80]
    003a9de0strb wzr, [sp+39]
    003a9de4ldr x3, [sp+72]
    003a9de8str x3, [sp+48]
    003a9decldr x1, [sp+80]
    003a9df0str x1, [sp+40]
    003a9df4ldr x0, [sp+48]
    003a9df8movz x2, 81
    003a9dfcbl runtime.memequal
    003a9e00strb w0, [sp+39]
    003a9e04b 0x3a9e08
    003a9e08
    003a9e08loc_3a9e08:
    003a9e08ldur x29, [sp-8]
    003a9e0cldr x30, [sp], 64
    003a9e10ret x30
    003a9e14
    003a9e14loc_3a9e14:
    003a9e14stp x0, x1, [sp+8]
    003a9e18mov x3, x30
    003a9e1cbl runtime.morestack_noctxt.abi0
    003a9e20ldp x0, x1, [sp+8]
    003a9e24b 0x3a9dc0
    003a9e28udf 0
    003a9e2cudf 0
    003a9dc0
    003a9e30
    003a9e30golang.org/x/crypto/chacha20poly1305.init: ; void golang.org/x/crypto/chacha20poly1305.init(void)
    003a9e30ldr x16, [x28+16]
    003a9e34subs xzr, sp, x16
    003a9e38b.ls 0x3a9ea0
    003a9e3cstr x30, [sp-32]!
    003a9e40stur x29, [sp-8]
    003a9e44sub x29, sp, 8
    003a9e48adrp x0, 0x31f000
    003a9e4cadd x0, x0, 230
    003a9e50movz x1, 47
    003a9e54bl errors.New
    003a9e58adrp x27, 0x678000
    003a9e5cstr x0, [x27+3920]
    003a9e60adrp x27, 0x6a2000
    003a9e64ldr w2, [x27+3056]
    003a9e68cbz w2, 0x3a9e70
    003a9e6cb 0x3a9e74
    003a9e70
    003a9e70loc_3a9e70:
    003a9e70b 0x3a9e8c
    003a9e74
    003a9e74loc_3a9e74:
    003a9e74bl runtime.gcWriteBarrier2
    003a9e78str x1, [x25]
    003a9e7cadrp x27, 0x678000
    003a9e80ldr x0, [x27+3928]
    003a9e84str x0, [x25+8]
    003a9e88b 0x3a9e8c
    003a9e8c
    003a9e8cloc_3a9e8c:
    003a9e8cadrp x27, 0x678000
    003a9e90str x1, [x27+3928]
    003a9e94ldur x29, [sp-8]
    003a9e98ldr x30, [sp], 32
    003a9e9cret x30
    003a9ea0
    003a9ea0loc_3a9ea0:
    003a9ea0mov x3, x30
    003a9ea4bl runtime.morestack_noctxt.abi0
    003a9ea8b 0x3a9e30
    003a9eacudf 0
    003a9e30
    003a9eb0
    003a9eb0golang.org/x/crypto/chacha20poly1305.New: ; void golang.org/x/crypto/chacha20poly1305.New(struct []uint8 key)
    003a9eb0ldr x16, [x28+16]
    003a9eb4sub x17, sp, 80
    003a9eb8subs xzr, x17, x16
    003a9ebcb.ls 0x3aa008
    003a9ec0str x30, [sp-208]!
    003a9ec4stur x29, [sp-8]
    003a9ec8sub x29, sp, 8
    003a9eccstr x0, [sp+216]
    003a9ed0str x1, [sp+224]
    003a9ed4str x2, [sp+232]
    003a9ed8stp xzr, xzr, [sp+80]
    003a9edcstp xzr, xzr, [sp+64]
    003a9ee0ldr x2, [sp+224]
    003a9ee4str x2, [sp+40]
    003a9ee8subs xzr, x2, 32
    003a9eecb.ne 0x3a9ef4
    003a9ef0b 0x3a9f34
    003a9ef4
    003a9ef4loc_3a9ef4:
    003a9ef4adrp x0, 0x315000
    003a9ef8add x0, x0, 3152
    003a9efcorr x1, xzr, 32
    003a9f00bl errors.New
    003a9f04str x0, [sp+184]
    003a9f08str x1, [sp+192]
    003a9f0cstp xzr, xzr, [sp+80]
    003a9f10ldr x2, [sp+184]
    003a9f14ldr x3, [sp+192]
    003a9f18str x2, [sp+64]
    003a9f1cstr x3, [sp+72]
    003a9f20ldr x0, [sp+80]
    003a9f24ldr x1, [sp+88]
    003a9f28ldur x29, [sp-8]
    003a9f2cldr x30, [sp], 208
    003a9f30ret x30
    003a9f34
    003a9f34loc_3a9f34:
    003a9f34adrp x0, 0x283000
    003a9f38add x0, x0, 3424
    003a9f3cbl runtime.newobject
    003a9f40str x0, [sp+96]
    003a9f44b 0x3a9f48
    003a9f48
    003a9f48loc_3a9f48:
    003a9f48str x0, [sp+160]
    003a9f4corr x4, xzr, 32
    003a9f50str x4, [sp+168]
    003a9f54str x4, [sp+176]
    003a9f58str x0, [sp+128]
    003a9f5cstr x4, [sp+136]
    003a9f60str x4, [sp+144]
    003a9f64ldr x4, [sp+224]
    003a9f68ldr x5, [sp+216]
    003a9f6cldr x6, [sp+232]
    003a9f70str x5, [sp+104]
    003a9f74str x4, [sp+112]
    003a9f78str x6, [sp+120]
    003a9f7cldr x5, [sp+136]
    003a9f80str x5, [sp+56]
    003a9f84subs xzr, x5, x4
    003a9f88b.gt 0x3a9f90
    003a9f8cb 0x3a9f98
    003a9f90
    003a9f90loc_3a9f90:
    003a9f90str x4, [sp+56]
    003a9f94b 0x3a9f9c
    003a9f98
    003a9f98loc_3a9f98:
    003a9f98b 0x3a9f9c
    003a9f9c
    003a9f9cloc_3a9f9c:
    003a9f9cldr x4, [sp+104]
    003a9fa0ldr x5, [sp+128]
    003a9fa4subs xzr, x4, x5
    003a9fa8b.ne 0x3a9fb0
    003a9facb 0x3a9fcc
    003a9fb0
    003a9fb0loc_3a9fb0:
    003a9fb0ldr x3, [sp+56]
    003a9fb4str x3, [sp+48]
    003a9fb8ldr x2, [sp+48]
    003a9fbcldr x1, [sp+104]
    003a9fc0ldr x0, [sp+128]
    003a9fc4bl runtime.memmove
    003a9fc8b 0x3a9fd0
    003a9fcc
    003a9fccloc_3a9fcc:
    003a9fccb 0x3a9fd0
    003a9fd0
    003a9fd0loc_3a9fd0:
    003a9fd0ldr x4, [sp+96]
    003a9fd4str x4, [sp+152]
    003a9fd8adrp x5, 0x370000
    003a9fdcadd x5, x5, 920
    003a9fe0str x5, [sp+80]
    003a9fe4str x4, [sp+88]
    003a9fe8stp xzr, xzr, [sp+64]
    003a9fecldr x0, [sp+80]
    003a9ff0ldr x1, [sp+88]
    003a9ff4mov x2, xzr
    003a9ff8mov x3, xzr
    003a9ffcldur x29, [sp-8]
    003aa000ldr x30, [sp], 208
    003aa004ret x30
    003aa008
    003aa008loc_3aa008:
    003aa008stp x0, x1, [sp+8]
    003aa00cstr x2, [sp+24]
    003aa010mov x3, x30
    003aa014bl runtime.morestack_noctxt.abi0
    003aa018ldp x0, x1, [sp+8]
    003aa01cldr x2, [sp+24]
    003aa020b 0x3a9eb0
    003aa024udf 0
    003aa028udf 0
    003aa02cudf 0
    003a9eb0
    003aa030
    003aa030golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).NonceSize: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).NonceSize(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c)
    003aa030str x30, [sp-32]!
    003aa034stur x29, [sp-8]
    003aa038sub x29, sp, 8
    003aa03cstr x0, [sp+40]
    003aa040str xzr, [sp+16]
    003aa044orr x0, xzr, 12
    003aa048str x0, [sp+16]
    003aa04cadd x29, sp, 24
    003aa050add sp, sp, 32
    003aa054ret x30
    003aa058udf 0
    003aa05cudf 0
    003aa030
    003aa060
    003aa060golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Overhead: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Overhead(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c)
    003aa060str x30, [sp-32]!
    003aa064stur x29, [sp-8]
    003aa068sub x29, sp, 8
    003aa06cstr x0, [sp+40]
    003aa070str xzr, [sp+16]
    003aa074orr x0, xzr, 16
    003aa078str x0, [sp+16]
    003aa07cadd x29, sp, 24
    003aa080add sp, sp, 32
    003aa084ret x30
    003aa088udf 0
    003aa08cudf 0
    003aa060
    003aa090
    003aa090golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Seal: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Seal(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c, struct []uint8 dst, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 additionalData)
    003aa090ldr x16, [x28+16]
    003aa094sub x17, sp, 48
    003aa098subs xzr, x17, x16
    003aa09cb.ls 0x3aa19c
    003aa0a0str x30, [sp-176]!
    003aa0a4stur x29, [sp-8]
    003aa0a8sub x29, sp, 8
    003aa0acstr x0, [sp+184]
    003aa0b0str x1, [sp+192]
    003aa0b4str x2, [sp+200]
    003aa0b8str x3, [sp+208]
    003aa0bcstr x4, [sp+216]
    003aa0c0str x5, [sp+224]
    003aa0c4str x6, [sp+232]
    003aa0c8str x7, [sp+240]
    003aa0ccstr x8, [sp+248]
    003aa0d0str x9, [sp+256]
    003aa0d4str x10, [sp+264]
    003aa0d8str x11, [sp+272]
    003aa0dcstr x12, [sp+280]
    003aa0e0str xzr, [sp+120]
    003aa0e4stp xzr, xzr, [sp+128]
    003aa0e8ldr x13, [sp+224]
    003aa0ecstr x13, [sp+112]
    003aa0f0subs xzr, x13, 12
    003aa0f4b.ne 0x3aa184
    003aa0f8b 0x3aa0fc
    003aa0fc
    003aa0fcloc_3aa0fc:
    003aa0fcldr x13, [sp+248]
    003aa100str x13, [sp+112]
    003aa104orr x14, xzr, 0x3fffffffc0
    003aa108subs xzr, x13, x14
    003aa10cb.hi 0x3aa170
    003aa110b 0x3aa114
    003aa114
    003aa114loc_3aa114:
    003aa114ldr x1, [sp+192]
    003aa118ldr x4, [sp+216]
    003aa11cldr x7, [sp+240]
    003aa120ldr x10, [sp+264]
    003aa124ldr x2, [sp+200]
    003aa128ldr x5, [sp+224]
    003aa12cldr x8, [sp+248]
    003aa130ldr x11, [sp+272]
    003aa134ldr x3, [sp+208]
    003aa138ldr x6, [sp+232]
    003aa13cldr x9, [sp+256]
    003aa140ldr x12, [sp+280]
    003aa144ldr x0, [sp+184]
    003aa148bl golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).seal
    003aa14cstr x0, [sp+144]
    003aa150str x1, [sp+152]
    003aa154str x2, [sp+160]
    003aa158str x0, [sp+120]
    003aa15cstr x1, [sp+128]
    003aa160str x2, [sp+136]
    003aa164ldur x29, [sp-8]
    003aa168ldr x30, [sp], 176
    003aa16cret x30
    003aa170
    003aa170loc_3aa170:
    003aa170adrp x0, 0x24b000
    003aa174add x0, x0, 2944
    003aa178adrp x1, 0x368000
    003aa17cadd x1, x1, 1456
    003aa180bl runtime.gopanic
    003aa184
    003aa184loc_3aa184:
    003aa184adrp x0, 0x24b000
    003aa188add x0, x0, 2944
    003aa18cadrp x1, 0x368000
    003aa190add x1, x1, 1440
    003aa194bl runtime.gopanic
    003aa198hint
    003aa19c
    003aa19cloc_3aa19c:
    003aa19cstp x0, x1, [sp+8]
    003aa1a0stp x2, x3, [sp+24]
    003aa1a4stp x4, x5, [sp+40]
    003aa1a8stp x6, x7, [sp+56]
    003aa1acstp x8, x9, [sp+72]
    003aa1b0stp x10, x11, [sp+88]
    003aa1b4str x12, [sp+104]
    003aa1b8mov x3, x30
    003aa1bcbl runtime.morestack_noctxt.abi0
    003aa1c0ldp x0, x1, [sp+8]
    003aa1c4ldp x2, x3, [sp+24]
    003aa1c8ldp x4, x5, [sp+40]
    003aa1ccldp x6, x7, [sp+56]
    003aa1d0ldp x8, x9, [sp+72]
    003aa1d4ldp x10, x11, [sp+88]
    003aa1d8ldr x12, [sp+104]
    003aa1dcb 0x3aa090
    003aa090
    003aa1e0
    003aa1e0golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Open: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Open(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c, struct []uint8 dst, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 additionalData)
    003aa1e0ldr x16, [x28+16]
    003aa1e4sub x17, sp, 128
    003aa1e8subs xzr, x17, x16
    003aa1ecb.ls 0x3aa3ac
    003aa1f0sub x20, sp, 256
    003aa1f4stp x29, x30, [x20-8]
    003aa1f8add sp, x20, 0
    003aa1fcsub x29, sp, 8
    003aa200str x0, [sp+264]
    003aa204str x1, [sp+272]
    003aa208str x2, [sp+280]
    003aa20cstr x3, [sp+288]
    003aa210str x4, [sp+296]
    003aa214str x5, [sp+304]
    003aa218str x6, [sp+312]
    003aa21cstr x7, [sp+320]
    003aa220str x8, [sp+328]
    003aa224str x9, [sp+336]
    003aa228str x10, [sp+344]
    003aa22cstr x11, [sp+352]
    003aa230str x12, [sp+360]
    003aa234str xzr, [sp+144]
    003aa238stp xzr, xzr, [sp+152]
    003aa23cstp xzr, xzr, [sp+128]
    003aa240ldr x13, [sp+304]
    003aa244str x13, [sp+120]
    003aa248subs xzr, x13, 12
    003aa24cb.ne 0x3aa394
    003aa250b 0x3aa254
    003aa254
    003aa254loc_3aa254:
    003aa254ldr x13, [sp+328]
    003aa258str x13, [sp+120]
    003aa25csubs xzr, x13, 16
    003aa260b.lt 0x3aa268
    003aa264b 0x3aa2a0
    003aa268
    003aa268loc_3aa268:
    003aa268str xzr, [sp+144]
    003aa26cstp xzr, xzr, [sp+152]
    003aa270adrp x27, 0x677000
    003aa274ldr x3, [x27+3920]
    003aa278adrp x27, 0x677000
    003aa27cldr x4, [x27+3928]
    003aa280str x3, [sp+128]
    003aa284str x4, [sp+136]
    003aa288ldr x0, [sp+144]
    003aa28cldr x1, [sp+152]
    003aa290ldr x2, [sp+160]
    003aa294ldp x29, x30, [sp-8]
    003aa298add sp, sp, 256
    003aa29cret x30
    003aa2a0
    003aa2a0loc_3aa2a0:
    003aa2a0ldr x13, [sp+328]
    003aa2a4str x13, [sp+120]
    003aa2a8movz x14, 65488
    003aa2acmovk x14, 0xffff0000
    003aa2b0movk x14, 0x3f00000000
    003aa2b4subs xzr, x13, x14
    003aa2b8b.hi 0x3aa380
    003aa2bcb 0x3aa2c0
    003aa2c0
    003aa2c0loc_3aa2c0:
    003aa2c0str xzr, [sp+224]
    003aa2c4stp xzr, xzr, [sp+232]
    003aa2c8stp xzr, xzr, [sp+208]
    003aa2ccldr x1, [sp+272]
    003aa2d0ldr x4, [sp+296]
    003aa2d4ldr x7, [sp+320]
    003aa2d8ldr x10, [sp+344]
    003aa2dcldr x2, [sp+280]
    003aa2e0ldr x5, [sp+304]
    003aa2e4ldr x8, [sp+328]
    003aa2e8ldr x11, [sp+352]
    003aa2ecldr x3, [sp+288]
    003aa2f0ldr x6, [sp+312]
    003aa2f4ldr x9, [sp+336]
    003aa2f8ldr x12, [sp+360]
    003aa2fcldr x0, [sp+264]
    003aa300bl golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).open
    003aa304str x0, [sp+224]
    003aa308str x1, [sp+232]
    003aa30cstr x2, [sp+240]
    003aa310str x3, [sp+208]
    003aa314str x4, [sp+216]
    003aa318ldr x13, [sp+224]
    003aa31cldr x14, [sp+232]
    003aa320ldr x15, [sp+240]
    003aa324str x13, [sp+184]
    003aa328str x14, [sp+192]
    003aa32cstr x15, [sp+200]
    003aa330ldr x13, [sp+208]
    003aa334ldr x14, [sp+216]
    003aa338str x13, [sp+168]
    003aa33cstr x14, [sp+176]
    003aa340ldr x13, [sp+184]
    003aa344ldr x14, [sp+192]
    003aa348ldr x15, [sp+200]
    003aa34cstr x13, [sp+144]
    003aa350str x14, [sp+152]
    003aa354str x15, [sp+160]
    003aa358ldr x3, [sp+168]
    003aa35cldr x4, [sp+176]
    003aa360str x3, [sp+128]
    003aa364str x4, [sp+136]
    003aa368ldr x0, [sp+144]
    003aa36cldr x1, [sp+152]
    003aa370ldr x2, [sp+160]
    003aa374ldp x29, x30, [sp-8]
    003aa378add sp, sp, 256
    003aa37cret x30
    003aa380
    003aa380loc_3aa380:
    003aa380adrp x0, 0x24b000
    003aa384add x0, x0, 2944
    003aa388adrp x1, 0x368000
    003aa38cadd x1, x1, 1488
    003aa390bl runtime.gopanic
    003aa394
    003aa394loc_3aa394:
    003aa394adrp x0, 0x24b000
    003aa398add x0, x0, 2944
    003aa39cadrp x1, 0x368000
    003aa3a0add x1, x1, 1472
    003aa3a4bl runtime.gopanic
    003aa3a8hint
    003aa3ac
    003aa3acloc_3aa3ac:
    003aa3acstp x0, x1, [sp+8]
    003aa3b0stp x2, x3, [sp+24]
    003aa3b4stp x4, x5, [sp+40]
    003aa3b8stp x6, x7, [sp+56]
    003aa3bcstp x8, x9, [sp+72]
    003aa3c0stp x10, x11, [sp+88]
    003aa3c4str x12, [sp+104]
    003aa3c8mov x3, x30
    003aa3ccbl runtime.morestack_noctxt.abi0
    003aa3d0ldp x0, x1, [sp+8]
    003aa3d4ldp x2, x3, [sp+24]
    003aa3d8ldp x4, x5, [sp+40]
    003aa3dcldp x6, x7, [sp+56]
    003aa3e0ldp x8, x9, [sp+72]
    003aa3e4ldp x10, x11, [sp+88]
    003aa3e8ldr x12, [sp+104]
    003aa3ecb 0x3aa1e0
    003aa1e0
    003aa3f0
    003aa3f0golang.org/x/crypto/chacha20poly1305.sliceForAppend: ; void golang.org/x/crypto/chacha20poly1305.sliceForAppend(struct []uint8 in, int n)
    003aa3f0ldr x16, [x28+16]
    003aa3f4sub x17, sp, 48
    003aa3f8subs xzr, x17, x16
    003aa3fcb.ls 0x3aa58c
    003aa400str x30, [sp-176]!
    003aa404stur x29, [sp-8]
    003aa408sub x29, sp, 8
    003aa40cstr x0, [sp+184]
    003aa410str x1, [sp+192]
    003aa414str x2, [sp+200]
    003aa418str x3, [sp+208]
    003aa41cstr xzr, [sp+96]
    003aa420stp xzr, xzr, [sp+104]
    003aa424str xzr, [sp+72]
    003aa428stp xzr, xzr, [sp+80]
    003aa42cldr x6, [sp+192]
    003aa430str x6, [sp+64]
    003aa434ldr x7, [sp+208]
    003aa438add x2, x6, x7
    003aa43cstr x2, [sp+40]
    003aa440ldr x6, [sp+200]
    003aa444str x6, [sp+64]
    003aa448subs xzr, x6, x2
    003aa44cb.ge 0x3aa454
    003aa450b 0x3aa47c
    003aa454
    003aa454loc_3aa454:
    003aa454ldr x6, [sp+200]
    003aa458ldr x7, [sp+184]
    003aa45csubs xzr, x6, x2
    003aa460b.hs 0x3aa468
    003aa464b 0x3aa57c
    003aa468
    003aa468loc_3aa468:
    003aa468b 0x3aa46c
    003aa46c
    003aa46cloc_3aa46c:
    003aa46cstr x7, [sp+96]
    003aa470str x2, [sp+104]
    003aa474str x6, [sp+112]
    003aa478b 0x3aa51c
    003aa47c
    003aa47cloc_3aa47c:
    003aa47cadrp x0, 0x24b000
    003aa480add x0, x0, 3072
    003aa484mov x1, x2
    003aa488bl runtime.makeslice
    003aa48cldr x3, [sp+40]
    003aa490ldr x4, [sp+40]
    003aa494str x0, [sp+96]
    003aa498str x3, [sp+104]
    003aa49cstr x4, [sp+112]
    003aa4a0str x0, [sp+144]
    003aa4a4str x3, [sp+152]
    003aa4a8str x4, [sp+160]
    003aa4acldr x3, [sp+192]
    003aa4b0ldr x4, [sp+184]
    003aa4b4ldr x5, [sp+200]
    003aa4b8str x4, [sp+120]
    003aa4bcstr x3, [sp+128]
    003aa4c0str x5, [sp+136]
    003aa4c4ldr x4, [sp+152]
    003aa4c8str x4, [sp+56]
    003aa4ccsubs xzr, x4, x3
    003aa4d0b.gt 0x3aa4d8
    003aa4d4b 0x3aa4e0
    003aa4d8
    003aa4d8loc_3aa4d8:
    003aa4d8str x3, [sp+56]
    003aa4dcb 0x3aa4e4
    003aa4e0
    003aa4e0loc_3aa4e0:
    003aa4e0b 0x3aa4e4
    003aa4e4
    003aa4e4loc_3aa4e4:
    003aa4e4ldr x6, [sp+120]
    003aa4e8ldr x7, [sp+144]
    003aa4ecsubs xzr, x6, x7
    003aa4f0b.ne 0x3aa4f8
    003aa4f4b 0x3aa514
    003aa4f8
    003aa4f8loc_3aa4f8:
    003aa4f8ldr x3, [sp+56]
    003aa4fcstr x3, [sp+48]
    003aa500ldr x2, [sp+48]
    003aa504ldr x1, [sp+120]
    003aa508ldr x0, [sp+144]
    003aa50cbl runtime.memmove
    003aa510b 0x3aa518
    003aa514
    003aa514loc_3aa514:
    003aa514b 0x3aa518
    003aa518
    003aa518loc_3aa518:
    003aa518b 0x3aa51c
    003aa51c
    003aa51cloc_3aa51c:
    003aa51cldr x0, [sp+192]
    003aa520str x0, [sp+64]
    003aa524ldr x1, [sp+104]
    003aa528ldr x6, [sp+112]
    003aa52cldr x7, [sp+96]
    003aa530b 0x3aa534
    003aa534
    003aa534loc_3aa534:
    003aa534subs xzr, x0, x1
    003aa538b.ls 0x3aa540
    003aa53cb 0x3aa578
    003aa540
    003aa540loc_3aa540:
    003aa540sub x5, x6, x0
    003aa544sub x4, x1, x0
    003aa548sub x6, xzr, x5
    003aa54cand x6, x0, x6, asr #63
    003aa550add x3, x7, x6
    003aa554str x3, [sp+72]
    003aa558str x4, [sp+80]
    003aa55cstr x5, [sp+88]
    003aa560ldr x0, [sp+96]
    003aa564ldr x1, [sp+104]
    003aa568ldr x2, [sp+112]
    003aa56cldur x29, [sp-8]
    003aa570ldr x30, [sp], 176
    003aa574ret x30
    003aa578
    003aa578loc_3aa578:
    003aa578bl runtime.panicSliceB
    003aa57c
    003aa57cloc_3aa57c:
    003aa57cmov x1, x2
    003aa580mov x2, x6
    003aa584bl runtime.panicSliceAcap
    003aa588hint
    003aa58c
    003aa58cloc_3aa58c:
    003aa58cstp x0, x1, [sp+8]
    003aa590stp x2, x3, [sp+24]
    003aa594mov x3, x30
    003aa598bl runtime.morestack_noctxt.abi0
    003aa59cldp x0, x1, [sp+8]
    003aa5a0ldp x2, x3, [sp+24]
    003aa5a4b 0x3aa3f0
    003aa5a8udf 0
    003aa5acudf 0
    003aa3f0
    003aa5b0
    003aa5b0golang.org/x/crypto/chacha20poly1305.writeWithPadding: ; void golang.org/x/crypto/chacha20poly1305.writeWithPadding(golang.org/x/crypto/internal/poly1305.MAC * p, struct []uint8 b)
    003aa5b0ldr x16, [x28+16]
    003aa5b4subs xzr, sp, x16
    003aa5b8b.ls 0x3aa65c
    003aa5bcstr x30, [sp-112]!
    003aa5c0stur x29, [sp-8]
    003aa5c4sub x29, sp, 8
    003aa5c8str x0, [sp+120]
    003aa5ccstr x1, [sp+128]
    003aa5d0str x2, [sp+136]
    003aa5d4str x3, [sp+144]
    003aa5d8bl golang.org/x/crypto/internal/poly1305.(*MAC).Write
    003aa5dcldr x4, [sp+136]
    003aa5e0str x4, [sp+72]
    003aa5e4and x4, x4, 15
    003aa5e8str x4, [sp+56]
    003aa5eccbnz x4, 0x3aa5f4
    003aa5f0b 0x3aa644
    003aa5f4
    003aa5f4loc_3aa5f4:
    003aa5f4stp xzr, xzr, [sp+40]
    003aa5f8ldr x4, [sp+56]
    003aa5fcorr x2, xzr, 16
    003aa600sub x1, x2, x4
    003aa604str x1, [sp+64]
    003aa608add x4, sp, 40
    003aa60cldrsb x27, [x4]
    003aa610subs xzr, x1, 16
    003aa614b.ls 0x3aa61c
    003aa618b 0x3aa654
    003aa61c
    003aa61cloc_3aa61c:
    003aa61cb 0x3aa620
    003aa620
    003aa620loc_3aa620:
    003aa620str x4, [sp+80]
    003aa624str x1, [sp+88]
    003aa628str x2, [sp+96]
    003aa62cldr x0, [sp+120]
    003aa630mov x3, x2
    003aa634mov x2, x1
    003aa638mov x1, x4
    003aa63cbl golang.org/x/crypto/internal/poly1305.(*MAC).Write
    003aa640b 0x3aa648
    003aa644
    003aa644loc_3aa644:
    003aa644b 0x3aa648
    003aa648
    003aa648loc_3aa648:
    003aa648ldur x29, [sp-8]
    003aa64cldr x30, [sp], 112
    003aa650ret x30
    003aa654
    003aa654loc_3aa654:
    003aa654bl runtime.panicSliceAlen
    003aa658hint
    003aa65c
    003aa65cloc_3aa65c:
    003aa65cstp x0, x1, [sp+8]
    003aa660stp x2, x3, [sp+24]
    003aa664mov x3, x30
    003aa668bl runtime.morestack_noctxt.abi0
    003aa66cldp x0, x1, [sp+8]
    003aa670ldp x2, x3, [sp+24]
    003aa674b 0x3aa5b0
    003aa678udf 0
    003aa67cudf 0
    003aa5b0
    003aa680
    003aa680golang.org/x/crypto/chacha20poly1305.writeUint64: ; void golang.org/x/crypto/chacha20poly1305.writeUint64(golang.org/x/crypto/internal/poly1305.MAC * p, int n)
    003aa680ldr x16, [x28+16]
    003aa684subs xzr, sp, x16
    003aa688b.ls 0x3aa700
    003aa68cstr x30, [sp-80]!
    003aa690stur x29, [sp-8]
    003aa694sub x29, sp, 8
    003aa698str x0, [sp+88]
    003aa69cstr x1, [sp+96]
    003aa6a0str xzr, [sp+40]
    003aa6a4add x0, sp, 40
    003aa6a8ldrsb x27, [x0]
    003aa6acb 0x3aa6b0
    003aa6b0
    003aa6b0loc_3aa6b0:
    003aa6b0str x0, [sp+48]
    003aa6b4orr x2, xzr, 8
    003aa6b8str x2, [sp+56]
    003aa6bcstr x2, [sp+64]
    003aa6c0ldr x3, [sp+96]
    003aa6c4mov x1, x2
    003aa6c8bl encoding/binary.littleEndian.PutUint64
    003aa6ccadd x1, sp, 40
    003aa6d0ldrsb x27, [x1]
    003aa6d4b 0x3aa6d8
    003aa6d8
    003aa6d8loc_3aa6d8:
    003aa6d8str x1, [sp+48]
    003aa6dcorr x3, xzr, 8
    003aa6e0str x3, [sp+56]
    003aa6e4str x3, [sp+64]
    003aa6e8ldr x0, [sp+88]
    003aa6ecmov x2, x3
    003aa6f0bl golang.org/x/crypto/internal/poly1305.(*MAC).Write
    003aa6f4ldur x29, [sp-8]
    003aa6f8ldr x30, [sp], 80
    003aa6fcret x30
    003aa700
    003aa700loc_3aa700:
    003aa700stp x0, x1, [sp+8]
    003aa704mov x3, x30
    003aa708bl runtime.morestack_noctxt.abi0
    003aa70cldp x0, x1, [sp+8]
    003aa710b 0x3aa680
    003aa714udf 0
    003aa718udf 0
    003aa71cudf 0
    003aa680
    003aa720
    003aa720golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).sealGeneric: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).sealGeneric(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c, struct []uint8 dst, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 additionalData)
    003aa720ldr x16, [x28+16]
    003aa724sub x17, sp, 288
    003aa728subs xzr, x17, x16
    003aa72cb.ls 0x3aaa98
    003aa730sub x20, sp, 416
    003aa734stp x29, x30, [x20-8]
    003aa738add sp, x20, 0
    003aa73csub x29, sp, 8
    003aa740str x0, [sp+424]
    003aa744str x1, [sp+432]
    003aa748str x2, [sp+440]
    003aa74cstr x3, [sp+448]
    003aa750str x4, [sp+456]
    003aa754str x5, [sp+464]
    003aa758str x6, [sp+472]
    003aa75cstr x7, [sp+480]
    003aa760str x8, [sp+488]
    003aa764str x9, [sp+496]
    003aa768str x10, [sp+504]
    003aa76cstr x11, [sp+512]
    003aa770str x12, [sp+520]
    003aa774str xzr, [sp+128]
    003aa778stp xzr, xzr, [sp+136]
    003aa77cldr x4, [sp+488]
    003aa780str x4, [sp+120]
    003aa784str xzr, [sp+360]
    003aa788stp xzr, xzr, [sp+368]
    003aa78cstr xzr, [sp+336]
    003aa790stp xzr, xzr, [sp+344]
    003aa794ldr x1, [sp+440]
    003aa798ldr x2, [sp+448]
    003aa79cldr x0, [sp+432]
    003aa7a0ldr x4, [sp+120]
    003aa7a4add x3, x4, 16
    003aa7a8bl golang.org/x/crypto/chacha20poly1305.sliceForAppend
    003aa7acstr x0, [sp+360]
    003aa7b0str x1, [sp+368]
    003aa7b4str x2, [sp+376]
    003aa7b8str x3, [sp+336]
    003aa7bcstr x4, [sp+344]
    003aa7c0str x5, [sp+352]
    003aa7c4ldr x4, [sp+360]
    003aa7c8ldr x5, [sp+368]
    003aa7ccldr x6, [sp+376]
    003aa7d0str x4, [sp+288]
    003aa7d4str x5, [sp+296]
    003aa7d8str x6, [sp+304]
    003aa7dcldr x4, [sp+336]
    003aa7e0ldr x5, [sp+344]
    003aa7e4ldr x6, [sp+352]
    003aa7e8str x4, [sp+264]
    003aa7ecstr x5, [sp+272]
    003aa7f0str x6, [sp+280]
    003aa7f4ldr x4, [sp+288]
    003aa7f8ldr x5, [sp+296]
    003aa7fcldr x6, [sp+304]
    003aa800str x4, [sp+184]
    003aa804str x5, [sp+192]
    003aa808str x6, [sp+200]
    003aa80cldr x2, [sp+280]
    003aa810ldr x4, [sp+264]
    003aa814ldr x5, [sp+272]
    003aa818str x4, [sp+216]
    003aa81cstr x5, [sp+224]
    003aa820str x2, [sp+232]
    003aa824ldr x1, [sp+488]
    003aa828str x1, [sp+120]
    003aa82csubs xzr, x1, x2
    003aa830b.ls 0x3aa838
    003aa834b 0x3aaa90
    003aa838
    003aa838loc_3aa838:
    003aa838b 0x3aa83c
    003aa83c
    003aa83cloc_3aa83c:
    003aa83cstr x4, [sp+336]
    003aa840str x1, [sp+344]
    003aa844str x2, [sp+352]
    003aa848ldr x0, [sp+488]
    003aa84cstr x0, [sp+112]
    003aa850ldr x1, [sp+224]
    003aa854ldr x6, [sp+216]
    003aa858ldr x7, [sp+232]
    003aa85cb 0x3aa860
    003aa860
    003aa860loc_3aa860:
    003aa860subs xzr, x1, x0
    003aa864b.hs 0x3aa86c
    003aa868b 0x3aaa8c
    003aa86c
    003aa86cloc_3aa86c:
    003aa86csub x7, x7, x0
    003aa870sub x8, x1, x0
    003aa874sub x9, xzr, x7
    003aa878and x9, x0, x9, asr #63
    003aa87cadd x6, x6, x9
    003aa880str x6, [sp+360]
    003aa884str x8, [sp+368]
    003aa888str x7, [sp+376]
    003aa88cldr x6, [sp+336]
    003aa890ldr x7, [sp+344]
    003aa894ldr x8, [sp+352]
    003aa898str x6, [sp+240]
    003aa89cstr x7, [sp+248]
    003aa8a0str x8, [sp+256]
    003aa8a4ldr x6, [sp+360]
    003aa8a8ldr x7, [sp+368]
    003aa8acldr x8, [sp+376]
    003aa8b0str x6, [sp+152]
    003aa8b4str x7, [sp+160]
    003aa8b8str x8, [sp+168]
    003aa8bcldr x0, [sp+216]
    003aa8c0ldr x3, [sp+480]
    003aa8c4ldr x1, [sp+224]
    003aa8c8ldr x4, [sp+488]
    003aa8ccldr x2, [sp+232]
    003aa8d0ldr x5, [sp+496]
    003aa8d4bl golang.org/x/crypto/internal/alias.InexactOverlap
    003aa8d8strb w0, [sp+111]
    003aa8dctbnz w0, 0, 0x3aaa78
    003aa8e0b 0x3aa8e4
    003aa8e4
    003aa8e4loc_3aa8e4:
    003aa8e4add x27, sp, 79
    003aa8e8stp xzr, xzr, [x27]
    003aa8ecadd x27, sp, 95
    003aa8f0stp xzr, xzr, [x27]
    003aa8f4ldr x6, [sp+424]
    003aa8f8ldrsb x27, [x6]
    003aa8fcldrsb x27, [x6]
    003aa900b 0x3aa904
    003aa904
    003aa904loc_3aa904:
    003aa904str x6, [sp+360]
    003aa908orr x6, xzr, 32
    003aa90cstr x6, [sp+368]
    003aa910str x6, [sp+376]
    003aa914str xzr, [sp+328]
    003aa918stp xzr, xzr, [sp+312]
    003aa91cldr x3, [sp+456]
    003aa920ldr x4, [sp+464]
    003aa924ldr x5, [sp+472]
    003aa928ldr x0, [sp+360]
    003aa92cldr x1, [sp+368]
    003aa930ldr x2, [sp+376]
    003aa934bl golang.org/x/crypto/chacha20.NewUnauthenticatedCipher
    003aa938str x0, [sp+328]
    003aa93cstr x1, [sp+312]
    003aa940str x2, [sp+320]
    003aa944ldr x6, [sp+328]
    003aa948str x6, [sp+400]
    003aa94cldr x6, [sp+312]
    003aa950ldr x7, [sp+320]
    003aa954str x6, [sp+384]
    003aa958str x7, [sp+392]
    003aa95cldr x6, [sp+400]
    003aa960str x6, [sp+176]
    003aa964add x6, sp, 79
    003aa968ldrsb x27, [x6]
    003aa96cb 0x3aa970
    003aa970
    003aa970loc_3aa970:
    003aa970str x6, [sp+360]
    003aa974orr x6, xzr, 32
    003aa978str x6, [sp+368]
    003aa97cstr x6, [sp+376]
    003aa980add x4, sp, 79
    003aa984ldrsb x27, [x4]
    003aa988b 0x3aa98c
    003aa98c
    003aa98cloc_3aa98c:
    003aa98cstr x4, [sp+336]
    003aa990str x6, [sp+344]
    003aa994str x6, [sp+352]
    003aa998ldr x0, [sp+176]
    003aa99cldr x1, [sp+360]
    003aa9a0ldr x2, [sp+368]
    003aa9a4ldr x3, [sp+376]
    003aa9a8mov x5, x6
    003aa9acbl golang.org/x/crypto/chacha20.(*Cipher).XORKeyStream
    003aa9b0ldr x0, [sp+176]
    003aa9b4orr x1, xzr, 1
    003aa9b8bl golang.org/x/crypto/chacha20.(*Cipher).SetCounter
    003aa9bcldr x1, [sp+240]
    003aa9c0ldr x4, [sp+480]
    003aa9c4ldr x2, [sp+248]
    003aa9c8ldr x5, [sp+488]
    003aa9ccldr x3, [sp+256]
    003aa9d0ldr x6, [sp+496]
    003aa9d4ldr x0, [sp+176]
    003aa9d8bl golang.org/x/crypto/chacha20.(*Cipher).XORKeyStream
    003aa9dcadd x0, sp, 79
    003aa9e0bl golang.org/x/crypto/internal/poly1305.New
    003aa9e4str x0, [sp+208]
    003aa9e8ldr x2, [sp+512]
    003aa9ecldr x3, [sp+520]
    003aa9f0ldr x1, [sp+504]
    003aa9f4bl golang.org/x/crypto/chacha20poly1305.writeWithPadding
    003aa9f8ldr x1, [sp+240]
    003aa9fcldr x2, [sp+248]
    003aaa00ldr x3, [sp+256]
    003aaa04ldr x0, [sp+208]
    003aaa08bl golang.org/x/crypto/chacha20poly1305.writeWithPadding
    003aaa0cldr x1, [sp+512]
    003aaa10str x1, [sp+112]
    003aaa14ldr x0, [sp+208]
    003aaa18bl golang.org/x/crypto/chacha20poly1305.writeUint64
    003aaa1cldr x1, [sp+488]
    003aaa20str x1, [sp+112]
    003aaa24ldr x0, [sp+208]
    003aaa28bl golang.org/x/crypto/chacha20poly1305.writeUint64
    003aaa2cldr x1, [sp+152]
    003aaa30ldr x3, [sp+168]
    003aaa34b 0x3aaa38
    003aaa38
    003aaa38loc_3aaa38:
    003aaa38b 0x3aaa3c
    003aaa3c
    003aaa3cloc_3aaa3c:
    003aaa3cstr x1, [sp+336]
    003aaa40str xzr, [sp+344]
    003aaa44str x3, [sp+352]
    003aaa48ldr x0, [sp+208]
    003aaa4cmov x2, xzr
    003aaa50bl golang.org/x/crypto/internal/poly1305.(*MAC).Sum
    003aaa54ldr x0, [sp+184]
    003aaa58ldr x1, [sp+192]
    003aaa5cldr x2, [sp+200]
    003aaa60str x0, [sp+128]
    003aaa64str x1, [sp+136]
    003aaa68str x2, [sp+144]
    003aaa6cldp x29, x30, [sp-8]
    003aaa70add sp, sp, 416
    003aaa74ret x30
    003aaa78
    003aaa78loc_3aaa78:
    003aaa78adrp x0, 0x24b000
    003aaa7cadd x0, x0, 2944
    003aaa80adrp x1, 0x368000
    003aaa84add x1, x1, 1504
    003aaa88bl runtime.gopanic
    003aaa8c
    003aaa8cloc_3aaa8c:
    003aaa8cbl runtime.panicSliceB
    003aaa90
    003aaa90loc_3aaa90:
    003aaa90bl runtime.panicSliceAcap
    003aaa94hint
    003aaa98
    003aaa98loc_3aaa98:
    003aaa98stp x0, x1, [sp+8]
    003aaa9cstp x2, x3, [sp+24]
    003aaaa0stp x4, x5, [sp+40]
    003aaaa4stp x6, x7, [sp+56]
    003aaaa8stp x8, x9, [sp+72]
    003aaaacstp x10, x11, [sp+88]
    003aaab0str x12, [sp+104]
    003aaab4mov x3, x30
    003aaab8bl runtime.morestack_noctxt.abi0
    003aaabcldp x0, x1, [sp+8]
    003aaac0ldp x2, x3, [sp+24]
    003aaac4ldp x4, x5, [sp+40]
    003aaac8ldp x6, x7, [sp+56]
    003aaaccldp x8, x9, [sp+72]
    003aaad0ldp x10, x11, [sp+88]
    003aaad4ldr x12, [sp+104]
    003aaad8b 0x3aa720
    003aaadcudf 0
    003aa720
    003aaae0
    003aaae0golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).openGeneric: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).openGeneric(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c, struct []uint8 dst, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 additionalData)
    003aaae0ldr x16, [x28+16]
    003aaae4sub x17, sp, 304
    003aaae8subs xzr, x17, x16
    003aaaecb.ls 0x3aaed4
    003aaaf0sub x20, sp, 432
    003aaaf4stp x29, x30, [x20-8]
    003aaaf8add sp, x20, 0
    003aaafcsub x29, sp, 8
    003aab00str x0, [sp+440]
    003aab04str x1, [sp+448]
    003aab08str x2, [sp+456]
    003aab0cstr x3, [sp+464]
    003aab10str x4, [sp+472]
    003aab14str x5, [sp+480]
    003aab18str x6, [sp+488]
    003aab1cstr x7, [sp+496]
    003aab20str x8, [sp+504]
    003aab24str x9, [sp+512]
    003aab28str x10, [sp+520]
    003aab2cstr x11, [sp+528]
    003aab30str x12, [sp+536]
    003aab34str xzr, [sp+168]
    003aab38stp xzr, xzr, [sp+176]
    003aab3cstp xzr, xzr, [sp+152]
    003aab40ldr x6, [sp+504]
    003aab44str x6, [sp+144]
    003aab48sub x0, x6, 16
    003aab4cstr x0, [sp+136]
    003aab50ldr x1, [sp+504]
    003aab54ldr x7, [sp+512]
    003aab58ldr x8, [sp+496]
    003aab5cb 0x3aab60
    003aab60
    003aab60loc_3aab60:
    003aab60subs xzr, x1, x0
    003aab64b.hs 0x3aab6c
    003aab68b 0x3aaecc
    003aab6c
    003aab6cloc_3aab6c:
    003aab6csub x9, x1, x6
    003aab70sub x6, x7, x6
    003aab74add x6, x6, 16
    003aab78sub x7, xzr, x6
    003aab7cand x7, x0, x7, asr #63
    003aab80add x7, x8, x7
    003aab84str x7, [sp+192]
    003aab88add x7, x9, 16
    003aab8cstr x7, [sp+200]
    003aab90str x6, [sp+208]
    003aab94ldr x6, [sp+504]
    003aab98str x6, [sp+136]
    003aab9csub x1, x6, 16
    003aaba0str x1, [sp+144]
    003aaba4ldr x2, [sp+512]
    003aaba8subs xzr, x2, x1
    003aabacb.hs 0x3aabb4
    003aabb0b 0x3aaec8
    003aabb4
    003aabb4loc_3aabb4:
    003aabb4b 0x3aabb8
    003aabb8
    003aabb8loc_3aabb8:
    003aabb8str x1, [sp+504]
    003aabbcadd x27, sp, 79
    003aabc0stp xzr, xzr, [x27]
    003aabc4add x27, sp, 95
    003aabc8stp xzr, xzr, [x27]
    003aabccldr x6, [sp+440]
    003aabd0ldrsb x27, [x6]
    003aabd4ldrsb x27, [x6]
    003aabd8b 0x3aabdc
    003aabdc
    003aabdcloc_3aabdc:
    003aabdcstr x6, [sp+328]
    003aabe0orr x6, xzr, 32
    003aabe4str x6, [sp+336]
    003aabe8str x6, [sp+344]
    003aabecstr xzr, [sp+320]
    003aabf0stp xzr, xzr, [sp+304]
    003aabf4ldr x3, [sp+472]
    003aabf8ldr x4, [sp+480]
    003aabfcldr x5, [sp+488]
    003aac00ldr x0, [sp+328]
    003aac04ldr x1, [sp+336]
    003aac08ldr x2, [sp+344]
    003aac0cbl golang.org/x/crypto/chacha20.NewUnauthenticatedCipher
    003aac10str x0, [sp+320]
    003aac14str x1, [sp+304]
    003aac18str x2, [sp+312]
    003aac1cldr x6, [sp+320]
    003aac20str x6, [sp+416]
    003aac24ldr x6, [sp+304]
    003aac28ldr x7, [sp+312]
    003aac2cstr x6, [sp+400]
    003aac30str x7, [sp+408]
    003aac34ldr x6, [sp+416]
    003aac38str x6, [sp+216]
    003aac3cadd x6, sp, 79
    003aac40ldrsb x27, [x6]
    003aac44b 0x3aac48
    003aac48
    003aac48loc_3aac48:
    003aac48str x6, [sp+328]
    003aac4corr x6, xzr, 32
    003aac50str x6, [sp+336]
    003aac54str x6, [sp+344]
    003aac58add x4, sp, 79
    003aac5cldrsb x27, [x4]
    003aac60b 0x3aac64
    003aac64
    003aac64loc_3aac64:
    003aac64str x4, [sp+280]
    003aac68str x6, [sp+288]
    003aac6cstr x6, [sp+296]
    003aac70ldr x0, [sp+216]
    003aac74ldr x1, [sp+328]
    003aac78ldr x2, [sp+336]
    003aac7cldr x3, [sp+344]
    003aac80mov x5, x6
    003aac84bl golang.org/x/crypto/chacha20.(*Cipher).XORKeyStream
    003aac88ldr x0, [sp+216]
    003aac8corr x1, xzr, 1
    003aac90bl golang.org/x/crypto/chacha20.(*Cipher).SetCounter
    003aac94add x0, sp, 79
    003aac98bl golang.org/x/crypto/internal/poly1305.New
    003aac9cstr x0, [sp+248]
    003aaca0ldr x2, [sp+528]
    003aaca4ldr x3, [sp+536]
    003aaca8ldr x1, [sp+520]
    003aacacbl golang.org/x/crypto/chacha20poly1305.writeWithPadding
    003aacb0ldr x1, [sp+496]
    003aacb4ldr x2, [sp+504]
    003aacb8ldr x3, [sp+512]
    003aacbcldr x0, [sp+248]
    003aacc0bl golang.org/x/crypto/chacha20poly1305.writeWithPadding
    003aacc4ldr x1, [sp+528]
    003aacc8str x1, [sp+144]
    003aacccldr x0, [sp+248]
    003aacd0bl golang.org/x/crypto/chacha20poly1305.writeUint64
    003aacd4ldr x1, [sp+504]
    003aacd8str x1, [sp+144]
    003aacdcldr x0, [sp+248]
    003aace0bl golang.org/x/crypto/chacha20poly1305.writeUint64
    003aace4ldr x7, [sp+504]
    003aace8str x7, [sp+144]
    003aacecstr xzr, [sp+280]
    003aacf0stp xzr, xzr, [sp+288]
    003aacf4str xzr, [sp+328]
    003aacf8stp xzr, xzr, [sp+336]
    003aacfcldr x3, [sp+144]
    003aad00ldr x1, [sp+456]
    003aad04ldr x2, [sp+464]
    003aad08ldr x0, [sp+448]
    003aad0cbl golang.org/x/crypto/chacha20poly1305.sliceForAppend
    003aad10str x0, [sp+280]
    003aad14str x1, [sp+288]
    003aad18str x2, [sp+296]
    003aad1cstr x3, [sp+328]
    003aad20str x4, [sp+336]
    003aad24str x5, [sp+344]
    003aad28ldr x7, [sp+280]
    003aad2cldr x8, [sp+288]
    003aad30ldr x9, [sp+296]
    003aad34str x7, [sp+376]
    003aad38str x8, [sp+384]
    003aad3cstr x9, [sp+392]
    003aad40ldr x7, [sp+328]
    003aad44ldr x8, [sp+336]
    003aad48ldr x9, [sp+344]
    003aad4cstr x7, [sp+352]
    003aad50str x8, [sp+360]
    003aad54str x9, [sp+368]
    003aad58ldr x7, [sp+376]
    003aad5cldr x8, [sp+384]
    003aad60ldr x9, [sp+392]
    003aad64str x7, [sp+224]
    003aad68str x8, [sp+232]
    003aad6cstr x9, [sp+240]
    003aad70ldr x0, [sp+352]
    003aad74ldr x1, [sp+360]
    003aad78ldr x2, [sp+368]
    003aad7cstr x0, [sp+256]
    003aad80str x1, [sp+264]
    003aad84str x2, [sp+272]
    003aad88ldr x4, [sp+504]
    003aad8cldr x5, [sp+512]
    003aad90ldr x3, [sp+496]
    003aad94bl golang.org/x/crypto/internal/alias.InexactOverlap
    003aad98strb w0, [sp+111]
    003aad9ctbnz w0, 0, 0x3aaeb4
    003aada0b 0x3aada4
    003aada4
    003aada4loc_3aada4:
    003aada4ldr x1, [sp+192]
    003aada8ldr x2, [sp+200]
    003aadacldr x3, [sp+208]
    003aadb0ldr x0, [sp+248]
    003aadb4bl golang.org/x/crypto/internal/poly1305.(*MAC).Verify
    003aadb8strb w0, [sp+111]
    003aadbctbnz w0, 0, 0x3aadc4
    003aadc0b 0x3aae20
    003aadc4
    003aadc4loc_3aadc4:
    003aadc4ldr x1, [sp+256]
    003aadc8ldr x4, [sp+496]
    003aadccldr x2, [sp+264]
    003aadd0ldr x5, [sp+504]
    003aadd4ldr x3, [sp+272]
    003aadd8ldr x6, [sp+512]
    003aaddcldr x0, [sp+216]
    003aade0bl golang.org/x/crypto/chacha20.(*Cipher).XORKeyStream
    003aade4ldr x7, [sp+224]
    003aade8ldr x8, [sp+232]
    003aadecldr x9, [sp+240]
    003aadf0str x7, [sp+168]
    003aadf4str x8, [sp+176]
    003aadf8str x9, [sp+184]
    003aadfcstp xzr, xzr, [sp+152]
    003aae00ldr x0, [sp+168]
    003aae04ldr x1, [sp+176]
    003aae08ldr x2, [sp+184]
    003aae0cmov x3, xzr
    003aae10mov x4, xzr
    003aae14ldp x29, x30, [sp-8]
    003aae18add sp, sp, 432
    003aae1cret x30
    003aae20
    003aae20loc_3aae20:
    003aae20str xzr, [sp+128]
    003aae24ldr x5, [sp+264]
    003aae28str x5, [sp+120]
    003aae2cb 0x3aae30
    003aae30
    003aae30loc_3aae30:
    003aae30ldr x5, [sp+120]
    003aae34ldr x6, [sp+128]
    003aae38subs xzr, x5, x6
    003aae3cb.gt 0x3aae44
    003aae40b 0x3aae78
    003aae44
    003aae44loc_3aae44:
    003aae44ldr x0, [sp+128]
    003aae48str x0, [sp+112]
    003aae4cldr x1, [sp+264]
    003aae50ldr x5, [sp+256]
    003aae54subs xzr, x1, x0
    003aae58b.hi 0x3aae60
    003aae5cb 0x3aaeb0
    003aae60
    003aae60loc_3aae60:
    003aae60strb wzr, [x5+x0]
    003aae64b 0x3aae68
    003aae68
    003aae68loc_3aae68:
    003aae68ldr x5, [sp+128]
    003aae6cadd x5, x5, 1
    003aae70str x5, [sp+128]
    003aae74b 0x3aae30
    003aae78
    003aae78loc_3aae78:
    003aae78str xzr, [sp+168]
    003aae7cstp xzr, xzr, [sp+176]
    003aae80adrp x27, 0x677000
    003aae84ldr x3, [x27+3920]
    003aae88adrp x27, 0x677000
    003aae8cldr x4, [x27+3928]
    003aae90str x3, [sp+152]
    003aae94str x4, [sp+160]
    003aae98ldr x0, [sp+168]
    003aae9cldr x1, [sp+176]
    003aaea0ldr x2, [sp+184]
    003aaea4ldp x29, x30, [sp-8]
    003aaea8add sp, sp, 432
    003aaeacret x30
    003aaeb0
    003aaeb0loc_3aaeb0:
    003aaeb0bl runtime.panicIndex
    003aaeb4
    003aaeb4loc_3aaeb4:
    003aaeb4adrp x0, 0x24b000
    003aaeb8add x0, x0, 2944
    003aaebcadrp x1, 0x368000
    003aaec0add x1, x1, 1504
    003aaec4bl runtime.gopanic
    003aaec8
    003aaec8loc_3aaec8:
    003aaec8bl runtime.panicSliceAcap
    003aaecc
    003aaeccloc_3aaecc:
    003aaeccbl runtime.panicSliceB
    003aaed0hint
    003aaed4
    003aaed4loc_3aaed4:
    003aaed4stp x0, x1, [sp+8]
    003aaed8stp x2, x3, [sp+24]
    003aaedcstp x4, x5, [sp+40]
    003aaee0stp x6, x7, [sp+56]
    003aaee4stp x8, x9, [sp+72]
    003aaee8stp x10, x11, [sp+88]
    003aaeecstr x12, [sp+104]
    003aaef0mov x3, x30
    003aaef4bl runtime.morestack_noctxt.abi0
    003aaef8ldp x0, x1, [sp+8]
    003aaefcldp x2, x3, [sp+24]
    003aaf00ldp x4, x5, [sp+40]
    003aaf04ldp x6, x7, [sp+56]
    003aaf08ldp x8, x9, [sp+72]
    003aaf0cldp x10, x11, [sp+88]
    003aaf10ldr x12, [sp+104]
    003aaf14b 0x3aaae0
    003aaf18udf 0
    003aaf1cudf 0
    003aaae0
    003aaf20
    003aaf20golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).seal: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).seal(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c, struct []uint8 dst, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 additionalData)
    003aaf20ldr x16, [x28+16]
    003aaf24sub x17, sp, 48
    003aaf28subs xzr, x17, x16
    003aaf2cb.ls 0x3aafd4
    003aaf30str x30, [sp-176]!
    003aaf34stur x29, [sp-8]
    003aaf38sub x29, sp, 8
    003aaf3cstr x0, [sp+184]
    003aaf40str x1, [sp+192]
    003aaf44str x2, [sp+200]
    003aaf48str x3, [sp+208]
    003aaf4cstr x4, [sp+216]
    003aaf50str x5, [sp+224]
    003aaf54str x6, [sp+232]
    003aaf58str x7, [sp+240]
    003aaf5cstr x8, [sp+248]
    003aaf60str x9, [sp+256]
    003aaf64str x10, [sp+264]
    003aaf68str x11, [sp+272]
    003aaf6cstr x12, [sp+280]
    003aaf70str xzr, [sp+120]
    003aaf74stp xzr, xzr, [sp+128]
    003aaf78ldr x1, [sp+192]
    003aaf7cldr x4, [sp+216]
    003aaf80ldr x7, [sp+240]
    003aaf84ldr x10, [sp+264]
    003aaf88ldr x2, [sp+200]
    003aaf8cldr x5, [sp+224]
    003aaf90ldr x8, [sp+248]
    003aaf94ldr x11, [sp+272]
    003aaf98ldr x3, [sp+208]
    003aaf9cldr x6, [sp+232]
    003aafa0ldr x9, [sp+256]
    003aafa4ldr x12, [sp+280]
    003aafa8ldr x0, [sp+184]
    003aafacbl golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).sealGeneric
    003aafb0str x0, [sp+144]
    003aafb4str x1, [sp+152]
    003aafb8str x2, [sp+160]
    003aafbcstr x0, [sp+120]
    003aafc0str x1, [sp+128]
    003aafc4str x2, [sp+136]
    003aafc8ldur x29, [sp-8]
    003aafccldr x30, [sp], 176
    003aafd0ret x30
    003aafd4
    003aafd4loc_3aafd4:
    003aafd4stp x0, x1, [sp+8]
    003aafd8stp x2, x3, [sp+24]
    003aafdcstp x4, x5, [sp+40]
    003aafe0stp x6, x7, [sp+56]
    003aafe4stp x8, x9, [sp+72]
    003aafe8stp x10, x11, [sp+88]
    003aafecstr x12, [sp+104]
    003aaff0mov x3, x30
    003aaff4bl runtime.morestack_noctxt.abi0
    003aaff8ldp x0, x1, [sp+8]
    003aaffcldp x2, x3, [sp+24]
    003ab000ldp x4, x5, [sp+40]
    003ab004ldp x6, x7, [sp+56]
    003ab008ldp x8, x9, [sp+72]
    003ab00cldp x10, x11, [sp+88]
    003ab010ldr x12, [sp+104]
    003ab014b 0x3aaf20
    003ab018udf 0
    003ab01cudf 0
    003aaf20
    003ab020
    003ab020golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).open: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).open(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c, struct []uint8 dst, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 additionalData)
    003ab020ldr x16, [x28+16]
    003ab024sub x17, sp, 112
    003ab028subs xzr, x17, x16
    003ab02cb.ls 0x3ab13c
    003ab030str x30, [sp-240]!
    003ab034stur x29, [sp-8]
    003ab038sub x29, sp, 8
    003ab03cstr x0, [sp+248]
    003ab040str x1, [sp+256]
    003ab044str x2, [sp+264]
    003ab048str x3, [sp+272]
    003ab04cstr x4, [sp+280]
    003ab050str x5, [sp+288]
    003ab054str x6, [sp+296]
    003ab058str x7, [sp+304]
    003ab05cstr x8, [sp+312]
    003ab060str x9, [sp+320]
    003ab064str x10, [sp+328]
    003ab068str x11, [sp+336]
    003ab06cstr x12, [sp+344]
    003ab070str xzr, [sp+128]
    003ab074stp xzr, xzr, [sp+136]
    003ab078stp xzr, xzr, [sp+112]
    003ab07cstr xzr, [sp+152]
    003ab080stp xzr, xzr, [sp+160]
    003ab084stp xzr, xzr, [sp+216]
    003ab088ldr x1, [sp+256]
    003ab08cldr x4, [sp+280]
    003ab090ldr x7, [sp+304]
    003ab094ldr x10, [sp+328]
    003ab098ldr x2, [sp+264]
    003ab09cldr x5, [sp+288]
    003ab0a0ldr x8, [sp+312]
    003ab0a4ldr x11, [sp+336]
    003ab0a8ldr x3, [sp+272]
    003ab0acldr x6, [sp+296]
    003ab0b0ldr x9, [sp+320]
    003ab0b4ldr x12, [sp+344]
    003ab0b8ldr x0, [sp+248]
    003ab0bcbl golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).openGeneric
    003ab0c0str x0, [sp+152]
    003ab0c4str x1, [sp+160]
    003ab0c8str x2, [sp+168]
    003ab0ccstr x3, [sp+216]
    003ab0d0str x4, [sp+224]
    003ab0d4ldr x13, [sp+152]
    003ab0d8ldr x14, [sp+160]
    003ab0dcldr x15, [sp+168]
    003ab0e0str x13, [sp+192]
    003ab0e4str x14, [sp+200]
    003ab0e8str x15, [sp+208]
    003ab0ecldr x13, [sp+216]
    003ab0f0ldr x14, [sp+224]
    003ab0f4str x13, [sp+176]
    003ab0f8str x14, [sp+184]
    003ab0fcldr x13, [sp+192]
    003ab100ldr x14, [sp+200]
    003ab104ldr x15, [sp+208]
    003ab108str x13, [sp+128]
    003ab10cstr x14, [sp+136]
    003ab110str x15, [sp+144]
    003ab114ldr x3, [sp+176]
    003ab118ldr x4, [sp+184]
    003ab11cstr x3, [sp+112]
    003ab120str x4, [sp+120]
    003ab124ldr x0, [sp+128]
    003ab128ldr x1, [sp+136]
    003ab12cldr x2, [sp+144]
    003ab130ldur x29, [sp-8]
    003ab134ldr x30, [sp], 240
    003ab138ret x30
    003ab13c
    003ab13cloc_3ab13c:
    003ab13cstp x0, x1, [sp+8]
    003ab140stp x2, x3, [sp+24]
    003ab144stp x4, x5, [sp+40]
    003ab148stp x6, x7, [sp+56]
    003ab14cstp x8, x9, [sp+72]
    003ab150stp x10, x11, [sp+88]
    003ab154str x12, [sp+104]
    003ab158mov x3, x30
    003ab15cbl runtime.morestack_noctxt.abi0
    003ab160ldp x0, x1, [sp+8]
    003ab164ldp x2, x3, [sp+24]
    003ab168ldp x4, x5, [sp+40]
    003ab16cldp x6, x7, [sp+56]
    003ab170ldp x8, x9, [sp+72]
    003ab174ldp x10, x11, [sp+88]
    003ab178ldr x12, [sp+104]
    003ab17cb 0x3ab020
    003ab020
    003ab180
    003ab180filippo.io/age/internal/stream.incNonce: ; void filippo.io/age/internal/stream.incNonce(uint8[12] * nonce)
    003ab180ldr x16, [x28+16]
    003ab184subs xzr, sp, x16
    003ab188b.ls 0x3ab27c
    003ab18cstr x30, [sp-48]!
    003ab190stur x29, [sp-8]
    003ab194sub x29, sp, 8
    003ab198str x0, [sp+56]
    003ab19cmovz x2, 10
    003ab1a0str x2, [sp+32]
    003ab1a4b 0x3ab1a8
    003ab1a8
    003ab1a8loc_3ab1a8:
    003ab1a8ldr x2, [sp+32]
    003ab1actbz x2, 63, 0x3ab1b4
    003ab1b0b 0x3ab23c
    003ab1b4
    003ab1b4loc_3ab1b4:
    003ab1b4ldr x0, [sp+32]
    003ab1b8ldr x2, [sp+56]
    003ab1bcldrsb x27, [x2]
    003ab1c0subs xzr, x0, 12
    003ab1c4b.lo 0x3ab1cc
    003ab1c8b 0x3ab270
    003ab1cc
    003ab1ccloc_3ab1cc:
    003ab1ccldrb w2, [x2+x0]
    003ab1d0ldr x0, [sp+32]
    003ab1d4ldr x3, [sp+56]
    003ab1d8ldrsb x27, [x3]
    003ab1dcadd x2, x2, 1
    003ab1e0subs xzr, x0, 12
    003ab1e4b.lo 0x3ab1ec
    003ab1e8b 0x3ab268
    003ab1ec
    003ab1ecloc_3ab1ec:
    003ab1ecstrb w2, [x3+x0]
    003ab1f0ldr x0, [sp+32]
    003ab1f4ldr x2, [sp+56]
    003ab1f8ldrsb x27, [x2]
    003ab1fcsubs xzr, x0, 12
    003ab200b.lo 0x3ab208
    003ab204b 0x3ab260
    003ab208
    003ab208loc_3ab208:
    003ab208ldrb w2, [x2+x0]
    003ab20ccbnz w2, 0x3ab214
    003ab210b 0x3ab218
    003ab214
    003ab214loc_3ab214:
    003ab214b 0x3ab240
    003ab218
    003ab218loc_3ab218:
    003ab218ldr x2, [sp+32]
    003ab21ccbz x2, 0x3ab24c
    003ab220b 0x3ab224
    003ab224
    003ab224loc_3ab224:
    003ab224b 0x3ab228
    003ab228
    003ab228loc_3ab228:
    003ab228b 0x3ab22c
    003ab22c
    003ab22cloc_3ab22c:
    003ab22cldr x2, [sp+32]
    003ab230sub x2, x2, 1
    003ab234str x2, [sp+32]
    003ab238b 0x3ab1a8
    003ab23c
    003ab23cloc_3ab23c:
    003ab23cb 0x3ab240
    003ab240
    003ab240loc_3ab240:
    003ab240ldur x29, [sp-8]
    003ab244ldr x30, [sp], 48
    003ab248ret x30
    003ab24c
    003ab24cloc_3ab24c:
    003ab24cadrp x0, 0x24a000
    003ab250add x0, x0, 2944
    003ab254adrp x1, 0x367000
    003ab258add x1, x1, 3760
    003ab25cbl runtime.gopanic
    003ab260
    003ab260loc_3ab260:
    003ab260orr x1, xzr, 12
    003ab264bl runtime.panicIndex
    003ab268
    003ab268loc_3ab268:
    003ab268orr x1, xzr, 12
    003ab26cbl runtime.panicIndex
    003ab270
    003ab270loc_3ab270:
    003ab270orr x1, xzr, 12
    003ab274bl runtime.panicIndex
    003ab278hint
    003ab27c
    003ab27cloc_3ab27c:
    003ab27cstr x0, [sp+8]
    003ab280mov x3, x30
    003ab284bl runtime.morestack_noctxt.abi0
    003ab288ldr x0, [sp+8]
    003ab28cb 0x3ab180
    003ab180