File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00051d00
    00051d00runtime.casfrom_Gscanstatus: ; void runtime.casfrom_Gscanstatus(runtime.g * gp, uint32 oldval, uint32 newval)
    00051d00ldr x16, [x28+16]
    00051d04subs xzr, sp, x16
    00051d08b.ls 0x51e4c
    00051d0cstr x30, [sp-32]!
    00051d10stur x29, [sp-8]
    00051d14sub x29, sp, 8
    00051d18str x0, [sp+40]
    00051d1cstr w1, [sp+48]
    00051d20str w2, [sp+52]
    00051d24movz x3, 4097
    00051d28sub x3, x1, x3
    00051d2csubs wzr, w3, 3
    00051d30b.ls 0x51d40
    00051d34movz x3, 4105
    00051d38subs wzr, w1, w3
    00051d3cb.ne 0x51ddc
    00051d40
    00051d40loc_51d40:
    00051d40and x3, x1, -4097
    00051d44subs wzr, w2, w3
    00051d48b.ne 0x51d70
    00051d4cldrsb x27, [x0]
    00051d50add x0, x0, 152
    00051d54bl internal/runtime/atomic.(*Uint32).CompareAndSwap
    00051d58tbz w0, 0, 0x51d70
    00051d5cmovz x0, 45
    00051d60bl runtime.releaseLockRankAndM
    00051d64ldur x29, [sp-8]
    00051d68ldr x30, [sp], 32
    00051d6cret x30
    00051d70
    00051d70loc_51d70:
    00051d70bl runtime.printlock
    00051d74adrp x0, 0x672000
    00051d78add x0, x0, 1573
    00051d7cmovz x1, 39
    00051d80bl runtime.printstring
    00051d84ldr x0, [sp+40]
    00051d88bl runtime.printpointer
    00051d8cadrp x0, 0x660000
    00051d90add x0, x0, 2956
    00051d94movz x1, 9
    00051d98bl runtime.printstring
    00051d9cldr w0, [sp+48]
    00051da0bl runtime.printhex
    00051da4adrp x0, 0x660000
    00051da8add x0, x0, 2965
    00051dacmovz x1, 9
    00051db0bl runtime.printstring
    00051db4ldr w0, [sp+52]
    00051db8bl runtime.printhex
    00051dbcbl runtime.printnl
    00051dc0bl runtime.printunlock
    00051dc4ldr x0, [sp+40]
    00051dc8bl runtime.dumpgstatus
    00051dccadrp x0, 0x678000
    00051dd0add x0, x0, 3795
    00051dd4movz x1, 52
    00051dd8bl runtime.throw
    00051ddc
    00051ddcloc_51ddc:
    00051ddcbl runtime.printlock
    00051de0adrp x0, 0x674000
    00051de4add x0, x0, 3354
    00051de8movz x1, 43
    00051decbl runtime.printstring
    00051df0ldr x0, [sp+40]
    00051df4bl runtime.printpointer
    00051df8adrp x0, 0x660000
    00051dfcadd x0, x0, 2956
    00051e00movz x1, 9
    00051e04bl runtime.printstring
    00051e08ldr w0, [sp+48]
    00051e0cbl runtime.printhex
    00051e10adrp x0, 0x660000
    00051e14add x0, x0, 2965
    00051e18movz x1, 9
    00051e1cbl runtime.printstring
    00051e20ldr w0, [sp+52]
    00051e24bl runtime.printhex
    00051e28bl runtime.printnl
    00051e2cbl runtime.printunlock
    00051e30ldr x0, [sp+40]
    00051e34bl runtime.dumpgstatus
    00051e38adrp x0, 0x679000
    00051e3cadd x0, x0, 3852
    00051e40movz x1, 55
    00051e44bl runtime.throw
    00051e48hint
    00051e4c
    00051e4cloc_51e4c:
    00051e4cstr x0, [sp+8]
    00051e50stp w1, w2, [sp+16]
    00051e54mov x3, x30
    00051e58bl runtime.morestack_noctxt.abi0
    00051e5cldr x0, [sp+8]
    00051e60ldp w1, w2, [sp+16]
    00051e64b 0x51d00
    00051e68udf 0
    00051e6cudf 0
    00051d00
    00051e70
    00051e70runtime.castogscanstatus: ; void runtime.castogscanstatus(runtime.g * gp, uint32 oldval, uint32 newval)
    00051e70ldr x16, [x28+16]
    00051e74subs xzr, sp, x16
    00051e78b.ls 0x51f24
    00051e7cstr x30, [sp-48]!
    00051e80stur x29, [sp-8]
    00051e84sub x29, sp, 8
    00051e88str w1, [sp+64]
    00051e8cstr w2, [sp+68]
    00051e90cbz w1, 0x51ed4
    00051e94subs wzr, w1, 4
    00051e98b.hi 0x51ed4
    00051e9corr x3, x1, 4096
    00051ea0subs wzr, w2, w3
    00051ea4b.ne 0x51ed4
    00051ea8ldrsb x27, [x0]
    00051eacadd x0, x0, 152
    00051eb0bl internal/runtime/atomic.(*Uint32).CompareAndSwap
    00051eb4tbz w0, 0, 0x51ec8
    00051eb8strb w0, [sp+39]
    00051ebcmovz x0, 45
    00051ec0bl runtime.acquireLockRankAndM
    00051ec4ldrb w0, [sp+39]
    00051ec8
    00051ec8loc_51ec8:
    00051ec8ldur x29, [sp-8]
    00051eccldr x30, [sp], 48
    00051ed0ret x30
    00051ed4
    00051ed4loc_51ed4:
    00051ed4bl runtime.printlock
    00051ed8adrp x0, 0x66e000
    00051edcadd x0, x0, 771
    00051ee0movz x1, 33
    00051ee4bl runtime.printstring
    00051ee8ldr w0, [sp+64]
    00051eecbl runtime.printhex
    00051ef0adrp x0, 0x660000
    00051ef4add x0, x0, 716
    00051ef8orr x1, xzr, 8
    00051efcbl runtime.printstring
    00051f00ldr w0, [sp+68]
    00051f04bl runtime.printhex
    00051f08bl runtime.printnl
    00051f0cbl runtime.printunlock
    00051f10adrp x0, 0x663000
    00051f14add x0, x0, 2484
    00051f18orr x1, xzr, 16
    00051f1cbl runtime.throw
    00051f20hint
    00051f24
    00051f24loc_51f24:
    00051f24str x0, [sp+8]
    00051f28stp w1, w2, [sp+16]
    00051f2cmov x3, x30
    00051f30bl runtime.morestack_noctxt.abi0
    00051f34ldr x0, [sp+8]
    00051f38ldp w1, w2, [sp+16]
    00051f3cb 0x51e70
    00051e70
    00051f40
    00051f40runtime.casgstatus: ; void runtime.casgstatus(runtime.g * gp, uint32 oldval, uint32 newval)
    00051f40str x30, [sp-112]!
    00051f44stur x29, [sp-8]
    00051f48sub x29, sp, 8
    00051f4cstr x0, [sp+120]
    00051f50str w1, [sp+128]
    00051f54str w2, [sp+132]
    00051f58tbnz w1, 12, 0x51f68
    00051f5ctbnz w2, 12, 0x51f68
    00051f60subs wzr, w2, w1
    00051f64b.ne 0x51f88
    00051f68
    00051f68loc_51f68:
    00051f68adrp x0, 4096
    00051f6cadd x0, x0, 624
    00051f70str x0, [sp+56]
    00051f74str w1, [sp+64]
    00051f78str w2, [sp+68]
    00051f7cadd x0, sp, 56
    00051f80str x0, [sp+8]
    00051f84bl runtime.systemstack.abi0
    00051f88
    00051f88loc_51f88:
    00051f88mov x0, xzr
    00051f8cmovz x1, 45
    00051f90bl runtime.lockWithRankMayAcquire
    00051f94mov x0, xzr
    00051f98mov x1, xzr
    00051f9cb 0x51fac
    00051fa0
    00051fa0loc_51fa0:
    00051fa0ldr x3, [sp+48]
    00051fa4add x0, x3, 1
    00051fa8mov x1, x2
    00051fac
    00051facloc_51fac:
    00051facstr x1, [sp+40]
    00051fb0str x0, [sp+48]
    00051fb4ldr x3, [sp+120]
    00051fb8ldrsb x27, [x3]
    00051fbcadd x0, x3, 152
    00051fc0str x0, [sp+72]
    00051fc4ldr w1, [sp+128]
    00051fc8ldr w2, [sp+132]
    00051fccbl internal/runtime/atomic.(*Uint32).CompareAndSwap
    00051fd0tbnz w0, 0, 0x52058
    00051fd4ldr w1, [sp+128]
    00051fd8subs wzr, w1, 4
    00051fdcb.ne 0x5200c
    00051fe0ldr x0, [sp+72]
    00051fe4bl internal/runtime/atomic.(*Uint32).Load
    00051fe8subs wzr, w0, 1
    00051fecb.eq 0x51ff8
    00051ff0ldr w1, [sp+128]
    00051ff4b 0x5200c
    00051ff8
    00051ff8loc_51ff8:
    00051ff8adrp x0, 0x687000
    00051ffcadd x0, x0, 1672
    00052000str x0, [sp+8]
    00052004bl runtime.systemstack.abi0
    00052008ldr w1, [sp+128]
    0005200c
    0005200cloc_5200c:
    0005200cldr x0, [sp+48]
    00052010cbz x0, 0x5201c
    00052014ldr x2, [sp+40]
    00052018b 0x5202c
    0005201c
    0005201cloc_5201c:
    0005201cbl runtime.nanotime
    00052020movz x1, 5000
    00052024add x1, x1, x0
    00052028mov x2, x1
    0005202c
    0005202cloc_5202c:
    0005202cstr x2, [sp+40]
    00052030bl runtime.nanotime
    00052034ldr x1, [sp+40]
    00052038subs xzr, x0, x1
    0005203cb.ge 0x52048
    00052040mov x0, xzr
    00052044b 0x521e0
    00052048
    00052048loc_52048:
    00052048bl runtime.osyield.abi0
    0005204cbl runtime.nanotime
    00052050add x2, x0, 2500
    00052054b 0x51fa0
    00052058
    00052058loc_52058:
    00052058ldr x2, [sp+120]
    0005205cldr x3, [x2+392]
    00052060cbz x3, 0x52094
    00052064adrp x0, 0
    00052068add x0, x0, 544
    0005206cstr x0, [sp+80]
    00052070str x2, [sp+88]
    00052074ldr w0, [sp+128]
    00052078str w0, [sp+96]
    0005207cldr w0, [sp+132]
    00052080str w0, [sp+100]
    00052084add x0, sp, 80
    00052088str x0, [sp+8]
    0005208cbl runtime.systemstack.abi0
    00052090ldr x2, [sp+120]
    00052094
    00052094loc_52094:
    00052094ldr w3, [sp+128]
    00052098subs wzr, w3, 2
    0005209cb.ne 0x520cc
    000520a0adrp x27, 0x9f9000
    000520a4ldrb w4, [x27+1526]
    000520a8tbnz w4, 0, 0x520b8
    000520acldrb w4, [x2+199]
    000520b0ands wzr, w4, 7
    000520b4b.ne 0x520c0
    000520b8
    000520b8loc_520b8:
    000520b8orr x4, xzr, 1
    000520bcstrb w4, [x2+198]
    000520c0
    000520c0loc_520c0:
    000520c0ldrb w4, [x2+199]
    000520c4add x4, x4, 1
    000520c8strb w4, [x2+199]
    000520cc
    000520ccloc_520cc:
    000520ccldrb w4, [x2+198]
    000520d0tbz w4, 0, 0x521bc
    000520d4subs wzr, w3, 1
    000520d8b.eq 0x52128
    000520dcsubs wzr, w3, 4
    000520e0b.ne 0x5214c
    000520e4ldrb w0, [x2+184]
    000520e8bl runtime.waitReason.isMutexWait
    000520ectbnz w0, 0, 0x520f8
    000520f0ldr x2, [sp+120]
    000520f4b 0x5214c
    000520f8
    000520f8loc_520f8:
    000520f8bl runtime.nanotime
    000520fcldr x1, [sp+120]
    00052100ldr x1, [x1+200]
    00052104sub x0, x0, x1
    00052108ubfm x1, x0, 61, 60
    0005210cadrp x0, 0x9d5000
    00052110add x0, x0, 1752
    00052114bl internal/runtime/atomic.(*Int64).Add
    00052118ldr x0, [sp+120]
    0005211cstr xzr, [x0+200]
    00052120mov x2, x0
    00052124b 0x5214c
    00052128
    00052128loc_52128:
    00052128bl runtime.nanotime
    0005212cldr x1, [sp+120]
    00052130ldr x2, [x1+208]
    00052134ldr x3, [x1+200]
    00052138sub x0, x0, x3
    0005213cadd x0, x0, x2
    00052140str x0, [x1+208]
    00052144str xzr, [x1+200]
    00052148mov x2, x1
    0005214c
    0005214cloc_5214c:
    0005214cldr w3, [sp+132]
    00052150subs wzr, w3, 1
    00052154b.eq 0x521a4
    00052158subs wzr, w3, 2
    0005215cb.eq 0x52184
    00052160subs wzr, w3, 4
    00052164b.ne 0x521b0
    00052168ldrb w0, [x2+184]
    0005216cbl runtime.waitReason.isMutexWait
    00052170tbz w0, 0, 0x521b0
    00052174bl runtime.nanotime
    00052178ldr x1, [sp+120]
    0005217cstr x0, [x1+200]
    00052180b 0x521b0
    00052184
    00052184loc_52184:
    00052184strb wzr, [x2+198]
    00052188ldr x1, [x2+208]
    0005218cadrp x0, 0x9d5000
    00052190add x0, x0, 448
    00052194bl runtime.(*timeHistogram).record
    00052198ldr x2, [sp+120]
    0005219cstr xzr, [x2+208]
    000521a0b 0x521b0
    000521a4
    000521a4loc_521a4:
    000521a4bl runtime.nanotime
    000521a8ldr x1, [sp+120]
    000521acstr x0, [x1+200]
    000521b0
    000521b0loc_521b0:
    000521b0ldur x29, [sp-8]
    000521b4ldr x30, [sp], 112
    000521b8ret x30
    000521bc
    000521bcloc_521bc:
    000521bcldur x29, [sp-8]
    000521c0ldr x30, [sp], 112
    000521c4ret x30
    000521c8
    000521c8loc_521c8:
    000521c8orr x0, xzr, 1
    000521ccstr w0, [sp+8]
    000521d0bl runtime.procyield.abi0
    000521d4ldr x0, [sp+32]
    000521d8add x0, x0, 1
    000521dcldr x1, [sp+40]
    000521e0
    000521e0loc_521e0:
    000521e0str x0, [sp+32]
    000521e4subs xzr, x0, 10
    000521e8b.lt 0x521f4
    000521ecmov x2, xzr
    000521f0b 0x52210
    000521f4
    000521f4loc_521f4:
    000521f4ldr x0, [sp+72]
    000521f8bl internal/runtime/atomic.(*Uint32).Load
    000521fcldr w1, [sp+128]
    00052200subs wzr, w0, w1
    00052204cset x2, ne
    00052208ldr x0, [sp+32]
    0005220cldr x1, [sp+40]
    00052210
    00052210loc_52210:
    00052210tbnz w2, 0, 0x521c8
    00052214mov x2, x1
    00052218b 0x51fa0
    0005221cudf 0
    00051f40
    00052220
    00052220runtime.casgstatus.func3: ; void runtime.casgstatus.func3(void)
    00052220ldr x16, [x28+16]
    00052224subs xzr, sp, x16
    00052228b.ls 0x52258
    0005222cstr x30, [sp-48]!
    00052230stur x29, [sp-8]
    00052234sub x29, sp, 8
    00052238ldr w2, [x26+16]
    0005223cldr w3, [x26+20]
    00052240ldr x1, [x26+8]
    00052244ldr x0, [x1+392]
    00052248bl runtime.(*synctestGroup).changegstatus
    0005224cldur x29, [sp-8]
    00052250ldr x30, [sp], 48
    00052254ret x30
    00052258
    00052258loc_52258:
    00052258mov x3, x30
    0005225cbl runtime.morestack.abi0
    00052260b 0x52220
    00052264udf 0
    00052268udf 0
    0005226cudf 0
    00052220
    00052270
    00052270runtime.casgstatus.func1: ; void runtime.casgstatus.func1(void)
    00052270ldr x16, [x28+16]
    00052274subs xzr, sp, x16
    00052278b.ls 0x522e8
    0005227cstr x30, [sp-48]!
    00052280stur x29, [sp-8]
    00052284sub x29, sp, 8
    00052288ldr w0, [x26+12]
    0005228cstr w0, [sp+36]
    00052290ldr w0, [x26+8]
    00052294str w0, [sp+32]
    00052298bl runtime.printlock
    0005229cadrp x0, 0x669000
    000522a0add x0, x0, 2200
    000522a4orr x1, xzr, 28
    000522a8bl runtime.printstring
    000522acldr w0, [sp+32]
    000522b0bl runtime.printhex
    000522b4adrp x0, 0x65f000
    000522b8add x0, x0, 716
    000522bcorr x1, xzr, 8
    000522c0bl runtime.printstring
    000522c4ldr w0, [sp+36]
    000522c8bl runtime.printhex
    000522ccbl runtime.printnl
    000522d0bl runtime.printunlock
    000522d4adrp x0, 0x66b000
    000522d8add x0, x0, 2618
    000522dcorr x1, xzr, 31
    000522e0bl runtime.throw
    000522e4hint
    000522e8
    000522e8loc_522e8:
    000522e8mov x3, x30
    000522ecbl runtime.morestack.abi0
    000522f0b 0x52270
    000522f4udf 0
    000522f8udf 0
    000522fcudf 0
    00052270
    00052300
    00052300runtime.casGToWaiting: ; void runtime.casGToWaiting(runtime.g * gp, uint32 old, runtime.waitReason reason)
    00052300ldr x16, [x28+16]
    00052304subs xzr, sp, x16
    00052308b.ls 0x52330
    0005230cstr x30, [sp-32]!
    00052310stur x29, [sp-8]
    00052314sub x29, sp, 8
    00052318strb w2, [x0+184]
    0005231corr x2, xzr, 4
    00052320bl runtime.casgstatus
    00052324ldur x29, [sp-8]
    00052328ldr x30, [sp], 32
    0005232cret x30
    00052330
    00052330loc_52330:
    00052330str x0, [sp+8]
    00052334str w1, [sp+16]
    00052338strb w2, [sp+20]
    0005233cmov x3, x30
    00052340bl runtime.morestack_noctxt.abi0
    00052344ldr x0, [sp+8]
    00052348ldr w1, [sp+16]
    0005234cldrb w2, [sp+20]
    00052350b 0x52300
    00052354udf 0
    00052358udf 0
    0005235cudf 0
    00052300
    00052360
    00052360runtime.casGToWaitingForSuspendG: ; void runtime.casGToWaitingForSuspendG(runtime.g * gp, uint32 old, runtime.waitReason reason)
    00052360ldr x16, [x28+16]
    00052364subs xzr, sp, x16
    00052368b.ls 0x523c0
    0005236cstr x30, [sp-32]!
    00052370stur x29, [sp-8]
    00052374sub x29, sp, 8
    00052378str x0, [sp+40]
    0005237cstr w1, [sp+48]
    00052380strb w2, [sp+52]
    00052384mov x0, x2
    00052388bl runtime.waitReason.isWaitingForSuspendG
    0005238ctbz w0, 0, 0x523ac
    00052390ldr x0, [sp+40]
    00052394ldr w1, [sp+48]
    00052398ldrb w2, [sp+52]
    0005239cbl runtime.casGToWaiting
    000523a0ldur x29, [sp-8]
    000523a4ldr x30, [sp], 32
    000523a8ret x30
    000523ac
    000523acloc_523ac:
    000523acadrp x0, 0x67b000
    000523b0add x0, x0, 3549
    000523b4movz x1, 66
    000523b8bl runtime.throw
    000523bchint
    000523c0
    000523c0loc_523c0:
    000523c0str x0, [sp+8]
    000523c4str w1, [sp+16]
    000523c8strb w2, [sp+20]
    000523ccmov x3, x30
    000523d0bl runtime.morestack_noctxt.abi0
    000523d4ldr x0, [sp+8]
    000523d8ldr w1, [sp+16]
    000523dcldrb w2, [sp+20]
    000523e0b 0x52360
    000523e4udf 0
    000523e8udf 0
    000523ecudf 0
    00052360
    000523f0
    000523f0runtime.casGToPreemptScan: ; void runtime.casGToPreemptScan(runtime.g * gp, uint32 old, uint32 new)
    000523f0ldr x16, [x28+16]
    000523f4subs xzr, sp, x16
    000523f8b.ls 0x52464
    000523fcstr x30, [sp-32]!
    00052400stur x29, [sp-8]
    00052404sub x29, sp, 8
    00052408subs wzr, w1, 2
    0005240cb.ne 0x52450
    00052410movz x3, 4105
    00052414subs wzr, w2, w3
    00052418b.ne 0x52450
    0005241cstr x0, [sp+40]
    00052420movz x0, 45
    00052424bl runtime.acquireLockRankAndM
    00052428
    00052428loc_52428:
    00052428ldr x3, [sp+40]
    0005242cldrsb x27, [x3]
    00052430add x0, x3, 152
    00052434orr x1, xzr, 2
    00052438movz x2, 4105
    0005243cbl internal/runtime/atomic.(*Uint32).CompareAndSwap
    00052440tbz w0, 0, 0x52428
    00052444ldur x29, [sp-8]
    00052448ldr x30, [sp], 32
    0005244cret x30
    00052450
    00052450loc_52450:
    00052450adrp x0, 0x662000
    00052454add x0, x0, 2500
    00052458orr x1, xzr, 16
    0005245cbl runtime.throw
    00052460hint
    00052464
    00052464loc_52464:
    00052464str x0, [sp+8]
    00052468stp w1, w2, [sp+16]
    0005246cmov x3, x30
    00052470bl runtime.morestack_noctxt.abi0
    00052474ldr x0, [sp+8]
    00052478ldp w1, w2, [sp+16]
    0005247cb 0x523f0
    000523f0
    00052480
    00052480runtime.casGFromPreempted: ; void runtime.casGFromPreempted(runtime.g * gp, uint32 old, uint32 new)
    00052480ldr x16, [x28+16]
    00052484subs xzr, sp, x16
    00052488b.ls 0x52514
    0005248cstr x30, [sp-48]!
    00052490stur x29, [sp-8]
    00052494sub x29, sp, 8
    00052498subs wzr, w1, 9
    0005249cb.ne 0x52500
    000524a0subs wzr, w2, 4
    000524a4b.ne 0x52500
    000524a8str x0, [sp+56]
    000524acmovz x3, 29
    000524b0strb w3, [x0+184]
    000524b4add x0, x0, 152
    000524b8movz x1, 9
    000524bcorr x2, xzr, 4
    000524c0bl internal/runtime/atomic.(*Uint32).CompareAndSwap
    000524c4tbz w0, 0, 0x524f0
    000524c8ldr x1, [sp+56]
    000524ccldr x0, [x1+392]
    000524d0cbz x0, 0x524e0
    000524d4movz x2, 9
    000524d8orr x3, xzr, 4
    000524dcbl runtime.(*synctestGroup).changegstatus
    000524e0
    000524e0loc_524e0:
    000524e0orr x0, xzr, 1
    000524e4ldur x29, [sp-8]
    000524e8ldr x30, [sp], 48
    000524ecret x30
    000524f0
    000524f0loc_524f0:
    000524f0mov x0, xzr
    000524f4ldur x29, [sp-8]
    000524f8ldr x30, [sp], 48
    000524fcret x30
    00052500
    00052500loc_52500:
    00052500adrp x0, 0x662000
    00052504add x0, x0, 2500
    00052508orr x1, xzr, 16
    0005250cbl runtime.throw
    00052510hint
    00052514
    00052514loc_52514:
    00052514str x0, [sp+8]
    00052518stp w1, w2, [sp+16]
    0005251cmov x3, x30
    00052520bl runtime.morestack_noctxt.abi0
    00052524ldr x0, [sp+8]
    00052528ldp w1, w2, [sp+16]
    0005252cb 0x52480
    00052480
    00052530
    00052530runtime.stwReason.String: ; void runtime.stwReason.String(runtime.stwReason r)
    00052530ldr x16, [x28+16]
    00052534subs xzr, sp, x16
    00052538b.ls 0x52588
    0005253cstr x30, [sp-32]!
    00052540stur x29, [sp-8]
    00052544sub x29, sp, 8
    00052548ubfm x2, x0, 0, 7
    0005254csubs xzr, x2, 17
    00052550b.hs 0x52578
    00052554adrp x3, 0x9c8000
    00052558add x3, x3, 320
    0005255cadd x2, x3, x2, lsl #4
    00052560ldr x1, [x2+8]
    00052564ubfm x2, x0, 60, 7
    00052568ldr x0, [x3+x2]
    0005256cldur x29, [sp-8]
    00052570ldr x30, [sp], 32
    00052574ret x30
    00052578
    00052578loc_52578:
    00052578mov x0, x2
    0005257cmovz x1, 17
    00052580bl runtime.panicIndex
    00052584hint
    00052588
    00052588loc_52588:
    00052588strb w0, [sp+8]
    0005258cmov x3, x30
    00052590bl runtime.morestack_noctxt.abi0
    00052594ldrb w0, [sp+8]
    00052598b 0x52530
    0005259cudf 0
    00052530
    000525a0
    000525a0runtime.stwReason.isGC: ; void runtime.stwReason.isGC(runtime.stwReason r)
    000525a0ubfm x1, x0, 0, 7
    000525a4subs wzr, w1, 1
    000525a8b.ne 0x525b4
    000525acorr x1, xzr, 1
    000525b0b 0x525bc
    000525b4
    000525b4loc_525b4:
    000525b4subs wzr, w1, 2
    000525b8cset x1, eq
    000525bc
    000525bcloc_525bc:
    000525bcmov x0, x1
    000525c0ret x30
    000525c4udf 0
    000525c8udf 0
    000525ccudf 0
    000525a0
    000525d0
    000525d0runtime.stopTheWorld: ; void runtime.stopTheWorld(runtime.stwReason reason)
    000525d0ldr x16, [x28+16]
    000525d4subs xzr, sp, x16
    000525d8b.ls 0x5267c
    000525dcstr x30, [sp-48]!
    000525e0stur x29, [sp-8]
    000525e4sub x29, sp, 8
    000525e8strb w0, [sp+56]
    000525ecadrp x0, 0x96e000
    000525f0add x0, x0, 1416
    000525f4bl runtime.semacquire
    000525f8str x28, [sp+32]
    000525fcldrb w0, [sp+56]
    00052600bl runtime.stwReason.String
    00052604ldr x2, [sp+32]
    00052608ldr x2, [x2+48]
    0005260cstr x1, [x2+256]
    00052610adrp x27, 0x9f9000
    00052614ldr w1, [x27+3056]
    00052618cbz w1, 0x5262c
    0005261cbl runtime.gcWriteBarrier2
    00052620str x0, [x25]
    00052624ldr x1, [x2+248]
    00052628str x1, [x25+8]
    0005262c
    0005262cloc_5262c:
    0005262cstr x0, [x2+248]
    00052630adrp x0, 0
    00052634add x0, x0, 1680
    00052638str x0, [sp+16]
    0005263cldrb w0, [sp+56]
    00052640strb w0, [sp+24]
    00052644add x0, sp, 16
    00052648str x0, [sp+8]
    0005264cbl runtime.systemstack.abi0
    00052650adrp x27, 0x9f9000
    00052654ldrb w0, [x27+3520]
    00052658adrp x27, 0x9f9000
    0005265cldr x1, [x27+3528]
    00052660adrp x27, 0x9f9000
    00052664ldr x2, [x27+3536]
    00052668adrp x27, 0x9f9000
    0005266cldr x3, [x27+3544]
    00052670ldur x29, [sp-8]
    00052674ldr x30, [sp], 48
    00052678ret x30
    0005267c
    0005267cloc_5267c:
    0005267cstrb w0, [sp+8]
    00052680mov x3, x30
    00052684bl runtime.morestack_noctxt.abi0
    00052688ldrb w0, [sp+8]
    0005268cb 0x525d0
    000525d0
    00052690
    00052690runtime.stopTheWorld.func1: ; void runtime.stopTheWorld.func1(void)
    00052690ldr x16, [x28+16]
    00052694subs xzr, sp, x16
    00052698b.ls 0x526dc
    0005269cstr x30, [sp-32]!
    000526a0stur x29, [sp-8]
    000526a4sub x29, sp, 8
    000526a8ldrb w0, [x26+8]
    000526acbl runtime.stopTheWorldWithSema
    000526b0adrp x27, 0x9f9000
    000526b4strb w0, [x27+3520]
    000526b8adrp x27, 0x9f9000
    000526bcstr x1, [x27+3528]
    000526c0adrp x27, 0x9f9000
    000526c4str x2, [x27+3536]
    000526c8adrp x27, 0x9f9000
    000526ccstr x3, [x27+3544]
    000526d0ldur x29, [sp-8]
    000526d4ldr x30, [sp], 32
    000526d8ret x30
    000526dc
    000526dcloc_526dc:
    000526dcmov x3, x30
    000526e0bl runtime.morestack.abi0
    000526e4b 0x52690
    000526e8udf 0
    000526ecudf 0
    00052690
    000526f0
    000526f0runtime.startTheWorld: ; void runtime.startTheWorld(runtime.worldStop w)
    000526f0ldr x16, [x28+16]
    000526f4subs xzr, sp, x16
    000526f8b.ls 0x5278c
    000526fcstr x30, [sp-96]!
    00052700stur x29, [sp-8]
    00052704sub x29, sp, 8
    00052708stp xzr, xzr, [sp+40]
    0005270cstp xzr, xzr, [sp+56]
    00052710str xzr, [sp+72]
    00052714adrp x4, 0
    00052718add x4, x4, 1968
    0005271cstr x4, [sp+40]
    00052720strb w0, [sp+48]
    00052724str x1, [sp+56]
    00052728str x2, [sp+64]
    0005272cstr x3, [sp+72]
    00052730add x0, sp, 40
    00052734str x0, [sp+8]
    00052738bl runtime.systemstack.abi0
    0005273cbl runtime.acquirem
    00052740str xzr, [x0+256]
    00052744adrp x27, 0x9f9000
    00052748ldr w1, [x27+3056]
    0005274ccbz w1, 0x5275c
    00052750ldr x3, [x0+248]
    00052754bl runtime.gcWriteBarrier1
    00052758str x3, [x25]
    0005275c
    0005275cloc_5275c:
    0005275cstr x0, [sp+80]
    00052760str xzr, [x0+248]
    00052764adrp x0, 0x96e000
    00052768add x0, x0, 1416
    0005276corr x1, xzr, 1
    00052770mov x2, xzr
    00052774bl runtime.semrelease1
    00052778ldr x0, [sp+80]
    0005277cbl runtime.releasem
    00052780ldur x29, [sp-8]
    00052784ldr x30, [sp], 96
    00052788ret x30
    0005278c
    0005278cloc_5278c:
    0005278cstrb w0, [sp+8]
    00052790stp x1, x2, [sp+16]
    00052794str x3, [sp+32]
    00052798mov x3, x30
    0005279cbl runtime.morestack_noctxt.abi0
    000527a0ldrb w0, [sp+8]
    000527a4ldp x1, x2, [sp+16]
    000527a8ldr x3, [sp+32]
    000527acb 0x526f0
    000526f0
    000527b0
    000527b0runtime.startTheWorld.func1: ; void runtime.startTheWorld.func1(void)
    000527b0ldr x16, [x28+16]
    000527b4subs xzr, sp, x16
    000527b8b.ls 0x527ec
    000527bcstr x30, [sp-64]!
    000527c0stur x29, [sp-8]
    000527c4sub x29, sp, 8
    000527c8ldrb w1, [x26+8]
    000527ccldr x2, [x26+16]
    000527d0ldr x3, [x26+24]
    000527d4ldr x4, [x26+32]
    000527d8mov x0, xzr
    000527dcbl runtime.startTheWorldWithSema
    000527e0ldur x29, [sp-8]
    000527e4ldr x30, [sp], 64
    000527e8ret x30
    000527ec
    000527ecloc_527ec:
    000527ecmov x3, x30
    000527f0bl runtime.morestack.abi0
    000527f4b 0x527b0
    000527f8udf 0
    000527fcudf 0
    000527b0
    00052800
    00052800runtime.stopTheWorldGC: ; void runtime.stopTheWorldGC(runtime.stwReason reason)
    00052800ldr x16, [x28+16]
    00052804subs xzr, sp, x16
    00052808b.ls 0x5283c
    0005280cstr x30, [sp-32]!
    00052810stur x29, [sp-8]
    00052814sub x29, sp, 8
    00052818strb w0, [sp+40]
    0005281cadrp x0, 0x96e000
    00052820add x0, x0, 1420
    00052824bl runtime.semacquire
    00052828ldrb w0, [sp+40]
    0005282cbl runtime.stopTheWorld
    00052830ldur x29, [sp-8]
    00052834ldr x30, [sp], 32
    00052838ret x30
    0005283c
    0005283cloc_5283c:
    0005283cstrb w0, [sp+8]
    00052840mov x3, x30
    00052844bl runtime.morestack_noctxt.abi0
    00052848ldrb w0, [sp+8]
    0005284cb 0x52800
    00052800
    00052850
    00052850runtime.startTheWorldGC: ; void runtime.startTheWorldGC(runtime.worldStop w)
    00052850ldr x16, [x28+16]
    00052854subs xzr, sp, x16
    00052858b.ls 0x52884
    0005285cstr x30, [sp-48]!
    00052860stur x29, [sp-8]
    00052864sub x29, sp, 8
    00052868bl runtime.startTheWorld
    0005286cadrp x0, 0x96e000
    00052870add x0, x0, 1420
    00052874bl runtime.semrelease
    00052878ldur x29, [sp-8]
    0005287cldr x30, [sp], 48
    00052880ret x30
    00052884
    00052884loc_52884:
    00052884strb w0, [sp+8]
    00052888stp x1, x2, [sp+16]
    0005288cstr x3, [sp+32]
    00052890mov x3, x30
    00052894bl runtime.morestack_noctxt.abi0
    00052898ldrb w0, [sp+8]
    0005289cldp x1, x2, [sp+16]
    000528a0ldr x3, [sp+32]
    000528a4b 0x52850
    000528a8udf 0
    000528acudf 0
    00052850
    000528b0
    000528b0runtime.stopTheWorldWithSema: ; void runtime.stopTheWorldWithSema(runtime.stwReason reason)
    000528b0ldr x16, [x28+24]
    000528b4sub x17, sp, 48
    000528b8subs xzr, x17, x16
    000528bcb.ls 0x52ce8
    000528c0str x30, [sp-176]!
    000528c4stur x29, [sp-8]
    000528c8sub x29, sp, 8
    000528ccstrb w0, [sp+184]
    000528d0ldr x3, [x28+48]
    000528d4ldr x0, [x3+192]
    000528d8orr x1, xzr, 2
    000528dcorr x2, xzr, 32
    000528e0bl runtime.casGToWaitingForSuspendG
    000528e4bl runtime.traceAcquire
    000528e8str x0, [sp+160]
    000528ecstr x1, [sp+112]
    000528f0bl runtime.traceLocker.ok
    000528f4tbz w0, 0, 0x52914
    000528f8ldr x0, [sp+160]
    000528fcldr x1, [sp+112]
    00052900ldrb w2, [sp+184]
    00052904bl runtime.traceLocker.STWStart
    00052908ldr x0, [sp+160]
    0005290cldr x1, [sp+112]
    00052910bl runtime.traceRelease
    00052914
    00052914loc_52914:
    00052914ldr x2, [x28+48]
    00052918ldrsw x2, [x2+264]
    0005291csubs wzr, w2, 0
    00052920b.gt 0x52cd4
    00052924str x28, [sp+136]
    00052928adrp x0, 0x9d5000
    0005292cadd x0, x0, 152
    00052930bl runtime.lock
    00052934bl runtime.nanotime
    00052938str x0, [sp+64]
    0005293cadrp x27, 0x9f9000
    00052940ldrsw x1, [x27+1648]
    00052944adrp x27, 0x9d5000
    00052948str w1, [x27+364]
    0005294cadrp x0, 0x9d5000
    00052950add x0, x0, 360
    00052954orr x1, xzr, 1
    00052958bl internal/runtime/atomic.(*Bool).Store
    0005295cbl runtime.preemptall
    00052960ldr x1, [sp+136]
    00052964ldr x1, [x1+48]
    00052968ldr x0, [x1+208]
    0005296cbl runtime.puintptr.ptr
    00052970orr x1, xzr, 3
    00052974str w1, [x0+4]
    00052978ldr x1, [sp+136]
    0005297cldr x1, [x1+48]
    00052980ldr x0, [x1+208]
    00052984bl runtime.puintptr.ptr
    00052988ldrsb x27, [x0]
    0005298cldr x1, [sp+64]
    00052990str x1, [x0+8944]
    00052994adrp x27, 0x9d5000
    00052998ldrsw x1, [x27+364]
    0005299csub x1, x1, 1
    000529a0adrp x27, 0x9d5000
    000529a4str w1, [x27+364]
    000529a8bl runtime.traceAcquire
    000529acstr x0, [sp+160]
    000529b0str x1, [sp+112]
    000529b4adrp x27, 0x9d0000
    000529b8ldr x2, [x27+3040]
    000529bcstr x2, [sp+152]
    000529c0adrp x27, 0x9d0000
    000529c4ldr x3, [x27+3048]
    000529c8str x3, [sp+104]
    000529ccmov x4, xzr
    000529d0b 0x529d8
    000529d4
    000529d4loc_529d4:
    000529d4add x4, x4, 1
    000529d8
    000529d8loc_529d8:
    000529d8subs xzr, x4, x3
    000529dcb.ge 0x52ac4
    000529e0ldr x5, [x2+3*x4]
    000529e4ldr w6, [x5+4]
    000529e8subs wzr, w6, 2
    000529ecb.ne 0x52a40
    000529f0add x6, x5, 4
    000529f4adrp x27, 0x9f9000
    000529f8ldrb w7, [x27+1516]
    000529fctbz w7, 0, 0x52a1c
    00052a00orr x7, xzr, 2
    00052a04orr x8, xzr, 3
    00052a08sbfm x27, x7, 0, 31
    00052a0ccasal w27, w8, [x6]
    00052a10subs wzr, w27, w7
    00052a14cset x9, eq
    00052a18b 0x52a4c
    00052a1c
    00052a1cloc_52a1c:
    00052a1corr x7, xzr, 2
    00052a20orr x8, xzr, 3
    00052a24
    00052a24loc_52a24:
    00052a24ldaxr w27, [x6]
    00052a28subs wzr, w27, w7
    00052a2cb.ne 0x52a38
    00052a30stlxr w27, w8, [x6]
    00052a34cbnz x27, 0x52a24
    00052a38
    00052a38loc_52a38:
    00052a38cset x9, eq
    00052a3cb 0x52a4c
    00052a40
    00052a40loc_52a40:
    00052a40orr x7, xzr, 2
    00052a44orr x8, xzr, 3
    00052a48mov x9, xzr
    00052a4c
    00052a4cloc_52a4c:
    00052a4ctbz w9, 0, 0x529d4
    00052a50str x4, [sp+96]
    00052a54str x5, [sp+128]
    00052a58bl runtime.traceLocker.ok
    00052a5ctbz w0, 0, 0x52a74
    00052a60ldr x0, [sp+160]
    00052a64ldr x1, [sp+112]
    00052a68ldr x2, [sp+128]
    00052a6cmov x3, xzr
    00052a70bl runtime.traceLocker.ProcSteal
    00052a74
    00052a74loc_52a74:
    00052a74ldr x0, [sp+128]
    00052a78ldr w1, [x0+20]
    00052a7cadd x1, x1, 1
    00052a80str w1, [x0+20]
    00052a84bl runtime.nanotime
    00052a88ldr x1, [sp+128]
    00052a8cstr x0, [x1+8944]
    00052a90adrp x27, 0x9d5000
    00052a94ldrsw x0, [x27+364]
    00052a98sub x0, x0, 1
    00052a9cadrp x27, 0x9d5000
    00052aa0str w0, [x27+364]
    00052aa4ldr x0, [sp+160]
    00052aa8ldr x1, [sp+112]
    00052aacldr x2, [sp+152]
    00052ab0ldr x3, [sp+104]
    00052ab4ldr x4, [sp+96]
    00052ab8orr x7, xzr, 2
    00052abcorr x8, xzr, 3
    00052ac0b 0x529d4
    00052ac4
    00052ac4loc_52ac4:
    00052ac4bl runtime.traceLocker.ok
    00052ac8tbz w0, 0, 0x52ad8
    00052accldr x0, [sp+160]
    00052ad0ldr x1, [sp+112]
    00052ad4bl runtime.traceRelease
    00052ad8
    00052ad8loc_52ad8:
    00052ad8bl runtime.nanotime
    00052adcstr x0, [sp+72]
    00052ae0b 0x52b14
    00052ae4
    00052ae4loc_52ae4:
    00052ae4str x0, [sp+120]
    00052ae8orr x1, xzr, 3
    00052aecstr w1, [x0+4]
    00052af0bl runtime.nanotime
    00052af4ldr x1, [sp+120]
    00052af8str x0, [x1+8944]
    00052afcadrp x27, 0x9d5000
    00052b00ldrsw x0, [x27+364]
    00052b04sub x0, x0, 1
    00052b08adrp x27, 0x9d5000
    00052b0cstr w0, [x27+364]
    00052b10ldr x0, [sp+72]
    00052b14
    00052b14loc_52b14:
    00052b14bl runtime.pidleget
    00052b18cbnz x0, 0x52ae4
    00052b1cadrp x27, 0x9d5000
    00052b20ldrsw x1, [x27+364]
    00052b24str w1, [sp+44]
    00052b28adrp x0, 0x9d5000
    00052b2cadd x0, x0, 152
    00052b30bl runtime.unlock
    00052b34ldrsw x1, [sp+44]
    00052b38subs wzr, w1, 0
    00052b3cb.gt 0x52cac
    00052b40
    00052b40loc_52b40:
    00052b40bl runtime.nanotime
    00052b44str x0, [sp+80]
    00052b48ldr x1, [sp+64]
    00052b4csub x0, x0, x1
    00052b50str x0, [sp+56]
    00052b54ldrb w0, [sp+184]
    00052b58bl runtime.stwReason.isGC
    00052b5ctbz w0, 0, 0x52b74
    00052b60adrp x0, 0x9d5000
    00052b64add x0, x0, 1760
    00052b68ldr x1, [sp+56]
    00052b6cbl runtime.(*timeHistogram).record
    00052b70b 0x52b84
    00052b74
    00052b74loc_52b74:
    00052b74adrp x0, 0x9d5000
    00052b78add x0, x0, 3056
    00052b7cldr x1, [sp+56]
    00052b80bl runtime.(*timeHistogram).record
    00052b84
    00052b84loc_52b84:
    00052b84adrp x27, 0x9d5000
    00052b88ldrsw x1, [x27+364]
    00052b8ccbnz w1, 0x52bb8
    00052b90adrp x27, 0x9d0000
    00052b94ldr x1, [x27+3040]
    00052b98adrp x27, 0x9d0000
    00052b9cldr x2, [x27+3048]
    00052ba0ldr x3, [sp+80]
    00052ba4mov x0, xzr
    00052ba8mov x4, xzr
    00052bacmov x5, xzr
    00052bb0mov x6, xzr
    00052bb4b 0x52c54
    00052bb8
    00052bb8loc_52bb8:
    00052bb8movz x0, 41
    00052bbcadrp x1, 0x672000
    00052bc0add x1, x1, 3110
    00052bc4mov x2, xzr
    00052bc8
    00052bc8loc_52bc8:
    00052bc8str x0, [sp+88]
    00052bccstr x1, [sp+144]
    00052bd0str x2, [sp+48]
    00052bd4adrp x0, 0x9f9000
    00052bd8add x0, x0, 1525
    00052bdcbl internal/runtime/atomic.(*Bool).Load
    00052be0tbz w0, 0, 0x52bfc
    00052be4adrp x0, 0x9f9000
    00052be8add x0, x0, 1904
    00052becbl runtime.lock
    00052bf0adrp x0, 0x9f9000
    00052bf4add x0, x0, 1904
    00052bf8bl runtime.lock
    00052bfc
    00052bfcloc_52bfc:
    00052bfcldr x0, [sp+88]
    00052c00cbnz x0, 0x52c38
    00052c04bl runtime.worldStopped
    00052c08ldr x0, [x28+48]
    00052c0cldr x0, [x0+192]
    00052c10orr x1, xzr, 4
    00052c14orr x2, xzr, 2
    00052c18bl runtime.casgstatus
    00052c1cldrb w0, [sp+184]
    00052c20ldr x1, [sp+64]
    00052c24ldr x2, [sp+80]
    00052c28ldr x3, [sp+48]
    00052c2cldur x29, [sp-8]
    00052c30ldr x30, [sp], 176
    00052c34ret x30
    00052c38
    00052c38loc_52c38:
    00052c38mov x1, x0
    00052c3cldr x0, [sp+144]
    00052c40bl runtime.throw
    00052c44
    00052c44loc_52c44:
    00052c44str xzr, [x7+8944]
    00052c48sub x7, x3, x10
    00052c4cadd x0, x0, 1
    00052c50add x6, x6, x7
    00052c54
    00052c54loc_52c54:
    00052c54subs xzr, x0, x2
    00052c58b.ge 0x52c98
    00052c5cldr x7, [x1+3*x0]
    00052c60ldr w8, [x7+4]
    00052c64subs wzr, w8, 3
    00052c68movz x8, 46
    00052c6ccsel x4, x8, x4, ne
    00052c70adrp x9, 0x675000
    00052c74add x9, x9, 1169
    00052c78csel x5, x9, x5, ne
    00052c7cldr x10, [x7+8944]
    00052c80cbnz x10, 0x52c44
    00052c84cbnz x4, 0x52c44
    00052c88movz x4, 40
    00052c8cadrp x5, 0x672000
    00052c90add x5, x5, 219
    00052c94b 0x52c44
    00052c98
    00052c98loc_52c98:
    00052c98mov x0, x4
    00052c9cmov x1, x5
    00052ca0mov x2, x6
    00052ca4b 0x52bc8
    00052ca8
    00052ca8loc_52ca8:
    00052ca8bl runtime.preemptall
    00052cac
    00052cacloc_52cac:
    00052cacadrp x0, 0x9d5000
    00052cb0add x0, x0, 368
    00052cb4movz x1, 34464
    00052cb8movk x1, 0x10000
    00052cbcbl runtime.notetsleep
    00052cc0tbz w0, 0, 0x52ca8
    00052cc4adrp x0, 0x9d5000
    00052cc8add x0, x0, 368
    00052cccbl runtime.noteclear
    00052cd0b 0x52b40
    00052cd4
    00052cd4loc_52cd4:
    00052cd4adrp x0, 0x668000
    00052cd8add x0, x0, 3605
    00052cdcmovz x1, 27
    00052ce0bl runtime.throw
    00052ce4hint
    00052ce8
    00052ce8loc_52ce8:
    00052ce8strb w0, [sp+8]
    00052cecmov x3, x30
    00052cf0bl runtime.morestackc.abi0
    00052cf4ldrb w0, [sp+8]
    00052cf8b 0x528b0
    00052cfcudf 0
    000528b0
    00052d00
    00052d00runtime.startTheWorldWithSema: ; void runtime.startTheWorldWithSema(int64 now, runtime.worldStop w)
    00052d00ldr x16, [x28+16]
    00052d04subs xzr, sp, x16
    00052d08b.ls 0x52ef8
    00052d0cstr x30, [sp-128]!
    00052d10stur x29, [sp-8]
    00052d14sub x29, sp, 8
    00052d18str x0, [sp+136]
    00052d1cstr x2, [sp+72]
    00052d20strb w1, [sp+35]
    00052d24bl runtime.assertWorldStopped
    00052d28bl runtime.acquirem
    00052d2cstr x0, [sp+96]
    00052d30bl runtime.netpollinited
    00052d34tbz w0, 0, 0x52d58
    00052d38mov x0, xzr
    00052d3cbl runtime.netpoll
    00052d40str w1, [sp+36]
    00052d44str x0, [sp+48]
    00052d48add x0, sp, 48
    00052d4cbl runtime.injectglist
    00052d50ldrsw x0, [sp+36]
    00052d54bl runtime.netpollAdjustWaiters
    00052d58
    00052d58loc_52d58:
    00052d58adrp x0, 0x9d5000
    00052d5cadd x0, x0, 152
    00052d60bl runtime.lock
    00052d64adrp x27, 0x9f9000
    00052d68ldrsw x1, [x27+1648]
    00052d6cadrp x27, 0x9f9000
    00052d70ldrsw x2, [x27+1656]
    00052d74cbz w2, 0x52d84
    00052d78adrp x27, 0x9f9000
    00052d7cstr wzr, [x27+1656]
    00052d80b 0x52d88
    00052d84
    00052d84loc_52d84:
    00052d84mov x2, x1
    00052d88
    00052d88loc_52d88:
    00052d88mov x0, x2
    00052d8cbl runtime.procresize
    00052d90str x0, [sp+80]
    00052d94adrp x0, 0x9d5000
    00052d98add x0, x0, 360
    00052d9cmov x1, xzr
    00052da0bl internal/runtime/atomic.(*Bool).Store
    00052da4adrp x0, 0x9d5000
    00052da8add x0, x0, 376
    00052dacbl internal/runtime/atomic.(*Bool).Load
    00052db0tbz w0, 0, 0x52dd0
    00052db4adrp x0, 0x9d5000
    00052db8add x0, x0, 376
    00052dbcmov x1, xzr
    00052dc0bl internal/runtime/atomic.(*Bool).Store
    00052dc4adrp x0, 0x9d5000
    00052dc8add x0, x0, 384
    00052dccbl runtime.notewakeup
    00052dd0
    00052dd0loc_52dd0:
    00052dd0adrp x0, 0x9d5000
    00052dd4add x0, x0, 152
    00052dd8bl runtime.unlock
    00052ddcbl runtime.worldStarted
    00052de0ldr x0, [sp+80]
    00052de4b 0x52dec
    00052de8
    00052de8loc_52de8:
    00052de8ldr x0, [sp+112]
    00052dec
    00052decloc_52dec:
    00052deccbz x0, 0x52e50
    00052df0str x0, [sp+80]
    00052df4ldr x0, [x0+8]
    00052df8bl runtime.puintptr.ptr
    00052dfcstr x0, [sp+112]
    00052e00ldr x1, [sp+80]
    00052e04ldr x2, [x1+48]
    00052e08cbnz x2, 0x52e1c
    00052e0cmov x0, xzr
    00052e10movn x2, 0
    00052e14bl runtime.newm
    00052e18b 0x52de8
    00052e1c
    00052e1cloc_52e1c:
    00052e1cmov x0, x2
    00052e20bl runtime.muintptr.ptr
    00052e24ldr x1, [sp+80]
    00052e28str xzr, [x1+48]
    00052e2cldr x2, [x0+216]
    00052e30cbnz x2, 0x52ee4
    00052e34str x0, [sp+88]
    00052e38add x0, x0, 216
    00052e3cbl runtime.(*puintptr).set
    00052e40ldr x2, [sp+88]
    00052e44add x0, x2, 320
    00052e48bl runtime.notewakeup
    00052e4cb 0x52de8
    00052e50
    00052e50loc_52e50:
    00052e50ldr x0, [sp+136]
    00052e54cbnz x0, 0x52e5c
    00052e58bl runtime.nanotime
    00052e5c
    00052e5cloc_52e5c:
    00052e5cstr x0, [sp+64]
    00052e60ldr x1, [sp+72]
    00052e64sub x1, x0, x1
    00052e68str x1, [sp+40]
    00052e6cldrb w0, [sp+35]
    00052e70bl runtime.stwReason.isGC
    00052e74tbz w0, 0, 0x52e8c
    00052e78adrp x0, 0x9d6000
    00052e7cadd x0, x0, 256
    00052e80ldr x1, [sp+40]
    00052e84bl runtime.(*timeHistogram).record
    00052e88b 0x52e9c
    00052e8c
    00052e8cloc_52e8c:
    00052e8cadrp x0, 0x9d6000
    00052e90add x0, x0, 1552
    00052e94ldr x1, [sp+40]
    00052e98bl runtime.(*timeHistogram).record
    00052e9c
    00052e9cloc_52e9c:
    00052e9cbl runtime.traceAcquire
    00052ea0str x0, [sp+104]
    00052ea4str x1, [sp+56]
    00052ea8bl runtime.traceLocker.ok
    00052eactbz w0, 0, 0x52ec8
    00052eb0ldr x0, [sp+104]
    00052eb4ldr x1, [sp+56]
    00052eb8bl runtime.traceLocker.STWDone
    00052ebcldr x0, [sp+104]
    00052ec0ldr x1, [sp+56]
    00052ec4bl runtime.traceRelease
    00052ec8
    00052ec8loc_52ec8:
    00052ec8bl runtime.wakep
    00052eccldr x0, [sp+96]
    00052ed0bl runtime.releasem
    00052ed4ldr x0, [sp+64]
    00052ed8ldur x29, [sp-8]
    00052edcldr x30, [sp], 128
    00052ee0ret x30
    00052ee4
    00052ee4loc_52ee4:
    00052ee4adrp x0, 0x670000
    00052ee8add x0, x0, 136
    00052eecmovz x1, 37
    00052ef0bl runtime.throw
    00052ef4hint
    00052ef8
    00052ef8loc_52ef8:
    00052ef8str x0, [sp+8]
    00052efcstrb w1, [sp+16]
    00052f00stp x2, x3, [sp+24]
    00052f04str x4, [sp+40]
    00052f08mov x3, x30
    00052f0cbl runtime.morestack_noctxt.abi0
    00052f10ldr x0, [sp+8]
    00052f14ldrb w1, [sp+16]
    00052f18ldp x2, x3, [sp+24]
    00052f1cldr x4, [sp+40]
    00052f20b 0x52d00
    00052f24udf 0
    00052f28udf 0
    00052f2cudf 0
    00052d00
    00052f30
    00052f30runtime.usesLibcall: ; void runtime.usesLibcall(void)
    00052f30mov x0, xzr
    00052f34ret x30
    00052f38udf 0
    00052f3cudf 0
    00052f30
    00052f40
    00052f40runtime.mStackIsSystemAllocated: ; void runtime.mStackIsSystemAllocated(void)
    00052f40mov x0, xzr
    00052f44ret x30
    00052f48udf 0
    00052f4cudf 0
    00052f40
    00052f50
    00052f50runtime.mstart0: ; void runtime.mstart0(void)
    00052f50str x30, [sp-48]!
    00052f54stur x29, [sp-8]
    00052f58sub x29, sp, 8
    00052f5cstr x28, [sp+32]
    00052f60ldr x1, [x28]
    00052f64str x1, [sp+24]
    00052f68cbnz x1, 0x52fa4
    00052f6cldr x2, [x28+8]
    00052f70str x2, [sp+16]
    00052f74cbnz x2, 0x52f80
    00052f78orr x2, xzr, 16384
    00052f7cstr x2, [sp+16]
    00052f80
    00052f80loc_52f80:
    00052f80add x0, sp, 16
    00052f84bl runtime.noescape
    00052f88ldr x1, [sp+32]
    00052f8cstr x0, [x1+8]
    00052f90ldr x2, [sp+16]
    00052f94sub x2, x0, x2
    00052f98add x2, x2, 1024
    00052f9cstr x2, [x1]
    00052fa0b 0x52fa8
    00052fa4
    00052fa4loc_52fa4:
    00052fa4ldr x1, [sp+32]
    00052fa8
    00052fa8loc_52fa8:
    00052fa8ldr x0, [x1]
    00052facadd x0, x0, 928
    00052fb0str x0, [x1+16]
    00052fb4str x0, [x1+24]
    00052fb8bl runtime.mstart1
    00052fbcbl runtime.mStackIsSystemAllocated
    00052fc0ldr x1, [sp+24]
    00052fc4subs xzr, x1, 0
    00052fc8cset x1, eq
    00052fccorr x0, x0, x1
    00052fd0bl runtime.mexit
    00052fd4ldur x29, [sp-8]
    00052fd8ldr x30, [sp], 48
    00052fdcret x30
    00052f50
    00052fe0
    00052fe0runtime.mstart1: ; void runtime.mstart1(void)
    00052fe0ldr x16, [x28+16]
    00052fe4subs xzr, sp, x16
    00052fe8b.ls 0x530dc
    00052fecstr x30, [sp-48]!
    00052ff0stur x29, [sp-8]
    00052ff4sub x29, sp, 8
    00052ff8ldr x2, [x28+48]
    00052ffcldr x2, [x2]
    00053000subs xzr, x28, x2
    00053004b.ne 0x530c8
    00053008str x28, [sp+32]
    0005300cmov x0, x28
    00053010str x0, [x28+72]
    00053014ldr x0, [sp]
    00053018str x0, [x28+64]
    0005301cadd x0, sp, 48
    00053020str x0, [x28+56]
    00053024bl runtime.asminit.abi0
    00053028bl runtime.minit
    0005302cldr x0, [sp+32]
    00053030ldr x1, [x0+48]
    00053034adrp x2, 0x9d1000
    00053038add x2, x2, 3392
    0005303csubs xzr, x1, x2
    00053040b.ne 0x53054
    00053044bl runtime.mstartm0
    00053048ldr x0, [sp+32]
    0005304cadrp x2, 0x9d1000
    00053050add x2, x2, 3392
    00053054
    00053054loc_53054:
    00053054adrp x27, 0x9f9000
    00053058ldrsw x1, [x27+320]
    0005305csubs wzr, w1, 1
    00053060b.ne 0x53074
    00053064bl internal/runtime/sys.EnableDIT.abi0
    00053068ldr x0, [sp+32]
    0005306cadrp x2, 0x9d1000
    00053070add x2, x2, 3392
    00053074
    00053074loc_53074:
    00053074ldr x1, [x0+48]
    00053078ldr x26, [x1+184]
    0005307ccbz x26, 0x53094
    00053080ldr x0, [x26]
    00053084blr x0
    00053088ldr x0, [sp+32]
    0005308cadrp x2, 0x9d1000
    00053090add x2, x2, 3392
    00053094
    00053094loc_53094:
    00053094ldr x1, [x0+48]
    00053098subs xzr, x1, x2
    0005309cb.eq 0x530b8
    000530a0ldr x0, [x1+216]
    000530a4bl runtime.puintptr.ptr
    000530a8bl runtime.acquirep
    000530acldr x1, [sp+32]
    000530b0ldr x1, [x1+48]
    000530b4str xzr, [x1+216]
    000530b8
    000530b8loc_530b8:
    000530b8bl runtime.schedule
    000530bcldur x29, [sp-8]
    000530c0ldr x30, [sp], 48
    000530c4ret x30
    000530c8
    000530c8loc_530c8:
    000530c8adrp x0, 0x663000
    000530ccadd x0, x0, 301
    000530d0movz x1, 19
    000530d4bl runtime.throw
    000530d8hint
    000530dc
    000530dcloc_530dc:
    000530dcmov x3, x30
    000530e0bl runtime.morestack_noctxt.abi0
    000530e4b 0x52fe0
    000530e8udf 0
    000530ecudf 0
    00052fe0
    000530f0
    000530f0runtime.mstartm0: ; void runtime.mstartm0(void)
    000530f0ldr x16, [x28+16]
    000530f4subs xzr, sp, x16
    000530f8b.ls 0x53144
    000530fcstr x30, [sp-32]!
    00053100stur x29, [sp-8]
    00053104sub x29, sp, 8
    00053108adrp x27, 0x9f8000
    0005310cldrb w1, [x27+1585]
    00053110tbz w1, 0, 0x53130
    00053114adrp x27, 0x9f8000
    00053118ldrb w1, [x27+1515]
    0005311ctbnz w1, 0, 0x53130
    00053120orr x0, xzr, 1
    00053124adrp x27, 0x9f8000
    00053128strb w0, [x27+1515]
    0005312cbl runtime.newextram
    00053130
    00053130loc_53130:
    00053130mov x0, xzr
    00053134bl runtime.initsig
    00053138ldur x29, [sp-8]
    0005313cldr x30, [sp], 32
    00053140ret x30
    00053144
    00053144loc_53144:
    00053144mov x3, x30
    00053148bl runtime.morestack_noctxt.abi0
    0005314cb 0x530f0
    000530f0
    00053150
    00053150runtime.mPark: ; void runtime.mPark(void)
    00053150str x30, [sp-32]!
    00053154stur x29, [sp-8]
    00053158sub x29, sp, 8
    0005315cstr x28, [sp+16]
    00053160ldr x1, [x28+48]
    00053164ldrsb x27, [x1]
    00053168add x0, x1, 320
    0005316cbl runtime.notesleep
    00053170ldr x1, [sp+16]
    00053174ldr x1, [x1+48]
    00053178ldrsb x27, [x1]
    0005317cadd x0, x1, 320
    00053180bl runtime.noteclear
    00053184ldur x29, [sp-8]
    00053188ldr x30, [sp], 32
    0005318cret x30
    00053150
    00053190
    00053190runtime.mexit: ; void runtime.mexit(bool osStack)
    00053190ldr x16, [x28+16]
    00053194subs xzr, sp, x16
    00053198b.ls 0x53404
    0005319cstr x30, [sp-48]!
    000531a0stur x29, [sp-8]
    000531a4sub x29, sp, 8
    000531a8ldr x1, [x28+48]
    000531acadrp x2, 0x9d1000
    000531b0add x2, x2, 3392
    000531b4subs xzr, x1, x2
    000531b8b.eq 0x533b4
    000531bcstrb w0, [sp+56]
    000531c0str x1, [sp+24]
    000531c4orr x0, xzr, 1
    000531c8bl runtime.sigblock
    000531ccbl runtime.unminit
    000531d0ldr x0, [sp+24]
    000531d4ldr x1, [x0+80]
    000531d8cbz x1, 0x53214
    000531dcldr x2, [x1+8]
    000531e0ldr x0, [x1]
    000531e4mov x1, x2
    000531e8bl runtime.stackfree
    000531ecadrp x27, 0x9f8000
    000531f0ldr w2, [x27+3056]
    000531f4cbnz w2, 0x53200
    000531f8ldr x0, [sp+24]
    000531fcb 0x53210
    00053200
    00053200loc_53200:
    00053200ldr x0, [sp+24]
    00053204ldr x1, [x0+80]
    00053208bl runtime.gcWriteBarrier1
    0005320cstr x1, [x25]
    00053210
    00053210loc_53210:
    00053210str xzr, [x0+80]
    00053214
    00053214loc_53214:
    00053214bl runtime.vgetrandomDestroy
    00053218adrp x0, 0x9d4000
    0005321cadd x0, x0, 152
    00053220bl runtime.lock
    00053224ldr x0, [sp+24]
    00053228adrp x1, 0x9cd000
    0005322cadd x1, x1, 3080
    00053230b 0x53238
    00053234
    00053234loc_53234:
    00053234add x1, x2, 328
    00053238
    00053238loc_53238:
    00053238ldr x2, [x1]
    0005323ccbz x2, 0x533a4
    00053240subs xzr, x2, x0
    00053244b.ne 0x53234
    00053248ldr x2, [x0+328]
    0005324cadrp x27, 0x9f8000
    00053250ldr w3, [x27+3056]
    00053254cbz w3, 0x53268
    00053258bl runtime.gcWriteBarrier2
    0005325cstr x2, [x25]
    00053260ldr x3, [x1]
    00053264str x3, [x25+8]
    00053268
    00053268loc_53268:
    00053268str x2, [x1]
    0005326cadd x0, x0, 284
    00053270str x0, [sp+32]
    00053274orr x1, xzr, 2
    00053278bl internal/runtime/atomic.(*Uint32).Store
    0005327cadrp x27, 0x9d4000
    00053280ldr x2, [x27+352]
    00053284adrp x27, 0x9f8000
    00053288ldr w3, [x27+3056]
    0005328ccbnz w3, 0x53298
    00053290ldr x1, [sp+24]
    00053294b 0x532bc
    00053298
    00053298loc_53298:
    00053298bl runtime.gcWriteBarrier4
    0005329cstr x2, [x25]
    000532a0ldr x1, [sp+24]
    000532a4ldr x3, [x1+744]
    000532a8str x3, [x25+8]
    000532acstr x1, [x25+16]
    000532b0adrp x27, 0x9d4000
    000532b4ldr x3, [x27+352]
    000532b8str x3, [x25+24]
    000532bc
    000532bcloc_532bc:
    000532bcstr x2, [x1+744]
    000532c0adrp x27, 0x9d4000
    000532c4str x1, [x27+352]
    000532c8adrp x0, 0x9d4000
    000532ccadd x0, x0, 152
    000532d0bl runtime.unlock
    000532d4ldr x1, [sp+24]
    000532d8ldr x2, [x1+296]
    000532dcadrp x27, 0x9f8000
    000532e0ldrb w3, [x27+1516]
    000532e4tbz w3, 0, 0x532fc
    000532e8adrp x3, 0x9f8000
    000532ecadd x3, x3, 1736
    000532f0ldaddal x2, x4, [x3]
    000532f4add x4, x4, x2
    000532f8b 0x53314
    000532fc
    000532fcloc_532fc:
    000532fcadrp x3, 0x9f8000
    00053300add x3, x3, 1736
    00053304
    00053304loc_53304:
    00053304ldaxr x4, [x3]
    00053308add x4, x4, x2
    0005330cstlxr w27, x4, [x3]
    00053310cbnz x27, 0x53304
    00053314
    00053314loc_53314:
    00053314add x0, x1, 624
    00053318bl internal/runtime/atomic.(*Int64).Load
    0005331cmov x1, x0
    00053320adrp x0, 0x9d5000
    00053324add x0, x0, 2848
    00053328bl internal/runtime/atomic.(*Int64).Add
    0005332cbl runtime.releasep
    00053330bl runtime.handoffp
    00053334adrp x0, 0x9d4000
    00053338add x0, x0, 152
    0005333cbl runtime.lock
    00053340adrp x27, 0x9d4000
    00053344ldr x1, [x27+192]
    00053348add x1, x1, 1
    0005334cadrp x27, 0x9d4000
    00053350str x1, [x27+192]
    00053354bl runtime.checkdead
    00053358adrp x0, 0x9d4000
    0005335cadd x0, x0, 152
    00053360bl runtime.unlock
    00053364ldr x0, [sp+24]
    00053368bl runtime.mdestroy
    0005336cldrb w0, [sp+56]
    00053370tbz w0, 0, 0x5338c
    00053374ldr x0, [sp+32]
    00053378orr x1, xzr, 1
    0005337cbl internal/runtime/atomic.(*Uint32).Store
    00053380ldur x29, [sp-8]
    00053384ldr x30, [sp], 48
    00053388ret x30
    0005338c
    0005338cloc_5338c:
    0005338cldr x0, [sp+32]
    00053390str x0, [sp+8]
    00053394bl runtime.exitThread.abi0
    00053398ldur x29, [sp-8]
    0005339cldr x30, [sp], 48
    000533a0ret x30
    000533a4
    000533a4loc_533a4:
    000533a4adrp x0, 0x663000
    000533a8add x0, x0, 320
    000533acmovz x1, 19
    000533b0bl runtime.throw
    000533b4
    000533b4loc_533b4:
    000533b4bl runtime.releasep
    000533b8bl runtime.handoffp
    000533bcadrp x0, 0x9d4000
    000533c0add x0, x0, 152
    000533c4bl runtime.lock
    000533c8adrp x27, 0x9d4000
    000533ccldr x0, [x27+192]
    000533d0add x0, x0, 1
    000533d4adrp x27, 0x9d4000
    000533d8str x0, [x27+192]
    000533dcbl runtime.checkdead
    000533e0adrp x0, 0x9d4000
    000533e4add x0, x0, 152
    000533e8bl runtime.unlock
    000533ecbl runtime.mPark
    000533f0adrp x0, 0x662000
    000533f4add x0, x0, 404
    000533f8movz x1, 17
    000533fcbl runtime.throw
    00053400hint
    00053404
    00053404loc_53404:
    00053404strb w0, [sp+8]
    00053408mov x3, x30
    0005340cbl runtime.morestack_noctxt.abi0
    00053410ldrb w0, [sp+8]
    00053414b 0x53190
    00053418udf 0
    0005341cudf 0
    00053190
    00053420
    00053420runtime.forEachP: ; void runtime.forEachP(runtime.waitReason reason, func(*runtime.p) fn)
    00053420ldr x16, [x28+16]
    00053424subs xzr, sp, x16
    00053428b.ls 0x5346c
    0005342cstr x30, [sp-48]!
    00053430stur x29, [sp-8]
    00053434sub x29, sp, 8
    00053438str xzr, [sp+16]
    0005343cstrb wzr, [sp+24]
    00053440adrp x2, 0
    00053444add x2, x2, 1168
    00053448str x2, [sp+16]
    0005344cstrb w0, [sp+24]
    00053450str x1, [sp+32]
    00053454add x0, sp, 16
    00053458str x0, [sp+8]
    0005345cbl runtime.systemstack.abi0
    00053460ldur x29, [sp-8]
    00053464ldr x30, [sp], 48
    00053468ret x30
    0005346c
    0005346cloc_5346c:
    0005346cstrb w0, [sp+8]
    00053470str x1, [sp+16]
    00053474mov x3, x30
    00053478bl runtime.morestack_noctxt.abi0
    0005347cldrb w0, [sp+8]
    00053480ldr x1, [sp+16]
    00053484b 0x53420
    00053488udf 0
    0005348cudf 0
    00053420
    00053490
    00053490runtime.forEachP.func1: ; void runtime.forEachP.func1(void)
    00053490ldr x16, [x28+16]
    00053494subs xzr, sp, x16
    00053498b.ls 0x534ec
    0005349cstr x30, [sp-48]!
    000534a0stur x29, [sp-8]
    000534a4sub x29, sp, 8
    000534a8ldr x3, [x26+16]
    000534acstr x3, [sp+32]
    000534b0ldrb w2, [x26+8]
    000534b4ldr x3, [x28+48]
    000534b8ldr x0, [x3+192]
    000534bcstr x0, [sp+24]
    000534c0orr x1, xzr, 2
    000534c4bl runtime.casGToWaitingForSuspendG
    000534c8ldr x0, [sp+32]
    000534ccbl runtime.forEachPInternal
    000534d0ldr x0, [sp+24]
    000534d4orr x1, xzr, 4
    000534d8orr x2, xzr, 2
    000534dcbl runtime.casgstatus
    000534e0ldur x29, [sp-8]
    000534e4ldr x30, [sp], 48
    000534e8ret x30
    000534ec
    000534ecloc_534ec:
    000534ecmov x3, x30
    000534f0bl runtime.morestack.abi0
    000534f4b 0x53490
    000534f8udf 0
    000534fcudf 0
    00053490
    00053500
    00053500runtime.forEachPInternal: ; void runtime.forEachPInternal(func(*runtime.p) fn)
    00053500ldr x16, [x28+24]
    00053504subs xzr, sp, x16
    00053508b.ls 0x538f0
    0005350cstr x30, [sp-128]!
    00053510stur x29, [sp-8]
    00053514sub x29, sp, 8
    00053518str x0, [sp+136]
    0005351cbl runtime.acquirem
    00053520str x0, [sp+96]
    00053524ldr x0, [x28+48]
    00053528ldr x0, [x0+208]
    0005352cbl runtime.puintptr.ptr
    00053530str x0, [sp+72]
    00053534adrp x0, 0x9d4000
    00053538add x0, x0, 152
    0005353cbl runtime.lock
    00053540adrp x27, 0x9d4000
    00053544ldrsw x0, [x27+400]
    00053548cbnz w0, 0x538dc
    0005354cadrp x27, 0x9f8000
    00053550ldrsw x0, [x27+1648]
    00053554sub x0, x0, 1
    00053558adrp x27, 0x9d4000
    0005355cstr w0, [x27+400]
    00053560adrp x27, 0x9f8000
    00053564ldr w0, [x27+3056]
    00053568cbnz w0, 0x53574
    0005356cldr x0, [sp+136]
    00053570b 0x5358c
    00053574
    00053574loc_53574:
    00053574bl runtime.gcWriteBarrier2
    00053578ldr x0, [sp+136]
    0005357cstr x0, [x25]
    00053580adrp x27, 0x9d4000
    00053584ldr x1, [x27+392]
    00053588str x1, [x25+8]
    0005358c
    0005358cloc_5358c:
    0005358cadrp x27, 0x9d4000
    00053590str x0, [x27+392]
    00053594adrp x27, 0x9cf000
    00053598ldr x1, [x27+3040]
    0005359cadrp x27, 0x9cf000
    000535a0ldr x2, [x27+3048]
    000535a4ldr x3, [sp+72]
    000535a8mov x4, xzr
    000535acb 0x535b4
    000535b0
    000535b0loc_535b0:
    000535b0add x4, x4, 1
    000535b4
    000535b4loc_535b4:
    000535b4subs xzr, x4, x2
    000535b8b.ge 0x535e8
    000535bcldr x5, [x1+3*x4]
    000535c0subs xzr, x3, x5
    000535c4b.eq 0x535e0
    000535c8ldrsb x27, [x5]
    000535ccmovz x6, 8832
    000535d0add x5, x6, x5
    000535d4orr x6, xzr, 1
    000535d8stlr w6, [x5]
    000535dcb 0x535b0
    000535e0
    000535e0loc_535e0:
    000535e0orr x6, xzr, 1
    000535e4b 0x535b0
    000535e8
    000535e8loc_535e8:
    000535e8bl runtime.preemptall
    000535ecadrp x27, 0x9d4000
    000535f0ldr x0, [x27+208]
    000535f4bl runtime.puintptr.ptr
    000535f8b 0x53604
    000535fc
    000535fcloc_535fc:
    000535fcldr x0, [x0+8]
    00053600bl runtime.puintptr.ptr
    00053604
    00053604loc_53604:
    00053604cbz x0, 0x53688
    00053608movz x1, 8832
    0005360cadd x1, x0, x1
    00053610adrp x27, 0x9f8000
    00053614ldrb w2, [x27+1516]
    00053618tbz w2, 0, 0x53638
    0005361corr x2, xzr, 1
    00053620mov x3, xzr
    00053624sbfm x27, x2, 0, 31
    00053628casal w27, w3, [x1]
    0005362csubs wzr, w27, w2
    00053630cset x4, eq
    00053634b 0x53658
    00053638
    00053638loc_53638:
    00053638orr x2, xzr, 1
    0005363cmov x3, xzr
    00053640
    00053640loc_53640:
    00053640ldaxr w27, [x1]
    00053644subs wzr, w27, w2
    00053648b.ne 0x53654
    0005364cstlxr w27, w3, [x1]
    00053650cbnz x27, 0x53640
    00053654
    00053654loc_53654:
    00053654cset x4, eq
    00053658
    00053658loc_53658:
    00053658tbz w4, 0, 0x535fc
    0005365cstr x0, [sp+88]
    00053660ldr x26, [sp+136]
    00053664ldr x1, [x26]
    00053668blr x1
    0005366cadrp x27, 0x9d4000
    00053670ldrsw x1, [x27+400]
    00053674sub x1, x1, 1
    00053678adrp x27, 0x9d4000
    0005367cstr w1, [x27+400]
    00053680ldr x0, [sp+88]
    00053684b 0x535fc
    00053688
    00053688loc_53688:
    00053688adrp x27, 0x9d4000
    0005368cldrsw x1, [x27+400]
    00053690str w1, [sp+44]
    00053694adrp x0, 0x9d4000
    00053698add x0, x0, 152
    0005369cbl runtime.unlock
    000536a0ldr x26, [sp+136]
    000536a4ldr x1, [x26]
    000536a8ldr x0, [sp+72]
    000536acblr x1
    000536b0adrp x27, 0x9cf000
    000536b4ldr x1, [x27+3040]
    000536b8str x1, [sp+112]
    000536bcadrp x27, 0x9cf000
    000536c0ldr x2, [x27+3048]
    000536c4str x2, [sp+64]
    000536c8mov x0, xzr
    000536ccb 0x536e0
    000536d0
    000536d0loc_536d0:
    000536d0ldr x3, [sp+56]
    000536d4add x0, x3, 1
    000536d8ldr x1, [sp+112]
    000536dcldr x2, [sp+64]
    000536e0
    000536e0loc_536e0:
    000536e0subs xzr, x0, x2
    000536e4b.ge 0x537f0
    000536e8str x0, [sp+56]
    000536ecldr x0, [x1+3*x0]
    000536f0str x0, [sp+80]
    000536f4ldr w0, [x0+4]
    000536f8str w0, [sp+40]
    000536fcbl runtime.traceAcquire
    00053700ldr w2, [sp+40]
    00053704subs wzr, w2, 2
    00053708b.ne 0x5377c
    0005370cldr x2, [sp+80]
    00053710ldr w3, [x2+8832]
    00053714subs wzr, w3, 1
    00053718b.ne 0x5376c
    0005371cadd x3, x2, 4
    00053720adrp x27, 0x9f8000
    00053724ldrb w4, [x27+1516]
    00053728tbz w4, 0, 0x53748
    0005372corr x4, xzr, 2
    00053730mov x5, xzr
    00053734sbfm x27, x4, 0, 31
    00053738casal w27, w5, [x3]
    0005373csubs wzr, w27, w4
    00053740cset x6, eq
    00053744b 0x5378c
    00053748
    00053748loc_53748:
    00053748orr x4, xzr, 2
    0005374cmov x5, xzr
    00053750
    00053750loc_53750:
    00053750ldaxr w27, [x3]
    00053754subs wzr, w27, w4
    00053758b.ne 0x53764
    0005375cstlxr w27, w5, [x3]
    00053760cbnz x27, 0x53750
    00053764
    00053764loc_53764:
    00053764cset x6, eq
    00053768b 0x5378c
    0005376c
    0005376cloc_5376c:
    0005376corr x4, xzr, 2
    00053770mov x5, xzr
    00053774mov x6, xzr
    00053778b 0x5378c
    0005377c
    0005377cloc_5377c:
    0005377cldr x2, [sp+80]
    00053780orr x4, xzr, 2
    00053784mov x5, xzr
    00053788mov x6, xzr
    0005378c
    0005378cloc_5378c:
    0005378cstr x1, [sp+48]
    00053790str x0, [sp+104]
    00053794tbz w6, 0, 0x537d8
    00053798bl runtime.traceLocker.ok
    0005379ctbz w0, 0, 0x537c0
    000537a0ldr x0, [sp+104]
    000537a4ldr x1, [sp+48]
    000537a8ldr x2, [sp+80]
    000537acmov x3, xzr
    000537b0bl runtime.traceLocker.ProcSteal
    000537b4ldr x0, [sp+104]
    000537b8ldr x1, [sp+48]
    000537bcbl runtime.traceRelease
    000537c0
    000537c0loc_537c0:
    000537c0ldr x0, [sp+80]
    000537c4ldr w1, [x0+20]
    000537c8add x1, x1, 1
    000537ccstr w1, [x0+20]
    000537d0bl runtime.handoffp
    000537d4b 0x536d0
    000537d8
    000537d8loc_537d8:
    000537d8bl runtime.traceLocker.ok
    000537dctbz w0, 0, 0x536d0
    000537e0ldr x0, [sp+104]
    000537e4ldr x1, [sp+48]
    000537e8bl runtime.traceRelease
    000537ecb 0x536d0
    000537f0
    000537f0loc_537f0:
    000537f0ldrsw x2, [sp+44]
    000537f4subs wzr, w2, 0
    000537f8b.le 0x53828
    000537fcb 0x53804
    00053800
    00053800loc_53800:
    00053800bl runtime.preemptall
    00053804
    00053804loc_53804:
    00053804adrp x0, 0x9d4000
    00053808add x0, x0, 408
    0005380cmovz x1, 34464
    00053810movk x1, 0x10000
    00053814bl runtime.notetsleep
    00053818tbz w0, 0, 0x53800
    0005381cadrp x0, 0x9d4000
    00053820add x0, x0, 408
    00053824bl runtime.noteclear
    00053828
    00053828loc_53828:
    00053828adrp x27, 0x9d4000
    0005382cldrsw x2, [x27+400]
    00053830cbnz w2, 0x538cc
    00053834adrp x27, 0x9cf000
    00053838ldr x2, [x27+3040]
    0005383cadrp x27, 0x9cf000
    00053840ldr x3, [x27+3048]
    00053844mov x0, xzr
    00053848b 0x53850
    0005384c
    0005384cloc_5384c:
    0005384cadd x0, x0, 1
    00053850
    00053850loc_53850:
    00053850subs xzr, x0, x3
    00053854b.ge 0x5386c
    00053858ldr x4, [x2+3*x0]
    0005385cldrsb x27, [x4]
    00053860ldr w4, [x4+8832]
    00053864cbz w4, 0x5384c
    00053868b 0x538bc
    0005386c
    0005386cloc_5386c:
    0005386cadrp x0, 0x9d4000
    00053870add x0, x0, 152
    00053874bl runtime.lock
    00053878adrp x27, 0x9f8000
    0005387cldr w1, [x27+3056]
    00053880cbz w1, 0x53894
    00053884adrp x27, 0x9d4000
    00053888ldr x1, [x27+392]
    0005388cbl runtime.gcWriteBarrier1
    00053890str x1, [x25]
    00053894
    00053894loc_53894:
    00053894adrp x27, 0x9d4000
    00053898str xzr, [x27+392]
    0005389cadrp x0, 0x9d4000
    000538a0add x0, x0, 152
    000538a4bl runtime.unlock
    000538a8ldr x0, [sp+96]
    000538acbl runtime.releasem
    000538b0ldur x29, [sp-8]
    000538b4ldr x30, [sp], 128
    000538b8ret x30
    000538bc
    000538bcloc_538bc:
    000538bcadrp x0, 0x667000
    000538c0add x0, x0, 695
    000538c4movz x1, 26
    000538c8bl runtime.throw
    000538cc
    000538ccloc_538cc:
    000538ccadrp x0, 0x662000
    000538d0add x0, x0, 2363
    000538d4movz x1, 18
    000538d8bl runtime.throw
    000538dc
    000538dcloc_538dc:
    000538dcadrp x0, 0x66c000
    000538e0add x0, x0, 3751
    000538e4movz x1, 34
    000538e8bl runtime.throw
    000538echint
    000538f0
    000538f0loc_538f0:
    000538f0str x0, [sp+8]
    000538f4mov x3, x30
    000538f8bl runtime.morestackc.abi0
    000538fcldr x0, [sp+8]
    00053900b 0x53500
    00053904udf 0
    00053908udf 0
    0005390cudf 0
    00053500
    00053910
    00053910runtime.runSafePointFn: ; void runtime.runSafePointFn(void)
    00053910ldr x16, [x28+16]
    00053914subs xzr, sp, x16
    00053918b.ls 0x539f4
    0005391cstr x30, [sp-32]!
    00053920stur x29, [sp-8]
    00053924sub x29, sp, 8
    00053928ldr x1, [x28+48]
    0005392cldr x0, [x1+208]
    00053930bl runtime.puintptr.ptr
    00053934ldrsb x27, [x0]
    00053938movz x1, 8832
    0005393cadd x1, x0, x1
    00053940adrp x27, 0x9f8000
    00053944ldrb w2, [x27+1516]
    00053948tbz w2, 0, 0x53968
    0005394corr x2, xzr, 1
    00053950mov x3, xzr
    00053954sbfm x27, x2, 0, 31
    00053958casal w27, w3, [x1]
    0005395csubs wzr, w27, w2
    00053960cset x4, eq
    00053964b 0x53988
    00053968
    00053968loc_53968:
    00053968orr x2, xzr, 1
    0005396cmov x3, xzr
    00053970
    00053970loc_53970:
    00053970ldaxr w27, [x1]
    00053974subs wzr, w27, w2
    00053978b.ne 0x53984
    0005397cstlxr w27, w3, [x1]
    00053980cbnz x27, 0x53970
    00053984
    00053984loc_53984:
    00053984cset x4, eq
    00053988
    00053988loc_53988:
    00053988tbz w4, 0, 0x539e8
    0005398cadrp x27, 0x9d4000
    00053990ldr x26, [x27+392]
    00053994ldr x1, [x26]
    00053998blr x1
    0005399cadrp x0, 0x9d4000
    000539a0add x0, x0, 152
    000539a4bl runtime.lock
    000539a8adrp x27, 0x9d4000
    000539acldrsw x1, [x27+400]
    000539b0sub x2, x1, 1
    000539b4adrp x27, 0x9d4000
    000539b8str w2, [x27+400]
    000539bcsubs wzr, w1, 1
    000539c0b.ne 0x539d0
    000539c4adrp x0, 0x9d4000
    000539c8add x0, x0, 408
    000539ccbl runtime.notewakeup
    000539d0
    000539d0loc_539d0:
    000539d0adrp x0, 0x9d4000
    000539d4add x0, x0, 152
    000539d8bl runtime.unlock
    000539dcldur x29, [sp-8]
    000539e0ldr x30, [sp], 32
    000539e4ret x30
    000539e8
    000539e8loc_539e8:
    000539e8ldur x29, [sp-8]
    000539ecldr x30, [sp], 32
    000539f0ret x30
    000539f4
    000539f4loc_539f4:
    000539f4mov x3, x30
    000539f8bl runtime.morestack_noctxt.abi0
    000539fcb 0x53910
    00053910
    00053a00
    00053a00runtime.allocm: ; void runtime.allocm(runtime.p * pp, func() fn, int64 id)
    00053a00ldr x16, [x28+16]
    00053a04subs xzr, sp, x16
    00053a08b.ls 0x53c90
    00053a0cstr x30, [sp-96]!
    00053a10stur x29, [sp-8]
    00053a14sub x29, sp, 8
    00053a18str x0, [sp+104]
    00053a1cstr x1, [sp+112]
    00053a20str x2, [sp+120]
    00053a24adrp x0, 0x9f8000
    00053a28add x0, x0, 3840
    00053a2cbl runtime.(*rwmutex).rlock
    00053a30bl runtime.acquirem
    00053a34str x28, [sp+56]
    00053a38ldr x1, [x28+48]
    00053a3cldr x1, [x1+208]
    00053a40cbnz x1, 0x53a4c
    00053a44ldr x0, [sp+104]
    00053a48bl runtime.acquirep
    00053a4c
    00053a4cloc_53a4c:
    00053a4cadrp x27, 0x9d4000
    00053a50ldr x1, [x27+352]
    00053a54cbz x1, 0x53a74
    00053a58adrp x0, 0x9d4000
    00053a5cadd x0, x0, 152
    00053a60bl runtime.lock
    00053a64adrp x27, 0x9d4000
    00053a68ldr x1, [x27+352]
    00053a6cmov x0, xzr
    00053a70b 0x53ba4
    00053a74
    00053a74loc_53a74:
    00053a74adrp x0, 0x65c000
    00053a78add x0, x0, 2208
    00053a7cbl runtime.newobject
    00053a80adrp x27, 0x9f8000
    00053a84ldr w1, [x27+3056]
    00053a88cbnz w1, 0x53a94
    00053a8cldr x2, [sp+112]
    00053a90b 0x53aa0
    00053a94
    00053a94loc_53a94:
    00053a94bl runtime.gcWriteBarrier1
    00053a98ldr x2, [sp+112]
    00053a9cstr x2, [x25]
    00053aa0
    00053aa0loc_53aa0:
    00053aa0str x0, [sp+48]
    00053aa4str x2, [x0+184]
    00053aa8ldr x1, [sp+120]
    00053aacbl runtime.mcommoninit
    00053ab0adrp x27, 0x9f8000
    00053ab4ldrb w2, [x27+1585]
    00053ab8tbnz w2, 0, 0x53ac4
    00053abcbl runtime.mStackIsSystemAllocated
    00053ac0tbz w0, 0, 0x53afc
    00053ac4
    00053ac4loc_53ac4:
    00053ac4movn x0, 0
    00053ac8bl runtime.malg
    00053accadrp x27, 0x9f8000
    00053ad0ldr w1, [x27+3056]
    00053ad4cbnz w1, 0x53ae0
    00053ad8ldr x1, [sp+48]
    00053adcb 0x53af4
    00053ae0
    00053ae0loc_53ae0:
    00053ae0bl runtime.gcWriteBarrier2
    00053ae4str x0, [x25]
    00053ae8ldr x1, [sp+48]
    00053aecldr x2, [x1]
    00053af0str x2, [x25+8]
    00053af4
    00053af4loc_53af4:
    00053af4str x0, [x1]
    00053af8b 0x53b30
    00053afc
    00053afcloc_53afc:
    00053afcorr x0, xzr, 16384
    00053b00bl runtime.malg
    00053b04adrp x27, 0x9f8000
    00053b08ldr w1, [x27+3056]
    00053b0ccbnz w1, 0x53b18
    00053b10ldr x1, [sp+48]
    00053b14b 0x53b2c
    00053b18
    00053b18loc_53b18:
    00053b18bl runtime.gcWriteBarrier2
    00053b1cstr x0, [x25]
    00053b20ldr x1, [sp+48]
    00053b24ldr x2, [x1]
    00053b28str x2, [x25+8]
    00053b2c
    00053b2cloc_53b2c:
    00053b2cstr x0, [x1]
    00053b30
    00053b30loc_53b30:
    00053b30ldr x2, [x1]
    00053b34ldrsb x27, [x2]
    00053b38adrp x27, 0x9f8000
    00053b3cldr w3, [x27+3056]
    00053b40cbz w3, 0x53b54
    00053b44bl runtime.gcWriteBarrier2
    00053b48str x1, [x25]
    00053b4cldr x3, [x2+48]
    00053b50str x3, [x25+8]
    00053b54
    00053b54loc_53b54:
    00053b54str x1, [x2+48]
    00053b58ldr x1, [sp+56]
    00053b5cldr x1, [x1+48]
    00053b60ldr x0, [x1+208]
    00053b64bl runtime.puintptr.ptr
    00053b68ldr x1, [sp+104]
    00053b6csubs xzr, x0, x1
    00053b70b.ne 0x53b78
    00053b74bl runtime.releasep
    00053b78
    00053b78loc_53b78:
    00053b78ldr x1, [sp+56]
    00053b7cldr x0, [x1+48]
    00053b80bl runtime.releasem
    00053b84adrp x0, 0x9f8000
    00053b88add x0, x0, 3840
    00053b8cbl runtime.(*rwmutex).runlock
    00053b90ldr x0, [sp+48]
    00053b94ldur x29, [sp-8]
    00053b98ldr x30, [sp], 96
    00053b9cret x30
    00053ba0
    00053ba0loc_53ba0:
    00053ba0ldr x1, [sp+64]
    00053ba4
    00053ba4loc_53ba4:
    00053ba4str x1, [sp+64]
    00053ba8cbz x1, 0x53c58
    00053bacstr x0, [sp+40]
    00053bb0add x0, x1, 284
    00053bb4bl internal/runtime/atomic.(*Uint32).Load
    00053bb8subs wzr, w0, 2
    00053bbcb.ne 0x53c00
    00053bc0ldr x1, [sp+64]
    00053bc4ldr x2, [x1+744]
    00053bc8adrp x27, 0x9f8000
    00053bccldr w3, [x27+3056]
    00053bd0cbnz w3, 0x53bdc
    00053bd4ldr x3, [sp+40]
    00053bd8b 0x53bf0
    00053bdc
    00053bdcloc_53bdc:
    00053bdcbl runtime.gcWriteBarrier2
    00053be0ldr x3, [sp+40]
    00053be4str x3, [x25]
    00053be8ldr x4, [x1+744]
    00053becstr x4, [x25+8]
    00053bf0
    00053bf0loc_53bf0:
    00053bf0str x3, [x1+744]
    00053bf4ldr x0, [sp+64]
    00053bf8str x2, [sp+64]
    00053bfcb 0x53ba0
    00053c00
    00053c00loc_53c00:
    00053c00str w0, [sp+36]
    00053c04bl runtime.traceEnabled
    00053c08tbnz w0, 0, 0x53c14
    00053c0cbl runtime.traceShuttingDown
    00053c10tbz w0, 0, 0x53c1c
    00053c14
    00053c14loc_53c14:
    00053c14ldr x0, [sp+64]
    00053c18bl runtime.traceThreadDestroy
    00053c1c
    00053c1cloc_53c1c:
    00053c1cldr w0, [sp+36]
    00053c20cbnz w0, 0x53c44
    00053c24adrp x0, 0
    00053c28add x0, x0, 3248
    00053c2cstr x0, [sp+72]
    00053c30add x0, sp, 64
    00053c34str x0, [sp+80]
    00053c38add x0, sp, 72
    00053c3cstr x0, [sp+8]
    00053c40bl runtime.systemstack.abi0
    00053c44
    00053c44loc_53c44:
    00053c44ldr x1, [sp+64]
    00053c48ldr x1, [x1+744]
    00053c4cstr x1, [sp+64]
    00053c50ldr x0, [sp+40]
    00053c54b 0x53ba0
    00053c58
    00053c58loc_53c58:
    00053c58adrp x27, 0x9f8000
    00053c5cldr w1, [x27+3056]
    00053c60cbz w1, 0x53c78
    00053c64bl runtime.gcWriteBarrier2
    00053c68str x0, [x25]
    00053c6cadrp x27, 0x9d4000
    00053c70ldr x1, [x27+352]
    00053c74str x1, [x25+8]
    00053c78
    00053c78loc_53c78:
    00053c78adrp x27, 0x9d4000
    00053c7cstr x0, [x27+352]
    00053c80adrp x0, 0x9d4000
    00053c84add x0, x0, 152
    00053c88bl runtime.unlock
    00053c8cb 0x53a74
    00053c90
    00053c90loc_53c90:
    00053c90stp x0, x1, [sp+8]
    00053c94str x2, [sp+24]
    00053c98mov x3, x30
    00053c9cbl runtime.morestack_noctxt.abi0
    00053ca0ldp x0, x1, [sp+8]
    00053ca4ldr x2, [sp+24]
    00053ca8b 0x53a00
    00053cacudf 0
    00053a00
    00053cb0
    00053cb0runtime.allocm.func1: ; void runtime.allocm.func1(void)
    00053cb0ldr x16, [x28+16]
    00053cb4subs xzr, sp, x16
    00053cb8b.ls 0x53cec
    00053cbcstr x30, [sp-32]!
    00053cc0stur x29, [sp-8]
    00053cc4sub x29, sp, 8
    00053cc8ldr x2, [x26+8]
    00053cccldr x2, [x2]
    00053cd0ldr x2, [x2]
    00053cd4ldr x0, [x2]
    00053cd8ldr x1, [x2+8]
    00053cdcbl runtime.stackfree
    00053ce0ldur x29, [sp-8]
    00053ce4ldr x30, [sp], 32
    00053ce8ret x30
    00053cec
    00053cecloc_53cec:
    00053cecmov x3, x30
    00053cf0bl runtime.morestack.abi0
    00053cf4b 0x53cb0
    00053cf8udf 0
    00053cfcudf 0
    00053cb0