File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    00053d00
    00053d00runtime.needm: ; void runtime.needm(bool signal)
    00053d00str x30, [sp-80]!
    00053d04stur x29, [sp-8]
    00053d08sub x29, sp, 8
    00053d0cstrb w0, [sp+88]
    00053d10adrp x27, 0x9f8000
    00053d14ldrb w2, [x27+1585]
    00053d18tbz w2, 0, 0x53d44
    00053d1cadrp x27, 0x9f8000
    00053d20ldrb w2, [x27+1515]
    00053d24tbnz w2, 0, 0x53d44
    00053d28adrp x0, 0x672000
    00053d2cadd x0, x0, 1117
    00053d30movz x1, 42
    00053d34bl runtime.writeErrStr
    00053d38orr x2, xzr, 1
    00053d3cstr w2, [sp+8]
    00053d40bl runtime.exit.abi0
    00053d44
    00053d44loc_53d44:
    00053d44str xzr, [sp+40]
    00053d48add x0, sp, 40
    00053d4cbl runtime.sigsave
    00053d50mov x0, xzr
    00053d54bl runtime.sigblock
    00053d58bl runtime.getExtraM
    00053d5cstr x0, [sp+64]
    00053d60strb w1, [x0+288]
    00053d64ldr x1, [sp+40]
    00053d68str x1, [x0+128]
    00053d6cbl runtime.osSetupTLS
    00053d70ldr x1, [sp+64]
    00053d74ldr x1, [x1]
    00053d78str x1, [sp+8]
    00053d7cbl runtime.setg.abi0
    00053d80add x1, sp, 80
    00053d84ldr x0, [sp+64]
    00053d88ldrb w2, [sp+88]
    00053d8cbl runtime.callbackUpdateSystemStack
    00053d90ldr x1, [sp+64]
    00053d94strb wzr, [x1+282]
    00053d98bl runtime.asminit.abi0
    00053d9cbl runtime.minit
    00053da0ldrb w0, [sp+88]
    00053da4tbz w0, 0, 0x53db4
    00053da8mov x1, xzr
    00053dacmov x2, xzr
    00053db0b 0x53dbc
    00053db4
    00053db4loc_53db4:
    00053db4bl runtime.traceAcquire
    00053db8mov x2, x0
    00053dbc
    00053dbcloc_53dbc:
    00053dbcstr x1, [sp+48]
    00053dc0str x2, [sp+56]
    00053dc4ldr x3, [sp+64]
    00053dc8ldr x0, [x3+192]
    00053dccorr x1, xzr, 6
    00053dd0orr x2, xzr, 3
    00053dd4bl runtime.casgstatus
    00053dd8adrp x0, 0x9d4000
    00053ddcadd x0, x0, 200
    00053de0movn x1, 0
    00053de4bl internal/runtime/atomic.(*Int32).Add
    00053de8ldrb w0, [sp+88]
    00053dectbnz w0, 0, 0x53e24
    00053df0ldr x0, [sp+56]
    00053df4ldr x1, [sp+48]
    00053df8bl runtime.traceLocker.ok
    00053dfctbz w0, 0, 0x53e20
    00053e00ldr x3, [sp+64]
    00053e04ldr x2, [x3+192]
    00053e08ldr x0, [sp+56]
    00053e0cldr x1, [sp+48]
    00053e10bl runtime.traceLocker.GoCreateSyscall
    00053e14ldr x0, [sp+56]
    00053e18ldr x1, [sp+48]
    00053e1cbl runtime.traceRelease
    00053e20
    00053e20loc_53e20:
    00053e20ldrb w0, [sp+88]
    00053e24
    00053e24loc_53e24:
    00053e24ldr x1, [sp+64]
    00053e28strb w0, [x1+283]
    00053e2cldur x29, [sp-8]
    00053e30ldr x30, [sp], 80
    00053e34ret x30
    00053e38udf 0
    00053e3cudf 0
    00053d00
    00053e40
    00053e40runtime.newextram: ; void runtime.newextram(void)
    00053e40ldr x16, [x28+16]
    00053e44subs xzr, sp, x16
    00053e48b.ls 0x53eb8
    00053e4cstr x30, [sp-48]!
    00053e50stur x29, [sp-8]
    00053e54sub x29, sp, 8
    00053e58adrp x0, 0x9f8000
    00053e5cadd x0, x0, 1636
    00053e60mov x1, xzr
    00053e64bl internal/runtime/atomic.(*Uint32).Swap
    00053e68cbz w0, 0x53e78
    00053e6cstr w0, [sp+36]
    00053e70mov x1, xzr
    00053e74b 0x53eac
    00053e78
    00053e78loc_53e78:
    00053e78adrp x0, 0x9f8000
    00053e7cadd x0, x0, 1632
    00053e80bl internal/runtime/atomic.(*Uint32).Load
    00053e84cbnz w0, 0x53e8c
    00053e88bl runtime.oneNewExtraM
    00053e8c
    00053e8cloc_53e8c:
    00053e8cldur x29, [sp-8]
    00053e90ldr x30, [sp], 48
    00053e94ret x30
    00053e98
    00053e98loc_53e98:
    00053e98str w1, [sp+32]
    00053e9cbl runtime.oneNewExtraM
    00053ea0ldr w0, [sp+32]
    00053ea4add x1, x0, 1
    00053ea8ldr w0, [sp+36]
    00053eac
    00053eacloc_53eac:
    00053eacsubs wzr, w0, w1
    00053eb0b.hi 0x53e98
    00053eb4b 0x53e8c
    00053eb8
    00053eb8loc_53eb8:
    00053eb8mov x3, x30
    00053ebcbl runtime.morestack_noctxt.abi0
    00053ec0b 0x53e40
    00053ec4udf 0
    00053ec8udf 0
    00053eccudf 0
    00053e40
    00053ed0
    00053ed0runtime.oneNewExtraM: ; void runtime.oneNewExtraM(void)
    00053ed0ldr x16, [x28+16]
    00053ed4subs xzr, sp, x16
    00053ed8b.ls 0x54020
    00053edcstr x30, [sp-64]!
    00053ee0stur x29, [sp-8]
    00053ee4sub x29, sp, 8
    00053ee8mov x0, xzr
    00053eecmov x1, xzr
    00053ef0movn x2, 0
    00053ef4bl runtime.allocm
    00053ef8str x0, [sp+40]
    00053efcorr x0, xzr, 4096
    00053f00bl runtime.malg
    00053f04str x0, [sp+48]
    00053f08adrp x3, 0x34000
    00053f0cadd x3, x3, 2096
    00053f10add x3, x3, 4
    00053f14str x3, [x0+64]
    00053f18ldr x3, [x0+8]
    00053f1cstr x3, [x0+56]
    00053f20sub x3, x3, 32
    00053f24str x3, [x0+56]
    00053f28str xzr, [x0+96]
    00053f2cmov x4, x0
    00053f30str x4, [x0+72]
    00053f34ldr x4, [x0+64]
    00053f38str x4, [x0+120]
    00053f3cstr x3, [x0+112]
    00053f40ldr x3, [x0+56]
    00053f44str x3, [x0+136]
    00053f48mov x1, xzr
    00053f4corr x2, xzr, 6
    00053f50bl runtime.casgstatus
    00053f54adrp x27, 0x9f8000
    00053f58ldr w3, [x27+3056]
    00053f5ccbnz w3, 0x53f6c
    00053f60ldr x1, [sp+48]
    00053f64ldr x2, [sp+40]
    00053f68b 0x53f84
    00053f6c
    00053f6cloc_53f6c:
    00053f6cbl runtime.gcWriteBarrier2
    00053f70ldr x2, [sp+40]
    00053f74str x2, [x25]
    00053f78ldr x1, [sp+48]
    00053f7cldr x3, [x1+48]
    00053f80str x3, [x25+8]
    00053f84
    00053f84loc_53f84:
    00053f84str x2, [x1+48]
    00053f88ldrsb x27, [x2]
    00053f8cadrp x27, 0x9f8000
    00053f90ldr w3, [x27+3056]
    00053f94cbz w3, 0x53fa8
    00053f98bl runtime.gcWriteBarrier2
    00053f9cstr x1, [x25]
    00053fa0ldr x3, [x2+192]
    00053fa4str x3, [x25+8]
    00053fa8
    00053fa8loc_53fa8:
    00053fa8str x1, [x2+192]
    00053facmovz x3, 257
    00053fb0add x27, x2, 281
    00053fb4strh w3, [x27]
    00053fb8ldr w3, [x2+612]
    00053fbcadd x3, x3, 1
    00053fc0str w3, [x2+612]
    00053fc4add x0, x2, 344
    00053fc8bl runtime.(*guintptr).set
    00053fccldr x2, [sp+48]
    00053fd0add x0, x2, 216
    00053fd4ldr x1, [sp+40]
    00053fd8bl runtime.(*muintptr).set
    00053fdcadrp x0, 0x9d4000
    00053fe0add x0, x0, 128
    00053fe4orr x1, xzr, 1
    00053fe8bl internal/runtime/atomic.(*Uint64).Add
    00053fecldr x2, [sp+48]
    00053ff0str x0, [x2+160]
    00053ff4mov x0, x2
    00053ff8bl runtime.allgadd
    00053ffcadrp x0, 0x9d4000
    00054000add x0, x0, 200
    00054004orr x1, xzr, 1
    00054008bl internal/runtime/atomic.(*Int32).Add
    0005400cldr x0, [sp+40]
    00054010bl runtime.addExtraM
    00054014ldur x29, [sp-8]
    00054018ldr x30, [sp], 64
    0005401cret x30
    00054020
    00054020loc_54020:
    00054020mov x3, x30
    00054024bl runtime.morestack_noctxt.abi0
    00054028b 0x53ed0
    0005402cudf 0
    00053ed0
    00054030
    00054030runtime.dropm: ; void runtime.dropm(void)
    00054030str x30, [sp-64]!
    00054034stur x29, [sp-8]
    00054038sub x29, sp, 8
    0005403cldr x3, [x28+48]
    00054040str x3, [sp+48]
    00054044ldrb w4, [x3+283]
    00054048tbz w4, 0, 0x54058
    0005404cmov x1, xzr
    00054050mov x0, xzr
    00054054b 0x54060
    00054058
    00054058loc_54058:
    00054058bl runtime.traceAcquire
    0005405cldr x3, [sp+48]
    00054060
    00054060loc_54060:
    00054060str x1, [sp+32]
    00054064str x0, [sp+40]
    00054068ldr x0, [x3+192]
    0005406corr x1, xzr, 3
    00054070orr x2, xzr, 6
    00054074bl runtime.casgstatus
    00054078ldr x3, [sp+48]
    0005407cldr x3, [x3+192]
    00054080strb wzr, [x3+186]
    00054084adrp x0, 0x9d3000
    00054088add x0, x0, 200
    0005408corr x1, xzr, 1
    00054090bl internal/runtime/atomic.(*Int32).Add
    00054094ldr x3, [sp+48]
    00054098ldrb w4, [x3+283]
    0005409ctbnz w4, 0, 0x540cc
    000540a0ldr x0, [sp+40]
    000540a4ldr x1, [sp+32]
    000540a8bl runtime.traceLocker.ok
    000540actbz w0, 0, 0x540c8
    000540b0ldr x0, [sp+40]
    000540b4ldr x1, [sp+32]
    000540b8bl runtime.traceLocker.GoDestroySyscall
    000540bcldr x0, [sp+40]
    000540c0ldr x1, [sp+32]
    000540c4bl runtime.traceRelease
    000540c8
    000540c8loc_540c8:
    000540c8ldr x3, [sp+48]
    000540cc
    000540ccloc_540cc:
    000540ccldr w1, [x3+740]
    000540d0sub x1, x1, 1
    000540d4str w1, [x3+740]
    000540d8ldr x1, [x3+192]
    000540dcldrsb x27, [x1]
    000540e0add x0, x1, 400
    000540e4bl runtime.(*gTraceState).reset
    000540e8bl runtime.traceEnabled
    000540ectbnz w0, 0, 0x540f8
    000540f0bl runtime.traceShuttingDown
    000540f4tbz w0, 0, 0x54118
    000540f8
    000540f8loc_540f8:
    000540f8adrp x0, 0x9d3000
    000540fcadd x0, x0, 152
    00054100bl runtime.lock
    00054104ldr x0, [sp+48]
    00054108bl runtime.traceThreadDestroy
    0005410cadrp x0, 0x9d3000
    00054110add x0, x0, 152
    00054114bl runtime.unlock
    00054118
    00054118loc_54118:
    00054118ldr x1, [sp+48]
    0005411cstrb wzr, [x1+283]
    00054120ldr x1, [x1+128]
    00054124str x1, [sp+24]
    00054128mov x0, xzr
    0005412cbl runtime.sigblock
    00054130bl runtime.unminit
    00054134str xzr, [sp+8]
    00054138bl runtime.setg.abi0
    0005413cldr x0, [sp+48]
    00054140ldr x1, [x0]
    00054144stp xzr, xzr, [x1]
    00054148stp xzr, xzr, [x1+16]
    0005414cstrb wzr, [x0+289]
    00054150bl runtime.putExtraM
    00054154ldr x1, [sp+24]
    00054158str x1, [sp+8]
    0005415cbl runtime.msigrestore
    00054160ldur x29, [sp-8]
    00054164ldr x30, [sp], 64
    00054168ret x30
    0005416cudf 0
    00054030
    00054170
    00054170runtime.lockextra: ; void runtime.lockextra(bool nilokay)
    00054170str x30, [sp-64]!
    00054174stur x29, [sp-8]
    00054178sub x29, sp, 8
    0005417cstrb w0, [sp+72]
    00054180mov x1, xzr
    00054184b 0x5418c
    00054188
    00054188loc_54188:
    00054188mov x1, x0
    0005418c
    0005418cloc_5418c:
    0005418cstrb w1, [sp+47]
    00054190adrp x0, 0x9f7000
    00054194add x0, x0, 1976
    00054198bl internal/runtime/atomic.(*Uintptr).Load
    0005419csubs xzr, x0, 1
    000541a0b.eq 0x54200
    000541a4cbnz x0, 0x541d8
    000541a8ldrb w1, [sp+72]
    000541actbnz w1, 0, 0x541d8
    000541b0ldrb w0, [sp+47]
    000541b4tbnz w0, 0, 0x541c8
    000541b8adrp x0, 0x9f7000
    000541bcadd x0, x0, 1636
    000541c0orr x1, xzr, 1
    000541c4bl internal/runtime/atomic.(*Uint32).Add
    000541c8
    000541c8loc_541c8:
    000541c8orr x0, xzr, 1
    000541ccbl runtime.usleep_no_g
    000541d0orr x0, xzr, 1
    000541d4b 0x54188
    000541d8
    000541d8loc_541d8:
    000541d8str x0, [sp+48]
    000541dcmov x1, x0
    000541e0orr x2, xzr, 1
    000541e4adrp x0, 0x9f7000
    000541e8add x0, x0, 1976
    000541ecbl internal/runtime/atomic.(*Uintptr).CompareAndSwap
    000541f0tbnz w0, 0, 0x5420c
    000541f4bl runtime.osyield_no_g
    000541f8ldrb w0, [sp+47]
    000541fcb 0x54188
    00054200
    00054200loc_54200:
    00054200bl runtime.osyield_no_g
    00054204ldrb w0, [sp+47]
    00054208b 0x54188
    0005420c
    0005420cloc_5420c:
    0005420cldr x0, [sp+48]
    00054210ldur x29, [sp-8]
    00054214ldr x30, [sp], 64
    00054218ret x30
    0005421cudf 0
    00054170
    00054220
    00054220runtime.unlockextra: ; void runtime.unlockextra(runtime.m * mp, int32 delta)
    00054220str x30, [sp-32]!
    00054224stur x29, [sp-8]
    00054228sub x29, sp, 8
    0005422cstr x0, [sp+40]
    00054230adrp x0, 0x9f7000
    00054234add x0, x0, 1632
    00054238bl internal/runtime/atomic.(*Uint32).Add
    0005423cldr x1, [sp+40]
    00054240adrp x0, 0x9f7000
    00054244add x0, x0, 1976
    00054248bl internal/runtime/atomic.(*Uintptr).Store
    0005424cldur x29, [sp-8]
    00054250ldr x30, [sp], 32
    00054254ret x30
    00054258udf 0
    0005425cudf 0
    00054220
    00054260
    00054260runtime.getExtraM: ; void runtime.getExtraM(void)
    00054260str x30, [sp-48]!
    00054264stur x29, [sp-8]
    00054268sub x29, sp, 8
    0005426cmov x0, xzr
    00054270bl runtime.lockextra
    00054274str x0, [sp+32]
    00054278adrp x0, 0x9f7000
    0005427cadd x0, x0, 1724
    00054280orr x1, xzr, 1
    00054284bl internal/runtime/atomic.(*Uint32).Add
    00054288ldr x1, [sp+32]
    0005428cldr x0, [x1+336]
    00054290bl runtime.muintptr.ptr
    00054294movn x1, 0
    00054298bl runtime.unlockextra
    0005429cldr x1, [sp+32]
    000542a0ldr x0, [x1+336]
    000542a4bl runtime.muintptr.ptr
    000542a8subs xzr, x0, 0
    000542accset x1, ne
    000542b0eor x1, x1, 1
    000542b4ldr x0, [sp+32]
    000542b8ldur x29, [sp-8]
    000542bcldr x30, [sp], 48
    000542c0ret x30
    000542c4udf 0
    000542c8udf 0
    000542ccudf 0
    00054260
    000542d0
    000542d0runtime.putExtraM: ; void runtime.putExtraM(runtime.m * mp)
    000542d0str x30, [sp-32]!
    000542d4stur x29, [sp-8]
    000542d8sub x29, sp, 8
    000542dcstr x0, [sp+40]
    000542e0adrp x0, 0x9f7000
    000542e4add x0, x0, 1724
    000542e8movn x1, 0
    000542ecbl internal/runtime/atomic.(*Uint32).Add
    000542f0ldr x0, [sp+40]
    000542f4bl runtime.addExtraM
    000542f8ldur x29, [sp-8]
    000542fcldr x30, [sp], 32
    00054300ret x30
    00054304udf 0
    00054308udf 0
    0005430cudf 0
    000542d0
    00054310
    00054310runtime.addExtraM: ; void runtime.addExtraM(runtime.m * mp)
    00054310str x30, [sp-32]!
    00054314stur x29, [sp-8]
    00054318sub x29, sp, 8
    0005431cstr x0, [sp+40]
    00054320orr x0, xzr, 1
    00054324bl runtime.lockextra
    00054328ldr x1, [sp+40]
    0005432cldrsb x27, [x1]
    00054330add x1, x1, 336
    00054334mov x2, x0
    00054338mov x0, x1
    0005433cmov x1, x2
    00054340bl runtime.(*muintptr).set
    00054344ldr x0, [sp+40]
    00054348orr x1, xzr, 1
    0005434cbl runtime.unlockextra
    00054350ldur x29, [sp-8]
    00054354ldr x30, [sp], 32
    00054358ret x30
    0005435cudf 0
    00054310
    00054360
    00054360runtime.newm: ; void runtime.newm(func() fn, runtime.p * pp, int64 id)
    00054360ldr x16, [x28+16]
    00054364subs xzr, sp, x16
    00054368b.ls 0x54480
    0005436cstr x30, [sp-48]!
    00054370stur x29, [sp-8]
    00054374sub x29, sp, 8
    00054378str x0, [sp+56]
    0005437cstr x1, [sp+64]
    00054380str x2, [sp+72]
    00054384bl runtime.acquirem
    00054388ldr x0, [sp+64]
    0005438cldr x1, [sp+56]
    00054390ldr x2, [sp+72]
    00054394bl runtime.allocm
    00054398str x0, [sp+32]
    0005439cldrsb x27, [x0]
    000543a0add x0, x0, 216
    000543a4ldr x1, [sp+64]
    000543a8bl runtime.(*puintptr).set
    000543acadrp x27, 0x9f7000
    000543b0ldr x0, [x27+1952]
    000543b4ldr x1, [sp+32]
    000543b8str x0, [x1+128]
    000543bcmov x0, x28
    000543c0cbz x0, 0x54450
    000543c4ldr x2, [x0+48]
    000543c8cbz x2, 0x54450
    000543ccldr w3, [x2+608]
    000543d0cbnz w3, 0x543dc
    000543d4ldrb w2, [x2+280]
    000543d8tbz w2, 0, 0x54450
    000543dc
    000543dcloc_543dc:
    000543dcadrp x0, 0x9f7000
    000543e0add x0, x0, 3776
    000543e4bl runtime.lock
    000543e8adrp x27, 0x9f7000
    000543ecldr w1, [x27+3808]
    000543f0cbz w1, 0x5446c
    000543f4adrp x27, 0x9f7000
    000543f8ldr x2, [x27+3784]
    000543fcldr x1, [sp+32]
    00054400str x2, [x1+336]
    00054404adrp x0, 0x9f7000
    00054408add x0, x0, 3784
    0005440cbl runtime.(*muintptr).set
    00054410adrp x27, 0x9f7000
    00054414ldrb w2, [x27+3792]
    00054418tbz w2, 0, 0x54430
    0005441cadrp x27, 0x9f7000
    00054420strb wzr, [x27+3792]
    00054424adrp x0, 0x9f7000
    00054428add x0, x0, 3800
    0005442cbl runtime.notewakeup
    00054430
    00054430loc_54430:
    00054430adrp x0, 0x9f7000
    00054434add x0, x0, 3776
    00054438bl runtime.unlock
    0005443cldr x0, [x28+48]
    00054440bl runtime.releasem
    00054444ldur x29, [sp-8]
    00054448ldr x30, [sp], 48
    0005444cret x30
    00054450
    00054450loc_54450:
    00054450mov x0, x1
    00054454bl runtime.newm1
    00054458ldr x0, [x28+48]
    0005445cbl runtime.releasem
    00054460ldur x29, [sp-8]
    00054464ldr x30, [sp], 48
    00054468ret x30
    0005446c
    0005446cloc_5446c:
    0005446cadrp x0, 0x671000
    00054470add x0, x0, 1159
    00054474movz x1, 42
    00054478bl runtime.throw
    0005447chint
    00054480
    00054480loc_54480:
    00054480stp x0, x1, [sp+8]
    00054484str x2, [sp+24]
    00054488mov x3, x30
    0005448cbl runtime.morestack_noctxt.abi0
    00054490ldp x0, x1, [sp+8]
    00054494ldr x2, [sp+24]
    00054498b 0x54360
    0005449cudf 0
    00054360
    000544a0
    000544a0runtime.newm1: ; void runtime.newm1(runtime.m * mp)
    000544a0ldr x16, [x28+16]
    000544a4subs xzr, sp, x16
    000544a8b.ls 0x5457c
    000544acstr x30, [sp-64]!
    000544b0stur x29, [sp-8]
    000544b4sub x29, sp, 8
    000544b8str x0, [sp+72]
    000544bcadrp x27, 0x9f7000
    000544c0ldrb w2, [x27+1585]
    000544c4tbz w2, 0, 0x5453c
    000544c8stp xzr, xzr, [sp+32]
    000544ccstr xzr, [sp+48]
    000544d0adrp x27, 0x9cd000
    000544d4ldr x2, [x27+872]
    000544d8cbz x2, 0x54568
    000544dcldr x1, [x0]
    000544e0add x0, sp, 32
    000544e4bl runtime.(*guintptr).set
    000544e8ldr x2, [sp+72]
    000544ecadd x2, x2, 136
    000544f0str x2, [sp+40]
    000544f4adrp x2, 0x31000
    000544f8add x2, x2, 976
    000544fcstr x2, [sp+48]
    00054500adrp x0, 0x9f7000
    00054504add x0, x0, 3904
    00054508bl runtime.(*rwmutex).rlock
    0005450cadrp x27, 0x9cd000
    00054510ldr x2, [x27+872]
    00054514str x2, [sp+8]
    00054518add x2, sp, 32
    0005451cstr x2, [sp+16]
    00054520bl runtime.asmcgocall.abi0
    00054524adrp x0, 0x9f7000
    00054528add x0, x0, 3904
    0005452cbl runtime.(*rwmutex).runlock
    00054530ldur x29, [sp-8]
    00054534ldr x30, [sp], 64
    00054538ret x30
    0005453c
    0005453cloc_5453c:
    0005453cadrp x0, 0x9f7000
    00054540add x0, x0, 3904
    00054544bl runtime.(*rwmutex).rlock
    00054548ldr x0, [sp+72]
    0005454cbl runtime.newosproc
    00054550adrp x0, 0x9f7000
    00054554add x0, x0, 3904
    00054558bl runtime.(*rwmutex).runlock
    0005455cldur x29, [sp-8]
    00054560ldr x30, [sp], 64
    00054564ret x30
    00054568
    00054568loc_54568:
    00054568adrp x0, 0x665000
    0005456cadd x0, x0, 2204
    00054570movz x1, 25
    00054574bl runtime.throw
    00054578hint
    0005457c
    0005457cloc_5457c:
    0005457cstr x0, [sp+8]
    00054580mov x3, x30
    00054584bl runtime.morestack_noctxt.abi0
    00054588ldr x0, [sp+8]
    0005458cb 0x544a0
    000544a0
    00054590
    00054590runtime.startTemplateThread: ; void runtime.startTemplateThread(void)
    00054590ldr x16, [x28+16]
    00054594subs xzr, sp, x16
    00054598b.ls 0x54644
    0005459cstr x30, [sp-48]!
    000545a0stur x29, [sp-8]
    000545a4sub x29, sp, 8
    000545a8bl runtime.acquirem
    000545acadrp x27, 0x9f7000
    000545b0ldrb w1, [x27+1516]
    000545b4tbz w1, 0, 0x545dc
    000545b8mov x3, xzr
    000545bcorr x4, xzr, 1
    000545c0adrp x5, 0x9f7000
    000545c4add x5, x5, 3808
    000545c8sbfm x27, x3, 0, 31
    000545cccasal w27, w4, [x5]
    000545d0subs wzr, w27, w3
    000545d4cset x6, eq
    000545d8b 0x54604
    000545dc
    000545dcloc_545dc:
    000545dcmov x3, xzr
    000545e0orr x4, xzr, 1
    000545e4adrp x5, 0x9f7000
    000545e8add x5, x5, 3808
    000545ec
    000545ecloc_545ec:
    000545ecldaxr w27, [x5]
    000545f0subs wzr, w27, w3
    000545f4b.ne 0x54600
    000545f8stlxr w27, w4, [x5]
    000545fccbnz x27, 0x545ec
    00054600
    00054600loc_54600:
    00054600cset x6, eq
    00054604
    00054604loc_54604:
    00054604tbz w6, 0, 0x54634
    00054608str x0, [sp+32]
    0005460cadrp x0, 0x684000
    00054610add x0, x0, 2600
    00054614mov x1, xzr
    00054618movn x2, 0
    0005461cbl runtime.newm
    00054620ldr x0, [sp+32]
    00054624bl runtime.releasem
    00054628ldur x29, [sp-8]
    0005462cldr x30, [sp], 48
    00054630ret x30
    00054634
    00054634loc_54634:
    00054634bl runtime.releasem
    00054638ldur x29, [sp-8]
    0005463cldr x30, [sp], 48
    00054640ret x30
    00054644
    00054644loc_54644:
    00054644mov x3, x30
    00054648bl runtime.morestack_noctxt.abi0
    0005464cb 0x54590
    00054590
    00054650
    00054650runtime.templateThread: ; void runtime.templateThread(void)
    00054650ldr x16, [x28+16]
    00054654subs xzr, sp, x16
    00054658b.ls 0x54740
    0005465cstr x30, [sp-48]!
    00054660stur x29, [sp-8]
    00054664sub x29, sp, 8
    00054668adrp x0, 0x9d3000
    0005466cadd x0, x0, 152
    00054670bl runtime.lock
    00054674adrp x27, 0x9d3000
    00054678ldrsw x1, [x27+188]
    0005467cadd x1, x1, 1
    00054680adrp x27, 0x9d3000
    00054684str w1, [x27+188]
    00054688bl runtime.checkdead
    0005468cadrp x0, 0x9d3000
    00054690add x0, x0, 152
    00054694bl runtime.unlock
    00054698b 0x546cc
    0005469c
    0005469cloc_5469c:
    0005469corr x1, xzr, 1
    000546a0adrp x27, 0x9f7000
    000546a4strb w1, [x27+3792]
    000546a8adrp x0, 0x9f7000
    000546acadd x0, x0, 3800
    000546b0bl runtime.noteclear
    000546b4adrp x0, 0x9f7000
    000546b8add x0, x0, 3776
    000546bcbl runtime.unlock
    000546c0adrp x0, 0x9f7000
    000546c4add x0, x0, 3800
    000546c8bl runtime.notesleep
    000546cc
    000546ccloc_546cc:
    000546ccadrp x0, 0x9f7000
    000546d0add x0, x0, 3776
    000546d4bl runtime.lock
    000546d8b 0x546e8
    000546dc
    000546dcloc_546dc:
    000546dcadrp x0, 0x9f7000
    000546e0add x0, x0, 3776
    000546e4bl runtime.lock
    000546e8
    000546e8loc_546e8:
    000546e8adrp x27, 0x9f7000
    000546ecldr x0, [x27+3784]
    000546f0cbz x0, 0x5469c
    000546f4bl runtime.muintptr.ptr
    000546f8str x0, [sp+24]
    000546fcadrp x27, 0x9f7000
    00054700str xzr, [x27+3784]
    00054704adrp x0, 0x9f7000
    00054708add x0, x0, 3776
    0005470cbl runtime.unlock
    00054710ldr x0, [sp+24]
    00054714b 0x54738
    00054718
    00054718loc_54718:
    00054718str x0, [sp+24]
    0005471cldr x0, [x0+336]
    00054720bl runtime.muintptr.ptr
    00054724str x0, [sp+32]
    00054728ldr x0, [sp+24]
    0005472cstr xzr, [x0+336]
    00054730bl runtime.newm1
    00054734ldr x0, [sp+32]
    00054738
    00054738loc_54738:
    00054738cbnz x0, 0x54718
    0005473cb 0x546dc
    00054740
    00054740loc_54740:
    00054740mov x3, x30
    00054744bl runtime.morestack_noctxt.abi0
    00054748b 0x54650
    0005474cudf 0
    00054650
    00054750
    00054750runtime.stopm: ; void runtime.stopm(void)
    00054750ldr x16, [x28+16]
    00054754subs xzr, sp, x16
    00054758b.ls 0x54810
    0005475cstr x30, [sp-48]!
    00054760stur x29, [sp-8]
    00054764sub x29, sp, 8
    00054768ldr x2, [x28+48]
    0005476cldrsw x3, [x2+264]
    00054770cbnz w3, 0x547fc
    00054774ldr x3, [x2+208]
    00054778cbnz x3, 0x547ec
    0005477cldrb w2, [x2+276]
    00054780tbnz w2, 0, 0x547dc
    00054784str x28, [sp+32]
    00054788adrp x0, 0x9d3000
    0005478cadd x0, x0, 152
    00054790bl runtime.lock
    00054794ldr x1, [sp+32]
    00054798ldr x0, [x1+48]
    0005479cbl runtime.mput
    000547a0adrp x0, 0x9d3000
    000547a4add x0, x0, 152
    000547a8bl runtime.unlock
    000547acbl runtime.mPark
    000547b0ldr x1, [sp+32]
    000547b4ldr x1, [x1+48]
    000547b8ldr x0, [x1+216]
    000547bcbl runtime.puintptr.ptr
    000547c0bl runtime.acquirep
    000547c4ldr x1, [sp+32]
    000547c8ldr x1, [x1+48]
    000547ccstr xzr, [x1+216]
    000547d0ldur x29, [sp-8]
    000547d4ldr x30, [sp], 48
    000547d8ret x30
    000547dc
    000547dcloc_547dc:
    000547dcadrp x0, 0x65f000
    000547e0add x0, x0, 3290
    000547e4orr x1, xzr, 14
    000547e8bl runtime.throw
    000547ec
    000547ecloc_547ec:
    000547ecadrp x0, 0x660000
    000547f0add x0, x0, 687
    000547f4orr x1, xzr, 15
    000547f8bl runtime.throw
    000547fc
    000547fcloc_547fc:
    000547fcadrp x0, 0x662000
    00054800add x0, x0, 339
    00054804movz x1, 19
    00054808bl runtime.throw
    0005480chint
    00054810
    00054810loc_54810:
    00054810mov x3, x30
    00054814bl runtime.morestack_noctxt.abi0
    00054818b 0x54750
    0005481cudf 0
    00054750
    00054820
    00054820runtime.mspinning: ; void runtime.mspinning(void)
    00054820ldr x0, [x28+48]
    00054824orr x1, xzr, 1
    00054828strb w1, [x0+276]
    0005482cret x30
    00054820
    00054830
    00054830runtime.startm: ; void runtime.startm(runtime.p * pp, bool spinning, bool lockheld)
    00054830ldr x16, [x28+16]
    00054834subs xzr, sp, x16
    00054838b.ls 0x549e4
    0005483cstr x30, [sp-80]!
    00054840stur x29, [sp-8]
    00054844sub x29, sp, 8
    00054848str x0, [sp+88]
    0005484cstrb w1, [sp+96]
    00054850strb w2, [sp+97]
    00054854bl runtime.acquirem
    00054858str x0, [sp+56]
    0005485cldrb w1, [sp+97]
    00054860tbnz w1, 0, 0x54878
    00054864adrp x0, 0x9d3000
    00054868add x0, x0, 152
    0005486cbl runtime.lock
    00054870ldr x0, [sp+56]
    00054874ldrb w1, [sp+97]
    00054878
    00054878loc_54878:
    00054878ldr x2, [sp+88]
    0005487ccbnz x2, 0x54898
    00054880ldrb w2, [sp+96]
    00054884tbnz w2, 0, 0x549d0
    00054888mov x0, xzr
    0005488cbl runtime.pidleget
    00054890cbz x0, 0x54978
    00054894mov x2, x0
    00054898
    00054898loc_54898:
    00054898str x2, [sp+64]
    0005489cbl runtime.mget
    000548a0cbz x0, 0x5491c
    000548a4str x0, [sp+48]
    000548a8ldrb w1, [sp+97]
    000548actbnz w1, 0, 0x548c0
    000548b0adrp x0, 0x9d3000
    000548b4add x0, x0, 152
    000548b8bl runtime.unlock
    000548bcldr x0, [sp+48]
    000548c0
    000548c0loc_548c0:
    000548c0ldrb w2, [x0+276]
    000548c4tbnz w2, 0, 0x549c0
    000548c8ldr x2, [x0+216]
    000548cccbnz x2, 0x549b0
    000548d0ldrb w1, [sp+96]
    000548d4tbz w1, 0, 0x548ec
    000548d8ldr x0, [sp+64]
    000548dcbl runtime.runqempty
    000548e0tbz w0, 0, 0x549a0
    000548e4ldr x0, [sp+48]
    000548e8ldrb w1, [sp+96]
    000548ec
    000548ecloc_548ec:
    000548ecstrb w1, [x0+276]
    000548f0add x0, x0, 216
    000548f4ldr x1, [sp+64]
    000548f8bl runtime.(*puintptr).set
    000548fcldr x2, [sp+48]
    00054900add x0, x2, 320
    00054904bl runtime.notewakeup
    00054908ldr x0, [sp+56]
    0005490cbl runtime.releasem
    00054910ldur x29, [sp-8]
    00054914ldr x30, [sp], 80
    00054918ret x30
    0005491c
    0005491cloc_5491c:
    0005491cbl runtime.mReserveID
    00054920str x0, [sp+40]
    00054924adrp x0, 0x9d3000
    00054928add x0, x0, 152
    0005492cbl runtime.unlock
    00054930ldrb w0, [sp+96]
    00054934ands wzr, w0, 1
    00054938adrp x0, 0x684000
    0005493cadd x0, x0, 2408
    00054940csel x0, x0, xzr, ne
    00054944ldr x1, [sp+64]
    00054948ldr x2, [sp+40]
    0005494cbl runtime.newm
    00054950ldrb w0, [sp+97]
    00054954tbz w0, 0, 0x54964
    00054958adrp x0, 0x9d3000
    0005495cadd x0, x0, 152
    00054960bl runtime.lock
    00054964
    00054964loc_54964:
    00054964ldr x0, [sp+56]
    00054968bl runtime.releasem
    0005496cldur x29, [sp-8]
    00054970ldr x30, [sp], 80
    00054974ret x30
    00054978
    00054978loc_54978:
    00054978ldrb w0, [sp+97]
    0005497ctbnz w0, 0, 0x5498c
    00054980adrp x0, 0x9d3000
    00054984add x0, x0, 152
    00054988bl runtime.unlock
    0005498c
    0005498cloc_5498c:
    0005498cldr x0, [sp+56]
    00054990bl runtime.releasem
    00054994ldur x29, [sp-8]
    00054998ldr x30, [sp], 80
    0005499cret x30
    000549a0
    000549a0loc_549a0:
    000549a0adrp x0, 0x665000
    000549a4add x0, x0, 2279
    000549a8movz x1, 25
    000549acbl runtime.throw
    000549b0
    000549b0loc_549b0:
    000549b0adrp x0, 0x660000
    000549b4add x0, x0, 702
    000549b8orr x1, xzr, 15
    000549bcbl runtime.throw
    000549c0
    000549c0loc_549c0:
    000549c0adrp x0, 0x663000
    000549c4add x0, x0, 627
    000549c8movz x1, 21
    000549ccbl runtime.throw
    000549d0
    000549d0loc_549d0:
    000549d0adrp x0, 0x66d000
    000549d4add x0, x0, 1561
    000549d8movz x1, 36
    000549dcbl runtime.throw
    000549e0hint
    000549e4
    000549e4loc_549e4:
    000549e4str x0, [sp+8]
    000549e8strb w1, [sp+16]
    000549ecstrb w2, [sp+17]
    000549f0mov x3, x30
    000549f4bl runtime.morestack_noctxt.abi0
    000549f8ldr x0, [sp+8]
    000549fcldrb w1, [sp+16]
    00054a00ldrb w2, [sp+17]
    00054a04b 0x54830
    00054a08udf 0
    00054a0cudf 0
    00054830
    00054a10
    00054a10runtime.handoffp: ; void runtime.handoffp(runtime.p * pp)
    00054a10ldr x16, [x28+16]
    00054a14subs xzr, sp, x16
    00054a18b.ls 0x54d24
    00054a1cstr x30, [sp-48]!
    00054a20stur x29, [sp-8]
    00054a24sub x29, sp, 8
    00054a28str x0, [sp+56]
    00054a2cbl runtime.runqempty
    00054a30tbz w0, 0, 0x54d08
    00054a34adrp x27, 0x9d3000
    00054a38ldrsw x3, [x27+248]
    00054a3ccbnz w3, 0x54d08
    00054a40bl runtime.traceEnabled
    00054a44tbz w0, 0, 0x54a50
    00054a48orr x0, xzr, 1
    00054a4cb 0x54a54
    00054a50
    00054a50loc_54a50:
    00054a50bl runtime.traceShuttingDown
    00054a54
    00054a54loc_54a54:
    00054a54tbz w0, 0, 0x54a60
    00054a58bl runtime.traceReaderAvailable
    00054a5ccbnz x0, 0x54cec
    00054a60
    00054a60loc_54a60:
    00054a60adrp x27, 0x9f7000
    00054a64ldr w1, [x27+1604]
    00054a68cbz w1, 0x54a78
    00054a6cldr x0, [sp+56]
    00054a70bl runtime.gcMarkWorkAvailable
    00054a74tbnz w0, 0, 0x54cd0
    00054a78
    00054a78loc_54a78:
    00054a78adrp x0, 0x9d3000
    00054a7cadd x0, x0, 220
    00054a80bl internal/runtime/atomic.(*Int32).Load
    00054a84str w0, [sp+28]
    00054a88adrp x0, 0x9d3000
    00054a8cadd x0, x0, 216
    00054a90bl internal/runtime/atomic.(*Int32).Load
    00054a94ldrsw x1, [sp+28]
    00054a98adds wzr, w1, w0
    00054a9cb.ne 0x54ab8
    00054aa0adrp x0, 0x9d3000
    00054aa4add x0, x0, 220
    00054aa8mov x1, xzr
    00054aacorr x2, xzr, 1
    00054ab0bl internal/runtime/atomic.(*Int32).CompareAndSwap
    00054ab4tbnz w0, 0, 0x54ca4
    00054ab8
    00054ab8loc_54ab8:
    00054ab8adrp x0, 0x9d3000
    00054abcadd x0, x0, 152
    00054ac0bl runtime.lock
    00054ac4adrp x0, 0x9d3000
    00054ac8add x0, x0, 360
    00054accbl internal/runtime/atomic.(*Bool).Load
    00054ad0tbnz w0, 0, 0x54c4c
    00054ad4ldr x0, [sp+56]
    00054ad8ldrsb x27, [x0]
    00054adcmovz x1, 8832
    00054ae0add x1, x0, x1
    00054ae4ldr w2, [x0+8832]
    00054ae8cbz w2, 0x54b38
    00054aecadrp x27, 0x9f7000
    00054af0ldrb w2, [x27+1516]
    00054af4tbz w2, 0, 0x54b14
    00054af8orr x2, xzr, 1
    00054afcmov x3, xzr
    00054b00sbfm x27, x2, 0, 31
    00054b04casal w27, w3, [x1]
    00054b08subs wzr, w27, w2
    00054b0ccset x4, eq
    00054b10b 0x54b3c
    00054b14
    00054b14loc_54b14:
    00054b14orr x2, xzr, 1
    00054b18mov x3, xzr
    00054b1c
    00054b1cloc_54b1c:
    00054b1cldaxr w27, [x1]
    00054b20subs wzr, w27, w2
    00054b24b.ne 0x54b30
    00054b28stlxr w27, w3, [x1]
    00054b2ccbnz x27, 0x54b1c
    00054b30
    00054b30loc_54b30:
    00054b30cset x4, eq
    00054b34b 0x54b3c
    00054b38
    00054b38loc_54b38:
    00054b38mov x4, xzr
    00054b3c
    00054b3cloc_54b3c:
    00054b3ctbz w4, 0, 0x54b7c
    00054b40adrp x27, 0x9d3000
    00054b44ldr x26, [x27+392]
    00054b48ldr x1, [x26]
    00054b4cblr x1
    00054b50adrp x27, 0x9d3000
    00054b54ldrsw x1, [x27+400]
    00054b58sub x2, x1, 1
    00054b5cadrp x27, 0x9d3000
    00054b60str w2, [x27+400]
    00054b64subs wzr, w1, 1
    00054b68b.ne 0x54b78
    00054b6cadrp x0, 0x9d3000
    00054b70add x0, x0, 408
    00054b74bl runtime.notewakeup
    00054b78
    00054b78loc_54b78:
    00054b78ldr x0, [sp+56]
    00054b7c
    00054b7cloc_54b7c:
    00054b7cadrp x27, 0x9d3000
    00054b80ldrsw x1, [x27+248]
    00054b84cbnz w1, 0x54c24
    00054b88adrp x0, 0x9d3000
    00054b8cadd x0, x0, 216
    00054b90bl internal/runtime/atomic.(*Int32).Load
    00054b94adrp x27, 0x9f7000
    00054b98ldrsw x1, [x27+1648]
    00054b9csub x1, x1, 1
    00054ba0subs wzr, w0, w1
    00054ba4b.ne 0x54bb8
    00054ba8adrp x0, 0x9d3000
    00054bacadd x0, x0, 136
    00054bb0bl internal/runtime/atomic.(*Int64).Load
    00054bb4cbnz x0, 0x54bfc
    00054bb8
    00054bb8loc_54bb8:
    00054bb8ldr x1, [sp+56]
    00054bbcmovz x2, 8840
    00054bc0add x0, x1, x2
    00054bc4bl runtime.(*timers).wakeTime
    00054bc8str x0, [sp+32]
    00054bccldr x0, [sp+56]
    00054bd0mov x1, xzr
    00054bd4bl runtime.pidleput
    00054bd8adrp x0, 0x9d3000
    00054bdcadd x0, x0, 152
    00054be0bl runtime.unlock
    00054be4ldr x0, [sp+32]
    00054be8cbz x0, 0x54bf0
    00054becbl runtime.wakeNetPoller
    00054bf0
    00054bf0loc_54bf0:
    00054bf0ldur x29, [sp-8]
    00054bf4ldr x30, [sp], 48
    00054bf8ret x30
    00054bfc
    00054bfcloc_54bfc:
    00054bfcadrp x0, 0x9d3000
    00054c00add x0, x0, 152
    00054c04bl runtime.unlock
    00054c08ldr x0, [sp+56]
    00054c0cmov x1, xzr
    00054c10mov x2, x1
    00054c14bl runtime.startm
    00054c18ldur x29, [sp-8]
    00054c1cldr x30, [sp], 48
    00054c20ret x30
    00054c24
    00054c24loc_54c24:
    00054c24adrp x0, 0x9d3000
    00054c28add x0, x0, 152
    00054c2cbl runtime.unlock
    00054c30ldr x0, [sp+56]
    00054c34mov x1, xzr
    00054c38mov x2, x1
    00054c3cbl runtime.startm
    00054c40ldur x29, [sp-8]
    00054c44ldr x30, [sp], 48
    00054c48ret x30
    00054c4c
    00054c4cloc_54c4c:
    00054c4corr x0, xzr, 3
    00054c50ldr x1, [sp+56]
    00054c54str w0, [x1+4]
    00054c58bl runtime.nanotime
    00054c5cldr x1, [sp+56]
    00054c60str x0, [x1+8944]
    00054c64adrp x27, 0x9d3000
    00054c68ldrsw x0, [x27+364]
    00054c6csub x1, x0, 1
    00054c70adrp x27, 0x9d3000
    00054c74str w1, [x27+364]
    00054c78subs wzr, w0, 1
    00054c7cb.ne 0x54c8c
    00054c80adrp x0, 0x9d3000
    00054c84add x0, x0, 368
    00054c88bl runtime.notewakeup
    00054c8c
    00054c8cloc_54c8c:
    00054c8cadrp x0, 0x9d3000
    00054c90add x0, x0, 152
    00054c94bl runtime.unlock
    00054c98ldur x29, [sp-8]
    00054c9cldr x30, [sp], 48
    00054ca0ret x30
    00054ca4
    00054ca4loc_54ca4:
    00054ca4adrp x0, 0x9d3000
    00054ca8add x0, x0, 224
    00054cacmov x1, xzr
    00054cb0bl internal/runtime/atomic.(*Uint32).Store
    00054cb4ldr x0, [sp+56]
    00054cb8orr x1, xzr, 1
    00054cbcmov x2, xzr
    00054cc0bl runtime.startm
    00054cc4ldur x29, [sp-8]
    00054cc8ldr x30, [sp], 48
    00054cccret x30
    00054cd0
    00054cd0loc_54cd0:
    00054cd0ldr x0, [sp+56]
    00054cd4mov x1, xzr
    00054cd8mov x2, x1
    00054cdcbl runtime.startm
    00054ce0ldur x29, [sp-8]
    00054ce4ldr x30, [sp], 48
    00054ce8ret x30
    00054cec
    00054cecloc_54cec:
    00054cecldr x0, [sp+56]
    00054cf0mov x1, xzr
    00054cf4mov x2, x1
    00054cf8bl runtime.startm
    00054cfcldur x29, [sp-8]
    00054d00ldr x30, [sp], 48
    00054d04ret x30
    00054d08
    00054d08loc_54d08:
    00054d08ldr x0, [sp+56]
    00054d0cmov x1, xzr
    00054d10mov x2, x1
    00054d14bl runtime.startm
    00054d18ldur x29, [sp-8]
    00054d1cldr x30, [sp], 48
    00054d20ret x30
    00054d24
    00054d24loc_54d24:
    00054d24str x0, [sp+8]
    00054d28mov x3, x30
    00054d2cbl runtime.morestack_noctxt.abi0
    00054d30ldr x0, [sp+8]
    00054d34b 0x54a10
    00054d38udf 0
    00054d3cudf 0
    00054a10