File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0052a4d0
    0052a4d0crypto/internal/fips140/aes/gcm.deriveCounterGeneric: ; void crypto/internal/fips140/aes/gcm.deriveCounterGeneric(uint8[16] * H, uint8[16] * counter, struct []uint8 nonce)
    0052a4d0ldr x16, [x28+16]
    0052a4d4sub x17, sp, 144
    0052a4d8subs xzr, x17, x16
    0052a4dcb.ls 0x52a6e4
    0052a4e0sub x20, sp, 272
    0052a4e4stp x29, x30, [x20-8]
    0052a4e8add sp, x20, 0
    0052a4ecsub x29, sp, 8
    0052a4f0str x0, [sp+280]
    0052a4f4str x1, [sp+288]
    0052a4f8str x2, [sp+296]
    0052a4fcstr x3, [sp+304]
    0052a500str x4, [sp+312]
    0052a504str x3, [sp+72]
    0052a508subs xzr, x3, 12
    0052a50cb.eq 0x52a514
    0052a510b 0x52a5b8
    0052a514
    0052a514loc_52a514:
    0052a514ldrsb x27, [x1]
    0052a518b 0x52a51c
    0052a51c
    0052a51cloc_52a51c:
    0052a51cstr x1, [sp+208]
    0052a520orr x3, xzr, 16
    0052a524str x3, [sp+216]
    0052a528str x3, [sp+224]
    0052a52cstr x1, [sp+136]
    0052a530str x3, [sp+144]
    0052a534str x3, [sp+152]
    0052a538ldr x3, [sp+304]
    0052a53cldr x4, [sp+296]
    0052a540ldr x5, [sp+312]
    0052a544str x4, [sp+112]
    0052a548str x3, [sp+120]
    0052a54cstr x5, [sp+128]
    0052a550ldr x4, [sp+144]
    0052a554str x4, [sp+64]
    0052a558subs xzr, x3, x4
    0052a55cb.lt 0x52a564
    0052a560b 0x52a56c
    0052a564
    0052a564loc_52a564:
    0052a564str x3, [sp+64]
    0052a568b 0x52a570
    0052a56c
    0052a56cloc_52a56c:
    0052a56cb 0x52a570
    0052a570
    0052a570loc_52a570:
    0052a570ldr x3, [sp+112]
    0052a574ldr x4, [sp+136]
    0052a578subs xzr, x4, x3
    0052a57cb.ne 0x52a584
    0052a580b 0x52a5a0
    0052a584
    0052a584loc_52a584:
    0052a584ldr x3, [sp+64]
    0052a588str x3, [sp+80]
    0052a58cldr x2, [sp+80]
    0052a590ldr x0, [sp+136]
    0052a594ldr x1, [sp+112]
    0052a598bl runtime.memmove
    0052a59cb 0x52a5a4
    0052a5a0
    0052a5a0loc_52a5a0:
    0052a5a0b 0x52a5a4
    0052a5a4
    0052a5a4loc_52a5a4:
    0052a5a4ldr x0, [sp+288]
    0052a5a8ldrsb x27, [x0]
    0052a5acorr x1, xzr, 1
    0052a5b0strb w1, [x0+15]
    0052a5b4b 0x52a6d8
    0052a5b8
    0052a5b8loc_52a5b8:
    0052a5b8b 0x52a5bc
    0052a5bc
    0052a5bcloc_52a5bc:
    0052a5bcstp xzr, xzr, [sp+48]
    0052a5c0add x4, sp, 48
    0052a5c4ldrsb x27, [x4]
    0052a5c8b 0x52a5cc
    0052a5cc
    0052a5ccloc_52a5cc:
    0052a5ccstr x4, [sp+88]
    0052a5d0orr x5, xzr, 16
    0052a5d4str x5, [sp+96]
    0052a5d8str x5, [sp+104]
    0052a5dcb 0x52a5e0
    0052a5e0
    0052a5e0loc_52a5e0:
    0052a5e0b 0x52a5e4
    0052a5e4
    0052a5e4loc_52a5e4:
    0052a5e4add x0, x4, 8
    0052a5e8str x0, [sp+208]
    0052a5ecorr x2, xzr, 8
    0052a5f0str x2, [sp+216]
    0052a5f4str x2, [sp+224]
    0052a5f8ldr x4, [sp+304]
    0052a5fcstr x4, [sp+72]
    0052a600ubfm x3, x4, 61, 60
    0052a604mov x1, x2
    0052a608bl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052a60cstp xzr, xzr, [sp+160]
    0052a610stp xzr, xzr, [sp+176]
    0052a614stp xzr, xzr, [sp+192]
    0052a618add x4, sp, 160
    0052a61cstr x4, [sp+232]
    0052a620ldrsb x27, [x4]
    0052a624ldr x5, [sp+296]
    0052a628ldr x6, [sp+304]
    0052a62cldr x7, [sp+312]
    0052a630str x6, [x4+8]
    0052a634str x7, [x4+16]
    0052a638adrp x27, 0x521000
    0052a63cldr w6, [x27+3056]
    0052a640cbz w6, 0x52a648
    0052a644b 0x52a64c
    0052a648
    0052a648loc_52a648:
    0052a648b 0x52a660
    0052a64c
    0052a64cloc_52a64c:
    0052a64cbl runtime.gcWriteBarrier2
    0052a650str x5, [x25]
    0052a654ldr x6, [x4]
    0052a658str x6, [x25+8]
    0052a65cb 0x52a660
    0052a660
    0052a660loc_52a660:
    0052a660str x5, [x4]
    0052a664ldrsb x27, [x4]
    0052a668ldr x5, [sp+88]
    0052a66cldr x6, [sp+96]
    0052a670ldr x7, [sp+104]
    0052a674str x6, [x4+32]
    0052a678str x7, [x4+40]
    0052a67cadrp x27, 0x521000
    0052a680ldr w6, [x27+3056]
    0052a684cbz w6, 0x52a68c
    0052a688b 0x52a690
    0052a68c
    0052a68cloc_52a68c:
    0052a68cb 0x52a6a4
    0052a690
    0052a690loc_52a690:
    0052a690bl runtime.gcWriteBarrier2
    0052a694str x5, [x25]
    0052a698ldr x6, [x4+24]
    0052a69cstr x6, [x25+8]
    0052a6a0b 0x52a6a4
    0052a6a4
    0052a6a4loc_52a6a4:
    0052a6a4str x5, [x4+24]
    0052a6a8ldr x2, [sp+232]
    0052a6acldrsb x27, [x2]
    0052a6b0b 0x52a6b4
    0052a6b4
    0052a6b4loc_52a6b4:
    0052a6b4str x2, [sp+240]
    0052a6b8orr x4, xzr, 2
    0052a6bcstr x4, [sp+248]
    0052a6c0str x4, [sp+256]
    0052a6c4ldr x0, [sp+288]
    0052a6c8ldr x1, [sp+280]
    0052a6ccmov x3, x4
    0052a6d0bl crypto/internal/fips140/aes/gcm.ghash
    0052a6d4b 0x52a6d8
    0052a6d8
    0052a6d8loc_52a6d8:
    0052a6d8ldp x29, x30, [sp-8]
    0052a6dcadd sp, sp, 272
    0052a6e0ret x30
    0052a6e4
    0052a6e4loc_52a6e4:
    0052a6e4stp x0, x1, [sp+8]
    0052a6e8stp x2, x3, [sp+24]
    0052a6ecstr x4, [sp+40]
    0052a6f0mov x3, x30
    0052a6f4bl runtime.morestack_noctxt.abi0
    0052a6f8ldp x0, x1, [sp+8]
    0052a6fcldp x2, x3, [sp+24]
    0052a700ldr x4, [sp+40]
    0052a704b 0x52a4d0
    0052a708udf 0
    0052a70cudf 0
    0052a4d0
    0052a710
    0052a710crypto/internal/fips140/aes/gcm.gcmCounterCryptGeneric: ; void crypto/internal/fips140/aes/gcm.gcmCounterCryptGeneric(crypto/internal/fips140/aes.Block * b, struct []uint8 out, struct []uint8 src, uint8[16] * counter)
    0052a710ldr x16, [x28+16]
    0052a714sub x17, sp, 32
    0052a718subs xzr, x17, x16
    0052a71cb.ls 0x52a948
    0052a720str x30, [sp-160]!
    0052a724stur x29, [sp-8]
    0052a728sub x29, sp, 8
    0052a72cstr x0, [sp+168]
    0052a730str x1, [sp+176]
    0052a734str x2, [sp+184]
    0052a738str x3, [sp+192]
    0052a73cstr x4, [sp+200]
    0052a740str x5, [sp+208]
    0052a744str x6, [sp+216]
    0052a748str x7, [sp+224]
    0052a74cstp xzr, xzr, [sp+80]
    0052a750b 0x52a754
    0052a754
    0052a754loc_52a754:
    0052a754ldr x7, [sp+208]
    0052a758str x7, [sp+96]
    0052a75csubs xzr, x7, 16
    0052a760b.ge 0x52a768
    0052a764b 0x52a880
    0052a768
    0052a768loc_52a768:
    0052a768add x7, sp, 80
    0052a76cldrsb x27, [x7]
    0052a770b 0x52a774
    0052a774
    0052a774loc_52a774:
    0052a774str x7, [sp+128]
    0052a778orr x6, xzr, 16
    0052a77cstr x6, [sp+136]
    0052a780str x6, [sp+144]
    0052a784ldr x4, [sp+224]
    0052a788ldrsb x27, [x4]
    0052a78cb 0x52a790
    0052a790
    0052a790loc_52a790:
    0052a790str x4, [sp+104]
    0052a794str x6, [sp+112]
    0052a798str x6, [sp+120]
    0052a79cldr x0, [sp+168]
    0052a7a0ldr x1, [sp+128]
    0052a7a4ldr x2, [sp+136]
    0052a7a8ldr x3, [sp+144]
    0052a7acmov x5, x6
    0052a7b0bl crypto/internal/fips140/aes.EncryptBlockInternal
    0052a7b4ldr x0, [sp+224]
    0052a7b8bl crypto/internal/fips140/aes/gcm.gcmInc32
    0052a7bcadd x6, sp, 80
    0052a7c0ldrsb x27, [x6]
    0052a7c4b 0x52a7c8
    0052a7c8
    0052a7c8loc_52a7c8:
    0052a7c8str x6, [sp+104]
    0052a7ccorr x8, xzr, 16
    0052a7d0str x8, [sp+112]
    0052a7d4str x8, [sp+120]
    0052a7d8ldr x0, [sp+176]
    0052a7dcldr x3, [sp+200]
    0052a7e0ldr x1, [sp+184]
    0052a7e4ldr x4, [sp+208]
    0052a7e8ldr x2, [sp+192]
    0052a7ecldr x5, [sp+216]
    0052a7f0mov x7, x8
    0052a7f4bl crypto/internal/fips140/subtle.XORBytes
    0052a7f8ldr x1, [sp+184]
    0052a7fcldr x9, [sp+176]
    0052a800ldr x10, [sp+192]
    0052a804b 0x52a808
    0052a808
    0052a808loc_52a808:
    0052a808subs xzr, x1, 16
    0052a80cb.hs 0x52a814
    0052a810b 0x52a93c
    0052a814
    0052a814loc_52a814:
    0052a814sub x7, x10, 16
    0052a818sub x8, xzr, x7
    0052a81csub x10, x1, 16
    0052a820sbfm x8, x8, 63, 63
    0052a824and x8, x8, 16
    0052a828add x8, x9, x8
    0052a82cstr x8, [sp+176]
    0052a830str x10, [sp+184]
    0052a834str x7, [sp+192]
    0052a838ldr x1, [sp+208]
    0052a83cldr x7, [sp+200]
    0052a840ldr x8, [sp+216]
    0052a844b 0x52a848
    0052a848
    0052a848loc_52a848:
    0052a848subs xzr, x1, 16
    0052a84cb.hs 0x52a854
    0052a850b 0x52a934
    0052a854
    0052a854loc_52a854:
    0052a854sub x8, x8, 16
    0052a858sub x9, xzr, x8
    0052a85csub x10, x1, 16
    0052a860sbfm x9, x9, 63, 63
    0052a864and x9, x9, 16
    0052a868add x7, x7, x9
    0052a86cstr x7, [sp+200]
    0052a870str x10, [sp+208]
    0052a874str x8, [sp+216]
    0052a878b 0x52a87c
    0052a87c
    0052a87cloc_52a87c:
    0052a87cb 0x52a754
    0052a880
    0052a880loc_52a880:
    0052a880ldr x7, [sp+208]
    0052a884str x7, [sp+96]
    0052a888cbnz x7, 0x52a890
    0052a88cb 0x52a924
    0052a890
    0052a890loc_52a890:
    0052a890add x7, sp, 80
    0052a894ldrsb x27, [x7]
    0052a898b 0x52a89c
    0052a89c
    0052a89cloc_52a89c:
    0052a89cstr x7, [sp+104]
    0052a8a0orr x6, xzr, 16
    0052a8a4str x6, [sp+112]
    0052a8a8str x6, [sp+120]
    0052a8acldr x4, [sp+224]
    0052a8b0ldrsb x27, [x4]
    0052a8b4b 0x52a8b8
    0052a8b8
    0052a8b8loc_52a8b8:
    0052a8b8str x4, [sp+128]
    0052a8bcstr x6, [sp+136]
    0052a8c0str x6, [sp+144]
    0052a8c4ldr x0, [sp+168]
    0052a8c8ldr x1, [sp+104]
    0052a8ccldr x2, [sp+112]
    0052a8d0ldr x3, [sp+120]
    0052a8d4mov x5, x6
    0052a8d8bl crypto/internal/fips140/aes.EncryptBlockInternal
    0052a8dcldr x0, [sp+224]
    0052a8e0bl crypto/internal/fips140/aes/gcm.gcmInc32
    0052a8e4add x6, sp, 80
    0052a8e8ldrsb x27, [x6]
    0052a8ecb 0x52a8f0
    0052a8f0
    0052a8f0loc_52a8f0:
    0052a8f0str x6, [sp+128]
    0052a8f4orr x8, xzr, 16
    0052a8f8str x8, [sp+136]
    0052a8fcstr x8, [sp+144]
    0052a900ldr x0, [sp+176]
    0052a904ldr x3, [sp+200]
    0052a908ldr x1, [sp+184]
    0052a90cldr x4, [sp+208]
    0052a910ldr x2, [sp+192]
    0052a914ldr x5, [sp+216]
    0052a918mov x7, x8
    0052a91cbl crypto/internal/fips140/subtle.XORBytes
    0052a920b 0x52a928
    0052a924
    0052a924loc_52a924:
    0052a924b 0x52a928
    0052a928
    0052a928loc_52a928:
    0052a928ldur x29, [sp-8]
    0052a92cldr x30, [sp], 160
    0052a930ret x30
    0052a934
    0052a934loc_52a934:
    0052a934orr x0, xzr, 16
    0052a938bl runtime.panicSliceB
    0052a93c
    0052a93cloc_52a93c:
    0052a93corr x0, xzr, 16
    0052a940bl runtime.panicSliceB
    0052a944hint
    0052a948
    0052a948loc_52a948:
    0052a948stp x0, x1, [sp+8]
    0052a94cstp x2, x3, [sp+24]
    0052a950stp x4, x5, [sp+40]
    0052a954stp x6, x7, [sp+56]
    0052a958mov x3, x30
    0052a95cbl runtime.morestack_noctxt.abi0
    0052a960ldp x0, x1, [sp+8]
    0052a964ldp x2, x3, [sp+24]
    0052a968ldp x4, x5, [sp+40]
    0052a96cldp x6, x7, [sp+56]
    0052a970b 0x52a710
    0052a974udf 0
    0052a978udf 0
    0052a97cudf 0
    0052a710
    0052a980
    0052a980crypto/internal/fips140/aes/gcm.gcmInc32: ; void crypto/internal/fips140/aes/gcm.gcmInc32(uint8[16] * counterBlock)
    0052a980ldr x16, [x28+16]
    0052a984subs xzr, sp, x16
    0052a988b.ls 0x52a9ec
    0052a98cstr x30, [sp-80]!
    0052a990stur x29, [sp-8]
    0052a994sub x29, sp, 8
    0052a998str x0, [sp+88]
    0052a99cldrsb x27, [x0]
    0052a9a0b 0x52a9a4
    0052a9a4
    0052a9a4loc_52a9a4:
    0052a9a4add x0, x0, 12
    0052a9a8str x0, [sp+48]
    0052a9acorr x2, xzr, 4
    0052a9b0str x2, [sp+56]
    0052a9b4str x2, [sp+64]
    0052a9b8mov x1, x2
    0052a9bcbl crypto/internal/fips140deps/byteorder.BEUint32
    0052a9c0str w0, [sp+44]
    0052a9c4ldr x3, [sp+48]
    0052a9c8ldr x1, [sp+56]
    0052a9ccldr x2, [sp+64]
    0052a9d0add x4, x0, 1
    0052a9d4mov x0, x3
    0052a9d8mov x3, x4
    0052a9dcbl crypto/internal/fips140deps/byteorder.BEPutUint32
    0052a9e0ldur x29, [sp-8]
    0052a9e4ldr x30, [sp], 80
    0052a9e8ret x30
    0052a9ec
    0052a9ecloc_52a9ec:
    0052a9ecstr x0, [sp+8]
    0052a9f0mov x3, x30
    0052a9f4bl runtime.morestack_noctxt.abi0
    0052a9f8ldr x0, [sp+8]
    0052a9fcb 0x52a980
    0052a980
    0052aa00
    0052aa00crypto/internal/fips140/aes/gcm.gcmAuthGeneric: ; void crypto/internal/fips140/aes/gcm.gcmAuthGeneric(struct []uint8 out, uint8[16] * H, uint8[16] * tagMask, struct []uint8 ciphertext, struct []uint8 additionalData)
    0052aa00ldr x16, [x28+16]
    0052aa04sub x17, sp, 176
    0052aa08subs xzr, x17, x16
    0052aa0cb.ls 0x52ac78
    0052aa10sub x20, sp, 304
    0052aa14stp x29, x30, [x20-8]
    0052aa18add sp, x20, 0
    0052aa1csub x29, sp, 8
    0052aa20str x0, [sp+312]
    0052aa24str x1, [sp+320]
    0052aa28str x2, [sp+328]
    0052aa2cstr x3, [sp+336]
    0052aa30str x4, [sp+344]
    0052aa34str x5, [sp+352]
    0052aa38str x6, [sp+360]
    0052aa3cstr x7, [sp+368]
    0052aa40str x8, [sp+376]
    0052aa44str x9, [sp+384]
    0052aa48str x10, [sp+392]
    0052aa4cbl crypto/internal/fips140/aes/gcm.checkGenericIsExpected
    0052aa50b 0x52aa54
    0052aa54
    0052aa54loc_52aa54:
    0052aa54stp xzr, xzr, [sp+96]
    0052aa58add x4, sp, 96
    0052aa5cldrsb x27, [x4]
    0052aa60b 0x52aa64
    0052aa64
    0052aa64loc_52aa64:
    0052aa64str x4, [sp+120]
    0052aa68orr x2, xzr, 16
    0052aa6cstr x2, [sp+128]
    0052aa70str x2, [sp+136]
    0052aa74b 0x52aa78
    0052aa78
    0052aa78loc_52aa78:
    0052aa78b 0x52aa7c
    0052aa7c
    0052aa7cloc_52aa7c:
    0052aa7cstr x4, [sp+216]
    0052aa80orr x1, xzr, 8
    0052aa84str x1, [sp+224]
    0052aa88str x2, [sp+232]
    0052aa8cldr x4, [sp+384]
    0052aa90str x4, [sp+112]
    0052aa94ldr x0, [sp+216]
    0052aa98ubfm x3, x4, 61, 60
    0052aa9cbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052aaa0ldr x1, [sp+128]
    0052aaa4ldr x4, [sp+120]
    0052aaa8ldr x5, [sp+136]
    0052aaacb 0x52aab0
    0052aab0
    0052aab0loc_52aab0:
    0052aab0subs xzr, x1, 8
    0052aab4b.hs 0x52aabc
    0052aab8b 0x52ac6c
    0052aabc
    0052aabcloc_52aabc:
    0052aabcsub x2, x5, 8
    0052aac0sub x1, x1, 8
    0052aac4sub x5, xzr, x2
    0052aac8sbfm x5, x5, 63, 63
    0052aaccand x5, x5, 8
    0052aad0add x0, x4, x5
    0052aad4str x0, [sp+216]
    0052aad8str x1, [sp+224]
    0052aadcstr x2, [sp+232]
    0052aae0ldr x4, [sp+360]
    0052aae4str x4, [sp+112]
    0052aae8ubfm x3, x4, 61, 60
    0052aaecbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052aaf0stp xzr, xzr, [sp+80]
    0052aaf4stp xzr, xzr, [sp+144]
    0052aaf8stp xzr, xzr, [sp+160]
    0052aafcstp xzr, xzr, [sp+176]
    0052ab00stp xzr, xzr, [sp+192]
    0052ab04str xzr, [sp+208]
    0052ab08add x4, sp, 144
    0052ab0cstr x4, [sp+240]
    0052ab10ldrsb x27, [x4]
    0052ab14ldr x5, [sp+376]
    0052ab18ldr x6, [sp+384]
    0052ab1cldr x7, [sp+392]
    0052ab20str x6, [x4+8]
    0052ab24str x7, [x4+16]
    0052ab28adrp x27, 0x521000
    0052ab2cldr w6, [x27+3056]
    0052ab30cbz w6, 0x52ab38
    0052ab34b 0x52ab3c
    0052ab38
    0052ab38loc_52ab38:
    0052ab38b 0x52ab50
    0052ab3c
    0052ab3cloc_52ab3c:
    0052ab3cbl runtime.gcWriteBarrier2
    0052ab40str x5, [x25]
    0052ab44ldr x6, [x4]
    0052ab48str x6, [x25+8]
    0052ab4cb 0x52ab50
    0052ab50
    0052ab50loc_52ab50:
    0052ab50str x5, [x4]
    0052ab54ldrsb x27, [x4]
    0052ab58ldr x5, [sp+352]
    0052ab5cldr x6, [sp+360]
    0052ab60ldr x7, [sp+368]
    0052ab64str x6, [x4+32]
    0052ab68str x7, [x4+40]
    0052ab6cadrp x27, 0x521000
    0052ab70ldr w6, [x27+3056]
    0052ab74cbz w6, 0x52ab7c
    0052ab78b 0x52ab80
    0052ab7c
    0052ab7cloc_52ab7c:
    0052ab7cb 0x52ab94
    0052ab80
    0052ab80loc_52ab80:
    0052ab80bl runtime.gcWriteBarrier2
    0052ab84str x5, [x25]
    0052ab88ldr x6, [x4+24]
    0052ab8cstr x6, [x25+8]
    0052ab90b 0x52ab94
    0052ab94
    0052ab94loc_52ab94:
    0052ab94str x5, [x4+24]
    0052ab98ldr x5, [sp+120]
    0052ab9cldr x6, [sp+128]
    0052aba0ldr x7, [sp+136]
    0052aba4ldr x8, [sp+240]
    0052aba8ldrsb x27, [x8]
    0052abacstr x6, [x8+56]
    0052abb0str x7, [x8+64]
    0052abb4adrp x27, 0x521000
    0052abb8ldr w6, [x27+3056]
    0052abbccbz w6, 0x52abc4
    0052abc0b 0x52abc8
    0052abc4
    0052abc4loc_52abc4:
    0052abc4b 0x52abdc
    0052abc8
    0052abc8loc_52abc8:
    0052abc8bl runtime.gcWriteBarrier2
    0052abccstr x5, [x25]
    0052abd0ldr x6, [x8+48]
    0052abd4str x6, [x25+8]
    0052abd8b 0x52abdc
    0052abdc
    0052abdcloc_52abdc:
    0052abdcstr x5, [x8+48]
    0052abe0ldr x2, [sp+240]
    0052abe4ldrsb x27, [x2]
    0052abe8b 0x52abec
    0052abec
    0052abecloc_52abec:
    0052abecstr x2, [sp+248]
    0052abf0orr x4, xzr, 3
    0052abf4str x4, [sp+256]
    0052abf8str x4, [sp+264]
    0052abfcldr x1, [sp+336]
    0052ac00add x0, sp, 80
    0052ac04mov x3, x4
    0052ac08bl crypto/internal/fips140/aes/gcm.ghash
    0052ac0cadd x5, sp, 80
    0052ac10ldrsb x27, [x5]
    0052ac14b 0x52ac18
    0052ac18
    0052ac18loc_52ac18:
    0052ac18str x5, [sp+216]
    0052ac1corr x8, xzr, 16
    0052ac20str x8, [sp+224]
    0052ac24str x8, [sp+232]
    0052ac28ldr x6, [sp+344]
    0052ac2cldrsb x27, [x6]
    0052ac30b 0x52ac34
    0052ac34
    0052ac34loc_52ac34:
    0052ac34str x6, [sp+272]
    0052ac38str x8, [sp+280]
    0052ac3cstr x8, [sp+288]
    0052ac40ldr x0, [sp+312]
    0052ac44ldr x1, [sp+320]
    0052ac48ldr x2, [sp+328]
    0052ac4cldr x3, [sp+216]
    0052ac50ldr x4, [sp+224]
    0052ac54ldr x5, [sp+232]
    0052ac58mov x7, x8
    0052ac5cbl crypto/internal/fips140/subtle.XORBytes
    0052ac60ldp x29, x30, [sp-8]
    0052ac64add sp, sp, 304
    0052ac68ret x30
    0052ac6c
    0052ac6cloc_52ac6c:
    0052ac6corr x0, xzr, 8
    0052ac70bl runtime.panicSliceB
    0052ac74hint
    0052ac78
    0052ac78loc_52ac78:
    0052ac78stp x0, x1, [sp+8]
    0052ac7cstp x2, x3, [sp+24]
    0052ac80stp x4, x5, [sp+40]
    0052ac84stp x6, x7, [sp+56]
    0052ac88stp x8, x9, [sp+72]
    0052ac8cstr x10, [sp+88]
    0052ac90mov x3, x30
    0052ac94bl runtime.morestack_noctxt.abi0
    0052ac98ldp x0, x1, [sp+8]
    0052ac9cldp x2, x3, [sp+24]
    0052aca0ldp x4, x5, [sp+40]
    0052aca4ldp x6, x7, [sp+56]
    0052aca8ldp x8, x9, [sp+72]
    0052acacldr x10, [sp+88]
    0052acb0b 0x52aa00
    0052acb4udf 0
    0052acb8udf 0
    0052acbcudf 0
    0052aa00
    0052acc0
    0052acc0crypto/internal/fips140/aes/gcm.NewGCMForTLS12: ; void crypto/internal/fips140/aes/gcm.NewGCMForTLS12(crypto/internal/fips140/aes.Block * cipher)
    0052acc0ldr x16, [x28+16]
    0052acc4sub x17, sp, 816
    0052acc8subs xzr, x17, x16
    0052acccb.ls 0x52ae48
    0052acd0sub x20, sp, 944
    0052acd4stp x29, x30, [x20-8]
    0052acd8add sp, x20, 0
    0052acdcsub x29, sp, 8
    0052ace0str x0, [sp+952]
    0052ace4str xzr, [sp+824]
    0052ace8add x27, sp, 808
    0052acecstp xzr, xzr, [x27]
    0052acf0str xzr, [sp+880]
    0052acf4add x27, sp, 864
    0052acf8stp xzr, xzr, [x27]
    0052acfcadd x20, sp, 48
    0052ad00adr x27, 16
    0052ad04stp x29, x27, [sp-24]
    0052ad08sub x29, sp, 24
    0052ad0cbl fn_87c54
    0052ad10sub x29, sp, 8
    0052ad14str xzr, [sp+800]
    0052ad18add x20, sp, 48
    0052ad1cstr x20, [sp+856]
    0052ad20ldrsb x27, [x20]
    0052ad24adr x27, 16
    0052ad28stp x29, x27, [sp-24]
    0052ad2csub x29, sp, 24
    0052ad30bl fn_87c54
    0052ad34sub x29, sp, 8
    0052ad38add x4, sp, 48
    0052ad3cstr xzr, [x4+752]
    0052ad40ldr x1, [sp+952]
    0052ad44ldr x0, [sp+856]
    0052ad48orr x2, xzr, 12
    0052ad4corr x3, xzr, 16
    0052ad50bl crypto/internal/fips140/aes/gcm.newGCM
    0052ad54str x0, [sp+880]
    0052ad58str x1, [sp+864]
    0052ad5cstr x2, [sp+872]
    0052ad60ldr x4, [sp+880]
    0052ad64str x4, [sp+904]
    0052ad68ldr x4, [sp+864]
    0052ad6cldr x5, [sp+872]
    0052ad70str x4, [sp+888]
    0052ad74str x5, [sp+896]
    0052ad78ldr x4, [sp+904]
    0052ad7cstr x4, [sp+832]
    0052ad80ldr x4, [sp+896]
    0052ad84ldr x5, [sp+888]
    0052ad88str x5, [sp+840]
    0052ad8cstr x4, [sp+848]
    0052ad90cbnz x5, 0x52ad98
    0052ad94b 0x52adbc
    0052ad98
    0052ad98loc_52ad98:
    0052ad98str xzr, [sp+824]
    0052ad9cldr x1, [sp+840]
    0052ada0ldr x2, [sp+848]
    0052ada4str x1, [sp+808]
    0052ada8str x2, [sp+816]
    0052adacldr x0, [sp+824]
    0052adb0ldp x29, x30, [sp-8]
    0052adb4add sp, sp, 944
    0052adb8ret x30
    0052adbc
    0052adbcloc_52adbc:
    0052adbcadrp x0, 0x11b000
    0052adc0add x0, x0, 2784
    0052adc4bl runtime.newobject
    0052adc8str x0, [sp+928]
    0052adccmov x20, x0
    0052add0adr x27, 16
    0052add4stp x29, x27, [sp-24]
    0052add8sub x29, sp, 24
    0052addcbl fn_87c50
    0052ade0sub x29, sp, 8
    0052ade4ldr x21, [sp+928]
    0052ade8str x21, [sp+920]
    0052adecldrsb x27, [x21]
    0052adf0ldr x20, [sp+832]
    0052adf4str x20, [sp+912]
    0052adf8ldrsb x27, [x20]
    0052adfcadr x27, 16
    0052ae00stp x29, x27, [sp-24]
    0052ae04sub x29, sp, 24
    0052ae08bl fn_87da8
    0052ae0csub x29, sp, 8
    0052ae10ldr x1, [sp+912]
    0052ae14ldr x1, [x1+752]
    0052ae18ldr x2, [sp+920]
    0052ae1cstr x1, [x2+752]
    0052ae20ldr x1, [sp+928]
    0052ae24str x1, [sp+824]
    0052ae28add x27, sp, 808
    0052ae2cstp xzr, xzr, [x27]
    0052ae30ldr x0, [sp+824]
    0052ae34mov x1, xzr
    0052ae38mov x2, xzr
    0052ae3cldp x29, x30, [sp-8]
    0052ae40add sp, sp, 944
    0052ae44ret x30
    0052ae48
    0052ae48loc_52ae48:
    0052ae48str x0, [sp+8]
    0052ae4cmov x3, x30
    0052ae50bl runtime.morestack_noctxt.abi0
    0052ae54ldr x0, [sp+8]
    0052ae58b 0x52acc0
    0052ae5cudf 0
    0052acc0
    0052ae60
    0052ae60crypto/internal/fips140/aes/gcm.(*GCMForTLS12).NonceSize: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS12).NonceSize(crypto/internal/fips140/aes/gcm.GCMForTLS12 * g)
    0052ae60str x30, [sp-32]!
    0052ae64stur x29, [sp-8]
    0052ae68sub x29, sp, 8
    0052ae6cstr x0, [sp+40]
    0052ae70str xzr, [sp+16]
    0052ae74orr x0, xzr, 12
    0052ae78str x0, [sp+16]
    0052ae7cadd x29, sp, 24
    0052ae80add sp, sp, 32
    0052ae84ret x30
    0052ae88udf 0
    0052ae8cudf 0
    0052ae60
    0052ae90
    0052ae90crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Overhead: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Overhead(crypto/internal/fips140/aes/gcm.GCMForTLS12 * g)
    0052ae90str x30, [sp-32]!
    0052ae94stur x29, [sp-8]
    0052ae98sub x29, sp, 8
    0052ae9cstr x0, [sp+40]
    0052aea0str xzr, [sp+16]
    0052aea4orr x0, xzr, 16
    0052aea8str x0, [sp+16]
    0052aeacadd x29, sp, 24
    0052aeb0add sp, sp, 32
    0052aeb4ret x30
    0052aeb8udf 0
    0052aebcudf 0
    0052ae90
    0052aec0
    0052aec0crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Seal: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Seal(crypto/internal/fips140/aes/gcm.GCMForTLS12 * g, struct []uint8 dst, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 data)
    0052aec0ldr x16, [x28+16]
    0052aec4sub x17, sp, 112
    0052aec8subs xzr, x17, x16
    0052aeccb.ls 0x52b0b0
    0052aed0str x30, [sp-240]!
    0052aed4stur x29, [sp-8]
    0052aed8sub x29, sp, 8
    0052aedcstr x0, [sp+248]
    0052aee0str x1, [sp+256]
    0052aee4str x2, [sp+264]
    0052aee8str x3, [sp+272]
    0052aeecstr x4, [sp+280]
    0052aef0str x5, [sp+288]
    0052aef4str x6, [sp+296]
    0052aef8str x7, [sp+304]
    0052aefcstr x8, [sp+312]
    0052af00str x9, [sp+320]
    0052af04str x10, [sp+328]
    0052af08str x11, [sp+336]
    0052af0cstr x12, [sp+344]
    0052af10str xzr, [sp+136]
    0052af14stp xzr, xzr, [sp+144]
    0052af18ldr x3, [sp+288]
    0052af1cstr x3, [sp+128]
    0052af20subs xzr, x3, 12
    0052af24b.ne 0x52b080
    0052af28b 0x52af2c
    0052af2c
    0052af2cloc_52af2c:
    0052af2cldr x3, [sp+288]
    0052af30str x3, [sp+128]
    0052af34sub x0, x3, 8
    0052af38str x0, [sp+120]
    0052af3cldr x1, [sp+288]
    0052af40ldr x4, [sp+296]
    0052af44ldr x5, [sp+280]
    0052af48b 0x52af4c
    0052af4c
    0052af4cloc_52af4c:
    0052af4csubs xzr, x1, x0
    0052af50b.hs 0x52af58
    0052af54b 0x52b07c
    0052af58
    0052af58loc_52af58:
    0052af58sub x6, x1, x3
    0052af5csub x3, x4, x3
    0052af60add x2, x3, 8
    0052af64add x1, x6, 8
    0052af68sub x3, xzr, x2
    0052af6cand x3, x0, x3, asr #63
    0052af70add x0, x5, x3
    0052af74str x0, [sp+208]
    0052af78str x1, [sp+216]
    0052af7cstr x2, [sp+224]
    0052af80bl crypto/internal/fips140deps/byteorder.BEUint64
    0052af84str x0, [sp+112]
    0052af88adds xzr, x0, 1
    0052af8cb.eq 0x52b050
    0052af90b 0x52af94
    0052af94
    0052af94loc_52af94:
    0052af94ldr x2, [sp+248]
    0052af98ldrsb x27, [x2]
    0052af9cldr x2, [x2+760]
    0052afa0subs xzr, x0, x2
    0052afa4b.lo 0x52b024
    0052afa8b 0x52afac
    0052afac
    0052afacloc_52afac:
    0052afacldr x1, [sp+248]
    0052afb0ldrsb x27, [x1]
    0052afb4add x0, x0, 1
    0052afb8str x0, [x1+760]
    0052afbcbl crypto/internal/fips140.RecordApproved
    0052afc0ldr x0, [sp+248]
    0052afc4ldrsb x27, [x0]
    0052afc8str x0, [sp+176]
    0052afccldr x1, [sp+256]
    0052afd0ldr x4, [sp+280]
    0052afd4ldr x7, [sp+304]
    0052afd8ldr x10, [sp+328]
    0052afdcldr x2, [sp+264]
    0052afe0ldr x5, [sp+288]
    0052afe4ldr x8, [sp+312]
    0052afe8ldr x11, [sp+336]
    0052afecldr x3, [sp+272]
    0052aff0ldr x6, [sp+296]
    0052aff4ldr x9, [sp+320]
    0052aff8ldr x12, [sp+344]
    0052affcbl crypto/internal/fips140/aes/gcm.(*GCM).sealAfterIndicator
    0052b000str x0, [sp+208]
    0052b004str x1, [sp+216]
    0052b008str x2, [sp+224]
    0052b00cstr x0, [sp+136]
    0052b010str x1, [sp+144]
    0052b014str x2, [sp+152]
    0052b018ldur x29, [sp-8]
    0052b01cldr x30, [sp], 240
    0052b020ret x30
    0052b024
    0052b024loc_52b024:
    0052b024adrp x0, 0x193000
    0052b028add x0, x0, 3440
    0052b02cstr x0, [sp+160]
    0052b030orr x1, xzr, 32
    0052b034str x1, [sp+168]
    0052b038bl runtime.convTstring
    0052b03cstr x0, [sp+184]
    0052b040mov x1, x0
    0052b044adrp x0, 0xca000
    0052b048add x0, x0, 2944
    0052b04cbl runtime.gopanic
    0052b050
    0052b050loc_52b050:
    0052b050adrp x0, 0x192000
    0052b054add x0, x0, 1642
    0052b058str x0, [sp+160]
    0052b05corr x1, xzr, 30
    0052b060str x1, [sp+168]
    0052b064bl runtime.convTstring
    0052b068str x0, [sp+192]
    0052b06cmov x1, x0
    0052b070adrp x0, 0xca000
    0052b074add x0, x0, 2944
    0052b078bl runtime.gopanic
    0052b07c
    0052b07cloc_52b07c:
    0052b07cbl runtime.panicSliceB
    0052b080
    0052b080loc_52b080:
    0052b080adrp x0, 0x19e000
    0052b084add x0, x0, 1658
    0052b088str x0, [sp+160]
    0052b08cmovz x1, 50
    0052b090str x1, [sp+168]
    0052b094bl runtime.convTstring
    0052b098str x0, [sp+200]
    0052b09cmov x1, x0
    0052b0a0adrp x0, 0xca000
    0052b0a4add x0, x0, 2944
    0052b0a8bl runtime.gopanic
    0052b0achint
    0052b0b0
    0052b0b0loc_52b0b0:
    0052b0b0stp x0, x1, [sp+8]
    0052b0b4stp x2, x3, [sp+24]
    0052b0b8stp x4, x5, [sp+40]
    0052b0bcstp x6, x7, [sp+56]
    0052b0c0stp x8, x9, [sp+72]
    0052b0c4stp x10, x11, [sp+88]
    0052b0c8str x12, [sp+104]
    0052b0ccmov x3, x30
    0052b0d0bl runtime.morestack_noctxt.abi0
    0052b0d4ldp x0, x1, [sp+8]
    0052b0d8ldp x2, x3, [sp+24]
    0052b0dcldp x4, x5, [sp+40]
    0052b0e0ldp x6, x7, [sp+56]
    0052b0e4ldp x8, x9, [sp+72]
    0052b0e8ldp x10, x11, [sp+88]
    0052b0ecldr x12, [sp+104]
    0052b0f0b 0x52aec0
    0052b0f4udf 0
    0052b0f8udf 0
    0052b0fcudf 0
    0052aec0
    0052b100
    0052b100crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Open: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Open(crypto/internal/fips140/aes/gcm.GCMForTLS12 * g, struct []uint8 dst, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 data)
    0052b100ldr x16, [x28+16]
    0052b104sub x17, sp, 128
    0052b108subs xzr, x17, x16
    0052b10cb.ls 0x52b22c
    0052b110sub x20, sp, 256
    0052b114stp x29, x30, [x20-8]
    0052b118add sp, x20, 0
    0052b11csub x29, sp, 8
    0052b120str x0, [sp+264]
    0052b124str x1, [sp+272]
    0052b128str x2, [sp+280]
    0052b12cstr x3, [sp+288]
    0052b130str x4, [sp+296]
    0052b134str x5, [sp+304]
    0052b138str x6, [sp+312]
    0052b13cstr x7, [sp+320]
    0052b140str x8, [sp+328]
    0052b144str x9, [sp+336]
    0052b148str x10, [sp+344]
    0052b14cstr x11, [sp+352]
    0052b150str x12, [sp+360]
    0052b154str xzr, [sp+136]
    0052b158stp xzr, xzr, [sp+144]
    0052b15cstp xzr, xzr, [sp+120]
    0052b160bl crypto/internal/fips140.RecordApproved
    0052b164str xzr, [sp+160]
    0052b168stp xzr, xzr, [sp+168]
    0052b16cstp xzr, xzr, [sp+232]
    0052b170ldr x0, [sp+264]
    0052b174ldrsb x27, [x0]
    0052b178str x0, [sp+224]
    0052b17cldr x1, [sp+272]
    0052b180ldr x4, [sp+296]
    0052b184ldr x7, [sp+320]
    0052b188ldr x10, [sp+344]
    0052b18cldr x2, [sp+280]
    0052b190ldr x5, [sp+304]
    0052b194ldr x8, [sp+328]
    0052b198ldr x11, [sp+352]
    0052b19cldr x3, [sp+288]
    0052b1a0ldr x6, [sp+312]
    0052b1a4ldr x9, [sp+336]
    0052b1a8ldr x12, [sp+360]
    0052b1acbl crypto/internal/fips140/aes/gcm.(*GCM).Open
    0052b1b0str x0, [sp+160]
    0052b1b4str x1, [sp+168]
    0052b1b8str x2, [sp+176]
    0052b1bcstr x3, [sp+232]
    0052b1c0str x4, [sp+240]
    0052b1c4ldr x0, [sp+160]
    0052b1c8ldr x1, [sp+168]
    0052b1ccldr x2, [sp+176]
    0052b1d0str x0, [sp+200]
    0052b1d4str x1, [sp+208]
    0052b1d8str x2, [sp+216]
    0052b1dcldr x0, [sp+232]
    0052b1e0ldr x1, [sp+240]
    0052b1e4str x0, [sp+184]
    0052b1e8str x1, [sp+192]
    0052b1ecldr x0, [sp+200]
    0052b1f0ldr x1, [sp+208]
    0052b1f4ldr x2, [sp+216]
    0052b1f8str x0, [sp+136]
    0052b1fcstr x1, [sp+144]
    0052b200str x2, [sp+152]
    0052b204ldr x3, [sp+184]
    0052b208ldr x4, [sp+192]
    0052b20cstr x3, [sp+120]
    0052b210str x4, [sp+128]
    0052b214ldr x0, [sp+136]
    0052b218ldr x1, [sp+144]
    0052b21cldr x2, [sp+152]
    0052b220ldp x29, x30, [sp-8]
    0052b224add sp, sp, 256
    0052b228ret x30
    0052b22c
    0052b22cloc_52b22c:
    0052b22cstp x0, x1, [sp+8]
    0052b230stp x2, x3, [sp+24]
    0052b234stp x4, x5, [sp+40]
    0052b238stp x6, x7, [sp+56]
    0052b23cstp x8, x9, [sp+72]
    0052b240stp x10, x11, [sp+88]
    0052b244str x12, [sp+104]
    0052b248mov x3, x30
    0052b24cbl runtime.morestack_noctxt.abi0
    0052b250ldp x0, x1, [sp+8]
    0052b254ldp x2, x3, [sp+24]
    0052b258ldp x4, x5, [sp+40]
    0052b25cldp x6, x7, [sp+56]
    0052b260ldp x8, x9, [sp+72]
    0052b264ldp x10, x11, [sp+88]
    0052b268ldr x12, [sp+104]
    0052b26cb 0x52b100
    0052b100
    0052b270
    0052b270crypto/internal/fips140/aes/gcm.NewGCMForTLS13: ; void crypto/internal/fips140/aes/gcm.NewGCMForTLS13(crypto/internal/fips140/aes.Block * cipher)
    0052b270ldr x16, [x28+16]
    0052b274sub x17, sp, 816
    0052b278subs xzr, x17, x16
    0052b27cb.ls 0x52b3f8
    0052b280sub x20, sp, 944
    0052b284stp x29, x30, [x20-8]
    0052b288add sp, x20, 0
    0052b28csub x29, sp, 8
    0052b290str x0, [sp+952]
    0052b294str xzr, [sp+824]
    0052b298add x27, sp, 808
    0052b29cstp xzr, xzr, [x27]
    0052b2a0str xzr, [sp+880]
    0052b2a4add x27, sp, 864
    0052b2a8stp xzr, xzr, [x27]
    0052b2acadd x20, sp, 48
    0052b2b0adr x27, 16
    0052b2b4stp x29, x27, [sp-24]
    0052b2b8sub x29, sp, 24
    0052b2bcbl fn_87c54
    0052b2c0sub x29, sp, 8
    0052b2c4str xzr, [sp+800]
    0052b2c8add x20, sp, 48
    0052b2ccstr x20, [sp+856]
    0052b2d0ldrsb x27, [x20]
    0052b2d4adr x27, 16
    0052b2d8stp x29, x27, [sp-24]
    0052b2dcsub x29, sp, 24
    0052b2e0bl fn_87c54
    0052b2e4sub x29, sp, 8
    0052b2e8add x4, sp, 48
    0052b2ecstr xzr, [x4+752]
    0052b2f0ldr x1, [sp+952]
    0052b2f4ldr x0, [sp+856]
    0052b2f8orr x2, xzr, 12
    0052b2fcorr x3, xzr, 16
    0052b300bl crypto/internal/fips140/aes/gcm.newGCM
    0052b304str x0, [sp+880]
    0052b308str x1, [sp+864]
    0052b30cstr x2, [sp+872]
    0052b310ldr x4, [sp+880]
    0052b314str x4, [sp+904]
    0052b318ldr x4, [sp+864]
    0052b31cldr x5, [sp+872]
    0052b320str x4, [sp+888]
    0052b324str x5, [sp+896]
    0052b328ldr x4, [sp+904]
    0052b32cstr x4, [sp+832]
    0052b330ldr x4, [sp+896]
    0052b334ldr x5, [sp+888]
    0052b338str x5, [sp+840]
    0052b33cstr x4, [sp+848]
    0052b340cbnz x5, 0x52b348
    0052b344b 0x52b36c
    0052b348
    0052b348loc_52b348:
    0052b348str xzr, [sp+824]
    0052b34cldr x1, [sp+840]
    0052b350ldr x2, [sp+848]
    0052b354str x1, [sp+808]
    0052b358str x2, [sp+816]
    0052b35cldr x0, [sp+824]
    0052b360ldp x29, x30, [sp-8]
    0052b364add sp, sp, 944
    0052b368ret x30
    0052b36c
    0052b36cloc_52b36c:
    0052b36cadrp x0, 0x13c000
    0052b370add x0, x0, 2016
    0052b374bl runtime.newobject
    0052b378str x0, [sp+928]
    0052b37cmov x20, x0
    0052b380adr x27, 16
    0052b384stp x29, x27, [sp-24]
    0052b388sub x29, sp, 24
    0052b38cbl fn_87c4c
    0052b390sub x29, sp, 8
    0052b394ldr x21, [sp+928]
    0052b398str x21, [sp+920]
    0052b39cldrsb x27, [x21]
    0052b3a0ldr x20, [sp+832]
    0052b3a4str x20, [sp+912]
    0052b3a8ldrsb x27, [x20]
    0052b3acadr x27, 16
    0052b3b0stp x29, x27, [sp-24]
    0052b3b4sub x29, sp, 24
    0052b3b8bl fn_87da8
    0052b3bcsub x29, sp, 8
    0052b3c0ldr x1, [sp+912]
    0052b3c4ldr x1, [x1+752]
    0052b3c8ldr x2, [sp+920]
    0052b3ccstr x1, [x2+752]
    0052b3d0ldr x1, [sp+928]
    0052b3d4str x1, [sp+824]
    0052b3d8add x27, sp, 808
    0052b3dcstp xzr, xzr, [x27]
    0052b3e0ldr x0, [sp+824]
    0052b3e4mov x1, xzr
    0052b3e8mov x2, xzr
    0052b3ecldp x29, x30, [sp-8]
    0052b3f0add sp, sp, 944
    0052b3f4ret x30
    0052b3f8
    0052b3f8loc_52b3f8:
    0052b3f8str x0, [sp+8]
    0052b3fcmov x3, x30
    0052b400bl runtime.morestack_noctxt.abi0
    0052b404ldr x0, [sp+8]
    0052b408b 0x52b270
    0052b40cudf 0
    0052b270
    0052b410
    0052b410crypto/internal/fips140/aes/gcm.(*GCMForTLS13).NonceSize: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS13).NonceSize(crypto/internal/fips140/aes/gcm.GCMForTLS13 * g)
    0052b410str x30, [sp-32]!
    0052b414stur x29, [sp-8]
    0052b418sub x29, sp, 8
    0052b41cstr x0, [sp+40]
    0052b420str xzr, [sp+16]
    0052b424orr x0, xzr, 12
    0052b428str x0, [sp+16]
    0052b42cadd x29, sp, 24
    0052b430add sp, sp, 32
    0052b434ret x30
    0052b438udf 0
    0052b43cudf 0
    0052b410
    0052b440
    0052b440crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Overhead: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Overhead(crypto/internal/fips140/aes/gcm.GCMForTLS13 * g)
    0052b440str x30, [sp-32]!
    0052b444stur x29, [sp-8]
    0052b448sub x29, sp, 8
    0052b44cstr x0, [sp+40]
    0052b450str xzr, [sp+16]
    0052b454orr x0, xzr, 16
    0052b458str x0, [sp+16]
    0052b45cadd x29, sp, 24
    0052b460add sp, sp, 32
    0052b464ret x30
    0052b468udf 0
    0052b46cudf 0
    0052b440
    0052b470
    0052b470crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Seal: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Seal(crypto/internal/fips140/aes/gcm.GCMForTLS13 * g, struct []uint8 dst, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 data)
    0052b470ldr x16, [x28+16]
    0052b474sub x17, sp, 112
    0052b478subs xzr, x17, x16
    0052b47cb.ls 0x52b6b4
    0052b480str x30, [sp-240]!
    0052b484stur x29, [sp-8]
    0052b488sub x29, sp, 8
    0052b48cstr x0, [sp+248]
    0052b490str x1, [sp+256]
    0052b494str x2, [sp+264]
    0052b498str x3, [sp+272]
    0052b49cstr x4, [sp+280]
    0052b4a0str x5, [sp+288]
    0052b4a4str x6, [sp+296]
    0052b4a8str x7, [sp+304]
    0052b4acstr x8, [sp+312]
    0052b4b0str x9, [sp+320]
    0052b4b4str x10, [sp+328]
    0052b4b8str x11, [sp+336]
    0052b4bcstr x12, [sp+344]
    0052b4c0str xzr, [sp+136]
    0052b4c4stp xzr, xzr, [sp+144]
    0052b4c8ldr x3, [sp+288]
    0052b4ccstr x3, [sp+128]
    0052b4d0subs xzr, x3, 12
    0052b4d4b.ne 0x52b684
    0052b4d8b 0x52b4dc
    0052b4dc
    0052b4dcloc_52b4dc:
    0052b4dcldr x3, [sp+288]
    0052b4e0str x3, [sp+128]
    0052b4e4sub x0, x3, 8
    0052b4e8str x0, [sp+120]
    0052b4ecldr x1, [sp+288]
    0052b4f0ldr x4, [sp+296]
    0052b4f4ldr x5, [sp+280]
    0052b4f8b 0x52b4fc
    0052b4fc
    0052b4fcloc_52b4fc:
    0052b4fcsubs xzr, x1, x0
    0052b500b.hs 0x52b508
    0052b504b 0x52b680
    0052b508
    0052b508loc_52b508:
    0052b508sub x6, x1, x3
    0052b50csub x3, x4, x3
    0052b510add x2, x3, 8
    0052b514add x1, x6, 8
    0052b518sub x3, xzr, x2
    0052b51cand x3, x0, x3, asr #63
    0052b520add x0, x5, x3
    0052b524str x0, [sp+208]
    0052b528str x1, [sp+216]
    0052b52cstr x2, [sp+224]
    0052b530bl crypto/internal/fips140deps/byteorder.BEUint64
    0052b534str x0, [sp+112]
    0052b538ldr x3, [sp+248]
    0052b53cldrsb x27, [x3]
    0052b540ldrb w3, [x3+760]
    0052b544tbnz w3, 0, 0x52b54c
    0052b548b 0x52b550
    0052b54c
    0052b54cloc_52b54c:
    0052b54cb 0x52b574
    0052b550
    0052b550loc_52b550:
    0052b550ldr x2, [sp+248]
    0052b554ldrsb x27, [x2]
    0052b558orr x3, xzr, 1
    0052b55cstrb w3, [x2+760]
    0052b560ldr x2, [sp+248]
    0052b564ldrsb x27, [x2]
    0052b568ldr x3, [sp+112]
    0052b56cstr x3, [x2+768]
    0052b570b 0x52b574
    0052b574
    0052b574loc_52b574:
    0052b574ldr x2, [sp+112]
    0052b578ldr x3, [sp+248]
    0052b57cldrsb x27, [x3]
    0052b580ldr x3, [x3+768]
    0052b584eor x2, x2, x3
    0052b588str x2, [sp+112]
    0052b58cadds xzr, x2, 1
    0052b590b.eq 0x52b654
    0052b594b 0x52b598
    0052b598
    0052b598loc_52b598:
    0052b598ldr x3, [sp+248]
    0052b59cldrsb x27, [x3]
    0052b5a0ldr x3, [x3+776]
    0052b5a4subs xzr, x3, x2
    0052b5a8b.hi 0x52b628
    0052b5acb 0x52b5b0
    0052b5b0
    0052b5b0loc_52b5b0:
    0052b5b0ldr x0, [sp+248]
    0052b5b4ldrsb x27, [x0]
    0052b5b8add x1, x2, 1
    0052b5bcstr x1, [x0+776]
    0052b5c0bl crypto/internal/fips140.RecordApproved
    0052b5c4ldr x0, [sp+248]
    0052b5c8ldrsb x27, [x0]
    0052b5ccstr x0, [sp+176]
    0052b5d0ldr x1, [sp+256]
    0052b5d4ldr x4, [sp+280]
    0052b5d8ldr x7, [sp+304]
    0052b5dcldr x10, [sp+328]
    0052b5e0ldr x2, [sp+264]
    0052b5e4ldr x5, [sp+288]
    0052b5e8ldr x8, [sp+312]
    0052b5ecldr x11, [sp+336]
    0052b5f0ldr x3, [sp+272]
    0052b5f4ldr x6, [sp+296]
    0052b5f8ldr x9, [sp+320]
    0052b5fcldr x12, [sp+344]
    0052b600bl crypto/internal/fips140/aes/gcm.(*GCM).sealAfterIndicator
    0052b604str x0, [sp+208]
    0052b608str x1, [sp+216]
    0052b60cstr x2, [sp+224]
    0052b610str x0, [sp+136]
    0052b614str x1, [sp+144]
    0052b618str x2, [sp+152]
    0052b61cldur x29, [sp-8]
    0052b620ldr x30, [sp], 240
    0052b624ret x30
    0052b628
    0052b628loc_52b628:
    0052b628adrp x0, 0x193000
    0052b62cadd x0, x0, 3440
    0052b630str x0, [sp+160]
    0052b634orr x1, xzr, 32
    0052b638str x1, [sp+168]
    0052b63cbl runtime.convTstring
    0052b640str x0, [sp+184]
    0052b644mov x1, x0
    0052b648adrp x0, 0xca000
    0052b64cadd x0, x0, 2944
    0052b650bl runtime.gopanic
    0052b654
    0052b654loc_52b654:
    0052b654adrp x0, 0x192000
    0052b658add x0, x0, 1642
    0052b65cstr x0, [sp+160]
    0052b660orr x1, xzr, 30
    0052b664str x1, [sp+168]
    0052b668bl runtime.convTstring
    0052b66cstr x0, [sp+192]
    0052b670mov x1, x0
    0052b674adrp x0, 0xca000
    0052b678add x0, x0, 2944
    0052b67cbl runtime.gopanic
    0052b680
    0052b680loc_52b680:
    0052b680bl runtime.panicSliceB
    0052b684
    0052b684loc_52b684:
    0052b684adrp x0, 0x19e000
    0052b688add x0, x0, 1658
    0052b68cstr x0, [sp+160]
    0052b690movz x1, 50
    0052b694str x1, [sp+168]
    0052b698bl runtime.convTstring
    0052b69cstr x0, [sp+200]
    0052b6a0mov x1, x0
    0052b6a4adrp x0, 0xca000
    0052b6a8add x0, x0, 2944
    0052b6acbl runtime.gopanic
    0052b6b0hint
    0052b6b4
    0052b6b4loc_52b6b4:
    0052b6b4stp x0, x1, [sp+8]
    0052b6b8stp x2, x3, [sp+24]
    0052b6bcstp x4, x5, [sp+40]
    0052b6c0stp x6, x7, [sp+56]
    0052b6c4stp x8, x9, [sp+72]
    0052b6c8stp x10, x11, [sp+88]
    0052b6ccstr x12, [sp+104]
    0052b6d0mov x3, x30
    0052b6d4bl runtime.morestack_noctxt.abi0
    0052b6d8ldp x0, x1, [sp+8]
    0052b6dcldp x2, x3, [sp+24]
    0052b6e0ldp x4, x5, [sp+40]
    0052b6e4ldp x6, x7, [sp+56]
    0052b6e8ldp x8, x9, [sp+72]
    0052b6ecldp x10, x11, [sp+88]
    0052b6f0ldr x12, [sp+104]
    0052b6f4b 0x52b470
    0052b6f8udf 0
    0052b6fcudf 0
    0052b470
    0052b700
    0052b700crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Open: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Open(crypto/internal/fips140/aes/gcm.GCMForTLS13 * g, struct []uint8 dst, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 data)
    0052b700ldr x16, [x28+16]
    0052b704sub x17, sp, 128
    0052b708subs xzr, x17, x16
    0052b70cb.ls 0x52b82c
    0052b710sub x20, sp, 256
    0052b714stp x29, x30, [x20-8]
    0052b718add sp, x20, 0
    0052b71csub x29, sp, 8
    0052b720str x0, [sp+264]
    0052b724str x1, [sp+272]
    0052b728str x2, [sp+280]
    0052b72cstr x3, [sp+288]
    0052b730str x4, [sp+296]
    0052b734str x5, [sp+304]
    0052b738str x6, [sp+312]
    0052b73cstr x7, [sp+320]
    0052b740str x8, [sp+328]
    0052b744str x9, [sp+336]
    0052b748str x10, [sp+344]
    0052b74cstr x11, [sp+352]
    0052b750str x12, [sp+360]
    0052b754str xzr, [sp+136]
    0052b758stp xzr, xzr, [sp+144]
    0052b75cstp xzr, xzr, [sp+120]
    0052b760bl crypto/internal/fips140.RecordApproved
    0052b764str xzr, [sp+160]
    0052b768stp xzr, xzr, [sp+168]
    0052b76cstp xzr, xzr, [sp+232]
    0052b770ldr x0, [sp+264]
    0052b774ldrsb x27, [x0]
    0052b778str x0, [sp+224]
    0052b77cldr x1, [sp+272]
    0052b780ldr x4, [sp+296]
    0052b784ldr x7, [sp+320]
    0052b788ldr x10, [sp+344]
    0052b78cldr x2, [sp+280]
    0052b790ldr x5, [sp+304]
    0052b794ldr x8, [sp+328]
    0052b798ldr x11, [sp+352]
    0052b79cldr x3, [sp+288]
    0052b7a0ldr x6, [sp+312]
    0052b7a4ldr x9, [sp+336]
    0052b7a8ldr x12, [sp+360]
    0052b7acbl crypto/internal/fips140/aes/gcm.(*GCM).Open
    0052b7b0str x0, [sp+160]
    0052b7b4str x1, [sp+168]
    0052b7b8str x2, [sp+176]
    0052b7bcstr x3, [sp+232]
    0052b7c0str x4, [sp+240]
    0052b7c4ldr x0, [sp+160]
    0052b7c8ldr x1, [sp+168]
    0052b7ccldr x2, [sp+176]
    0052b7d0str x0, [sp+200]
    0052b7d4str x1, [sp+208]
    0052b7d8str x2, [sp+216]
    0052b7dcldr x0, [sp+232]
    0052b7e0ldr x1, [sp+240]
    0052b7e4str x0, [sp+184]
    0052b7e8str x1, [sp+192]
    0052b7ecldr x0, [sp+200]
    0052b7f0ldr x1, [sp+208]
    0052b7f4ldr x2, [sp+216]
    0052b7f8str x0, [sp+136]
    0052b7fcstr x1, [sp+144]
    0052b800str x2, [sp+152]
    0052b804ldr x3, [sp+184]
    0052b808ldr x4, [sp+192]
    0052b80cstr x3, [sp+120]
    0052b810str x4, [sp+128]
    0052b814ldr x0, [sp+136]
    0052b818ldr x1, [sp+144]
    0052b81cldr x2, [sp+152]
    0052b820ldp x29, x30, [sp-8]
    0052b824add sp, sp, 256
    0052b828ret x30
    0052b82c
    0052b82cloc_52b82c:
    0052b82cstp x0, x1, [sp+8]
    0052b830stp x2, x3, [sp+24]
    0052b834stp x4, x5, [sp+40]
    0052b838stp x6, x7, [sp+56]
    0052b83cstp x8, x9, [sp+72]
    0052b840stp x10, x11, [sp+88]
    0052b844str x12, [sp+104]
    0052b848mov x3, x30
    0052b84cbl runtime.morestack_noctxt.abi0
    0052b850ldp x0, x1, [sp+8]
    0052b854ldp x2, x3, [sp+24]
    0052b858ldp x4, x5, [sp+40]
    0052b85cldp x6, x7, [sp+56]
    0052b860ldp x8, x9, [sp+72]
    0052b864ldp x10, x11, [sp+88]
    0052b868ldr x12, [sp+104]
    0052b86cb 0x52b700
    0052b700
    0052b870
    0052b870crypto/internal/fips140/aes/gcm.GHASH: ; void crypto/internal/fips140/aes/gcm.GHASH(uint8[16] * key, struct [][]uint8 inputs)
    0052b870ldr x16, [x28+16]
    0052b874subs xzr, sp, x16
    0052b878b.ls 0x52b90c
    0052b87cstr x30, [sp-112]!
    0052b880stur x29, [sp-8]
    0052b884sub x29, sp, 8
    0052b888str x0, [sp+120]
    0052b88cstr x1, [sp+128]
    0052b890str x2, [sp+136]
    0052b894str x3, [sp+144]
    0052b898str xzr, [sp+48]
    0052b89cstp xzr, xzr, [sp+56]
    0052b8a0bl crypto/internal/fips140.RecordNonApproved
    0052b8a4adrp x0, 0xd1000
    0052b8a8add x0, x0, 3264
    0052b8acbl runtime.newobject
    0052b8b0str x0, [sp+96]
    0052b8b4stp xzr, xzr, [x0]
    0052b8b8ldr x2, [sp+128]
    0052b8bcldr x1, [sp+120]
    0052b8c0ldr x3, [sp+136]
    0052b8c4ldr x4, [sp+144]
    0052b8c8ldr x0, [sp+96]
    0052b8ccbl crypto/internal/fips140/aes/gcm.ghash
    0052b8d0ldr x0, [sp+96]
    0052b8d4ldrsb x27, [x0]
    0052b8d8b 0x52b8dc
    0052b8dc
    0052b8dcloc_52b8dc:
    0052b8dcstr x0, [sp+72]
    0052b8e0orr x2, xzr, 16
    0052b8e4str x2, [sp+80]
    0052b8e8str x2, [sp+88]
    0052b8ecstr x0, [sp+48]
    0052b8f0str x2, [sp+56]
    0052b8f4str x2, [sp+64]
    0052b8f8ldr x0, [sp+48]
    0052b8fcmov x1, x2
    0052b900ldur x29, [sp-8]
    0052b904ldr x30, [sp], 112
    0052b908ret x30
    0052b90c
    0052b90cloc_52b90c:
    0052b90cstp x0, x1, [sp+8]
    0052b910stp x2, x3, [sp+24]
    0052b914mov x3, x30
    0052b918bl runtime.morestack_noctxt.abi0
    0052b91cldp x0, x1, [sp+8]
    0052b920ldp x2, x3, [sp+24]
    0052b924b 0x52b870
    0052b928udf 0
    0052b92cudf 0
    0052b870
    0052b930
    0052b930crypto/internal/fips140/aes/gcm.ghash: ; void crypto/internal/fips140/aes/gcm.ghash(uint8[16] * out, uint8[16] * H, struct [][]uint8 inputs)
    0052b930ldr x16, [x28+16]
    0052b934sub x17, sp, 448
    0052b938subs xzr, x17, x16
    0052b93cb.ls 0x52bc4c
    0052b940sub x20, sp, 576
    0052b944stp x29, x30, [x20-8]
    0052b948add sp, x20, 0
    0052b94csub x29, sp, 8
    0052b950str x0, [sp+584]
    0052b954str x1, [sp+592]
    0052b958str x2, [sp+600]
    0052b95cstr x3, [sp+608]
    0052b960str x4, [sp+616]
    0052b964add x20, sp, 88
    0052b968adr x27, 16
    0052b96cstp x29, x27, [sp-24]
    0052b970sub x29, sp, 24
    0052b974bl fn_87cd0
    0052b978sub x29, sp, 8
    0052b97cldr x0, [sp+592]
    0052b980ldrsb x27, [x0]
    0052b984b 0x52b988
    0052b988
    0052b988loc_52b988:
    0052b988b 0x52b98c
    0052b98c
    0052b98cloc_52b98c:
    0052b98cstr x0, [sp+472]
    0052b990orr x1, xzr, 8
    0052b994str x1, [sp+480]
    0052b998orr x2, xzr, 16
    0052b99cstr x2, [sp+488]
    0052b9a0bl crypto/internal/fips140deps/byteorder.BEUint64
    0052b9a4str x0, [sp+352]
    0052b9a8ldr x3, [sp+592]
    0052b9acldrsb x27, [x3]
    0052b9b0b 0x52b9b4
    0052b9b4
    0052b9b4loc_52b9b4:
    0052b9b4add x0, x3, 8
    0052b9b8str x0, [sp+544]
    0052b9bcorr x2, xzr, 8
    0052b9c0str x2, [sp+552]
    0052b9c4str x2, [sp+560]
    0052b9c8mov x1, x2
    0052b9ccbl crypto/internal/fips140deps/byteorder.BEUint64
    0052b9d0str x0, [sp+440]
    0052b9d4stp xzr, xzr, [sp+392]
    0052b9d8ldr x3, [sp+352]
    0052b9dcstr x3, [sp+392]
    0052b9e0str x0, [sp+400]
    0052b9e4str x3, [sp+72]
    0052b9e8str x0, [sp+80]
    0052b9ecorr x0, xzr, 1
    0052b9f0bl crypto/internal/fips140/aes/gcm.reverseBits
    0052b9f4str x0, [sp+432]
    0052b9f8ldr x3, [sp+72]
    0052b9fcldr x4, [sp+80]
    0052ba00subs xzr, x0, 16
    0052ba04b.lo 0x52ba0c
    0052ba08b 0x52bc40
    0052ba0c
    0052ba0cloc_52ba0c:
    0052ba0cadd x5, sp, 88
    0052ba10add x6, x5, x0, lsl #4
    0052ba14ubfm x7, x0, 60, 59
    0052ba18str x3, [x5+x7]
    0052ba1cstr x4, [x6+8]
    0052ba20orr x5, xzr, 2
    0052ba24str x5, [sp+344]
    0052ba28b 0x52ba2c
    0052ba2c
    0052ba2cloc_52ba2c:
    0052ba2cldr x5, [sp+344]
    0052ba30subs xzr, x5, 16
    0052ba34b.lt 0x52ba3c
    0052ba38b 0x52bb24
    0052ba3c
    0052ba3cloc_52ba3c:
    0052ba3cldr x0, [sp+344]
    0052ba40bl crypto/internal/fips140/aes/gcm.reverseBits
    0052ba44str x0, [sp+432]
    0052ba48ldr x1, [sp+344]
    0052ba4cadd x1, x1, x1, lsr #63
    0052ba50sbfm x0, x1, 1, 63
    0052ba54str x0, [sp+384]
    0052ba58bl crypto/internal/fips140/aes/gcm.reverseBits
    0052ba5cstr x0, [sp+424]
    0052ba60subs xzr, x0, 16
    0052ba64b.lo 0x52ba6c
    0052ba68b 0x52bc38
    0052ba6c
    0052ba6cloc_52ba6c:
    0052ba6cadd x1, sp, 88
    0052ba70add x0, x1, x0, lsl #4
    0052ba74str x0, [sp+512]
    0052ba78bl crypto/internal/fips140/aes/gcm.ghashDouble
    0052ba7cstr x0, [sp+408]
    0052ba80str x1, [sp+416]
    0052ba84ldr x2, [sp+432]
    0052ba88subs xzr, x2, 16
    0052ba8cb.lo 0x52ba94
    0052ba90b 0x52bc2c
    0052ba94
    0052ba94loc_52ba94:
    0052ba94add x3, sp, 88
    0052ba98add x4, x3, x2, lsl #4
    0052ba9cubfm x2, x2, 60, 59
    0052baa0str x0, [x3+x2]
    0052baa4str x1, [x4+8]
    0052baa8ldr x1, [sp+344]
    0052baacadd x0, x1, 1
    0052bab0bl crypto/internal/fips140/aes/gcm.reverseBits
    0052bab4str x0, [sp+424]
    0052bab8ldr x0, [sp+344]
    0052babcbl crypto/internal/fips140/aes/gcm.reverseBits
    0052bac0str x0, [sp+432]
    0052bac4subs xzr, x0, 16
    0052bac8b.lo 0x52bad0
    0052baccb 0x52bc24
    0052bad0
    0052bad0loc_52bad0:
    0052bad0add x2, sp, 88
    0052bad4add x0, x2, x0, lsl #4
    0052bad8str x0, [sp+504]
    0052badcadd x1, sp, 72
    0052bae0bl crypto/internal/fips140/aes/gcm.ghashAdd
    0052bae4str x0, [sp+408]
    0052bae8str x1, [sp+416]
    0052baecldr x2, [sp+424]
    0052baf0subs xzr, x2, 16
    0052baf4b.lo 0x52bafc
    0052baf8b 0x52bc18
    0052bafc
    0052bafcloc_52bafc:
    0052bafcadd x5, sp, 88
    0052bb00add x6, x5, x2, lsl #4
    0052bb04ubfm x7, x2, 60, 59
    0052bb08str x0, [x5+x7]
    0052bb0cstr x1, [x6+8]
    0052bb10b 0x52bb14
    0052bb14
    0052bb14loc_52bb14:
    0052bb14ldr x5, [sp+344]
    0052bb18add x5, x5, 2
    0052bb1cstr x5, [sp+344]
    0052bb20b 0x52ba2c
    0052bb24
    0052bb24loc_52bb24:
    0052bb24stp xzr, xzr, [sp+56]
    0052bb28ldr x5, [sp+608]
    0052bb2cldr x6, [sp+600]
    0052bb30ldr x7, [sp+616]
    0052bb34str x6, [sp+520]
    0052bb38str x5, [sp+528]
    0052bb3cstr x7, [sp+536]
    0052bb40str xzr, [sp+376]
    0052bb44str x5, [sp+368]
    0052bb48ldr x5, [sp+520]
    0052bb4cstr x5, [sp+360]
    0052bb50b 0x52bb54
    0052bb54
    0052bb54loc_52bb54:
    0052bb54ldr x5, [sp+368]
    0052bb58ldr x6, [sp+376]
    0052bb5csubs xzr, x5, x6
    0052bb60b.gt 0x52bb68
    0052bb64b 0x52bbb8
    0052bb68
    0052bb68loc_52bb68:
    0052bb68ldr x5, [sp+360]
    0052bb6cstr x5, [sp+496]
    0052bb70ldr x5, [sp+496]
    0052bb74ldr x2, [x5]
    0052bb78ldr x3, [x5+8]
    0052bb7cldr x4, [x5+16]
    0052bb80str x2, [sp+448]
    0052bb84str x3, [sp+456]
    0052bb88str x4, [sp+464]
    0052bb8cadd x0, sp, 88
    0052bb90add x1, sp, 56
    0052bb94bl crypto/internal/fips140/aes/gcm.ghashUpdate
    0052bb98b 0x52bb9c
    0052bb9c
    0052bb9cloc_52bb9c:
    0052bb9cldr x5, [sp+376]
    0052bba0add x5, x5, 1
    0052bba4str x5, [sp+376]
    0052bba8ldr x5, [sp+496]
    0052bbacadd x5, x5, 24
    0052bbb0str x5, [sp+360]
    0052bbb4b 0x52bb54
    0052bbb8
    0052bbb8loc_52bbb8:
    0052bbb8ldr x0, [sp+584]
    0052bbbcldrsb x27, [x0]
    0052bbc0b 0x52bbc4
    0052bbc4
    0052bbc4loc_52bbc4:
    0052bbc4str x0, [sp+544]
    0052bbc8orr x2, xzr, 16
    0052bbccstr x2, [sp+552]
    0052bbd0str x2, [sp+560]
    0052bbd4ldr x3, [sp+56]
    0052bbd8mov x1, x2
    0052bbdcbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052bbe0ldr x4, [sp+584]
    0052bbe4ldrsb x27, [x4]
    0052bbe8b 0x52bbec
    0052bbec
    0052bbecloc_52bbec:
    0052bbecadd x0, x4, 8
    0052bbf0str x0, [sp+544]
    0052bbf4orr x2, xzr, 8
    0052bbf8str x2, [sp+552]
    0052bbfcstr x2, [sp+560]
    0052bc00ldr x3, [sp+64]
    0052bc04mov x1, x2
    0052bc08bl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052bc0cldp x29, x30, [sp-8]
    0052bc10add sp, sp, 576
    0052bc14ret x30
    0052bc18
    0052bc18loc_52bc18:
    0052bc18mov x0, x2
    0052bc1corr x1, xzr, 16
    0052bc20bl runtime.panicIndex
    0052bc24
    0052bc24loc_52bc24:
    0052bc24orr x1, xzr, 16
    0052bc28bl runtime.panicIndex
    0052bc2c
    0052bc2cloc_52bc2c:
    0052bc2cmov x0, x2
    0052bc30orr x1, xzr, 16
    0052bc34bl runtime.panicIndex
    0052bc38
    0052bc38loc_52bc38:
    0052bc38orr x1, xzr, 16
    0052bc3cbl runtime.panicIndex
    0052bc40
    0052bc40loc_52bc40:
    0052bc40orr x1, xzr, 16
    0052bc44bl runtime.panicIndex
    0052bc48hint
    0052bc4c
    0052bc4cloc_52bc4c:
    0052bc4cstp x0, x1, [sp+8]
    0052bc50stp x2, x3, [sp+24]
    0052bc54str x4, [sp+40]
    0052bc58mov x3, x30
    0052bc5cbl runtime.morestack_noctxt.abi0
    0052bc60ldp x0, x1, [sp+8]
    0052bc64ldp x2, x3, [sp+24]
    0052bc68ldr x4, [sp+40]
    0052bc6cb 0x52b930
    0052b930
    0052bc70
    0052bc70crypto/internal/fips140/aes/gcm.reverseBits: ; void crypto/internal/fips140/aes/gcm.reverseBits(int i)
    0052bc70str x30, [sp-32]!
    0052bc74stur x29, [sp-8]
    0052bc78sub x29, sp, 8
    0052bc7cstr x0, [sp+40]
    0052bc80str xzr, [sp+16]
    0052bc84ubfm x1, x0, 62, 1
    0052bc88sbfm x2, x0, 2, 63
    0052bc8cand x2, x2, 3
    0052bc90orr x1, x1, x2
    0052bc94str x1, [sp+40]
    0052bc98ubfm x2, x1, 63, 62
    0052bc9cmovz x3, 10
    0052bca0and x2, x2, x3
    0052bca4sbfm x1, x1, 1, 63
    0052bca8movz x3, 5
    0052bcacand x1, x1, x3
    0052bcb0orr x0, x2, x1
    0052bcb4str x0, [sp+40]
    0052bcb8str x0, [sp+16]
    0052bcbcadd x29, sp, 24
    0052bcc0add sp, sp, 32
    0052bcc4ret x30
    0052bcc8udf 0
    0052bcccudf 0
    0052bc70
    0052bcd0
    0052bcd0crypto/internal/fips140/aes/gcm.ghashAdd: ; void crypto/internal/fips140/aes/gcm.ghashAdd(crypto/internal/fips140/aes/gcm.gcmFieldElement * x, crypto/internal/fips140/aes/gcm.gcmFieldElement * y)
    0052bcd0str x30, [sp-32]!
    0052bcd4stur x29, [sp-8]
    0052bcd8sub x29, sp, 8
    0052bcdcstr x0, [sp+40]
    0052bce0str x1, [sp+48]
    0052bce4stp xzr, xzr, [sp+8]
    0052bce8stp xzr, xzr, [sp+8]
    0052bcecldr x2, [sp+40]
    0052bcf0ldrsb x27, [x2]
    0052bcf4ldr x2, [x2]
    0052bcf8ldr x3, [sp+48]
    0052bcfcldrsb x27, [x3]
    0052bd00ldr x3, [x3]
    0052bd04eor x0, x2, x3
    0052bd08str x0, [sp+8]
    0052bd0cldr x2, [sp+40]
    0052bd10ldrsb x27, [x2]
    0052bd14ldr x2, [x2+8]
    0052bd18ldr x3, [sp+48]
    0052bd1cldrsb x27, [x3]
    0052bd20ldr x3, [x3+8]
    0052bd24eor x1, x2, x3
    0052bd28str x1, [sp+16]
    0052bd2cadd x29, sp, 24
    0052bd30add sp, sp, 32
    0052bd34ret x30
    0052bd38udf 0
    0052bd3cudf 0
    0052bcd0
    0052bd40
    0052bd40crypto/internal/fips140/aes/gcm.ghashDouble: ; void crypto/internal/fips140/aes/gcm.ghashDouble(crypto/internal/fips140/aes/gcm.gcmFieldElement * x)
    0052bd40str x30, [sp-48]!
    0052bd44stur x29, [sp-8]
    0052bd48sub x29, sp, 8
    0052bd4cstr x0, [sp+56]
    0052bd50stp xzr, xzr, [sp+24]
    0052bd54ldrsb x27, [x0]
    0052bd58ldr x2, [x0+8]
    0052bd5cands xzr, x2, 1
    0052bd60cset x2, ne
    0052bd64strb w2, [sp+23]
    0052bd68ldr x2, [sp+56]
    0052bd6cldrsb x27, [x2]
    0052bd70ldr x2, [x2+8]
    0052bd74ubfm x3, x2, 1, 63
    0052bd78str x3, [sp+32]
    0052bd7cldr x3, [sp+56]
    0052bd80ldrsb x27, [x3]
    0052bd84ldr x3, [x3]
    0052bd88extr x2, x3, x2, 1
    0052bd8cstr x2, [sp+32]
    0052bd90ldr x2, [sp+56]
    0052bd94ldrsb x27, [x2]
    0052bd98ldr x2, [x2]
    0052bd9cubfm x2, x2, 1, 63
    0052bda0str x2, [sp+24]
    0052bda4ldrb w3, [sp+23]
    0052bda8tbnz w3, 0, 0x52bdb0
    0052bdacb 0x52bdc0
    0052bdb0
    0052bdb0loc_52bdb0:
    0052bdb0movz x3, 0xe100000000000000
    0052bdb4eor x2, x2, x3
    0052bdb8str x2, [sp+24]
    0052bdbcb 0x52bdc4
    0052bdc0
    0052bdc0loc_52bdc0:
    0052bdc0b 0x52bdc4
    0052bdc4
    0052bdc4loc_52bdc4:
    0052bdc4ldr x0, [sp+24]
    0052bdc8ldr x1, [sp+32]
    0052bdccadd x29, sp, 40
    0052bdd0add sp, sp, 48
    0052bdd4ret x30
    0052bdd8udf 0
    0052bddcudf 0
    0052bd40
    0052bde0
    0052bde0crypto/internal/fips140/aes/gcm.ghashMul: ; void crypto/internal/fips140/aes/gcm.ghashMul(crypto/internal/fips140/aes/gcm.gcmFieldElement[16] * productTable, crypto/internal/fips140/aes/gcm.gcmFieldElement * y)
    0052bde0ldr x16, [x28+16]
    0052bde4subs xzr, sp, x16
    0052bde8b.ls 0x52bf64
    0052bdecstr x30, [sp-96]!
    0052bdf0stur x29, [sp-8]
    0052bdf4sub x29, sp, 8
    0052bdf8str x0, [sp+104]
    0052bdfcstr x1, [sp+112]
    0052be00stp xzr, xzr, [sp+24]
    0052be04str xzr, [sp+80]
    0052be08b 0x52be0c
    0052be0c
    0052be0cloc_52be0c:
    0052be0cldr x2, [sp+80]
    0052be10subs xzr, x2, 2
    0052be14b.lt 0x52be1c
    0052be18b 0x52be5c
    0052be1c
    0052be1cloc_52be1c:
    0052be1cldr x2, [sp+112]
    0052be20ldrsb x27, [x2]
    0052be24ldr x2, [x2+8]
    0052be28str x2, [sp+40]
    0052be2cldr x2, [sp+80]
    0052be30subs xzr, x2, 1
    0052be34b.eq 0x52be3c
    0052be38b 0x52be50
    0052be3c
    0052be3cloc_52be3c:
    0052be3cldr x2, [sp+112]
    0052be40ldrsb x27, [x2]
    0052be44ldr x2, [x2]
    0052be48str x2, [sp+40]
    0052be4cb 0x52be54
    0052be50
    0052be50loc_52be50:
    0052be50b 0x52be54
    0052be54
    0052be54loc_52be54:
    0052be54str xzr, [sp+72]
    0052be58b 0x52be80
    0052be5c
    0052be5cloc_52be5c:
    0052be5cldr x0, [sp+112]
    0052be60ldrsb x27, [x0]
    0052be64ldr x1, [sp+24]
    0052be68ldr x2, [sp+32]
    0052be6cstr x1, [x0]
    0052be70str x2, [x0+8]
    0052be74ldur x29, [sp-8]
    0052be78ldr x30, [sp], 96
    0052be7cret x30
    0052be80
    0052be80loc_52be80:
    0052be80ldr x2, [sp+72]
    0052be84subs xzr, x2, 64
    0052be88b.lt 0x52be90
    0052be8cb 0x52bf48
    0052be90
    0052be90loc_52be90:
    0052be90ldr x2, [sp+32]
    0052be94and x0, x2, 15
    0052be98str x0, [sp+64]
    0052be9cldr x3, [sp+32]
    0052bea0ubfm x4, x3, 4, 63
    0052bea4str x4, [sp+32]
    0052bea8ldr x4, [sp+24]
    0052beacextr x3, x4, x3, 4
    0052beb0str x3, [sp+32]
    0052beb4ldr x3, [sp+24]
    0052beb8ubfm x4, x3, 4, 63
    0052bebcstr x4, [sp+24]
    0052bec0adrp x27, 0x4f7000
    0052bec4ldr x1, [x27+4072]
    0052bec8adrp x27, 0x4f7000
    0052beccldr x4, [x27+4064]
    0052bed0subs xzr, x1, x0
    0052bed4b.hi 0x52bedc
    0052bed8b 0x52bf5c
    0052bedc
    0052bedcloc_52bedc:
    0052bedcubfm x2, x2, 63, 3
    0052bee0ldrh w2, [x4+x2]
    0052bee4ubfm x2, x2, 16, 15
    0052bee8eor x2, x2, x3, lsr #4
    0052beecstr x2, [sp+24]
    0052bef0ldr x3, [sp+104]
    0052bef4ldrsb x27, [x3]
    0052bef8ldr x4, [sp+40]
    0052befcubfm x4, x4, 60, 3
    0052bf00ldr x5, [x3+x4]
    0052bf04add x3, x3, x4
    0052bf08ldr x3, [x3+8]
    0052bf0cstr x5, [sp+48]
    0052bf10str x3, [sp+56]
    0052bf14eor x2, x2, x5
    0052bf18str x2, [sp+24]
    0052bf1cldr x2, [sp+32]
    0052bf20eor x2, x2, x3
    0052bf24str x2, [sp+32]
    0052bf28ldr x2, [sp+40]
    0052bf2cubfm x2, x2, 4, 63
    0052bf30str x2, [sp+40]
    0052bf34b 0x52bf38
    0052bf38
    0052bf38loc_52bf38:
    0052bf38ldr x2, [sp+72]
    0052bf3cadd x2, x2, 4
    0052bf40str x2, [sp+72]
    0052bf44b 0x52be80
    0052bf48
    0052bf48loc_52bf48:
    0052bf48b 0x52bf4c
    0052bf4c
    0052bf4cloc_52bf4c:
    0052bf4cldr x2, [sp+80]
    0052bf50add x2, x2, 1
    0052bf54str x2, [sp+80]
    0052bf58b 0x52be0c
    0052bf5c
    0052bf5cloc_52bf5c:
    0052bf5cbl runtime.panicIndexU
    0052bf60hint
    0052bf64
    0052bf64loc_52bf64:
    0052bf64stp x0, x1, [sp+8]
    0052bf68mov x3, x30
    0052bf6cbl runtime.morestack_noctxt.abi0
    0052bf70ldp x0, x1, [sp+8]
    0052bf74b 0x52bde0
    0052bf78udf 0
    0052bf7cudf 0
    0052bde0
    0052bf80
    0052bf80crypto/internal/fips140/aes/gcm.updateBlocks: ; void crypto/internal/fips140/aes/gcm.updateBlocks(crypto/internal/fips140/aes/gcm.gcmFieldElement[16] * productTable, crypto/internal/fips140/aes/gcm.gcmFieldElement * y, struct []uint8 blocks)
    0052bf80ldr x16, [x28+16]
    0052bf84subs xzr, sp, x16
    0052bf88b.ls 0x52c0c8
    0052bf8cstr x30, [sp-80]!
    0052bf90stur x29, [sp-8]
    0052bf94sub x29, sp, 8
    0052bf98str x0, [sp+88]
    0052bf9cstr x1, [sp+96]
    0052bfa0str x2, [sp+104]
    0052bfa4str x3, [sp+112]
    0052bfa8str x4, [sp+120]
    0052bfacb 0x52bfb0
    0052bfb0
    0052bfb0loc_52bfb0:
    0052bfb0ldr x3, [sp+112]
    0052bfb4str x3, [sp+40]
    0052bfb8cbnz x3, 0x52bfc0
    0052bfbcb 0x52c0a8
    0052bfc0
    0052bfc0loc_52bfc0:
    0052bfc0ldr x0, [sp+104]
    0052bfc4ldr x1, [sp+112]
    0052bfc8ldr x2, [sp+120]
    0052bfccbl crypto/internal/fips140deps/byteorder.BEUint64
    0052bfd0str x0, [sp+32]
    0052bfd4ldr x3, [sp+96]
    0052bfd8ldrsb x27, [x3]
    0052bfdcldr x3, [x3]
    0052bfe0ldr x4, [sp+96]
    0052bfe4ldrsb x27, [x4]
    0052bfe8eor x3, x3, x0
    0052bfecstr x3, [x4]
    0052bff0ldr x1, [sp+112]
    0052bff4ldr x3, [sp+104]
    0052bff8ldr x4, [sp+120]
    0052bffcb 0x52c000
    0052c000
    0052c000loc_52c000:
    0052c000subs xzr, x1, 8
    0052c004b.hs 0x52c00c
    0052c008b 0x52c0bc
    0052c00c
    0052c00cloc_52c00c:
    0052c00csub x2, x4, 8
    0052c010sub x1, x1, 8
    0052c014sub x4, xzr, x2
    0052c018sbfm x4, x4, 63, 63
    0052c01cand x4, x4, 8
    0052c020add x0, x3, x4
    0052c024str x0, [sp+48]
    0052c028str x1, [sp+56]
    0052c02cstr x2, [sp+64]
    0052c030bl crypto/internal/fips140deps/byteorder.BEUint64
    0052c034str x0, [sp+32]
    0052c038ldr x3, [sp+96]
    0052c03cldrsb x27, [x3]
    0052c040ldr x4, [sp+96]
    0052c044ldrsb x27, [x4]
    0052c048ldr x3, [x3+8]
    0052c04ceor x3, x3, x0
    0052c050str x3, [x4+8]
    0052c054ldr x1, [sp+96]
    0052c058ldr x0, [sp+88]
    0052c05cbl crypto/internal/fips140/aes/gcm.ghashMul
    0052c060ldr x1, [sp+112]
    0052c064ldr x3, [sp+104]
    0052c068ldr x4, [sp+120]
    0052c06cb 0x52c070
    0052c070
    0052c070loc_52c070:
    0052c070subs xzr, x1, 16
    0052c074b.hs 0x52c07c
    0052c078b 0x52c0b4
    0052c07c
    0052c07cloc_52c07c:
    0052c07csub x4, x4, 16
    0052c080sub x5, xzr, x4
    0052c084sub x6, x1, 16
    0052c088sbfm x5, x5, 63, 63
    0052c08cand x5, x5, 16
    0052c090add x3, x3, x5
    0052c094str x3, [sp+104]
    0052c098str x6, [sp+112]
    0052c09cstr x4, [sp+120]
    0052c0a0b 0x52c0a4
    0052c0a4
    0052c0a4loc_52c0a4:
    0052c0a4b 0x52bfb0
    0052c0a8
    0052c0a8loc_52c0a8:
    0052c0a8ldur x29, [sp-8]
    0052c0acldr x30, [sp], 80
    0052c0b0ret x30
    0052c0b4
    0052c0b4loc_52c0b4:
    0052c0b4orr x0, xzr, 16
    0052c0b8bl runtime.panicSliceB
    0052c0bc
    0052c0bcloc_52c0bc:
    0052c0bcorr x0, xzr, 8
    0052c0c0bl runtime.panicSliceB
    0052c0c4hint
    0052c0c8
    0052c0c8loc_52c0c8:
    0052c0c8stp x0, x1, [sp+8]
    0052c0ccstp x2, x3, [sp+24]
    0052c0d0str x4, [sp+40]
    0052c0d4mov x3, x30
    0052c0d8bl runtime.morestack_noctxt.abi0
    0052c0dcldp x0, x1, [sp+8]
    0052c0e0ldp x2, x3, [sp+24]
    0052c0e4ldr x4, [sp+40]
    0052c0e8b 0x52bf80
    0052c0ecudf 0
    0052bf80
    0052c0f0
    0052c0f0crypto/internal/fips140/aes/gcm.ghashUpdate: ; void crypto/internal/fips140/aes/gcm.ghashUpdate(crypto/internal/fips140/aes/gcm.gcmFieldElement[16] * productTable, crypto/internal/fips140/aes/gcm.gcmFieldElement * y, struct []uint8 data)
    0052c0f0ldr x16, [x28+16]
    0052c0f4sub x17, sp, 80
    0052c0f8subs xzr, x17, x16
    0052c0fcb.ls 0x52c2ac
    0052c100str x30, [sp-208]!
    0052c104stur x29, [sp-8]
    0052c108sub x29, sp, 8
    0052c10cstr x0, [sp+216]
    0052c110str x1, [sp+224]
    0052c114str x2, [sp+232]
    0052c118str x3, [sp+240]
    0052c11cstr x4, [sp+248]
    0052c120str x3, [sp+80]
    0052c124and x1, x3, -16
    0052c128str x1, [sp+72]
    0052c12cldr x2, [sp+232]
    0052c130subs xzr, x4, x1
    0052c134b.hs 0x52c13c
    0052c138b 0x52c2a0
    0052c13c
    0052c13cloc_52c13c:
    0052c13cb 0x52c140
    0052c140
    0052c140loc_52c140:
    0052c140str x2, [sp+176]
    0052c144str x1, [sp+184]
    0052c148str x4, [sp+192]
    0052c14cldr x0, [sp+216]
    0052c150ldr x5, [sp+224]
    0052c154mov x3, x1
    0052c158mov x1, x5
    0052c15cbl crypto/internal/fips140/aes/gcm.updateBlocks
    0052c160ldr x5, [sp+240]
    0052c164str x5, [sp+80]
    0052c168ldr x6, [sp+72]
    0052c16csubs xzr, x5, x6
    0052c170b.ne 0x52c178
    0052c174b 0x52c28c
    0052c178
    0052c178loc_52c178:
    0052c178stp xzr, xzr, [sp+56]
    0052c17cadd x5, sp, 56
    0052c180ldrsb x27, [x5]
    0052c184b 0x52c188
    0052c188
    0052c188loc_52c188:
    0052c188str x5, [sp+176]
    0052c18corr x4, xzr, 16
    0052c190str x4, [sp+184]
    0052c194str x4, [sp+192]
    0052c198ldr x0, [sp+72]
    0052c19cldr x1, [sp+240]
    0052c1a0ldr x5, [sp+232]
    0052c1a4ldr x6, [sp+248]
    0052c1a8b 0x52c1ac
    0052c1ac
    0052c1acloc_52c1ac:
    0052c1acsubs xzr, x0, x1
    0052c1b0b.ls 0x52c1b8
    0052c1b4b 0x52c29c
    0052c1b8
    0052c1b8loc_52c1b8:
    0052c1b8sub x6, x6, x0
    0052c1bcsub x7, x1, x0
    0052c1c0sub x8, xzr, x6
    0052c1c4and x8, x0, x8, asr #63
    0052c1c8add x5, x5, x8
    0052c1ccstr x5, [sp+152]
    0052c1d0str x7, [sp+160]
    0052c1d4str x6, [sp+168]
    0052c1d8ldr x5, [sp+176]
    0052c1dcldr x6, [sp+184]
    0052c1e0ldr x7, [sp+192]
    0052c1e4str x5, [sp+128]
    0052c1e8str x6, [sp+136]
    0052c1ecstr x7, [sp+144]
    0052c1f0ldr x5, [sp+160]
    0052c1f4ldr x6, [sp+152]
    0052c1f8ldr x7, [sp+168]
    0052c1fcstr x6, [sp+104]
    0052c200str x5, [sp+112]
    0052c204str x7, [sp+120]
    0052c208ldr x6, [sp+136]
    0052c20cstr x6, [sp+96]
    0052c210subs xzr, x6, x5
    0052c214b.gt 0x52c21c
    0052c218b 0x52c224
    0052c21c
    0052c21cloc_52c21c:
    0052c21cstr x5, [sp+96]
    0052c220b 0x52c228
    0052c224
    0052c224loc_52c224:
    0052c224b 0x52c228
    0052c228
    0052c228loc_52c228:
    0052c228ldr x5, [sp+128]
    0052c22cldr x6, [sp+104]
    0052c230subs xzr, x6, x5
    0052c234b.ne 0x52c23c
    0052c238b 0x52c258
    0052c23c
    0052c23cloc_52c23c:
    0052c23cldr x3, [sp+96]
    0052c240str x3, [sp+88]
    0052c244ldr x2, [sp+88]
    0052c248ldr x1, [sp+104]
    0052c24cldr x0, [sp+128]
    0052c250bl runtime.memmove
    0052c254b 0x52c25c
    0052c258
    0052c258loc_52c258:
    0052c258b 0x52c25c
    0052c25c
    0052c25cloc_52c25c:
    0052c25cadd x2, sp, 56
    0052c260ldrsb x27, [x2]
    0052c264b 0x52c268
    0052c268
    0052c268loc_52c268:
    0052c268str x2, [sp+152]
    0052c26corr x4, xzr, 16
    0052c270str x4, [sp+160]
    0052c274str x4, [sp+168]
    0052c278ldr x0, [sp+216]
    0052c27cldr x1, [sp+224]
    0052c280mov x3, x4
    0052c284bl crypto/internal/fips140/aes/gcm.updateBlocks
    0052c288b 0x52c290
    0052c28c
    0052c28cloc_52c28c:
    0052c28cb 0x52c290
    0052c290
    0052c290loc_52c290:
    0052c290ldur x29, [sp-8]
    0052c294ldr x30, [sp], 208
    0052c298ret x30
    0052c29c
    0052c29cloc_52c29c:
    0052c29cbl runtime.panicSliceB
    0052c2a0
    0052c2a0loc_52c2a0:
    0052c2a0mov x2, x4
    0052c2a4bl runtime.panicSliceAcap
    0052c2a8hint
    0052c2ac
    0052c2acloc_52c2ac:
    0052c2acstp x0, x1, [sp+8]
    0052c2b0stp x2, x3, [sp+24]
    0052c2b4str x4, [sp+40]
    0052c2b8mov x3, x30
    0052c2bcbl runtime.morestack_noctxt.abi0
    0052c2c0ldp x0, x1, [sp+8]
    0052c2c4ldp x2, x3, [sp+24]
    0052c2c8ldr x4, [sp+40]
    0052c2ccb 0x52c0f0
    0052c0f0
    0052c2d0
    0052c2d0crypto/internal/fips140/aes/gcm.init.0.func1: ; void crypto/internal/fips140/aes/gcm.init.0.func1(void)
    0052c2d0ldr x16, [x28+16]
    0052c2d4sub x17, sp, 176
    0052c2d8subs xzr, x17, x16
    0052c2dcb.ls 0x52c564
    0052c2e0sub x20, sp, 304
    0052c2e4stp x29, x30, [x20-8]
    0052c2e8add sp, x20, 0
    0052c2ecsub x29, sp, 8
    0052c2f0stp xzr, xzr, [sp+168]
    0052c2f4stp xzr, xzr, [sp+152]
    0052c2f8add x3, sp, 152
    0052c2fcstr x3, [sp+264]
    0052c300ldrsb x27, [x3]
    0052c304orr x4, xzr, 1
    0052c308strb w4, [x3]
    0052c30cldr x3, [sp+264]
    0052c310ldrsb x27, [x3]
    0052c314orr x4, xzr, 2
    0052c318strb w4, [x3+1]
    0052c31cldr x3, [sp+264]
    0052c320ldrsb x27, [x3]
    0052c324orr x4, xzr, 3
    0052c328strb w4, [x3+2]
    0052c32cldr x3, [sp+264]
    0052c330ldrsb x27, [x3]
    0052c334orr x4, xzr, 4
    0052c338strb w4, [x3+3]
    0052c33cldr x3, [sp+264]
    0052c340ldrsb x27, [x3]
    0052c344movz x4, 5
    0052c348strb w4, [x3+4]
    0052c34cldr x3, [sp+264]
    0052c350ldrsb x27, [x3]
    0052c354orr x4, xzr, 6
    0052c358strb w4, [x3+5]
    0052c35cldr x3, [sp+264]
    0052c360ldrsb x27, [x3]
    0052c364orr x4, xzr, 7
    0052c368strb w4, [x3+6]
    0052c36cldr x3, [sp+264]
    0052c370ldrsb x27, [x3]
    0052c374orr x4, xzr, 8
    0052c378strb w4, [x3+7]
    0052c37cldr x3, [sp+264]
    0052c380ldrsb x27, [x3]
    0052c384movz x4, 9
    0052c388strb w4, [x3+8]
    0052c38cldr x3, [sp+264]
    0052c390ldrsb x27, [x3]
    0052c394movz x4, 10
    0052c398strb w4, [x3+9]
    0052c39cldr x3, [sp+264]
    0052c3a0ldrsb x27, [x3]
    0052c3a4movz x4, 11
    0052c3a8strb w4, [x3+10]
    0052c3acldr x3, [sp+264]
    0052c3b0ldrsb x27, [x3]
    0052c3b4orr x4, xzr, 12
    0052c3b8strb w4, [x3+11]
    0052c3bcldr x3, [sp+264]
    0052c3c0ldrsb x27, [x3]
    0052c3c4movz x4, 13
    0052c3c8strb w4, [x3+12]
    0052c3ccldr x3, [sp+264]
    0052c3d0ldrsb x27, [x3]
    0052c3d4orr x4, xzr, 14
    0052c3d8strb w4, [x3+13]
    0052c3dcldr x3, [sp+264]
    0052c3e0ldrsb x27, [x3]
    0052c3e4orr x4, xzr, 15
    0052c3e8strb w4, [x3+14]
    0052c3ecldr x3, [sp+264]
    0052c3f0ldrsb x27, [x3]
    0052c3f4orr x4, xzr, 16
    0052c3f8strb w4, [x3+15]
    0052c3fcldr x3, [sp+264]
    0052c400ldrsb x27, [x3]
    0052c404b 0x52c408
    0052c408
    0052c408loc_52c408:
    0052c408str x3, [sp+184]
    0052c40corr x3, xzr, 16
    0052c410str x3, [sp+192]
    0052c414str x3, [sp+200]
    0052c418adrp x27, 0x1fd000
    0052c41cadd x27, x27, 2944
    0052c420ldr x3, [x27]
    0052c424adrp x27, 0x1fd000
    0052c428ldr w4, [x27+2952]
    0052c42cstur x3, [sp+140]
    0052c430str w4, [sp+148]
    0052c434adrp x27, 0x1fd000
    0052c438add x27, x27, 3072
    0052c43cldp x3, x4, [x27]
    0052c440adrp x27, 0x1fd000
    0052c444add x27, x27, 3088
    0052c448ldp x5, x6, [x27]
    0052c44cadd x27, sp, 76
    0052c450stp x3, x4, [x27]
    0052c454add x27, sp, 92
    0052c458stp x5, x6, [x27]
    0052c45cstr xzr, [sp+232]
    0052c460stp xzr, xzr, [sp+280]
    0052c464ldr x0, [sp+184]
    0052c468ldr x1, [sp+192]
    0052c46cldr x2, [sp+200]
    0052c470bl crypto/internal/fips140/aes.New
    0052c474str x0, [sp+232]
    0052c478str x1, [sp+280]
    0052c47cstr x2, [sp+288]
    0052c480ldr x3, [sp+232]
    0052c484str x3, [sp+256]
    0052c488ldr x3, [sp+288]
    0052c48cldr x4, [sp+280]
    0052c490str x4, [sp+240]
    0052c494str x3, [sp+248]
    0052c498ldr x3, [sp+256]
    0052c49cstr x3, [sp+224]
    0052c4a0ldr x1, [sp+248]
    0052c4a4ldr x0, [sp+240]
    0052c4a8str x0, [sp+208]
    0052c4acstr x1, [sp+216]
    0052c4b0cbnz x0, 0x52c4b8
    0052c4b4b 0x52c4cc
    0052c4b8
    0052c4b8loc_52c4b8:
    0052c4b8str x0, [sp+168]
    0052c4bcstr x1, [sp+176]
    0052c4c0ldp x29, x30, [sp-8]
    0052c4c4add sp, sp, 304
    0052c4c8ret x30
    0052c4cc
    0052c4ccloc_52c4cc:
    0052c4ccldr x0, [sp+224]
    0052c4d0bl crypto/internal/fips140/aes/gcm.NewCounterKDF
    0052c4d4str x0, [sp+272]
    0052c4d8ldur x1, [sp+140]
    0052c4dcldr w2, [sp+148]
    0052c4e0str x1, [sp+8]
    0052c4e4str w2, [sp+16]
    0052c4e8movn x1, 0
    0052c4ecbl crypto/internal/fips140/aes/gcm.(*CounterKDF).DeriveKey
    0052c4f0ldp x1, x2, [sp+24]
    0052c4f4ldp x3, x4, [sp+40]
    0052c4f8add x27, sp, 108
    0052c4fcstp x1, x2, [x27]
    0052c500add x27, sp, 124
    0052c504stp x3, x4, [x27]
    0052c508add x0, sp, 108
    0052c50cadd x1, sp, 76
    0052c510orr x2, xzr, 32
    0052c514bl runtime.memequal
    0052c518tbnz w0, 0, 0x52c520
    0052c51cb 0x52c538
    0052c520
    0052c520loc_52c520:
    0052c520stp xzr, xzr, [sp+168]
    0052c524mov x0, xzr
    0052c528mov x1, xzr
    0052c52cldp x29, x30, [sp-8]
    0052c530add sp, sp, 304
    0052c534ret x30
    0052c538
    0052c538loc_52c538:
    0052c538adrp x0, 0x189000
    0052c53cadd x0, x0, 1543
    0052c540movz x1, 17
    0052c544bl errors.New
    0052c548str x0, [sp+280]
    0052c54cstr x1, [sp+288]
    0052c550str x0, [sp+168]
    0052c554str x1, [sp+176]
    0052c558ldp x29, x30, [sp-8]
    0052c55cadd sp, sp, 304
    0052c560ret x30
    0052c564
    0052c564loc_52c564:
    0052c564mov x3, x30
    0052c568bl runtime.morestack_noctxt.abi0
    0052c56cb 0x52c2d0
    0052c2d0
    0052c570
    0052c570crypto/internal/fips140/aes/gcm.gcmAesFinish.abi0: ; void crypto/internal/fips140/aes/gcm.gcmAesFinish(void)
    0052c570movz x1, 194
    0052c574ubfm x1, x1, 8, 7
    0052c578orr x0, xzr, 1
    0052c57cins v15.d[0], x1
    0052c580ins v15.d[1], x0
    0052c584eor v16.16b, v16.16b, v16.16b
    0052c588ldr x0, [sp+8]
    0052c58cldr x1, [sp+16]
    0052c590ldr x2, [sp+24]
    0052c594ldr x3, [sp+32]
    0052c598ldr x4, [sp+40]
    0052c59cld1
    0052c5a0ld1
    0052c5a4ubfm x3, x3, 61, 60
    0052c5a8ubfm x4, x4, 61, 60
    0052c5acins v0.d[0], x4
    0052c5b0ins v0.d[1], x3
    0052c5b4add x0, x0, 224
    0052c5b8ld1
    0052c5bceor v0.16b, v0.16b, v8.16b
    0052c5c0ext v11.16b, v0.16b, v0.16b, 8
    0052c5c4eor v11.16b, v11.16b, v0.16b
    0052c5c8pmull v9.1q, v12.1d, v0.1d
    0052c5ccpmull2 v8.1q, v12.2d, v0.2d
    0052c5d0pmull v10.1q, v13.1d, v11.1d
    0052c5d4eor v10.16b, v10.16b, v8.16b
    0052c5d8eor v10.16b, v10.16b, v9.16b
    0052c5dcext v11.16b, v10.16b, v16.16b, 8
    0052c5e0ext v10.16b, v16.16b, v10.16b, 8
    0052c5e4eor v8.16b, v8.16b, v10.16b
    0052c5e8eor v9.16b, v9.16b, v11.16b
    0052c5ecpmull v11.1q, v8.1d, v15.1d
    0052c5f0ext v8.16b, v8.16b, v8.16b, 8
    0052c5f4eor v8.16b, v8.16b, v11.16b
    0052c5f8pmull v11.1q, v8.1d, v15.1d
    0052c5fceor v9.16b, v9.16b, v11.16b
    0052c600ext v9.16b, v9.16b, v9.16b, 8
    0052c604eor v8.16b, v8.16b, v9.16b
    0052c608rev64 v8.16b, v8.16b
    0052c60ceor v8.16b, v8.16b, v1.16b
    0052c610st1
    0052c614ret x30
    0052c618udf 0
    0052c61cudf 0
    0052c570