File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00587ee0
    00587ee0crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8]: ; void crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8](uintptr[3] * dict, int64_t hash, struct []uint8 entropy, struct []uint8 nonce, crypto/internal/fips140/ecdsa.personalizationString s)
    00587ee0ldr x16, [x28+16]
    00587ee4sub x17, sp, 608
    00587ee8subs xzr, x17, x16
    00587eecb.ls 0x5888b4
    00587ef0sub x20, sp, 736
    00587ef4stp x29, x30, [x20-8]
    00587ef8add sp, x20, 0
    00587efcsub x29, sp, 8
    00587f00str x0, [sp+744]
    00587f04str x1, [sp+752]
    00587f08str x2, [sp+760]
    00587f0cstr x3, [sp+768]
    00587f10str x4, [sp+776]
    00587f14str x5, [sp+784]
    00587f18str x6, [sp+792]
    00587f1cstr x7, [sp+800]
    00587f20str x8, [sp+808]
    00587f24str x9, [sp+816]
    00587f28str xzr, [sp+168]
    00587f2cbl crypto/internal/fips140.RecordApproved
    00587f30adrp x0, 0xe1000
    00587f34add x0, x0, 2336
    00587f38bl runtime.newobject
    00587f3cstr x0, [sp+640]
    00587f40adrp x27, 0x4c4000
    00587f44ldr w1, [x27+3056]
    00587f48cbz w1, 0x587f50
    00587f4cb 0x587f54
    00587f50
    00587f50loc_587f50:
    00587f50b 0x587f70
    00587f54
    00587f54loc_587f54:
    00587f54str x0, [sp+360]
    00587f58mov x1, x0
    00587f5cadrp x0, 0xe1000
    00587f60add x0, x0, 2336
    00587f64bl runtime.wbZero
    00587f68ldr x0, [sp+360]
    00587f6cb 0x587f70
    00587f70
    00587f70loc_587f70:
    00587f70stp xzr, xzr, [x0]
    00587f74stp xzr, xzr, [x0+16]
    00587f78stp xzr, xzr, [x0+32]
    00587f7cadrp x0, 0xc6000
    00587f80add x0, x0, 1984
    00587f84bl runtime.newobject
    00587f88str x0, [sp+632]
    00587f8cadrp x1, 4096
    00587f90add x1, x1, 2288
    00587f94str x1, [x0]
    00587f98ldr x1, [sp+752]
    00587f9cldr x2, [sp+632]
    00587fa0ldrsb x27, [x2]
    00587fa4adrp x27, 0x4c4000
    00587fa8ldr w3, [x27+3056]
    00587faccbz w3, 0x587fb4
    00587fb0b 0x587fb8
    00587fb4
    00587fb4loc_587fb4:
    00587fb4b 0x587fcc
    00587fb8
    00587fb8loc_587fb8:
    00587fb8bl runtime.gcWriteBarrier2
    00587fbcstr x1, [x25]
    00587fc0ldr x0, [x2+8]
    00587fc4str x0, [x25+8]
    00587fc8b 0x587fcc
    00587fcc
    00587fccloc_587fcc:
    00587fccstr x1, [x2+8]
    00587fd0ldr x0, [sp+744]
    00587fd4ldr x1, [sp+632]
    00587fd8ldrsb x27, [x1]
    00587fdcadrp x27, 0x4c4000
    00587fe0ldr w2, [x27+3056]
    00587fe4cbz w2, 0x587fec
    00587fe8b 0x587ff0
    00587fec
    00587fecloc_587fec:
    00587fecb 0x588004
    00587ff0
    00587ff0loc_587ff0:
    00587ff0bl runtime.gcWriteBarrier2
    00587ff4str x0, [x25]
    00587ff8ldr x2, [x1+16]
    00587ffcstr x2, [x25+8]
    00588000b 0x588004
    00588004
    00588004loc_588004:
    00588004str x0, [x1+16]
    00588008ldr x0, [sp+640]
    0058800cldrsb x27, [x0]
    00588010ldr x1, [sp+632]
    00588014adrp x27, 0x4c3000
    00588018ldr w2, [x27+3056]
    0058801ccbz w2, 0x588024
    00588020b 0x588028
    00588024
    00588024loc_588024:
    00588024b 0x58803c
    00588028
    00588028loc_588028:
    00588028bl runtime.gcWriteBarrier2
    0058802cstr x1, [x25]
    00588030ldr x2, [x0]
    00588034str x2, [x25+8]
    00588038b 0x58803c
    0058803c
    0058803cloc_58803c:
    0058803cstr x1, [x0]
    00588040ldr x0, [sp+640]
    00588044str x0, [sp+280]
    00588048ldr x26, [sp+752]
    0058804cldr x0, [x26]
    00588050blr x0
    00588054str x0, [sp+720]
    00588058ldr x26, [sp+744]
    0058805cldrsb x27, [x26]
    00588060ldr x1, [x26]
    00588064blr x1
    00588068str x0, [sp+72]
    0058806cmov x1, x0
    00588070mov x2, x1
    00588074adrp x0, 0x6d000
    00588078add x0, x0, 3072
    0058807cbl runtime.makeslice
    00588080ldr x1, [sp+72]
    00588084ldr x2, [sp+72]
    00588088str x0, [sp+336]
    0058808cstr x1, [sp+344]
    00588090str x2, [sp+352]
    00588094strb wzr, [sp+63]
    00588098add x0, sp, 63
    0058809cstr x0, [sp+600]
    005880a0ldrsb x27, [x0]
    005880a4orr x1, xzr, 1
    005880a8strb w1, [x0]
    005880acldr x0, [sp+600]
    005880b0ldrsb x27, [x0]
    005880b4b 0x5880b8
    005880b8
    005880b8loc_5880b8:
    005880b8str x0, [sp+608]
    005880bcorr x2, xzr, 1
    005880c0str x2, [sp+616]
    005880c4str x2, [sp+624]
    005880c8ldr x3, [sp+72]
    005880ccmov x1, x2
    005880d0bl bytes.Repeat
    005880d4str x0, [sp+696]
    005880d8str x1, [sp+704]
    005880dcstr x2, [sp+712]
    005880e0ldr x4, [sp+280]
    005880e4ldrsb x27, [x4]
    005880e8str x1, [x4+24]
    005880ecstr x2, [x4+32]
    005880f0adrp x27, 0x4c3000
    005880f4ldr w5, [x27+3056]
    005880f8cbz w5, 0x588100
    005880fcb 0x588104
    00588100
    00588100loc_588100:
    00588100b 0x588118
    00588104
    00588104loc_588104:
    00588104bl runtime.gcWriteBarrier2
    00588108str x0, [x25]
    0058810cldr x5, [x4+16]
    00588110str x5, [x25+8]
    00588114b 0x588118
    00588118
    00588118loc_588118:
    00588118str x0, [x4+16]
    0058811cldr x5, [sp+744]
    00588120ldrsb x27, [x5]
    00588124ldr x0, [x5+8]
    00588128str x0, [sp+592]
    0058812cldr x2, [sp+336]
    00588130ldr x1, [sp+752]
    00588134ldr x3, [sp+344]
    00588138ldr x4, [sp+352]
    0058813cbl crypto/internal/fips140/hmac.New[go.shape.*uint8]
    00588140str x0, [sp+272]
    00588144ldr x5, [sp+280]
    00588148ldrsb x27, [x5]
    0058814cldr x1, [x5+16]
    00588150ldr x2, [x5+24]
    00588154ldr x3, [x5+32]
    00588158str x1, [sp+568]
    0058815cstr x2, [sp+576]
    00588160str x3, [sp+584]
    00588164ldr x0, [sp+272]
    00588168bl crypto/internal/fips140/hmac.(*HMAC).Write
    0058816cadrp x0, 0x75000
    00588170add x0, x0, 2432
    00588174bl runtime.newobject
    00588178str x0, [sp+536]
    0058817cstrb wzr, [x0]
    00588180ldr x1, [sp+536]
    00588184ldrsb x27, [x1]
    00588188b 0x58818c
    0058818c
    0058818cloc_58818c:
    0058818cstr x1, [sp+544]
    00588190orr x3, xzr, 1
    00588194str x3, [sp+552]
    00588198str x3, [sp+560]
    0058819cldr x0, [sp+272]
    005881a0mov x2, x3
    005881a4bl crypto/internal/fips140/hmac.(*HMAC).Write
    005881a8ldr x1, [sp+760]
    005881acldr x2, [sp+768]
    005881b0ldr x3, [sp+776]
    005881b4ldr x0, [sp+272]
    005881b8bl crypto/internal/fips140/hmac.(*HMAC).Write
    005881bcldr x1, [sp+784]
    005881c0ldr x2, [sp+792]
    005881c4ldr x3, [sp+800]
    005881c8ldr x0, [sp+272]
    005881ccbl crypto/internal/fips140/hmac.(*HMAC).Write
    005881d0ldr x4, [sp+816]
    005881d4ldr x5, [sp+808]
    005881d8str x5, [sp+520]
    005881dcstr x4, [sp+528]
    005881e0cbnz x5, 0x5881e8
    005881e4b 0x58833c
    005881e8
    005881e8loc_5881e8:
    005881e8ldr w4, [x5+16]
    005881ecstr w4, [sp+68]
    005881f0movz x5, 18868
    005881f4movk x5, 0x65c0000
    005881f8subs wzr, w4, w5
    005881fcb.eq 0x588204
    00588200b 0x588268
    00588204
    00588204loc_588204:
    00588204ldr x4, [sp+520]
    00588208adrp x5, 0x18e000
    0058820cadd x5, x5, 768
    00588210subs xzr, x4, x5
    00588214b.eq 0x58821c
    00588218b 0x588224
    0058821c
    0058821cloc_58821c:
    0058821corr x0, xzr, 1
    00588220b 0x58822c
    00588224
    00588224loc_588224:
    00588224mov x0, xzr
    00588228b 0x58822c
    0058822c
    0058822cloc_58822c:
    0058822cstrb w0, [sp+62]
    00588230tbnz w0, 0, 0x588238
    00588234b 0x588264
    00588238
    00588238loc_588238:
    00588238b 0x58823c
    0058823c
    0058823cloc_58823c:
    0058823cldr x4, [sp+528]
    00588240ldr x1, [x4]
    00588244ldr x2, [x4+8]
    00588248ldr x3, [x4+16]
    0058824cstr x1, [sp+248]
    00588250str x2, [sp+256]
    00588254str x3, [sp+264]
    00588258ldr x0, [sp+272]
    0058825cbl crypto/internal/fips140/hmac.(*HMAC).Write
    00588260b 0x588340
    00588264
    00588264loc_588264:
    00588264b 0x588338
    00588268
    00588268loc_588268:
    00588268movz x5, 51315
    0058826cmovk x5, 0x11760000
    00588270subs wzr, w4, w5
    00588274b.eq 0x58827c
    00588278b 0x588330
    0058827c
    0058827cloc_58827c:
    0058827cldr x4, [sp+520]
    00588280adrp x5, 0x18e000
    00588284add x5, x5, 800
    00588288subs xzr, x4, x5
    0058828cb.eq 0x588294
    00588290b 0x58829c
    00588294
    00588294loc_588294:
    00588294orr x0, xzr, 1
    00588298b 0x5882a4
    0058829c
    0058829cloc_58829c:
    0058829cmov x0, xzr
    005882a0b 0x5882a4
    005882a4
    005882a4loc_5882a4:
    005882a4strb w0, [sp+62]
    005882a8tbnz w0, 0, 0x5882b0
    005882acb 0x58832c
    005882b0
    005882b0loc_5882b0:
    005882b0b 0x5882b4
    005882b4
    005882b4loc_5882b4:
    005882b4ldr x4, [sp+528]
    005882b8ldr x5, [x4]
    005882bcldr x6, [x4+8]
    005882c0ldr x4, [x4+16]
    005882c4str x5, [sp+224]
    005882c8str x6, [sp+232]
    005882ccstr x4, [sp+240]
    005882d0ldr x4, [sp+280]
    005882d4ldrsb x27, [x4]
    005882d8ldr x4, [x4+24]
    005882dcstr x4, [sp+160]
    005882e0ldr x5, [sp+768]
    005882e4str x5, [sp+152]
    005882e8add x4, x4, x5
    005882ecldr x5, [sp+792]
    005882f0str x5, [sp+144]
    005882f4add x4, x4, x5
    005882f8add x4, x4, 1
    005882fcstr x4, [sp+88]
    00588300ldr x4, [sp+232]
    00588304ldr x5, [sp+224]
    00588308ldr x6, [sp+240]
    0058830cstr x5, [sp+672]
    00588310str x4, [sp+680]
    00588314str x6, [sp+688]
    00588318str xzr, [sp+136]
    0058831cstr x4, [sp+128]
    00588320ldr x4, [sp+672]
    00588324str x4, [sp+120]
    00588328b 0x588830
    0058832c
    0058832cloc_58832c:
    0058832cb 0x588334
    00588330
    00588330loc_588330:
    00588330b 0x588334
    00588334
    00588334loc_588334:
    00588334b 0x588338
    00588338
    00588338loc_588338:
    00588338b 0x588340
    0058833c
    0058833cloc_58833c:
    0058833cb 0x588340
    00588340
    00588340loc_588340:
    00588340ldr x1, [sp+336]
    00588344ldr x3, [sp+352]
    00588348b 0x58834c
    0058834c
    0058834cloc_58834c:
    0058834cb 0x588350
    00588350
    00588350loc_588350:
    00588350str x1, [sp+696]
    00588354str xzr, [sp+704]
    00588358str x3, [sp+712]
    0058835cldr x0, [sp+272]
    00588360mov x2, xzr
    00588364bl crypto/internal/fips140/hmac.(*HMAC).Sum
    00588368str x0, [sp+336]
    0058836cstr x1, [sp+344]
    00588370str x2, [sp+352]
    00588374ldr x4, [sp+744]
    00588378ldrsb x27, [x4]
    0058837cldr x0, [x4+8]
    00588380str x0, [sp+504]
    00588384ldr x2, [sp+336]
    00588388ldr x1, [sp+752]
    0058838cldr x3, [sp+344]
    00588390ldr x4, [sp+352]
    00588394bl crypto/internal/fips140/hmac.New[go.shape.*uint8]
    00588398str x0, [sp+272]
    0058839cldr x4, [sp+280]
    005883a0ldrsb x27, [x4]
    005883a4ldr x1, [x4+16]
    005883a8ldr x2, [x4+24]
    005883acldr x3, [x4+32]
    005883b0str x1, [sp+480]
    005883b4str x2, [sp+488]
    005883b8str x3, [sp+496]
    005883bcldr x0, [sp+272]
    005883c0bl crypto/internal/fips140/hmac.(*HMAC).Write
    005883c4ldr x4, [sp+280]
    005883c8ldrsb x27, [x4]
    005883ccldr x1, [x4+16]
    005883d0ldr x3, [x4+32]
    005883d4b 0x5883d8
    005883d8
    005883d8loc_5883d8:
    005883d8b 0x5883dc
    005883dc
    005883dcloc_5883dc:
    005883dcstr x1, [sp+696]
    005883e0str xzr, [sp+704]
    005883e4str x3, [sp+712]
    005883e8ldr x0, [sp+272]
    005883ecmov x2, xzr
    005883f0bl crypto/internal/fips140/hmac.(*HMAC).Sum
    005883f4str x0, [sp+648]
    005883f8str x1, [sp+656]
    005883fcstr x2, [sp+664]
    00588400ldr x4, [sp+280]
    00588404ldrsb x27, [x4]
    00588408str x1, [x4+24]
    0058840cstr x2, [x4+32]
    00588410adrp x27, 0x4c3000
    00588414ldr w5, [x27+3056]
    00588418cbz w5, 0x588420
    0058841cb 0x588424
    00588420
    00588420loc_588420:
    00588420b 0x588438
    00588424
    00588424loc_588424:
    00588424bl runtime.gcWriteBarrier2
    00588428str x0, [x25]
    0058842cldr x1, [x4+16]
    00588430str x1, [x25+8]
    00588434b 0x588438
    00588438
    00588438loc_588438:
    00588438str x0, [x4+16]
    0058843cldr x0, [sp+272]
    00588440bl crypto/internal/fips140/hmac.(*HMAC).Reset
    00588444ldr x1, [sp+280]
    00588448ldrsb x27, [x1]
    0058844cldr x2, [x1+16]
    00588450ldr x3, [x1+24]
    00588454ldr x1, [x1+32]
    00588458str x2, [sp+456]
    0058845cstr x3, [sp+464]
    00588460str x1, [sp+472]
    00588464ldr x0, [sp+272]
    00588468mov x4, x1
    0058846cmov x1, x2
    00588470mov x2, x3
    00588474mov x3, x4
    00588478bl crypto/internal/fips140/hmac.(*HMAC).Write
    0058847cadrp x0, 0x75000
    00588480add x0, x0, 2432
    00588484bl runtime.newobject
    00588488str x0, [sp+424]
    0058848corr x1, xzr, 1
    00588490strb w1, [x0]
    00588494ldr x1, [sp+424]
    00588498ldrsb x27, [x1]
    0058849cb 0x5884a0
    005884a0
    005884a0loc_5884a0:
    005884a0str x1, [sp+432]
    005884a4orr x3, xzr, 1
    005884a8str x3, [sp+440]
    005884acstr x3, [sp+448]
    005884b0ldr x0, [sp+272]
    005884b4mov x2, x3
    005884b8bl crypto/internal/fips140/hmac.(*HMAC).Write
    005884bcldr x1, [sp+760]
    005884c0ldr x2, [sp+768]
    005884c4ldr x3, [sp+776]
    005884c8ldr x0, [sp+272]
    005884ccbl crypto/internal/fips140/hmac.(*HMAC).Write
    005884d0ldr x1, [sp+784]
    005884d4ldr x2, [sp+792]
    005884d8ldr x3, [sp+800]
    005884dcldr x0, [sp+272]
    005884e0bl crypto/internal/fips140/hmac.(*HMAC).Write
    005884e4ldr x4, [sp+816]
    005884e8ldr x5, [sp+808]
    005884ecstr x5, [sp+408]
    005884f0str x4, [sp+416]
    005884f4cbnz x5, 0x5884fc
    005884f8b 0x588650
    005884fc
    005884fcloc_5884fc:
    005884fcldr w4, [x5+16]
    00588500str w4, [sp+64]
    00588504movz x5, 18868
    00588508movk x5, 0x65c0000
    0058850csubs wzr, w4, w5
    00588510b.eq 0x588518
    00588514b 0x58857c
    00588518
    00588518loc_588518:
    00588518ldr x4, [sp+408]
    0058851cadrp x5, 0x18e000
    00588520add x5, x5, 768
    00588524subs xzr, x4, x5
    00588528b.eq 0x588530
    0058852cb 0x588538
    00588530
    00588530loc_588530:
    00588530orr x0, xzr, 1
    00588534b 0x588540
    00588538
    00588538loc_588538:
    00588538mov x0, xzr
    0058853cb 0x588540
    00588540
    00588540loc_588540:
    00588540strb w0, [sp+61]
    00588544tbnz w0, 0, 0x58854c
    00588548b 0x588578
    0058854c
    0058854cloc_58854c:
    0058854cb 0x588550
    00588550
    00588550loc_588550:
    00588550ldr x4, [sp+416]
    00588554ldr x1, [x4]
    00588558ldr x2, [x4+8]
    0058855cldr x3, [x4+16]
    00588560str x1, [sp+200]
    00588564str x2, [sp+208]
    00588568str x3, [sp+216]
    0058856cldr x0, [sp+272]
    00588570bl crypto/internal/fips140/hmac.(*HMAC).Write
    00588574b 0x588654
    00588578
    00588578loc_588578:
    00588578b 0x58864c
    0058857c
    0058857cloc_58857c:
    0058857cmovz x5, 51315
    00588580movk x5, 0x11760000
    00588584subs wzr, w4, w5
    00588588b.eq 0x588590
    0058858cb 0x588644
    00588590
    00588590loc_588590:
    00588590ldr x4, [sp+408]
    00588594adrp x5, 0x18e000
    00588598add x5, x5, 800
    0058859csubs xzr, x4, x5
    005885a0b.eq 0x5885a8
    005885a4b 0x5885b0
    005885a8
    005885a8loc_5885a8:
    005885a8orr x0, xzr, 1
    005885acb 0x5885b8
    005885b0
    005885b0loc_5885b0:
    005885b0mov x0, xzr
    005885b4b 0x5885b8
    005885b8
    005885b8loc_5885b8:
    005885b8strb w0, [sp+61]
    005885bctbnz w0, 0, 0x5885c4
    005885c0b 0x588640
    005885c4
    005885c4loc_5885c4:
    005885c4b 0x5885c8
    005885c8
    005885c8loc_5885c8:
    005885c8ldr x4, [sp+416]
    005885ccldr x5, [x4]
    005885d0ldr x6, [x4+8]
    005885d4ldr x4, [x4+16]
    005885d8str x5, [sp+176]
    005885dcstr x6, [sp+184]
    005885e0str x4, [sp+192]
    005885e4ldr x4, [sp+280]
    005885e8ldrsb x27, [x4]
    005885ecldr x4, [x4+24]
    005885f0str x4, [sp+144]
    005885f4ldr x5, [sp+768]
    005885f8str x5, [sp+152]
    005885fcadd x4, x4, x5
    00588600ldr x5, [sp+792]
    00588604str x5, [sp+160]
    00588608add x4, x4, x5
    0058860cadd x4, x4, 1
    00588610str x4, [sp+80]
    00588614ldr x4, [sp+184]
    00588618ldr x5, [sp+176]
    0058861cldr x6, [sp+192]
    00588620str x5, [sp+672]
    00588624str x4, [sp+680]
    00588628str x6, [sp+688]
    0058862cstr xzr, [sp+112]
    00588630str x4, [sp+104]
    00588634ldr x4, [sp+672]
    00588638str x4, [sp+96]
    0058863cb 0x5887ac
    00588640
    00588640loc_588640:
    00588640b 0x588648
    00588644
    00588644loc_588644:
    00588644b 0x588648
    00588648
    00588648loc_588648:
    00588648b 0x58864c
    0058864c
    0058864cloc_58864c:
    0058864cb 0x588654
    00588650
    00588650loc_588650:
    00588650b 0x588654
    00588654
    00588654loc_588654:
    00588654ldr x1, [sp+336]
    00588658ldr x3, [sp+352]
    0058865cb 0x588660
    00588660
    00588660loc_588660:
    00588660b 0x588664
    00588664
    00588664loc_588664:
    00588664str x1, [sp+648]
    00588668str xzr, [sp+656]
    0058866cstr x3, [sp+664]
    00588670ldr x0, [sp+272]
    00588674mov x2, xzr
    00588678bl crypto/internal/fips140/hmac.(*HMAC).Sum
    0058867cstr x0, [sp+336]
    00588680str x1, [sp+344]
    00588684str x2, [sp+352]
    00588688ldr x4, [sp+744]
    0058868cldrsb x27, [x4]
    00588690ldr x0, [x4+8]
    00588694str x0, [sp+392]
    00588698ldr x2, [sp+336]
    0058869cldr x1, [sp+752]
    005886a0ldr x3, [sp+344]
    005886a4ldr x4, [sp+352]
    005886a8bl crypto/internal/fips140/hmac.New[go.shape.*uint8]
    005886acstr x0, [sp+272]
    005886b0ldr x4, [sp+280]
    005886b4ldrsb x27, [x4]
    005886b8ldr x1, [x4+16]
    005886bcldr x2, [x4+24]
    005886c0ldr x3, [x4+32]
    005886c4str x1, [sp+368]
    005886c8str x2, [sp+376]
    005886ccstr x3, [sp+384]
    005886d0ldr x0, [sp+272]
    005886d4bl crypto/internal/fips140/hmac.(*HMAC).Write
    005886d8ldr x4, [sp+280]
    005886dcldrsb x27, [x4]
    005886e0ldr x1, [x4+16]
    005886e4ldr x3, [x4+32]
    005886e8b 0x5886ec
    005886ec
    005886ecloc_5886ec:
    005886ecb 0x5886f0
    005886f0
    005886f0loc_5886f0:
    005886f0str x1, [sp+648]
    005886f4str xzr, [sp+656]
    005886f8str x3, [sp+664]
    005886fcldr x0, [sp+272]
    00588700mov x2, xzr
    00588704bl crypto/internal/fips140/hmac.(*HMAC).Sum
    00588708str x0, [sp+696]
    0058870cstr x1, [sp+704]
    00588710str x2, [sp+712]
    00588714ldr x4, [sp+280]
    00588718ldrsb x27, [x4]
    0058871cstr x1, [x4+24]
    00588720str x2, [x4+32]
    00588724adrp x27, 0x4c3000
    00588728ldr w5, [x27+3056]
    0058872ccbz w5, 0x588734
    00588730b 0x588738
    00588734
    00588734loc_588734:
    00588734b 0x58874c
    00588738
    00588738loc_588738:
    00588738bl runtime.gcWriteBarrier2
    0058873cstr x0, [x25]
    00588740ldr x1, [x4+16]
    00588744str x1, [x25+8]
    00588748b 0x58874c
    0058874c
    0058874cloc_58874c:
    0058874cstr x0, [x4+16]
    00588750ldr x1, [sp+280]
    00588754ldrsb x27, [x1]
    00588758ldr x2, [sp+272]
    0058875cadrp x27, 0x4c3000
    00588760ldr w3, [x27+3056]
    00588764cbz w3, 0x58876c
    00588768b 0x588770
    0058876c
    0058876cloc_58876c:
    0058876cb 0x588784
    00588770
    00588770loc_588770:
    00588770bl runtime.gcWriteBarrier2
    00588774str x2, [x25]
    00588778ldr x3, [x1+8]
    0058877cstr x3, [x25+8]
    00588780b 0x588784
    00588784
    00588784loc_588784:
    00588784str x2, [x1+8]
    00588788ldr x1, [sp+280]
    0058878cldrsb x27, [x1]
    00588790orr x2, xzr, 1
    00588794str x2, [x1+40]
    00588798ldr x0, [sp+280]
    0058879cstr x0, [sp+168]
    005887a0ldp x29, x30, [sp-8]
    005887a4add sp, sp, 736
    005887a8ret x30
    005887ac
    005887acloc_5887ac:
    005887acldr x4, [sp+104]
    005887b0ldr x5, [sp+112]
    005887b4subs xzr, x4, x5
    005887b8b.gt 0x5887c0
    005887bcb 0x58882c
    005887c0
    005887c0loc_5887c0:
    005887c0ldr x2, [sp+96]
    005887c4str x2, [sp+400]
    005887c8ldr x2, [sp+400]
    005887ccldr x3, [x2]
    005887d0ldr x4, [x2+8]
    005887d4ldr x2, [x2+16]
    005887d8str x3, [sp+288]
    005887dcstr x4, [sp+296]
    005887e0str x2, [sp+304]
    005887e4ldr x1, [sp+80]
    005887e8ldr x0, [sp+272]
    005887ecbl crypto/internal/fips140/ecdsa.pad000
    005887f0ldr x1, [sp+288]
    005887f4ldr x2, [sp+296]
    005887f8ldr x3, [sp+304]
    005887fcldr x0, [sp+272]
    00588800bl crypto/internal/fips140/hmac.(*HMAC).Write
    00588804ldr x2, [sp+296]
    00588808str x2, [sp+80]
    0058880cb 0x588810
    00588810
    00588810loc_588810:
    00588810ldr x4, [sp+112]
    00588814add x4, x4, 1
    00588818str x4, [sp+112]
    0058881cldr x4, [sp+400]
    00588820add x4, x4, 24
    00588824str x4, [sp+96]
    00588828b 0x5887ac
    0058882c
    0058882cloc_58882c:
    0058882cb 0x588654
    00588830
    00588830loc_588830:
    00588830ldr x4, [sp+128]
    00588834ldr x5, [sp+136]
    00588838subs xzr, x4, x5
    0058883cb.gt 0x588844
    00588840b 0x5888b0
    00588844
    00588844loc_588844:
    00588844ldr x2, [sp+120]
    00588848str x2, [sp+512]
    0058884cldr x2, [sp+512]
    00588850ldr x3, [x2]
    00588854ldr x4, [x2+8]
    00588858ldr x2, [x2+16]
    0058885cstr x3, [sp+312]
    00588860str x4, [sp+320]
    00588864str x2, [sp+328]
    00588868ldr x1, [sp+88]
    0058886cldr x0, [sp+272]
    00588870bl crypto/internal/fips140/ecdsa.pad000
    00588874ldr x1, [sp+312]
    00588878ldr x2, [sp+320]
    0058887cldr x3, [sp+328]
    00588880ldr x0, [sp+272]
    00588884bl crypto/internal/fips140/hmac.(*HMAC).Write
    00588888ldr x2, [sp+320]
    0058888cstr x2, [sp+88]
    00588890b 0x588894
    00588894
    00588894loc_588894:
    00588894ldr x4, [sp+136]
    00588898add x4, x4, 1
    0058889cstr x4, [sp+136]
    005888a0ldr x4, [sp+512]
    005888a4add x4, x4, 24
    005888a8str x4, [sp+120]
    005888acb 0x588830
    005888b0
    005888b0loc_5888b0:
    005888b0b 0x588340
    005888b4
    005888b4loc_5888b4:
    005888b4stp x0, x1, [sp+8]
    005888b8stp x2, x3, [sp+24]
    005888bcstp x4, x5, [sp+40]
    005888c0stp x6, x7, [sp+56]
    005888c4stp x8, x9, [sp+72]
    005888c8mov x3, x30
    005888ccbl runtime.morestack_noctxt.abi0
    005888d0ldp x0, x1, [sp+8]
    005888d4ldp x2, x3, [sp+24]
    005888d8ldp x4, x5, [sp+40]
    005888dcldp x6, x7, [sp+56]
    005888e0ldp x8, x9, [sp+72]
    005888e4b 0x587ee0
    005888e8udf 0
    005888ecudf 0
    00587ee0
    005888f0
    005888f0crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8].func1: ; void crypto/internal/fips140/ecdsa.newDRBG[go.shape.*uint8].func1(struct []uint8 key)
    005888f0ldr x16, [x28+16]
    005888f4subs xzr, sp, x16
    005888f8b.ls 0x588960
    005888fcstr x30, [sp-96]!
    00588900stur x29, [sp-8]
    00588904sub x29, sp, 8
    00588908str x0, [sp+104]
    0058890cstr x1, [sp+112]
    00588910str x2, [sp+120]
    00588914ldr x5, [x26+8]
    00588918str x5, [sp+56]
    0058891cldr x5, [x26+16]
    00588920str x5, [sp+64]
    00588924str xzr, [sp+48]
    00588928ldr x5, [sp+64]
    0058892cldrsb x27, [x5]
    00588930ldr x0, [x5+8]
    00588934str x0, [sp+72]
    00588938ldr x2, [sp+104]
    0058893cldr x1, [sp+56]
    00588940ldr x3, [sp+112]
    00588944ldr x4, [sp+120]
    00588948bl crypto/internal/fips140/hmac.New[go.shape.*uint8]
    0058894cstr x0, [sp+80]
    00588950str x0, [sp+48]
    00588954ldur x29, [sp-8]
    00588958ldr x30, [sp], 96
    0058895cret x30
    00588960
    00588960loc_588960:
    00588960stp x0, x1, [sp+8]
    00588964str x2, [sp+24]
    00588968mov x3, x30
    0058896cbl runtime.morestack.abi0
    00588970ldp x0, x1, [sp+8]
    00588974ldr x2, [sp+24]
    00588978b 0x5888f0
    0058897cudf 0
    005888f0
    00588980
    00588980crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 order)
    00588980ldr x16, [x28+16]
    00588984sub x17, sp, 176
    00588988subs xzr, x17, x16
    0058898cb.ls 0x588bc0
    00588990sub x20, sp, 304
    00588994stp x29, x30, [x20-8]
    00588998add sp, x20, 0
    0058899csub x29, sp, 8
    005889a0str x0, [sp+312]
    005889a4str x1, [sp+320]
    005889a8str x2, [sp+328]
    005889acstr x3, [sp+336]
    005889b0str x4, [sp+344]
    005889b4stp xzr, xzr, [sp+72]
    005889b8str xzr, [sp+88]
    005889bcstp xzr, xzr, [sp+280]
    005889c0ldr x0, [sp+328]
    005889c4ldr x1, [sp+336]
    005889c8ldr x2, [sp+344]
    005889ccbl crypto/internal/fips140/bigmod.NewModulus
    005889d0str x0, [sp+88]
    005889d4str x1, [sp+280]
    005889d8str x2, [sp+288]
    005889dcldr x3, [sp+88]
    005889e0str x3, [sp+136]
    005889e4ldr x3, [sp+280]
    005889e8ldr x4, [sp+288]
    005889ecstr x3, [sp+120]
    005889f0str x4, [sp+128]
    005889f4ldr x3, [sp+320]
    005889f8ldrsb x27, [x3]
    005889fcldr x4, [sp+136]
    00588a00adrp x27, 0x4c3000
    00588a04ldr w5, [x27+3056]
    00588a08cbz w5, 0x588a10
    00588a0cb 0x588a14
    00588a10
    00588a10loc_588a10:
    00588a10b 0x588a28
    00588a14
    00588a14loc_588a14:
    00588a14bl runtime.gcWriteBarrier2
    00588a18str x4, [x25]
    00588a1cldr x2, [x3+32]
    00588a20str x2, [x25+8]
    00588a24b 0x588a28
    00588a28
    00588a28loc_588a28:
    00588a28str x4, [x3+32]
    00588a2cldr x2, [sp+128]
    00588a30ldr x3, [sp+120]
    00588a34str x3, [sp+72]
    00588a38str x2, [sp+80]
    00588a3ccbnz x3, 0x588b88
    00588a40b 0x588a44
    00588a44
    00588a44loc_588a44:
    00588a44bl crypto/internal/fips140/bigmod.NewNat
    00588a48str x0, [sp+272]
    00588a4cstr xzr, [sp+264]
    00588a50stp xzr, xzr, [sp+280]
    00588a54strb wzr, [sp+63]
    00588a58add x0, sp, 63
    00588a5cstr x0, [sp+176]
    00588a60ldrsb x27, [x0]
    00588a64orr x1, xzr, 2
    00588a68strb w1, [x0]
    00588a6cldr x0, [sp+176]
    00588a70ldrsb x27, [x0]
    00588a74b 0x588a78
    00588a78
    00588a78loc_588a78:
    00588a78str x0, [sp+184]
    00588a7corr x5, xzr, 1
    00588a80str x5, [sp+192]
    00588a84str x5, [sp+200]
    00588a88ldr x5, [sp+320]
    00588a8cldrsb x27, [x5]
    00588a90ldr x4, [x5+32]
    00588a94str x4, [sp+168]
    00588a98ldr x1, [sp+184]
    00588a9cldr x2, [sp+192]
    00588aa0ldr x3, [sp+200]
    00588aa4ldr x0, [sp+272]
    00588aa8bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00588aacstr x0, [sp+264]
    00588ab0str x1, [sp+280]
    00588ab4str x2, [sp+288]
    00588ab8ldr x5, [sp+264]
    00588abcstr x5, [sp+112]
    00588ac0ldr x5, [sp+280]
    00588ac4ldr x6, [sp+288]
    00588ac8str x5, [sp+96]
    00588accstr x6, [sp+104]
    00588ad0ldr x5, [sp+112]
    00588ad4str x5, [sp+64]
    00588ad8bl crypto/internal/fips140/bigmod.NewNat
    00588adcstr x0, [sp+264]
    00588ae0ldr x5, [sp+320]
    00588ae4ldrsb x27, [x5]
    00588ae8ldr x1, [x5+32]
    00588aecstr x1, [sp+160]
    00588af0ldr x0, [sp+264]
    00588af4bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    00588af8str x0, [sp+272]
    00588afcldr x5, [sp+320]
    00588b00ldrsb x27, [x5]
    00588b04ldr x2, [x5+32]
    00588b08str x2, [sp+152]
    00588b0cldr x1, [sp+64]
    00588b10ldr x0, [sp+272]
    00588b14bl crypto/internal/fips140/bigmod.(*Nat).Sub
    00588b18str x0, [sp+256]
    00588b1cldr x5, [sp+320]
    00588b20ldrsb x27, [x5]
    00588b24ldr x1, [x5+32]
    00588b28str x1, [sp+144]
    00588b2cldr x0, [sp+256]
    00588b30bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00588b34str x0, [sp+232]
    00588b38str x1, [sp+240]
    00588b3cstr x2, [sp+248]
    00588b40ldr x5, [sp+320]
    00588b44ldrsb x27, [x5]
    00588b48str x1, [x5+48]
    00588b4cstr x2, [x5+56]
    00588b50adrp x27, 0x4c3000
    00588b54ldr w6, [x27+3056]
    00588b58cbz w6, 0x588b60
    00588b5cb 0x588b64
    00588b60
    00588b60loc_588b60:
    00588b60b 0x588b78
    00588b64
    00588b64loc_588b64:
    00588b64bl runtime.gcWriteBarrier2
    00588b68str x0, [x25]
    00588b6cldr x1, [x5+40]
    00588b70str x1, [x25+8]
    00588b74b 0x588b78
    00588b78
    00588b78loc_588b78:
    00588b78str x0, [x5+40]
    00588b7cldp x29, x30, [sp-8]
    00588b80add sp, sp, 304
    00588b84ret x30
    00588b88
    00588b88loc_588b88:
    00588b88str x3, [sp+216]
    00588b8cstr x2, [sp+224]
    00588b90str x3, [sp+208]
    00588b94ldr x2, [sp+208]
    00588b98cbnz x2, 0x588ba0
    00588b9cb 0x588bbc
    00588ba0
    00588ba0loc_588ba0:
    00588ba0ldr x2, [sp+208]
    00588ba4ldr x2, [x2+8]
    00588ba8str x2, [sp+208]
    00588bacb 0x588bb0
    00588bb0
    00588bb0loc_588bb0:
    00588bb0ldr x0, [sp+208]
    00588bb4ldr x1, [sp+224]
    00588bb8bl runtime.gopanic
    00588bbc
    00588bbcloc_588bbc:
    00588bbcb 0x588bb0
    00588bc0
    00588bc0loc_588bc0:
    00588bc0stp x0, x1, [sp+8]
    00588bc4stp x2, x3, [sp+24]
    00588bc8str x4, [sp+40]
    00588bccmov x3, x30
    00588bd0bl runtime.morestack_noctxt.abi0
    00588bd4ldp x0, x1, [sp+8]
    00588bd8ldp x2, x3, [sp+24]
    00588bdcldr x4, [sp+40]
    00588be0b 0x588980
    00588be4udf 0
    00588be8udf 0
    00588becudf 0
    00588980
    00588bf0
    00588bf0crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, struct []uint8 order)
    00588bf0ldr x16, [x28+16]
    00588bf4sub x17, sp, 176
    00588bf8subs xzr, x17, x16
    00588bfcb.ls 0x588e30
    00588c00sub x20, sp, 304
    00588c04stp x29, x30, [x20-8]
    00588c08add sp, x20, 0
    00588c0csub x29, sp, 8
    00588c10str x0, [sp+312]
    00588c14str x1, [sp+320]
    00588c18str x2, [sp+328]
    00588c1cstr x3, [sp+336]
    00588c20str x4, [sp+344]
    00588c24stp xzr, xzr, [sp+72]
    00588c28str xzr, [sp+88]
    00588c2cstp xzr, xzr, [sp+280]
    00588c30ldr x0, [sp+328]
    00588c34ldr x1, [sp+336]
    00588c38ldr x2, [sp+344]
    00588c3cbl crypto/internal/fips140/bigmod.NewModulus
    00588c40str x0, [sp+88]
    00588c44str x1, [sp+280]
    00588c48str x2, [sp+288]
    00588c4cldr x3, [sp+88]
    00588c50str x3, [sp+136]
    00588c54ldr x3, [sp+280]
    00588c58ldr x4, [sp+288]
    00588c5cstr x3, [sp+120]
    00588c60str x4, [sp+128]
    00588c64ldr x3, [sp+320]
    00588c68ldrsb x27, [x3]
    00588c6cldr x4, [sp+136]
    00588c70adrp x27, 0x4c3000
    00588c74ldr w5, [x27+3056]
    00588c78cbz w5, 0x588c80
    00588c7cb 0x588c84
    00588c80
    00588c80loc_588c80:
    00588c80b 0x588c98
    00588c84
    00588c84loc_588c84:
    00588c84bl runtime.gcWriteBarrier2
    00588c88str x4, [x25]
    00588c8cldr x2, [x3+32]
    00588c90str x2, [x25+8]
    00588c94b 0x588c98
    00588c98
    00588c98loc_588c98:
    00588c98str x4, [x3+32]
    00588c9cldr x2, [sp+128]
    00588ca0ldr x3, [sp+120]
    00588ca4str x3, [sp+72]
    00588ca8str x2, [sp+80]
    00588caccbnz x3, 0x588df8
    00588cb0b 0x588cb4
    00588cb4
    00588cb4loc_588cb4:
    00588cb4bl crypto/internal/fips140/bigmod.NewNat
    00588cb8str x0, [sp+272]
    00588cbcstr xzr, [sp+264]
    00588cc0stp xzr, xzr, [sp+280]
    00588cc4strb wzr, [sp+63]
    00588cc8add x0, sp, 63
    00588cccstr x0, [sp+176]
    00588cd0ldrsb x27, [x0]
    00588cd4orr x1, xzr, 2
    00588cd8strb w1, [x0]
    00588cdcldr x0, [sp+176]
    00588ce0ldrsb x27, [x0]
    00588ce4b 0x588ce8
    00588ce8
    00588ce8loc_588ce8:
    00588ce8str x0, [sp+184]
    00588cecorr x5, xzr, 1
    00588cf0str x5, [sp+192]
    00588cf4str x5, [sp+200]
    00588cf8ldr x5, [sp+320]
    00588cfcldrsb x27, [x5]
    00588d00ldr x4, [x5+32]
    00588d04str x4, [sp+168]
    00588d08ldr x1, [sp+184]
    00588d0cldr x2, [sp+192]
    00588d10ldr x3, [sp+200]
    00588d14ldr x0, [sp+272]
    00588d18bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00588d1cstr x0, [sp+264]
    00588d20str x1, [sp+280]
    00588d24str x2, [sp+288]
    00588d28ldr x5, [sp+264]
    00588d2cstr x5, [sp+112]
    00588d30ldr x5, [sp+280]
    00588d34ldr x6, [sp+288]
    00588d38str x5, [sp+96]
    00588d3cstr x6, [sp+104]
    00588d40ldr x5, [sp+112]
    00588d44str x5, [sp+64]
    00588d48bl crypto/internal/fips140/bigmod.NewNat
    00588d4cstr x0, [sp+264]
    00588d50ldr x5, [sp+320]
    00588d54ldrsb x27, [x5]
    00588d58ldr x1, [x5+32]
    00588d5cstr x1, [sp+160]
    00588d60ldr x0, [sp+264]
    00588d64bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    00588d68str x0, [sp+272]
    00588d6cldr x5, [sp+320]
    00588d70ldrsb x27, [x5]
    00588d74ldr x2, [x5+32]
    00588d78str x2, [sp+152]
    00588d7cldr x1, [sp+64]
    00588d80ldr x0, [sp+272]
    00588d84bl crypto/internal/fips140/bigmod.(*Nat).Sub
    00588d88str x0, [sp+256]
    00588d8cldr x5, [sp+320]
    00588d90ldrsb x27, [x5]
    00588d94ldr x1, [x5+32]
    00588d98str x1, [sp+144]
    00588d9cldr x0, [sp+256]
    00588da0bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00588da4str x0, [sp+232]
    00588da8str x1, [sp+240]
    00588dacstr x2, [sp+248]
    00588db0ldr x5, [sp+320]
    00588db4ldrsb x27, [x5]
    00588db8str x1, [x5+48]
    00588dbcstr x2, [x5+56]
    00588dc0adrp x27, 0x4c3000
    00588dc4ldr w6, [x27+3056]
    00588dc8cbz w6, 0x588dd0
    00588dccb 0x588dd4
    00588dd0
    00588dd0loc_588dd0:
    00588dd0b 0x588de8
    00588dd4
    00588dd4loc_588dd4:
    00588dd4bl runtime.gcWriteBarrier2
    00588dd8str x0, [x25]
    00588ddcldr x1, [x5+40]
    00588de0str x1, [x25+8]
    00588de4b 0x588de8
    00588de8
    00588de8loc_588de8:
    00588de8str x0, [x5+40]
    00588decldp x29, x30, [sp-8]
    00588df0add sp, sp, 304
    00588df4ret x30
    00588df8
    00588df8loc_588df8:
    00588df8str x3, [sp+216]
    00588dfcstr x2, [sp+224]
    00588e00str x3, [sp+208]
    00588e04ldr x2, [sp+208]
    00588e08cbnz x2, 0x588e10
    00588e0cb 0x588e2c
    00588e10
    00588e10loc_588e10:
    00588e10ldr x2, [sp+208]
    00588e14ldr x2, [x2+8]
    00588e18str x2, [sp+208]
    00588e1cb 0x588e20
    00588e20
    00588e20loc_588e20:
    00588e20ldr x0, [sp+208]
    00588e24ldr x1, [sp+224]
    00588e28bl runtime.gopanic
    00588e2c
    00588e2cloc_588e2c:
    00588e2cb 0x588e20
    00588e30
    00588e30loc_588e30:
    00588e30stp x0, x1, [sp+8]
    00588e34stp x2, x3, [sp+24]
    00588e38str x4, [sp+40]
    00588e3cmov x3, x30
    00588e40bl runtime.morestack_noctxt.abi0
    00588e44ldp x0, x1, [sp+8]
    00588e48ldp x2, x3, [sp+24]
    00588e4cldr x4, [sp+40]
    00588e50b 0x588bf0
    00588e54udf 0
    00588e58udf 0
    00588e5cudf 0
    00588bf0
    00588e60
    00588e60crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P256Point]: ; void crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P256Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P256Point] * c, struct []uint8 order)
    00588e60ldr x16, [x28+16]
    00588e64sub x17, sp, 176
    00588e68subs xzr, x17, x16
    00588e6cb.ls 0x5890a0
    00588e70sub x20, sp, 304
    00588e74stp x29, x30, [x20-8]
    00588e78add sp, x20, 0
    00588e7csub x29, sp, 8
    00588e80str x0, [sp+312]
    00588e84str x1, [sp+320]
    00588e88str x2, [sp+328]
    00588e8cstr x3, [sp+336]
    00588e90str x4, [sp+344]
    00588e94stp xzr, xzr, [sp+72]
    00588e98str xzr, [sp+88]
    00588e9cstp xzr, xzr, [sp+280]
    00588ea0ldr x0, [sp+328]
    00588ea4ldr x1, [sp+336]
    00588ea8ldr x2, [sp+344]
    00588eacbl crypto/internal/fips140/bigmod.NewModulus
    00588eb0str x0, [sp+88]
    00588eb4str x1, [sp+280]
    00588eb8str x2, [sp+288]
    00588ebcldr x3, [sp+88]
    00588ec0str x3, [sp+136]
    00588ec4ldr x3, [sp+280]
    00588ec8ldr x4, [sp+288]
    00588eccstr x3, [sp+120]
    00588ed0str x4, [sp+128]
    00588ed4ldr x3, [sp+320]
    00588ed8ldrsb x27, [x3]
    00588edcldr x4, [sp+136]
    00588ee0adrp x27, 0x4c3000
    00588ee4ldr w5, [x27+3056]
    00588ee8cbz w5, 0x588ef0
    00588eecb 0x588ef4
    00588ef0
    00588ef0loc_588ef0:
    00588ef0b 0x588f08
    00588ef4
    00588ef4loc_588ef4:
    00588ef4bl runtime.gcWriteBarrier2
    00588ef8str x4, [x25]
    00588efcldr x2, [x3+32]
    00588f00str x2, [x25+8]
    00588f04b 0x588f08
    00588f08
    00588f08loc_588f08:
    00588f08str x4, [x3+32]
    00588f0cldr x2, [sp+128]
    00588f10ldr x3, [sp+120]
    00588f14str x3, [sp+72]
    00588f18str x2, [sp+80]
    00588f1ccbnz x3, 0x589068
    00588f20b 0x588f24
    00588f24
    00588f24loc_588f24:
    00588f24bl crypto/internal/fips140/bigmod.NewNat
    00588f28str x0, [sp+272]
    00588f2cstr xzr, [sp+264]
    00588f30stp xzr, xzr, [sp+280]
    00588f34strb wzr, [sp+63]
    00588f38add x0, sp, 63
    00588f3cstr x0, [sp+176]
    00588f40ldrsb x27, [x0]
    00588f44orr x1, xzr, 2
    00588f48strb w1, [x0]
    00588f4cldr x0, [sp+176]
    00588f50ldrsb x27, [x0]
    00588f54b 0x588f58
    00588f58
    00588f58loc_588f58:
    00588f58str x0, [sp+184]
    00588f5corr x5, xzr, 1
    00588f60str x5, [sp+192]
    00588f64str x5, [sp+200]
    00588f68ldr x5, [sp+320]
    00588f6cldrsb x27, [x5]
    00588f70ldr x4, [x5+32]
    00588f74str x4, [sp+168]
    00588f78ldr x1, [sp+184]
    00588f7cldr x2, [sp+192]
    00588f80ldr x3, [sp+200]
    00588f84ldr x0, [sp+272]
    00588f88bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00588f8cstr x0, [sp+264]
    00588f90str x1, [sp+280]
    00588f94str x2, [sp+288]
    00588f98ldr x5, [sp+264]
    00588f9cstr x5, [sp+112]
    00588fa0ldr x5, [sp+280]
    00588fa4ldr x6, [sp+288]
    00588fa8str x5, [sp+96]
    00588facstr x6, [sp+104]
    00588fb0ldr x5, [sp+112]
    00588fb4str x5, [sp+64]
    00588fb8bl crypto/internal/fips140/bigmod.NewNat
    00588fbcstr x0, [sp+264]
    00588fc0ldr x5, [sp+320]
    00588fc4ldrsb x27, [x5]
    00588fc8ldr x1, [x5+32]
    00588fccstr x1, [sp+160]
    00588fd0ldr x0, [sp+264]
    00588fd4bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    00588fd8str x0, [sp+272]
    00588fdcldr x5, [sp+320]
    00588fe0ldrsb x27, [x5]
    00588fe4ldr x2, [x5+32]
    00588fe8str x2, [sp+152]
    00588fecldr x1, [sp+64]
    00588ff0ldr x0, [sp+272]
    00588ff4bl crypto/internal/fips140/bigmod.(*Nat).Sub
    00588ff8str x0, [sp+256]
    00588ffcldr x5, [sp+320]
    00589000ldrsb x27, [x5]
    00589004ldr x1, [x5+32]
    00589008str x1, [sp+144]
    0058900cldr x0, [sp+256]
    00589010bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00589014str x0, [sp+232]
    00589018str x1, [sp+240]
    0058901cstr x2, [sp+248]
    00589020ldr x5, [sp+320]
    00589024ldrsb x27, [x5]
    00589028str x1, [x5+48]
    0058902cstr x2, [x5+56]
    00589030adrp x27, 0x4c2000
    00589034ldr w6, [x27+3056]
    00589038cbz w6, 0x589040
    0058903cb 0x589044
    00589040
    00589040loc_589040:
    00589040b 0x589058
    00589044
    00589044loc_589044:
    00589044bl runtime.gcWriteBarrier2
    00589048str x0, [x25]
    0058904cldr x1, [x5+40]
    00589050str x1, [x25+8]
    00589054b 0x589058
    00589058
    00589058loc_589058:
    00589058str x0, [x5+40]
    0058905cldp x29, x30, [sp-8]
    00589060add sp, sp, 304
    00589064ret x30
    00589068
    00589068loc_589068:
    00589068str x3, [sp+216]
    0058906cstr x2, [sp+224]
    00589070str x3, [sp+208]
    00589074ldr x2, [sp+208]
    00589078cbnz x2, 0x589080
    0058907cb 0x58909c
    00589080
    00589080loc_589080:
    00589080ldr x2, [sp+208]
    00589084ldr x2, [x2+8]
    00589088str x2, [sp+208]
    0058908cb 0x589090
    00589090
    00589090loc_589090:
    00589090ldr x0, [sp+208]
    00589094ldr x1, [sp+224]
    00589098bl runtime.gopanic
    0058909c
    0058909cloc_58909c:
    0058909cb 0x589090
    005890a0
    005890a0loc_5890a0:
    005890a0stp x0, x1, [sp+8]
    005890a4stp x2, x3, [sp+24]
    005890a8str x4, [sp+40]
    005890acmov x3, x30
    005890b0bl runtime.morestack_noctxt.abi0
    005890b4ldp x0, x1, [sp+8]
    005890b8ldp x2, x3, [sp+24]
    005890bcldr x4, [sp+40]
    005890c0b 0x588e60
    005890c4udf 0
    005890c8udf 0
    005890ccudf 0
    00588e60
    005890d0
    005890d0crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.precomputeParams[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, struct []uint8 order)
    005890d0ldr x16, [x28+16]
    005890d4sub x17, sp, 176
    005890d8subs xzr, x17, x16
    005890dcb.ls 0x589310
    005890e0sub x20, sp, 304
    005890e4stp x29, x30, [x20-8]
    005890e8add sp, x20, 0
    005890ecsub x29, sp, 8
    005890f0str x0, [sp+312]
    005890f4str x1, [sp+320]
    005890f8str x2, [sp+328]
    005890fcstr x3, [sp+336]
    00589100str x4, [sp+344]
    00589104stp xzr, xzr, [sp+72]
    00589108str xzr, [sp+88]
    0058910cstp xzr, xzr, [sp+280]
    00589110ldr x0, [sp+328]
    00589114ldr x1, [sp+336]
    00589118ldr x2, [sp+344]
    0058911cbl crypto/internal/fips140/bigmod.NewModulus
    00589120str x0, [sp+88]
    00589124str x1, [sp+280]
    00589128str x2, [sp+288]
    0058912cldr x3, [sp+88]
    00589130str x3, [sp+136]
    00589134ldr x3, [sp+280]
    00589138ldr x4, [sp+288]
    0058913cstr x3, [sp+120]
    00589140str x4, [sp+128]
    00589144ldr x3, [sp+320]
    00589148ldrsb x27, [x3]
    0058914cldr x4, [sp+136]
    00589150adrp x27, 0x4c2000
    00589154ldr w5, [x27+3056]
    00589158cbz w5, 0x589160
    0058915cb 0x589164
    00589160
    00589160loc_589160:
    00589160b 0x589178
    00589164
    00589164loc_589164:
    00589164bl runtime.gcWriteBarrier2
    00589168str x4, [x25]
    0058916cldr x2, [x3+32]
    00589170str x2, [x25+8]
    00589174b 0x589178
    00589178
    00589178loc_589178:
    00589178str x4, [x3+32]
    0058917cldr x2, [sp+128]
    00589180ldr x3, [sp+120]
    00589184str x3, [sp+72]
    00589188str x2, [sp+80]
    0058918ccbnz x3, 0x5892d8
    00589190b 0x589194
    00589194
    00589194loc_589194:
    00589194bl crypto/internal/fips140/bigmod.NewNat
    00589198str x0, [sp+272]
    0058919cstr xzr, [sp+264]
    005891a0stp xzr, xzr, [sp+280]
    005891a4strb wzr, [sp+63]
    005891a8add x0, sp, 63
    005891acstr x0, [sp+176]
    005891b0ldrsb x27, [x0]
    005891b4orr x1, xzr, 2
    005891b8strb w1, [x0]
    005891bcldr x0, [sp+176]
    005891c0ldrsb x27, [x0]
    005891c4b 0x5891c8
    005891c8
    005891c8loc_5891c8:
    005891c8str x0, [sp+184]
    005891ccorr x5, xzr, 1
    005891d0str x5, [sp+192]
    005891d4str x5, [sp+200]
    005891d8ldr x5, [sp+320]
    005891dcldrsb x27, [x5]
    005891e0ldr x4, [x5+32]
    005891e4str x4, [sp+168]
    005891e8ldr x1, [sp+184]
    005891ecldr x2, [sp+192]
    005891f0ldr x3, [sp+200]
    005891f4ldr x0, [sp+272]
    005891f8bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    005891fcstr x0, [sp+264]
    00589200str x1, [sp+280]
    00589204str x2, [sp+288]
    00589208ldr x5, [sp+264]
    0058920cstr x5, [sp+112]
    00589210ldr x5, [sp+280]
    00589214ldr x6, [sp+288]
    00589218str x5, [sp+96]
    0058921cstr x6, [sp+104]
    00589220ldr x5, [sp+112]
    00589224str x5, [sp+64]
    00589228bl crypto/internal/fips140/bigmod.NewNat
    0058922cstr x0, [sp+264]
    00589230ldr x5, [sp+320]
    00589234ldrsb x27, [x5]
    00589238ldr x1, [x5+32]
    0058923cstr x1, [sp+160]
    00589240ldr x0, [sp+264]
    00589244bl crypto/internal/fips140/bigmod.(*Nat).ExpandFor
    00589248str x0, [sp+272]
    0058924cldr x5, [sp+320]
    00589250ldrsb x27, [x5]
    00589254ldr x2, [x5+32]
    00589258str x2, [sp+152]
    0058925cldr x1, [sp+64]
    00589260ldr x0, [sp+272]
    00589264bl crypto/internal/fips140/bigmod.(*Nat).Sub
    00589268str x0, [sp+256]
    0058926cldr x5, [sp+320]
    00589270ldrsb x27, [x5]
    00589274ldr x1, [x5+32]
    00589278str x1, [sp+144]
    0058927cldr x0, [sp+256]
    00589280bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00589284str x0, [sp+232]
    00589288str x1, [sp+240]
    0058928cstr x2, [sp+248]
    00589290ldr x5, [sp+320]
    00589294ldrsb x27, [x5]
    00589298str x1, [x5+48]
    0058929cstr x2, [x5+56]
    005892a0adrp x27, 0x4c2000
    005892a4ldr w6, [x27+3056]
    005892a8cbz w6, 0x5892b0
    005892acb 0x5892b4
    005892b0
    005892b0loc_5892b0:
    005892b0b 0x5892c8
    005892b4
    005892b4loc_5892b4:
    005892b4bl runtime.gcWriteBarrier2
    005892b8str x0, [x25]
    005892bcldr x1, [x5+40]
    005892c0str x1, [x25+8]
    005892c4b 0x5892c8
    005892c8
    005892c8loc_5892c8:
    005892c8str x0, [x5+40]
    005892ccldp x29, x30, [sp-8]
    005892d0add sp, sp, 304
    005892d4ret x30
    005892d8
    005892d8loc_5892d8:
    005892d8str x3, [sp+216]
    005892dcstr x2, [sp+224]
    005892e0str x3, [sp+208]
    005892e4ldr x2, [sp+208]
    005892e8cbnz x2, 0x5892f0
    005892ecb 0x58930c
    005892f0
    005892f0loc_5892f0:
    005892f0ldr x2, [sp+208]
    005892f4ldr x2, [x2+8]
    005892f8str x2, [sp+208]
    005892fcb 0x589300
    00589300
    00589300loc_589300:
    00589300ldr x0, [sp+208]
    00589304ldr x1, [sp+224]
    00589308bl runtime.gopanic
    0058930c
    0058930cloc_58930c:
    0058930cb 0x589300
    00589310
    00589310loc_589310:
    00589310stp x0, x1, [sp+8]
    00589314stp x2, x3, [sp+24]
    00589318str x4, [sp+40]
    0058931cmov x3, x30
    00589320bl runtime.morestack_noctxt.abi0
    00589324ldp x0, x1, [sp+8]
    00589328ldp x2, x3, [sp+24]
    0058932cldr x4, [sp+40]
    00589330b 0x5890d0
    00589334udf 0
    00589338udf 0
    0058933cudf 0
    005890d0
    00589340
    00589340crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    00589340ldr x16, [x28+16]
    00589344sub x17, sp, 16
    00589348subs xzr, x17, x16
    0058934cb.ls 0x589460
    00589350str x30, [sp-144]!
    00589354stur x29, [sp-8]
    00589358sub x29, sp, 8
    0058935cstr x0, [sp+152]
    00589360str x1, [sp+160]
    00589364str x2, [sp+168]
    00589368str x3, [sp+176]
    0058936cstr x4, [sp+184]
    00589370str x5, [sp+192]
    00589374str x6, [sp+200]
    00589378stp xzr, xzr, [sp+64]
    0058937cldr x3, [sp+168]
    00589380ldrsb x27, [x3]
    00589384ldr x4, [x3]
    00589388ldr x3, [x3+8]
    0058938cstr x4, [sp+104]
    00589390str x3, [sp+112]
    00589394ldr x3, [sp+160]
    00589398ldrsb x27, [x3]
    0058939cldr x1, [x3]
    005893a0ldr x3, [x3+8]
    005893a4str x1, [sp+88]
    005893a8str x3, [sp+96]
    005893acldr x4, [sp+112]
    005893b0subs xzr, x4, x3
    005893b4b.ne 0x5893bc
    005893b8b 0x5893c0
    005893bc
    005893bcloc_5893bc:
    005893bcb 0x589434
    005893c0
    005893c0loc_5893c0:
    005893c0ldr x2, [sp+112]
    005893c4ldr x0, [sp+104]
    005893c8bl runtime.memequal
    005893cctbnz w0, 0, 0x5893d4
    005893d0b 0x589430
    005893d4
    005893d4loc_5893d4:
    005893d4bl crypto/internal/fips140.RecordApproved
    005893d8adrp x27, 0x498000
    005893dcldr x26, [x27+328]
    005893e0ldr x0, [x26]
    005893e4blr x0
    005893e8ldr x0, [sp+152]
    005893ecldrsb x27, [x0]
    005893f0ldr x0, [x0]
    005893f4str x0, [sp+80]
    005893f8ldr x3, [sp+176]
    005893fcldr x2, [sp+168]
    00589400ldr x6, [sp+200]
    00589404ldr x1, [sp+160]
    00589408ldr x4, [sp+184]
    0058940cldr x5, [sp+192]
    00589410bl crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00589414str x0, [sp+120]
    00589418str x1, [sp+128]
    0058941cstr x0, [sp+64]
    00589420str x1, [sp+72]
    00589424ldur x29, [sp-8]
    00589428ldr x30, [sp], 144
    0058942cret x30
    00589430
    00589430loc_589430:
    00589430b 0x589434
    00589434
    00589434loc_589434:
    00589434adrp x0, 0x13a000
    00589438add x0, x0, 576
    0058943cmovz x1, 38
    00589440bl errors.New
    00589444str x0, [sp+120]
    00589448str x1, [sp+128]
    0058944cstr x0, [sp+64]
    00589450str x1, [sp+72]
    00589454ldur x29, [sp-8]
    00589458ldr x30, [sp], 144
    0058945cret x30
    00589460
    00589460loc_589460:
    00589460stp x0, x1, [sp+8]
    00589464stp x2, x3, [sp+24]
    00589468stp x4, x5, [sp+40]
    0058946cstr x6, [sp+56]
    00589470mov x3, x30
    00589474bl runtime.morestack_noctxt.abi0
    00589478ldp x0, x1, [sp+8]
    0058947cldp x2, x3, [sp+24]
    00589480ldp x4, x5, [sp+40]
    00589484ldr x6, [sp+56]
    00589488b 0x589340
    0058948cudf 0
    00589340
    00589490
    00589490crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    00589490ldr x16, [x28+16]
    00589494subs xzr, sp, x16
    00589498b.ls 0x589510
    0058949cstr x30, [sp-112]!
    005894a0stur x29, [sp-8]
    005894a4sub x29, sp, 8
    005894a8str x0, [sp+120]
    005894acstr x1, [sp+128]
    005894b0str x2, [sp+136]
    005894b4str x3, [sp+144]
    005894b8str x4, [sp+152]
    005894bcstr x5, [sp+160]
    005894c0str x6, [sp+168]
    005894c4stp xzr, xzr, [sp+64]
    005894c8ldr x7, [sp+120]
    005894ccldrsb x27, [x7]
    005894d0ldr x0, [x7]
    005894d4str x0, [sp+80]
    005894d8ldr x3, [sp+144]
    005894dcldr x2, [sp+136]
    005894e0ldr x6, [sp+168]
    005894e4ldr x1, [sp+128]
    005894e8ldr x4, [sp+152]
    005894ecldr x5, [sp+160]
    005894f0bl crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]
    005894f4str x0, [sp+88]
    005894f8str x1, [sp+96]
    005894fcstr x0, [sp+64]
    00589500str x1, [sp+72]
    00589504ldur x29, [sp-8]
    00589508ldr x30, [sp], 112
    0058950cret x30
    00589510
    00589510loc_589510:
    00589510stp x0, x1, [sp+8]
    00589514stp x2, x3, [sp+24]
    00589518stp x4, x5, [sp+40]
    0058951cstr x6, [sp+56]
    00589520mov x3, x30
    00589524bl runtime.morestack_noctxt.abi0
    00589528ldp x0, x1, [sp+8]
    0058952cldp x2, x3, [sp+24]
    00589530ldp x4, x5, [sp+40]
    00589534ldr x6, [sp+56]
    00589538b 0x589490
    0058953cudf 0
    00589490
    00589540
    00589540crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[9] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    00589540ldr x16, [x28+16]
    00589544sub x17, sp, 464
    00589548subs xzr, x17, x16
    0058954cb.ls 0x589be0
    00589550sub x20, sp, 592
    00589554stp x29, x30, [x20-8]
    00589558add sp, x20, 0
    0058955csub x29, sp, 8
    00589560str x0, [sp+600]
    00589564str x1, [sp+608]
    00589568str x2, [sp+616]
    0058956cstr x3, [sp+624]
    00589570str x4, [sp+632]
    00589574str x5, [sp+640]
    00589578str x6, [sp+648]
    0058957cstp xzr, xzr, [sp+64]
    00589580ldr x0, [sp+608]
    00589584ldrsb x27, [x0]
    00589588ldr x26, [x0+16]
    0058958cldr x0, [x26]
    00589590blr x0
    00589594str x0, [sp+416]
    00589598str xzr, [sp+408]
    0058959cstp xzr, xzr, [sp+392]
    005895a0ldr x0, [sp+616]
    005895a4ldrsb x27, [x0]
    005895a8ldr x1, [x0+16]
    005895acldr x2, [x0+24]
    005895b0ldr x3, [x0+32]
    005895b4str x1, [sp+328]
    005895b8str x2, [sp+336]
    005895bcstr x3, [sp+344]
    005895c0ldr x26, [sp+600]
    005895c4ldrsb x27, [x26]
    005895c8ldr x0, [x26]
    005895ccldr x4, [sp+416]
    005895d0mov x5, x0
    005895d4mov x0, x4
    005895d8blr x5
    005895dcstr x0, [sp+408]
    005895e0str x1, [sp+392]
    005895e4str x2, [sp+400]
    005895e8ldr x0, [sp+408]
    005895ecstr x0, [sp+200]
    005895f0ldr x0, [sp+392]
    005895f4ldr x1, [sp+400]
    005895f8str x0, [sp+184]
    005895fcstr x1, [sp+192]
    00589600ldr x0, [sp+200]
    00589604str x0, [sp+176]
    00589608ldr x1, [sp+192]
    0058960cldr x0, [sp+184]
    00589610str x0, [sp+128]
    00589614str x1, [sp+136]
    00589618cbnz x0, 0x589620
    0058961cb 0x589634
    00589620
    00589620loc_589620:
    00589620str x0, [sp+64]
    00589624str x1, [sp+72]
    00589628ldp x29, x30, [sp-8]
    0058962cadd sp, sp, 592
    00589630ret x30
    00589634
    00589634loc_589634:
    00589634bl crypto/internal/fips140/bigmod.NewNat
    00589638str x0, [sp+384]
    0058963cstr xzr, [sp+376]
    00589640stp xzr, xzr, [sp+392]
    00589644ldr x0, [sp+648]
    00589648ldrsb x27, [x0]
    0058964cldr x1, [x0]
    00589650ldr x2, [x0+8]
    00589654ldr x0, [x0+16]
    00589658str x1, [sp+304]
    0058965cstr x2, [sp+312]
    00589660str x0, [sp+320]
    00589664ldr x0, [sp+608]
    00589668ldrsb x27, [x0]
    0058966cldr x4, [x0+32]
    00589670str x4, [sp+296]
    00589674ldr x1, [sp+304]
    00589678ldr x2, [sp+312]
    0058967cldr x3, [sp+320]
    00589680ldr x0, [sp+384]
    00589684bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00589688str x0, [sp+376]
    0058968cstr x1, [sp+392]
    00589690str x2, [sp+400]
    00589694ldr x0, [sp+376]
    00589698str x0, [sp+576]
    0058969cldr x0, [sp+392]
    005896a0ldr x1, [sp+400]
    005896a4str x0, [sp+560]
    005896a8str x1, [sp+568]
    005896acldr x0, [sp+576]
    005896b0str x0, [sp+104]
    005896b4ldr x1, [sp+568]
    005896b8ldr x0, [sp+560]
    005896bcstr x0, [sp+128]
    005896c0str x1, [sp+136]
    005896c4cbnz x0, 0x5896cc
    005896c8b 0x5896e0
    005896cc
    005896ccloc_5896cc:
    005896ccstr x0, [sp+64]
    005896d0str x1, [sp+72]
    005896d4ldp x29, x30, [sp-8]
    005896d8add sp, sp, 592
    005896dcret x30
    005896e0
    005896e0loc_5896e0:
    005896e0ldr x0, [sp+104]
    005896e4bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    005896e8str x0, [sp+56]
    005896ecsubs xzr, x0, 1
    005896f0b.eq 0x5896f8
    005896f4b 0x589724
    005896f8
    005896f8loc_5896f8:
    005896f8adrp x0, 0x137000
    005896fcadd x0, x0, 4031
    00589700movz x1, 35
    00589704bl errors.New
    00589708str x0, [sp+392]
    0058970cstr x1, [sp+400]
    00589710str x0, [sp+64]
    00589714str x1, [sp+72]
    00589718ldp x29, x30, [sp-8]
    0058971cadd sp, sp, 592
    00589720ret x30
    00589724
    00589724loc_589724:
    00589724bl crypto/internal/fips140/bigmod.NewNat
    00589728str x0, [sp+376]
    0058972cstr xzr, [sp+384]
    00589730stp xzr, xzr, [sp+392]
    00589734ldr x0, [sp+648]
    00589738ldrsb x27, [x0]
    0058973cldr x1, [x0+24]
    00589740ldr x2, [x0+32]
    00589744ldr x0, [x0+40]
    00589748str x1, [sp+272]
    0058974cstr x2, [sp+280]
    00589750str x0, [sp+288]
    00589754ldr x0, [sp+608]
    00589758ldrsb x27, [x0]
    0058975cldr x4, [x0+32]
    00589760str x4, [sp+264]
    00589764ldr x1, [sp+272]
    00589768ldr x2, [sp+280]
    0058976cldr x3, [sp+288]
    00589770ldr x0, [sp+376]
    00589774bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00589778str x0, [sp+384]
    0058977cstr x1, [sp+392]
    00589780str x2, [sp+400]
    00589784ldr x0, [sp+384]
    00589788str x0, [sp+552]
    0058978cldr x0, [sp+392]
    00589790ldr x1, [sp+400]
    00589794str x0, [sp+536]
    00589798str x1, [sp+544]
    0058979cldr x0, [sp+552]
    005897a0str x0, [sp+96]
    005897a4ldr x1, [sp+544]
    005897a8ldr x0, [sp+536]
    005897acstr x0, [sp+128]
    005897b0str x1, [sp+136]
    005897b4cbnz x0, 0x5897bc
    005897b8b 0x5897d0
    005897bc
    005897bcloc_5897bc:
    005897bcstr x0, [sp+64]
    005897c0str x1, [sp+72]
    005897c4ldp x29, x30, [sp-8]
    005897c8add sp, sp, 592
    005897ccret x30
    005897d0
    005897d0loc_5897d0:
    005897d0ldr x0, [sp+96]
    005897d4bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    005897d8str x0, [sp+56]
    005897dcsubs xzr, x0, 1
    005897e0b.eq 0x5897e8
    005897e4b 0x589814
    005897e8
    005897e8loc_5897e8:
    005897e8adrp x0, 0x137000
    005897ecadd x0, x0, 4066
    005897f0movz x1, 35
    005897f4bl errors.New
    005897f8str x0, [sp+392]
    005897fcstr x1, [sp+400]
    00589800str x0, [sp+64]
    00589804str x1, [sp+72]
    00589808ldp x29, x30, [sp-8]
    0058980cadd sp, sp, 592
    00589810ret x30
    00589814
    00589814loc_589814:
    00589814bl crypto/internal/fips140/bigmod.NewNat
    00589818str x0, [sp+144]
    0058981cldr x0, [sp+600]
    00589820ldrsb x27, [x0]
    00589824ldr x0, [x0+40]
    00589828str x0, [sp+256]
    0058982cldr x3, [sp+624]
    00589830ldr x2, [sp+144]
    00589834ldr x1, [sp+608]
    00589838ldr x4, [sp+632]
    0058983cldr x5, [sp+640]
    00589840bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00589844bl crypto/internal/fips140/bigmod.NewNat
    00589848str x0, [sp+80]
    0058984cldr x0, [sp+600]
    00589850ldrsb x27, [x0]
    00589854ldr x0, [x0+48]
    00589858str x0, [sp+248]
    0058985cldr x2, [sp+80]
    00589860ldr x3, [sp+96]
    00589864ldr x1, [sp+608]
    00589868bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0058986cldr x0, [sp+608]
    00589870ldrsb x27, [x0]
    00589874ldr x26, [x0+16]
    00589878ldr x0, [x26]
    0058987cblr x0
    00589880str x0, [sp+408]
    00589884ldr x0, [sp+608]
    00589888ldrsb x27, [x0]
    0058988cldr x2, [x0+32]
    00589890str x2, [sp+240]
    00589894ldr x0, [sp+144]
    00589898ldr x1, [sp+80]
    0058989cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    005898a0str x0, [sp+384]
    005898a4ldr x0, [sp+608]
    005898a8ldrsb x27, [x0]
    005898acldr x1, [x0+32]
    005898b0str x1, [sp+232]
    005898b4ldr x0, [sp+384]
    005898b8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005898bcstr x0, [sp+352]
    005898c0str x1, [sp+360]
    005898c4str x2, [sp+368]
    005898c8str xzr, [sp+416]
    005898ccstp xzr, xzr, [sp+392]
    005898d0ldr x0, [sp+600]
    005898d4ldrsb x27, [x0]
    005898d8add x26, x0, 8
    005898dcldr x0, [x0+8]
    005898e0ldr x1, [sp+352]
    005898e4ldr x2, [sp+360]
    005898e8ldr x3, [sp+368]
    005898ecldr x4, [sp+408]
    005898f0mov x5, x0
    005898f4mov x0, x4
    005898f8blr x5
    005898fcstr x0, [sp+416]
    00589900str x1, [sp+392]
    00589904str x2, [sp+400]
    00589908ldr x0, [sp+416]
    0058990cstr x0, [sp+528]
    00589910ldr x0, [sp+392]
    00589914ldr x1, [sp+400]
    00589918str x0, [sp+512]
    0058991cstr x1, [sp+520]
    00589920ldr x0, [sp+528]
    00589924str x0, [sp+120]
    00589928ldr x1, [sp+520]
    0058992cldr x0, [sp+512]
    00589930str x0, [sp+128]
    00589934str x1, [sp+136]
    00589938cbnz x0, 0x589940
    0058993cb 0x589954
    00589940
    00589940loc_589940:
    00589940str x0, [sp+64]
    00589944str x1, [sp+72]
    00589948ldp x29, x30, [sp-8]
    0058994cadd sp, sp, 592
    00589950ret x30
    00589954
    00589954loc_589954:
    00589954ldr x3, [sp+608]
    00589958ldrsb x27, [x3]
    0058995cldr x2, [x3+32]
    00589960str x2, [sp+224]
    00589964ldr x0, [sp+80]
    00589968ldr x1, [sp+104]
    0058996cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    00589970str x0, [sp+384]
    00589974ldr x3, [sp+608]
    00589978ldrsb x27, [x3]
    0058997cldr x1, [x3+32]
    00589980str x1, [sp+216]
    00589984ldr x0, [sp+384]
    00589988bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058998cstr x0, [sp+352]
    00589990str x1, [sp+360]
    00589994str x2, [sp+368]
    00589998str xzr, [sp+416]
    0058999cstp xzr, xzr, [sp+392]
    005899a0ldr x3, [sp+600]
    005899a4ldrsb x27, [x3]
    005899a8add x26, x3, 16
    005899acldr x0, [sp+176]
    005899b0ldr x1, [sp+176]
    005899b4ldr x3, [x3+16]
    005899b8ldr x2, [sp+352]
    005899bcldr x4, [sp+360]
    005899c0ldr x5, [sp+368]
    005899c4mov x6, x3
    005899c8mov x3, x4
    005899ccmov x4, x5
    005899d0blr x6
    005899d4str x0, [sp+416]
    005899d8str x1, [sp+392]
    005899dcstr x2, [sp+400]
    005899e0ldr x3, [sp+416]
    005899e4str x3, [sp+504]
    005899e8ldr x3, [sp+392]
    005899ecldr x4, [sp+400]
    005899f0str x3, [sp+488]
    005899f4str x4, [sp+496]
    005899f8ldr x3, [sp+504]
    005899fcstr x3, [sp+112]
    00589a00ldr x1, [sp+496]
    00589a04ldr x0, [sp+488]
    00589a08str x0, [sp+128]
    00589a0cstr x1, [sp+136]
    00589a10cbnz x0, 0x589a18
    00589a14b 0x589a2c
    00589a18
    00589a18loc_589a18:
    00589a18str x0, [sp+64]
    00589a1cstr x1, [sp+72]
    00589a20ldp x29, x30, [sp-8]
    00589a24add sp, sp, 592
    00589a28ret x30
    00589a2c
    00589a2cloc_589a2c:
    00589a2cldr x3, [sp+600]
    00589a30ldrsb x27, [x3]
    00589a34add x26, x3, 24
    00589a38ldr x0, [sp+120]
    00589a3cldr x1, [sp+120]
    00589a40ldr x2, [sp+112]
    00589a44ldr x3, [x3+24]
    00589a48blr x3
    00589a4cstr x0, [sp+416]
    00589a50str xzr, [sp+352]
    00589a54stp xzr, xzr, [sp+360]
    00589a58stp xzr, xzr, [sp+392]
    00589a5cldr x3, [sp+600]
    00589a60ldrsb x27, [x3]
    00589a64add x26, x3, 32
    00589a68ldr x3, [x3+32]
    00589a6cldr x0, [sp+416]
    00589a70blr x3
    00589a74str x0, [sp+352]
    00589a78str x1, [sp+360]
    00589a7cstr x2, [sp+368]
    00589a80str x3, [sp+392]
    00589a84str x4, [sp+400]
    00589a88ldr x3, [sp+352]
    00589a8cldr x4, [sp+360]
    00589a90ldr x5, [sp+368]
    00589a94str x3, [sp+464]
    00589a98str x4, [sp+472]
    00589a9cstr x5, [sp+480]
    00589aa0ldr x3, [sp+392]
    00589aa4ldr x4, [sp+400]
    00589aa8str x3, [sp+448]
    00589aacstr x4, [sp+456]
    00589ab0ldr x3, [sp+464]
    00589ab4ldr x4, [sp+472]
    00589ab8ldr x5, [sp+480]
    00589abcstr x3, [sp+152]
    00589ac0str x4, [sp+160]
    00589ac4str x5, [sp+168]
    00589ac8ldr x1, [sp+456]
    00589accldr x0, [sp+448]
    00589ad0str x0, [sp+128]
    00589ad4str x1, [sp+136]
    00589ad8cbnz x0, 0x589ae0
    00589adcb 0x589af4
    00589ae0
    00589ae0loc_589ae0:
    00589ae0str x0, [sp+64]
    00589ae4str x1, [sp+72]
    00589ae8ldp x29, x30, [sp-8]
    00589aecadd sp, sp, 592
    00589af0ret x30
    00589af4
    00589af4loc_589af4:
    00589af4bl crypto/internal/fips140/bigmod.NewNat
    00589af8str x0, [sp+384]
    00589afcstr xzr, [sp+376]
    00589b00stp xzr, xzr, [sp+392]
    00589b04ldr x0, [sp+608]
    00589b08ldrsb x27, [x0]
    00589b0cldr x4, [x0+32]
    00589b10str x4, [sp+208]
    00589b14ldr x1, [sp+152]
    00589b18ldr x2, [sp+160]
    00589b1cldr x3, [sp+168]
    00589b20ldr x0, [sp+384]
    00589b24bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    00589b28str x0, [sp+376]
    00589b2cstr x1, [sp+392]
    00589b30str x2, [sp+400]
    00589b34ldr x0, [sp+376]
    00589b38str x0, [sp+440]
    00589b3cldr x0, [sp+392]
    00589b40ldr x1, [sp+400]
    00589b44str x0, [sp+424]
    00589b48str x1, [sp+432]
    00589b4cldr x0, [sp+440]
    00589b50str x0, [sp+88]
    00589b54ldr x1, [sp+432]
    00589b58ldr x0, [sp+424]
    00589b5cstr x0, [sp+128]
    00589b60str x1, [sp+136]
    00589b64cbnz x0, 0x589b6c
    00589b68b 0x589b80
    00589b6c
    00589b6cloc_589b6c:
    00589b6cstr x0, [sp+64]
    00589b70str x1, [sp+72]
    00589b74ldp x29, x30, [sp-8]
    00589b78add sp, sp, 592
    00589b7cret x30
    00589b80
    00589b80loc_589b80:
    00589b80ldr x1, [sp+104]
    00589b84ldr x0, [sp+88]
    00589b88bl crypto/internal/fips140/bigmod.(*Nat).Equal
    00589b8cstr x0, [sp+56]
    00589b90subs xzr, x0, 1
    00589b94b.ne 0x589b9c
    00589b98b 0x589bc8
    00589b9c
    00589b9cloc_589b9c:
    00589b9cadrp x0, 0x135000
    00589ba0add x0, x0, 351
    00589ba4orr x1, xzr, 31
    00589ba8bl errors.New
    00589bacstr x0, [sp+392]
    00589bb0str x1, [sp+400]
    00589bb4str x0, [sp+64]
    00589bb8str x1, [sp+72]
    00589bbcldp x29, x30, [sp-8]
    00589bc0add sp, sp, 592
    00589bc4ret x30
    00589bc8
    00589bc8loc_589bc8:
    00589bc8stp xzr, xzr, [sp+64]
    00589bccmov x0, xzr
    00589bd0mov x1, xzr
    00589bd4ldp x29, x30, [sp-8]
    00589bd8add sp, sp, 592
    00589bdcret x30
    00589be0
    00589be0loc_589be0:
    00589be0stp x0, x1, [sp+8]
    00589be4stp x2, x3, [sp+24]
    00589be8stp x4, x5, [sp+40]
    00589becstr x6, [sp+56]
    00589bf0mov x3, x30
    00589bf4bl runtime.morestack_noctxt.abi0
    00589bf8ldp x0, x1, [sp+8]
    00589bfcldp x2, x3, [sp+24]
    00589c00ldp x4, x5, [sp+40]
    00589c04ldr x6, [sp+56]
    00589c08b 0x589540
    00589c0cudf 0
    00589540
    00589c10
    00589c10crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/bigmod.Nat * kInv, crypto/internal/fips140/bigmod.Nat * k)
    00589c10ldr x16, [x28+16]
    00589c14sub x17, sp, 176
    00589c18subs xzr, x17, x16
    00589c1cb.ls 0x589df0
    00589c20sub x20, sp, 304
    00589c24stp x29, x30, [x20-8]
    00589c28add sp, x20, 0
    00589c2csub x29, sp, 8
    00589c30str x0, [sp+312]
    00589c34str x1, [sp+320]
    00589c38str x2, [sp+328]
    00589c3cstr x3, [sp+336]
    00589c40ldrsb x27, [x1]
    00589c44ldr x6, [x1+24]
    00589c48cbnz x6, 0x589c50
    00589c4cb 0x589d80
    00589c50
    00589c50loc_589c50:
    00589c50ldrsb x27, [x1]
    00589c54ldr x1, [x1+32]
    00589c58str x1, [sp+200]
    00589c5cldr x0, [sp+336]
    00589c60bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    00589c64str x0, [sp+256]
    00589c68str x1, [sp+264]
    00589c6cstr x2, [sp+272]
    00589c70str xzr, [sp+232]
    00589c74stp xzr, xzr, [sp+240]
    00589c78stp xzr, xzr, [sp+216]
    00589c7cldr x2, [sp+320]
    00589c80ldrsb x27, [x2]
    00589c84ldr x26, [x2+24]
    00589c88ldr x2, [x26]
    00589c8cldr x0, [sp+256]
    00589c90ldr x1, [sp+264]
    00589c94ldr x3, [sp+272]
    00589c98mov x4, x2
    00589c9cmov x2, x3
    00589ca0blr x4
    00589ca4str x0, [sp+232]
    00589ca8str x1, [sp+240]
    00589cacstr x2, [sp+248]
    00589cb0str x3, [sp+216]
    00589cb4str x4, [sp+224]
    00589cb8ldr x2, [sp+232]
    00589cbcldr x3, [sp+240]
    00589cc0ldr x4, [sp+248]
    00589cc4str x2, [sp+136]
    00589cc8str x3, [sp+144]
    00589cccstr x4, [sp+152]
    00589cd0ldr x2, [sp+216]
    00589cd4ldr x3, [sp+224]
    00589cd8str x2, [sp+120]
    00589cdcstr x3, [sp+128]
    00589ce0ldr x2, [sp+136]
    00589ce4ldr x3, [sp+144]
    00589ce8ldr x4, [sp+152]
    00589cecstr x2, [sp+56]
    00589cf0str x3, [sp+64]
    00589cf4str x4, [sp+72]
    00589cf8ldr x2, [sp+128]
    00589cfcldr x3, [sp+120]
    00589d00str x3, [sp+96]
    00589d04str x2, [sp+104]
    00589d08cbnz x3, 0x589d10
    00589d0cb 0x589d14
    00589d10
    00589d10loc_589d10:
    00589d10b 0x589d84
    00589d14
    00589d14loc_589d14:
    00589d14str xzr, [sp+208]
    00589d18stp xzr, xzr, [sp+216]
    00589d1cldr x5, [sp+320]
    00589d20ldrsb x27, [x5]
    00589d24ldr x4, [x5+32]
    00589d28str x4, [sp+192]
    00589d2cldr x1, [sp+56]
    00589d30ldr x0, [sp+328]
    00589d34ldr x2, [sp+64]
    00589d38ldr x3, [sp+72]
    00589d3cbl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    00589d40str x0, [sp+208]
    00589d44str x1, [sp+216]
    00589d48str x2, [sp+224]
    00589d4cldr x5, [sp+208]
    00589d50str x5, [sp+112]
    00589d54ldr x5, [sp+224]
    00589d58ldr x6, [sp+216]
    00589d5cstr x6, [sp+280]
    00589d60str x5, [sp+288]
    00589d64str x6, [sp+80]
    00589d68str x5, [sp+88]
    00589d6ccbnz x6, 0x589dd8
    00589d70b 0x589d74
    00589d74
    00589d74loc_589d74:
    00589d74ldp x29, x30, [sp-8]
    00589d78add sp, sp, 304
    00589d7cret x30
    00589d80
    00589d80loc_589d80:
    00589d80b 0x589d84
    00589d84
    00589d84loc_589d84:
    00589d84ldr x6, [sp+320]
    00589d88ldrsb x27, [x6]
    00589d8cldr x7, [x6+40]
    00589d90ldr x8, [x6+48]
    00589d94ldr x6, [x6+56]
    00589d98str x7, [sp+168]
    00589d9cstr x8, [sp+176]
    00589da0str x6, [sp+184]
    00589da4ldr x6, [sp+320]
    00589da8ldrsb x27, [x6]
    00589dacldr x5, [x6+32]
    00589db0str x5, [sp+160]
    00589db4ldr x0, [sp+328]
    00589db8ldr x1, [sp+336]
    00589dbcldr x2, [sp+168]
    00589dc0ldr x3, [sp+176]
    00589dc4ldr x4, [sp+184]
    00589dc8bl crypto/internal/fips140/bigmod.(*Nat).Exp
    00589dccldp x29, x30, [sp-8]
    00589dd0add sp, sp, 304
    00589dd4ret x30
    00589dd8
    00589dd8loc_589dd8:
    00589dd8adrp x0, 0x6c000
    00589ddcadd x0, x0, 2944
    00589de0adrp x1, 0x189000
    00589de4add x1, x1, 1568
    00589de8bl runtime.gopanic
    00589dechint
    00589df0
    00589df0loc_589df0:
    00589df0stp x0, x1, [sp+8]
    00589df4stp x2, x3, [sp+24]
    00589df8mov x3, x30
    00589dfcbl runtime.morestack_noctxt.abi0
    00589e00ldp x0, x1, [sp+8]
    00589e04ldp x2, x3, [sp+24]
    00589e08b 0x589c10
    00589e0cudf 0
    00589c10
    00589e10
    00589e10crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[1] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, crypto/internal/fips140/bigmod.Nat * e, struct []uint8 hash)
    00589e10ldr x16, [x28+16]
    00589e14sub x17, sp, 48
    00589e18subs xzr, x17, x16
    00589e1cb.ls 0x589f78
    00589e20str x30, [sp-176]!
    00589e24stur x29, [sp-8]
    00589e28sub x29, sp, 8
    00589e2cstr x0, [sp+184]
    00589e30str x1, [sp+192]
    00589e34str x2, [sp+200]
    00589e38str x3, [sp+208]
    00589e3cstr x4, [sp+216]
    00589e40str x5, [sp+224]
    00589e44ldr x1, [sp+192]
    00589e48ldrsb x27, [x1]
    00589e4cldr x0, [x1+32]
    00589e50str x0, [sp+136]
    00589e54bl crypto/internal/fips140/bigmod.(*Modulus).Size
    00589e58str x0, [sp+48]
    00589e5cldr x1, [sp+216]
    00589e60str x1, [sp+64]
    00589e64subs xzr, x0, x1
    00589e68b.le 0x589e70
    00589e6cb 0x589ee8
    00589e70
    00589e70loc_589e70:
    00589e70ldr x2, [sp+224]
    00589e74subs xzr, x0, x2
    00589e78b.ls 0x589e80
    00589e7cb 0x589f6c
    00589e80
    00589e80loc_589e80:
    00589e80b 0x589e84
    00589e84
    00589e84loc_589e84:
    00589e84str x0, [sp+216]
    00589e88str x0, [sp+64]
    00589e8cldr x1, [sp+192]
    00589e90ldrsb x27, [x1]
    00589e94ldr x0, [x1+32]
    00589e98str x0, [sp+128]
    00589e9cbl crypto/internal/fips140/bigmod.(*Modulus).BitLen
    00589ea0str x0, [sp+72]
    00589ea4ldr x1, [sp+64]
    00589ea8ubfm x1, x1, 61, 60
    00589eacsub x3, x1, x0
    00589eb0str x3, [sp+56]
    00589eb4subs xzr, x3, 0
    00589eb8b.gt 0x589ec0
    00589ebcb 0x589ee0
    00589ec0
    00589ec0loc_589ec0:
    00589ec0ldr x0, [sp+208]
    00589ec4ldr x1, [sp+216]
    00589ec8ldr x2, [sp+224]
    00589eccbl crypto/internal/fips140/ecdsa.rightShift
    00589ed0str x0, [sp+208]
    00589ed4str x1, [sp+216]
    00589ed8str x2, [sp+224]
    00589edcb 0x589ee4
    00589ee0
    00589ee0loc_589ee0:
    00589ee0b 0x589ee4
    00589ee4
    00589ee4loc_589ee4:
    00589ee4b 0x589eec
    00589ee8
    00589ee8loc_589ee8:
    00589ee8b 0x589eec
    00589eec
    00589eecloc_589eec:
    00589eecstr xzr, [sp+160]
    00589ef0stp xzr, xzr, [sp+144]
    00589ef4ldr x5, [sp+192]
    00589ef8ldrsb x27, [x5]
    00589efcldr x4, [x5+32]
    00589f00str x4, [sp+120]
    00589f04ldr x1, [sp+208]
    00589f08ldr x0, [sp+200]
    00589f0cldr x2, [sp+216]
    00589f10ldr x3, [sp+224]
    00589f14bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    00589f18str x0, [sp+160]
    00589f1cstr x1, [sp+144]
    00589f20str x2, [sp+152]
    00589f24ldr x5, [sp+160]
    00589f28str x5, [sp+112]
    00589f2cldr x5, [sp+152]
    00589f30ldr x6, [sp+144]
    00589f34str x6, [sp+96]
    00589f38str x5, [sp+104]
    00589f3cstr x6, [sp+80]
    00589f40str x5, [sp+88]
    00589f44cbnz x6, 0x589f58
    00589f48b 0x589f4c
    00589f4c
    00589f4cloc_589f4c:
    00589f4cldur x29, [sp-8]
    00589f50ldr x30, [sp], 176
    00589f54ret x30
    00589f58
    00589f58loc_589f58:
    00589f58adrp x0, 0x6c000
    00589f5cadd x0, x0, 2944
    00589f60adrp x1, 0x189000
    00589f64add x1, x1, 1584
    00589f68bl runtime.gopanic
    00589f6c
    00589f6cloc_589f6c:
    00589f6cmov x1, x0
    00589f70bl runtime.panicSliceAcap
    00589f74hint
    00589f78
    00589f78loc_589f78:
    00589f78stp x0, x1, [sp+8]
    00589f7cstp x2, x3, [sp+24]
    00589f80stp x4, x5, [sp+40]
    00589f84mov x3, x30
    00589f88bl runtime.morestack_noctxt.abi0
    00589f8cldp x0, x1, [sp+8]
    00589f90ldp x2, x3, [sp+24]
    00589f94ldp x4, x5, [sp+40]
    00589f98b 0x589e10
    00589f9cudf 0
    00589e10
    00589fa0
    00589fa0crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]: ; void crypto/internal/fips140/ecdsa.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P521Point] * c, struct []uint8 Q)
    00589fa0ldr x16, [x28+16]
    00589fa4sub x17, sp, 32
    00589fa8subs xzr, x17, x16
    00589facb.ls 0x58a134
    00589fb0str x30, [sp-160]!
    00589fb4stur x29, [sp-8]
    00589fb8sub x29, sp, 8
    00589fbcstr x0, [sp+168]
    00589fc0str x1, [sp+176]
    00589fc4str x2, [sp+184]
    00589fc8str x3, [sp+192]
    00589fccstr x4, [sp+200]
    00589fd0str xzr, [sp+64]
    00589fd4stp xzr, xzr, [sp+48]
    00589fd8ldr x0, [sp+176]
    00589fdcldrsb x27, [x0]
    00589fe0ldr x26, [x0+16]
    00589fe4ldr x0, [x26]
    00589fe8blr x0
    00589fecstr x0, [sp+96]
    00589ff0str xzr, [sp+88]
    00589ff4stp xzr, xzr, [sp+136]
    00589ff8ldr x26, [sp+168]
    00589ffcldrsb x27, [x26]
    0058a000ldr x0, [x26]
    0058a004ldr x1, [sp+184]
    0058a008ldr x2, [sp+192]
    0058a00cldr x3, [sp+200]
    0058a010ldr x4, [sp+96]
    0058a014mov x5, x0
    0058a018mov x0, x4
    0058a01cblr x5
    0058a020str x0, [sp+88]
    0058a024str x1, [sp+136]
    0058a028str x2, [sp+144]
    0058a02cldr x0, [sp+88]
    0058a030str x0, [sp+120]
    0058a034ldr x0, [sp+144]
    0058a038ldr x1, [sp+136]
    0058a03cstr x1, [sp+104]
    0058a040str x0, [sp+112]
    0058a044str x1, [sp+72]
    0058a048str x0, [sp+80]
    0058a04ccbnz x1, 0x58a054
    0058a050b 0x58a078
    0058a054
    0058a054loc_58a054:
    0058a054str xzr, [sp+64]
    0058a058ldr x1, [sp+72]
    0058a05cldr x2, [sp+80]
    0058a060str x1, [sp+48]
    0058a064str x2, [sp+56]
    0058a068ldr x0, [sp+64]
    0058a06cldur x29, [sp-8]
    0058a070ldr x30, [sp], 160
    0058a074ret x30
    0058a078
    0058a078loc_58a078:
    0058a078adrp x0, 0xbd000
    0058a07cadd x0, x0, 3872
    0058a080bl runtime.newobject
    0058a084str x0, [sp+128]
    0058a088ldr x1, [sp+176]
    0058a08cldrsb x27, [x1]
    0058a090ldr x2, [x1]
    0058a094ldr x1, [x1+8]
    0058a098str x1, [x0+8]
    0058a09cadrp x27, 0x4c1000
    0058a0a0ldr w1, [x27+3056]
    0058a0a4cbz w1, 0x58a0ac
    0058a0a8b 0x58a0b0
    0058a0ac
    0058a0acloc_58a0ac:
    0058a0acb 0x58a0c4
    0058a0b0
    0058a0b0loc_58a0b0:
    0058a0b0bl runtime.gcWriteBarrier2
    0058a0b4str x2, [x25]
    0058a0b8ldr x3, [x0]
    0058a0bcstr x3, [x25+8]
    0058a0c0b 0x58a0c4
    0058a0c4
    0058a0c4loc_58a0c4:
    0058a0c4str x2, [x0]
    0058a0c8ldr x3, [sp+128]
    0058a0ccldrsb x27, [x3]
    0058a0d0ldr x4, [sp+184]
    0058a0d4ldr x5, [sp+192]
    0058a0d8ldr x6, [sp+200]
    0058a0dcstr x5, [x3+24]
    0058a0e0str x6, [x3+32]
    0058a0e4adrp x27, 0x4c1000
    0058a0e8ldr w5, [x27+3056]
    0058a0eccbz w5, 0x58a0f4
    0058a0f0b 0x58a0f8
    0058a0f4
    0058a0f4loc_58a0f4:
    0058a0f4b 0x58a10c
    0058a0f8
    0058a0f8loc_58a0f8:
    0058a0f8bl runtime.gcWriteBarrier2
    0058a0fcstr x4, [x25]
    0058a100ldr x5, [x3+16]
    0058a104str x5, [x25+8]
    0058a108b 0x58a10c
    0058a10c
    0058a10cloc_58a10c:
    0058a10cstr x4, [x3+16]
    0058a110ldr x3, [sp+128]
    0058a114str x3, [sp+64]
    0058a118stp xzr, xzr, [sp+48]
    0058a11cldr x0, [sp+64]
    0058a120mov x1, xzr
    0058a124mov x2, xzr
    0058a128ldur x29, [sp-8]
    0058a12cldr x30, [sp], 160
    0058a130ret x30
    0058a134
    0058a134loc_58a134:
    0058a134stp x0, x1, [sp+8]
    0058a138stp x2, x3, [sp+24]
    0058a13cstr x4, [sp+40]
    0058a140mov x3, x30
    0058a144bl runtime.morestack_noctxt.abi0
    0058a148ldp x0, x1, [sp+8]
    0058a14cldp x2, x3, [sp+24]
    0058a150ldr x4, [sp+40]
    0058a154b 0x589fa0
    0058a158udf 0
    0058a15cudf 0
    00589fa0
    0058a160
    0058a160crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.Verify[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    0058a160ldr x16, [x28+16]
    0058a164sub x17, sp, 16
    0058a168subs xzr, x17, x16
    0058a16cb.ls 0x58a280
    0058a170str x30, [sp-144]!
    0058a174stur x29, [sp-8]
    0058a178sub x29, sp, 8
    0058a17cstr x0, [sp+152]
    0058a180str x1, [sp+160]
    0058a184str x2, [sp+168]
    0058a188str x3, [sp+176]
    0058a18cstr x4, [sp+184]
    0058a190str x5, [sp+192]
    0058a194str x6, [sp+200]
    0058a198stp xzr, xzr, [sp+64]
    0058a19cldr x3, [sp+168]
    0058a1a0ldrsb x27, [x3]
    0058a1a4ldr x4, [x3]
    0058a1a8ldr x3, [x3+8]
    0058a1acstr x4, [sp+104]
    0058a1b0str x3, [sp+112]
    0058a1b4ldr x3, [sp+160]
    0058a1b8ldrsb x27, [x3]
    0058a1bcldr x1, [x3]
    0058a1c0ldr x3, [x3+8]
    0058a1c4str x1, [sp+88]
    0058a1c8str x3, [sp+96]
    0058a1ccldr x4, [sp+112]
    0058a1d0subs xzr, x4, x3
    0058a1d4b.ne 0x58a1dc
    0058a1d8b 0x58a1e0
    0058a1dc
    0058a1dcloc_58a1dc:
    0058a1dcb 0x58a254
    0058a1e0
    0058a1e0loc_58a1e0:
    0058a1e0ldr x2, [sp+112]
    0058a1e4ldr x0, [sp+104]
    0058a1e8bl runtime.memequal
    0058a1ectbnz w0, 0, 0x58a1f4
    0058a1f0b 0x58a250
    0058a1f4
    0058a1f4loc_58a1f4:
    0058a1f4bl crypto/internal/fips140.RecordApproved
    0058a1f8adrp x27, 0x497000
    0058a1fcldr x26, [x27+328]
    0058a200ldr x0, [x26]
    0058a204blr x0
    0058a208ldr x0, [sp+152]
    0058a20cldrsb x27, [x0]
    0058a210ldr x0, [x0]
    0058a214str x0, [sp+80]
    0058a218ldr x3, [sp+176]
    0058a21cldr x2, [sp+168]
    0058a220ldr x6, [sp+200]
    0058a224ldr x1, [sp+160]
    0058a228ldr x4, [sp+184]
    0058a22cldr x5, [sp+192]
    0058a230bl crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058a234str x0, [sp+120]
    0058a238str x1, [sp+128]
    0058a23cstr x0, [sp+64]
    0058a240str x1, [sp+72]
    0058a244ldur x29, [sp-8]
    0058a248ldr x30, [sp], 144
    0058a24cret x30
    0058a250
    0058a250loc_58a250:
    0058a250b 0x58a254
    0058a254
    0058a254loc_58a254:
    0058a254adrp x0, 0x139000
    0058a258add x0, x0, 576
    0058a25cmovz x1, 38
    0058a260bl errors.New
    0058a264str x0, [sp+120]
    0058a268str x1, [sp+128]
    0058a26cstr x0, [sp+64]
    0058a270str x1, [sp+72]
    0058a274ldur x29, [sp-8]
    0058a278ldr x30, [sp], 144
    0058a27cret x30
    0058a280
    0058a280loc_58a280:
    0058a280stp x0, x1, [sp+8]
    0058a284stp x2, x3, [sp+24]
    0058a288stp x4, x5, [sp+40]
    0058a28cstr x6, [sp+56]
    0058a290mov x3, x30
    0058a294bl runtime.morestack_noctxt.abi0
    0058a298ldp x0, x1, [sp+8]
    0058a29cldp x2, x3, [sp+24]
    0058a2a0ldp x4, x5, [sp+40]
    0058a2a4ldr x6, [sp+56]
    0058a2a8b 0x58a160
    0058a2acudf 0
    0058a160
    0058a2b0
    0058a2b0crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.verify[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[2] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    0058a2b0ldr x16, [x28+16]
    0058a2b4subs xzr, sp, x16
    0058a2b8b.ls 0x58a330
    0058a2bcstr x30, [sp-112]!
    0058a2c0stur x29, [sp-8]
    0058a2c4sub x29, sp, 8
    0058a2c8str x0, [sp+120]
    0058a2ccstr x1, [sp+128]
    0058a2d0str x2, [sp+136]
    0058a2d4str x3, [sp+144]
    0058a2d8str x4, [sp+152]
    0058a2dcstr x5, [sp+160]
    0058a2e0str x6, [sp+168]
    0058a2e4stp xzr, xzr, [sp+64]
    0058a2e8ldr x7, [sp+120]
    0058a2ecldrsb x27, [x7]
    0058a2f0ldr x0, [x7]
    0058a2f4str x0, [sp+80]
    0058a2f8ldr x3, [sp+144]
    0058a2fcldr x2, [sp+136]
    0058a300ldr x6, [sp+168]
    0058a304ldr x1, [sp+128]
    0058a308ldr x4, [sp+152]
    0058a30cldr x5, [sp+160]
    0058a310bl crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058a314str x0, [sp+88]
    0058a318str x1, [sp+96]
    0058a31cstr x0, [sp+64]
    0058a320str x1, [sp+72]
    0058a324ldur x29, [sp-8]
    0058a328ldr x30, [sp], 112
    0058a32cret x30
    0058a330
    0058a330loc_58a330:
    0058a330stp x0, x1, [sp+8]
    0058a334stp x2, x3, [sp+24]
    0058a338stp x4, x5, [sp+40]
    0058a33cstr x6, [sp+56]
    0058a340mov x3, x30
    0058a344bl runtime.morestack_noctxt.abi0
    0058a348ldp x0, x1, [sp+8]
    0058a34cldp x2, x3, [sp+24]
    0058a350ldp x4, x5, [sp+40]
    0058a354ldr x6, [sp+56]
    0058a358b 0x58a2b0
    0058a35cudf 0
    0058a2b0
    0058a360
    0058a360crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P384Point]: ; void crypto/internal/fips140/ecdsa.verifyGeneric[go.shape.*crypto/internal/fips140/nistec.P384Point](uintptr[9] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P384Point] * c, crypto/internal/fips140/ecdsa.PublicKey * pub, struct []uint8 hash, crypto/internal/fips140/ecdsa.Signature * sig)
    0058a360ldr x16, [x28+16]
    0058a364sub x17, sp, 464
    0058a368subs xzr, x17, x16
    0058a36cb.ls 0x58aa00
    0058a370sub x20, sp, 592
    0058a374stp x29, x30, [x20-8]
    0058a378add sp, x20, 0
    0058a37csub x29, sp, 8
    0058a380str x0, [sp+600]
    0058a384str x1, [sp+608]
    0058a388str x2, [sp+616]
    0058a38cstr x3, [sp+624]
    0058a390str x4, [sp+632]
    0058a394str x5, [sp+640]
    0058a398str x6, [sp+648]
    0058a39cstp xzr, xzr, [sp+64]
    0058a3a0ldr x0, [sp+608]
    0058a3a4ldrsb x27, [x0]
    0058a3a8ldr x26, [x0+16]
    0058a3acldr x0, [x26]
    0058a3b0blr x0
    0058a3b4str x0, [sp+416]
    0058a3b8str xzr, [sp+408]
    0058a3bcstp xzr, xzr, [sp+392]
    0058a3c0ldr x0, [sp+616]
    0058a3c4ldrsb x27, [x0]
    0058a3c8ldr x1, [x0+16]
    0058a3ccldr x2, [x0+24]
    0058a3d0ldr x3, [x0+32]
    0058a3d4str x1, [sp+328]
    0058a3d8str x2, [sp+336]
    0058a3dcstr x3, [sp+344]
    0058a3e0ldr x26, [sp+600]
    0058a3e4ldrsb x27, [x26]
    0058a3e8ldr x0, [x26]
    0058a3ecldr x4, [sp+416]
    0058a3f0mov x5, x0
    0058a3f4mov x0, x4
    0058a3f8blr x5
    0058a3fcstr x0, [sp+408]
    0058a400str x1, [sp+392]
    0058a404str x2, [sp+400]
    0058a408ldr x0, [sp+408]
    0058a40cstr x0, [sp+200]
    0058a410ldr x0, [sp+392]
    0058a414ldr x1, [sp+400]
    0058a418str x0, [sp+184]
    0058a41cstr x1, [sp+192]
    0058a420ldr x0, [sp+200]
    0058a424str x0, [sp+176]
    0058a428ldr x1, [sp+192]
    0058a42cldr x0, [sp+184]
    0058a430str x0, [sp+128]
    0058a434str x1, [sp+136]
    0058a438cbnz x0, 0x58a440
    0058a43cb 0x58a454
    0058a440
    0058a440loc_58a440:
    0058a440str x0, [sp+64]
    0058a444str x1, [sp+72]
    0058a448ldp x29, x30, [sp-8]
    0058a44cadd sp, sp, 592
    0058a450ret x30
    0058a454
    0058a454loc_58a454:
    0058a454bl crypto/internal/fips140/bigmod.NewNat
    0058a458str x0, [sp+384]
    0058a45cstr xzr, [sp+376]
    0058a460stp xzr, xzr, [sp+392]
    0058a464ldr x0, [sp+648]
    0058a468ldrsb x27, [x0]
    0058a46cldr x1, [x0]
    0058a470ldr x2, [x0+8]
    0058a474ldr x0, [x0+16]
    0058a478str x1, [sp+304]
    0058a47cstr x2, [sp+312]
    0058a480str x0, [sp+320]
    0058a484ldr x0, [sp+608]
    0058a488ldrsb x27, [x0]
    0058a48cldr x4, [x0+32]
    0058a490str x4, [sp+296]
    0058a494ldr x1, [sp+304]
    0058a498ldr x2, [sp+312]
    0058a49cldr x3, [sp+320]
    0058a4a0ldr x0, [sp+384]
    0058a4a4bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058a4a8str x0, [sp+376]
    0058a4acstr x1, [sp+392]
    0058a4b0str x2, [sp+400]
    0058a4b4ldr x0, [sp+376]
    0058a4b8str x0, [sp+576]
    0058a4bcldr x0, [sp+392]
    0058a4c0ldr x1, [sp+400]
    0058a4c4str x0, [sp+560]
    0058a4c8str x1, [sp+568]
    0058a4ccldr x0, [sp+576]
    0058a4d0str x0, [sp+104]
    0058a4d4ldr x1, [sp+568]
    0058a4d8ldr x0, [sp+560]
    0058a4dcstr x0, [sp+128]
    0058a4e0str x1, [sp+136]
    0058a4e4cbnz x0, 0x58a4ec
    0058a4e8b 0x58a500
    0058a4ec
    0058a4ecloc_58a4ec:
    0058a4ecstr x0, [sp+64]
    0058a4f0str x1, [sp+72]
    0058a4f4ldp x29, x30, [sp-8]
    0058a4f8add sp, sp, 592
    0058a4fcret x30
    0058a500
    0058a500loc_58a500:
    0058a500ldr x0, [sp+104]
    0058a504bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058a508str x0, [sp+56]
    0058a50csubs xzr, x0, 1
    0058a510b.eq 0x58a518
    0058a514b 0x58a544
    0058a518
    0058a518loc_58a518:
    0058a518adrp x0, 0x136000
    0058a51cadd x0, x0, 4031
    0058a520movz x1, 35
    0058a524bl errors.New
    0058a528str x0, [sp+392]
    0058a52cstr x1, [sp+400]
    0058a530str x0, [sp+64]
    0058a534str x1, [sp+72]
    0058a538ldp x29, x30, [sp-8]
    0058a53cadd sp, sp, 592
    0058a540ret x30
    0058a544
    0058a544loc_58a544:
    0058a544bl crypto/internal/fips140/bigmod.NewNat
    0058a548str x0, [sp+376]
    0058a54cstr xzr, [sp+384]
    0058a550stp xzr, xzr, [sp+392]
    0058a554ldr x0, [sp+648]
    0058a558ldrsb x27, [x0]
    0058a55cldr x1, [x0+24]
    0058a560ldr x2, [x0+32]
    0058a564ldr x0, [x0+40]
    0058a568str x1, [sp+272]
    0058a56cstr x2, [sp+280]
    0058a570str x0, [sp+288]
    0058a574ldr x0, [sp+608]
    0058a578ldrsb x27, [x0]
    0058a57cldr x4, [x0+32]
    0058a580str x4, [sp+264]
    0058a584ldr x1, [sp+272]
    0058a588ldr x2, [sp+280]
    0058a58cldr x3, [sp+288]
    0058a590ldr x0, [sp+376]
    0058a594bl crypto/internal/fips140/bigmod.(*Nat).SetBytes
    0058a598str x0, [sp+384]
    0058a59cstr x1, [sp+392]
    0058a5a0str x2, [sp+400]
    0058a5a4ldr x0, [sp+384]
    0058a5a8str x0, [sp+552]
    0058a5acldr x0, [sp+392]
    0058a5b0ldr x1, [sp+400]
    0058a5b4str x0, [sp+536]
    0058a5b8str x1, [sp+544]
    0058a5bcldr x0, [sp+552]
    0058a5c0str x0, [sp+96]
    0058a5c4ldr x1, [sp+544]
    0058a5c8ldr x0, [sp+536]
    0058a5ccstr x0, [sp+128]
    0058a5d0str x1, [sp+136]
    0058a5d4cbnz x0, 0x58a5dc
    0058a5d8b 0x58a5f0
    0058a5dc
    0058a5dcloc_58a5dc:
    0058a5dcstr x0, [sp+64]
    0058a5e0str x1, [sp+72]
    0058a5e4ldp x29, x30, [sp-8]
    0058a5e8add sp, sp, 592
    0058a5ecret x30
    0058a5f0
    0058a5f0loc_58a5f0:
    0058a5f0ldr x0, [sp+96]
    0058a5f4bl crypto/internal/fips140/bigmod.(*Nat).IsZero
    0058a5f8str x0, [sp+56]
    0058a5fcsubs xzr, x0, 1
    0058a600b.eq 0x58a608
    0058a604b 0x58a634
    0058a608
    0058a608loc_58a608:
    0058a608adrp x0, 0x136000
    0058a60cadd x0, x0, 4066
    0058a610movz x1, 35
    0058a614bl errors.New
    0058a618str x0, [sp+392]
    0058a61cstr x1, [sp+400]
    0058a620str x0, [sp+64]
    0058a624str x1, [sp+72]
    0058a628ldp x29, x30, [sp-8]
    0058a62cadd sp, sp, 592
    0058a630ret x30
    0058a634
    0058a634loc_58a634:
    0058a634bl crypto/internal/fips140/bigmod.NewNat
    0058a638str x0, [sp+144]
    0058a63cldr x0, [sp+600]
    0058a640ldrsb x27, [x0]
    0058a644ldr x0, [x0+40]
    0058a648str x0, [sp+256]
    0058a64cldr x3, [sp+624]
    0058a650ldr x2, [sp+144]
    0058a654ldr x1, [sp+608]
    0058a658ldr x4, [sp+632]
    0058a65cldr x5, [sp+640]
    0058a660bl crypto/internal/fips140/ecdsa.hashToNat[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058a664bl crypto/internal/fips140/bigmod.NewNat
    0058a668str x0, [sp+80]
    0058a66cldr x0, [sp+600]
    0058a670ldrsb x27, [x0]
    0058a674ldr x0, [x0+48]
    0058a678str x0, [sp+248]
    0058a67cldr x2, [sp+80]
    0058a680ldr x3, [sp+96]
    0058a684ldr x1, [sp+608]
    0058a688bl crypto/internal/fips140/ecdsa.inverse[go.shape.*crypto/internal/fips140/nistec.P384Point]
    0058a68cldr x0, [sp+608]
    0058a690ldrsb x27, [x0]
    0058a694ldr x26, [x0+16]
    0058a698ldr x0, [x26]
    0058a69cblr x0
    0058a6a0str x0, [sp+408]
    0058a6a4ldr x0, [sp+608]
    0058a6a8ldrsb x27, [x0]
    0058a6acldr x2, [x0+32]
    0058a6b0str x2, [sp+240]
    0058a6b4ldr x0, [sp+144]
    0058a6b8ldr x1, [sp+80]
    0058a6bcbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058a6c0str x0, [sp+384]
    0058a6c4ldr x0, [sp+608]
    0058a6c8ldrsb x27, [x0]
    0058a6ccldr x1, [x0+32]
    0058a6d0str x1, [sp+232]
    0058a6d4ldr x0, [sp+384]
    0058a6d8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058a6dcstr x0, [sp+352]
    0058a6e0str x1, [sp+360]
    0058a6e4str x2, [sp+368]
    0058a6e8str xzr, [sp+416]
    0058a6ecstp xzr, xzr, [sp+392]
    0058a6f0ldr x0, [sp+600]
    0058a6f4ldrsb x27, [x0]
    0058a6f8add x26, x0, 8
    0058a6fcldr x0, [x0+8]
    0058a700ldr x1, [sp+352]
    0058a704ldr x2, [sp+360]
    0058a708ldr x3, [sp+368]
    0058a70cldr x4, [sp+408]
    0058a710mov x5, x0
    0058a714mov x0, x4
    0058a718blr x5
    0058a71cstr x0, [sp+416]
    0058a720str x1, [sp+392]
    0058a724str x2, [sp+400]
    0058a728ldr x0, [sp+416]
    0058a72cstr x0, [sp+528]
    0058a730ldr x0, [sp+392]
    0058a734ldr x1, [sp+400]
    0058a738str x0, [sp+512]
    0058a73cstr x1, [sp+520]
    0058a740ldr x0, [sp+528]
    0058a744str x0, [sp+120]
    0058a748ldr x1, [sp+520]
    0058a74cldr x0, [sp+512]
    0058a750str x0, [sp+128]
    0058a754str x1, [sp+136]
    0058a758cbnz x0, 0x58a760
    0058a75cb 0x58a774
    0058a760
    0058a760loc_58a760:
    0058a760str x0, [sp+64]
    0058a764str x1, [sp+72]
    0058a768ldp x29, x30, [sp-8]
    0058a76cadd sp, sp, 592
    0058a770ret x30
    0058a774
    0058a774loc_58a774:
    0058a774ldr x3, [sp+608]
    0058a778ldrsb x27, [x3]
    0058a77cldr x2, [x3+32]
    0058a780str x2, [sp+224]
    0058a784ldr x0, [sp+80]
    0058a788ldr x1, [sp+104]
    0058a78cbl crypto/internal/fips140/bigmod.(*Nat).Mul
    0058a790str x0, [sp+384]
    0058a794ldr x3, [sp+608]
    0058a798ldrsb x27, [x3]
    0058a79cldr x1, [x3+32]
    0058a7a0str x1, [sp+216]
    0058a7a4ldr x0, [sp+384]
    0058a7a8bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    0058a7acstr x0, [sp+352]
    0058a7b0str x1, [sp+360]
    0058a7b4str x2, [sp+368]
    0058a7b8str xzr, [sp+416]
    0058a7bcstp xzr, xzr, [sp+392]
    0058a7c0ldr x3, [sp+600]
    0058a7c4ldrsb x27, [x3]
    0058a7c8add x26, x3, 16
    0058a7ccldr x0, [sp+176]
    0058a7d0ldr x1, [sp+176]
    0058a7d4ldr x3, [x3+16]
    0058a7d8ldr x2, [sp+352]
    0058a7dcldr x4, [sp+360]
    0058a7e0ldr x5, [sp+368]
    0058a7e4mov x6, x3
    0058a7e8mov x3, x4
    0058a7ecmov x4, x5
    0058a7f0blr x6
    0058a7f4str x0, [sp+416]
    0058a7f8str x1, [sp+392]
    0058a7fcstr x2, [sp+400]
    0058a800ldr x3, [sp+416]
    0058a804str x3, [sp+504]
    0058a808ldr x3, [sp+392]
    0058a80cldr x4, [sp+400]
    0058a810str x3, [sp+488]
    0058a814str x4, [sp+496]
    0058a818ldr x3, [sp+504]
    0058a81cstr x3, [sp+112]
    0058a820ldr x1, [sp+496]
    0058a824ldr x0, [sp+488]
    0058a828str x0, [sp+128]
    0058a82cstr x1, [sp+136]
    0058a830cbnz x0, 0x58a838
    0058a834b 0x58a84c
    0058a838
    0058a838loc_58a838:
    0058a838str x0, [sp+64]
    0058a83cstr x1, [sp+72]
    0058a840ldp x29, x30, [sp-8]
    0058a844add sp, sp, 592
    0058a848ret x30
    0058a84c
    0058a84cloc_58a84c:
    0058a84cldr x3, [sp+600]
    0058a850ldrsb x27, [x3]
    0058a854add x26, x3, 24
    0058a858ldr x0, [sp+120]
    0058a85cldr x1, [sp+120]
    0058a860ldr x2, [sp+112]
    0058a864ldr x3, [x3+24]
    0058a868blr x3
    0058a86cstr x0, [sp+416]
    0058a870str xzr, [sp+352]
    0058a874stp xzr, xzr, [sp+360]
    0058a878stp xzr, xzr, [sp+392]
    0058a87cldr x3, [sp+600]
    0058a880ldrsb x27, [x3]
    0058a884add x26, x3, 32
    0058a888ldr x3, [x3+32]
    0058a88cldr x0, [sp+416]
    0058a890blr x3
    0058a894str x0, [sp+352]
    0058a898str x1, [sp+360]
    0058a89cstr x2, [sp+368]
    0058a8a0str x3, [sp+392]
    0058a8a4str x4, [sp+400]
    0058a8a8ldr x3, [sp+352]
    0058a8acldr x4, [sp+360]
    0058a8b0ldr x5, [sp+368]
    0058a8b4str x3, [sp+464]
    0058a8b8str x4, [sp+472]
    0058a8bcstr x5, [sp+480]
    0058a8c0ldr x3, [sp+392]
    0058a8c4ldr x4, [sp+400]
    0058a8c8str x3, [sp+448]
    0058a8ccstr x4, [sp+456]
    0058a8d0ldr x3, [sp+464]
    0058a8d4ldr x4, [sp+472]
    0058a8d8ldr x5, [sp+480]
    0058a8dcstr x3, [sp+152]
    0058a8e0str x4, [sp+160]
    0058a8e4str x5, [sp+168]
    0058a8e8ldr x1, [sp+456]
    0058a8ecldr x0, [sp+448]
    0058a8f0str x0, [sp+128]
    0058a8f4str x1, [sp+136]
    0058a8f8cbnz x0, 0x58a900
    0058a8fcb 0x58a914
    0058a900
    0058a900loc_58a900:
    0058a900str x0, [sp+64]
    0058a904str x1, [sp+72]
    0058a908ldp x29, x30, [sp-8]
    0058a90cadd sp, sp, 592
    0058a910ret x30
    0058a914
    0058a914loc_58a914:
    0058a914bl crypto/internal/fips140/bigmod.NewNat
    0058a918str x0, [sp+384]
    0058a91cstr xzr, [sp+376]
    0058a920stp xzr, xzr, [sp+392]
    0058a924ldr x0, [sp+608]
    0058a928ldrsb x27, [x0]
    0058a92cldr x4, [x0+32]
    0058a930str x4, [sp+208]
    0058a934ldr x1, [sp+152]
    0058a938ldr x2, [sp+160]
    0058a93cldr x3, [sp+168]
    0058a940ldr x0, [sp+384]
    0058a944bl crypto/internal/fips140/bigmod.(*Nat).SetOverflowingBytes
    0058a948str x0, [sp+376]
    0058a94cstr x1, [sp+392]
    0058a950str x2, [sp+400]
    0058a954ldr x0, [sp+376]
    0058a958str x0, [sp+440]
    0058a95cldr x0, [sp+392]
    0058a960ldr x1, [sp+400]
    0058a964str x0, [sp+424]
    0058a968str x1, [sp+432]
    0058a96cldr x0, [sp+440]
    0058a970str x0, [sp+88]
    0058a974ldr x1, [sp+432]
    0058a978ldr x0, [sp+424]
    0058a97cstr x0, [sp+128]
    0058a980str x1, [sp+136]
    0058a984cbnz x0, 0x58a98c
    0058a988b 0x58a9a0
    0058a98c
    0058a98cloc_58a98c:
    0058a98cstr x0, [sp+64]
    0058a990str x1, [sp+72]
    0058a994ldp x29, x30, [sp-8]
    0058a998add sp, sp, 592
    0058a99cret x30
    0058a9a0
    0058a9a0loc_58a9a0:
    0058a9a0ldr x1, [sp+104]
    0058a9a4ldr x0, [sp+88]
    0058a9a8bl crypto/internal/fips140/bigmod.(*Nat).Equal
    0058a9acstr x0, [sp+56]
    0058a9b0subs xzr, x0, 1
    0058a9b4b.ne 0x58a9bc
    0058a9b8b 0x58a9e8
    0058a9bc
    0058a9bcloc_58a9bc:
    0058a9bcadrp x0, 0x134000
    0058a9c0add x0, x0, 351
    0058a9c4orr x1, xzr, 31
    0058a9c8bl errors.New
    0058a9ccstr x0, [sp+392]
    0058a9d0str x1, [sp+400]
    0058a9d4str x0, [sp+64]
    0058a9d8str x1, [sp+72]
    0058a9dcldp x29, x30, [sp-8]
    0058a9e0add sp, sp, 592
    0058a9e4ret x30
    0058a9e8
    0058a9e8loc_58a9e8:
    0058a9e8stp xzr, xzr, [sp+64]
    0058a9ecmov x0, xzr
    0058a9f0mov x1, xzr
    0058a9f4ldp x29, x30, [sp-8]
    0058a9f8add sp, sp, 592
    0058a9fcret x30
    0058aa00
    0058aa00loc_58aa00:
    0058aa00stp x0, x1, [sp+8]
    0058aa04stp x2, x3, [sp+24]
    0058aa08stp x4, x5, [sp+40]
    0058aa0cstr x6, [sp+56]
    0058aa10mov x3, x30
    0058aa14bl runtime.morestack_noctxt.abi0
    0058aa18ldp x0, x1, [sp+8]
    0058aa1cldp x2, x3, [sp+24]
    0058aa20ldp x4, x5, [sp+40]
    0058aa24ldr x6, [sp+56]
    0058aa28b 0x58a360
    0058aa2cudf 0
    0058a360