File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    0052c620
    0052c620crypto/internal/fips140/aes/gcm.gcmAesInit.abi0: ; void crypto/internal/fips140/aes/gcm.gcmAesInit(void)
    0052c620ldr x0, [sp+8]
    0052c624ldr x1, [sp+16]
    0052c628ldr x2, [sp+24]
    0052c62cmovz x3, 194
    0052c630ubfm x3, x3, 8, 7
    0052c634ins v15.d[0], x3
    0052c638orr x3, xzr, 1
    0052c63cins v15.d[1], x3
    0052c640eor v16.16b, v16.16b, v16.16b
    0052c644ld1
    0052c648eor v0.16b, v0.16b, v0.16b
    0052c64caese v0.16b, v11.16b
    0052c650aesmc v0.16b, v0.16b
    0052c654aese v0.16b, v12.16b
    0052c658aesmc v0.16b, v0.16b
    0052c65caese v0.16b, v13.16b
    0052c660aesmc v0.16b, v0.16b
    0052c664aese v0.16b, v14.16b
    0052c668aesmc v0.16b, v0.16b
    0052c66cld1
    0052c670aese v0.16b, v11.16b
    0052c674aesmc v0.16b, v0.16b
    0052c678aese v0.16b, v12.16b
    0052c67caesmc v0.16b, v0.16b
    0052c680aese v0.16b, v13.16b
    0052c684aesmc v0.16b, v0.16b
    0052c688aese v0.16b, v14.16b
    0052c68caesmc v0.16b, v0.16b
    0052c690tbz w2, 4, 0x52c6c0
    0052c694ld1
    0052c698aese v0.16b, v11.16b
    0052c69caesmc v0.16b, v0.16b
    0052c6a0aese v0.16b, v12.16b
    0052c6a4aesmc v0.16b, v0.16b
    0052c6a8tbz w2, 3, 0x52c6c0
    0052c6acld1
    0052c6b0aese v0.16b, v11.16b
    0052c6b4aesmc v0.16b, v0.16b
    0052c6b8aese v0.16b, v12.16b
    0052c6bcaesmc v0.16b, v0.16b
    0052c6c0
    0052c6c0loc_52c6c0:
    0052c6c0ld1
    0052c6c4aese v0.16b, v11.16b
    0052c6c8aesmc v0.16b, v0.16b
    0052c6ccaese v0.16b, v12.16b
    0052c6d0eor v0.16b, v0.16b, v13.16b
    0052c6d4rev64 v0.16b, v0.16b
    0052c6d8umov x3, v0.d[0]
    0052c6dcsbfm x3, x3, 63, 63
    0052c6e0ins v12.d[0], x3
    0052c6e4ins v12.d[1], x3
    0052c6e8and v12.16b, v12.16b, v15.16b
    0052c6ecushr v13.2d, v0.2d, 63
    0052c6f0ext v13.16b, v13.16b, v16.16b, 8
    0052c6f4shl v0.2d, v0.2d, 1
    0052c6f8eor v0.16b, v0.16b, v12.16b
    0052c6fceor v0.16b, v0.16b, v13.16b
    0052c700ext v1.16b, v0.16b, v0.16b, 8
    0052c704eor v1.16b, v1.16b, v0.16b
    0052c708add x0, x0, 224
    0052c70cst1
    0052c710sub x0, x0, 32
    0052c714orr v2.16b, v0.16b, v0.16b
    0052c718orr v3.16b, v1.16b, v1.16b
    0052c71corr x3, xzr, 7
    0052c720
    0052c720loc_52c720:
    0052c720subs x3, x3, 1
    0052c724pmull v12.1q, v2.1d, v0.1d
    0052c728pmull2 v11.1q, v2.2d, v0.2d
    0052c72cpmull v13.1q, v3.1d, v1.1d
    0052c730eor v13.16b, v13.16b, v11.16b
    0052c734eor v13.16b, v13.16b, v12.16b
    0052c738ext v14.16b, v13.16b, v16.16b, 8
    0052c73cext v13.16b, v16.16b, v13.16b, 8
    0052c740eor v11.16b, v11.16b, v13.16b
    0052c744eor v12.16b, v12.16b, v14.16b
    0052c748pmull v13.1q, v11.1d, v15.1d
    0052c74cext v11.16b, v11.16b, v11.16b, 8
    0052c750eor v11.16b, v11.16b, v13.16b
    0052c754pmull v13.1q, v11.1d, v15.1d
    0052c758ext v11.16b, v11.16b, v11.16b, 8
    0052c75ceor v11.16b, v11.16b, v13.16b
    0052c760eor v2.16b, v11.16b, v12.16b
    0052c764orr v3.16b, v2.16b, v2.16b
    0052c768ext v2.16b, v2.16b, v2.16b, 8
    0052c76ceor v3.16b, v3.16b, v2.16b
    0052c770st1
    0052c774sub x0, x0, 32
    0052c778b.ne 0x52c720
    0052c77cret x30
    0052c620
    0052c780
    0052c780crypto/internal/fips140/aes/gcm.gcmAesData.abi0: ; void crypto/internal/fips140/aes/gcm.gcmAesData(void)
    0052c780ldr x0, [sp+8]
    0052c784ldr x1, [sp+16]
    0052c788ldr x3, [sp+24]
    0052c78cldr x2, [sp+40]
    0052c790eor v8.16b, v8.16b, v8.16b
    0052c794cbz x3, 0x52ca14
    0052c798movz x4, 194
    0052c79cubfm x4, x4, 8, 7
    0052c7a0ins v15.d[0], x4
    0052c7a4orr x4, xzr, 1
    0052c7a8ins v15.d[1], x4
    0052c7aceor v16.16b, v16.16b, v16.16b
    0052c7b0mov x5, x0
    0052c7b4subs xzr, x3, 13
    0052c7b8b.eq 0x52c7c8
    0052c7bcsubs xzr, x3, 128
    0052c7c0b.lt 0x52c984
    0052c7c4b 0x52c7f4
    0052c7c8
    0052c7c8loc_52c7c8:
    0052c7c8add x0, x0, 224
    0052c7ccld1
    0052c7d0eor v0.16b, v0.16b, v0.16b
    0052c7d4ldr x4, [x1]
    0052c7d8ins v0.d[0], x4
    0052c7dcldrsw x4, [x1+8]
    0052c7e0ins v0.s[2], w4
    0052c7e4ldrsb x4, [x1+12]
    0052c7e8ins v0.b[12], w4
    0052c7ecmov x3, xzr
    0052c7f0b 0x52c99c
    0052c7f4
    0052c7f4loc_52c7f4:
    0052c7f4subs xzr, x3, 128
    0052c7f8b.lt 0x52c984
    0052c7fcsub x3, x3, 128
    0052c800ld1
    0052c804ld1
    0052c808rev64 v0.16b, v0.16b
    0052c80ceor v0.16b, v0.16b, v8.16b
    0052c810ext v11.16b, v0.16b, v0.16b, 8
    0052c814eor v11.16b, v11.16b, v0.16b
    0052c818pmull v9.1q, v12.1d, v0.1d
    0052c81cpmull2 v8.1q, v12.2d, v0.2d
    0052c820pmull v10.1q, v13.1d, v11.1d
    0052c824ld1
    0052c828rev64 v1.16b, v1.16b
    0052c82cext v11.16b, v1.16b, v1.16b, 8
    0052c830eor v11.16b, v11.16b, v1.16b
    0052c834pmull v14.1q, v12.1d, v1.1d
    0052c838eor v9.16b, v9.16b, v14.16b
    0052c83cpmull2 v14.1q, v12.2d, v1.2d
    0052c840eor v8.16b, v8.16b, v14.16b
    0052c844pmull v14.1q, v13.1d, v11.1d
    0052c848eor v10.16b, v10.16b, v14.16b
    0052c84cld1
    0052c850ld1
    0052c854rev64 v2.16b, v2.16b
    0052c858ext v11.16b, v2.16b, v2.16b, 8
    0052c85ceor v11.16b, v11.16b, v2.16b
    0052c860pmull v14.1q, v12.1d, v2.1d
    0052c864eor v9.16b, v9.16b, v14.16b
    0052c868pmull2 v14.1q, v12.2d, v2.2d
    0052c86ceor v8.16b, v8.16b, v14.16b
    0052c870pmull v14.1q, v13.1d, v11.1d
    0052c874eor v10.16b, v10.16b, v14.16b
    0052c878ld1
    0052c87crev64 v3.16b, v3.16b
    0052c880ext v11.16b, v3.16b, v3.16b, 8
    0052c884eor v11.16b, v11.16b, v3.16b
    0052c888pmull v14.1q, v12.1d, v3.1d
    0052c88ceor v9.16b, v9.16b, v14.16b
    0052c890pmull2 v14.1q, v12.2d, v3.2d
    0052c894eor v8.16b, v8.16b, v14.16b
    0052c898pmull v14.1q, v13.1d, v11.1d
    0052c89ceor v10.16b, v10.16b, v14.16b
    0052c8a0ld1
    0052c8a4ld1
    0052c8a8rev64 v4.16b, v4.16b
    0052c8acext v11.16b, v4.16b, v4.16b, 8
    0052c8b0eor v11.16b, v11.16b, v4.16b
    0052c8b4pmull v14.1q, v12.1d, v4.1d
    0052c8b8eor v9.16b, v9.16b, v14.16b
    0052c8bcpmull2 v14.1q, v12.2d, v4.2d
    0052c8c0eor v8.16b, v8.16b, v14.16b
    0052c8c4pmull v14.1q, v13.1d, v11.1d
    0052c8c8eor v10.16b, v10.16b, v14.16b
    0052c8ccld1
    0052c8d0rev64 v5.16b, v5.16b
    0052c8d4ext v11.16b, v5.16b, v5.16b, 8
    0052c8d8eor v11.16b, v11.16b, v5.16b
    0052c8dcpmull v14.1q, v12.1d, v5.1d
    0052c8e0eor v9.16b, v9.16b, v14.16b
    0052c8e4pmull2 v14.1q, v12.2d, v5.2d
    0052c8e8eor v8.16b, v8.16b, v14.16b
    0052c8ecpmull v14.1q, v13.1d, v11.1d
    0052c8f0eor v10.16b, v10.16b, v14.16b
    0052c8f4ld1
    0052c8f8ld1
    0052c8fcrev64 v6.16b, v6.16b
    0052c900ext v11.16b, v6.16b, v6.16b, 8
    0052c904eor v11.16b, v11.16b, v6.16b
    0052c908pmull v14.1q, v12.1d, v6.1d
    0052c90ceor v9.16b, v9.16b, v14.16b
    0052c910pmull2 v14.1q, v12.2d, v6.2d
    0052c914eor v8.16b, v8.16b, v14.16b
    0052c918pmull v14.1q, v13.1d, v11.1d
    0052c91ceor v10.16b, v10.16b, v14.16b
    0052c920ld1
    0052c924rev64 v7.16b, v7.16b
    0052c928ext v11.16b, v7.16b, v7.16b, 8
    0052c92ceor v11.16b, v11.16b, v7.16b
    0052c930pmull v14.1q, v12.1d, v7.1d
    0052c934eor v9.16b, v9.16b, v14.16b
    0052c938pmull2 v14.1q, v12.2d, v7.2d
    0052c93ceor v8.16b, v8.16b, v14.16b
    0052c940pmull v14.1q, v13.1d, v11.1d
    0052c944eor v10.16b, v10.16b, v14.16b
    0052c948mov x0, x5
    0052c94ceor v10.16b, v10.16b, v8.16b
    0052c950eor v10.16b, v10.16b, v9.16b
    0052c954ext v11.16b, v10.16b, v16.16b, 8
    0052c958ext v10.16b, v16.16b, v10.16b, 8
    0052c95ceor v8.16b, v8.16b, v10.16b
    0052c960eor v9.16b, v9.16b, v11.16b
    0052c964pmull v11.1q, v8.1d, v15.1d
    0052c968ext v8.16b, v8.16b, v8.16b, 8
    0052c96ceor v8.16b, v8.16b, v11.16b
    0052c970pmull v11.1q, v8.1d, v15.1d
    0052c974eor v9.16b, v9.16b, v11.16b
    0052c978ext v9.16b, v9.16b, v9.16b, 8
    0052c97ceor v8.16b, v8.16b, v9.16b
    0052c980b 0x52c7f4
    0052c984
    0052c984loc_52c984:
    0052c984add x0, x0, 224
    0052c988ld1
    0052c98c
    0052c98cloc_52c98c:
    0052c98csubs xzr, x3, 16
    0052c990b.lt 0x52c9f0
    0052c994sub x3, x3, 16
    0052c998ld1
    0052c99c
    0052c99cloc_52c99c:
    0052c99crev64 v0.16b, v0.16b
    0052c9a0eor v0.16b, v0.16b, v8.16b
    0052c9a4ext v11.16b, v0.16b, v0.16b, 8
    0052c9a8eor v11.16b, v11.16b, v0.16b
    0052c9acpmull v9.1q, v12.1d, v0.1d
    0052c9b0pmull2 v8.1q, v12.2d, v0.2d
    0052c9b4pmull v10.1q, v13.1d, v11.1d
    0052c9b8eor v10.16b, v10.16b, v8.16b
    0052c9bceor v10.16b, v10.16b, v9.16b
    0052c9c0ext v11.16b, v10.16b, v16.16b, 8
    0052c9c4ext v10.16b, v16.16b, v10.16b, 8
    0052c9c8eor v8.16b, v8.16b, v10.16b
    0052c9cceor v9.16b, v9.16b, v11.16b
    0052c9d0pmull v11.1q, v8.1d, v15.1d
    0052c9d4ext v8.16b, v8.16b, v8.16b, 8
    0052c9d8eor v8.16b, v8.16b, v11.16b
    0052c9dcpmull v11.1q, v8.1d, v15.1d
    0052c9e0eor v9.16b, v9.16b, v11.16b
    0052c9e4ext v9.16b, v9.16b, v9.16b, 8
    0052c9e8eor v8.16b, v8.16b, v9.16b
    0052c9ecb 0x52c98c
    0052c9f0
    0052c9f0loc_52c9f0:
    0052c9f0cbz x3, 0x52ca14
    0052c9f4eor v0.16b, v0.16b, v0.16b
    0052c9f8add x1, x1, x3
    0052c9fc
    0052c9fcloc_52c9fc:
    0052c9fcldrsb x4, [x1-1]!
    0052ca00ext v0.16b, v16.16b, v0.16b, 15
    0052ca04ins v0.b[0], w4
    0052ca08subs x3, x3, 1
    0052ca0cb.ne 0x52c9fc
    0052ca10b 0x52c99c
    0052ca14
    0052ca14loc_52ca14:
    0052ca14st1
    0052ca18ret x30
    0052ca1cudf 0
    0052c780