File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    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