File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00529e80
    00529e80crypto/internal/fips140/aes/gcm.sealGeneric: ; void crypto/internal/fips140/aes/gcm.sealGeneric(struct []uint8 out, crypto/internal/fips140/aes/gcm.GCM * g, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 additionalData)
    00529e80ldr x16, [x28+16]
    00529e84sub x17, sp, 192
    00529e88subs xzr, x17, x16
    00529e8cb.ls 0x52a15c
    00529e90sub x20, sp, 320
    00529e94stp x29, x30, [x20-8]
    00529e98add sp, x20, 0
    00529e9csub x29, sp, 8
    00529ea0str x0, [sp+328]
    00529ea4str x1, [sp+336]
    00529ea8str x2, [sp+344]
    00529eacstr x3, [sp+352]
    00529eb0str x4, [sp+360]
    00529eb4str x5, [sp+368]
    00529eb8str x6, [sp+376]
    00529ebcstr x7, [sp+384]
    00529ec0str x8, [sp+392]
    00529ec4str x9, [sp+400]
    00529ec8str x10, [sp+408]
    00529eccstr x11, [sp+416]
    00529ed0str x12, [sp+424]
    00529ed4stp xzr, xzr, [sp+152]
    00529ed8stp xzr, xzr, [sp+136]
    00529edcstp xzr, xzr, [sp+104]
    00529ee0add x7, sp, 152
    00529ee4ldrsb x27, [x7]
    00529ee8b 0x529eec
    00529eec
    00529eecloc_529eec:
    00529eecstr x7, [sp+192]
    00529ef0orr x7, xzr, 16
    00529ef4str x7, [sp+200]
    00529ef8str x7, [sp+208]
    00529efcadd x8, sp, 152
    00529f00ldrsb x27, [x8]
    00529f04b 0x529f08
    00529f08
    00529f08loc_529f08:
    00529f08str x8, [sp+288]
    00529f0cstr x7, [sp+296]
    00529f10str x7, [sp+304]
    00529f14ldr x0, [sp+352]
    00529f18ldrsb x27, [x0]
    00529f1cstr x0, [sp+280]
    00529f20ldr x4, [sp+288]
    00529f24ldr x5, [sp+296]
    00529f28ldr x6, [sp+304]
    00529f2cldr x1, [sp+192]
    00529f30ldr x2, [sp+200]
    00529f34ldr x3, [sp+208]
    00529f38bl crypto/internal/fips140/aes.EncryptBlockInternal
    00529f3cldr x2, [sp+360]
    00529f40ldr x3, [sp+368]
    00529f44ldr x4, [sp+376]
    00529f48add x0, sp, 152
    00529f4cadd x1, sp, 136
    00529f50bl crypto/internal/fips140/aes/gcm.deriveCounterGeneric
    00529f54add x7, sp, 104
    00529f58ldrsb x27, [x7]
    00529f5cb 0x529f60
    00529f60
    00529f60loc_529f60:
    00529f60str x7, [sp+288]
    00529f64orr x8, xzr, 16
    00529f68str x8, [sp+296]
    00529f6cstr x8, [sp+304]
    00529f70add x9, sp, 104
    00529f74ldrsb x27, [x9]
    00529f78b 0x529f7c
    00529f7c
    00529f7cloc_529f7c:
    00529f7cstr x9, [sp+192]
    00529f80str x8, [sp+200]
    00529f84str x8, [sp+208]
    00529f88ldr x0, [sp+352]
    00529f8cldrsb x27, [x0]
    00529f90str x0, [sp+272]
    00529f94ldr x1, [sp+288]
    00529f98ldr x2, [sp+296]
    00529f9cldr x3, [sp+304]
    00529fa0ldr x4, [sp+192]
    00529fa4ldr x5, [sp+200]
    00529fa8ldr x6, [sp+208]
    00529facadd x7, sp, 136
    00529fb0bl crypto/internal/fips140/aes/gcm.gcmCounterCryptGeneric
    00529fb4ldr x0, [sp+352]
    00529fb8ldrsb x27, [x0]
    00529fbcstr x0, [sp+264]
    00529fc0ldr x1, [sp+328]
    00529fc4ldr x4, [sp+384]
    00529fc8ldr x2, [sp+336]
    00529fccldr x5, [sp+392]
    00529fd0ldr x3, [sp+344]
    00529fd4ldr x6, [sp+400]
    00529fd8add x7, sp, 136
    00529fdcbl crypto/internal/fips140/aes/gcm.gcmCounterCryptGeneric
    00529fe0stp xzr, xzr, [sp+120]
    00529fe4add x8, sp, 120
    00529fe8ldrsb x27, [x8]
    00529fecb 0x529ff0
    00529ff0
    00529ff0loc_529ff0:
    00529ff0str x8, [sp+192]
    00529ff4orr x11, xzr, 16
    00529ff8str x11, [sp+200]
    00529ffcstr x11, [sp+208]
    0052a000ldr x1, [sp+392]
    0052a004str x1, [sp+184]
    0052a008ldr x2, [sp+344]
    0052a00cldr x5, [sp+328]
    0052a010subs xzr, x2, x1
    0052a014b.hs 0x52a01c
    0052a018b 0x52a154
    0052a01c
    0052a01cloc_52a01c:
    0052a01cb 0x52a020
    0052a020
    0052a020loc_52a020:
    0052a020str x5, [sp+288]
    0052a024str x1, [sp+296]
    0052a028str x2, [sp+304]
    0052a02cldr x8, [sp+408]
    0052a030ldr x9, [sp+416]
    0052a034ldr x10, [sp+424]
    0052a038ldr x0, [sp+192]
    0052a03cldr x11, [sp+200]
    0052a040ldr x12, [sp+208]
    0052a044add x3, sp, 152
    0052a048add x4, sp, 104
    0052a04cmov x6, x1
    0052a050mov x7, x2
    0052a054mov x1, x11
    0052a058mov x2, x12
    0052a05cbl crypto/internal/fips140/aes/gcm.gcmAuthGeneric
    0052a060ldr x0, [sp+392]
    0052a064str x0, [sp+184]
    0052a068ldr x1, [sp+336]
    0052a06cldr x11, [sp+344]
    0052a070ldr x12, [sp+328]
    0052a074b 0x52a078
    0052a078
    0052a078loc_52a078:
    0052a078subs xzr, x1, x0
    0052a07cb.hs 0x52a084
    0052a080b 0x52a150
    0052a084
    0052a084loc_52a084:
    0052a084sub x3, x11, x0
    0052a088sub x4, x1, x0
    0052a08csub x5, xzr, x3
    0052a090and x5, x0, x5, asr #63
    0052a094add x5, x12, x5
    0052a098str x5, [sp+288]
    0052a09cstr x4, [sp+296]
    0052a0a0str x3, [sp+304]
    0052a0a4add x3, sp, 120
    0052a0a8ldrsb x27, [x3]
    0052a0acb 0x52a0b0
    0052a0b0
    0052a0b0loc_52a0b0:
    0052a0b0str x3, [sp+192]
    0052a0b4orr x3, xzr, 16
    0052a0b8str x3, [sp+200]
    0052a0bcstr x3, [sp+208]
    0052a0c0ldr x3, [sp+288]
    0052a0c4ldr x4, [sp+296]
    0052a0c8ldr x5, [sp+304]
    0052a0ccstr x3, [sp+240]
    0052a0d0str x4, [sp+248]
    0052a0d4str x5, [sp+256]
    0052a0d8ldr x3, [sp+200]
    0052a0dcldr x4, [sp+192]
    0052a0e0ldr x5, [sp+208]
    0052a0e4str x4, [sp+216]
    0052a0e8str x3, [sp+224]
    0052a0ecstr x5, [sp+232]
    0052a0f0ldr x4, [sp+248]
    0052a0f4str x4, [sp+176]
    0052a0f8subs xzr, x4, x3
    0052a0fcb.gt 0x52a104
    0052a100b 0x52a10c
    0052a104
    0052a104loc_52a104:
    0052a104str x3, [sp+176]
    0052a108b 0x52a110
    0052a10c
    0052a10cloc_52a10c:
    0052a10cb 0x52a110
    0052a110
    0052a110loc_52a110:
    0052a110ldr x3, [sp+216]
    0052a114ldr x4, [sp+240]
    0052a118subs xzr, x3, x4
    0052a11cb.ne 0x52a124
    0052a120b 0x52a140
    0052a124
    0052a124loc_52a124:
    0052a124ldr x3, [sp+176]
    0052a128str x3, [sp+168]
    0052a12cldr x2, [sp+168]
    0052a130ldr x1, [sp+216]
    0052a134ldr x0, [sp+240]
    0052a138bl runtime.memmove
    0052a13cb 0x52a144
    0052a140
    0052a140loc_52a140:
    0052a140b 0x52a144
    0052a144
    0052a144loc_52a144:
    0052a144ldp x29, x30, [sp-8]
    0052a148add sp, sp, 320
    0052a14cret x30
    0052a150
    0052a150loc_52a150:
    0052a150bl runtime.panicSliceB
    0052a154
    0052a154loc_52a154:
    0052a154bl runtime.panicSliceAcap
    0052a158hint
    0052a15c
    0052a15cloc_52a15c:
    0052a15cstp x0, x1, [sp+8]
    0052a160stp x2, x3, [sp+24]
    0052a164stp x4, x5, [sp+40]
    0052a168stp x6, x7, [sp+56]
    0052a16cstp x8, x9, [sp+72]
    0052a170stp x10, x11, [sp+88]
    0052a174str x12, [sp+104]
    0052a178mov x3, x30
    0052a17cbl runtime.morestack_noctxt.abi0
    0052a180ldp x0, x1, [sp+8]
    0052a184ldp x2, x3, [sp+24]
    0052a188ldp x4, x5, [sp+40]
    0052a18cldp x6, x7, [sp+56]
    0052a190ldp x8, x9, [sp+72]
    0052a194ldp x10, x11, [sp+88]
    0052a198ldr x12, [sp+104]
    0052a19cb 0x529e80
    00529e80
    0052a1a0
    0052a1a0crypto/internal/fips140/aes/gcm.openGeneric: ; void crypto/internal/fips140/aes/gcm.openGeneric(struct []uint8 out, crypto/internal/fips140/aes/gcm.GCM * g, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 additionalData)
    0052a1a0ldr x16, [x28+16]
    0052a1a4sub x17, sp, 176
    0052a1a8subs xzr, x17, x16
    0052a1acb.ls 0x52a488
    0052a1b0sub x20, sp, 304
    0052a1b4stp x29, x30, [x20-8]
    0052a1b8add sp, x20, 0
    0052a1bcsub x29, sp, 8
    0052a1c0str x0, [sp+312]
    0052a1c4str x1, [sp+320]
    0052a1c8str x2, [sp+328]
    0052a1ccstr x3, [sp+336]
    0052a1d0str x4, [sp+344]
    0052a1d4str x5, [sp+352]
    0052a1d8str x6, [sp+360]
    0052a1dcstr x7, [sp+368]
    0052a1e0str x8, [sp+376]
    0052a1e4str x9, [sp+384]
    0052a1e8str x10, [sp+392]
    0052a1ecstr x11, [sp+400]
    0052a1f0str x12, [sp+408]
    0052a1f4stp xzr, xzr, [sp+184]
    0052a1f8stp xzr, xzr, [sp+152]
    0052a1fcstp xzr, xzr, [sp+136]
    0052a200stp xzr, xzr, [sp+104]
    0052a204add x7, sp, 152
    0052a208ldrsb x27, [x7]
    0052a20cb 0x52a210
    0052a210
    0052a210loc_52a210:
    0052a210str x7, [sp+272]
    0052a214orr x7, xzr, 16
    0052a218str x7, [sp+280]
    0052a21cstr x7, [sp+288]
    0052a220add x8, sp, 152
    0052a224ldrsb x27, [x8]
    0052a228b 0x52a22c
    0052a22c
    0052a22cloc_52a22c:
    0052a22cstr x8, [sp+248]
    0052a230str x7, [sp+256]
    0052a234str x7, [sp+264]
    0052a238ldr x0, [sp+336]
    0052a23cldrsb x27, [x0]
    0052a240str x0, [sp+240]
    0052a244ldr x4, [sp+248]
    0052a248ldr x5, [sp+256]
    0052a24cldr x6, [sp+264]
    0052a250ldr x1, [sp+272]
    0052a254ldr x2, [sp+280]
    0052a258ldr x3, [sp+288]
    0052a25cbl crypto/internal/fips140/aes.EncryptBlockInternal
    0052a260ldr x2, [sp+344]
    0052a264ldr x3, [sp+352]
    0052a268ldr x4, [sp+360]
    0052a26cadd x0, sp, 152
    0052a270add x1, sp, 136
    0052a274bl crypto/internal/fips140/aes/gcm.deriveCounterGeneric
    0052a278add x7, sp, 104
    0052a27cldrsb x27, [x7]
    0052a280b 0x52a284
    0052a284
    0052a284loc_52a284:
    0052a284str x7, [sp+248]
    0052a288orr x8, xzr, 16
    0052a28cstr x8, [sp+256]
    0052a290str x8, [sp+264]
    0052a294add x9, sp, 104
    0052a298ldrsb x27, [x9]
    0052a29cb 0x52a2a0
    0052a2a0
    0052a2a0loc_52a2a0:
    0052a2a0str x9, [sp+272]
    0052a2a4str x8, [sp+280]
    0052a2a8str x8, [sp+288]
    0052a2acldr x0, [sp+336]
    0052a2b0ldrsb x27, [x0]
    0052a2b4str x0, [sp+232]
    0052a2b8ldr x4, [sp+272]
    0052a2bcldr x5, [sp+280]
    0052a2c0ldr x6, [sp+288]
    0052a2c4ldr x1, [sp+248]
    0052a2c8ldr x2, [sp+256]
    0052a2ccldr x3, [sp+264]
    0052a2d0add x7, sp, 136
    0052a2d4bl crypto/internal/fips140/aes/gcm.gcmCounterCryptGeneric
    0052a2d8ldr x8, [sp+376]
    0052a2dcstr x8, [sp+176]
    0052a2e0ldr x9, [sp+336]
    0052a2e4ldrsb x27, [x9]
    0052a2e8ldr x9, [x9+496]
    0052a2ecsub x0, x8, x9
    0052a2f0str x0, [sp+168]
    0052a2f4ldr x1, [sp+376]
    0052a2f8ldr x10, [sp+384]
    0052a2fcldr x11, [sp+368]
    0052a300b 0x52a304
    0052a304
    0052a304loc_52a304:
    0052a304subs xzr, x1, x0
    0052a308b.hs 0x52a310
    0052a30cb 0x52a480
    0052a310
    0052a310loc_52a310:
    0052a310add x12, x10, x9
    0052a314sub x12, x12, x8
    0052a318add x13, x1, x9
    0052a31csub x13, x13, x8
    0052a320sub x14, xzr, x12
    0052a324and x14, x0, x14, asr #63
    0052a328add x11, x11, x14
    0052a32cstr x11, [sp+200]
    0052a330str x13, [sp+208]
    0052a334str x12, [sp+216]
    0052a338ldr x11, [sp+376]
    0052a33cstr x11, [sp+168]
    0052a340ldr x12, [sp+336]
    0052a344ldrsb x27, [x12]
    0052a348ldr x12, [x12+496]
    0052a34csub x1, x11, x12
    0052a350str x1, [sp+176]
    0052a354ldr x2, [sp+384]
    0052a358subs xzr, x2, x1
    0052a35cb.hs 0x52a364
    0052a360b 0x52a47c
    0052a364
    0052a364loc_52a364:
    0052a364b 0x52a368
    0052a368
    0052a368loc_52a368:
    0052a368str x1, [sp+376]
    0052a36cstp xzr, xzr, [sp+120]
    0052a370add x0, sp, 120
    0052a374ldrsb x27, [x0]
    0052a378b 0x52a37c
    0052a37c
    0052a37cloc_52a37c:
    0052a37cstr x0, [sp+272]
    0052a380orr x2, xzr, 16
    0052a384str x2, [sp+280]
    0052a388str x2, [sp+288]
    0052a38cldr x5, [sp+368]
    0052a390ldr x8, [sp+392]
    0052a394ldr x6, [sp+376]
    0052a398ldr x9, [sp+400]
    0052a39cldr x7, [sp+384]
    0052a3a0ldr x10, [sp+408]
    0052a3a4mov x1, x2
    0052a3a8add x3, sp, 152
    0052a3acadd x4, sp, 104
    0052a3b0bl crypto/internal/fips140/aes/gcm.gcmAuthGeneric
    0052a3b4ldr x11, [sp+336]
    0052a3b8ldrsb x27, [x11]
    0052a3bcldr x1, [x11+496]
    0052a3c0str x1, [sp+176]
    0052a3c4add x0, sp, 120
    0052a3c8ldrsb x27, [x0]
    0052a3ccsubs xzr, x1, 16
    0052a3d0b.ls 0x52a3d8
    0052a3d4b 0x52a474
    0052a3d8
    0052a3d8loc_52a3d8:
    0052a3d8b 0x52a3dc
    0052a3dc
    0052a3dcloc_52a3dc:
    0052a3dcstr x0, [sp+272]
    0052a3e0str x1, [sp+280]
    0052a3e4orr x2, xzr, 16
    0052a3e8str x2, [sp+288]
    0052a3ecldr x3, [sp+200]
    0052a3f0ldr x4, [sp+208]
    0052a3f4ldr x5, [sp+216]
    0052a3f8bl crypto/internal/fips140/subtle.ConstantTimeCompare
    0052a3fcstr x0, [sp+168]
    0052a400subs xzr, x0, 1
    0052a404b.ne 0x52a40c
    0052a408b 0x52a430
    0052a40c
    0052a40cloc_52a40c:
    0052a40cadrp x27, 0x4f7000
    0052a410ldr x0, [x27+4064]
    0052a414adrp x27, 0x4f7000
    0052a418ldr x1, [x27+4072]
    0052a41cstr x0, [sp+184]
    0052a420str x1, [sp+192]
    0052a424ldp x29, x30, [sp-8]
    0052a428add sp, sp, 304
    0052a42cret x30
    0052a430
    0052a430loc_52a430:
    0052a430ldr x0, [sp+336]
    0052a434ldrsb x27, [x0]
    0052a438str x0, [sp+224]
    0052a43cldr x1, [sp+312]
    0052a440ldr x4, [sp+368]
    0052a444ldr x2, [sp+320]
    0052a448ldr x5, [sp+376]
    0052a44cldr x3, [sp+328]
    0052a450ldr x6, [sp+384]
    0052a454add x7, sp, 136
    0052a458bl crypto/internal/fips140/aes/gcm.gcmCounterCryptGeneric
    0052a45cstp xzr, xzr, [sp+184]
    0052a460mov x0, xzr
    0052a464mov x1, xzr
    0052a468ldp x29, x30, [sp-8]
    0052a46cadd sp, sp, 304
    0052a470ret x30
    0052a474
    0052a474loc_52a474:
    0052a474orr x2, xzr, 16
    0052a478bl runtime.panicSliceAlen
    0052a47c
    0052a47cloc_52a47c:
    0052a47cbl runtime.panicSliceAcap
    0052a480
    0052a480loc_52a480:
    0052a480bl runtime.panicSliceB
    0052a484hint
    0052a488
    0052a488loc_52a488:
    0052a488stp x0, x1, [sp+8]
    0052a48cstp x2, x3, [sp+24]
    0052a490stp x4, x5, [sp+40]
    0052a494stp x6, x7, [sp+56]
    0052a498stp x8, x9, [sp+72]
    0052a49cstp x10, x11, [sp+88]
    0052a4a0str x12, [sp+104]
    0052a4a4mov x3, x30
    0052a4a8bl runtime.morestack_noctxt.abi0
    0052a4acldp x0, x1, [sp+8]
    0052a4b0ldp x2, x3, [sp+24]
    0052a4b4ldp x4, x5, [sp+40]
    0052a4b8ldp x6, x7, [sp+56]
    0052a4bcldp x8, x9, [sp+72]
    0052a4c0ldp x10, x11, [sp+88]
    0052a4c4ldr x12, [sp+104]
    0052a4c8b 0x52a1a0
    0052a4ccudf 0
    0052a1a0
    0052a4d0
    0052a4d0crypto/internal/fips140/aes/gcm.deriveCounterGeneric: ; void crypto/internal/fips140/aes/gcm.deriveCounterGeneric(uint8[16] * H, uint8[16] * counter, struct []uint8 nonce)
    0052a4d0ldr x16, [x28+16]
    0052a4d4sub x17, sp, 144
    0052a4d8subs xzr, x17, x16
    0052a4dcb.ls 0x52a6e4
    0052a4e0sub x20, sp, 272
    0052a4e4stp x29, x30, [x20-8]
    0052a4e8add sp, x20, 0
    0052a4ecsub x29, sp, 8
    0052a4f0str x0, [sp+280]
    0052a4f4str x1, [sp+288]
    0052a4f8str x2, [sp+296]
    0052a4fcstr x3, [sp+304]
    0052a500str x4, [sp+312]
    0052a504str x3, [sp+72]
    0052a508subs xzr, x3, 12
    0052a50cb.eq 0x52a514
    0052a510b 0x52a5b8
    0052a514
    0052a514loc_52a514:
    0052a514ldrsb x27, [x1]
    0052a518b 0x52a51c
    0052a51c
    0052a51cloc_52a51c:
    0052a51cstr x1, [sp+208]
    0052a520orr x3, xzr, 16
    0052a524str x3, [sp+216]
    0052a528str x3, [sp+224]
    0052a52cstr x1, [sp+136]
    0052a530str x3, [sp+144]
    0052a534str x3, [sp+152]
    0052a538ldr x3, [sp+304]
    0052a53cldr x4, [sp+296]
    0052a540ldr x5, [sp+312]
    0052a544str x4, [sp+112]
    0052a548str x3, [sp+120]
    0052a54cstr x5, [sp+128]
    0052a550ldr x4, [sp+144]
    0052a554str x4, [sp+64]
    0052a558subs xzr, x3, x4
    0052a55cb.lt 0x52a564
    0052a560b 0x52a56c
    0052a564
    0052a564loc_52a564:
    0052a564str x3, [sp+64]
    0052a568b 0x52a570
    0052a56c
    0052a56cloc_52a56c:
    0052a56cb 0x52a570
    0052a570
    0052a570loc_52a570:
    0052a570ldr x3, [sp+112]
    0052a574ldr x4, [sp+136]
    0052a578subs xzr, x4, x3
    0052a57cb.ne 0x52a584
    0052a580b 0x52a5a0
    0052a584
    0052a584loc_52a584:
    0052a584ldr x3, [sp+64]
    0052a588str x3, [sp+80]
    0052a58cldr x2, [sp+80]
    0052a590ldr x0, [sp+136]
    0052a594ldr x1, [sp+112]
    0052a598bl runtime.memmove
    0052a59cb 0x52a5a4
    0052a5a0
    0052a5a0loc_52a5a0:
    0052a5a0b 0x52a5a4
    0052a5a4
    0052a5a4loc_52a5a4:
    0052a5a4ldr x0, [sp+288]
    0052a5a8ldrsb x27, [x0]
    0052a5acorr x1, xzr, 1
    0052a5b0strb w1, [x0+15]
    0052a5b4b 0x52a6d8
    0052a5b8
    0052a5b8loc_52a5b8:
    0052a5b8b 0x52a5bc
    0052a5bc
    0052a5bcloc_52a5bc:
    0052a5bcstp xzr, xzr, [sp+48]
    0052a5c0add x4, sp, 48
    0052a5c4ldrsb x27, [x4]
    0052a5c8b 0x52a5cc
    0052a5cc
    0052a5ccloc_52a5cc:
    0052a5ccstr x4, [sp+88]
    0052a5d0orr x5, xzr, 16
    0052a5d4str x5, [sp+96]
    0052a5d8str x5, [sp+104]
    0052a5dcb 0x52a5e0
    0052a5e0
    0052a5e0loc_52a5e0:
    0052a5e0b 0x52a5e4
    0052a5e4
    0052a5e4loc_52a5e4:
    0052a5e4add x0, x4, 8
    0052a5e8str x0, [sp+208]
    0052a5ecorr x2, xzr, 8
    0052a5f0str x2, [sp+216]
    0052a5f4str x2, [sp+224]
    0052a5f8ldr x4, [sp+304]
    0052a5fcstr x4, [sp+72]
    0052a600ubfm x3, x4, 61, 60
    0052a604mov x1, x2
    0052a608bl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052a60cstp xzr, xzr, [sp+160]
    0052a610stp xzr, xzr, [sp+176]
    0052a614stp xzr, xzr, [sp+192]
    0052a618add x4, sp, 160
    0052a61cstr x4, [sp+232]
    0052a620ldrsb x27, [x4]
    0052a624ldr x5, [sp+296]
    0052a628ldr x6, [sp+304]
    0052a62cldr x7, [sp+312]
    0052a630str x6, [x4+8]
    0052a634str x7, [x4+16]
    0052a638adrp x27, 0x521000
    0052a63cldr w6, [x27+3056]
    0052a640cbz w6, 0x52a648
    0052a644b 0x52a64c
    0052a648
    0052a648loc_52a648:
    0052a648b 0x52a660
    0052a64c
    0052a64cloc_52a64c:
    0052a64cbl runtime.gcWriteBarrier2
    0052a650str x5, [x25]
    0052a654ldr x6, [x4]
    0052a658str x6, [x25+8]
    0052a65cb 0x52a660
    0052a660
    0052a660loc_52a660:
    0052a660str x5, [x4]
    0052a664ldrsb x27, [x4]
    0052a668ldr x5, [sp+88]
    0052a66cldr x6, [sp+96]
    0052a670ldr x7, [sp+104]
    0052a674str x6, [x4+32]
    0052a678str x7, [x4+40]
    0052a67cadrp x27, 0x521000
    0052a680ldr w6, [x27+3056]
    0052a684cbz w6, 0x52a68c
    0052a688b 0x52a690
    0052a68c
    0052a68cloc_52a68c:
    0052a68cb 0x52a6a4
    0052a690
    0052a690loc_52a690:
    0052a690bl runtime.gcWriteBarrier2
    0052a694str x5, [x25]
    0052a698ldr x6, [x4+24]
    0052a69cstr x6, [x25+8]
    0052a6a0b 0x52a6a4
    0052a6a4
    0052a6a4loc_52a6a4:
    0052a6a4str x5, [x4+24]
    0052a6a8ldr x2, [sp+232]
    0052a6acldrsb x27, [x2]
    0052a6b0b 0x52a6b4
    0052a6b4
    0052a6b4loc_52a6b4:
    0052a6b4str x2, [sp+240]
    0052a6b8orr x4, xzr, 2
    0052a6bcstr x4, [sp+248]
    0052a6c0str x4, [sp+256]
    0052a6c4ldr x0, [sp+288]
    0052a6c8ldr x1, [sp+280]
    0052a6ccmov x3, x4
    0052a6d0bl crypto/internal/fips140/aes/gcm.ghash
    0052a6d4b 0x52a6d8
    0052a6d8
    0052a6d8loc_52a6d8:
    0052a6d8ldp x29, x30, [sp-8]
    0052a6dcadd sp, sp, 272
    0052a6e0ret x30
    0052a6e4
    0052a6e4loc_52a6e4:
    0052a6e4stp x0, x1, [sp+8]
    0052a6e8stp x2, x3, [sp+24]
    0052a6ecstr x4, [sp+40]
    0052a6f0mov x3, x30
    0052a6f4bl runtime.morestack_noctxt.abi0
    0052a6f8ldp x0, x1, [sp+8]
    0052a6fcldp x2, x3, [sp+24]
    0052a700ldr x4, [sp+40]
    0052a704b 0x52a4d0
    0052a708udf 0
    0052a70cudf 0
    0052a4d0
    0052a710
    0052a710crypto/internal/fips140/aes/gcm.gcmCounterCryptGeneric: ; void crypto/internal/fips140/aes/gcm.gcmCounterCryptGeneric(crypto/internal/fips140/aes.Block * b, struct []uint8 out, struct []uint8 src, uint8[16] * counter)
    0052a710ldr x16, [x28+16]
    0052a714sub x17, sp, 32
    0052a718subs xzr, x17, x16
    0052a71cb.ls 0x52a948
    0052a720str x30, [sp-160]!
    0052a724stur x29, [sp-8]
    0052a728sub x29, sp, 8
    0052a72cstr x0, [sp+168]
    0052a730str x1, [sp+176]
    0052a734str x2, [sp+184]
    0052a738str x3, [sp+192]
    0052a73cstr x4, [sp+200]
    0052a740str x5, [sp+208]
    0052a744str x6, [sp+216]
    0052a748str x7, [sp+224]
    0052a74cstp xzr, xzr, [sp+80]
    0052a750b 0x52a754
    0052a754
    0052a754loc_52a754:
    0052a754ldr x7, [sp+208]
    0052a758str x7, [sp+96]
    0052a75csubs xzr, x7, 16
    0052a760b.ge 0x52a768
    0052a764b 0x52a880
    0052a768
    0052a768loc_52a768:
    0052a768add x7, sp, 80
    0052a76cldrsb x27, [x7]
    0052a770b 0x52a774
    0052a774
    0052a774loc_52a774:
    0052a774str x7, [sp+128]
    0052a778orr x6, xzr, 16
    0052a77cstr x6, [sp+136]
    0052a780str x6, [sp+144]
    0052a784ldr x4, [sp+224]
    0052a788ldrsb x27, [x4]
    0052a78cb 0x52a790
    0052a790
    0052a790loc_52a790:
    0052a790str x4, [sp+104]
    0052a794str x6, [sp+112]
    0052a798str x6, [sp+120]
    0052a79cldr x0, [sp+168]
    0052a7a0ldr x1, [sp+128]
    0052a7a4ldr x2, [sp+136]
    0052a7a8ldr x3, [sp+144]
    0052a7acmov x5, x6
    0052a7b0bl crypto/internal/fips140/aes.EncryptBlockInternal
    0052a7b4ldr x0, [sp+224]
    0052a7b8bl crypto/internal/fips140/aes/gcm.gcmInc32
    0052a7bcadd x6, sp, 80
    0052a7c0ldrsb x27, [x6]
    0052a7c4b 0x52a7c8
    0052a7c8
    0052a7c8loc_52a7c8:
    0052a7c8str x6, [sp+104]
    0052a7ccorr x8, xzr, 16
    0052a7d0str x8, [sp+112]
    0052a7d4str x8, [sp+120]
    0052a7d8ldr x0, [sp+176]
    0052a7dcldr x3, [sp+200]
    0052a7e0ldr x1, [sp+184]
    0052a7e4ldr x4, [sp+208]
    0052a7e8ldr x2, [sp+192]
    0052a7ecldr x5, [sp+216]
    0052a7f0mov x7, x8
    0052a7f4bl crypto/internal/fips140/subtle.XORBytes
    0052a7f8ldr x1, [sp+184]
    0052a7fcldr x9, [sp+176]
    0052a800ldr x10, [sp+192]
    0052a804b 0x52a808
    0052a808
    0052a808loc_52a808:
    0052a808subs xzr, x1, 16
    0052a80cb.hs 0x52a814
    0052a810b 0x52a93c
    0052a814
    0052a814loc_52a814:
    0052a814sub x7, x10, 16
    0052a818sub x8, xzr, x7
    0052a81csub x10, x1, 16
    0052a820sbfm x8, x8, 63, 63
    0052a824and x8, x8, 16
    0052a828add x8, x9, x8
    0052a82cstr x8, [sp+176]
    0052a830str x10, [sp+184]
    0052a834str x7, [sp+192]
    0052a838ldr x1, [sp+208]
    0052a83cldr x7, [sp+200]
    0052a840ldr x8, [sp+216]
    0052a844b 0x52a848
    0052a848
    0052a848loc_52a848:
    0052a848subs xzr, x1, 16
    0052a84cb.hs 0x52a854
    0052a850b 0x52a934
    0052a854
    0052a854loc_52a854:
    0052a854sub x8, x8, 16
    0052a858sub x9, xzr, x8
    0052a85csub x10, x1, 16
    0052a860sbfm x9, x9, 63, 63
    0052a864and x9, x9, 16
    0052a868add x7, x7, x9
    0052a86cstr x7, [sp+200]
    0052a870str x10, [sp+208]
    0052a874str x8, [sp+216]
    0052a878b 0x52a87c
    0052a87c
    0052a87cloc_52a87c:
    0052a87cb 0x52a754
    0052a880
    0052a880loc_52a880:
    0052a880ldr x7, [sp+208]
    0052a884str x7, [sp+96]
    0052a888cbnz x7, 0x52a890
    0052a88cb 0x52a924
    0052a890
    0052a890loc_52a890:
    0052a890add x7, sp, 80
    0052a894ldrsb x27, [x7]
    0052a898b 0x52a89c
    0052a89c
    0052a89cloc_52a89c:
    0052a89cstr x7, [sp+104]
    0052a8a0orr x6, xzr, 16
    0052a8a4str x6, [sp+112]
    0052a8a8str x6, [sp+120]
    0052a8acldr x4, [sp+224]
    0052a8b0ldrsb x27, [x4]
    0052a8b4b 0x52a8b8
    0052a8b8
    0052a8b8loc_52a8b8:
    0052a8b8str x4, [sp+128]
    0052a8bcstr x6, [sp+136]
    0052a8c0str x6, [sp+144]
    0052a8c4ldr x0, [sp+168]
    0052a8c8ldr x1, [sp+104]
    0052a8ccldr x2, [sp+112]
    0052a8d0ldr x3, [sp+120]
    0052a8d4mov x5, x6
    0052a8d8bl crypto/internal/fips140/aes.EncryptBlockInternal
    0052a8dcldr x0, [sp+224]
    0052a8e0bl crypto/internal/fips140/aes/gcm.gcmInc32
    0052a8e4add x6, sp, 80
    0052a8e8ldrsb x27, [x6]
    0052a8ecb 0x52a8f0
    0052a8f0
    0052a8f0loc_52a8f0:
    0052a8f0str x6, [sp+128]
    0052a8f4orr x8, xzr, 16
    0052a8f8str x8, [sp+136]
    0052a8fcstr x8, [sp+144]
    0052a900ldr x0, [sp+176]
    0052a904ldr x3, [sp+200]
    0052a908ldr x1, [sp+184]
    0052a90cldr x4, [sp+208]
    0052a910ldr x2, [sp+192]
    0052a914ldr x5, [sp+216]
    0052a918mov x7, x8
    0052a91cbl crypto/internal/fips140/subtle.XORBytes
    0052a920b 0x52a928
    0052a924
    0052a924loc_52a924:
    0052a924b 0x52a928
    0052a928
    0052a928loc_52a928:
    0052a928ldur x29, [sp-8]
    0052a92cldr x30, [sp], 160
    0052a930ret x30
    0052a934
    0052a934loc_52a934:
    0052a934orr x0, xzr, 16
    0052a938bl runtime.panicSliceB
    0052a93c
    0052a93cloc_52a93c:
    0052a93corr x0, xzr, 16
    0052a940bl runtime.panicSliceB
    0052a944hint
    0052a948
    0052a948loc_52a948:
    0052a948stp x0, x1, [sp+8]
    0052a94cstp x2, x3, [sp+24]
    0052a950stp x4, x5, [sp+40]
    0052a954stp x6, x7, [sp+56]
    0052a958mov x3, x30
    0052a95cbl runtime.morestack_noctxt.abi0
    0052a960ldp x0, x1, [sp+8]
    0052a964ldp x2, x3, [sp+24]
    0052a968ldp x4, x5, [sp+40]
    0052a96cldp x6, x7, [sp+56]
    0052a970b 0x52a710
    0052a974udf 0
    0052a978udf 0
    0052a97cudf 0
    0052a710
    0052a980
    0052a980crypto/internal/fips140/aes/gcm.gcmInc32: ; void crypto/internal/fips140/aes/gcm.gcmInc32(uint8[16] * counterBlock)
    0052a980ldr x16, [x28+16]
    0052a984subs xzr, sp, x16
    0052a988b.ls 0x52a9ec
    0052a98cstr x30, [sp-80]!
    0052a990stur x29, [sp-8]
    0052a994sub x29, sp, 8
    0052a998str x0, [sp+88]
    0052a99cldrsb x27, [x0]
    0052a9a0b 0x52a9a4
    0052a9a4
    0052a9a4loc_52a9a4:
    0052a9a4add x0, x0, 12
    0052a9a8str x0, [sp+48]
    0052a9acorr x2, xzr, 4
    0052a9b0str x2, [sp+56]
    0052a9b4str x2, [sp+64]
    0052a9b8mov x1, x2
    0052a9bcbl crypto/internal/fips140deps/byteorder.BEUint32
    0052a9c0str w0, [sp+44]
    0052a9c4ldr x3, [sp+48]
    0052a9c8ldr x1, [sp+56]
    0052a9ccldr x2, [sp+64]
    0052a9d0add x4, x0, 1
    0052a9d4mov x0, x3
    0052a9d8mov x3, x4
    0052a9dcbl crypto/internal/fips140deps/byteorder.BEPutUint32
    0052a9e0ldur x29, [sp-8]
    0052a9e4ldr x30, [sp], 80
    0052a9e8ret x30
    0052a9ec
    0052a9ecloc_52a9ec:
    0052a9ecstr x0, [sp+8]
    0052a9f0mov x3, x30
    0052a9f4bl runtime.morestack_noctxt.abi0
    0052a9f8ldr x0, [sp+8]
    0052a9fcb 0x52a980
    0052a980
    0052aa00
    0052aa00crypto/internal/fips140/aes/gcm.gcmAuthGeneric: ; void crypto/internal/fips140/aes/gcm.gcmAuthGeneric(struct []uint8 out, uint8[16] * H, uint8[16] * tagMask, struct []uint8 ciphertext, struct []uint8 additionalData)
    0052aa00ldr x16, [x28+16]
    0052aa04sub x17, sp, 176
    0052aa08subs xzr, x17, x16
    0052aa0cb.ls 0x52ac78
    0052aa10sub x20, sp, 304
    0052aa14stp x29, x30, [x20-8]
    0052aa18add sp, x20, 0
    0052aa1csub x29, sp, 8
    0052aa20str x0, [sp+312]
    0052aa24str x1, [sp+320]
    0052aa28str x2, [sp+328]
    0052aa2cstr x3, [sp+336]
    0052aa30str x4, [sp+344]
    0052aa34str x5, [sp+352]
    0052aa38str x6, [sp+360]
    0052aa3cstr x7, [sp+368]
    0052aa40str x8, [sp+376]
    0052aa44str x9, [sp+384]
    0052aa48str x10, [sp+392]
    0052aa4cbl crypto/internal/fips140/aes/gcm.checkGenericIsExpected
    0052aa50b 0x52aa54
    0052aa54
    0052aa54loc_52aa54:
    0052aa54stp xzr, xzr, [sp+96]
    0052aa58add x4, sp, 96
    0052aa5cldrsb x27, [x4]
    0052aa60b 0x52aa64
    0052aa64
    0052aa64loc_52aa64:
    0052aa64str x4, [sp+120]
    0052aa68orr x2, xzr, 16
    0052aa6cstr x2, [sp+128]
    0052aa70str x2, [sp+136]
    0052aa74b 0x52aa78
    0052aa78
    0052aa78loc_52aa78:
    0052aa78b 0x52aa7c
    0052aa7c
    0052aa7cloc_52aa7c:
    0052aa7cstr x4, [sp+216]
    0052aa80orr x1, xzr, 8
    0052aa84str x1, [sp+224]
    0052aa88str x2, [sp+232]
    0052aa8cldr x4, [sp+384]
    0052aa90str x4, [sp+112]
    0052aa94ldr x0, [sp+216]
    0052aa98ubfm x3, x4, 61, 60
    0052aa9cbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052aaa0ldr x1, [sp+128]
    0052aaa4ldr x4, [sp+120]
    0052aaa8ldr x5, [sp+136]
    0052aaacb 0x52aab0
    0052aab0
    0052aab0loc_52aab0:
    0052aab0subs xzr, x1, 8
    0052aab4b.hs 0x52aabc
    0052aab8b 0x52ac6c
    0052aabc
    0052aabcloc_52aabc:
    0052aabcsub x2, x5, 8
    0052aac0sub x1, x1, 8
    0052aac4sub x5, xzr, x2
    0052aac8sbfm x5, x5, 63, 63
    0052aaccand x5, x5, 8
    0052aad0add x0, x4, x5
    0052aad4str x0, [sp+216]
    0052aad8str x1, [sp+224]
    0052aadcstr x2, [sp+232]
    0052aae0ldr x4, [sp+360]
    0052aae4str x4, [sp+112]
    0052aae8ubfm x3, x4, 61, 60
    0052aaecbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052aaf0stp xzr, xzr, [sp+80]
    0052aaf4stp xzr, xzr, [sp+144]
    0052aaf8stp xzr, xzr, [sp+160]
    0052aafcstp xzr, xzr, [sp+176]
    0052ab00stp xzr, xzr, [sp+192]
    0052ab04str xzr, [sp+208]
    0052ab08add x4, sp, 144
    0052ab0cstr x4, [sp+240]
    0052ab10ldrsb x27, [x4]
    0052ab14ldr x5, [sp+376]
    0052ab18ldr x6, [sp+384]
    0052ab1cldr x7, [sp+392]
    0052ab20str x6, [x4+8]
    0052ab24str x7, [x4+16]
    0052ab28adrp x27, 0x521000
    0052ab2cldr w6, [x27+3056]
    0052ab30cbz w6, 0x52ab38
    0052ab34b 0x52ab3c
    0052ab38
    0052ab38loc_52ab38:
    0052ab38b 0x52ab50
    0052ab3c
    0052ab3cloc_52ab3c:
    0052ab3cbl runtime.gcWriteBarrier2
    0052ab40str x5, [x25]
    0052ab44ldr x6, [x4]
    0052ab48str x6, [x25+8]
    0052ab4cb 0x52ab50
    0052ab50
    0052ab50loc_52ab50:
    0052ab50str x5, [x4]
    0052ab54ldrsb x27, [x4]
    0052ab58ldr x5, [sp+352]
    0052ab5cldr x6, [sp+360]
    0052ab60ldr x7, [sp+368]
    0052ab64str x6, [x4+32]
    0052ab68str x7, [x4+40]
    0052ab6cadrp x27, 0x521000
    0052ab70ldr w6, [x27+3056]
    0052ab74cbz w6, 0x52ab7c
    0052ab78b 0x52ab80
    0052ab7c
    0052ab7cloc_52ab7c:
    0052ab7cb 0x52ab94
    0052ab80
    0052ab80loc_52ab80:
    0052ab80bl runtime.gcWriteBarrier2
    0052ab84str x5, [x25]
    0052ab88ldr x6, [x4+24]
    0052ab8cstr x6, [x25+8]
    0052ab90b 0x52ab94
    0052ab94
    0052ab94loc_52ab94:
    0052ab94str x5, [x4+24]
    0052ab98ldr x5, [sp+120]
    0052ab9cldr x6, [sp+128]
    0052aba0ldr x7, [sp+136]
    0052aba4ldr x8, [sp+240]
    0052aba8ldrsb x27, [x8]
    0052abacstr x6, [x8+56]
    0052abb0str x7, [x8+64]
    0052abb4adrp x27, 0x521000
    0052abb8ldr w6, [x27+3056]
    0052abbccbz w6, 0x52abc4
    0052abc0b 0x52abc8
    0052abc4
    0052abc4loc_52abc4:
    0052abc4b 0x52abdc
    0052abc8
    0052abc8loc_52abc8:
    0052abc8bl runtime.gcWriteBarrier2
    0052abccstr x5, [x25]
    0052abd0ldr x6, [x8+48]
    0052abd4str x6, [x25+8]
    0052abd8b 0x52abdc
    0052abdc
    0052abdcloc_52abdc:
    0052abdcstr x5, [x8+48]
    0052abe0ldr x2, [sp+240]
    0052abe4ldrsb x27, [x2]
    0052abe8b 0x52abec
    0052abec
    0052abecloc_52abec:
    0052abecstr x2, [sp+248]
    0052abf0orr x4, xzr, 3
    0052abf4str x4, [sp+256]
    0052abf8str x4, [sp+264]
    0052abfcldr x1, [sp+336]
    0052ac00add x0, sp, 80
    0052ac04mov x3, x4
    0052ac08bl crypto/internal/fips140/aes/gcm.ghash
    0052ac0cadd x5, sp, 80
    0052ac10ldrsb x27, [x5]
    0052ac14b 0x52ac18
    0052ac18
    0052ac18loc_52ac18:
    0052ac18str x5, [sp+216]
    0052ac1corr x8, xzr, 16
    0052ac20str x8, [sp+224]
    0052ac24str x8, [sp+232]
    0052ac28ldr x6, [sp+344]
    0052ac2cldrsb x27, [x6]
    0052ac30b 0x52ac34
    0052ac34
    0052ac34loc_52ac34:
    0052ac34str x6, [sp+272]
    0052ac38str x8, [sp+280]
    0052ac3cstr x8, [sp+288]
    0052ac40ldr x0, [sp+312]
    0052ac44ldr x1, [sp+320]
    0052ac48ldr x2, [sp+328]
    0052ac4cldr x3, [sp+216]
    0052ac50ldr x4, [sp+224]
    0052ac54ldr x5, [sp+232]
    0052ac58mov x7, x8
    0052ac5cbl crypto/internal/fips140/subtle.XORBytes
    0052ac60ldp x29, x30, [sp-8]
    0052ac64add sp, sp, 304
    0052ac68ret x30
    0052ac6c
    0052ac6cloc_52ac6c:
    0052ac6corr x0, xzr, 8
    0052ac70bl runtime.panicSliceB
    0052ac74hint
    0052ac78
    0052ac78loc_52ac78:
    0052ac78stp x0, x1, [sp+8]
    0052ac7cstp x2, x3, [sp+24]
    0052ac80stp x4, x5, [sp+40]
    0052ac84stp x6, x7, [sp+56]
    0052ac88stp x8, x9, [sp+72]
    0052ac8cstr x10, [sp+88]
    0052ac90mov x3, x30
    0052ac94bl runtime.morestack_noctxt.abi0
    0052ac98ldp x0, x1, [sp+8]
    0052ac9cldp x2, x3, [sp+24]
    0052aca0ldp x4, x5, [sp+40]
    0052aca4ldp x6, x7, [sp+56]
    0052aca8ldp x8, x9, [sp+72]
    0052acacldr x10, [sp+88]
    0052acb0b 0x52aa00
    0052acb4udf 0
    0052acb8udf 0
    0052acbcudf 0
    0052aa00
    0052acc0
    0052acc0crypto/internal/fips140/aes/gcm.NewGCMForTLS12: ; void crypto/internal/fips140/aes/gcm.NewGCMForTLS12(crypto/internal/fips140/aes.Block * cipher)
    0052acc0ldr x16, [x28+16]
    0052acc4sub x17, sp, 816
    0052acc8subs xzr, x17, x16
    0052acccb.ls 0x52ae48
    0052acd0sub x20, sp, 944
    0052acd4stp x29, x30, [x20-8]
    0052acd8add sp, x20, 0
    0052acdcsub x29, sp, 8
    0052ace0str x0, [sp+952]
    0052ace4str xzr, [sp+824]
    0052ace8add x27, sp, 808
    0052acecstp xzr, xzr, [x27]
    0052acf0str xzr, [sp+880]
    0052acf4add x27, sp, 864
    0052acf8stp xzr, xzr, [x27]
    0052acfcadd x20, sp, 48
    0052ad00adr x27, 16
    0052ad04stp x29, x27, [sp-24]
    0052ad08sub x29, sp, 24
    0052ad0cbl fn_87c54
    0052ad10sub x29, sp, 8
    0052ad14str xzr, [sp+800]
    0052ad18add x20, sp, 48
    0052ad1cstr x20, [sp+856]
    0052ad20ldrsb x27, [x20]
    0052ad24adr x27, 16
    0052ad28stp x29, x27, [sp-24]
    0052ad2csub x29, sp, 24
    0052ad30bl fn_87c54
    0052ad34sub x29, sp, 8
    0052ad38add x4, sp, 48
    0052ad3cstr xzr, [x4+752]
    0052ad40ldr x1, [sp+952]
    0052ad44ldr x0, [sp+856]
    0052ad48orr x2, xzr, 12
    0052ad4corr x3, xzr, 16
    0052ad50bl crypto/internal/fips140/aes/gcm.newGCM
    0052ad54str x0, [sp+880]
    0052ad58str x1, [sp+864]
    0052ad5cstr x2, [sp+872]
    0052ad60ldr x4, [sp+880]
    0052ad64str x4, [sp+904]
    0052ad68ldr x4, [sp+864]
    0052ad6cldr x5, [sp+872]
    0052ad70str x4, [sp+888]
    0052ad74str x5, [sp+896]
    0052ad78ldr x4, [sp+904]
    0052ad7cstr x4, [sp+832]
    0052ad80ldr x4, [sp+896]
    0052ad84ldr x5, [sp+888]
    0052ad88str x5, [sp+840]
    0052ad8cstr x4, [sp+848]
    0052ad90cbnz x5, 0x52ad98
    0052ad94b 0x52adbc
    0052ad98
    0052ad98loc_52ad98:
    0052ad98str xzr, [sp+824]
    0052ad9cldr x1, [sp+840]
    0052ada0ldr x2, [sp+848]
    0052ada4str x1, [sp+808]
    0052ada8str x2, [sp+816]
    0052adacldr x0, [sp+824]
    0052adb0ldp x29, x30, [sp-8]
    0052adb4add sp, sp, 944
    0052adb8ret x30
    0052adbc
    0052adbcloc_52adbc:
    0052adbcadrp x0, 0x11b000
    0052adc0add x0, x0, 2784
    0052adc4bl runtime.newobject
    0052adc8str x0, [sp+928]
    0052adccmov x20, x0
    0052add0adr x27, 16
    0052add4stp x29, x27, [sp-24]
    0052add8sub x29, sp, 24
    0052addcbl fn_87c50
    0052ade0sub x29, sp, 8
    0052ade4ldr x21, [sp+928]
    0052ade8str x21, [sp+920]
    0052adecldrsb x27, [x21]
    0052adf0ldr x20, [sp+832]
    0052adf4str x20, [sp+912]
    0052adf8ldrsb x27, [x20]
    0052adfcadr x27, 16
    0052ae00stp x29, x27, [sp-24]
    0052ae04sub x29, sp, 24
    0052ae08bl fn_87da8
    0052ae0csub x29, sp, 8
    0052ae10ldr x1, [sp+912]
    0052ae14ldr x1, [x1+752]
    0052ae18ldr x2, [sp+920]
    0052ae1cstr x1, [x2+752]
    0052ae20ldr x1, [sp+928]
    0052ae24str x1, [sp+824]
    0052ae28add x27, sp, 808
    0052ae2cstp xzr, xzr, [x27]
    0052ae30ldr x0, [sp+824]
    0052ae34mov x1, xzr
    0052ae38mov x2, xzr
    0052ae3cldp x29, x30, [sp-8]
    0052ae40add sp, sp, 944
    0052ae44ret x30
    0052ae48
    0052ae48loc_52ae48:
    0052ae48str x0, [sp+8]
    0052ae4cmov x3, x30
    0052ae50bl runtime.morestack_noctxt.abi0
    0052ae54ldr x0, [sp+8]
    0052ae58b 0x52acc0
    0052ae5cudf 0
    0052acc0
    0052ae60
    0052ae60crypto/internal/fips140/aes/gcm.(*GCMForTLS12).NonceSize: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS12).NonceSize(crypto/internal/fips140/aes/gcm.GCMForTLS12 * g)
    0052ae60str x30, [sp-32]!
    0052ae64stur x29, [sp-8]
    0052ae68sub x29, sp, 8
    0052ae6cstr x0, [sp+40]
    0052ae70str xzr, [sp+16]
    0052ae74orr x0, xzr, 12
    0052ae78str x0, [sp+16]
    0052ae7cadd x29, sp, 24
    0052ae80add sp, sp, 32
    0052ae84ret x30
    0052ae88udf 0
    0052ae8cudf 0
    0052ae60
    0052ae90
    0052ae90crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Overhead: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Overhead(crypto/internal/fips140/aes/gcm.GCMForTLS12 * g)
    0052ae90str x30, [sp-32]!
    0052ae94stur x29, [sp-8]
    0052ae98sub x29, sp, 8
    0052ae9cstr x0, [sp+40]
    0052aea0str xzr, [sp+16]
    0052aea4orr x0, xzr, 16
    0052aea8str x0, [sp+16]
    0052aeacadd x29, sp, 24
    0052aeb0add sp, sp, 32
    0052aeb4ret x30
    0052aeb8udf 0
    0052aebcudf 0
    0052ae90
    0052aec0
    0052aec0crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Seal: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Seal(crypto/internal/fips140/aes/gcm.GCMForTLS12 * g, struct []uint8 dst, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 data)
    0052aec0ldr x16, [x28+16]
    0052aec4sub x17, sp, 112
    0052aec8subs xzr, x17, x16
    0052aeccb.ls 0x52b0b0
    0052aed0str x30, [sp-240]!
    0052aed4stur x29, [sp-8]
    0052aed8sub x29, sp, 8
    0052aedcstr x0, [sp+248]
    0052aee0str x1, [sp+256]
    0052aee4str x2, [sp+264]
    0052aee8str x3, [sp+272]
    0052aeecstr x4, [sp+280]
    0052aef0str x5, [sp+288]
    0052aef4str x6, [sp+296]
    0052aef8str x7, [sp+304]
    0052aefcstr x8, [sp+312]
    0052af00str x9, [sp+320]
    0052af04str x10, [sp+328]
    0052af08str x11, [sp+336]
    0052af0cstr x12, [sp+344]
    0052af10str xzr, [sp+136]
    0052af14stp xzr, xzr, [sp+144]
    0052af18ldr x3, [sp+288]
    0052af1cstr x3, [sp+128]
    0052af20subs xzr, x3, 12
    0052af24b.ne 0x52b080
    0052af28b 0x52af2c
    0052af2c
    0052af2cloc_52af2c:
    0052af2cldr x3, [sp+288]
    0052af30str x3, [sp+128]
    0052af34sub x0, x3, 8
    0052af38str x0, [sp+120]
    0052af3cldr x1, [sp+288]
    0052af40ldr x4, [sp+296]
    0052af44ldr x5, [sp+280]
    0052af48b 0x52af4c
    0052af4c
    0052af4cloc_52af4c:
    0052af4csubs xzr, x1, x0
    0052af50b.hs 0x52af58
    0052af54b 0x52b07c
    0052af58
    0052af58loc_52af58:
    0052af58sub x6, x1, x3
    0052af5csub x3, x4, x3
    0052af60add x2, x3, 8
    0052af64add x1, x6, 8
    0052af68sub x3, xzr, x2
    0052af6cand x3, x0, x3, asr #63
    0052af70add x0, x5, x3
    0052af74str x0, [sp+208]
    0052af78str x1, [sp+216]
    0052af7cstr x2, [sp+224]
    0052af80bl crypto/internal/fips140deps/byteorder.BEUint64
    0052af84str x0, [sp+112]
    0052af88adds xzr, x0, 1
    0052af8cb.eq 0x52b050
    0052af90b 0x52af94
    0052af94
    0052af94loc_52af94:
    0052af94ldr x2, [sp+248]
    0052af98ldrsb x27, [x2]
    0052af9cldr x2, [x2+760]
    0052afa0subs xzr, x0, x2
    0052afa4b.lo 0x52b024
    0052afa8b 0x52afac
    0052afac
    0052afacloc_52afac:
    0052afacldr x1, [sp+248]
    0052afb0ldrsb x27, [x1]
    0052afb4add x0, x0, 1
    0052afb8str x0, [x1+760]
    0052afbcbl crypto/internal/fips140.RecordApproved
    0052afc0ldr x0, [sp+248]
    0052afc4ldrsb x27, [x0]
    0052afc8str x0, [sp+176]
    0052afccldr x1, [sp+256]
    0052afd0ldr x4, [sp+280]
    0052afd4ldr x7, [sp+304]
    0052afd8ldr x10, [sp+328]
    0052afdcldr x2, [sp+264]
    0052afe0ldr x5, [sp+288]
    0052afe4ldr x8, [sp+312]
    0052afe8ldr x11, [sp+336]
    0052afecldr x3, [sp+272]
    0052aff0ldr x6, [sp+296]
    0052aff4ldr x9, [sp+320]
    0052aff8ldr x12, [sp+344]
    0052affcbl crypto/internal/fips140/aes/gcm.(*GCM).sealAfterIndicator
    0052b000str x0, [sp+208]
    0052b004str x1, [sp+216]
    0052b008str x2, [sp+224]
    0052b00cstr x0, [sp+136]
    0052b010str x1, [sp+144]
    0052b014str x2, [sp+152]
    0052b018ldur x29, [sp-8]
    0052b01cldr x30, [sp], 240
    0052b020ret x30
    0052b024
    0052b024loc_52b024:
    0052b024adrp x0, 0x193000
    0052b028add x0, x0, 3440
    0052b02cstr x0, [sp+160]
    0052b030orr x1, xzr, 32
    0052b034str x1, [sp+168]
    0052b038bl runtime.convTstring
    0052b03cstr x0, [sp+184]
    0052b040mov x1, x0
    0052b044adrp x0, 0xca000
    0052b048add x0, x0, 2944
    0052b04cbl runtime.gopanic
    0052b050
    0052b050loc_52b050:
    0052b050adrp x0, 0x192000
    0052b054add x0, x0, 1642
    0052b058str x0, [sp+160]
    0052b05corr x1, xzr, 30
    0052b060str x1, [sp+168]
    0052b064bl runtime.convTstring
    0052b068str x0, [sp+192]
    0052b06cmov x1, x0
    0052b070adrp x0, 0xca000
    0052b074add x0, x0, 2944
    0052b078bl runtime.gopanic
    0052b07c
    0052b07cloc_52b07c:
    0052b07cbl runtime.panicSliceB
    0052b080
    0052b080loc_52b080:
    0052b080adrp x0, 0x19e000
    0052b084add x0, x0, 1658
    0052b088str x0, [sp+160]
    0052b08cmovz x1, 50
    0052b090str x1, [sp+168]
    0052b094bl runtime.convTstring
    0052b098str x0, [sp+200]
    0052b09cmov x1, x0
    0052b0a0adrp x0, 0xca000
    0052b0a4add x0, x0, 2944
    0052b0a8bl runtime.gopanic
    0052b0achint
    0052b0b0
    0052b0b0loc_52b0b0:
    0052b0b0stp x0, x1, [sp+8]
    0052b0b4stp x2, x3, [sp+24]
    0052b0b8stp x4, x5, [sp+40]
    0052b0bcstp x6, x7, [sp+56]
    0052b0c0stp x8, x9, [sp+72]
    0052b0c4stp x10, x11, [sp+88]
    0052b0c8str x12, [sp+104]
    0052b0ccmov x3, x30
    0052b0d0bl runtime.morestack_noctxt.abi0
    0052b0d4ldp x0, x1, [sp+8]
    0052b0d8ldp x2, x3, [sp+24]
    0052b0dcldp x4, x5, [sp+40]
    0052b0e0ldp x6, x7, [sp+56]
    0052b0e4ldp x8, x9, [sp+72]
    0052b0e8ldp x10, x11, [sp+88]
    0052b0ecldr x12, [sp+104]
    0052b0f0b 0x52aec0
    0052b0f4udf 0
    0052b0f8udf 0
    0052b0fcudf 0
    0052aec0
    0052b100
    0052b100crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Open: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS12).Open(crypto/internal/fips140/aes/gcm.GCMForTLS12 * g, struct []uint8 dst, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 data)
    0052b100ldr x16, [x28+16]
    0052b104sub x17, sp, 128
    0052b108subs xzr, x17, x16
    0052b10cb.ls 0x52b22c
    0052b110sub x20, sp, 256
    0052b114stp x29, x30, [x20-8]
    0052b118add sp, x20, 0
    0052b11csub x29, sp, 8
    0052b120str x0, [sp+264]
    0052b124str x1, [sp+272]
    0052b128str x2, [sp+280]
    0052b12cstr x3, [sp+288]
    0052b130str x4, [sp+296]
    0052b134str x5, [sp+304]
    0052b138str x6, [sp+312]
    0052b13cstr x7, [sp+320]
    0052b140str x8, [sp+328]
    0052b144str x9, [sp+336]
    0052b148str x10, [sp+344]
    0052b14cstr x11, [sp+352]
    0052b150str x12, [sp+360]
    0052b154str xzr, [sp+136]
    0052b158stp xzr, xzr, [sp+144]
    0052b15cstp xzr, xzr, [sp+120]
    0052b160bl crypto/internal/fips140.RecordApproved
    0052b164str xzr, [sp+160]
    0052b168stp xzr, xzr, [sp+168]
    0052b16cstp xzr, xzr, [sp+232]
    0052b170ldr x0, [sp+264]
    0052b174ldrsb x27, [x0]
    0052b178str x0, [sp+224]
    0052b17cldr x1, [sp+272]
    0052b180ldr x4, [sp+296]
    0052b184ldr x7, [sp+320]
    0052b188ldr x10, [sp+344]
    0052b18cldr x2, [sp+280]
    0052b190ldr x5, [sp+304]
    0052b194ldr x8, [sp+328]
    0052b198ldr x11, [sp+352]
    0052b19cldr x3, [sp+288]
    0052b1a0ldr x6, [sp+312]
    0052b1a4ldr x9, [sp+336]
    0052b1a8ldr x12, [sp+360]
    0052b1acbl crypto/internal/fips140/aes/gcm.(*GCM).Open
    0052b1b0str x0, [sp+160]
    0052b1b4str x1, [sp+168]
    0052b1b8str x2, [sp+176]
    0052b1bcstr x3, [sp+232]
    0052b1c0str x4, [sp+240]
    0052b1c4ldr x0, [sp+160]
    0052b1c8ldr x1, [sp+168]
    0052b1ccldr x2, [sp+176]
    0052b1d0str x0, [sp+200]
    0052b1d4str x1, [sp+208]
    0052b1d8str x2, [sp+216]
    0052b1dcldr x0, [sp+232]
    0052b1e0ldr x1, [sp+240]
    0052b1e4str x0, [sp+184]
    0052b1e8str x1, [sp+192]
    0052b1ecldr x0, [sp+200]
    0052b1f0ldr x1, [sp+208]
    0052b1f4ldr x2, [sp+216]
    0052b1f8str x0, [sp+136]
    0052b1fcstr x1, [sp+144]
    0052b200str x2, [sp+152]
    0052b204ldr x3, [sp+184]
    0052b208ldr x4, [sp+192]
    0052b20cstr x3, [sp+120]
    0052b210str x4, [sp+128]
    0052b214ldr x0, [sp+136]
    0052b218ldr x1, [sp+144]
    0052b21cldr x2, [sp+152]
    0052b220ldp x29, x30, [sp-8]
    0052b224add sp, sp, 256
    0052b228ret x30
    0052b22c
    0052b22cloc_52b22c:
    0052b22cstp x0, x1, [sp+8]
    0052b230stp x2, x3, [sp+24]
    0052b234stp x4, x5, [sp+40]
    0052b238stp x6, x7, [sp+56]
    0052b23cstp x8, x9, [sp+72]
    0052b240stp x10, x11, [sp+88]
    0052b244str x12, [sp+104]
    0052b248mov x3, x30
    0052b24cbl runtime.morestack_noctxt.abi0
    0052b250ldp x0, x1, [sp+8]
    0052b254ldp x2, x3, [sp+24]
    0052b258ldp x4, x5, [sp+40]
    0052b25cldp x6, x7, [sp+56]
    0052b260ldp x8, x9, [sp+72]
    0052b264ldp x10, x11, [sp+88]
    0052b268ldr x12, [sp+104]
    0052b26cb 0x52b100
    0052b100
    0052b270
    0052b270crypto/internal/fips140/aes/gcm.NewGCMForTLS13: ; void crypto/internal/fips140/aes/gcm.NewGCMForTLS13(crypto/internal/fips140/aes.Block * cipher)
    0052b270ldr x16, [x28+16]
    0052b274sub x17, sp, 816
    0052b278subs xzr, x17, x16
    0052b27cb.ls 0x52b3f8
    0052b280sub x20, sp, 944
    0052b284stp x29, x30, [x20-8]
    0052b288add sp, x20, 0
    0052b28csub x29, sp, 8
    0052b290str x0, [sp+952]
    0052b294str xzr, [sp+824]
    0052b298add x27, sp, 808
    0052b29cstp xzr, xzr, [x27]
    0052b2a0str xzr, [sp+880]
    0052b2a4add x27, sp, 864
    0052b2a8stp xzr, xzr, [x27]
    0052b2acadd x20, sp, 48
    0052b2b0adr x27, 16
    0052b2b4stp x29, x27, [sp-24]
    0052b2b8sub x29, sp, 24
    0052b2bcbl fn_87c54
    0052b2c0sub x29, sp, 8
    0052b2c4str xzr, [sp+800]
    0052b2c8add x20, sp, 48
    0052b2ccstr x20, [sp+856]
    0052b2d0ldrsb x27, [x20]
    0052b2d4adr x27, 16
    0052b2d8stp x29, x27, [sp-24]
    0052b2dcsub x29, sp, 24
    0052b2e0bl fn_87c54
    0052b2e4sub x29, sp, 8
    0052b2e8add x4, sp, 48
    0052b2ecstr xzr, [x4+752]
    0052b2f0ldr x1, [sp+952]
    0052b2f4ldr x0, [sp+856]
    0052b2f8orr x2, xzr, 12
    0052b2fcorr x3, xzr, 16
    0052b300bl crypto/internal/fips140/aes/gcm.newGCM
    0052b304str x0, [sp+880]
    0052b308str x1, [sp+864]
    0052b30cstr x2, [sp+872]
    0052b310ldr x4, [sp+880]
    0052b314str x4, [sp+904]
    0052b318ldr x4, [sp+864]
    0052b31cldr x5, [sp+872]
    0052b320str x4, [sp+888]
    0052b324str x5, [sp+896]
    0052b328ldr x4, [sp+904]
    0052b32cstr x4, [sp+832]
    0052b330ldr x4, [sp+896]
    0052b334ldr x5, [sp+888]
    0052b338str x5, [sp+840]
    0052b33cstr x4, [sp+848]
    0052b340cbnz x5, 0x52b348
    0052b344b 0x52b36c
    0052b348
    0052b348loc_52b348:
    0052b348str xzr, [sp+824]
    0052b34cldr x1, [sp+840]
    0052b350ldr x2, [sp+848]
    0052b354str x1, [sp+808]
    0052b358str x2, [sp+816]
    0052b35cldr x0, [sp+824]
    0052b360ldp x29, x30, [sp-8]
    0052b364add sp, sp, 944
    0052b368ret x30
    0052b36c
    0052b36cloc_52b36c:
    0052b36cadrp x0, 0x13c000
    0052b370add x0, x0, 2016
    0052b374bl runtime.newobject
    0052b378str x0, [sp+928]
    0052b37cmov x20, x0
    0052b380adr x27, 16
    0052b384stp x29, x27, [sp-24]
    0052b388sub x29, sp, 24
    0052b38cbl fn_87c4c
    0052b390sub x29, sp, 8
    0052b394ldr x21, [sp+928]
    0052b398str x21, [sp+920]
    0052b39cldrsb x27, [x21]
    0052b3a0ldr x20, [sp+832]
    0052b3a4str x20, [sp+912]
    0052b3a8ldrsb x27, [x20]
    0052b3acadr x27, 16
    0052b3b0stp x29, x27, [sp-24]
    0052b3b4sub x29, sp, 24
    0052b3b8bl fn_87da8
    0052b3bcsub x29, sp, 8
    0052b3c0ldr x1, [sp+912]
    0052b3c4ldr x1, [x1+752]
    0052b3c8ldr x2, [sp+920]
    0052b3ccstr x1, [x2+752]
    0052b3d0ldr x1, [sp+928]
    0052b3d4str x1, [sp+824]
    0052b3d8add x27, sp, 808
    0052b3dcstp xzr, xzr, [x27]
    0052b3e0ldr x0, [sp+824]
    0052b3e4mov x1, xzr
    0052b3e8mov x2, xzr
    0052b3ecldp x29, x30, [sp-8]
    0052b3f0add sp, sp, 944
    0052b3f4ret x30
    0052b3f8
    0052b3f8loc_52b3f8:
    0052b3f8str x0, [sp+8]
    0052b3fcmov x3, x30
    0052b400bl runtime.morestack_noctxt.abi0
    0052b404ldr x0, [sp+8]
    0052b408b 0x52b270
    0052b40cudf 0
    0052b270
    0052b410
    0052b410crypto/internal/fips140/aes/gcm.(*GCMForTLS13).NonceSize: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS13).NonceSize(crypto/internal/fips140/aes/gcm.GCMForTLS13 * g)
    0052b410str x30, [sp-32]!
    0052b414stur x29, [sp-8]
    0052b418sub x29, sp, 8
    0052b41cstr x0, [sp+40]
    0052b420str xzr, [sp+16]
    0052b424orr x0, xzr, 12
    0052b428str x0, [sp+16]
    0052b42cadd x29, sp, 24
    0052b430add sp, sp, 32
    0052b434ret x30
    0052b438udf 0
    0052b43cudf 0
    0052b410
    0052b440
    0052b440crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Overhead: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Overhead(crypto/internal/fips140/aes/gcm.GCMForTLS13 * g)
    0052b440str x30, [sp-32]!
    0052b444stur x29, [sp-8]
    0052b448sub x29, sp, 8
    0052b44cstr x0, [sp+40]
    0052b450str xzr, [sp+16]
    0052b454orr x0, xzr, 16
    0052b458str x0, [sp+16]
    0052b45cadd x29, sp, 24
    0052b460add sp, sp, 32
    0052b464ret x30
    0052b468udf 0
    0052b46cudf 0
    0052b440
    0052b470
    0052b470crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Seal: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Seal(crypto/internal/fips140/aes/gcm.GCMForTLS13 * g, struct []uint8 dst, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 data)
    0052b470ldr x16, [x28+16]
    0052b474sub x17, sp, 112
    0052b478subs xzr, x17, x16
    0052b47cb.ls 0x52b6b4
    0052b480str x30, [sp-240]!
    0052b484stur x29, [sp-8]
    0052b488sub x29, sp, 8
    0052b48cstr x0, [sp+248]
    0052b490str x1, [sp+256]
    0052b494str x2, [sp+264]
    0052b498str x3, [sp+272]
    0052b49cstr x4, [sp+280]
    0052b4a0str x5, [sp+288]
    0052b4a4str x6, [sp+296]
    0052b4a8str x7, [sp+304]
    0052b4acstr x8, [sp+312]
    0052b4b0str x9, [sp+320]
    0052b4b4str x10, [sp+328]
    0052b4b8str x11, [sp+336]
    0052b4bcstr x12, [sp+344]
    0052b4c0str xzr, [sp+136]
    0052b4c4stp xzr, xzr, [sp+144]
    0052b4c8ldr x3, [sp+288]
    0052b4ccstr x3, [sp+128]
    0052b4d0subs xzr, x3, 12
    0052b4d4b.ne 0x52b684
    0052b4d8b 0x52b4dc
    0052b4dc
    0052b4dcloc_52b4dc:
    0052b4dcldr x3, [sp+288]
    0052b4e0str x3, [sp+128]
    0052b4e4sub x0, x3, 8
    0052b4e8str x0, [sp+120]
    0052b4ecldr x1, [sp+288]
    0052b4f0ldr x4, [sp+296]
    0052b4f4ldr x5, [sp+280]
    0052b4f8b 0x52b4fc
    0052b4fc
    0052b4fcloc_52b4fc:
    0052b4fcsubs xzr, x1, x0
    0052b500b.hs 0x52b508
    0052b504b 0x52b680
    0052b508
    0052b508loc_52b508:
    0052b508sub x6, x1, x3
    0052b50csub x3, x4, x3
    0052b510add x2, x3, 8
    0052b514add x1, x6, 8
    0052b518sub x3, xzr, x2
    0052b51cand x3, x0, x3, asr #63
    0052b520add x0, x5, x3
    0052b524str x0, [sp+208]
    0052b528str x1, [sp+216]
    0052b52cstr x2, [sp+224]
    0052b530bl crypto/internal/fips140deps/byteorder.BEUint64
    0052b534str x0, [sp+112]
    0052b538ldr x3, [sp+248]
    0052b53cldrsb x27, [x3]
    0052b540ldrb w3, [x3+760]
    0052b544tbnz w3, 0, 0x52b54c
    0052b548b 0x52b550
    0052b54c
    0052b54cloc_52b54c:
    0052b54cb 0x52b574
    0052b550
    0052b550loc_52b550:
    0052b550ldr x2, [sp+248]
    0052b554ldrsb x27, [x2]
    0052b558orr x3, xzr, 1
    0052b55cstrb w3, [x2+760]
    0052b560ldr x2, [sp+248]
    0052b564ldrsb x27, [x2]
    0052b568ldr x3, [sp+112]
    0052b56cstr x3, [x2+768]
    0052b570b 0x52b574
    0052b574
    0052b574loc_52b574:
    0052b574ldr x2, [sp+112]
    0052b578ldr x3, [sp+248]
    0052b57cldrsb x27, [x3]
    0052b580ldr x3, [x3+768]
    0052b584eor x2, x2, x3
    0052b588str x2, [sp+112]
    0052b58cadds xzr, x2, 1
    0052b590b.eq 0x52b654
    0052b594b 0x52b598
    0052b598
    0052b598loc_52b598:
    0052b598ldr x3, [sp+248]
    0052b59cldrsb x27, [x3]
    0052b5a0ldr x3, [x3+776]
    0052b5a4subs xzr, x3, x2
    0052b5a8b.hi 0x52b628
    0052b5acb 0x52b5b0
    0052b5b0
    0052b5b0loc_52b5b0:
    0052b5b0ldr x0, [sp+248]
    0052b5b4ldrsb x27, [x0]
    0052b5b8add x1, x2, 1
    0052b5bcstr x1, [x0+776]
    0052b5c0bl crypto/internal/fips140.RecordApproved
    0052b5c4ldr x0, [sp+248]
    0052b5c8ldrsb x27, [x0]
    0052b5ccstr x0, [sp+176]
    0052b5d0ldr x1, [sp+256]
    0052b5d4ldr x4, [sp+280]
    0052b5d8ldr x7, [sp+304]
    0052b5dcldr x10, [sp+328]
    0052b5e0ldr x2, [sp+264]
    0052b5e4ldr x5, [sp+288]
    0052b5e8ldr x8, [sp+312]
    0052b5ecldr x11, [sp+336]
    0052b5f0ldr x3, [sp+272]
    0052b5f4ldr x6, [sp+296]
    0052b5f8ldr x9, [sp+320]
    0052b5fcldr x12, [sp+344]
    0052b600bl crypto/internal/fips140/aes/gcm.(*GCM).sealAfterIndicator
    0052b604str x0, [sp+208]
    0052b608str x1, [sp+216]
    0052b60cstr x2, [sp+224]
    0052b610str x0, [sp+136]
    0052b614str x1, [sp+144]
    0052b618str x2, [sp+152]
    0052b61cldur x29, [sp-8]
    0052b620ldr x30, [sp], 240
    0052b624ret x30
    0052b628
    0052b628loc_52b628:
    0052b628adrp x0, 0x193000
    0052b62cadd x0, x0, 3440
    0052b630str x0, [sp+160]
    0052b634orr x1, xzr, 32
    0052b638str x1, [sp+168]
    0052b63cbl runtime.convTstring
    0052b640str x0, [sp+184]
    0052b644mov x1, x0
    0052b648adrp x0, 0xca000
    0052b64cadd x0, x0, 2944
    0052b650bl runtime.gopanic
    0052b654
    0052b654loc_52b654:
    0052b654adrp x0, 0x192000
    0052b658add x0, x0, 1642
    0052b65cstr x0, [sp+160]
    0052b660orr x1, xzr, 30
    0052b664str x1, [sp+168]
    0052b668bl runtime.convTstring
    0052b66cstr x0, [sp+192]
    0052b670mov x1, x0
    0052b674adrp x0, 0xca000
    0052b678add x0, x0, 2944
    0052b67cbl runtime.gopanic
    0052b680
    0052b680loc_52b680:
    0052b680bl runtime.panicSliceB
    0052b684
    0052b684loc_52b684:
    0052b684adrp x0, 0x19e000
    0052b688add x0, x0, 1658
    0052b68cstr x0, [sp+160]
    0052b690movz x1, 50
    0052b694str x1, [sp+168]
    0052b698bl runtime.convTstring
    0052b69cstr x0, [sp+200]
    0052b6a0mov x1, x0
    0052b6a4adrp x0, 0xca000
    0052b6a8add x0, x0, 2944
    0052b6acbl runtime.gopanic
    0052b6b0hint
    0052b6b4
    0052b6b4loc_52b6b4:
    0052b6b4stp x0, x1, [sp+8]
    0052b6b8stp x2, x3, [sp+24]
    0052b6bcstp x4, x5, [sp+40]
    0052b6c0stp x6, x7, [sp+56]
    0052b6c4stp x8, x9, [sp+72]
    0052b6c8stp x10, x11, [sp+88]
    0052b6ccstr x12, [sp+104]
    0052b6d0mov x3, x30
    0052b6d4bl runtime.morestack_noctxt.abi0
    0052b6d8ldp x0, x1, [sp+8]
    0052b6dcldp x2, x3, [sp+24]
    0052b6e0ldp x4, x5, [sp+40]
    0052b6e4ldp x6, x7, [sp+56]
    0052b6e8ldp x8, x9, [sp+72]
    0052b6ecldp x10, x11, [sp+88]
    0052b6f0ldr x12, [sp+104]
    0052b6f4b 0x52b470
    0052b6f8udf 0
    0052b6fcudf 0
    0052b470
    0052b700
    0052b700crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Open: ; void crypto/internal/fips140/aes/gcm.(*GCMForTLS13).Open(crypto/internal/fips140/aes/gcm.GCMForTLS13 * g, struct []uint8 dst, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 data)
    0052b700ldr x16, [x28+16]
    0052b704sub x17, sp, 128
    0052b708subs xzr, x17, x16
    0052b70cb.ls 0x52b82c
    0052b710sub x20, sp, 256
    0052b714stp x29, x30, [x20-8]
    0052b718add sp, x20, 0
    0052b71csub x29, sp, 8
    0052b720str x0, [sp+264]
    0052b724str x1, [sp+272]
    0052b728str x2, [sp+280]
    0052b72cstr x3, [sp+288]
    0052b730str x4, [sp+296]
    0052b734str x5, [sp+304]
    0052b738str x6, [sp+312]
    0052b73cstr x7, [sp+320]
    0052b740str x8, [sp+328]
    0052b744str x9, [sp+336]
    0052b748str x10, [sp+344]
    0052b74cstr x11, [sp+352]
    0052b750str x12, [sp+360]
    0052b754str xzr, [sp+136]
    0052b758stp xzr, xzr, [sp+144]
    0052b75cstp xzr, xzr, [sp+120]
    0052b760bl crypto/internal/fips140.RecordApproved
    0052b764str xzr, [sp+160]
    0052b768stp xzr, xzr, [sp+168]
    0052b76cstp xzr, xzr, [sp+232]
    0052b770ldr x0, [sp+264]
    0052b774ldrsb x27, [x0]
    0052b778str x0, [sp+224]
    0052b77cldr x1, [sp+272]
    0052b780ldr x4, [sp+296]
    0052b784ldr x7, [sp+320]
    0052b788ldr x10, [sp+344]
    0052b78cldr x2, [sp+280]
    0052b790ldr x5, [sp+304]
    0052b794ldr x8, [sp+328]
    0052b798ldr x11, [sp+352]
    0052b79cldr x3, [sp+288]
    0052b7a0ldr x6, [sp+312]
    0052b7a4ldr x9, [sp+336]
    0052b7a8ldr x12, [sp+360]
    0052b7acbl crypto/internal/fips140/aes/gcm.(*GCM).Open
    0052b7b0str x0, [sp+160]
    0052b7b4str x1, [sp+168]
    0052b7b8str x2, [sp+176]
    0052b7bcstr x3, [sp+232]
    0052b7c0str x4, [sp+240]
    0052b7c4ldr x0, [sp+160]
    0052b7c8ldr x1, [sp+168]
    0052b7ccldr x2, [sp+176]
    0052b7d0str x0, [sp+200]
    0052b7d4str x1, [sp+208]
    0052b7d8str x2, [sp+216]
    0052b7dcldr x0, [sp+232]
    0052b7e0ldr x1, [sp+240]
    0052b7e4str x0, [sp+184]
    0052b7e8str x1, [sp+192]
    0052b7ecldr x0, [sp+200]
    0052b7f0ldr x1, [sp+208]
    0052b7f4ldr x2, [sp+216]
    0052b7f8str x0, [sp+136]
    0052b7fcstr x1, [sp+144]
    0052b800str x2, [sp+152]
    0052b804ldr x3, [sp+184]
    0052b808ldr x4, [sp+192]
    0052b80cstr x3, [sp+120]
    0052b810str x4, [sp+128]
    0052b814ldr x0, [sp+136]
    0052b818ldr x1, [sp+144]
    0052b81cldr x2, [sp+152]
    0052b820ldp x29, x30, [sp-8]
    0052b824add sp, sp, 256
    0052b828ret x30
    0052b82c
    0052b82cloc_52b82c:
    0052b82cstp x0, x1, [sp+8]
    0052b830stp x2, x3, [sp+24]
    0052b834stp x4, x5, [sp+40]
    0052b838stp x6, x7, [sp+56]
    0052b83cstp x8, x9, [sp+72]
    0052b840stp x10, x11, [sp+88]
    0052b844str x12, [sp+104]
    0052b848mov x3, x30
    0052b84cbl runtime.morestack_noctxt.abi0
    0052b850ldp x0, x1, [sp+8]
    0052b854ldp x2, x3, [sp+24]
    0052b858ldp x4, x5, [sp+40]
    0052b85cldp x6, x7, [sp+56]
    0052b860ldp x8, x9, [sp+72]
    0052b864ldp x10, x11, [sp+88]
    0052b868ldr x12, [sp+104]
    0052b86cb 0x52b700
    0052b700
    0052b870
    0052b870crypto/internal/fips140/aes/gcm.GHASH: ; void crypto/internal/fips140/aes/gcm.GHASH(uint8[16] * key, struct [][]uint8 inputs)
    0052b870ldr x16, [x28+16]
    0052b874subs xzr, sp, x16
    0052b878b.ls 0x52b90c
    0052b87cstr x30, [sp-112]!
    0052b880stur x29, [sp-8]
    0052b884sub x29, sp, 8
    0052b888str x0, [sp+120]
    0052b88cstr x1, [sp+128]
    0052b890str x2, [sp+136]
    0052b894str x3, [sp+144]
    0052b898str xzr, [sp+48]
    0052b89cstp xzr, xzr, [sp+56]
    0052b8a0bl crypto/internal/fips140.RecordNonApproved
    0052b8a4adrp x0, 0xd1000
    0052b8a8add x0, x0, 3264
    0052b8acbl runtime.newobject
    0052b8b0str x0, [sp+96]
    0052b8b4stp xzr, xzr, [x0]
    0052b8b8ldr x2, [sp+128]
    0052b8bcldr x1, [sp+120]
    0052b8c0ldr x3, [sp+136]
    0052b8c4ldr x4, [sp+144]
    0052b8c8ldr x0, [sp+96]
    0052b8ccbl crypto/internal/fips140/aes/gcm.ghash
    0052b8d0ldr x0, [sp+96]
    0052b8d4ldrsb x27, [x0]
    0052b8d8b 0x52b8dc
    0052b8dc
    0052b8dcloc_52b8dc:
    0052b8dcstr x0, [sp+72]
    0052b8e0orr x2, xzr, 16
    0052b8e4str x2, [sp+80]
    0052b8e8str x2, [sp+88]
    0052b8ecstr x0, [sp+48]
    0052b8f0str x2, [sp+56]
    0052b8f4str x2, [sp+64]
    0052b8f8ldr x0, [sp+48]
    0052b8fcmov x1, x2
    0052b900ldur x29, [sp-8]
    0052b904ldr x30, [sp], 112
    0052b908ret x30
    0052b90c
    0052b90cloc_52b90c:
    0052b90cstp x0, x1, [sp+8]
    0052b910stp x2, x3, [sp+24]
    0052b914mov x3, x30
    0052b918bl runtime.morestack_noctxt.abi0
    0052b91cldp x0, x1, [sp+8]
    0052b920ldp x2, x3, [sp+24]
    0052b924b 0x52b870
    0052b928udf 0
    0052b92cudf 0
    0052b870
    0052b930
    0052b930crypto/internal/fips140/aes/gcm.ghash: ; void crypto/internal/fips140/aes/gcm.ghash(uint8[16] * out, uint8[16] * H, struct [][]uint8 inputs)
    0052b930ldr x16, [x28+16]
    0052b934sub x17, sp, 448
    0052b938subs xzr, x17, x16
    0052b93cb.ls 0x52bc4c
    0052b940sub x20, sp, 576
    0052b944stp x29, x30, [x20-8]
    0052b948add sp, x20, 0
    0052b94csub x29, sp, 8
    0052b950str x0, [sp+584]
    0052b954str x1, [sp+592]
    0052b958str x2, [sp+600]
    0052b95cstr x3, [sp+608]
    0052b960str x4, [sp+616]
    0052b964add x20, sp, 88
    0052b968adr x27, 16
    0052b96cstp x29, x27, [sp-24]
    0052b970sub x29, sp, 24
    0052b974bl fn_87cd0
    0052b978sub x29, sp, 8
    0052b97cldr x0, [sp+592]
    0052b980ldrsb x27, [x0]
    0052b984b 0x52b988
    0052b988
    0052b988loc_52b988:
    0052b988b 0x52b98c
    0052b98c
    0052b98cloc_52b98c:
    0052b98cstr x0, [sp+472]
    0052b990orr x1, xzr, 8
    0052b994str x1, [sp+480]
    0052b998orr x2, xzr, 16
    0052b99cstr x2, [sp+488]
    0052b9a0bl crypto/internal/fips140deps/byteorder.BEUint64
    0052b9a4str x0, [sp+352]
    0052b9a8ldr x3, [sp+592]
    0052b9acldrsb x27, [x3]
    0052b9b0b 0x52b9b4
    0052b9b4
    0052b9b4loc_52b9b4:
    0052b9b4add x0, x3, 8
    0052b9b8str x0, [sp+544]
    0052b9bcorr x2, xzr, 8
    0052b9c0str x2, [sp+552]
    0052b9c4str x2, [sp+560]
    0052b9c8mov x1, x2
    0052b9ccbl crypto/internal/fips140deps/byteorder.BEUint64
    0052b9d0str x0, [sp+440]
    0052b9d4stp xzr, xzr, [sp+392]
    0052b9d8ldr x3, [sp+352]
    0052b9dcstr x3, [sp+392]
    0052b9e0str x0, [sp+400]
    0052b9e4str x3, [sp+72]
    0052b9e8str x0, [sp+80]
    0052b9ecorr x0, xzr, 1
    0052b9f0bl crypto/internal/fips140/aes/gcm.reverseBits
    0052b9f4str x0, [sp+432]
    0052b9f8ldr x3, [sp+72]
    0052b9fcldr x4, [sp+80]
    0052ba00subs xzr, x0, 16
    0052ba04b.lo 0x52ba0c
    0052ba08b 0x52bc40
    0052ba0c
    0052ba0cloc_52ba0c:
    0052ba0cadd x5, sp, 88
    0052ba10add x6, x5, x0, lsl #4
    0052ba14ubfm x7, x0, 60, 59
    0052ba18str x3, [x5+x7]
    0052ba1cstr x4, [x6+8]
    0052ba20orr x5, xzr, 2
    0052ba24str x5, [sp+344]
    0052ba28b 0x52ba2c
    0052ba2c
    0052ba2cloc_52ba2c:
    0052ba2cldr x5, [sp+344]
    0052ba30subs xzr, x5, 16
    0052ba34b.lt 0x52ba3c
    0052ba38b 0x52bb24
    0052ba3c
    0052ba3cloc_52ba3c:
    0052ba3cldr x0, [sp+344]
    0052ba40bl crypto/internal/fips140/aes/gcm.reverseBits
    0052ba44str x0, [sp+432]
    0052ba48ldr x1, [sp+344]
    0052ba4cadd x1, x1, x1, lsr #63
    0052ba50sbfm x0, x1, 1, 63
    0052ba54str x0, [sp+384]
    0052ba58bl crypto/internal/fips140/aes/gcm.reverseBits
    0052ba5cstr x0, [sp+424]
    0052ba60subs xzr, x0, 16
    0052ba64b.lo 0x52ba6c
    0052ba68b 0x52bc38
    0052ba6c
    0052ba6cloc_52ba6c:
    0052ba6cadd x1, sp, 88
    0052ba70add x0, x1, x0, lsl #4
    0052ba74str x0, [sp+512]
    0052ba78bl crypto/internal/fips140/aes/gcm.ghashDouble
    0052ba7cstr x0, [sp+408]
    0052ba80str x1, [sp+416]
    0052ba84ldr x2, [sp+432]
    0052ba88subs xzr, x2, 16
    0052ba8cb.lo 0x52ba94
    0052ba90b 0x52bc2c
    0052ba94
    0052ba94loc_52ba94:
    0052ba94add x3, sp, 88
    0052ba98add x4, x3, x2, lsl #4
    0052ba9cubfm x2, x2, 60, 59
    0052baa0str x0, [x3+x2]
    0052baa4str x1, [x4+8]
    0052baa8ldr x1, [sp+344]
    0052baacadd x0, x1, 1
    0052bab0bl crypto/internal/fips140/aes/gcm.reverseBits
    0052bab4str x0, [sp+424]
    0052bab8ldr x0, [sp+344]
    0052babcbl crypto/internal/fips140/aes/gcm.reverseBits
    0052bac0str x0, [sp+432]
    0052bac4subs xzr, x0, 16
    0052bac8b.lo 0x52bad0
    0052baccb 0x52bc24
    0052bad0
    0052bad0loc_52bad0:
    0052bad0add x2, sp, 88
    0052bad4add x0, x2, x0, lsl #4
    0052bad8str x0, [sp+504]
    0052badcadd x1, sp, 72
    0052bae0bl crypto/internal/fips140/aes/gcm.ghashAdd
    0052bae4str x0, [sp+408]
    0052bae8str x1, [sp+416]
    0052baecldr x2, [sp+424]
    0052baf0subs xzr, x2, 16
    0052baf4b.lo 0x52bafc
    0052baf8b 0x52bc18
    0052bafc
    0052bafcloc_52bafc:
    0052bafcadd x5, sp, 88
    0052bb00add x6, x5, x2, lsl #4
    0052bb04ubfm x7, x2, 60, 59
    0052bb08str x0, [x5+x7]
    0052bb0cstr x1, [x6+8]
    0052bb10b 0x52bb14
    0052bb14
    0052bb14loc_52bb14:
    0052bb14ldr x5, [sp+344]
    0052bb18add x5, x5, 2
    0052bb1cstr x5, [sp+344]
    0052bb20b 0x52ba2c
    0052bb24
    0052bb24loc_52bb24:
    0052bb24stp xzr, xzr, [sp+56]
    0052bb28ldr x5, [sp+608]
    0052bb2cldr x6, [sp+600]
    0052bb30ldr x7, [sp+616]
    0052bb34str x6, [sp+520]
    0052bb38str x5, [sp+528]
    0052bb3cstr x7, [sp+536]
    0052bb40str xzr, [sp+376]
    0052bb44str x5, [sp+368]
    0052bb48ldr x5, [sp+520]
    0052bb4cstr x5, [sp+360]
    0052bb50b 0x52bb54
    0052bb54
    0052bb54loc_52bb54:
    0052bb54ldr x5, [sp+368]
    0052bb58ldr x6, [sp+376]
    0052bb5csubs xzr, x5, x6
    0052bb60b.gt 0x52bb68
    0052bb64b 0x52bbb8
    0052bb68
    0052bb68loc_52bb68:
    0052bb68ldr x5, [sp+360]
    0052bb6cstr x5, [sp+496]
    0052bb70ldr x5, [sp+496]
    0052bb74ldr x2, [x5]
    0052bb78ldr x3, [x5+8]
    0052bb7cldr x4, [x5+16]
    0052bb80str x2, [sp+448]
    0052bb84str x3, [sp+456]
    0052bb88str x4, [sp+464]
    0052bb8cadd x0, sp, 88
    0052bb90add x1, sp, 56
    0052bb94bl crypto/internal/fips140/aes/gcm.ghashUpdate
    0052bb98b 0x52bb9c
    0052bb9c
    0052bb9cloc_52bb9c:
    0052bb9cldr x5, [sp+376]
    0052bba0add x5, x5, 1
    0052bba4str x5, [sp+376]
    0052bba8ldr x5, [sp+496]
    0052bbacadd x5, x5, 24
    0052bbb0str x5, [sp+360]
    0052bbb4b 0x52bb54
    0052bbb8
    0052bbb8loc_52bbb8:
    0052bbb8ldr x0, [sp+584]
    0052bbbcldrsb x27, [x0]
    0052bbc0b 0x52bbc4
    0052bbc4
    0052bbc4loc_52bbc4:
    0052bbc4str x0, [sp+544]
    0052bbc8orr x2, xzr, 16
    0052bbccstr x2, [sp+552]
    0052bbd0str x2, [sp+560]
    0052bbd4ldr x3, [sp+56]
    0052bbd8mov x1, x2
    0052bbdcbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052bbe0ldr x4, [sp+584]
    0052bbe4ldrsb x27, [x4]
    0052bbe8b 0x52bbec
    0052bbec
    0052bbecloc_52bbec:
    0052bbecadd x0, x4, 8
    0052bbf0str x0, [sp+544]
    0052bbf4orr x2, xzr, 8
    0052bbf8str x2, [sp+552]
    0052bbfcstr x2, [sp+560]
    0052bc00ldr x3, [sp+64]
    0052bc04mov x1, x2
    0052bc08bl crypto/internal/fips140deps/byteorder.BEPutUint64
    0052bc0cldp x29, x30, [sp-8]
    0052bc10add sp, sp, 576
    0052bc14ret x30
    0052bc18
    0052bc18loc_52bc18:
    0052bc18mov x0, x2
    0052bc1corr x1, xzr, 16
    0052bc20bl runtime.panicIndex
    0052bc24
    0052bc24loc_52bc24:
    0052bc24orr x1, xzr, 16
    0052bc28bl runtime.panicIndex
    0052bc2c
    0052bc2cloc_52bc2c:
    0052bc2cmov x0, x2
    0052bc30orr x1, xzr, 16
    0052bc34bl runtime.panicIndex
    0052bc38
    0052bc38loc_52bc38:
    0052bc38orr x1, xzr, 16
    0052bc3cbl runtime.panicIndex
    0052bc40
    0052bc40loc_52bc40:
    0052bc40orr x1, xzr, 16
    0052bc44bl runtime.panicIndex
    0052bc48hint
    0052bc4c
    0052bc4cloc_52bc4c:
    0052bc4cstp x0, x1, [sp+8]
    0052bc50stp x2, x3, [sp+24]
    0052bc54str x4, [sp+40]
    0052bc58mov x3, x30
    0052bc5cbl runtime.morestack_noctxt.abi0
    0052bc60ldp x0, x1, [sp+8]
    0052bc64ldp x2, x3, [sp+24]
    0052bc68ldr x4, [sp+40]
    0052bc6cb 0x52b930
    0052b930
    0052bc70
    0052bc70crypto/internal/fips140/aes/gcm.reverseBits: ; void crypto/internal/fips140/aes/gcm.reverseBits(int i)
    0052bc70str x30, [sp-32]!
    0052bc74stur x29, [sp-8]
    0052bc78sub x29, sp, 8
    0052bc7cstr x0, [sp+40]
    0052bc80str xzr, [sp+16]
    0052bc84ubfm x1, x0, 62, 1
    0052bc88sbfm x2, x0, 2, 63
    0052bc8cand x2, x2, 3
    0052bc90orr x1, x1, x2
    0052bc94str x1, [sp+40]
    0052bc98ubfm x2, x1, 63, 62
    0052bc9cmovz x3, 10
    0052bca0and x2, x2, x3
    0052bca4sbfm x1, x1, 1, 63
    0052bca8movz x3, 5
    0052bcacand x1, x1, x3
    0052bcb0orr x0, x2, x1
    0052bcb4str x0, [sp+40]
    0052bcb8str x0, [sp+16]
    0052bcbcadd x29, sp, 24
    0052bcc0add sp, sp, 32
    0052bcc4ret x30
    0052bcc8udf 0
    0052bcccudf 0
    0052bc70
    0052bcd0
    0052bcd0crypto/internal/fips140/aes/gcm.ghashAdd: ; void crypto/internal/fips140/aes/gcm.ghashAdd(crypto/internal/fips140/aes/gcm.gcmFieldElement * x, crypto/internal/fips140/aes/gcm.gcmFieldElement * y)
    0052bcd0str x30, [sp-32]!
    0052bcd4stur x29, [sp-8]
    0052bcd8sub x29, sp, 8
    0052bcdcstr x0, [sp+40]
    0052bce0str x1, [sp+48]
    0052bce4stp xzr, xzr, [sp+8]
    0052bce8stp xzr, xzr, [sp+8]
    0052bcecldr x2, [sp+40]
    0052bcf0ldrsb x27, [x2]
    0052bcf4ldr x2, [x2]
    0052bcf8ldr x3, [sp+48]
    0052bcfcldrsb x27, [x3]
    0052bd00ldr x3, [x3]
    0052bd04eor x0, x2, x3
    0052bd08str x0, [sp+8]
    0052bd0cldr x2, [sp+40]
    0052bd10ldrsb x27, [x2]
    0052bd14ldr x2, [x2+8]
    0052bd18ldr x3, [sp+48]
    0052bd1cldrsb x27, [x3]
    0052bd20ldr x3, [x3+8]
    0052bd24eor x1, x2, x3
    0052bd28str x1, [sp+16]
    0052bd2cadd x29, sp, 24
    0052bd30add sp, sp, 32
    0052bd34ret x30
    0052bd38udf 0
    0052bd3cudf 0
    0052bcd0
    0052bd40
    0052bd40crypto/internal/fips140/aes/gcm.ghashDouble: ; void crypto/internal/fips140/aes/gcm.ghashDouble(crypto/internal/fips140/aes/gcm.gcmFieldElement * x)
    0052bd40str x30, [sp-48]!
    0052bd44stur x29, [sp-8]
    0052bd48sub x29, sp, 8
    0052bd4cstr x0, [sp+56]
    0052bd50stp xzr, xzr, [sp+24]
    0052bd54ldrsb x27, [x0]
    0052bd58ldr x2, [x0+8]
    0052bd5cands xzr, x2, 1
    0052bd60cset x2, ne
    0052bd64strb w2, [sp+23]
    0052bd68ldr x2, [sp+56]
    0052bd6cldrsb x27, [x2]
    0052bd70ldr x2, [x2+8]
    0052bd74ubfm x3, x2, 1, 63
    0052bd78str x3, [sp+32]
    0052bd7cldr x3, [sp+56]
    0052bd80ldrsb x27, [x3]
    0052bd84ldr x3, [x3]
    0052bd88extr x2, x3, x2, 1
    0052bd8cstr x2, [sp+32]
    0052bd90ldr x2, [sp+56]
    0052bd94ldrsb x27, [x2]
    0052bd98ldr x2, [x2]
    0052bd9cubfm x2, x2, 1, 63
    0052bda0str x2, [sp+24]
    0052bda4ldrb w3, [sp+23]
    0052bda8tbnz w3, 0, 0x52bdb0
    0052bdacb 0x52bdc0
    0052bdb0
    0052bdb0loc_52bdb0:
    0052bdb0movz x3, 0xe100000000000000
    0052bdb4eor x2, x2, x3
    0052bdb8str x2, [sp+24]
    0052bdbcb 0x52bdc4
    0052bdc0
    0052bdc0loc_52bdc0:
    0052bdc0b 0x52bdc4
    0052bdc4
    0052bdc4loc_52bdc4:
    0052bdc4ldr x0, [sp+24]
    0052bdc8ldr x1, [sp+32]
    0052bdccadd x29, sp, 40
    0052bdd0add sp, sp, 48
    0052bdd4ret x30
    0052bdd8udf 0
    0052bddcudf 0
    0052bd40
    0052bde0
    0052bde0crypto/internal/fips140/aes/gcm.ghashMul: ; void crypto/internal/fips140/aes/gcm.ghashMul(crypto/internal/fips140/aes/gcm.gcmFieldElement[16] * productTable, crypto/internal/fips140/aes/gcm.gcmFieldElement * y)
    0052bde0ldr x16, [x28+16]
    0052bde4subs xzr, sp, x16
    0052bde8b.ls 0x52bf64
    0052bdecstr x30, [sp-96]!
    0052bdf0stur x29, [sp-8]
    0052bdf4sub x29, sp, 8
    0052bdf8str x0, [sp+104]
    0052bdfcstr x1, [sp+112]
    0052be00stp xzr, xzr, [sp+24]
    0052be04str xzr, [sp+80]
    0052be08b 0x52be0c
    0052be0c
    0052be0cloc_52be0c:
    0052be0cldr x2, [sp+80]
    0052be10subs xzr, x2, 2
    0052be14b.lt 0x52be1c
    0052be18b 0x52be5c
    0052be1c
    0052be1cloc_52be1c:
    0052be1cldr x2, [sp+112]
    0052be20ldrsb x27, [x2]
    0052be24ldr x2, [x2+8]
    0052be28str x2, [sp+40]
    0052be2cldr x2, [sp+80]
    0052be30subs xzr, x2, 1
    0052be34b.eq 0x52be3c
    0052be38b 0x52be50
    0052be3c
    0052be3cloc_52be3c:
    0052be3cldr x2, [sp+112]
    0052be40ldrsb x27, [x2]
    0052be44ldr x2, [x2]
    0052be48str x2, [sp+40]
    0052be4cb 0x52be54
    0052be50
    0052be50loc_52be50:
    0052be50b 0x52be54
    0052be54
    0052be54loc_52be54:
    0052be54str xzr, [sp+72]
    0052be58b 0x52be80
    0052be5c
    0052be5cloc_52be5c:
    0052be5cldr x0, [sp+112]
    0052be60ldrsb x27, [x0]
    0052be64ldr x1, [sp+24]
    0052be68ldr x2, [sp+32]
    0052be6cstr x1, [x0]
    0052be70str x2, [x0+8]
    0052be74ldur x29, [sp-8]
    0052be78ldr x30, [sp], 96
    0052be7cret x30
    0052be80
    0052be80loc_52be80:
    0052be80ldr x2, [sp+72]
    0052be84subs xzr, x2, 64
    0052be88b.lt 0x52be90
    0052be8cb 0x52bf48
    0052be90
    0052be90loc_52be90:
    0052be90ldr x2, [sp+32]
    0052be94and x0, x2, 15
    0052be98str x0, [sp+64]
    0052be9cldr x3, [sp+32]
    0052bea0ubfm x4, x3, 4, 63
    0052bea4str x4, [sp+32]
    0052bea8ldr x4, [sp+24]
    0052beacextr x3, x4, x3, 4
    0052beb0str x3, [sp+32]
    0052beb4ldr x3, [sp+24]
    0052beb8ubfm x4, x3, 4, 63
    0052bebcstr x4, [sp+24]
    0052bec0adrp x27, 0x4f7000
    0052bec4ldr x1, [x27+4072]
    0052bec8adrp x27, 0x4f7000
    0052beccldr x4, [x27+4064]
    0052bed0subs xzr, x1, x0
    0052bed4b.hi 0x52bedc
    0052bed8b 0x52bf5c
    0052bedc
    0052bedcloc_52bedc:
    0052bedcubfm x2, x2, 63, 3
    0052bee0ldrh w2, [x4+x2]
    0052bee4ubfm x2, x2, 16, 15
    0052bee8eor x2, x2, x3, lsr #4
    0052beecstr x2, [sp+24]
    0052bef0ldr x3, [sp+104]
    0052bef4ldrsb x27, [x3]
    0052bef8ldr x4, [sp+40]
    0052befcubfm x4, x4, 60, 3
    0052bf00ldr x5, [x3+x4]
    0052bf04add x3, x3, x4
    0052bf08ldr x3, [x3+8]
    0052bf0cstr x5, [sp+48]
    0052bf10str x3, [sp+56]
    0052bf14eor x2, x2, x5
    0052bf18str x2, [sp+24]
    0052bf1cldr x2, [sp+32]
    0052bf20eor x2, x2, x3
    0052bf24str x2, [sp+32]
    0052bf28ldr x2, [sp+40]
    0052bf2cubfm x2, x2, 4, 63
    0052bf30str x2, [sp+40]
    0052bf34b 0x52bf38
    0052bf38
    0052bf38loc_52bf38:
    0052bf38ldr x2, [sp+72]
    0052bf3cadd x2, x2, 4
    0052bf40str x2, [sp+72]
    0052bf44b 0x52be80
    0052bf48
    0052bf48loc_52bf48:
    0052bf48b 0x52bf4c
    0052bf4c
    0052bf4cloc_52bf4c:
    0052bf4cldr x2, [sp+80]
    0052bf50add x2, x2, 1
    0052bf54str x2, [sp+80]
    0052bf58b 0x52be0c
    0052bf5c
    0052bf5cloc_52bf5c:
    0052bf5cbl runtime.panicIndexU
    0052bf60hint
    0052bf64
    0052bf64loc_52bf64:
    0052bf64stp x0, x1, [sp+8]
    0052bf68mov x3, x30
    0052bf6cbl runtime.morestack_noctxt.abi0
    0052bf70ldp x0, x1, [sp+8]
    0052bf74b 0x52bde0
    0052bf78udf 0
    0052bf7cudf 0
    0052bde0
    0052bf80
    0052bf80crypto/internal/fips140/aes/gcm.updateBlocks: ; void crypto/internal/fips140/aes/gcm.updateBlocks(crypto/internal/fips140/aes/gcm.gcmFieldElement[16] * productTable, crypto/internal/fips140/aes/gcm.gcmFieldElement * y, struct []uint8 blocks)
    0052bf80ldr x16, [x28+16]
    0052bf84subs xzr, sp, x16
    0052bf88b.ls 0x52c0c8
    0052bf8cstr x30, [sp-80]!
    0052bf90stur x29, [sp-8]
    0052bf94sub x29, sp, 8
    0052bf98str x0, [sp+88]
    0052bf9cstr x1, [sp+96]
    0052bfa0str x2, [sp+104]
    0052bfa4str x3, [sp+112]
    0052bfa8str x4, [sp+120]
    0052bfacb 0x52bfb0
    0052bfb0
    0052bfb0loc_52bfb0:
    0052bfb0ldr x3, [sp+112]
    0052bfb4str x3, [sp+40]
    0052bfb8cbnz x3, 0x52bfc0
    0052bfbcb 0x52c0a8
    0052bfc0
    0052bfc0loc_52bfc0:
    0052bfc0ldr x0, [sp+104]
    0052bfc4ldr x1, [sp+112]
    0052bfc8ldr x2, [sp+120]
    0052bfccbl crypto/internal/fips140deps/byteorder.BEUint64
    0052bfd0str x0, [sp+32]
    0052bfd4ldr x3, [sp+96]
    0052bfd8ldrsb x27, [x3]
    0052bfdcldr x3, [x3]
    0052bfe0ldr x4, [sp+96]
    0052bfe4ldrsb x27, [x4]
    0052bfe8eor x3, x3, x0
    0052bfecstr x3, [x4]
    0052bff0ldr x1, [sp+112]
    0052bff4ldr x3, [sp+104]
    0052bff8ldr x4, [sp+120]
    0052bffcb 0x52c000
    0052c000
    0052c000loc_52c000:
    0052c000subs xzr, x1, 8
    0052c004b.hs 0x52c00c
    0052c008b 0x52c0bc
    0052c00c
    0052c00cloc_52c00c:
    0052c00csub x2, x4, 8
    0052c010sub x1, x1, 8
    0052c014sub x4, xzr, x2
    0052c018sbfm x4, x4, 63, 63
    0052c01cand x4, x4, 8
    0052c020add x0, x3, x4
    0052c024str x0, [sp+48]
    0052c028str x1, [sp+56]
    0052c02cstr x2, [sp+64]
    0052c030bl crypto/internal/fips140deps/byteorder.BEUint64
    0052c034str x0, [sp+32]
    0052c038ldr x3, [sp+96]
    0052c03cldrsb x27, [x3]
    0052c040ldr x4, [sp+96]
    0052c044ldrsb x27, [x4]
    0052c048ldr x3, [x3+8]
    0052c04ceor x3, x3, x0
    0052c050str x3, [x4+8]
    0052c054ldr x1, [sp+96]
    0052c058ldr x0, [sp+88]
    0052c05cbl crypto/internal/fips140/aes/gcm.ghashMul
    0052c060ldr x1, [sp+112]
    0052c064ldr x3, [sp+104]
    0052c068ldr x4, [sp+120]
    0052c06cb 0x52c070
    0052c070
    0052c070loc_52c070:
    0052c070subs xzr, x1, 16
    0052c074b.hs 0x52c07c
    0052c078b 0x52c0b4
    0052c07c
    0052c07cloc_52c07c:
    0052c07csub x4, x4, 16
    0052c080sub x5, xzr, x4
    0052c084sub x6, x1, 16
    0052c088sbfm x5, x5, 63, 63
    0052c08cand x5, x5, 16
    0052c090add x3, x3, x5
    0052c094str x3, [sp+104]
    0052c098str x6, [sp+112]
    0052c09cstr x4, [sp+120]
    0052c0a0b 0x52c0a4
    0052c0a4
    0052c0a4loc_52c0a4:
    0052c0a4b 0x52bfb0
    0052c0a8
    0052c0a8loc_52c0a8:
    0052c0a8ldur x29, [sp-8]
    0052c0acldr x30, [sp], 80
    0052c0b0ret x30
    0052c0b4
    0052c0b4loc_52c0b4:
    0052c0b4orr x0, xzr, 16
    0052c0b8bl runtime.panicSliceB
    0052c0bc
    0052c0bcloc_52c0bc:
    0052c0bcorr x0, xzr, 8
    0052c0c0bl runtime.panicSliceB
    0052c0c4hint
    0052c0c8
    0052c0c8loc_52c0c8:
    0052c0c8stp x0, x1, [sp+8]
    0052c0ccstp x2, x3, [sp+24]
    0052c0d0str x4, [sp+40]
    0052c0d4mov x3, x30
    0052c0d8bl runtime.morestack_noctxt.abi0
    0052c0dcldp x0, x1, [sp+8]
    0052c0e0ldp x2, x3, [sp+24]
    0052c0e4ldr x4, [sp+40]
    0052c0e8b 0x52bf80
    0052c0ecudf 0
    0052bf80