File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0051ab90
    0051ab90crypto/internal/fips140/sha512.(*Digest).AppendBinary: ; void crypto/internal/fips140/sha512.(*Digest).AppendBinary(crypto/internal/fips140/sha512.Digest * d, struct []uint8 b)
    0051ab90ldr x16, [x28+16]
    0051ab94sub x17, sp, 400
    0051ab98subs xzr, x17, x16
    0051ab9cb.ls 0x51b1f0
    0051aba0sub x20, sp, 528
    0051aba4stp x29, x30, [x20-8]
    0051aba8add sp, x20, 0
    0051abacsub x29, sp, 8
    0051abb0str x0, [sp+536]
    0051abb4str x1, [sp+544]
    0051abb8str x2, [sp+552]
    0051abbcstr x3, [sp+560]
    0051abc0str xzr, [sp+256]
    0051abc4stp xzr, xzr, [sp+264]
    0051abc8stp xzr, xzr, [sp+240]
    0051abccldr x5, [sp+536]
    0051abd0ldrsb x27, [x5]
    0051abd4ldr x5, [x5+208]
    0051abd8str x5, [sp+56]
    0051abdcsubs xzr, x5, 32
    0051abe0b.le 0x51abe8
    0051abe4b 0x51ad40
    0051abe8
    0051abe8loc_51abe8:
    0051abe8subs xzr, x5, 28
    0051abecb.eq 0x51abf4
    0051abf0b 0x51ac94
    0051abf4
    0051abf4loc_51abf4:
    0051abf4b 0x51abf8
    0051abf8
    0051abf8loc_51abf8:
    0051abf8ldr x2, [sp+560]
    0051abfcldr x0, [sp+544]
    0051ac00ldr x5, [sp+552]
    0051ac04add x1, x5, 4
    0051ac08str x0, [sp+488]
    0051ac0cstr x5, [sp+496]
    0051ac10str x2, [sp+504]
    0051ac14str x1, [sp+224]
    0051ac18subs xzr, x2, x1
    0051ac1cb.hs 0x51ac24
    0051ac20b 0x51ac2c
    0051ac24
    0051ac24loc_51ac24:
    0051ac24str x1, [sp+496]
    0051ac28b 0x51ac4c
    0051ac2c
    0051ac2cloc_51ac2c:
    0051ac2corr x3, xzr, 4
    0051ac30adrp x4, 0xdb000
    0051ac34add x4, x4, 3072
    0051ac38bl runtime.growslice
    0051ac3cstr x0, [sp+488]
    0051ac40str x1, [sp+496]
    0051ac44str x2, [sp+504]
    0051ac48b 0x51ac4c
    0051ac4c
    0051ac4cloc_51ac4c:
    0051ac4corr x3, xzr, 4
    0051ac50str x3, [sp+216]
    0051ac54ldr x3, [sp+224]
    0051ac58sub x3, x3, 4
    0051ac5cldr x4, [sp+488]
    0051ac60add x0, x4, x3
    0051ac64str x0, [sp+480]
    0051ac68ldr x2, [sp+216]
    0051ac6cadrp x1, 0x196000
    0051ac70add x1, x1, 1382
    0051ac74bl runtime.memmove
    0051ac78ldr x3, [sp+488]
    0051ac7cldr x4, [sp+496]
    0051ac80ldr x5, [sp+504]
    0051ac84str x3, [sp+544]
    0051ac88str x4, [sp+552]
    0051ac8cstr x5, [sp+560]
    0051ac90b 0x51ae98
    0051ac94
    0051ac94loc_51ac94:
    0051ac94subs xzr, x5, 32
    0051ac98b.eq 0x51aca0
    0051ac9cb 0x51b1e8
    0051aca0
    0051aca0loc_51aca0:
    0051aca0b 0x51aca4
    0051aca4
    0051aca4loc_51aca4:
    0051aca4ldr x2, [sp+560]
    0051aca8ldr x0, [sp+544]
    0051acacldr x5, [sp+552]
    0051acb0add x1, x5, 4
    0051acb4str x0, [sp+456]
    0051acb8str x5, [sp+464]
    0051acbcstr x2, [sp+472]
    0051acc0str x1, [sp+208]
    0051acc4subs xzr, x2, x1
    0051acc8b.hs 0x51acd0
    0051acccb 0x51acd8
    0051acd0
    0051acd0loc_51acd0:
    0051acd0str x1, [sp+464]
    0051acd4b 0x51acf8
    0051acd8
    0051acd8loc_51acd8:
    0051acd8orr x3, xzr, 4
    0051acdcadrp x4, 0xdb000
    0051ace0add x4, x4, 3072
    0051ace4bl runtime.growslice
    0051ace8str x0, [sp+456]
    0051acecstr x1, [sp+464]
    0051acf0str x2, [sp+472]
    0051acf4b 0x51acf8
    0051acf8
    0051acf8loc_51acf8:
    0051acf8orr x3, xzr, 4
    0051acfcstr x3, [sp+200]
    0051ad00ldr x3, [sp+208]
    0051ad04sub x3, x3, 4
    0051ad08ldr x4, [sp+456]
    0051ad0cadd x0, x4, x3
    0051ad10str x0, [sp+448]
    0051ad14ldr x2, [sp+200]
    0051ad18adrp x1, 0x196000
    0051ad1cadd x1, x1, 1386
    0051ad20bl runtime.memmove
    0051ad24ldr x3, [sp+456]
    0051ad28ldr x4, [sp+464]
    0051ad2cldr x5, [sp+472]
    0051ad30str x3, [sp+544]
    0051ad34str x4, [sp+552]
    0051ad38str x5, [sp+560]
    0051ad3cb 0x51ae98
    0051ad40
    0051ad40loc_51ad40:
    0051ad40subs xzr, x5, 48
    0051ad44b.eq 0x51ad4c
    0051ad48b 0x51adec
    0051ad4c
    0051ad4cloc_51ad4c:
    0051ad4cb 0x51ad50
    0051ad50
    0051ad50loc_51ad50:
    0051ad50ldr x2, [sp+560]
    0051ad54ldr x0, [sp+544]
    0051ad58ldr x5, [sp+552]
    0051ad5cadd x1, x5, 4
    0051ad60str x0, [sp+280]
    0051ad64str x5, [sp+288]
    0051ad68str x2, [sp+296]
    0051ad6cstr x1, [sp+48]
    0051ad70subs xzr, x2, x1
    0051ad74b.hs 0x51ad7c
    0051ad78b 0x51ad84
    0051ad7c
    0051ad7cloc_51ad7c:
    0051ad7cstr x1, [sp+288]
    0051ad80b 0x51ada4
    0051ad84
    0051ad84loc_51ad84:
    0051ad84orr x3, xzr, 4
    0051ad88adrp x4, 0xdb000
    0051ad8cadd x4, x4, 3072
    0051ad90bl runtime.growslice
    0051ad94str x0, [sp+280]
    0051ad98str x1, [sp+288]
    0051ad9cstr x2, [sp+296]
    0051ada0b 0x51ada4
    0051ada4
    0051ada4loc_51ada4:
    0051ada4orr x3, xzr, 4
    0051ada8str x3, [sp+232]
    0051adacldr x3, [sp+48]
    0051adb0sub x3, x3, 4
    0051adb4ldr x4, [sp+280]
    0051adb8add x0, x4, x3
    0051adbcstr x0, [sp+512]
    0051adc0ldr x2, [sp+232]
    0051adc4adrp x1, 0x196000
    0051adc8add x1, x1, 1378
    0051adccbl runtime.memmove
    0051add0ldr x3, [sp+280]
    0051add4ldr x4, [sp+288]
    0051add8ldr x5, [sp+296]
    0051addcstr x3, [sp+544]
    0051ade0str x4, [sp+552]
    0051ade4str x5, [sp+560]
    0051ade8b 0x51ae98
    0051adec
    0051adecloc_51adec:
    0051adecsubs xzr, x5, 64
    0051adf0b.eq 0x51adf8
    0051adf4b 0x51b1b0
    0051adf8
    0051adf8loc_51adf8:
    0051adf8b 0x51adfc
    0051adfc
    0051adfcloc_51adfc:
    0051adfcldr x2, [sp+560]
    0051ae00ldr x0, [sp+544]
    0051ae04ldr x5, [sp+552]
    0051ae08add x1, x5, 4
    0051ae0cstr x0, [sp+424]
    0051ae10str x5, [sp+432]
    0051ae14str x2, [sp+440]
    0051ae18str x1, [sp+192]
    0051ae1csubs xzr, x2, x1
    0051ae20b.hs 0x51ae28
    0051ae24b 0x51ae30
    0051ae28
    0051ae28loc_51ae28:
    0051ae28str x1, [sp+432]
    0051ae2cb 0x51ae50
    0051ae30
    0051ae30loc_51ae30:
    0051ae30orr x3, xzr, 4
    0051ae34adrp x4, 0xdb000
    0051ae38add x4, x4, 3072
    0051ae3cbl runtime.growslice
    0051ae40str x0, [sp+424]
    0051ae44str x1, [sp+432]
    0051ae48str x2, [sp+440]
    0051ae4cb 0x51ae50
    0051ae50
    0051ae50loc_51ae50:
    0051ae50orr x3, xzr, 4
    0051ae54str x3, [sp+184]
    0051ae58ldr x3, [sp+192]
    0051ae5csub x3, x3, 4
    0051ae60ldr x4, [sp+424]
    0051ae64add x0, x4, x3
    0051ae68str x0, [sp+416]
    0051ae6cldr x2, [sp+184]
    0051ae70adrp x1, 0x196000
    0051ae74add x1, x1, 1390
    0051ae78bl runtime.memmove
    0051ae7cldr x3, [sp+424]
    0051ae80ldr x4, [sp+432]
    0051ae84ldr x5, [sp+440]
    0051ae88str x3, [sp+544]
    0051ae8cstr x4, [sp+552]
    0051ae90str x5, [sp+560]
    0051ae94b 0x51ae98
    0051ae98
    0051ae98loc_51ae98:
    0051ae98ldr x4, [sp+536]
    0051ae9cldrsb x27, [x4]
    0051aea0ldr x3, [x4]
    0051aea4str x3, [sp+176]
    0051aea8ldr x0, [sp+544]
    0051aeacldr x1, [sp+552]
    0051aeb0ldr x2, [sp+560]
    0051aeb4bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051aeb8str x0, [sp+544]
    0051aebcstr x1, [sp+552]
    0051aec0str x2, [sp+560]
    0051aec4ldr x4, [sp+536]
    0051aec8ldrsb x27, [x4]
    0051aeccldr x3, [x4+8]
    0051aed0str x3, [sp+168]
    0051aed4bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051aed8str x0, [sp+544]
    0051aedcstr x1, [sp+552]
    0051aee0str x2, [sp+560]
    0051aee4ldr x4, [sp+536]
    0051aee8ldrsb x27, [x4]
    0051aeecldr x3, [x4+16]
    0051aef0str x3, [sp+160]
    0051aef4bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051aef8str x0, [sp+544]
    0051aefcstr x1, [sp+552]
    0051af00str x2, [sp+560]
    0051af04ldr x4, [sp+536]
    0051af08ldrsb x27, [x4]
    0051af0cldr x3, [x4+24]
    0051af10str x3, [sp+152]
    0051af14bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051af18str x0, [sp+544]
    0051af1cstr x1, [sp+552]
    0051af20str x2, [sp+560]
    0051af24ldr x4, [sp+536]
    0051af28ldrsb x27, [x4]
    0051af2cldr x3, [x4+32]
    0051af30str x3, [sp+144]
    0051af34bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051af38str x0, [sp+544]
    0051af3cstr x1, [sp+552]
    0051af40str x2, [sp+560]
    0051af44ldr x4, [sp+536]
    0051af48ldrsb x27, [x4]
    0051af4cldr x3, [x4+40]
    0051af50str x3, [sp+136]
    0051af54bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051af58str x0, [sp+544]
    0051af5cstr x1, [sp+552]
    0051af60str x2, [sp+560]
    0051af64ldr x4, [sp+536]
    0051af68ldrsb x27, [x4]
    0051af6cldr x3, [x4+48]
    0051af70str x3, [sp+128]
    0051af74bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051af78str x0, [sp+544]
    0051af7cstr x1, [sp+552]
    0051af80str x2, [sp+560]
    0051af84ldr x4, [sp+536]
    0051af88ldrsb x27, [x4]
    0051af8cldr x3, [x4+56]
    0051af90str x3, [sp+120]
    0051af94bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051af98str x0, [sp+544]
    0051af9cstr x1, [sp+552]
    0051afa0str x2, [sp+560]
    0051afa4ldr x4, [sp+536]
    0051afa8ldrsb x27, [x4]
    0051afacldr x1, [x4+192]
    0051afb0str x1, [sp+64]
    0051afb4ldr x4, [sp+536]
    0051afb8ldrsb x27, [x4]
    0051afbcadd x4, x4, 64
    0051afc0ldrsb x27, [x4]
    0051afc4subs xzr, x1, 128
    0051afc8b.ls 0x51afd0
    0051afccb 0x51b1a8
    0051afd0
    0051afd0loc_51afd0:
    0051afd0b 0x51afd4
    0051afd4
    0051afd4loc_51afd4:
    0051afd4str x4, [sp+304]
    0051afd8str x1, [sp+312]
    0051afdcorr x5, xzr, 128
    0051afe0str x5, [sp+320]
    0051afe4ldr x2, [sp+560]
    0051afe8ldr x0, [sp+544]
    0051afecldr x6, [sp+552]
    0051aff0str x0, [sp+384]
    0051aff4str x6, [sp+392]
    0051aff8str x2, [sp+400]
    0051affcldr x7, [sp+312]
    0051b000add x1, x6, x7
    0051b004str x1, [sp+112]
    0051b008subs xzr, x2, x1
    0051b00cb.hs 0x51b014
    0051b010b 0x51b01c
    0051b014
    0051b014loc_51b014:
    0051b014str x1, [sp+392]
    0051b018b 0x51b03c
    0051b01c
    0051b01cloc_51b01c:
    0051b01cldr x3, [sp+312]
    0051b020adrp x4, 0xda000
    0051b024add x4, x4, 3072
    0051b028bl runtime.growslice
    0051b02cstr x0, [sp+384]
    0051b030str x1, [sp+392]
    0051b034str x2, [sp+400]
    0051b038b 0x51b03c
    0051b03c
    0051b03cloc_51b03c:
    0051b03cldr x3, [sp+312]
    0051b040str x3, [sp+104]
    0051b044ldr x3, [sp+112]
    0051b048ldr x4, [sp+312]
    0051b04csub x3, x3, x4
    0051b050ldr x4, [sp+384]
    0051b054add x0, x4, x3
    0051b058str x0, [sp+376]
    0051b05cldr x2, [sp+104]
    0051b060ldr x1, [sp+304]
    0051b064bl runtime.memmove
    0051b068ldr x3, [sp+384]
    0051b06cldr x4, [sp+392]
    0051b070ldr x5, [sp+400]
    0051b074str x3, [sp+544]
    0051b078str x4, [sp+552]
    0051b07cstr x5, [sp+560]
    0051b080ldr x3, [sp+536]
    0051b084ldrsb x27, [x3]
    0051b088ldr x3, [x3+192]
    0051b08corr x4, xzr, 128
    0051b090sub x2, x4, x3
    0051b094str x2, [sp+96]
    0051b098adrp x0, 0xda000
    0051b09cadd x0, x0, 3072
    0051b0a0mov x1, x2
    0051b0a4bl runtime.makeslice
    0051b0a8ldr x3, [sp+96]
    0051b0acldr x4, [sp+96]
    0051b0b0str x0, [sp+304]
    0051b0b4str x3, [sp+312]
    0051b0b8str x4, [sp+320]
    0051b0bcldr x2, [sp+560]
    0051b0c0ldr x0, [sp+544]
    0051b0c4ldr x3, [sp+552]
    0051b0c8str x0, [sp+352]
    0051b0ccstr x3, [sp+360]
    0051b0d0str x2, [sp+368]
    0051b0d4ldr x4, [sp+312]
    0051b0d8add x1, x3, x4
    0051b0dcstr x1, [sp+88]
    0051b0e0subs xzr, x2, x1
    0051b0e4b.hs 0x51b0ec
    0051b0e8b 0x51b0f4
    0051b0ec
    0051b0ecloc_51b0ec:
    0051b0ecstr x1, [sp+360]
    0051b0f0b 0x51b114
    0051b0f4
    0051b0f4loc_51b0f4:
    0051b0f4ldr x3, [sp+312]
    0051b0f8adrp x4, 0xda000
    0051b0fcadd x4, x4, 3072
    0051b100bl runtime.growslice
    0051b104str x0, [sp+352]
    0051b108str x1, [sp+360]
    0051b10cstr x2, [sp+368]
    0051b110b 0x51b114
    0051b114
    0051b114loc_51b114:
    0051b114ldr x3, [sp+312]
    0051b118str x3, [sp+80]
    0051b11cldr x3, [sp+88]
    0051b120ldr x4, [sp+312]
    0051b124sub x3, x3, x4
    0051b128ldr x4, [sp+352]
    0051b12cadd x0, x4, x3
    0051b130str x0, [sp+328]
    0051b134ldr x2, [sp+80]
    0051b138ldr x1, [sp+304]
    0051b13cbl runtime.memmove
    0051b140ldr x0, [sp+352]
    0051b144ldr x1, [sp+360]
    0051b148ldr x2, [sp+368]
    0051b14cstr x0, [sp+544]
    0051b150str x1, [sp+552]
    0051b154str x2, [sp+560]
    0051b158ldr x3, [sp+536]
    0051b15cldrsb x27, [x3]
    0051b160ldr x3, [x3+200]
    0051b164str x3, [sp+72]
    0051b168bl crypto/internal/fips140deps/byteorder.BEAppendUint64
    0051b16cstr x0, [sp+544]
    0051b170str x1, [sp+552]
    0051b174str x2, [sp+560]
    0051b178str x0, [sp+256]
    0051b17cstr x1, [sp+264]
    0051b180str x2, [sp+272]
    0051b184stp xzr, xzr, [sp+240]
    0051b188ldr x0, [sp+256]
    0051b18cldr x1, [sp+264]
    0051b190ldr x2, [sp+272]
    0051b194mov x3, xzr
    0051b198mov x4, xzr
    0051b19cldp x29, x30, [sp-8]
    0051b1a0add sp, sp, 528
    0051b1a4ret x30
    0051b1a8
    0051b1a8loc_51b1a8:
    0051b1a8orr x2, xzr, 128
    0051b1acbl runtime.panicSliceAlen
    0051b1b0
    0051b1b0loc_51b1b0:
    0051b1b0b 0x51b1b4
    0051b1b4
    0051b1b4loc_51b1b4:
    0051b1b4b 0x51b1b8
    0051b1b8
    0051b1b8loc_51b1b8:
    0051b1b8b 0x51b1bc
    0051b1bc
    0051b1bcloc_51b1bc:
    0051b1bcadrp x0, 0x198000
    0051b1c0add x0, x0, 1068
    0051b1c4str x0, [sp+336]
    0051b1c8orr x1, xzr, 12
    0051b1ccstr x1, [sp+344]
    0051b1d0bl runtime.convTstring
    0051b1d4str x0, [sp+408]
    0051b1d8mov x1, x0
    0051b1dcadrp x0, 0xda000
    0051b1e0add x0, x0, 2944
    0051b1e4bl runtime.gopanic
    0051b1e8
    0051b1e8loc_51b1e8:
    0051b1e8b 0x51b1ec
    0051b1ec
    0051b1ecloc_51b1ec:
    0051b1ecb 0x51b1b8
    0051b1f0
    0051b1f0loc_51b1f0:
    0051b1f0stp x0, x1, [sp+8]
    0051b1f4stp x2, x3, [sp+24]
    0051b1f8mov x3, x30
    0051b1fcbl runtime.morestack_noctxt.abi0
    0051b200ldp x0, x1, [sp+8]
    0051b204ldp x2, x3, [sp+24]
    0051b208b 0x51ab90
    0051b20cudf 0
    0051ab90
    0051b210
    0051b210crypto/internal/fips140/sha512.(*Digest).UnmarshalBinary: ; void crypto/internal/fips140/sha512.(*Digest).UnmarshalBinary(crypto/internal/fips140/sha512.Digest * d, struct []uint8 b)
    0051b210ldr x16, [x28+16]
    0051b214sub x17, sp, 416
    0051b218subs xzr, x17, x16
    0051b21cb.ls 0x51ba84
    0051b220sub x20, sp, 544
    0051b224stp x29, x30, [x20-8]
    0051b228add sp, x20, 0
    0051b22csub x29, sp, 8
    0051b230str x0, [sp+552]
    0051b234str x1, [sp+560]
    0051b238str x2, [sp+568]
    0051b23cstr x3, [sp+576]
    0051b240stp xzr, xzr, [sp+152]
    0051b244ldr x3, [sp+568]
    0051b248str x3, [sp+96]
    0051b24csubs xzr, x3, 4
    0051b250b.lt 0x51b258
    0051b254b 0x51b284
    0051b258
    0051b258loc_51b258:
    0051b258adrp x0, 0x1ab000
    0051b25cadd x0, x0, 2696
    0051b260movz x1, 44
    0051b264bl errors.New
    0051b268str x0, [sp+400]
    0051b26cstr x1, [sp+408]
    0051b270str x0, [sp+152]
    0051b274str x1, [sp+160]
    0051b278ldp x29, x30, [sp-8]
    0051b27cadd sp, sp, 544
    0051b280ret x30
    0051b284
    0051b284loc_51b284:
    0051b284ldr x3, [sp+552]
    0051b288ldrsb x27, [x3]
    0051b28cldr x3, [x3+208]
    0051b290subs xzr, x3, 48
    0051b294cset x3, eq
    0051b298strb w3, [sp+47]
    0051b29cb.eq 0x51b2a4
    0051b2a0b 0x51b32c
    0051b2a4
    0051b2a4loc_51b2a4:
    0051b2a4ldr x3, [sp+560]
    0051b2a8ldr x2, [sp+576]
    0051b2acsubs xzr, x2, 4
    0051b2b0b.hs 0x51b2b8
    0051b2b4b 0x51ba78
    0051b2b8
    0051b2b8loc_51b2b8:
    0051b2b8b 0x51b2bc
    0051b2bc
    0051b2bcloc_51b2bc:
    0051b2bcstr x3, [sp+376]
    0051b2c0orr x0, xzr, 4
    0051b2c4str x0, [sp+384]
    0051b2c8str x2, [sp+392]
    0051b2ccstr x3, [sp+360]
    0051b2d0str x0, [sp+368]
    0051b2d4b 0x51b2d8
    0051b2d8
    0051b2d8loc_51b2d8:
    0051b2d8b 0x51b2dc
    0051b2dc
    0051b2dcloc_51b2dc:
    0051b2dcldrb w4, [x3]
    0051b2e0b 0x51b2e4
    0051b2e4
    0051b2e4loc_51b2e4:
    0051b2e4ldrb w5, [x3+1]
    0051b2e8ubfm x5, x5, 56, 7
    0051b2ecorr x4, x4, x5
    0051b2f0b 0x51b2f4
    0051b2f4
    0051b2f4loc_51b2f4:
    0051b2f4ldrb w5, [x3+2]
    0051b2f8ubfm x5, x5, 48, 7
    0051b2fcorr x4, x4, x5
    0051b300b 0x51b304
    0051b304
    0051b304loc_51b304:
    0051b304ldrb w3, [x3+3]
    0051b308ubfm x3, x3, 40, 7
    0051b30corr x3, x4, x3
    0051b310movz x4, 26739
    0051b314movk x4, 0x4610000
    0051b318subs wzr, w3, w4
    0051b31ccset x3, eq
    0051b320b 0x51b324
    0051b324
    0051b324loc_51b324:
    0051b324strb w3, [sp+47]
    0051b328b 0x51b334
    0051b32c
    0051b32cloc_51b32c:
    0051b32corr x0, xzr, 4
    0051b330b 0x51b334
    0051b334
    0051b334loc_51b334:
    0051b334ldrb w3, [sp+47]
    0051b338tbnz w3, 0, 0x51b340
    0051b33cb 0x51b348
    0051b340
    0051b340loc_51b340:
    0051b340b 0x51b344
    0051b344
    0051b344loc_51b344:
    0051b344b 0x51b57c
    0051b348
    0051b348loc_51b348:
    0051b348ldr x3, [sp+552]
    0051b34cldrsb x27, [x3]
    0051b350ldr x3, [x3+208]
    0051b354subs xzr, x3, 28
    0051b358cset x3, eq
    0051b35cstrb w3, [sp+46]
    0051b360b.eq 0x51b368
    0051b364b 0x51b3ec
    0051b368
    0051b368loc_51b368:
    0051b368ldr x3, [sp+560]
    0051b36cldr x2, [sp+576]
    0051b370subs xzr, x2, 4
    0051b374b.hs 0x51b37c
    0051b378b 0x51ba70
    0051b37c
    0051b37cloc_51b37c:
    0051b37cb 0x51b380
    0051b380
    0051b380loc_51b380:
    0051b380str x3, [sp+376]
    0051b384str x0, [sp+384]
    0051b388str x2, [sp+392]
    0051b38cstr x3, [sp+320]
    0051b390str x0, [sp+328]
    0051b394b 0x51b398
    0051b398
    0051b398loc_51b398:
    0051b398b 0x51b39c
    0051b39c
    0051b39cloc_51b39c:
    0051b39cldrb w4, [x3]
    0051b3a0b 0x51b3a4
    0051b3a4
    0051b3a4loc_51b3a4:
    0051b3a4ldrb w5, [x3+1]
    0051b3a8ubfm x5, x5, 56, 7
    0051b3acorr x4, x4, x5
    0051b3b0b 0x51b3b4
    0051b3b4
    0051b3b4loc_51b3b4:
    0051b3b4ldrb w5, [x3+2]
    0051b3b8ubfm x5, x5, 48, 7
    0051b3bcorr x4, x4, x5
    0051b3c0b 0x51b3c4
    0051b3c4
    0051b3c4loc_51b3c4:
    0051b3c4ldrb w3, [x3+3]
    0051b3c8ubfm x3, x3, 40, 7
    0051b3ccorr x3, x4, x3
    0051b3d0movz x4, 26739
    0051b3d4movk x4, 0x5610000
    0051b3d8subs wzr, w3, w4
    0051b3dccset x3, eq
    0051b3e0b 0x51b3e4
    0051b3e4
    0051b3e4loc_51b3e4:
    0051b3e4strb w3, [sp+46]
    0051b3e8b 0x51b3f0
    0051b3ec
    0051b3ecloc_51b3ec:
    0051b3ecb 0x51b3f0
    0051b3f0
    0051b3f0loc_51b3f0:
    0051b3f0ldrb w3, [sp+46]
    0051b3f4tbnz w3, 0, 0x51b3fc
    0051b3f8b 0x51b404
    0051b3fc
    0051b3fcloc_51b3fc:
    0051b3fcb 0x51b400
    0051b400
    0051b400loc_51b400:
    0051b400b 0x51b57c
    0051b404
    0051b404loc_51b404:
    0051b404ldr x3, [sp+552]
    0051b408ldrsb x27, [x3]
    0051b40cldr x3, [x3+208]
    0051b410subs xzr, x3, 32
    0051b414cset x3, eq
    0051b418strb w3, [sp+45]
    0051b41cb.eq 0x51b424
    0051b420b 0x51b4a8
    0051b424
    0051b424loc_51b424:
    0051b424ldr x3, [sp+560]
    0051b428ldr x2, [sp+576]
    0051b42csubs xzr, x2, 4
    0051b430b.hs 0x51b438
    0051b434b 0x51ba68
    0051b438
    0051b438loc_51b438:
    0051b438b 0x51b43c
    0051b43c
    0051b43cloc_51b43c:
    0051b43cstr x3, [sp+376]
    0051b440str x0, [sp+384]
    0051b444str x2, [sp+392]
    0051b448str x3, [sp+304]
    0051b44cstr x0, [sp+312]
    0051b450b 0x51b454
    0051b454
    0051b454loc_51b454:
    0051b454b 0x51b458
    0051b458
    0051b458loc_51b458:
    0051b458ldrb w4, [x3]
    0051b45cb 0x51b460
    0051b460
    0051b460loc_51b460:
    0051b460ldrb w5, [x3+1]
    0051b464ubfm x5, x5, 56, 7
    0051b468orr x4, x4, x5
    0051b46cb 0x51b470
    0051b470
    0051b470loc_51b470:
    0051b470ldrb w5, [x3+2]
    0051b474ubfm x5, x5, 48, 7
    0051b478orr x4, x4, x5
    0051b47cb 0x51b480
    0051b480
    0051b480loc_51b480:
    0051b480ldrb w3, [x3+3]
    0051b484ubfm x3, x3, 40, 7
    0051b488orr x3, x4, x3
    0051b48cmovz x4, 26739
    0051b490movk x4, 0x6610000
    0051b494subs wzr, w3, w4
    0051b498cset x3, eq
    0051b49cb 0x51b4a0
    0051b4a0
    0051b4a0loc_51b4a0:
    0051b4a0strb w3, [sp+45]
    0051b4a4b 0x51b4ac
    0051b4a8
    0051b4a8loc_51b4a8:
    0051b4a8b 0x51b4ac
    0051b4ac
    0051b4acloc_51b4ac:
    0051b4acldrb w3, [sp+45]
    0051b4b0tbnz w3, 0, 0x51b4b8
    0051b4b4b 0x51b4c0
    0051b4b8
    0051b4b8loc_51b4b8:
    0051b4b8b 0x51b4bc
    0051b4bc
    0051b4bcloc_51b4bc:
    0051b4bcb 0x51b57c
    0051b4c0
    0051b4c0loc_51b4c0:
    0051b4c0ldr x3, [sp+552]
    0051b4c4ldrsb x27, [x3]
    0051b4c8ldr x3, [x3+208]
    0051b4ccsubs xzr, x3, 64
    0051b4d0cset x3, eq
    0051b4d4strb w3, [sp+44]
    0051b4d8b.eq 0x51b4e0
    0051b4dcb 0x51b564
    0051b4e0
    0051b4e0loc_51b4e0:
    0051b4e0ldr x3, [sp+560]
    0051b4e4ldr x2, [sp+576]
    0051b4e8subs xzr, x2, 4
    0051b4ecb.hs 0x51b4f4
    0051b4f0b 0x51ba60
    0051b4f4
    0051b4f4loc_51b4f4:
    0051b4f4b 0x51b4f8
    0051b4f8
    0051b4f8loc_51b4f8:
    0051b4f8str x3, [sp+376]
    0051b4fcstr x0, [sp+384]
    0051b500str x2, [sp+392]
    0051b504str x3, [sp+288]
    0051b508str x0, [sp+296]
    0051b50cb 0x51b510
    0051b510
    0051b510loc_51b510:
    0051b510b 0x51b514
    0051b514
    0051b514loc_51b514:
    0051b514ldrb w4, [x3]
    0051b518b 0x51b51c
    0051b51c
    0051b51cloc_51b51c:
    0051b51cldrb w5, [x3+1]
    0051b520ubfm x5, x5, 56, 7
    0051b524orr x4, x4, x5
    0051b528b 0x51b52c
    0051b52c
    0051b52cloc_51b52c:
    0051b52cldrb w5, [x3+2]
    0051b530ubfm x5, x5, 48, 7
    0051b534orr x4, x4, x5
    0051b538b 0x51b53c
    0051b53c
    0051b53cloc_51b53c:
    0051b53cldrb w3, [x3+3]
    0051b540ubfm x3, x3, 40, 7
    0051b544orr x3, x4, x3
    0051b548movz x4, 26739
    0051b54cmovk x4, 0x7610000
    0051b550subs wzr, w3, w4
    0051b554cset x3, eq
    0051b558b 0x51b55c
    0051b55c
    0051b55cloc_51b55c:
    0051b55cstrb w3, [sp+44]
    0051b560b 0x51b568
    0051b564
    0051b564loc_51b564:
    0051b564b 0x51b568
    0051b568
    0051b568loc_51b568:
    0051b568ldrb w3, [sp+44]
    0051b56ctbnz w3, 0, 0x51b574
    0051b570b 0x51ba28
    0051b574
    0051b574loc_51b574:
    0051b574b 0x51b578
    0051b578
    0051b578loc_51b578:
    0051b578b 0x51b57c
    0051b57c
    0051b57cloc_51b57c:
    0051b57cldr x3, [sp+568]
    0051b580str x3, [sp+96]
    0051b584subs xzr, x3, 204
    0051b588b.ne 0x51b590
    0051b58cb 0x51b5bc
    0051b590
    0051b590loc_51b590:
    0051b590adrp x0, 0x1a8000
    0051b594add x0, x0, 918
    0051b598movz x1, 38
    0051b59cbl errors.New
    0051b5a0str x0, [sp+400]
    0051b5a4str x1, [sp+408]
    0051b5a8str x0, [sp+152]
    0051b5acstr x1, [sp+160]
    0051b5b0ldp x29, x30, [sp-8]
    0051b5b4add sp, sp, 544
    0051b5b8ret x30
    0051b5bc
    0051b5bcloc_51b5bc:
    0051b5bcldr x1, [sp+568]
    0051b5c0ldr x3, [sp+560]
    0051b5c4ldr x4, [sp+576]
    0051b5c8b 0x51b5cc
    0051b5cc
    0051b5ccloc_51b5cc:
    0051b5ccsubs xzr, x1, 4
    0051b5d0b.hs 0x51b5d8
    0051b5d4b 0x51ba5c
    0051b5d8
    0051b5d8loc_51b5d8:
    0051b5d8sub x4, x4, 4
    0051b5dcsub x5, xzr, x4
    0051b5e0sub x6, x1, 4
    0051b5e4sbfm x5, x5, 63, 63
    0051b5e8and x5, x5, 4
    0051b5ecadd x3, x3, x5
    0051b5f0str x3, [sp+560]
    0051b5f4str x6, [sp+568]
    0051b5f8str x4, [sp+576]
    0051b5fcstr xzr, [sp+376]
    0051b600stp xzr, xzr, [sp+384]
    0051b604ldr x0, [sp+560]
    0051b608ldr x1, [sp+568]
    0051b60cldr x2, [sp+576]
    0051b610bl crypto/internal/fips140/sha512.consumeUint64
    0051b614str x0, [sp+376]
    0051b618str x1, [sp+384]
    0051b61cstr x2, [sp+392]
    0051b620str x3, [sp+88]
    0051b624str x0, [sp+336]
    0051b628str x1, [sp+344]
    0051b62cstr x2, [sp+352]
    0051b630ldr x3, [sp+88]
    0051b634str x3, [sp+64]
    0051b638str x0, [sp+560]
    0051b63cstr x1, [sp+568]
    0051b640str x2, [sp+576]
    0051b644ldr x3, [sp+552]
    0051b648ldrsb x27, [x3]
    0051b64cldr x4, [sp+64]
    0051b650str x4, [x3]
    0051b654str xzr, [sp+376]
    0051b658stp xzr, xzr, [sp+384]
    0051b65cldr x0, [sp+560]
    0051b660ldr x1, [sp+568]
    0051b664ldr x2, [sp+576]
    0051b668bl crypto/internal/fips140/sha512.consumeUint64
    0051b66cstr x0, [sp+376]
    0051b670str x1, [sp+384]
    0051b674str x2, [sp+392]
    0051b678str x3, [sp+88]
    0051b67cstr x0, [sp+216]
    0051b680str x1, [sp+224]
    0051b684str x2, [sp+232]
    0051b688ldr x3, [sp+88]
    0051b68cstr x3, [sp+56]
    0051b690str x0, [sp+560]
    0051b694str x1, [sp+568]
    0051b698str x2, [sp+576]
    0051b69cldr x3, [sp+552]
    0051b6a0ldrsb x27, [x3]
    0051b6a4ldr x4, [sp+56]
    0051b6a8str x4, [x3+8]
    0051b6acstr xzr, [sp+376]
    0051b6b0stp xzr, xzr, [sp+384]
    0051b6b4ldr x0, [sp+560]
    0051b6b8ldr x1, [sp+568]
    0051b6bcldr x2, [sp+576]
    0051b6c0bl crypto/internal/fips140/sha512.consumeUint64
    0051b6c4str x0, [sp+376]
    0051b6c8str x1, [sp+384]
    0051b6ccstr x2, [sp+392]
    0051b6d0str x3, [sp+88]
    0051b6d4str x0, [sp+192]
    0051b6d8str x1, [sp+200]
    0051b6dcstr x2, [sp+208]
    0051b6e0ldr x3, [sp+88]
    0051b6e4str x3, [sp+48]
    0051b6e8str x0, [sp+560]
    0051b6ecstr x1, [sp+568]
    0051b6f0str x2, [sp+576]
    0051b6f4ldr x3, [sp+552]
    0051b6f8ldrsb x27, [x3]
    0051b6fcldr x4, [sp+48]
    0051b700str x4, [x3+16]
    0051b704str xzr, [sp+376]
    0051b708stp xzr, xzr, [sp+384]
    0051b70cldr x0, [sp+560]
    0051b710ldr x1, [sp+568]
    0051b714ldr x2, [sp+576]
    0051b718bl crypto/internal/fips140/sha512.consumeUint64
    0051b71cstr x0, [sp+376]
    0051b720str x1, [sp+384]
    0051b724str x2, [sp+392]
    0051b728str x3, [sp+88]
    0051b72cstr x0, [sp+168]
    0051b730str x1, [sp+176]
    0051b734str x2, [sp+184]
    0051b738ldr x3, [sp+88]
    0051b73cstr x3, [sp+144]
    0051b740str x0, [sp+560]
    0051b744str x1, [sp+568]
    0051b748str x2, [sp+576]
    0051b74cldr x3, [sp+552]
    0051b750ldrsb x27, [x3]
    0051b754ldr x4, [sp+144]
    0051b758str x4, [x3+24]
    0051b75cstr xzr, [sp+376]
    0051b760stp xzr, xzr, [sp+384]
    0051b764ldr x0, [sp+560]
    0051b768ldr x1, [sp+568]
    0051b76cldr x2, [sp+576]
    0051b770bl crypto/internal/fips140/sha512.consumeUint64
    0051b774str x0, [sp+376]
    0051b778str x1, [sp+384]
    0051b77cstr x2, [sp+392]
    0051b780str x3, [sp+88]
    0051b784str x0, [sp+512]
    0051b788str x1, [sp+520]
    0051b78cstr x2, [sp+528]
    0051b790ldr x3, [sp+88]
    0051b794str x3, [sp+136]
    0051b798str x0, [sp+560]
    0051b79cstr x1, [sp+568]
    0051b7a0str x2, [sp+576]
    0051b7a4ldr x3, [sp+552]
    0051b7a8ldrsb x27, [x3]
    0051b7acldr x4, [sp+136]
    0051b7b0str x4, [x3+32]
    0051b7b4str xzr, [sp+376]
    0051b7b8stp xzr, xzr, [sp+384]
    0051b7bcldr x0, [sp+560]
    0051b7c0ldr x1, [sp+568]
    0051b7c4ldr x2, [sp+576]
    0051b7c8bl crypto/internal/fips140/sha512.consumeUint64
    0051b7ccstr x0, [sp+376]
    0051b7d0str x1, [sp+384]
    0051b7d4str x2, [sp+392]
    0051b7d8str x3, [sp+88]
    0051b7dcstr x0, [sp+488]
    0051b7e0str x1, [sp+496]
    0051b7e4str x2, [sp+504]
    0051b7e8ldr x3, [sp+88]
    0051b7ecstr x3, [sp+128]
    0051b7f0str x0, [sp+560]
    0051b7f4str x1, [sp+568]
    0051b7f8str x2, [sp+576]
    0051b7fcldr x3, [sp+552]
    0051b800ldrsb x27, [x3]
    0051b804ldr x4, [sp+128]
    0051b808str x4, [x3+40]
    0051b80cstr xzr, [sp+376]
    0051b810stp xzr, xzr, [sp+384]
    0051b814ldr x0, [sp+560]
    0051b818ldr x1, [sp+568]
    0051b81cldr x2, [sp+576]
    0051b820bl crypto/internal/fips140/sha512.consumeUint64
    0051b824str x0, [sp+376]
    0051b828str x1, [sp+384]
    0051b82cstr x2, [sp+392]
    0051b830str x3, [sp+88]
    0051b834str x0, [sp+464]
    0051b838str x1, [sp+472]
    0051b83cstr x2, [sp+480]
    0051b840ldr x3, [sp+88]
    0051b844str x3, [sp+120]
    0051b848str x0, [sp+560]
    0051b84cstr x1, [sp+568]
    0051b850str x2, [sp+576]
    0051b854ldr x3, [sp+552]
    0051b858ldrsb x27, [x3]
    0051b85cldr x4, [sp+120]
    0051b860str x4, [x3+48]
    0051b864str xzr, [sp+376]
    0051b868stp xzr, xzr, [sp+384]
    0051b86cldr x0, [sp+560]
    0051b870ldr x1, [sp+568]
    0051b874ldr x2, [sp+576]
    0051b878bl crypto/internal/fips140/sha512.consumeUint64
    0051b87cstr x0, [sp+376]
    0051b880str x1, [sp+384]
    0051b884str x2, [sp+392]
    0051b888str x3, [sp+88]
    0051b88cstr x0, [sp+440]
    0051b890str x1, [sp+448]
    0051b894str x2, [sp+456]
    0051b898ldr x3, [sp+88]
    0051b89cstr x3, [sp+112]
    0051b8a0str x0, [sp+560]
    0051b8a4str x1, [sp+568]
    0051b8a8str x2, [sp+576]
    0051b8acldr x3, [sp+552]
    0051b8b0ldrsb x27, [x3]
    0051b8b4ldr x4, [sp+112]
    0051b8b8str x4, [x3+56]
    0051b8bcldr x3, [sp+552]
    0051b8c0ldrsb x27, [x3]
    0051b8c4add x3, x3, 64
    0051b8c8ldrsb x27, [x3]
    0051b8ccb 0x51b8d0
    0051b8d0
    0051b8d0loc_51b8d0:
    0051b8d0str x3, [sp+376]
    0051b8d4orr x4, xzr, 128
    0051b8d8str x4, [sp+384]
    0051b8dcstr x4, [sp+392]
    0051b8e0str x3, [sp+264]
    0051b8e4str x4, [sp+272]
    0051b8e8str x4, [sp+280]
    0051b8ecldr x3, [sp+568]
    0051b8f0ldr x4, [sp+560]
    0051b8f4ldr x5, [sp+576]
    0051b8f8str x4, [sp+240]
    0051b8fcstr x3, [sp+248]
    0051b900str x5, [sp+256]
    0051b904ldr x4, [sp+272]
    0051b908str x4, [sp+80]
    0051b90csubs xzr, x4, x3
    0051b910b.gt 0x51b918
    0051b914b 0x51b920
    0051b918
    0051b918loc_51b918:
    0051b918str x3, [sp+80]
    0051b91cb 0x51b924
    0051b920
    0051b920loc_51b920:
    0051b920b 0x51b924
    0051b924
    0051b924loc_51b924:
    0051b924ldr x3, [sp+240]
    0051b928ldr x4, [sp+264]
    0051b92csubs xzr, x3, x4
    0051b930b.ne 0x51b938
    0051b934b 0x51b954
    0051b938
    0051b938loc_51b938:
    0051b938ldr x3, [sp+80]
    0051b93cstr x3, [sp+72]
    0051b940ldr x2, [sp+72]
    0051b944ldr x1, [sp+240]
    0051b948ldr x0, [sp+264]
    0051b94cbl runtime.memmove
    0051b950b 0x51b958
    0051b954
    0051b954loc_51b954:
    0051b954b 0x51b958
    0051b958
    0051b958loc_51b958:
    0051b958ldr x0, [sp+80]
    0051b95cstr x0, [sp+96]
    0051b960ldr x1, [sp+568]
    0051b964ldr x3, [sp+560]
    0051b968ldr x4, [sp+576]
    0051b96cb 0x51b970
    0051b970
    0051b970loc_51b970:
    0051b970subs xzr, x1, x0
    0051b974b.hs 0x51b97c
    0051b978b 0x51ba58
    0051b97c
    0051b97cloc_51b97c:
    0051b97csub x4, x4, x0
    0051b980sub x5, x1, x0
    0051b984sub x6, xzr, x4
    0051b988and x6, x0, x6, asr #63
    0051b98cadd x3, x3, x6
    0051b990str x3, [sp+560]
    0051b994str x5, [sp+568]
    0051b998str x4, [sp+576]
    0051b99cstr xzr, [sp+376]
    0051b9a0stp xzr, xzr, [sp+384]
    0051b9a4ldr x0, [sp+560]
    0051b9a8ldr x1, [sp+568]
    0051b9acldr x2, [sp+576]
    0051b9b0bl crypto/internal/fips140/sha512.consumeUint64
    0051b9b4str x0, [sp+376]
    0051b9b8str x1, [sp+384]
    0051b9bcstr x2, [sp+392]
    0051b9c0str x3, [sp+88]
    0051b9c4str x0, [sp+416]
    0051b9c8str x1, [sp+424]
    0051b9ccstr x2, [sp+432]
    0051b9d0ldr x3, [sp+88]
    0051b9d4str x3, [sp+104]
    0051b9d8str x0, [sp+560]
    0051b9dcstr x1, [sp+568]
    0051b9e0str x2, [sp+576]
    0051b9e4ldr x3, [sp+552]
    0051b9e8ldrsb x27, [x3]
    0051b9ecldr x4, [sp+104]
    0051b9f0str x4, [x3+200]
    0051b9f4ldr x3, [sp+552]
    0051b9f8ldrsb x27, [x3]
    0051b9fcldr x4, [sp+552]
    0051ba00ldrsb x27, [x4]
    0051ba04ldr x4, [x4+200]
    0051ba08and x4, x4, 127
    0051ba0cstr x4, [x3+192]
    0051ba10stp xzr, xzr, [sp+152]
    0051ba14mov x0, xzr
    0051ba18mov x1, xzr
    0051ba1cldp x29, x30, [sp-8]
    0051ba20add sp, sp, 544
    0051ba24ret x30
    0051ba28
    0051ba28loc_51ba28:
    0051ba28b 0x51ba2c
    0051ba2c
    0051ba2cloc_51ba2c:
    0051ba2cadrp x0, 0x1ab000
    0051ba30add x0, x0, 2696
    0051ba34movz x1, 44
    0051ba38bl errors.New
    0051ba3cstr x0, [sp+400]
    0051ba40str x1, [sp+408]
    0051ba44str x0, [sp+152]
    0051ba48str x1, [sp+160]
    0051ba4cldp x29, x30, [sp-8]
    0051ba50add sp, sp, 544
    0051ba54ret x30
    0051ba58
    0051ba58loc_51ba58:
    0051ba58bl runtime.panicSliceB
    0051ba5c
    0051ba5cloc_51ba5c:
    0051ba5cbl runtime.panicSliceB
    0051ba60
    0051ba60loc_51ba60:
    0051ba60mov x1, x0
    0051ba64bl runtime.panicSliceAcap
    0051ba68
    0051ba68loc_51ba68:
    0051ba68mov x1, x0
    0051ba6cbl runtime.panicSliceAcap
    0051ba70
    0051ba70loc_51ba70:
    0051ba70mov x1, x0
    0051ba74bl runtime.panicSliceAcap
    0051ba78
    0051ba78loc_51ba78:
    0051ba78orr x1, xzr, 4
    0051ba7cbl runtime.panicSliceAcap
    0051ba80hint
    0051ba84
    0051ba84loc_51ba84:
    0051ba84stp x0, x1, [sp+8]
    0051ba88stp x2, x3, [sp+24]
    0051ba8cmov x3, x30
    0051ba90bl runtime.morestack_noctxt.abi0
    0051ba94ldp x0, x1, [sp+8]
    0051ba98ldp x2, x3, [sp+24]
    0051ba9cb 0x51b210
    0051b210
    0051baa0
    0051baa0crypto/internal/fips140/sha512.consumeUint64: ; void crypto/internal/fips140/sha512.consumeUint64(struct []uint8 b)
    0051baa0ldr x16, [x28+16]
    0051baa4subs xzr, sp, x16
    0051baa8b.ls 0x51bb5c
    0051baacstr x30, [sp-112]!
    0051bab0stur x29, [sp-8]
    0051bab4sub x29, sp, 8
    0051bab8str x0, [sp+120]
    0051babcstr x1, [sp+128]
    0051bac0str x2, [sp+136]
    0051bac4str xzr, [sp+56]
    0051bac8stp xzr, xzr, [sp+64]
    0051baccstr xzr, [sp+40]
    0051bad0ldr x1, [sp+128]
    0051bad4ldr x3, [sp+120]
    0051bad8ldr x4, [sp+136]
    0051badcb 0x51bae0
    0051bae0
    0051bae0loc_51bae0:
    0051bae0subs xzr, x1, 8
    0051bae4b.hs 0x51baec
    0051bae8b 0x51bb50
    0051baec
    0051baecloc_51baec:
    0051baecsub x4, x4, 8
    0051baf0sub x5, xzr, x4
    0051baf4sub x6, x1, 8
    0051baf8sbfm x5, x5, 63, 63
    0051bafcand x5, x5, 8
    0051bb00add x3, x3, x5
    0051bb04str x3, [sp+80]
    0051bb08str x6, [sp+88]
    0051bb0cstr x4, [sp+96]
    0051bb10ldr x0, [sp+120]
    0051bb14ldr x1, [sp+128]
    0051bb18ldr x2, [sp+136]
    0051bb1cbl crypto/internal/fips140deps/byteorder.BEUint64
    0051bb20str x0, [sp+48]
    0051bb24ldr x0, [sp+80]
    0051bb28ldr x1, [sp+88]
    0051bb2cldr x2, [sp+96]
    0051bb30str x0, [sp+56]
    0051bb34str x1, [sp+64]
    0051bb38str x2, [sp+72]
    0051bb3cldr x3, [sp+48]
    0051bb40str x3, [sp+40]
    0051bb44ldur x29, [sp-8]
    0051bb48ldr x30, [sp], 112
    0051bb4cret x30
    0051bb50
    0051bb50loc_51bb50:
    0051bb50orr x0, xzr, 8
    0051bb54bl runtime.panicSliceB
    0051bb58hint
    0051bb5c
    0051bb5cloc_51bb5c:
    0051bb5cstp x0, x1, [sp+8]
    0051bb60str x2, [sp+24]
    0051bb64mov x3, x30
    0051bb68bl runtime.morestack_noctxt.abi0
    0051bb6cldp x0, x1, [sp+8]
    0051bb70ldr x2, [sp+24]
    0051bb74b 0x51baa0
    0051bb78udf 0
    0051bb7cudf 0
    0051baa0
    0051bb80
    0051bb80crypto/internal/fips140/sha512.New: ; void crypto/internal/fips140/sha512.New(void)
    0051bb80ldr x16, [x28+16]
    0051bb84subs xzr, sp, x16
    0051bb88b.ls 0x51bbf8
    0051bb8cstr x30, [sp-64]!
    0051bb90stur x29, [sp-8]
    0051bb94sub x29, sp, 8
    0051bb98str xzr, [sp+32]
    0051bb9cadrp x0, 0x15c000
    0051bba0add x0, x0, 3424
    0051bba4bl runtime.newobject
    0051bba8str x0, [sp+48]
    0051bbacmov x20, x0
    0051bbb0adr x27, 16
    0051bbb4stp x29, x27, [sp-24]
    0051bbb8sub x29, sp, 24
    0051bbbcbl fn_87cdc
    0051bbc0sub x29, sp, 8
    0051bbc4str xzr, [x0+208]
    0051bbc8ldr x1, [sp+48]
    0051bbccldrsb x27, [x1]
    0051bbd0orr x2, xzr, 64
    0051bbd4str x2, [x1+208]
    0051bbd8ldr x0, [sp+48]
    0051bbdcstr x0, [sp+40]
    0051bbe0bl crypto/internal/fips140/sha512.(*Digest).Reset
    0051bbe4ldr x0, [sp+40]
    0051bbe8str x0, [sp+32]
    0051bbecldur x29, [sp-8]
    0051bbf0ldr x30, [sp], 64
    0051bbf4ret x30
    0051bbf8
    0051bbf8loc_51bbf8:
    0051bbf8mov x3, x30
    0051bbfcbl runtime.morestack_noctxt.abi0
    0051bc00b 0x51bb80
    0051bc04udf 0
    0051bc08udf 0
    0051bc0cudf 0
    0051bb80
    0051bc10
    0051bc10crypto/internal/fips140/sha512.New512_224: ; void crypto/internal/fips140/sha512.New512_224(void)
    0051bc10ldr x16, [x28+16]
    0051bc14subs xzr, sp, x16
    0051bc18b.ls 0x51bc88
    0051bc1cstr x30, [sp-64]!
    0051bc20stur x29, [sp-8]
    0051bc24sub x29, sp, 8
    0051bc28str xzr, [sp+32]
    0051bc2cadrp x0, 0x15c000
    0051bc30add x0, x0, 3424
    0051bc34bl runtime.newobject
    0051bc38str x0, [sp+48]
    0051bc3cmov x20, x0
    0051bc40adr x27, 16
    0051bc44stp x29, x27, [sp-24]
    0051bc48sub x29, sp, 24
    0051bc4cbl fn_87cdc
    0051bc50sub x29, sp, 8
    0051bc54str xzr, [x0+208]
    0051bc58ldr x1, [sp+48]
    0051bc5cldrsb x27, [x1]
    0051bc60orr x2, xzr, 28
    0051bc64str x2, [x1+208]
    0051bc68ldr x0, [sp+48]
    0051bc6cstr x0, [sp+40]
    0051bc70bl crypto/internal/fips140/sha512.(*Digest).Reset
    0051bc74ldr x0, [sp+40]
    0051bc78str x0, [sp+32]
    0051bc7cldur x29, [sp-8]
    0051bc80ldr x30, [sp], 64
    0051bc84ret x30
    0051bc88
    0051bc88loc_51bc88:
    0051bc88mov x3, x30
    0051bc8cbl runtime.morestack_noctxt.abi0
    0051bc90b 0x51bc10
    0051bc94udf 0
    0051bc98udf 0
    0051bc9cudf 0
    0051bc10
    0051bca0
    0051bca0crypto/internal/fips140/sha512.New512_256: ; void crypto/internal/fips140/sha512.New512_256(void)
    0051bca0ldr x16, [x28+16]
    0051bca4subs xzr, sp, x16
    0051bca8b.ls 0x51bd18
    0051bcacstr x30, [sp-64]!
    0051bcb0stur x29, [sp-8]
    0051bcb4sub x29, sp, 8
    0051bcb8str xzr, [sp+32]
    0051bcbcadrp x0, 0x15c000
    0051bcc0add x0, x0, 3424
    0051bcc4bl runtime.newobject
    0051bcc8str x0, [sp+48]
    0051bcccmov x20, x0
    0051bcd0adr x27, 16
    0051bcd4stp x29, x27, [sp-24]
    0051bcd8sub x29, sp, 24
    0051bcdcbl fn_87cdc
    0051bce0sub x29, sp, 8
    0051bce4str xzr, [x0+208]
    0051bce8ldr x1, [sp+48]
    0051bcecldrsb x27, [x1]
    0051bcf0orr x2, xzr, 32
    0051bcf4str x2, [x1+208]
    0051bcf8ldr x0, [sp+48]
    0051bcfcstr x0, [sp+40]
    0051bd00bl crypto/internal/fips140/sha512.(*Digest).Reset
    0051bd04ldr x0, [sp+40]
    0051bd08str x0, [sp+32]
    0051bd0cldur x29, [sp-8]
    0051bd10ldr x30, [sp], 64
    0051bd14ret x30
    0051bd18
    0051bd18loc_51bd18:
    0051bd18mov x3, x30
    0051bd1cbl runtime.morestack_noctxt.abi0
    0051bd20b 0x51bca0
    0051bd24udf 0
    0051bd28udf 0
    0051bd2cudf 0
    0051bca0
    0051bd30
    0051bd30crypto/internal/fips140/sha512.New384: ; void crypto/internal/fips140/sha512.New384(void)
    0051bd30ldr x16, [x28+16]
    0051bd34subs xzr, sp, x16
    0051bd38b.ls 0x51bda8
    0051bd3cstr x30, [sp-64]!
    0051bd40stur x29, [sp-8]
    0051bd44sub x29, sp, 8
    0051bd48str xzr, [sp+32]
    0051bd4cadrp x0, 0x15c000
    0051bd50add x0, x0, 3424
    0051bd54bl runtime.newobject
    0051bd58str x0, [sp+48]
    0051bd5cmov x20, x0
    0051bd60adr x27, 16
    0051bd64stp x29, x27, [sp-24]
    0051bd68sub x29, sp, 24
    0051bd6cbl fn_87cdc
    0051bd70sub x29, sp, 8
    0051bd74str xzr, [x0+208]
    0051bd78ldr x1, [sp+48]
    0051bd7cldrsb x27, [x1]
    0051bd80orr x2, xzr, 48
    0051bd84str x2, [x1+208]
    0051bd88ldr x0, [sp+48]
    0051bd8cstr x0, [sp+40]
    0051bd90bl crypto/internal/fips140/sha512.(*Digest).Reset
    0051bd94ldr x0, [sp+40]
    0051bd98str x0, [sp+32]
    0051bd9cldur x29, [sp-8]
    0051bda0ldr x30, [sp], 64
    0051bda4ret x30
    0051bda8
    0051bda8loc_51bda8:
    0051bda8mov x3, x30
    0051bdacbl runtime.morestack_noctxt.abi0
    0051bdb0b 0x51bd30
    0051bdb4udf 0
    0051bdb8udf 0
    0051bdbcudf 0
    0051bd30
    0051bdc0
    0051bdc0crypto/internal/fips140/sha512.(*Digest).Size: ; void crypto/internal/fips140/sha512.(*Digest).Size(crypto/internal/fips140/sha512.Digest * d)
    0051bdc0str x30, [sp-32]!
    0051bdc4stur x29, [sp-8]
    0051bdc8sub x29, sp, 8
    0051bdccstr x0, [sp+40]
    0051bdd0str xzr, [sp+16]
    0051bdd4ldrsb x27, [x0]
    0051bdd8ldr x0, [x0+208]
    0051bddcstr x0, [sp+16]
    0051bde0add x29, sp, 24
    0051bde4add sp, sp, 32
    0051bde8ret x30
    0051bdecudf 0
    0051bdc0
    0051bdf0
    0051bdf0crypto/internal/fips140/sha512.(*Digest).BlockSize: ; void crypto/internal/fips140/sha512.(*Digest).BlockSize(crypto/internal/fips140/sha512.Digest * d)
    0051bdf0str x30, [sp-32]!
    0051bdf4stur x29, [sp-8]
    0051bdf8sub x29, sp, 8
    0051bdfcstr x0, [sp+40]
    0051be00str xzr, [sp+16]
    0051be04orr x0, xzr, 128
    0051be08str x0, [sp+16]
    0051be0cadd x29, sp, 24
    0051be10add sp, sp, 32
    0051be14ret x30
    0051be18udf 0
    0051be1cudf 0
    0051bdf0
    0051be20
    0051be20crypto/internal/fips140/sha512.(*Digest).Write: ; void crypto/internal/fips140/sha512.(*Digest).Write(crypto/internal/fips140/sha512.Digest * d, struct []uint8 p)
    0051be20ldr x16, [x28+16]
    0051be24sub x17, sp, 128
    0051be28subs xzr, x17, x16
    0051be2cb.ls 0x51c1bc
    0051be30sub x20, sp, 256
    0051be34stp x29, x30, [x20-8]
    0051be38add sp, x20, 0
    0051be3csub x29, sp, 8
    0051be40str x0, [sp+264]
    0051be44str x1, [sp+272]
    0051be48str x2, [sp+280]
    0051be4cstr x3, [sp+288]
    0051be50str xzr, [sp+48]
    0051be54stp xzr, xzr, [sp+112]
    0051be58ldr x4, [sp+280]
    0051be5cstr x4, [sp+48]
    0051be60ldr x5, [sp+264]
    0051be64ldrsb x27, [x5]
    0051be68ldr x6, [sp+264]
    0051be6cldrsb x27, [x6]
    0051be70ldr x6, [x6+200]
    0051be74add x4, x6, x4
    0051be78str x4, [x5+200]
    0051be7cldr x4, [sp+264]
    0051be80ldrsb x27, [x4]
    0051be84ldr x4, [x4+192]
    0051be88subs xzr, x4, 0
    0051be8cb.gt 0x51be94
    0051be90b 0x51c01c
    0051be94
    0051be94loc_51be94:
    0051be94ldr x4, [sp+264]
    0051be98ldrsb x27, [x4]
    0051be9cldr x0, [x4+192]
    0051bea0str x0, [sp+72]
    0051bea4ldr x4, [sp+264]
    0051bea8ldrsb x27, [x4]
    0051beacadd x4, x4, 64
    0051beb0ldrsb x27, [x4]
    0051beb4subs xzr, x0, 128
    0051beb8b.ls 0x51bec0
    0051bebcb 0x51c1b0
    0051bec0
    0051bec0loc_51bec0:
    0051bec0orr x3, xzr, 128
    0051bec4sub x5, x3, x0
    0051bec8sub x6, xzr, x5
    0051beccand x6, x0, x6, asr #63
    0051bed0add x4, x4, x6
    0051bed4str x4, [sp+176]
    0051bed8str x5, [sp+184]
    0051bedcstr x5, [sp+192]
    0051bee0str x4, [sp+152]
    0051bee4str x5, [sp+160]
    0051bee8str x5, [sp+168]
    0051beecldr x4, [sp+280]
    0051bef0ldr x5, [sp+272]
    0051bef4ldr x6, [sp+288]
    0051bef8str x5, [sp+128]
    0051befcstr x4, [sp+136]
    0051bf00str x6, [sp+144]
    0051bf04ldr x5, [sp+160]
    0051bf08str x5, [sp+104]
    0051bf0csubs xzr, x4, x5
    0051bf10b.lt 0x51bf18
    0051bf14b 0x51bf20
    0051bf18
    0051bf18loc_51bf18:
    0051bf18str x4, [sp+104]
    0051bf1cb 0x51bf24
    0051bf20
    0051bf20loc_51bf20:
    0051bf20b 0x51bf24
    0051bf24
    0051bf24loc_51bf24:
    0051bf24ldr x4, [sp+128]
    0051bf28ldr x5, [sp+152]
    0051bf2csubs xzr, x5, x4
    0051bf30b.ne 0x51bf38
    0051bf34b 0x51bf54
    0051bf38
    0051bf38loc_51bf38:
    0051bf38ldr x3, [sp+104]
    0051bf3cstr x3, [sp+96]
    0051bf40ldr x2, [sp+96]
    0051bf44ldr x0, [sp+152]
    0051bf48ldr x1, [sp+128]
    0051bf4cbl runtime.memmove
    0051bf50b 0x51bf58
    0051bf54
    0051bf54loc_51bf54:
    0051bf54b 0x51bf58
    0051bf58
    0051bf58loc_51bf58:
    0051bf58ldr x4, [sp+104]
    0051bf5cstr x4, [sp+64]
    0051bf60ldr x5, [sp+264]
    0051bf64ldrsb x27, [x5]
    0051bf68ldr x6, [sp+264]
    0051bf6cldrsb x27, [x6]
    0051bf70ldr x6, [x6+192]
    0051bf74add x4, x6, x4
    0051bf78str x4, [x5+192]
    0051bf7cldr x4, [sp+264]
    0051bf80ldrsb x27, [x4]
    0051bf84ldr x4, [x4+192]
    0051bf88subs xzr, x4, 128
    0051bf8cb.eq 0x51bf94
    0051bf90b 0x51bfd4
    0051bf94
    0051bf94loc_51bf94:
    0051bf94ldr x4, [sp+264]
    0051bf98ldrsb x27, [x4]
    0051bf9cadd x1, x4, 64
    0051bfa0ldrsb x27, [x1]
    0051bfa4b 0x51bfa8
    0051bfa8
    0051bfa8loc_51bfa8:
    0051bfa8str x1, [sp+176]
    0051bfacorr x3, xzr, 128
    0051bfb0str x3, [sp+184]
    0051bfb4str x3, [sp+192]
    0051bfb8ldr x0, [sp+264]
    0051bfbcmov x2, x3
    0051bfc0bl crypto/internal/fips140/sha512.block
    0051bfc4ldr x4, [sp+264]
    0051bfc8ldrsb x27, [x4]
    0051bfccstr xzr, [x4+192]
    0051bfd0b 0x51bfd8
    0051bfd4
    0051bfd4loc_51bfd4:
    0051bfd4b 0x51bfd8
    0051bfd8
    0051bfd8loc_51bfd8:
    0051bfd8ldr x0, [sp+64]
    0051bfdcldr x1, [sp+280]
    0051bfe0ldr x4, [sp+272]
    0051bfe4ldr x5, [sp+288]
    0051bfe8b 0x51bfec
    0051bfec
    0051bfecloc_51bfec:
    0051bfecsubs xzr, x0, x1
    0051bff0b.ls 0x51bff8
    0051bff4b 0x51c1ac
    0051bff8
    0051bff8loc_51bff8:
    0051bff8sub x5, x5, x0
    0051bffcsub x6, x1, x0
    0051c000sub x7, xzr, x5
    0051c004and x7, x0, x7, asr #63
    0051c008add x4, x4, x7
    0051c00cstr x4, [sp+272]
    0051c010str x6, [sp+280]
    0051c014str x5, [sp+288]
    0051c018b 0x51c020
    0051c01c
    0051c01cloc_51c01c:
    0051c01cb 0x51c020
    0051c020
    0051c020loc_51c020:
    0051c020ldr x4, [sp+280]
    0051c024str x4, [sp+72]
    0051c028subs xzr, x4, 128
    0051c02cb.ge 0x51c034
    0051c030b 0x51c0c0
    0051c034
    0051c034loc_51c034:
    0051c034ldr x4, [sp+280]
    0051c038str x4, [sp+72]
    0051c03cand x1, x4, -128
    0051c040str x1, [sp+56]
    0051c044ldr x2, [sp+288]
    0051c048ldr x4, [sp+272]
    0051c04csubs xzr, x2, x1
    0051c050b.hs 0x51c058
    0051c054b 0x51c1a8
    0051c058
    0051c058loc_51c058:
    0051c058b 0x51c05c
    0051c05c
    0051c05cloc_51c05c:
    0051c05cstr x4, [sp+176]
    0051c060str x1, [sp+184]
    0051c064str x2, [sp+192]
    0051c068ldr x0, [sp+264]
    0051c06cmov x3, x2
    0051c070mov x2, x1
    0051c074mov x1, x4
    0051c078bl crypto/internal/fips140/sha512.block
    0051c07cldr x0, [sp+56]
    0051c080ldr x1, [sp+280]
    0051c084ldr x4, [sp+272]
    0051c088ldr x5, [sp+288]
    0051c08cb 0x51c090
    0051c090
    0051c090loc_51c090:
    0051c090subs xzr, x1, x0
    0051c094b.hs 0x51c09c
    0051c098b 0x51c1a4
    0051c09c
    0051c09cloc_51c09c:
    0051c09csub x3, x5, x0
    0051c0a0sub x5, x1, x0
    0051c0a4sub x6, xzr, x3
    0051c0a8and x6, x0, x6, asr #63
    0051c0acadd x4, x4, x6
    0051c0b0str x4, [sp+272]
    0051c0b4str x5, [sp+280]
    0051c0b8str x3, [sp+288]
    0051c0bcb 0x51c0c4
    0051c0c0
    0051c0c0loc_51c0c0:
    0051c0c0b 0x51c0c4
    0051c0c4
    0051c0c4loc_51c0c4:
    0051c0c4ldr x3, [sp+280]
    0051c0c8str x3, [sp+72]
    0051c0cccbnz x3, 0x51c0d4
    0051c0d0b 0x51c188
    0051c0d4
    0051c0d4loc_51c0d4:
    0051c0d4ldr x3, [sp+264]
    0051c0d8ldrsb x27, [x3]
    0051c0dcadd x3, x3, 64
    0051c0e0ldrsb x27, [x3]
    0051c0e4b 0x51c0e8
    0051c0e8
    0051c0e8loc_51c0e8:
    0051c0e8str x3, [sp+176]
    0051c0ecorr x4, xzr, 128
    0051c0f0str x4, [sp+184]
    0051c0f4str x4, [sp+192]
    0051c0f8str x3, [sp+224]
    0051c0fcstr x4, [sp+232]
    0051c100str x4, [sp+240]
    0051c104ldr x3, [sp+280]
    0051c108ldr x4, [sp+272]
    0051c10cldr x5, [sp+288]
    0051c110str x4, [sp+200]
    0051c114str x3, [sp+208]
    0051c118str x5, [sp+216]
    0051c11cldr x4, [sp+232]
    0051c120str x4, [sp+88]
    0051c124subs xzr, x4, x3
    0051c128b.gt 0x51c130
    0051c12cb 0x51c138
    0051c130
    0051c130loc_51c130:
    0051c130str x3, [sp+88]
    0051c134b 0x51c13c
    0051c138
    0051c138loc_51c138:
    0051c138b 0x51c13c
    0051c13c
    0051c13cloc_51c13c:
    0051c13cldr x3, [sp+200]
    0051c140ldr x4, [sp+224]
    0051c144subs xzr, x3, x4
    0051c148b.ne 0x51c150
    0051c14cb 0x51c16c
    0051c150
    0051c150loc_51c150:
    0051c150ldr x3, [sp+88]
    0051c154str x3, [sp+80]
    0051c158ldr x2, [sp+80]
    0051c15cldr x1, [sp+200]
    0051c160ldr x0, [sp+224]
    0051c164bl runtime.memmove
    0051c168b 0x51c170
    0051c16c
    0051c16cloc_51c16c:
    0051c16cb 0x51c170
    0051c170
    0051c170loc_51c170:
    0051c170ldr x3, [sp+88]
    0051c174str x3, [sp+72]
    0051c178ldr x4, [sp+264]
    0051c17cldrsb x27, [x4]
    0051c180str x3, [x4+192]
    0051c184b 0x51c18c
    0051c188
    0051c188loc_51c188:
    0051c188b 0x51c18c
    0051c18c
    0051c18cloc_51c18c:
    0051c18cldr x1, [sp+112]
    0051c190ldr x2, [sp+120]
    0051c194ldr x0, [sp+48]
    0051c198ldp x29, x30, [sp-8]
    0051c19cadd sp, sp, 256
    0051c1a0ret x30
    0051c1a4
    0051c1a4loc_51c1a4:
    0051c1a4bl runtime.panicSliceB
    0051c1a8
    0051c1a8loc_51c1a8:
    0051c1a8bl runtime.panicSliceAcap
    0051c1ac
    0051c1acloc_51c1ac:
    0051c1acbl runtime.panicSliceB
    0051c1b0
    0051c1b0loc_51c1b0:
    0051c1b0orr x1, xzr, 128
    0051c1b4bl runtime.panicSliceB
    0051c1b8hint
    0051c1bc
    0051c1bcloc_51c1bc:
    0051c1bcstp x0, x1, [sp+8]
    0051c1c0stp x2, x3, [sp+24]
    0051c1c4mov x3, x30
    0051c1c8bl runtime.morestack_noctxt.abi0
    0051c1ccldp x0, x1, [sp+8]
    0051c1d0ldp x2, x3, [sp+24]
    0051c1d4b 0x51be20
    0051c1d8udf 0
    0051c1dcudf 0
    0051be20
    0051c1e0
    0051c1e0crypto/internal/fips140/sha512.(*Digest).Sum: ; void crypto/internal/fips140/sha512.(*Digest).Sum(crypto/internal/fips140/sha512.Digest * d, struct []uint8 in)
    0051c1e0ldr x16, [x28+16]
    0051c1e4sub x17, sp, 384
    0051c1e8subs xzr, x17, x16
    0051c1ecb.ls 0x51c394
    0051c1f0sub x20, sp, 512
    0051c1f4stp x29, x30, [x20-8]
    0051c1f8add sp, x20, 0
    0051c1fcsub x29, sp, 8
    0051c200str x0, [sp+520]
    0051c204str x1, [sp+528]
    0051c208str x2, [sp+536]
    0051c20cstr x3, [sp+544]
    0051c210str xzr, [sp+384]
    0051c214stp xzr, xzr, [sp+392]
    0051c218bl crypto/internal/fips140.RecordApproved
    0051c21cadd x20, sp, 144
    0051c220adr x27, 16
    0051c224stp x29, x27, [sp-24]
    0051c228sub x29, sp, 24
    0051c22cbl fn_87cdc
    0051c230sub x29, sp, 8
    0051c234str xzr, [sp+352]
    0051c238add x21, sp, 144
    0051c23cstr x21, [sp+408]
    0051c240ldrsb x27, [x21]
    0051c244ldr x20, [sp+520]
    0051c248str x20, [sp+488]
    0051c24cldrsb x27, [x20]
    0051c250adr x27, 16
    0051c254stp x29, x27, [sp-24]
    0051c258sub x29, sp, 24
    0051c25cbl fn_87eb8
    0051c260sub x29, sp, 8
    0051c264ldr x0, [sp+488]
    0051c268ldr x0, [x0+208]
    0051c26cadd x1, sp, 144
    0051c270str x0, [x1+208]
    0051c274ldr x0, [sp+408]
    0051c278bl crypto/internal/fips140/sha512.(*Digest).checkSum
    0051c27cldp x0, x1, [sp+8]
    0051c280ldp x2, x3, [sp+24]
    0051c284ldp x4, x5, [sp+40]
    0051c288ldp x6, x7, [sp+56]
    0051c28cstp x0, x1, [sp+80]
    0051c290stp x2, x3, [sp+96]
    0051c294stp x4, x5, [sp+112]
    0051c298stp x6, x7, [sp+128]
    0051c29cldr x0, [sp+520]
    0051c2a0ldrsb x27, [x0]
    0051c2a4ldr x1, [x0+208]
    0051c2a8str x1, [sp+360]
    0051c2acadd x0, sp, 80
    0051c2b0ldrsb x27, [x0]
    0051c2b4subs xzr, x1, 64
    0051c2b8b.ls 0x51c2c0
    0051c2bcb 0x51c388
    0051c2c0
    0051c2c0loc_51c2c0:
    0051c2c0b 0x51c2c4
    0051c2c4
    0051c2c4loc_51c2c4:
    0051c2c4str x0, [sp+464]
    0051c2c8str x1, [sp+472]
    0051c2ccorr x5, xzr, 64
    0051c2d0str x5, [sp+480]
    0051c2d4ldr x2, [sp+544]
    0051c2d8ldr x0, [sp+528]
    0051c2dcldr x5, [sp+536]
    0051c2e0str x0, [sp+416]
    0051c2e4str x5, [sp+424]
    0051c2e8str x2, [sp+432]
    0051c2ecldr x6, [sp+472]
    0051c2f0add x1, x5, x6
    0051c2f4str x1, [sp+376]
    0051c2f8subs xzr, x2, x1
    0051c2fcb.hs 0x51c304
    0051c300b 0x51c30c
    0051c304
    0051c304loc_51c304:
    0051c304str x1, [sp+424]
    0051c308b 0x51c32c
    0051c30c
    0051c30cloc_51c30c:
    0051c30cldr x3, [sp+472]
    0051c310adrp x4, 0xd9000
    0051c314add x4, x4, 3072
    0051c318bl runtime.growslice
    0051c31cstr x0, [sp+416]
    0051c320str x1, [sp+424]
    0051c324str x2, [sp+432]
    0051c328b 0x51c32c
    0051c32c
    0051c32cloc_51c32c:
    0051c32cldr x3, [sp+472]
    0051c330str x3, [sp+368]
    0051c334ldr x3, [sp+376]
    0051c338ldr x4, [sp+472]
    0051c33csub x3, x3, x4
    0051c340ldr x4, [sp+416]
    0051c344add x0, x4, x3
    0051c348str x0, [sp+496]
    0051c34cldr x2, [sp+368]
    0051c350ldr x1, [sp+464]
    0051c354bl runtime.memmove
    0051c358ldr x0, [sp+416]
    0051c35cldr x1, [sp+424]
    0051c360ldr x2, [sp+432]
    0051c364str x0, [sp+440]
    0051c368str x1, [sp+448]
    0051c36cstr x2, [sp+456]
    0051c370str x0, [sp+384]
    0051c374str x1, [sp+392]
    0051c378str x2, [sp+400]
    0051c37cldp x29, x30, [sp-8]
    0051c380add sp, sp, 512
    0051c384ret x30
    0051c388
    0051c388loc_51c388:
    0051c388orr x2, xzr, 64
    0051c38cbl runtime.panicSliceAlen
    0051c390hint
    0051c394
    0051c394loc_51c394:
    0051c394stp x0, x1, [sp+8]
    0051c398stp x2, x3, [sp+24]
    0051c39cmov x3, x30
    0051c3a0bl runtime.morestack_noctxt.abi0
    0051c3a4ldp x0, x1, [sp+8]
    0051c3a8ldp x2, x3, [sp+24]
    0051c3acb 0x51c1e0
    0051c1e0
    0051c3b0
    0051c3b0crypto/internal/fips140/sha512.(*Digest).checkSum: ; void crypto/internal/fips140/sha512.(*Digest).checkSum(crypto/internal/fips140/sha512.Digest * d)
    0051c3b0ldr x16, [x28+16]
    0051c3b4sub x17, sp, 288
    0051c3b8subs xzr, x17, x16
    0051c3bcb.ls 0x51c770
    0051c3c0sub x20, sp, 416
    0051c3c4stp x29, x30, [x20-8]
    0051c3c8add sp, x20, 0
    0051c3ccsub x29, sp, 8
    0051c3d0str x0, [sp+488]
    0051c3d4stp xzr, xzr, [sp+424]
    0051c3d8stp xzr, xzr, [sp+440]
    0051c3dcstp xzr, xzr, [sp+456]
    0051c3e0stp xzr, xzr, [sp+472]
    0051c3e4ldr x4, [sp+488]
    0051c3e8ldrsb x27, [x4]
    0051c3ecldr x4, [x4+200]
    0051c3f0str x4, [sp+256]
    0051c3f4add x20, sp, 40
    0051c3f8adr x27, 16
    0051c3fcstp x29, x27, [sp-24]
    0051c400sub x29, sp, 24
    0051c404bl fn_87cec
    0051c408sub x29, sp, 8
    0051c40cmovn x4, 127
    0051c410strb w4, [sp+40]
    0051c414str xzr, [sp+248]
    0051c418ldr x4, [sp+256]
    0051c41cand x4, x4, 127
    0051c420subs xzr, x4, 112
    0051c424b.lo 0x51c42c
    0051c428b 0x51c444
    0051c42c
    0051c42cloc_51c42c:
    0051c42cldr x4, [sp+256]
    0051c430and x4, x4, 127
    0051c434orr x5, xzr, 112
    0051c438sub x4, x5, x4
    0051c43cstr x4, [sp+248]
    0051c440b 0x51c45c
    0051c444
    0051c444loc_51c444:
    0051c444ldr x4, [sp+256]
    0051c448and x4, x4, 127
    0051c44corr x5, xzr, 240
    0051c450sub x4, x5, x4
    0051c454str x4, [sp+248]
    0051c458b 0x51c45c
    0051c45c
    0051c45cloc_51c45c:
    0051c45cldr x4, [sp+256]
    0051c460ubfm x4, x4, 61, 60
    0051c464str x4, [sp+256]
    0051c468ldr x4, [sp+248]
    0051c46cadd x1, x4, 16
    0051c470str x1, [sp+264]
    0051c474add x4, sp, 40
    0051c478ldrsb x27, [x4]
    0051c47csubs xzr, x1, 144
    0051c480b.ls 0x51c488
    0051c484b 0x51c764
    0051c488
    0051c488loc_51c488:
    0051c488b 0x51c48c
    0051c48c
    0051c48cloc_51c48c:
    0051c48cstr x4, [sp+336]
    0051c490str x1, [sp+344]
    0051c494movz x4, 144
    0051c498str x4, [sp+352]
    0051c49cldr x5, [sp+248]
    0051c4a0add x0, x5, 8
    0051c4a4str x0, [sp+264]
    0051c4a8ldr x1, [sp+344]
    0051c4acldr x6, [sp+336]
    0051c4b0b 0x51c4b4
    0051c4b4
    0051c4b4loc_51c4b4:
    0051c4b4subs xzr, x1, x0
    0051c4b8b.hs 0x51c4c0
    0051c4bcb 0x51c760
    0051c4c0
    0051c4c0loc_51c4c0:
    0051c4c0sub x7, x1, x5
    0051c4c4sub x4, x4, x5
    0051c4c8sub x2, x4, 8
    0051c4ccsub x1, x7, 8
    0051c4d0sub x4, xzr, x2
    0051c4d4and x4, x0, x4, asr #63
    0051c4d8add x0, x6, x4
    0051c4dcstr x0, [sp+376]
    0051c4e0str x1, [sp+384]
    0051c4e4str x2, [sp+392]
    0051c4e8ldr x3, [sp+256]
    0051c4ecbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c4f0ldr x1, [sp+336]
    0051c4f4ldr x2, [sp+344]
    0051c4f8ldr x3, [sp+352]
    0051c4fcldr x0, [sp+488]
    0051c500bl crypto/internal/fips140/sha512.(*Digest).Write
    0051c504ldr x4, [sp+488]
    0051c508ldrsb x27, [x4]
    0051c50cldr x4, [x4+192]
    0051c510cbnz x4, 0x51c734
    0051c514b 0x51c518
    0051c518
    0051c518loc_51c518:
    0051c518stp xzr, xzr, [sp+184]
    0051c51cstp xzr, xzr, [sp+200]
    0051c520stp xzr, xzr, [sp+216]
    0051c524stp xzr, xzr, [sp+232]
    0051c528add x4, sp, 184
    0051c52cldrsb x27, [x4]
    0051c530b 0x51c534
    0051c534
    0051c534loc_51c534:
    0051c534str x4, [sp+376]
    0051c538orr x2, xzr, 64
    0051c53cstr x2, [sp+384]
    0051c540str x2, [sp+392]
    0051c544ldr x4, [sp+488]
    0051c548ldrsb x27, [x4]
    0051c54cldr x3, [x4]
    0051c550str x3, [sp+328]
    0051c554ldr x0, [sp+376]
    0051c558mov x1, x2
    0051c55cbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c560add x4, sp, 184
    0051c564ldrsb x27, [x4]
    0051c568b 0x51c56c
    0051c56c
    0051c56cloc_51c56c:
    0051c56cadd x0, x4, 8
    0051c570str x0, [sp+376]
    0051c574orr x2, xzr, 56
    0051c578str x2, [sp+384]
    0051c57cstr x2, [sp+392]
    0051c580ldr x4, [sp+488]
    0051c584ldrsb x27, [x4]
    0051c588ldr x3, [x4+8]
    0051c58cstr x3, [sp+320]
    0051c590mov x1, x2
    0051c594bl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c598add x4, sp, 184
    0051c59cldrsb x27, [x4]
    0051c5a0b 0x51c5a4
    0051c5a4
    0051c5a4loc_51c5a4:
    0051c5a4add x0, x4, 16
    0051c5a8str x0, [sp+376]
    0051c5acorr x2, xzr, 48
    0051c5b0str x2, [sp+384]
    0051c5b4str x2, [sp+392]
    0051c5b8ldr x4, [sp+488]
    0051c5bcldrsb x27, [x4]
    0051c5c0ldr x3, [x4+16]
    0051c5c4str x3, [sp+312]
    0051c5c8mov x1, x2
    0051c5ccbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c5d0add x4, sp, 184
    0051c5d4ldrsb x27, [x4]
    0051c5d8b 0x51c5dc
    0051c5dc
    0051c5dcloc_51c5dc:
    0051c5dcadd x0, x4, 24
    0051c5e0str x0, [sp+376]
    0051c5e4movz x2, 40
    0051c5e8str x2, [sp+384]
    0051c5ecstr x2, [sp+392]
    0051c5f0ldr x4, [sp+488]
    0051c5f4ldrsb x27, [x4]
    0051c5f8ldr x3, [x4+24]
    0051c5fcstr x3, [sp+304]
    0051c600mov x1, x2
    0051c604bl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c608add x4, sp, 184
    0051c60cldrsb x27, [x4]
    0051c610b 0x51c614
    0051c614
    0051c614loc_51c614:
    0051c614add x0, x4, 32
    0051c618str x0, [sp+376]
    0051c61corr x2, xzr, 32
    0051c620str x2, [sp+384]
    0051c624str x2, [sp+392]
    0051c628ldr x4, [sp+488]
    0051c62cldrsb x27, [x4]
    0051c630ldr x3, [x4+32]
    0051c634str x3, [sp+296]
    0051c638mov x1, x2
    0051c63cbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c640add x4, sp, 184
    0051c644ldrsb x27, [x4]
    0051c648b 0x51c64c
    0051c64c
    0051c64cloc_51c64c:
    0051c64cadd x0, x4, 40
    0051c650str x0, [sp+376]
    0051c654orr x2, xzr, 24
    0051c658str x2, [sp+384]
    0051c65cstr x2, [sp+392]
    0051c660ldr x4, [sp+488]
    0051c664ldrsb x27, [x4]
    0051c668ldr x3, [x4+40]
    0051c66cstr x3, [sp+288]
    0051c670mov x1, x2
    0051c674bl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c678ldr x4, [sp+488]
    0051c67cldrsb x27, [x4]
    0051c680ldr x4, [x4+208]
    0051c684subs xzr, x4, 48
    0051c688b.ne 0x51c690
    0051c68cb 0x51c704
    0051c690
    0051c690loc_51c690:
    0051c690add x4, sp, 184
    0051c694ldrsb x27, [x4]
    0051c698b 0x51c69c
    0051c69c
    0051c69cloc_51c69c:
    0051c69cadd x0, x4, 48
    0051c6a0str x0, [sp+376]
    0051c6a4orr x2, xzr, 16
    0051c6a8str x2, [sp+384]
    0051c6acstr x2, [sp+392]
    0051c6b0ldr x4, [sp+488]
    0051c6b4ldrsb x27, [x4]
    0051c6b8ldr x3, [x4+48]
    0051c6bcstr x3, [sp+280]
    0051c6c0mov x1, x2
    0051c6c4bl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c6c8add x4, sp, 184
    0051c6ccldrsb x27, [x4]
    0051c6d0b 0x51c6d4
    0051c6d4
    0051c6d4loc_51c6d4:
    0051c6d4add x0, x4, 56
    0051c6d8str x0, [sp+376]
    0051c6dcorr x2, xzr, 8
    0051c6e0str x2, [sp+384]
    0051c6e4str x2, [sp+392]
    0051c6e8ldr x4, [sp+488]
    0051c6ecldrsb x27, [x4]
    0051c6f0ldr x3, [x4+56]
    0051c6f4str x3, [sp+272]
    0051c6f8mov x1, x2
    0051c6fcbl crypto/internal/fips140deps/byteorder.BEPutUint64
    0051c700b 0x51c708
    0051c704
    0051c704loc_51c704:
    0051c704b 0x51c708
    0051c708
    0051c708loc_51c708:
    0051c708ldp x0, x1, [sp+184]
    0051c70cldp x2, x3, [sp+200]
    0051c710ldp x4, x5, [sp+216]
    0051c714ldp x6, x7, [sp+232]
    0051c718stp x0, x1, [sp+424]
    0051c71cstp x2, x3, [sp+440]
    0051c720stp x4, x5, [sp+456]
    0051c724stp x6, x7, [sp+472]
    0051c728ldp x29, x30, [sp-8]
    0051c72cadd sp, sp, 416
    0051c730ret x30
    0051c734
    0051c734loc_51c734:
    0051c734adrp x0, 0x195000
    0051c738add x0, x0, 3667
    0051c73cstr x0, [sp+360]
    0051c740movz x1, 9
    0051c744str x1, [sp+368]
    0051c748bl runtime.convTstring
    0051c74cstr x0, [sp+400]
    0051c750mov x1, x0
    0051c754adrp x0, 0xd9000
    0051c758add x0, x0, 2944
    0051c75cbl runtime.gopanic
    0051c760
    0051c760loc_51c760:
    0051c760bl runtime.panicSliceBU
    0051c764
    0051c764loc_51c764:
    0051c764movz x2, 144
    0051c768bl runtime.panicSliceAlenU
    0051c76chint
    0051c770
    0051c770loc_51c770:
    0051c770str x0, [sp+72]
    0051c774mov x3, x30
    0051c778bl runtime.morestack_noctxt.abi0
    0051c77cldr x0, [sp+72]
    0051c780b 0x51c3b0
    0051c784udf 0
    0051c788udf 0
    0051c78cudf 0
    0051c3b0
    0051c790
    0051c790crypto/internal/fips140/sha512.blockGeneric: ; void crypto/internal/fips140/sha512.blockGeneric(crypto/internal/fips140/sha512.Digest * dig, struct []uint8 p)
    0051c790ldr x16, [x28+16]
    0051c794sub x17, sp, 784
    0051c798subs xzr, x17, x16
    0051c79cb.ls 0x51ce6c
    0051c7a0sub x20, sp, 912
    0051c7a4stp x29, x30, [x20-8]
    0051c7a8add sp, x20, 0
    0051c7acsub x29, sp, 8
    0051c7b0str x0, [sp+920]
    0051c7b4str x1, [sp+928]
    0051c7b8str x2, [sp+936]
    0051c7bcstr x3, [sp+944]
    0051c7c0add x20, sp, 24
    0051c7c4adr x27, 16
    0051c7c8stp x29, x27, [sp-24]
    0051c7ccsub x29, sp, 24
    0051c7d0bl fn_87c70
    0051c7d4sub x29, sp, 8
    0051c7d8ldr x2, [sp+920]
    0051c7dcldrsb x27, [x2]
    0051c7e0ldr x2, [x2]
    0051c7e4str x2, [sp+800]
    0051c7e8ldr x2, [sp+920]
    0051c7ecldrsb x27, [x2]
    0051c7f0ldr x2, [x2+8]
    0051c7f4str x2, [sp+792]
    0051c7f8ldr x2, [sp+920]
    0051c7fcldrsb x27, [x2]
    0051c800ldr x2, [x2+16]
    0051c804str x2, [sp+784]
    0051c808ldr x2, [sp+920]
    0051c80cldrsb x27, [x2]
    0051c810ldr x2, [x2+24]
    0051c814str x2, [sp+776]
    0051c818ldr x2, [sp+920]
    0051c81cldrsb x27, [x2]
    0051c820ldr x2, [x2+32]
    0051c824str x2, [sp+768]
    0051c828ldr x2, [sp+920]
    0051c82cldrsb x27, [x2]
    0051c830ldr x2, [x2+40]
    0051c834str x2, [sp+760]
    0051c838ldr x2, [sp+920]
    0051c83cldrsb x27, [x2]
    0051c840ldr x2, [x2+48]
    0051c844str x2, [sp+752]
    0051c848ldr x2, [sp+920]
    0051c84cldrsb x27, [x2]
    0051c850ldr x2, [x2+56]
    0051c854str x2, [sp+744]
    0051c858b 0x51c85c
    0051c85c
    0051c85cloc_51c85c:
    0051c85cldr x2, [sp+936]
    0051c860str x2, [sp+896]
    0051c864subs xzr, x2, 128
    0051c868b.ge 0x51c870
    0051c86cb 0x51c878
    0051c870
    0051c870loc_51c870:
    0051c870str xzr, [sp+736]
    0051c874b 0x51c904
    0051c878
    0051c878loc_51c878:
    0051c878ldr x0, [sp+920]
    0051c87cldrsb x27, [x0]
    0051c880ldr x1, [sp+800]
    0051c884str x1, [x0]
    0051c888ldr x0, [sp+920]
    0051c88cldrsb x27, [x0]
    0051c890ldr x1, [sp+792]
    0051c894str x1, [x0+8]
    0051c898ldr x0, [sp+920]
    0051c89cldrsb x27, [x0]
    0051c8a0ldr x1, [sp+784]
    0051c8a4str x1, [x0+16]
    0051c8a8ldr x0, [sp+920]
    0051c8acldrsb x27, [x0]
    0051c8b0ldr x1, [sp+776]
    0051c8b4str x1, [x0+24]
    0051c8b8ldr x0, [sp+920]
    0051c8bcldrsb x27, [x0]
    0051c8c0ldr x1, [sp+768]
    0051c8c4str x1, [x0+32]
    0051c8c8ldr x0, [sp+920]
    0051c8ccldrsb x27, [x0]
    0051c8d0ldr x1, [sp+760]
    0051c8d4str x1, [x0+40]
    0051c8d8ldr x0, [sp+920]
    0051c8dcldrsb x27, [x0]
    0051c8e0ldr x1, [sp+752]
    0051c8e4str x1, [x0+48]
    0051c8e8ldr x0, [sp+920]
    0051c8ecldrsb x27, [x0]
    0051c8f0ldr x1, [sp+744]
    0051c8f4str x1, [x0+56]
    0051c8f8ldp x29, x30, [sp-8]
    0051c8fcadd sp, sp, 912
    0051c900ret x30
    0051c904
    0051c904loc_51c904:
    0051c904ldr x2, [sp+736]
    0051c908subs xzr, x2, 16
    0051c90cb.lt 0x51c914
    0051c910b 0x51ca60
    0051c914
    0051c914loc_51c914:
    0051c914ldr x2, [sp+736]
    0051c918ubfm x0, x2, 61, 60
    0051c91cstr x0, [sp+712]
    0051c920ldr x1, [sp+936]
    0051c924ldr x3, [sp+928]
    0051c928subs xzr, x1, x2, lsl #3
    0051c92cb.hi 0x51c934
    0051c930b 0x51ce64
    0051c934
    0051c934loc_51c934:
    0051c934ldrb w2, [x3+x0]
    0051c938ubfm x2, x2, 8, 7
    0051c93cldr x1, [sp+936]
    0051c940ldr x3, [sp+928]
    0051c944add x4, x0, 1
    0051c948subs xzr, x1, x4
    0051c94cb.hi 0x51c954
    0051c950b 0x51ce5c
    0051c954
    0051c954loc_51c954:
    0051c954ldrb w3, [x3+x4]
    0051c958ubfm x3, x3, 16, 7
    0051c95corr x2, x2, x3
    0051c960ldr x1, [sp+936]
    0051c964ldr x3, [sp+928]
    0051c968add x4, x0, 2
    0051c96csubs xzr, x1, x4
    0051c970b.hi 0x51c978
    0051c974b 0x51ce54
    0051c978
    0051c978loc_51c978:
    0051c978ldrb w3, [x3+x4]
    0051c97cubfm x3, x3, 24, 7
    0051c980orr x2, x2, x3
    0051c984ldr x1, [sp+936]
    0051c988ldr x3, [sp+928]
    0051c98cadd x4, x0, 3
    0051c990subs xzr, x1, x4
    0051c994b.hi 0x51c99c
    0051c998b 0x51ce4c
    0051c99c
    0051c99cloc_51c99c:
    0051c99cldrb w3, [x3+x4]
    0051c9a0ubfm x3, x3, 32, 7
    0051c9a4orr x2, x2, x3
    0051c9a8ldr x1, [sp+936]
    0051c9acldr x3, [sp+928]
    0051c9b0add x4, x0, 4
    0051c9b4subs xzr, x1, x4
    0051c9b8b.hi 0x51c9c0
    0051c9bcb 0x51ce44
    0051c9c0
    0051c9c0loc_51c9c0:
    0051c9c0ldrb w3, [x3+x4]
    0051c9c4ubfm x3, x3, 40, 7
    0051c9c8orr x2, x2, x3
    0051c9ccldr x1, [sp+936]
    0051c9d0ldr x3, [sp+928]
    0051c9d4add x4, x0, 5
    0051c9d8subs xzr, x1, x4
    0051c9dcb.hi 0x51c9e4
    0051c9e0b 0x51ce3c
    0051c9e4
    0051c9e4loc_51c9e4:
    0051c9e4ldrb w3, [x3+x4]
    0051c9e8ubfm x3, x3, 48, 7
    0051c9ecorr x2, x2, x3
    0051c9f0ldr x1, [sp+936]
    0051c9f4ldr x3, [sp+928]
    0051c9f8add x4, x0, 6
    0051c9fcsubs xzr, x1, x4
    0051ca00b.hi 0x51ca08
    0051ca04b 0x51ce34
    0051ca08
    0051ca08loc_51ca08:
    0051ca08ldrb w3, [x3+x4]
    0051ca0cubfm x3, x3, 56, 7
    0051ca10orr x2, x2, x3
    0051ca14ldr x1, [sp+936]
    0051ca18ldr x3, [sp+928]
    0051ca1cadd x0, x0, 7
    0051ca20subs xzr, x1, x0
    0051ca24b.hi 0x51ca2c
    0051ca28b 0x51ce30
    0051ca2c
    0051ca2cloc_51ca2c:
    0051ca2cldr x4, [sp+736]
    0051ca30ldrb w3, [x3+x0]
    0051ca34orr x2, x2, x3
    0051ca38subs xzr, x4, 80
    0051ca3cb.lo 0x51ca44
    0051ca40b 0x51ce24
    0051ca44
    0051ca44loc_51ca44:
    0051ca44add x3, sp, 24
    0051ca48str x2, [x3+3*x4]
    0051ca4cb 0x51ca50
    0051ca50
    0051ca50loc_51ca50:
    0051ca50ldr x2, [sp+736]
    0051ca54add x2, x2, 1
    0051ca58str x2, [sp+736]
    0051ca5cb 0x51c904
    0051ca60
    0051ca60loc_51ca60:
    0051ca60orr x2, xzr, 16
    0051ca64str x2, [sp+728]
    0051ca68b 0x51ca6c
    0051ca6c
    0051ca6cloc_51ca6c:
    0051ca6cldr x3, [sp+728]
    0051ca70subs xzr, x3, 80
    0051ca74b.lt 0x51ca7c
    0051ca78b 0x51cb68
    0051ca7c
    0051ca7cloc_51ca7c:
    0051ca7cldr x3, [sp+728]
    0051ca80sub x0, x3, 2
    0051ca84subs xzr, x0, 80
    0051ca88b.lo 0x51ca90
    0051ca8cb 0x51ce1c
    0051ca90
    0051ca90loc_51ca90:
    0051ca90add x3, sp, 24
    0051ca94ldr x3, [x3+3*x0]
    0051ca98str x3, [sp+672]
    0051ca9cextr x4, x3, x3, 19
    0051caa0str x4, [sp+888]
    0051caa4eor x4, x4, x3, ror #61
    0051caa8extr x5, x3, x3, 61
    0051caacstr x5, [sp+880]
    0051cab0eor x3, x4, x3, lsr #6
    0051cab4str x3, [sp+704]
    0051cab8ldr x3, [sp+728]
    0051cabcsub x0, x3, 15
    0051cac0subs xzr, x0, 80
    0051cac4b.lo 0x51cacc
    0051cac8b 0x51ce14
    0051cacc
    0051caccloc_51cacc:
    0051caccadd x3, sp, 24
    0051cad0ldr x3, [x3+3*x0]
    0051cad4str x3, [sp+664]
    0051cad8extr x4, x3, x3, 1
    0051cadcstr x4, [sp+880]
    0051cae0eor x4, x4, x3, ror #8
    0051cae4extr x5, x3, x3, 8
    0051cae8str x5, [sp+888]
    0051caeceor x3, x4, x3, lsr #7
    0051caf0str x3, [sp+688]
    0051caf4ldr x4, [sp+704]
    0051caf8ldr x5, [sp+728]
    0051cafcsub x0, x5, 7
    0051cb00subs xzr, x0, 80
    0051cb04b.lo 0x51cb0c
    0051cb08b 0x51ce0c
    0051cb0c
    0051cb0cloc_51cb0c:
    0051cb0cadd x5, sp, 24
    0051cb10ldr x5, [x5+3*x0]
    0051cb14add x4, x4, x5
    0051cb18add x3, x4, x3
    0051cb1cldr x4, [sp+728]
    0051cb20sub x0, x4, 16
    0051cb24subs xzr, x0, 80
    0051cb28b.lo 0x51cb30
    0051cb2cb 0x51ce04
    0051cb30
    0051cb30loc_51cb30:
    0051cb30ldr x4, [sp+728]
    0051cb34add x5, sp, 24
    0051cb38ldr x5, [x5+3*x0]
    0051cb3cadd x3, x3, x5
    0051cb40subs xzr, x4, 80
    0051cb44b.lo 0x51cb4c
    0051cb48b 0x51cdf8
    0051cb4c
    0051cb4cloc_51cb4c:
    0051cb4cadd x5, sp, 24
    0051cb50str x3, [x5+3*x4]
    0051cb54b 0x51cb58
    0051cb58
    0051cb58loc_51cb58:
    0051cb58ldr x3, [sp+728]
    0051cb5cadd x3, x3, 1
    0051cb60str x3, [sp+728]
    0051cb64b 0x51ca6c
    0051cb68
    0051cb68loc_51cb68:
    0051cb68ldr x3, [sp+800]
    0051cb6cstr x3, [sp+864]
    0051cb70ldr x3, [sp+792]
    0051cb74str x3, [sp+856]
    0051cb78ldr x3, [sp+784]
    0051cb7cstr x3, [sp+848]
    0051cb80ldr x3, [sp+776]
    0051cb84str x3, [sp+840]
    0051cb88ldr x3, [sp+768]
    0051cb8cstr x3, [sp+832]
    0051cb90ldr x3, [sp+760]
    0051cb94str x3, [sp+824]
    0051cb98ldr x3, [sp+752]
    0051cb9cstr x3, [sp+816]
    0051cba0ldr x3, [sp+744]
    0051cba4str x3, [sp+808]
    0051cba8str xzr, [sp+720]
    0051cbacb 0x51cbb0
    0051cbb0
    0051cbb0loc_51cbb0:
    0051cbb0ldr x3, [sp+720]
    0051cbb4subs xzr, x3, 80
    0051cbb8b.lt 0x51cbc0
    0051cbbcb 0x51cd18
    0051cbc0
    0051cbc0loc_51cbc0:
    0051cbc0ldr x3, [sp+832]
    0051cbc4extr x3, x3, x3, 14
    0051cbc8str x3, [sp+888]
    0051cbccldr x4, [sp+832]
    0051cbd0eor x3, x3, x4, ror #18
    0051cbd4extr x4, x4, x4, 18
    0051cbd8str x4, [sp+880]
    0051cbdcldr x4, [sp+832]
    0051cbe0eor x3, x3, x4, ror #41
    0051cbe4extr x4, x4, x4, 41
    0051cbe8str x4, [sp+872]
    0051cbecldr x4, [sp+808]
    0051cbf0add x3, x4, x3
    0051cbf4ldr x4, [sp+832]
    0051cbf8ldr x5, [sp+824]
    0051cbfcand x4, x4, x5
    0051cc00ldr x5, [sp+832]
    0051cc04ldr x6, [sp+816]
    0051cc08bic x5, x6, x5
    0051cc0ceor x4, x4, x5
    0051cc10add x3, x3, x4
    0051cc14ldr x0, [sp+720]
    0051cc18subs xzr, x0, 80
    0051cc1cb.lo 0x51cc24
    0051cc20b 0x51cdf0
    0051cc24
    0051cc24loc_51cc24:
    0051cc24adrp x4, 0x4d9000
    0051cc28add x4, x4, 1312
    0051cc2cldr x4, [x4+3*x0]
    0051cc30add x3, x3, x4
    0051cc34ldr x0, [sp+720]
    0051cc38subs xzr, x0, 80
    0051cc3cb.lo 0x51cc44
    0051cc40b 0x51cde8
    0051cc44
    0051cc44loc_51cc44:
    0051cc44add x4, sp, 24
    0051cc48ldr x4, [x4+3*x0]
    0051cc4cadd x3, x3, x4
    0051cc50str x3, [sp+696]
    0051cc54ldr x3, [sp+864]
    0051cc58extr x3, x3, x3, 28
    0051cc5cstr x3, [sp+872]
    0051cc60ldr x4, [sp+864]
    0051cc64eor x3, x3, x4, ror #34
    0051cc68extr x4, x4, x4, 34
    0051cc6cstr x4, [sp+880]
    0051cc70ldr x4, [sp+864]
    0051cc74eor x3, x3, x4, ror #39
    0051cc78extr x4, x4, x4, 39
    0051cc7cstr x4, [sp+888]
    0051cc80ldr x4, [sp+864]
    0051cc84ldr x5, [sp+856]
    0051cc88and x4, x4, x5
    0051cc8cldr x5, [sp+864]
    0051cc90ldr x6, [sp+848]
    0051cc94and x5, x5, x6
    0051cc98eor x4, x4, x5
    0051cc9cldr x5, [sp+856]
    0051cca0ldr x6, [sp+848]
    0051cca4and x5, x5, x6
    0051cca8eor x4, x4, x5
    0051ccacadd x3, x3, x4
    0051ccb0str x3, [sp+680]
    0051ccb4ldr x3, [sp+816]
    0051ccb8str x3, [sp+808]
    0051ccbcldr x3, [sp+824]
    0051ccc0str x3, [sp+816]
    0051ccc4ldr x3, [sp+832]
    0051ccc8str x3, [sp+824]
    0051ccccldr x3, [sp+696]
    0051ccd0ldr x4, [sp+840]
    0051ccd4add x3, x4, x3
    0051ccd8str x3, [sp+832]
    0051ccdcldr x3, [sp+848]
    0051cce0str x3, [sp+840]
    0051cce4ldr x3, [sp+856]
    0051cce8str x3, [sp+848]
    0051ccecldr x3, [sp+864]
    0051ccf0str x3, [sp+856]
    0051ccf4ldr x3, [sp+680]
    0051ccf8ldr x4, [sp+696]
    0051ccfcadd x3, x4, x3
    0051cd00str x3, [sp+864]
    0051cd04b 0x51cd08
    0051cd08
    0051cd08loc_51cd08:
    0051cd08ldr x3, [sp+720]
    0051cd0cadd x3, x3, 1
    0051cd10str x3, [sp+720]
    0051cd14b 0x51cbb0
    0051cd18
    0051cd18loc_51cd18:
    0051cd18ldr x3, [sp+864]
    0051cd1cldr x4, [sp+800]
    0051cd20add x3, x4, x3
    0051cd24str x3, [sp+800]
    0051cd28ldr x3, [sp+856]
    0051cd2cldr x4, [sp+792]
    0051cd30add x3, x4, x3
    0051cd34str x3, [sp+792]
    0051cd38ldr x3, [sp+848]
    0051cd3cldr x4, [sp+784]
    0051cd40add x3, x4, x3
    0051cd44str x3, [sp+784]
    0051cd48ldr x3, [sp+840]
    0051cd4cldr x4, [sp+776]
    0051cd50add x3, x4, x3
    0051cd54str x3, [sp+776]
    0051cd58ldr x3, [sp+832]
    0051cd5cldr x4, [sp+768]
    0051cd60add x3, x4, x3
    0051cd64str x3, [sp+768]
    0051cd68ldr x3, [sp+824]
    0051cd6cldr x4, [sp+760]
    0051cd70add x3, x4, x3
    0051cd74str x3, [sp+760]
    0051cd78ldr x3, [sp+816]
    0051cd7cldr x4, [sp+752]
    0051cd80add x3, x4, x3
    0051cd84str x3, [sp+752]
    0051cd88ldr x3, [sp+808]
    0051cd8cldr x4, [sp+744]
    0051cd90add x3, x4, x3
    0051cd94str x3, [sp+744]
    0051cd98ldr x1, [sp+936]
    0051cd9cldr x3, [sp+928]
    0051cda0ldr x4, [sp+944]
    0051cda4b 0x51cda8
    0051cda8
    0051cda8loc_51cda8:
    0051cda8subs xzr, x1, 128
    0051cdacb.hs 0x51cdb4
    0051cdb0b 0x51cde0
    0051cdb4
    0051cdb4loc_51cdb4:
    0051cdb4sub x4, x4, 128
    0051cdb8sub x5, xzr, x4
    0051cdbcsbfm x5, x5, 63, 63
    0051cdc0sub x6, x1, 128
    0051cdc4and x5, x5, 128
    0051cdc8add x3, x3, x5
    0051cdccstr x3, [sp+928]
    0051cdd0str x6, [sp+936]
    0051cdd4str x4, [sp+944]
    0051cdd8b 0x51cddc
    0051cddc
    0051cddcloc_51cddc:
    0051cddcb 0x51c85c
    0051cde0
    0051cde0loc_51cde0:
    0051cde0orr x0, xzr, 128
    0051cde4bl runtime.panicSliceB
    0051cde8
    0051cde8loc_51cde8:
    0051cde8movz x1, 80
    0051cdecbl runtime.panicIndex
    0051cdf0
    0051cdf0loc_51cdf0:
    0051cdf0movz x1, 80
    0051cdf4bl runtime.panicIndex
    0051cdf8
    0051cdf8loc_51cdf8:
    0051cdf8mov x0, x4
    0051cdfcmovz x1, 80
    0051ce00bl runtime.panicIndex
    0051ce04
    0051ce04loc_51ce04:
    0051ce04movz x1, 80
    0051ce08bl runtime.panicIndex
    0051ce0c
    0051ce0cloc_51ce0c:
    0051ce0cmovz x1, 80
    0051ce10bl runtime.panicIndex
    0051ce14
    0051ce14loc_51ce14:
    0051ce14movz x1, 80
    0051ce18bl runtime.panicIndex
    0051ce1c
    0051ce1cloc_51ce1c:
    0051ce1cmovz x1, 80
    0051ce20bl runtime.panicIndex
    0051ce24
    0051ce24loc_51ce24:
    0051ce24mov x0, x4
    0051ce28movz x1, 80
    0051ce2cbl runtime.panicIndex
    0051ce30
    0051ce30loc_51ce30:
    0051ce30bl runtime.panicIndex
    0051ce34
    0051ce34loc_51ce34:
    0051ce34mov x0, x4
    0051ce38bl runtime.panicIndex
    0051ce3c
    0051ce3cloc_51ce3c:
    0051ce3cmov x0, x4
    0051ce40bl runtime.panicIndex
    0051ce44
    0051ce44loc_51ce44:
    0051ce44mov x0, x4
    0051ce48bl runtime.panicIndex
    0051ce4c
    0051ce4cloc_51ce4c:
    0051ce4cmov x0, x4
    0051ce50bl runtime.panicIndex
    0051ce54
    0051ce54loc_51ce54:
    0051ce54mov x0, x4
    0051ce58bl runtime.panicIndex
    0051ce5c
    0051ce5cloc_51ce5c:
    0051ce5cmov x0, x4
    0051ce60bl runtime.panicIndex
    0051ce64
    0051ce64loc_51ce64:
    0051ce64bl runtime.panicIndex
    0051ce68hint
    0051ce6c
    0051ce6cloc_51ce6c:
    0051ce6cstp x0, x1, [sp+8]
    0051ce70stp x2, x3, [sp+24]
    0051ce74mov x3, x30
    0051ce78bl runtime.morestack_noctxt.abi0
    0051ce7cldp x0, x1, [sp+8]
    0051ce80ldp x2, x3, [sp+24]
    0051ce84b 0x51c790
    0051ce88udf 0
    0051ce8cudf 0
    0051c790