File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    0052ca20
    0052ca20crypto/internal/fips140/aes/gcm.gcmAesEnc.abi0: ; void crypto/internal/fips140/aes/gcm.gcmAesEnc(void)
    0052ca20ldr x0, [sp+8]
    0052ca24ldr x1, [sp+16]
    0052ca28ldr x3, [sp+40]
    0052ca2cldr x6, [sp+48]
    0052ca30ldr x2, [sp+64]
    0052ca34ldr x5, [sp+72]
    0052ca38ldr x4, [sp+80]
    0052ca3cldr x10, [sp+88]
    0052ca40movz x12, 194
    0052ca44ubfm x12, x12, 8, 7
    0052ca48orr x11, xzr, 1
    0052ca4cins v15.d[0], x12
    0052ca50ins v15.d[1], x11
    0052ca54eor v16.16b, v16.16b, v16.16b
    0052ca58mov x14, x0
    0052ca5cld1
    0052ca60eor v9.16b, v9.16b, v9.16b
    0052ca64eor v10.16b, v10.16b, v10.16b
    0052ca68ld1
    0052ca6ceor v17.16b, v17.16b, v17.16b
    0052ca70orr x11, xzr, 1
    0052ca74ins v17.s[3], w11
    0052ca78rev32 v18.16b, v18.16b
    0052ca7cadd v18.4s, v17.4s, v18.4s
    0052ca80subs xzr, x6, 128
    0052ca84mov x11, x4
    0052ca88ld1
    0052ca8cld1
    0052ca90ld1
    0052ca94orr v31.16b, v29.16b, v29.16b
    0052ca98b.lt 0x52d05c
    0052ca9ctbz w10, 4, 0x52cacc
    0052caa0orr v29.16b, v27.16b, v27.16b
    0052caa4orr v30.16b, v28.16b, v28.16b
    0052caa8orr v27.16b, v31.16b, v31.16b
    0052caacld1
    0052cab0ld1
    0052cab4tbz w10, 3, 0x52cacc
    0052cab8orr v27.16b, v31.16b, v31.16b
    0052cabcld1
    0052cac0ld1
    0052cac4add x11, x4, 160
    0052cac8mov x13, x11
    0052cacc
    0052caccloc_52cacc:
    0052caccsub x6, x6, 128
    0052cad0orr v0.16b, v18.16b, v18.16b
    0052cad4add v1.4s, v17.4s, v0.4s
    0052cad8rev32 v0.16b, v0.16b
    0052cadcadd v2.4s, v17.4s, v1.4s
    0052cae0rev32 v1.16b, v1.16b
    0052cae4add v3.4s, v17.4s, v2.4s
    0052cae8rev32 v2.16b, v2.16b
    0052caecadd v4.4s, v17.4s, v3.4s
    0052caf0rev32 v3.16b, v3.16b
    0052caf4add v5.4s, v17.4s, v4.4s
    0052caf8rev32 v4.16b, v4.16b
    0052cafcadd v6.4s, v17.4s, v5.4s
    0052cb00rev32 v5.16b, v5.16b
    0052cb04add v7.4s, v17.4s, v6.4s
    0052cb08rev32 v6.16b, v6.16b
    0052cb0cadd v18.4s, v17.4s, v7.4s
    0052cb10rev32 v7.16b, v7.16b
    0052cb14aese v0.16b, v19.16b
    0052cb18aesmc v0.16b, v0.16b
    0052cb1caese v1.16b, v19.16b
    0052cb20aesmc v1.16b, v1.16b
    0052cb24aese v2.16b, v19.16b
    0052cb28aesmc v2.16b, v2.16b
    0052cb2caese v3.16b, v19.16b
    0052cb30aesmc v3.16b, v3.16b
    0052cb34aese v4.16b, v19.16b
    0052cb38aesmc v4.16b, v4.16b
    0052cb3caese v5.16b, v19.16b
    0052cb40aesmc v5.16b, v5.16b
    0052cb44aese v6.16b, v19.16b
    0052cb48aesmc v6.16b, v6.16b
    0052cb4caese v7.16b, v19.16b
    0052cb50aesmc v7.16b, v7.16b
    0052cb54aese v0.16b, v20.16b
    0052cb58aesmc v0.16b, v0.16b
    0052cb5caese v1.16b, v20.16b
    0052cb60aesmc v1.16b, v1.16b
    0052cb64aese v2.16b, v20.16b
    0052cb68aesmc v2.16b, v2.16b
    0052cb6caese v3.16b, v20.16b
    0052cb70aesmc v3.16b, v3.16b
    0052cb74aese v4.16b, v20.16b
    0052cb78aesmc v4.16b, v4.16b
    0052cb7caese v5.16b, v20.16b
    0052cb80aesmc v5.16b, v5.16b
    0052cb84aese v6.16b, v20.16b
    0052cb88aesmc v6.16b, v6.16b
    0052cb8caese v7.16b, v20.16b
    0052cb90aesmc v7.16b, v7.16b
    0052cb94aese v0.16b, v21.16b
    0052cb98aesmc v0.16b, v0.16b
    0052cb9caese v1.16b, v21.16b
    0052cba0aesmc v1.16b, v1.16b
    0052cba4aese v2.16b, v21.16b
    0052cba8aesmc v2.16b, v2.16b
    0052cbacaese v3.16b, v21.16b
    0052cbb0aesmc v3.16b, v3.16b
    0052cbb4aese v4.16b, v21.16b
    0052cbb8aesmc v4.16b, v4.16b
    0052cbbcaese v5.16b, v21.16b
    0052cbc0aesmc v5.16b, v5.16b
    0052cbc4aese v6.16b, v21.16b
    0052cbc8aesmc v6.16b, v6.16b
    0052cbccaese v7.16b, v21.16b
    0052cbd0aesmc v7.16b, v7.16b
    0052cbd4aese v0.16b, v22.16b
    0052cbd8aesmc v0.16b, v0.16b
    0052cbdcaese v1.16b, v22.16b
    0052cbe0aesmc v1.16b, v1.16b
    0052cbe4aese v2.16b, v22.16b
    0052cbe8aesmc v2.16b, v2.16b
    0052cbecaese v3.16b, v22.16b
    0052cbf0aesmc v3.16b, v3.16b
    0052cbf4aese v4.16b, v22.16b
    0052cbf8aesmc v4.16b, v4.16b
    0052cbfcaese v5.16b, v22.16b
    0052cc00aesmc v5.16b, v5.16b
    0052cc04aese v6.16b, v22.16b
    0052cc08aesmc v6.16b, v6.16b
    0052cc0caese v7.16b, v22.16b
    0052cc10aesmc v7.16b, v7.16b
    0052cc14aese v0.16b, v23.16b
    0052cc18aesmc v0.16b, v0.16b
    0052cc1caese v1.16b, v23.16b
    0052cc20aesmc v1.16b, v1.16b
    0052cc24aese v2.16b, v23.16b
    0052cc28aesmc v2.16b, v2.16b
    0052cc2caese v3.16b, v23.16b
    0052cc30aesmc v3.16b, v3.16b
    0052cc34aese v4.16b, v23.16b
    0052cc38aesmc v4.16b, v4.16b
    0052cc3caese v5.16b, v23.16b
    0052cc40aesmc v5.16b, v5.16b
    0052cc44aese v6.16b, v23.16b
    0052cc48aesmc v6.16b, v6.16b
    0052cc4caese v7.16b, v23.16b
    0052cc50aesmc v7.16b, v7.16b
    0052cc54aese v0.16b, v24.16b
    0052cc58aesmc v0.16b, v0.16b
    0052cc5caese v1.16b, v24.16b
    0052cc60aesmc v1.16b, v1.16b
    0052cc64aese v2.16b, v24.16b
    0052cc68aesmc v2.16b, v2.16b
    0052cc6caese v3.16b, v24.16b
    0052cc70aesmc v3.16b, v3.16b
    0052cc74aese v4.16b, v24.16b
    0052cc78aesmc v4.16b, v4.16b
    0052cc7caese v5.16b, v24.16b
    0052cc80aesmc v5.16b, v5.16b
    0052cc84aese v6.16b, v24.16b
    0052cc88aesmc v6.16b, v6.16b
    0052cc8caese v7.16b, v24.16b
    0052cc90aesmc v7.16b, v7.16b
    0052cc94aese v0.16b, v25.16b
    0052cc98aesmc v0.16b, v0.16b
    0052cc9caese v1.16b, v25.16b
    0052cca0aesmc v1.16b, v1.16b
    0052cca4aese v2.16b, v25.16b
    0052cca8aesmc v2.16b, v2.16b
    0052ccacaese v3.16b, v25.16b
    0052ccb0aesmc v3.16b, v3.16b
    0052ccb4aese v4.16b, v25.16b
    0052ccb8aesmc v4.16b, v4.16b
    0052ccbcaese v5.16b, v25.16b
    0052ccc0aesmc v5.16b, v5.16b
    0052ccc4aese v6.16b, v25.16b
    0052ccc8aesmc v6.16b, v6.16b
    0052ccccaese v7.16b, v25.16b
    0052ccd0aesmc v7.16b, v7.16b
    0052ccd4aese v0.16b, v26.16b
    0052ccd8aesmc v0.16b, v0.16b
    0052ccdcaese v1.16b, v26.16b
    0052cce0aesmc v1.16b, v1.16b
    0052cce4aese v2.16b, v26.16b
    0052cce8aesmc v2.16b, v2.16b
    0052ccecaese v3.16b, v26.16b
    0052ccf0aesmc v3.16b, v3.16b
    0052ccf4aese v4.16b, v26.16b
    0052ccf8aesmc v4.16b, v4.16b
    0052ccfcaese v5.16b, v26.16b
    0052cd00aesmc v5.16b, v5.16b
    0052cd04aese v6.16b, v26.16b
    0052cd08aesmc v6.16b, v6.16b
    0052cd0caese v7.16b, v26.16b
    0052cd10aesmc v7.16b, v7.16b
    0052cd14tbz w10, 4, 0x52ce24
    0052cd18aese v0.16b, v29.16b
    0052cd1caesmc v0.16b, v0.16b
    0052cd20aese v1.16b, v29.16b
    0052cd24aesmc v1.16b, v1.16b
    0052cd28aese v2.16b, v29.16b
    0052cd2caesmc v2.16b, v2.16b
    0052cd30aese v3.16b, v29.16b
    0052cd34aesmc v3.16b, v3.16b
    0052cd38aese v4.16b, v29.16b
    0052cd3caesmc v4.16b, v4.16b
    0052cd40aese v5.16b, v29.16b
    0052cd44aesmc v5.16b, v5.16b
    0052cd48aese v6.16b, v29.16b
    0052cd4caesmc v6.16b, v6.16b
    0052cd50aese v7.16b, v29.16b
    0052cd54aesmc v7.16b, v7.16b
    0052cd58aese v0.16b, v30.16b
    0052cd5caesmc v0.16b, v0.16b
    0052cd60aese v1.16b, v30.16b
    0052cd64aesmc v1.16b, v1.16b
    0052cd68aese v2.16b, v30.16b
    0052cd6caesmc v2.16b, v2.16b
    0052cd70aese v3.16b, v30.16b
    0052cd74aesmc v3.16b, v3.16b
    0052cd78aese v4.16b, v30.16b
    0052cd7caesmc v4.16b, v4.16b
    0052cd80aese v5.16b, v30.16b
    0052cd84aesmc v5.16b, v5.16b
    0052cd88aese v6.16b, v30.16b
    0052cd8caesmc v6.16b, v6.16b
    0052cd90aese v7.16b, v30.16b
    0052cd94aesmc v7.16b, v7.16b
    0052cd98tbz w10, 3, 0x52ce24
    0052cd9cld1
    0052cda0aese v0.16b, v12.16b
    0052cda4aesmc v0.16b, v0.16b
    0052cda8aese v1.16b, v12.16b
    0052cdacaesmc v1.16b, v1.16b
    0052cdb0aese v2.16b, v12.16b
    0052cdb4aesmc v2.16b, v2.16b
    0052cdb8aese v3.16b, v12.16b
    0052cdbcaesmc v3.16b, v3.16b
    0052cdc0aese v4.16b, v12.16b
    0052cdc4aesmc v4.16b, v4.16b
    0052cdc8aese v5.16b, v12.16b
    0052cdccaesmc v5.16b, v5.16b
    0052cdd0aese v6.16b, v12.16b
    0052cdd4aesmc v6.16b, v6.16b
    0052cdd8aese v7.16b, v12.16b
    0052cddcaesmc v7.16b, v7.16b
    0052cde0aese v0.16b, v13.16b
    0052cde4aesmc v0.16b, v0.16b
    0052cde8aese v1.16b, v13.16b
    0052cdecaesmc v1.16b, v1.16b
    0052cdf0aese v2.16b, v13.16b
    0052cdf4aesmc v2.16b, v2.16b
    0052cdf8aese v3.16b, v13.16b
    0052cdfcaesmc v3.16b, v3.16b
    0052ce00aese v4.16b, v13.16b
    0052ce04aesmc v4.16b, v4.16b
    0052ce08aese v5.16b, v13.16b
    0052ce0caesmc v5.16b, v5.16b
    0052ce10aese v6.16b, v13.16b
    0052ce14aesmc v6.16b, v6.16b
    0052ce18aese v7.16b, v13.16b
    0052ce1caesmc v7.16b, v7.16b
    0052ce20mov x13, x11
    0052ce24
    0052ce24loc_52ce24:
    0052ce24aese v0.16b, v27.16b
    0052ce28aesmc v0.16b, v0.16b
    0052ce2caese v1.16b, v27.16b
    0052ce30aesmc v1.16b, v1.16b
    0052ce34aese v2.16b, v27.16b
    0052ce38aesmc v2.16b, v2.16b
    0052ce3caese v3.16b, v27.16b
    0052ce40aesmc v3.16b, v3.16b
    0052ce44aese v4.16b, v27.16b
    0052ce48aesmc v4.16b, v4.16b
    0052ce4caese v5.16b, v27.16b
    0052ce50aesmc v5.16b, v5.16b
    0052ce54aese v6.16b, v27.16b
    0052ce58aesmc v6.16b, v6.16b
    0052ce5caese v7.16b, v27.16b
    0052ce60aesmc v7.16b, v7.16b
    0052ce64aese v0.16b, v28.16b
    0052ce68aese v1.16b, v28.16b
    0052ce6caese v2.16b, v28.16b
    0052ce70aese v3.16b, v28.16b
    0052ce74aese v4.16b, v28.16b
    0052ce78aese v5.16b, v28.16b
    0052ce7caese v6.16b, v28.16b
    0052ce80aese v7.16b, v28.16b
    0052ce84eor v0.16b, v0.16b, v31.16b
    0052ce88eor v1.16b, v1.16b, v31.16b
    0052ce8ceor v2.16b, v2.16b, v31.16b
    0052ce90eor v3.16b, v3.16b, v31.16b
    0052ce94eor v4.16b, v4.16b, v31.16b
    0052ce98eor v5.16b, v5.16b, v31.16b
    0052ce9ceor v6.16b, v6.16b, v31.16b
    0052cea0eor v7.16b, v7.16b, v31.16b
    0052cea4ld1
    0052cea8eor v0.16b, v12.16b, v0.16b
    0052ceaceor v1.16b, v13.16b, v1.16b
    0052ceb0st1
    0052ceb4ld1
    0052ceb8eor v2.16b, v12.16b, v2.16b
    0052cebceor v3.16b, v13.16b, v3.16b
    0052cec0st1
    0052cec4ld1
    0052cec8eor v4.16b, v12.16b, v4.16b
    0052cecceor v5.16b, v13.16b, v5.16b
    0052ced0st1
    0052ced4ld1
    0052ced8eor v6.16b, v12.16b, v6.16b
    0052cedceor v7.16b, v13.16b, v7.16b
    0052cee0st1
    0052cee4ld1
    0052cee8rev64 v0.16b, v0.16b
    0052ceeceor v0.16b, v0.16b, v8.16b
    0052cef0ext v11.16b, v0.16b, v0.16b, 8
    0052cef4eor v11.16b, v11.16b, v0.16b
    0052cef8pmull v9.1q, v12.1d, v0.1d
    0052cefcpmull2 v8.1q, v12.2d, v0.2d
    0052cf00pmull v10.1q, v13.1d, v11.1d
    0052cf04ld1
    0052cf08rev64 v1.16b, v1.16b
    0052cf0cext v11.16b, v1.16b, v1.16b, 8
    0052cf10eor v11.16b, v11.16b, v1.16b
    0052cf14pmull v14.1q, v12.1d, v1.1d
    0052cf18eor v9.16b, v9.16b, v14.16b
    0052cf1cpmull2 v14.1q, v12.2d, v1.2d
    0052cf20eor v8.16b, v8.16b, v14.16b
    0052cf24pmull v14.1q, v13.1d, v11.1d
    0052cf28eor v10.16b, v10.16b, v14.16b
    0052cf2cld1
    0052cf30rev64 v2.16b, v2.16b
    0052cf34ext v11.16b, v2.16b, v2.16b, 8
    0052cf38eor v11.16b, v11.16b, v2.16b
    0052cf3cpmull v14.1q, v12.1d, v2.1d
    0052cf40eor v9.16b, v9.16b, v14.16b
    0052cf44pmull2 v14.1q, v12.2d, v2.2d
    0052cf48eor v8.16b, v8.16b, v14.16b
    0052cf4cpmull v14.1q, v13.1d, v11.1d
    0052cf50eor v10.16b, v10.16b, v14.16b
    0052cf54ld1
    0052cf58rev64 v3.16b, v3.16b
    0052cf5cext v11.16b, v3.16b, v3.16b, 8
    0052cf60eor v11.16b, v11.16b, v3.16b
    0052cf64pmull v14.1q, v12.1d, v3.1d
    0052cf68eor v9.16b, v9.16b, v14.16b
    0052cf6cpmull2 v14.1q, v12.2d, v3.2d
    0052cf70eor v8.16b, v8.16b, v14.16b
    0052cf74pmull v14.1q, v13.1d, v11.1d
    0052cf78eor v10.16b, v10.16b, v14.16b
    0052cf7cld1
    0052cf80rev64 v4.16b, v4.16b
    0052cf84ext v11.16b, v4.16b, v4.16b, 8
    0052cf88eor v11.16b, v11.16b, v4.16b
    0052cf8cpmull v14.1q, v12.1d, v4.1d
    0052cf90eor v9.16b, v9.16b, v14.16b
    0052cf94pmull2 v14.1q, v12.2d, v4.2d
    0052cf98eor v8.16b, v8.16b, v14.16b
    0052cf9cpmull v14.1q, v13.1d, v11.1d
    0052cfa0eor v10.16b, v10.16b, v14.16b
    0052cfa4ld1
    0052cfa8rev64 v5.16b, v5.16b
    0052cfacext v11.16b, v5.16b, v5.16b, 8
    0052cfb0eor v11.16b, v11.16b, v5.16b
    0052cfb4pmull v14.1q, v12.1d, v5.1d
    0052cfb8eor v9.16b, v9.16b, v14.16b
    0052cfbcpmull2 v14.1q, v12.2d, v5.2d
    0052cfc0eor v8.16b, v8.16b, v14.16b
    0052cfc4pmull v14.1q, v13.1d, v11.1d
    0052cfc8eor v10.16b, v10.16b, v14.16b
    0052cfccld1
    0052cfd0rev64 v6.16b, v6.16b
    0052cfd4ext v11.16b, v6.16b, v6.16b, 8
    0052cfd8eor v11.16b, v11.16b, v6.16b
    0052cfdcpmull v14.1q, v12.1d, v6.1d
    0052cfe0eor v9.16b, v9.16b, v14.16b
    0052cfe4pmull2 v14.1q, v12.2d, v6.2d
    0052cfe8eor v8.16b, v8.16b, v14.16b
    0052cfecpmull v14.1q, v13.1d, v11.1d
    0052cff0eor v10.16b, v10.16b, v14.16b
    0052cff4ld1
    0052cff8rev64 v7.16b, v7.16b
    0052cffcext v11.16b, v7.16b, v7.16b, 8
    0052d000eor v11.16b, v11.16b, v7.16b
    0052d004pmull v14.1q, v12.1d, v7.1d
    0052d008eor v9.16b, v9.16b, v14.16b
    0052d00cpmull2 v14.1q, v12.2d, v7.2d
    0052d010eor v8.16b, v8.16b, v14.16b
    0052d014pmull v14.1q, v13.1d, v11.1d
    0052d018eor v10.16b, v10.16b, v14.16b
    0052d01cmov x0, x14
    0052d020eor v10.16b, v10.16b, v8.16b
    0052d024eor v10.16b, v10.16b, v9.16b
    0052d028ext v11.16b, v10.16b, v16.16b, 8
    0052d02cext v10.16b, v16.16b, v10.16b, 8
    0052d030eor v8.16b, v8.16b, v10.16b
    0052d034eor v9.16b, v9.16b, v11.16b
    0052d038pmull v11.1q, v8.1d, v15.1d
    0052d03cext v8.16b, v8.16b, v8.16b, 8
    0052d040eor v8.16b, v8.16b, v11.16b
    0052d044pmull v11.1q, v8.1d, v15.1d
    0052d048eor v9.16b, v9.16b, v11.16b
    0052d04cext v9.16b, v9.16b, v9.16b, 8
    0052d050eor v8.16b, v8.16b, v9.16b
    0052d054subs xzr, x6, 128
    0052d058b.ge 0x52cacc
    0052d05c
    0052d05cloc_52d05c:
    0052d05ccbz x6, 0x52d274
    0052d060add x0, x0, 224
    0052d064ld1
    0052d068add x4, x4, 128
    0052d06cld1
    0052d070orr v31.16b, v29.16b, v29.16b
    0052d074tbz w10, 4, 0x52d08c
    0052d078ld1
    0052d07corr v31.16b, v2.16b, v2.16b
    0052d080tbz w10, 3, 0x52d08c
    0052d084ld1
    0052d088orr v31.16b, v4.16b, v4.16b
    0052d08c
    0052d08cloc_52d08c:
    0052d08csubs xzr, x6, 16
    0052d090b.lt 0x52d178
    0052d094sub x6, x6, 16
    0052d098ld1
    0052d09ceor v11.16b, v11.16b, v31.16b
    0052d0a0rev32 v0.16b, v18.16b
    0052d0a4add v18.4s, v17.4s, v18.4s
    0052d0a8aese v0.16b, v19.16b
    0052d0acaesmc v0.16b, v0.16b
    0052d0b0aese v0.16b, v20.16b
    0052d0b4aesmc v0.16b, v0.16b
    0052d0b8aese v0.16b, v21.16b
    0052d0bcaesmc v0.16b, v0.16b
    0052d0c0aese v0.16b, v22.16b
    0052d0c4aesmc v0.16b, v0.16b
    0052d0c8aese v0.16b, v23.16b
    0052d0ccaesmc v0.16b, v0.16b
    0052d0d0aese v0.16b, v24.16b
    0052d0d4aesmc v0.16b, v0.16b
    0052d0d8aese v0.16b, v25.16b
    0052d0dcaesmc v0.16b, v0.16b
    0052d0e0aese v0.16b, v26.16b
    0052d0e4aesmc v0.16b, v0.16b
    0052d0e8aese v0.16b, v27.16b
    0052d0ecaesmc v0.16b, v0.16b
    0052d0f0aese v0.16b, v28.16b
    0052d0f4tbz w10, 4, 0x52d11c
    0052d0f8aesmc v0.16b, v0.16b
    0052d0fcaese v0.16b, v29.16b
    0052d100aesmc v0.16b, v0.16b
    0052d104aese v0.16b, v1.16b
    0052d108tbz w10, 3, 0x52d11c
    0052d10caesmc v0.16b, v0.16b
    0052d110aese v0.16b, v2.16b
    0052d114aesmc v0.16b, v0.16b
    0052d118aese v0.16b, v3.16b
    0052d11c
    0052d11cloc_52d11c:
    0052d11ceor v0.16b, v0.16b, v11.16b
    0052d120
    0052d120loc_52d120:
    0052d120st1
    0052d124rev64 v0.16b, v0.16b
    0052d128eor v0.16b, v0.16b, v8.16b
    0052d12cext v11.16b, v0.16b, v0.16b, 8
    0052d130eor v11.16b, v11.16b, v0.16b
    0052d134pmull v9.1q, v12.1d, v0.1d
    0052d138pmull2 v8.1q, v12.2d, v0.2d
    0052d13cpmull v10.1q, v13.1d, v11.1d
    0052d140eor v10.16b, v10.16b, v8.16b
    0052d144eor v10.16b, v10.16b, v9.16b
    0052d148ext v11.16b, v10.16b, v16.16b, 8
    0052d14cext v10.16b, v16.16b, v10.16b, 8
    0052d150eor v8.16b, v8.16b, v10.16b
    0052d154eor v9.16b, v9.16b, v11.16b
    0052d158pmull v11.1q, v8.1d, v15.1d
    0052d15cext v8.16b, v8.16b, v8.16b, 8
    0052d160eor v8.16b, v8.16b, v11.16b
    0052d164pmull v11.1q, v8.1d, v15.1d
    0052d168eor v9.16b, v9.16b, v11.16b
    0052d16cext v9.16b, v9.16b, v9.16b, 8
    0052d170eor v8.16b, v8.16b, v9.16b
    0052d174b 0x52d08c
    0052d178
    0052d178loc_52d178:
    0052d178cbz x6, 0x52d274
    0052d17ceor v11.16b, v11.16b, v11.16b
    0052d180eor v14.16b, v14.16b, v14.16b
    0052d184mov x12, xzr
    0052d188sub x12, x12, 1
    0052d18cadd x3, x3, x6
    0052d190tbz w6, 3, 0x52d1a0
    0052d194ldr x11, [x3-8]!
    0052d198ins v11.d[0], x11
    0052d19cins v14.d[0], x12
    0052d1a0
    0052d1a0loc_52d1a0:
    0052d1a0tbz w6, 2, 0x52d1b8
    0052d1a4ldrsw x11, [x3-4]!
    0052d1a8ext v11.16b, v16.16b, v11.16b, 12
    0052d1acext v14.16b, v16.16b, v14.16b, 12
    0052d1b0ins v11.s[0], w11
    0052d1b4ins v14.s[0], w12
    0052d1b8
    0052d1b8loc_52d1b8:
    0052d1b8tbz w6, 1, 0x52d1d0
    0052d1bcldrsh x11, [x3-2]!
    0052d1c0ext v11.16b, v16.16b, v11.16b, 14
    0052d1c4ext v14.16b, v16.16b, v14.16b, 14
    0052d1c8ins v11.h[0], w11
    0052d1ccins v14.h[0], w12
    0052d1d0
    0052d1d0loc_52d1d0:
    0052d1d0tbz w6, 0, 0x52d1e8
    0052d1d4ldrsb x11, [x3-1]!
    0052d1d8ext v11.16b, v16.16b, v11.16b, 15
    0052d1dcext v14.16b, v16.16b, v14.16b, 15
    0052d1e0ins v11.b[0], w11
    0052d1e4ins v14.b[0], w12
    0052d1e8
    0052d1e8loc_52d1e8:
    0052d1e8mov x6, xzr
    0052d1eceor v11.16b, v11.16b, v31.16b
    0052d1f0rev32 v0.16b, v18.16b
    0052d1f4aese v0.16b, v19.16b
    0052d1f8aesmc v0.16b, v0.16b
    0052d1fcaese v0.16b, v20.16b
    0052d200aesmc v0.16b, v0.16b
    0052d204aese v0.16b, v21.16b
    0052d208aesmc v0.16b, v0.16b
    0052d20caese v0.16b, v22.16b
    0052d210aesmc v0.16b, v0.16b
    0052d214aese v0.16b, v23.16b
    0052d218aesmc v0.16b, v0.16b
    0052d21caese v0.16b, v24.16b
    0052d220aesmc v0.16b, v0.16b
    0052d224aese v0.16b, v25.16b
    0052d228aesmc v0.16b, v0.16b
    0052d22caese v0.16b, v26.16b
    0052d230aesmc v0.16b, v0.16b
    0052d234aese v0.16b, v27.16b
    0052d238aesmc v0.16b, v0.16b
    0052d23caese v0.16b, v28.16b
    0052d240tbz w10, 4, 0x52d268
    0052d244aesmc v0.16b, v0.16b
    0052d248aese v0.16b, v29.16b
    0052d24caesmc v0.16b, v0.16b
    0052d250aese v0.16b, v1.16b
    0052d254tbz w10, 3, 0x52d268
    0052d258aesmc v0.16b, v0.16b
    0052d25caese v0.16b, v2.16b
    0052d260aesmc v0.16b, v0.16b
    0052d264aese v0.16b, v3.16b
    0052d268
    0052d268loc_52d268:
    0052d268eor v0.16b, v0.16b, v11.16b
    0052d26cand v0.16b, v0.16b, v14.16b
    0052d270b 0x52d120
    0052d274
    0052d274loc_52d274:
    0052d274st1
    0052d278ret x30
    0052d27cudf 0
    0052ca20
    0052d280
    0052d280crypto/internal/fips140/aes/gcm.gcmAesDec.abi0: ; void crypto/internal/fips140/aes/gcm.gcmAesDec(void)
    0052d280ldr x0, [sp+8]
    0052d284ldr x1, [sp+16]
    0052d288ldr x3, [sp+40]
    0052d28cldr x6, [sp+48]
    0052d290ldr x2, [sp+64]
    0052d294ldr x5, [sp+72]
    0052d298ldr x4, [sp+80]
    0052d29cldr x10, [sp+88]
    0052d2a0movz x12, 194
    0052d2a4ubfm x12, x12, 8, 7
    0052d2a8orr x11, xzr, 1
    0052d2acins v15.d[0], x12
    0052d2b0ins v15.d[1], x11
    0052d2b4eor v16.16b, v16.16b, v16.16b
    0052d2b8mov x14, x0
    0052d2bcld1
    0052d2c0eor v9.16b, v9.16b, v9.16b
    0052d2c4eor v10.16b, v10.16b, v10.16b
    0052d2c8ld1
    0052d2cceor v17.16b, v17.16b, v17.16b
    0052d2d0orr x11, xzr, 1
    0052d2d4ins v17.s[3], w11
    0052d2d8rev32 v18.16b, v18.16b
    0052d2dcadd v18.4s, v17.4s, v18.4s
    0052d2e0mov x11, x4
    0052d2e4ld1
    0052d2e8ld1
    0052d2ecld1
    0052d2f0orr v31.16b, v29.16b, v29.16b
    0052d2f4subs xzr, x6, 128
    0052d2f8b.lt 0x52d8bc
    0052d2fctbz w10, 4, 0x52d32c
    0052d300orr v29.16b, v27.16b, v27.16b
    0052d304orr v30.16b, v28.16b, v28.16b
    0052d308orr v27.16b, v31.16b, v31.16b
    0052d30cld1
    0052d310ld1
    0052d314tbz w10, 3, 0x52d32c
    0052d318orr v27.16b, v31.16b, v31.16b
    0052d31cld1
    0052d320ld1
    0052d324add x11, x4, 160
    0052d328mov x13, x11
    0052d32c
    0052d32cloc_52d32c:
    0052d32csub x6, x6, 128
    0052d330orr v0.16b, v18.16b, v18.16b
    0052d334add v1.4s, v17.4s, v0.4s
    0052d338rev32 v0.16b, v0.16b
    0052d33cadd v2.4s, v17.4s, v1.4s
    0052d340rev32 v1.16b, v1.16b
    0052d344add v3.4s, v17.4s, v2.4s
    0052d348rev32 v2.16b, v2.16b
    0052d34cadd v4.4s, v17.4s, v3.4s
    0052d350rev32 v3.16b, v3.16b
    0052d354add v5.4s, v17.4s, v4.4s
    0052d358rev32 v4.16b, v4.16b
    0052d35cadd v6.4s, v17.4s, v5.4s
    0052d360rev32 v5.16b, v5.16b
    0052d364add v7.4s, v17.4s, v6.4s
    0052d368rev32 v6.16b, v6.16b
    0052d36cadd v18.4s, v17.4s, v7.4s
    0052d370rev32 v7.16b, v7.16b
    0052d374aese v0.16b, v19.16b
    0052d378aesmc v0.16b, v0.16b
    0052d37caese v1.16b, v19.16b
    0052d380aesmc v1.16b, v1.16b
    0052d384aese v2.16b, v19.16b
    0052d388aesmc v2.16b, v2.16b
    0052d38caese v3.16b, v19.16b
    0052d390aesmc v3.16b, v3.16b
    0052d394aese v4.16b, v19.16b
    0052d398aesmc v4.16b, v4.16b
    0052d39caese v5.16b, v19.16b
    0052d3a0aesmc v5.16b, v5.16b
    0052d3a4aese v6.16b, v19.16b
    0052d3a8aesmc v6.16b, v6.16b
    0052d3acaese v7.16b, v19.16b
    0052d3b0aesmc v7.16b, v7.16b
    0052d3b4aese v0.16b, v20.16b
    0052d3b8aesmc v0.16b, v0.16b
    0052d3bcaese v1.16b, v20.16b
    0052d3c0aesmc v1.16b, v1.16b
    0052d3c4aese v2.16b, v20.16b
    0052d3c8aesmc v2.16b, v2.16b
    0052d3ccaese v3.16b, v20.16b
    0052d3d0aesmc v3.16b, v3.16b
    0052d3d4aese v4.16b, v20.16b
    0052d3d8aesmc v4.16b, v4.16b
    0052d3dcaese v5.16b, v20.16b
    0052d3e0aesmc v5.16b, v5.16b
    0052d3e4aese v6.16b, v20.16b
    0052d3e8aesmc v6.16b, v6.16b
    0052d3ecaese v7.16b, v20.16b
    0052d3f0aesmc v7.16b, v7.16b
    0052d3f4aese v0.16b, v21.16b
    0052d3f8aesmc v0.16b, v0.16b
    0052d3fcaese v1.16b, v21.16b
    0052d400aesmc v1.16b, v1.16b
    0052d404aese v2.16b, v21.16b
    0052d408aesmc v2.16b, v2.16b
    0052d40caese v3.16b, v21.16b
    0052d410aesmc v3.16b, v3.16b
    0052d414aese v4.16b, v21.16b
    0052d418aesmc v4.16b, v4.16b
    0052d41caese v5.16b, v21.16b
    0052d420aesmc v5.16b, v5.16b
    0052d424aese v6.16b, v21.16b
    0052d428aesmc v6.16b, v6.16b
    0052d42caese v7.16b, v21.16b
    0052d430aesmc v7.16b, v7.16b
    0052d434aese v0.16b, v22.16b
    0052d438aesmc v0.16b, v0.16b
    0052d43caese v1.16b, v22.16b
    0052d440aesmc v1.16b, v1.16b
    0052d444aese v2.16b, v22.16b
    0052d448aesmc v2.16b, v2.16b
    0052d44caese v3.16b, v22.16b
    0052d450aesmc v3.16b, v3.16b
    0052d454aese v4.16b, v22.16b
    0052d458aesmc v4.16b, v4.16b
    0052d45caese v5.16b, v22.16b
    0052d460aesmc v5.16b, v5.16b
    0052d464aese v6.16b, v22.16b
    0052d468aesmc v6.16b, v6.16b
    0052d46caese v7.16b, v22.16b
    0052d470aesmc v7.16b, v7.16b
    0052d474aese v0.16b, v23.16b
    0052d478aesmc v0.16b, v0.16b
    0052d47caese v1.16b, v23.16b
    0052d480aesmc v1.16b, v1.16b
    0052d484aese v2.16b, v23.16b
    0052d488aesmc v2.16b, v2.16b
    0052d48caese v3.16b, v23.16b
    0052d490aesmc v3.16b, v3.16b
    0052d494aese v4.16b, v23.16b
    0052d498aesmc v4.16b, v4.16b
    0052d49caese v5.16b, v23.16b
    0052d4a0aesmc v5.16b, v5.16b
    0052d4a4aese v6.16b, v23.16b
    0052d4a8aesmc v6.16b, v6.16b
    0052d4acaese v7.16b, v23.16b
    0052d4b0aesmc v7.16b, v7.16b
    0052d4b4aese v0.16b, v24.16b
    0052d4b8aesmc v0.16b, v0.16b
    0052d4bcaese v1.16b, v24.16b
    0052d4c0aesmc v1.16b, v1.16b
    0052d4c4aese v2.16b, v24.16b
    0052d4c8aesmc v2.16b, v2.16b
    0052d4ccaese v3.16b, v24.16b
    0052d4d0aesmc v3.16b, v3.16b
    0052d4d4aese v4.16b, v24.16b
    0052d4d8aesmc v4.16b, v4.16b
    0052d4dcaese v5.16b, v24.16b
    0052d4e0aesmc v5.16b, v5.16b
    0052d4e4aese v6.16b, v24.16b
    0052d4e8aesmc v6.16b, v6.16b
    0052d4ecaese v7.16b, v24.16b
    0052d4f0aesmc v7.16b, v7.16b
    0052d4f4aese v0.16b, v25.16b
    0052d4f8aesmc v0.16b, v0.16b
    0052d4fcaese v1.16b, v25.16b
    0052d500aesmc v1.16b, v1.16b
    0052d504aese v2.16b, v25.16b
    0052d508aesmc v2.16b, v2.16b
    0052d50caese v3.16b, v25.16b
    0052d510aesmc v3.16b, v3.16b
    0052d514aese v4.16b, v25.16b
    0052d518aesmc v4.16b, v4.16b
    0052d51caese v5.16b, v25.16b
    0052d520aesmc v5.16b, v5.16b
    0052d524aese v6.16b, v25.16b
    0052d528aesmc v6.16b, v6.16b
    0052d52caese v7.16b, v25.16b
    0052d530aesmc v7.16b, v7.16b
    0052d534aese v0.16b, v26.16b
    0052d538aesmc v0.16b, v0.16b
    0052d53caese v1.16b, v26.16b
    0052d540aesmc v1.16b, v1.16b
    0052d544aese v2.16b, v26.16b
    0052d548aesmc v2.16b, v2.16b
    0052d54caese v3.16b, v26.16b
    0052d550aesmc v3.16b, v3.16b
    0052d554aese v4.16b, v26.16b
    0052d558aesmc v4.16b, v4.16b
    0052d55caese v5.16b, v26.16b
    0052d560aesmc v5.16b, v5.16b
    0052d564aese v6.16b, v26.16b
    0052d568aesmc v6.16b, v6.16b
    0052d56caese v7.16b, v26.16b
    0052d570aesmc v7.16b, v7.16b
    0052d574tbz w10, 4, 0x52d684
    0052d578aese v0.16b, v29.16b
    0052d57caesmc v0.16b, v0.16b
    0052d580aese v1.16b, v29.16b
    0052d584aesmc v1.16b, v1.16b
    0052d588aese v2.16b, v29.16b
    0052d58caesmc v2.16b, v2.16b
    0052d590aese v3.16b, v29.16b
    0052d594aesmc v3.16b, v3.16b
    0052d598aese v4.16b, v29.16b
    0052d59caesmc v4.16b, v4.16b
    0052d5a0aese v5.16b, v29.16b
    0052d5a4aesmc v5.16b, v5.16b
    0052d5a8aese v6.16b, v29.16b
    0052d5acaesmc v6.16b, v6.16b
    0052d5b0aese v7.16b, v29.16b
    0052d5b4aesmc v7.16b, v7.16b
    0052d5b8aese v0.16b, v30.16b
    0052d5bcaesmc v0.16b, v0.16b
    0052d5c0aese v1.16b, v30.16b
    0052d5c4aesmc v1.16b, v1.16b
    0052d5c8aese v2.16b, v30.16b
    0052d5ccaesmc v2.16b, v2.16b
    0052d5d0aese v3.16b, v30.16b
    0052d5d4aesmc v3.16b, v3.16b
    0052d5d8aese v4.16b, v30.16b
    0052d5dcaesmc v4.16b, v4.16b
    0052d5e0aese v5.16b, v30.16b
    0052d5e4aesmc v5.16b, v5.16b
    0052d5e8aese v6.16b, v30.16b
    0052d5ecaesmc v6.16b, v6.16b
    0052d5f0aese v7.16b, v30.16b
    0052d5f4aesmc v7.16b, v7.16b
    0052d5f8tbz w10, 3, 0x52d684
    0052d5fcld1
    0052d600aese v0.16b, v12.16b
    0052d604aesmc v0.16b, v0.16b
    0052d608aese v1.16b, v12.16b
    0052d60caesmc v1.16b, v1.16b
    0052d610aese v2.16b, v12.16b
    0052d614aesmc v2.16b, v2.16b
    0052d618aese v3.16b, v12.16b
    0052d61caesmc v3.16b, v3.16b
    0052d620aese v4.16b, v12.16b
    0052d624aesmc v4.16b, v4.16b
    0052d628aese v5.16b, v12.16b
    0052d62caesmc v5.16b, v5.16b
    0052d630aese v6.16b, v12.16b
    0052d634aesmc v6.16b, v6.16b
    0052d638aese v7.16b, v12.16b
    0052d63caesmc v7.16b, v7.16b
    0052d640aese v0.16b, v13.16b
    0052d644aesmc v0.16b, v0.16b
    0052d648aese v1.16b, v13.16b
    0052d64caesmc v1.16b, v1.16b
    0052d650aese v2.16b, v13.16b
    0052d654aesmc v2.16b, v2.16b
    0052d658aese v3.16b, v13.16b
    0052d65caesmc v3.16b, v3.16b
    0052d660aese v4.16b, v13.16b
    0052d664aesmc v4.16b, v4.16b
    0052d668aese v5.16b, v13.16b
    0052d66caesmc v5.16b, v5.16b
    0052d670aese v6.16b, v13.16b
    0052d674aesmc v6.16b, v6.16b
    0052d678aese v7.16b, v13.16b
    0052d67caesmc v7.16b, v7.16b
    0052d680mov x13, x11
    0052d684
    0052d684loc_52d684:
    0052d684aese v0.16b, v27.16b
    0052d688aesmc v0.16b, v0.16b
    0052d68caese v1.16b, v27.16b
    0052d690aesmc v1.16b, v1.16b
    0052d694aese v2.16b, v27.16b
    0052d698aesmc v2.16b, v2.16b
    0052d69caese v3.16b, v27.16b
    0052d6a0aesmc v3.16b, v3.16b
    0052d6a4aese v4.16b, v27.16b
    0052d6a8aesmc v4.16b, v4.16b
    0052d6acaese v5.16b, v27.16b
    0052d6b0aesmc v5.16b, v5.16b
    0052d6b4aese v6.16b, v27.16b
    0052d6b8aesmc v6.16b, v6.16b
    0052d6bcaese v7.16b, v27.16b
    0052d6c0aesmc v7.16b, v7.16b
    0052d6c4aese v0.16b, v28.16b
    0052d6c8aese v1.16b, v28.16b
    0052d6ccaese v2.16b, v28.16b
    0052d6d0aese v3.16b, v28.16b
    0052d6d4aese v4.16b, v28.16b
    0052d6d8aese v5.16b, v28.16b
    0052d6dcaese v6.16b, v28.16b
    0052d6e0aese v7.16b, v28.16b
    0052d6e4eor v12.16b, v0.16b, v31.16b
    0052d6e8eor v13.16b, v1.16b, v31.16b
    0052d6eceor v2.16b, v2.16b, v31.16b
    0052d6f0eor v3.16b, v3.16b, v31.16b
    0052d6f4eor v4.16b, v4.16b, v31.16b
    0052d6f8eor v5.16b, v5.16b, v31.16b
    0052d6fceor v6.16b, v6.16b, v31.16b
    0052d700eor v7.16b, v7.16b, v31.16b
    0052d704ld1
    0052d708eor v12.16b, v12.16b, v0.16b
    0052d70ceor v13.16b, v13.16b, v1.16b
    0052d710st1
    0052d714ld1
    0052d718rev64 v0.16b, v0.16b
    0052d71ceor v0.16b, v0.16b, v8.16b
    0052d720ext v11.16b, v0.16b, v0.16b, 8
    0052d724eor v11.16b, v11.16b, v0.16b
    0052d728pmull v9.1q, v12.1d, v0.1d
    0052d72cpmull2 v8.1q, v12.2d, v0.2d
    0052d730pmull v10.1q, v13.1d, v11.1d
    0052d734ld1
    0052d738rev64 v1.16b, v1.16b
    0052d73cext v11.16b, v1.16b, v1.16b, 8
    0052d740eor v11.16b, v11.16b, v1.16b
    0052d744pmull v14.1q, v12.1d, v1.1d
    0052d748eor v9.16b, v9.16b, v14.16b
    0052d74cpmull2 v14.1q, v12.2d, v1.2d
    0052d750eor v8.16b, v8.16b, v14.16b
    0052d754pmull v14.1q, v13.1d, v11.1d
    0052d758eor v10.16b, v10.16b, v14.16b
    0052d75cld1
    0052d760eor v12.16b, v0.16b, v2.16b
    0052d764eor v13.16b, v1.16b, v3.16b
    0052d768st1
    0052d76cld1
    0052d770rev64 v0.16b, v0.16b
    0052d774ext v11.16b, v0.16b, v0.16b, 8
    0052d778eor v11.16b, v11.16b, v0.16b
    0052d77cpmull v14.1q, v12.1d, v0.1d
    0052d780eor v9.16b, v9.16b, v14.16b
    0052d784pmull2 v14.1q, v12.2d, v0.2d
    0052d788eor v8.16b, v8.16b, v14.16b
    0052d78cpmull v14.1q, v13.1d, v11.1d
    0052d790eor v10.16b, v10.16b, v14.16b
    0052d794ld1
    0052d798rev64 v1.16b, v1.16b
    0052d79cext v11.16b, v1.16b, v1.16b, 8
    0052d7a0eor v11.16b, v11.16b, v1.16b
    0052d7a4pmull v14.1q, v12.1d, v1.1d
    0052d7a8eor v9.16b, v9.16b, v14.16b
    0052d7acpmull2 v14.1q, v12.2d, v1.2d
    0052d7b0eor v8.16b, v8.16b, v14.16b
    0052d7b4pmull v14.1q, v13.1d, v11.1d
    0052d7b8eor v10.16b, v10.16b, v14.16b
    0052d7bcld1
    0052d7c0eor v12.16b, v0.16b, v4.16b
    0052d7c4eor v13.16b, v1.16b, v5.16b
    0052d7c8st1
    0052d7ccld1
    0052d7d0rev64 v0.16b, v0.16b
    0052d7d4ext v11.16b, v0.16b, v0.16b, 8
    0052d7d8eor v11.16b, v11.16b, v0.16b
    0052d7dcpmull v14.1q, v12.1d, v0.1d
    0052d7e0eor v9.16b, v9.16b, v14.16b
    0052d7e4pmull2 v14.1q, v12.2d, v0.2d
    0052d7e8eor v8.16b, v8.16b, v14.16b
    0052d7ecpmull v14.1q, v13.1d, v11.1d
    0052d7f0eor v10.16b, v10.16b, v14.16b
    0052d7f4ld1
    0052d7f8rev64 v1.16b, v1.16b
    0052d7fcext v11.16b, v1.16b, v1.16b, 8
    0052d800eor v11.16b, v11.16b, v1.16b
    0052d804pmull v14.1q, v12.1d, v1.1d
    0052d808eor v9.16b, v9.16b, v14.16b
    0052d80cpmull2 v14.1q, v12.2d, v1.2d
    0052d810eor v8.16b, v8.16b, v14.16b
    0052d814pmull v14.1q, v13.1d, v11.1d
    0052d818eor v10.16b, v10.16b, v14.16b
    0052d81cld1
    0052d820eor v12.16b, v0.16b, v6.16b
    0052d824eor v13.16b, v1.16b, v7.16b
    0052d828st1
    0052d82cld1
    0052d830rev64 v0.16b, v0.16b
    0052d834ext v11.16b, v0.16b, v0.16b, 8
    0052d838eor v11.16b, v11.16b, v0.16b
    0052d83cpmull v14.1q, v12.1d, v0.1d
    0052d840eor v9.16b, v9.16b, v14.16b
    0052d844pmull2 v14.1q, v12.2d, v0.2d
    0052d848eor v8.16b, v8.16b, v14.16b
    0052d84cpmull v14.1q, v13.1d, v11.1d
    0052d850eor v10.16b, v10.16b, v14.16b
    0052d854ld1
    0052d858rev64 v1.16b, v1.16b
    0052d85cext v11.16b, v1.16b, v1.16b, 8
    0052d860eor v11.16b, v11.16b, v1.16b
    0052d864pmull v14.1q, v12.1d, v1.1d
    0052d868eor v9.16b, v9.16b, v14.16b
    0052d86cpmull2 v14.1q, v12.2d, v1.2d
    0052d870eor v8.16b, v8.16b, v14.16b
    0052d874pmull v14.1q, v13.1d, v11.1d
    0052d878eor v10.16b, v10.16b, v14.16b
    0052d87cmov x0, x14
    0052d880eor v10.16b, v10.16b, v8.16b
    0052d884eor v10.16b, v10.16b, v9.16b
    0052d888ext v11.16b, v10.16b, v16.16b, 8
    0052d88cext v10.16b, v16.16b, v10.16b, 8
    0052d890eor v8.16b, v8.16b, v10.16b
    0052d894eor v9.16b, v9.16b, v11.16b
    0052d898pmull v11.1q, v8.1d, v15.1d
    0052d89cext v8.16b, v8.16b, v8.16b, 8
    0052d8a0eor v8.16b, v8.16b, v11.16b
    0052d8a4pmull v11.1q, v8.1d, v15.1d
    0052d8a8eor v9.16b, v9.16b, v11.16b
    0052d8acext v9.16b, v9.16b, v9.16b, 8
    0052d8b0eor v8.16b, v8.16b, v9.16b
    0052d8b4subs xzr, x6, 128
    0052d8b8b.ge 0x52d32c
    0052d8bc
    0052d8bcloc_52d8bc:
    0052d8bccbz x6, 0x52db1c
    0052d8c0add x0, x0, 224
    0052d8c4ld1
    0052d8c8add x4, x4, 128
    0052d8ccld1
    0052d8d0orr v31.16b, v29.16b, v29.16b
    0052d8d4tbz w10, 4, 0x52d8ec
    0052d8d8ld1
    0052d8dcorr v31.16b, v2.16b, v2.16b
    0052d8e0tbz w10, 3, 0x52d8ec
    0052d8e4ld1
    0052d8e8orr v31.16b, v4.16b, v4.16b
    0052d8ec
    0052d8ecloc_52d8ec:
    0052d8ecsubs xzr, x6, 16
    0052d8f0b.lt 0x52d9d8
    0052d8f4sub x6, x6, 16
    0052d8f8ld1
    0052d8fcrev64 v5.16b, v11.16b
    0052d900eor v11.16b, v11.16b, v31.16b
    0052d904rev32 v0.16b, v18.16b
    0052d908add v18.4s, v17.4s, v18.4s
    0052d90caese v0.16b, v19.16b
    0052d910aesmc v0.16b, v0.16b
    0052d914aese v0.16b, v20.16b
    0052d918aesmc v0.16b, v0.16b
    0052d91caese v0.16b, v21.16b
    0052d920aesmc v0.16b, v0.16b
    0052d924aese v0.16b, v22.16b
    0052d928aesmc v0.16b, v0.16b
    0052d92caese v0.16b, v23.16b
    0052d930aesmc v0.16b, v0.16b
    0052d934aese v0.16b, v24.16b
    0052d938aesmc v0.16b, v0.16b
    0052d93caese v0.16b, v25.16b
    0052d940aesmc v0.16b, v0.16b
    0052d944aese v0.16b, v26.16b
    0052d948aesmc v0.16b, v0.16b
    0052d94caese v0.16b, v27.16b
    0052d950aesmc v0.16b, v0.16b
    0052d954aese v0.16b, v28.16b
    0052d958tbz w10, 4, 0x52d980
    0052d95caesmc v0.16b, v0.16b
    0052d960aese v0.16b, v29.16b
    0052d964aesmc v0.16b, v0.16b
    0052d968aese v0.16b, v1.16b
    0052d96ctbz w10, 3, 0x52d980
    0052d970aesmc v0.16b, v0.16b
    0052d974aese v0.16b, v2.16b
    0052d978aesmc v0.16b, v0.16b
    0052d97caese v0.16b, v3.16b
    0052d980
    0052d980loc_52d980:
    0052d980eor v0.16b, v0.16b, v11.16b
    0052d984st1
    0052d988eor v5.16b, v5.16b, v8.16b
    0052d98cext v11.16b, v5.16b, v5.16b, 8
    0052d990eor v11.16b, v11.16b, v5.16b
    0052d994pmull v9.1q, v12.1d, v5.1d
    0052d998pmull2 v8.1q, v12.2d, v5.2d
    0052d99cpmull v10.1q, v13.1d, v11.1d
    0052d9a0eor v10.16b, v10.16b, v8.16b
    0052d9a4eor v10.16b, v10.16b, v9.16b
    0052d9a8ext v11.16b, v10.16b, v16.16b, 8
    0052d9acext v10.16b, v16.16b, v10.16b, 8
    0052d9b0eor v8.16b, v8.16b, v10.16b
    0052d9b4eor v9.16b, v9.16b, v11.16b
    0052d9b8pmull v11.1q, v8.1d, v15.1d
    0052d9bcext v8.16b, v8.16b, v8.16b, 8
    0052d9c0eor v8.16b, v8.16b, v11.16b
    0052d9c4pmull v11.1q, v8.1d, v15.1d
    0052d9c8eor v9.16b, v9.16b, v11.16b
    0052d9ccext v9.16b, v9.16b, v9.16b, 8
    0052d9d0eor v8.16b, v8.16b, v9.16b
    0052d9d4b 0x52d8ec
    0052d9d8
    0052d9d8loc_52d9d8:
    0052d9d8cbz x6, 0x52db1c
    0052d9dcrev32 v0.16b, v18.16b
    0052d9e0add v18.4s, v17.4s, v18.4s
    0052d9e4aese v0.16b, v19.16b
    0052d9e8aesmc v0.16b, v0.16b
    0052d9ecaese v0.16b, v20.16b
    0052d9f0aesmc v0.16b, v0.16b
    0052d9f4aese v0.16b, v21.16b
    0052d9f8aesmc v0.16b, v0.16b
    0052d9fcaese v0.16b, v22.16b
    0052da00aesmc v0.16b, v0.16b
    0052da04aese v0.16b, v23.16b
    0052da08aesmc v0.16b, v0.16b
    0052da0caese v0.16b, v24.16b
    0052da10aesmc v0.16b, v0.16b
    0052da14aese v0.16b, v25.16b
    0052da18aesmc v0.16b, v0.16b
    0052da1caese v0.16b, v26.16b
    0052da20aesmc v0.16b, v0.16b
    0052da24aese v0.16b, v27.16b
    0052da28aesmc v0.16b, v0.16b
    0052da2caese v0.16b, v28.16b
    0052da30tbz w10, 4, 0x52da58
    0052da34aesmc v0.16b, v0.16b
    0052da38aese v0.16b, v29.16b
    0052da3caesmc v0.16b, v0.16b
    0052da40aese v0.16b, v1.16b
    0052da44tbz w10, 3, 0x52da58
    0052da48aesmc v0.16b, v0.16b
    0052da4caese v0.16b, v2.16b
    0052da50aesmc v0.16b, v0.16b
    0052da54aese v0.16b, v3.16b
    0052da58
    0052da58loc_52da58:
    0052da58eor v0.16b, v0.16b, v31.16b
    0052da5cld1
    0052da60eor v0.16b, v0.16b, v5.16b
    0052da64eor v14.16b, v14.16b, v14.16b
    0052da68mov x12, xzr
    0052da6csub x12, x12, 1
    0052da70tbz w6, 3, 0x52da84
    0052da74umov x11, v0.d[0]
    0052da78str x11, [x1], 8
    0052da7cins v14.d[0], x12
    0052da80ext v0.16b, v0.16b, v16.16b, 8
    0052da84
    0052da84loc_52da84:
    0052da84tbz w6, 2, 0x52da9c
    0052da88umov w11, v0.s[0]
    0052da8cstr w11, [x1], 4
    0052da90ext v14.16b, v16.16b, v14.16b, 12
    0052da94ins v14.s[0], w12
    0052da98ext v0.16b, v0.16b, v16.16b, 4
    0052da9c
    0052da9cloc_52da9c:
    0052da9ctbz w6, 1, 0x52dab4
    0052daa0umov w11, v0.h[0]
    0052daa4strh w11, [x1], 2
    0052daa8ext v14.16b, v16.16b, v14.16b, 14
    0052daacins v14.h[0], w12
    0052dab0ext v0.16b, v0.16b, v16.16b, 2
    0052dab4
    0052dab4loc_52dab4:
    0052dab4tbz w6, 0, 0x52dac8
    0052dab8umov w11, v0.b[0]
    0052dabcstrb w11, [x1], 1
    0052dac0ext v14.16b, v16.16b, v14.16b, 15
    0052dac4ins v14.b[0], w12
    0052dac8
    0052dac8loc_52dac8:
    0052dac8and v5.16b, v5.16b, v14.16b
    0052daccrev64 v5.16b, v5.16b
    0052dad0eor v5.16b, v5.16b, v8.16b
    0052dad4ext v11.16b, v5.16b, v5.16b, 8
    0052dad8eor v11.16b, v11.16b, v5.16b
    0052dadcpmull v9.1q, v12.1d, v5.1d
    0052dae0pmull2 v8.1q, v12.2d, v5.2d
    0052dae4pmull v10.1q, v13.1d, v11.1d
    0052dae8eor v10.16b, v10.16b, v8.16b
    0052daeceor v10.16b, v10.16b, v9.16b
    0052daf0ext v11.16b, v10.16b, v16.16b, 8
    0052daf4ext v10.16b, v16.16b, v10.16b, 8
    0052daf8eor v8.16b, v8.16b, v10.16b
    0052dafceor v9.16b, v9.16b, v11.16b
    0052db00pmull v11.1q, v8.1d, v15.1d
    0052db04ext v8.16b, v8.16b, v8.16b, 8
    0052db08eor v8.16b, v8.16b, v11.16b
    0052db0cpmull v11.1q, v8.1d, v15.1d
    0052db10eor v9.16b, v9.16b, v11.16b
    0052db14ext v9.16b, v9.16b, v9.16b, 8
    0052db18eor v8.16b, v8.16b, v9.16b
    0052db1c
    0052db1cloc_52db1c:
    0052db1cst1
    0052db20ret x30
    0052db24udf 0
    0052db28udf 0
    0052db2cudf 0
    0052d280