File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    00054d40
    00054d40runtime.stoplockedm: ; void runtime.stoplockedm(void)
    00054d40ldr x16, [x28+16]
    00054d44subs xzr, sp, x16
    00054d48b.ls 0x54e58
    00054d4cstr x30, [sp-48]!
    00054d50stur x29, [sp-8]
    00054d54sub x29, sp, 8
    00054d58ldr x2, [x28+48]
    00054d5cldr x0, [x2+344]
    00054d60cbz x0, 0x54e44
    00054d64str x28, [sp+32]
    00054d68bl runtime.guintptr.ptr
    00054d6cldr x0, [x0+216]
    00054d70bl runtime.muintptr.ptr
    00054d74ldr x1, [sp+32]
    00054d78ldr x2, [x1+48]
    00054d7csubs xzr, x0, x2
    00054d80b.ne 0x54e44
    00054d84ldr x2, [x2+208]
    00054d88cbz x2, 0x54d94
    00054d8cbl runtime.releasep
    00054d90bl runtime.handoffp
    00054d94
    00054d94loc_54d94:
    00054d94orr x0, xzr, 1
    00054d98bl runtime.incidlelocked
    00054d9cbl runtime.mPark
    00054da0ldr x1, [sp+32]
    00054da4ldr x1, [x1+48]
    00054da8ldr x0, [x1+344]
    00054dacbl runtime.guintptr.ptr
    00054db0bl runtime.readgstatus
    00054db4and x1, x0, -4097
    00054db8subs wzr, w1, 1
    00054dbcb.ne 0x54dec
    00054dc0ldr x1, [sp+32]
    00054dc4ldr x1, [x1+48]
    00054dc8ldr x0, [x1+216]
    00054dccbl runtime.puintptr.ptr
    00054dd0bl runtime.acquirep
    00054dd4ldr x1, [sp+32]
    00054dd8ldr x1, [x1+48]
    00054ddcstr xzr, [x1+216]
    00054de0ldur x29, [sp-8]
    00054de4ldr x30, [sp], 48
    00054de8ret x30
    00054dec
    00054decloc_54dec:
    00054decstr w0, [sp+28]
    00054df0bl runtime.printlock
    00054df4adrp x0, 0x671000
    00054df8add x0, x0, 3397
    00054dfcmovz x1, 43
    00054e00bl runtime.printstring
    00054e04ldr w0, [sp+28]
    00054e08bl runtime.printuint
    00054e0cadrp x0, 0x66d000
    00054e10add x0, x0, 1597
    00054e14movz x1, 36
    00054e18bl runtime.printstring
    00054e1cbl runtime.printunlock
    00054e20ldr x0, [sp+32]
    00054e24ldr x0, [x0+48]
    00054e28ldr x0, [x0+344]
    00054e2cbl runtime.guintptr.ptr
    00054e30bl runtime.dumpgstatus
    00054e34adrp x0, 0x665000
    00054e38add x0, x0, 2304
    00054e3cmovz x1, 25
    00054e40bl runtime.throw
    00054e44
    00054e44loc_54e44:
    00054e44adrp x0, 0x66b000
    00054e48add x0, x0, 804
    00054e4cmovz x1, 33
    00054e50bl runtime.throw
    00054e54hint
    00054e58
    00054e58loc_54e58:
    00054e58mov x3, x30
    00054e5cbl runtime.morestack_noctxt.abi0
    00054e60b 0x54d40
    00054e64udf 0
    00054e68udf 0
    00054e6cudf 0
    00054d40
    00054e70
    00054e70runtime.startlockedm: ; void runtime.startlockedm(runtime.g * gp)
    00054e70ldr x16, [x28+16]
    00054e74subs xzr, sp, x16
    00054e78b.ls 0x54f0c
    00054e7cstr x30, [sp-48]!
    00054e80stur x29, [sp-8]
    00054e84sub x29, sp, 8
    00054e88ldr x0, [x0+216]
    00054e8cbl runtime.muintptr.ptr
    00054e90ldr x1, [x28+48]
    00054e94subs xzr, x0, x1
    00054e98b.eq 0x54ef8
    00054e9cldr x2, [x0+216]
    00054ea0cbnz x2, 0x54ee8
    00054ea4str x0, [sp+32]
    00054ea8movn x0, 0
    00054eacbl runtime.incidlelocked
    00054eb0bl runtime.releasep
    00054eb4ldr x1, [sp+32]
    00054eb8add x1, x1, 216
    00054ebcmov x2, x0
    00054ec0mov x0, x1
    00054ec4mov x1, x2
    00054ec8bl runtime.(*puintptr).set
    00054eccldr x1, [sp+32]
    00054ed0add x0, x1, 320
    00054ed4bl runtime.notewakeup
    00054ed8bl runtime.stopm
    00054edcldur x29, [sp-8]
    00054ee0ldr x30, [sp], 48
    00054ee4ret x30
    00054ee8
    00054ee8loc_54ee8:
    00054ee8adrp x0, 0x663000
    00054eecadd x0, x0, 648
    00054ef0movz x1, 21
    00054ef4bl runtime.throw
    00054ef8
    00054ef8loc_54ef8:
    00054ef8adrp x0, 0x666000
    00054efcadd x0, x0, 747
    00054f00movz x1, 26
    00054f04bl runtime.throw
    00054f08hint
    00054f0c
    00054f0cloc_54f0c:
    00054f0cstr x0, [sp+8]
    00054f10mov x3, x30
    00054f14bl runtime.morestack_noctxt.abi0
    00054f18ldr x0, [sp+8]
    00054f1cb 0x54e70
    00054e70
    00054f20
    00054f20runtime.gcstopm: ; void runtime.gcstopm(void)
    00054f20ldr x16, [x28+16]
    00054f24subs xzr, sp, x16
    00054f28b.ls 0x55008
    00054f2cstr x30, [sp-48]!
    00054f30stur x29, [sp-8]
    00054f34sub x29, sp, 8
    00054f38str x28, [sp+32]
    00054f3cadrp x0, 0x9d3000
    00054f40add x0, x0, 360
    00054f44bl internal/runtime/atomic.(*Bool).Load
    00054f48tbz w0, 0, 0x54ff4
    00054f4cldr x2, [sp+32]
    00054f50ldr x2, [x2+48]
    00054f54ldrb w3, [x2+276]
    00054f58tbz w3, 0, 0x54f74
    00054f5cstrb wzr, [x2+276]
    00054f60adrp x0, 0x9d3000
    00054f64add x0, x0, 220
    00054f68movn x1, 0
    00054f6cbl internal/runtime/atomic.(*Int32).Add
    00054f70tbnz w0, 31, 0x54fe4
    00054f74
    00054f74loc_54f74:
    00054f74bl runtime.releasep
    00054f78str x0, [sp+24]
    00054f7cadrp x0, 0x9d3000
    00054f80add x0, x0, 152
    00054f84bl runtime.lock
    00054f88orr x0, xzr, 3
    00054f8cldr x1, [sp+24]
    00054f90str w0, [x1+4]
    00054f94bl runtime.nanotime
    00054f98ldr x1, [sp+24]
    00054f9cstr x0, [x1+8944]
    00054fa0adrp x27, 0x9d3000
    00054fa4ldrsw x0, [x27+364]
    00054fa8sub x1, x0, 1
    00054facadrp x27, 0x9d3000
    00054fb0str w1, [x27+364]
    00054fb4subs wzr, w0, 1
    00054fb8b.ne 0x54fc8
    00054fbcadrp x0, 0x9d3000
    00054fc0add x0, x0, 368
    00054fc4bl runtime.notewakeup
    00054fc8
    00054fc8loc_54fc8:
    00054fc8adrp x0, 0x9d3000
    00054fccadd x0, x0, 152
    00054fd0bl runtime.unlock
    00054fd4bl runtime.stopm
    00054fd8ldur x29, [sp-8]
    00054fdcldr x30, [sp], 48
    00054fe0ret x30
    00054fe4
    00054fe4loc_54fe4:
    00054fe4adrp x0, 0x667000
    00054fe8add x0, x0, 2228
    00054fecorr x1, xzr, 28
    00054ff0bl runtime.throw
    00054ff4
    00054ff4loc_54ff4:
    00054ff4adrp x0, 0x666000
    00054ff8add x0, x0, 3632
    00054ffcmovz x1, 27
    00055000bl runtime.throw
    00055004hint
    00055008
    00055008loc_55008:
    00055008mov x3, x30
    0005500cbl runtime.morestack_noctxt.abi0
    00055010b 0x54f20
    00055014udf 0
    00055018udf 0
    0005501cudf 0
    00054f20
    00055020
    00055020runtime.execute: ; void runtime.execute(runtime.g * gp, bool inheritTime)
    00055020ldr x16, [x28+16]
    00055024subs xzr, sp, x16
    00055028b.ls 0x5516c
    0005502cstr x30, [sp-80]!
    00055030stur x29, [sp-8]
    00055034sub x29, sp, 8
    00055038str x0, [sp+88]
    0005503cstrb w1, [sp+96]
    00055040ldr x5, [x28+48]
    00055044str x5, [sp+56]
    00055048adrp x27, 0x9c3000
    0005504cldrb w6, [x27+2180]
    00055050tbz w6, 0, 0x55078
    00055054mov x1, xzr
    00055058mov x2, xzr
    0005505cmov x3, x2
    00055060adrp x4, 0x683000
    00055064add x4, x4, 2448
    00055068bl runtime.tryRecordGoroutineProfile
    0005506cldr x0, [sp+88]
    00055070ldrb w1, [sp+96]
    00055074ldr x5, [sp+56]
    00055078
    00055078loc_55078:
    00055078ldrsb x27, [x5]
    0005507cadrp x27, 0x9f6000
    00055080ldr w3, [x27+3056]
    00055084cbz w3, 0x55098
    00055088bl runtime.gcWriteBarrier2
    0005508cstr x0, [x25]
    00055090ldr x3, [x5+192]
    00055094str x3, [x25+8]
    00055098
    00055098loc_55098:
    00055098str x0, [x5+192]
    0005509cldrsb x27, [x0]
    000550a0adrp x27, 0x9f6000
    000550a4ldr w3, [x27+3056]
    000550a8cbz w3, 0x550bc
    000550acbl runtime.gcWriteBarrier2
    000550b0str x5, [x25]
    000550b4ldr x3, [x0+48]
    000550b8str x3, [x25+8]
    000550bc
    000550bcloc_550bc:
    000550bcstr x5, [x0+48]
    000550c0orr x1, xzr, 1
    000550c4orr x2, xzr, 2
    000550c8bl runtime.casgstatus
    000550ccldr x3, [sp+88]
    000550d0str xzr, [x3+176]
    000550d4strb wzr, [x3+185]
    000550d8ldr x4, [x3]
    000550dcadd x4, x4, 928
    000550e0str x4, [x3+16]
    000550e4ldrb w0, [sp+96]
    000550e8tbnz w0, 0, 0x55108
    000550ecldr x1, [sp+56]
    000550f0ldr x0, [x1+208]
    000550f4bl runtime.puintptr.ptr
    000550f8ldr w1, [x0+16]
    000550fcadd x1, x1, 1
    00055100str w1, [x0+16]
    00055104ldr x3, [sp+88]
    00055108
    00055108loc_55108:
    00055108adrp x27, 0x9d2000
    0005510cldrsw x0, [x27+416]
    00055110ldr x1, [sp+56]
    00055114ldrsw x1, [x1+272]
    00055118subs wzr, w1, w0
    0005511cb.eq 0x55124
    00055120bl runtime.setThreadCPUProfiler
    00055124
    00055124loc_55124:
    00055124bl runtime.traceAcquire
    00055128str x0, [sp+64]
    0005512cstr x1, [sp+48]
    00055130bl runtime.traceLocker.ok
    00055134tbz w0, 0, 0x55150
    00055138ldr x0, [sp+64]
    0005513cldr x1, [sp+48]
    00055140bl runtime.traceLocker.GoStart
    00055144ldr x0, [sp+64]
    00055148ldr x1, [sp+48]
    0005514cbl runtime.traceRelease
    00055150
    00055150loc_55150:
    00055150ldr x0, [sp+88]
    00055154add x0, x0, 56
    00055158str x0, [sp+8]
    0005515cbl runtime.gogo.abi0
    00055160ldur x29, [sp-8]
    00055164ldr x30, [sp], 80
    00055168ret x30
    0005516c
    0005516cloc_5516c:
    0005516cstr x0, [sp+8]
    00055170strb w1, [sp+16]
    00055174mov x3, x30
    00055178bl runtime.morestack_noctxt.abi0
    0005517cldr x0, [sp+8]
    00055180ldrb w1, [sp+16]
    00055184b 0x55020
    00055188udf 0
    0005518cudf 0
    00055020