File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0003ea80
    0003ea80runtime.(*mheap).freeSpanLocked: ; void runtime.(*mheap).freeSpanLocked(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
    0003ea80ldr x16, [x28+16]
    0003ea84subs xzr, sp, x16
    0003ea88b.ls 0x3ee28
    0003ea8cstr x30, [sp-80]!
    0003ea90stur x29, [sp-8]
    0003ea94sub x29, sp, 8
    0003ea98str x0, [sp+88]
    0003ea9cstr x1, [sp+96]
    0003eaa0strb w2, [sp+104]
    0003eaa4ldrsb x27, [x0]
    0003eaa8bl runtime.assertLockHeld
    0003eaacldr x1, [sp+96]
    0003eab0ldrsb x27, [x1]
    0003eab4add x0, x1, 99
    0003eab8str x0, [sp+64]
    0003eabcbl runtime.(*mSpanStateBox).get
    0003eac0ubfm x1, x0, 0, 7
    0003eac4subs wzr, w1, 1
    0003eac8b.ne 0x3eb68
    0003eaccldr x0, [sp+96]
    0003ead0ldrb w2, [x0+101]
    0003ead4tbnz w2, 0, 0x3ee14
    0003ead8ldrh w2, [x0+96]
    0003eadccbnz w2, 0x3ed50
    0003eae0ldr w2, [x0+88]
    0003eae4ldr x3, [sp+88]
    0003eae8add x27, x3, 0x10000
    0003eaecldr w4, [x27+320]
    0003eaf0subs wzr, w4, w2
    0003eaf4b.ne 0x3ed50
    0003eaf8movz x2, 352
    0003eafcmovk x2, 0x10000
    0003eb00add x2, x3, x2
    0003eb04ldr x3, [x0+32]
    0003eb08sub x1, xzr, x3
    0003eb0cmov x0, x2
    0003eb10bl internal/runtime/atomic.(*Uintptr).Add
    0003eb14ldr x0, [sp+96]
    0003eb18bl runtime.(*mspan).base
    0003eb1cbl runtime.pageIndexOf
    0003eb20subs xzr, x1, 1024
    0003eb24b.hs 0x3ed44
    0003eb28ldrsb x27, [x0]
    0003eb2cadd x3, x0, 0x10000
    0003eb30add x3, x3, x1
    0003eb34orn x2, xzr, x2
    0003eb38adrp x27, 0xa0d000
    0003eb3cldrb w4, [x27+1516]
    0003eb40tbz w4, 0, 0x3eb50
    0003eb44orn x27, xzr, x2
    0003eb48ldclralb w27, w4, [x3]
    0003eb4cb 0x3eb60
    0003eb50
    0003eb50loc_3eb50:
    0003eb50ldaxrb w5, [x3]
    0003eb54and x4, x5, x2
    0003eb58stlxrb w27, w4, [x3]
    0003eb5ccbnz x27, 0x3eb50
    0003eb60
    0003eb60loc_3eb60:
    0003eb60ldr x2, [sp+96]
    0003eb64b 0x3eb7c
    0003eb68
    0003eb68loc_3eb68:
    0003eb68subs wzr, w1, 2
    0003eb6cb.ne 0x3ed34
    0003eb70ldr x2, [sp+96]
    0003eb74ldrh w3, [x2+96]
    0003eb78cbnz w3, 0x3ed24
    0003eb7c
    0003eb7cloc_3eb7c:
    0003eb7cldr x2, [x2+32]
    0003eb80str x2, [sp+56]
    0003eb84ubfm x1, x2, 51, 50
    0003eb88adrp x0, 0xa0e000
    0003eb8cadd x0, x0, 2784
    0003eb90bl runtime.(*sysMemStat).add
    0003eb94ldrb w2, [sp+104]
    0003eb98str w2, [sp+36]
    0003eb9ccbnz w2, 0x3ebb4
    0003eba0ldr x2, [sp+56]
    0003eba4sub x1, xzr, x2, lsl #13
    0003eba8adrp x0, 0xa0e000
    0003ebacadd x0, x0, 2768
    0003ebb0bl runtime.(*sysMemStat).add
    0003ebb4
    0003ebb4loc_3ebb4:
    0003ebb4adrp x0, 0xa12000
    0003ebb8add x0, x0, 1056
    0003ebbcbl runtime.(*consistentHeapStats).acquire
    0003ebc0ldr w1, [sp+36]
    0003ebc4subs wzr, w1, 1
    0003ebc8b.hi 0x3ec48
    0003ebcccbnz w1, 0x3ec0c
    0003ebd0ldrsb x27, [x0]
    0003ebd4add x1, x0, 16
    0003ebd8ldr x2, [sp+56]
    0003ebdcsub x2, xzr, x2, lsl #13
    0003ebe0adrp x27, 0xa0d000
    0003ebe4ldrb w3, [x27+1516]
    0003ebe8tbz w3, 0, 0x3ebf8
    0003ebecldaddal x2, x3, [x1]
    0003ebf0add x3, x3, x2
    0003ebf4b 0x3eccc
    0003ebf8
    0003ebf8loc_3ebf8:
    0003ebf8ldaxr x3, [x1]
    0003ebfcadd x3, x3, x2
    0003ec00stlxr w27, x3, [x1]
    0003ec04cbnz x27, 0x3ebf8
    0003ec08b 0x3eccc
    0003ec0c
    0003ec0cloc_3ec0c:
    0003ec0cldrsb x27, [x0]
    0003ec10add x1, x0, 24
    0003ec14ldr x2, [sp+56]
    0003ec18sub x2, xzr, x2, lsl #13
    0003ec1cadrp x27, 0xa0d000
    0003ec20ldrb w3, [x27+1516]
    0003ec24tbz w3, 0, 0x3ec34
    0003ec28ldaddal x2, x3, [x1]
    0003ec2cadd x3, x3, x2
    0003ec30b 0x3eccc
    0003ec34
    0003ec34loc_3ec34:
    0003ec34ldaxr x3, [x1]
    0003ec38add x3, x3, x2
    0003ec3cstlxr w27, x3, [x1]
    0003ec40cbnz x27, 0x3ec34
    0003ec44b 0x3eccc
    0003ec48
    0003ec48loc_3ec48:
    0003ec48subs wzr, w1, 2
    0003ec4cb.ne 0x3ec8c
    0003ec50ldrsb x27, [x0]
    0003ec54add x1, x0, 40
    0003ec58ldr x2, [sp+56]
    0003ec5csub x2, xzr, x2, lsl #13
    0003ec60adrp x27, 0xa0d000
    0003ec64ldrb w3, [x27+1516]
    0003ec68tbz w3, 0, 0x3ec78
    0003ec6cldaddal x2, x3, [x1]
    0003ec70add x3, x3, x2
    0003ec74b 0x3eccc
    0003ec78
    0003ec78loc_3ec78:
    0003ec78ldaxr x3, [x1]
    0003ec7cadd x3, x3, x2
    0003ec80stlxr w27, x3, [x1]
    0003ec84cbnz x27, 0x3ec78
    0003ec88b 0x3eccc
    0003ec8c
    0003ec8cloc_3ec8c:
    0003ec8csubs wzr, w1, 3
    0003ec90b.ne 0x3eccc
    0003ec94ldrsb x27, [x0]
    0003ec98add x1, x0, 32
    0003ec9cldr x2, [sp+56]
    0003eca0sub x2, xzr, x2, lsl #13
    0003eca4adrp x27, 0xa0d000
    0003eca8ldrb w3, [x27+1516]
    0003ecactbz w3, 0, 0x3ecbc
    0003ecb0ldaddal x2, x3, [x1]
    0003ecb4add x3, x3, x2
    0003ecb8b 0x3eccc
    0003ecbc
    0003ecbcloc_3ecbc:
    0003ecbcldaxr x3, [x1]
    0003ecc0add x3, x3, x2
    0003ecc4stlxr w27, x3, [x1]
    0003ecc8cbnz x27, 0x3ecbc
    0003eccc
    0003ecccloc_3eccc:
    0003ecccadrp x0, 0xa12000
    0003ecd0add x0, x0, 1056
    0003ecd4bl runtime.(*consistentHeapStats).release
    0003ecd8ldr x0, [sp+96]
    0003ecdcbl runtime.(*mspan).base
    0003ece0ldr x1, [sp+88]
    0003ece4add x1, x1, 8
    0003ece8ldr x2, [sp+96]
    0003ececldr x2, [x2+32]
    0003ecf0mov x3, x0
    0003ecf4mov x0, x1
    0003ecf8mov x1, x3
    0003ecfcbl runtime.(*pageAlloc).free
    0003ed00ldr x0, [sp+64]
    0003ed04mov x1, xzr
    0003ed08bl runtime.(*mSpanStateBox).set
    0003ed0cldr x0, [sp+88]
    0003ed10ldr x1, [sp+96]
    0003ed14bl runtime.(*mheap).freeMSpanLocked
    0003ed18ldur x29, [sp-8]
    0003ed1cldr x30, [sp], 80
    0003ed20ret x30
    0003ed24
    0003ed24loc_3ed24:
    0003ed24adrp x0, 0x686000
    0003ed28add x0, x0, 2946
    0003ed2cmovz x1, 41
    0003ed30bl runtime.throw
    0003ed34
    0003ed34loc_3ed34:
    0003ed34adrp x0, 0x686000
    0003ed38add x0, x0, 2987
    0003ed3cmovz x1, 41
    0003ed40bl runtime.throw
    0003ed44
    0003ed44loc_3ed44:
    0003ed44mov x0, x1
    0003ed48orr x1, xzr, 1024
    0003ed4cbl runtime.panicIndexU
    0003ed50
    0003ed50loc_3ed50:
    0003ed50bl runtime.(*mspan).base
    0003ed54str x0, [sp+56]
    0003ed58ldr x1, [sp+96]
    0003ed5cldrh w2, [x1+96]
    0003ed60str x2, [sp+48]
    0003ed64ldr w1, [x1+88]
    0003ed68str x1, [sp+40]
    0003ed6cldr x1, [sp+88]
    0003ed70add x27, x1, 0x10000
    0003ed74ldr w1, [x27+320]
    0003ed78str w1, [sp+36]
    0003ed7cbl runtime.printlock
    0003ed80adrp x0, 0x67d000
    0003ed84add x0, x0, 2144
    0003ed88orr x1, xzr, 28
    0003ed8cbl runtime.printstring
    0003ed90ldr x0, [sp+96]
    0003ed94bl runtime.printuintptr
    0003ed98adrp x0, 0x672000
    0003ed9cadd x0, x0, 1667
    0003eda0movz x1, 5
    0003eda4bl runtime.printstring
    0003eda8ldr x0, [sp+56]
    0003edacbl runtime.printhex
    0003edb0adrp x0, 0x674000
    0003edb4add x0, x0, 3928
    0003edb8orr x1, xzr, 12
    0003edbcbl runtime.printstring
    0003edc0ldr x0, [sp+48]
    0003edc4bl runtime.printuint
    0003edc8adrp x0, 0x674000
    0003edccadd x0, x0, 264
    0003edd0movz x1, 10
    0003edd4bl runtime.printstring
    0003edd8ldr x0, [sp+40]
    0003eddcbl runtime.printuint
    0003ede0adrp x0, 0x671000
    0003ede4add x0, x0, 4032
    0003ede8orr x1, xzr, 1
    0003edecbl runtime.printstring
    0003edf0ldr w1, [sp+36]
    0003edf4mov x0, x1
    0003edf8bl runtime.printuint
    0003edfcbl runtime.printnl
    0003ee00bl runtime.printunlock
    0003ee04adrp x0, 0x682000
    0003ee08add x0, x0, 2211
    0003ee0cmovz x1, 35
    0003ee10bl runtime.throw
    0003ee14
    0003ee14loc_3ee14:
    0003ee14adrp x0, 0x68c000
    0003ee18add x0, x0, 3797
    0003ee1cmovz x1, 55
    0003ee20bl runtime.throw
    0003ee24hint
    0003ee28
    0003ee28loc_3ee28:
    0003ee28stp x0, x1, [sp+8]
    0003ee2cstrb w2, [sp+24]
    0003ee30mov x3, x30
    0003ee34bl runtime.morestack_noctxt.abi0
    0003ee38ldp x0, x1, [sp+8]
    0003ee3cldrb w2, [sp+24]
    0003ee40b 0x3ea80
    0003ee44udf 0
    0003ee48udf 0
    0003ee4cudf 0
    0003ea80
    0003ee50
    0003ee50runtime.(*mspan).init: ; void runtime.(*mspan).init(runtime.mspan * span, uintptr base, uintptr npages)
    0003ee50ldr x16, [x28+16]
    0003ee54subs xzr, sp, x16
    0003ee58b.ls 0x3eed0
    0003ee5cstr x30, [sp-32]!
    0003ee60stur x29, [sp-8]
    0003ee64sub x29, sp, 8
    0003ee68str x0, [sp+40]
    0003ee6cstp xzr, xzr, [x0]
    0003ee70str xzr, [x0+16]
    0003ee74str x1, [x0+24]
    0003ee78str x2, [x0+32]
    0003ee7cadd x2, x1, x2, lsl #13
    0003ee80str x2, [x0+112]
    0003ee84strh wzr, [x0+96]
    0003ee88strb wzr, [x0+98]
    0003ee8cstr xzr, [x0+104]
    0003ee90stp xzr, xzr, [x0+120]
    0003ee94strb wzr, [x0+100]
    0003ee98strh wzr, [x0+48]
    0003ee9cstrh wzr, [x0+52]
    0003eea0stp xzr, xzr, [x0+64]
    0003eea4str xzr, [x0+80]
    0003eea8add x0, x0, 99
    0003eeacmov x1, xzr
    0003eeb0bl runtime.(*mSpanStateBox).set
    0003eeb4ldr x2, [sp+40]
    0003eeb8add x0, x2, 120
    0003eebcmovz x1, 38
    0003eec0bl runtime.lockInit
    0003eec4ldur x29, [sp-8]
    0003eec8ldr x30, [sp], 32
    0003eeccret x30
    0003eed0
    0003eed0loc_3eed0:
    0003eed0stp x0, x1, [sp+8]
    0003eed4str x2, [sp+24]
    0003eed8mov x3, x30
    0003eedcbl runtime.morestack_noctxt.abi0
    0003eee0ldp x0, x1, [sp+8]
    0003eee4ldr x2, [sp+24]
    0003eee8b 0x3ee50
    0003eeecudf 0
    0003ee50
    0003eef0
    0003eef0runtime.(*mSpanList).init: ; void runtime.(*mSpanList).init(runtime.mSpanList * list)
    0003eef0stp xzr, xzr, [x0]
    0003eef4ret x30
    0003eef8udf 0
    0003eefcudf 0
    0003eef0
    0003ef00
    0003ef00runtime.(*mSpanList).remove: ; void runtime.(*mSpanList).remove(runtime.mSpanList * list, runtime.mspan * span)
    0003ef00ldr x16, [x28+16]
    0003ef04subs xzr, sp, x16
    0003ef08b.ls 0x3f034
    0003ef0cstr x30, [sp-64]!
    0003ef10stur x29, [sp-8]
    0003ef14sub x29, sp, 8
    0003ef18ldr x2, [x1+16]
    0003ef1csubs xzr, x0, x2
    0003ef20b.ne 0x3ef80
    0003ef24ldr x2, [x0]
    0003ef28subs xzr, x1, x2
    0003ef2cb.ne 0x3ef3c
    0003ef30ldr x2, [x1]
    0003ef34str x2, [x0]
    0003ef38b 0x3ef48
    0003ef3c
    0003ef3cloc_3ef3c:
    0003ef3cldr x2, [x1+8]
    0003ef40ldr x3, [x1]
    0003ef44str x3, [x2]
    0003ef48
    0003ef48loc_3ef48:
    0003ef48ldr x2, [x0+8]
    0003ef4csubs xzr, x1, x2
    0003ef50b.ne 0x3ef60
    0003ef54ldr x2, [x1+8]
    0003ef58str x2, [x0+8]
    0003ef5cb 0x3ef6c
    0003ef60
    0003ef60loc_3ef60:
    0003ef60ldr x0, [x1]
    0003ef64ldr x2, [x1+8]
    0003ef68str x2, [x0+8]
    0003ef6c
    0003ef6cloc_3ef6c:
    0003ef6cstp xzr, xzr, [x1]
    0003ef70str xzr, [x1+16]
    0003ef74ldur x29, [sp-8]
    0003ef78ldr x30, [sp], 64
    0003ef7cret x30
    0003ef80
    0003ef80loc_3ef80:
    0003ef80str x0, [sp+72]
    0003ef84str x1, [sp+80]
    0003ef88str x2, [sp+48]
    0003ef8cldr x0, [x1+32]
    0003ef90str x0, [sp+40]
    0003ef94ldr x0, [x1+8]
    0003ef98str x0, [sp+32]
    0003ef9cbl runtime.printlock
    0003efa0adrp x0, 0x688000
    0003efa4add x0, x0, 3186
    0003efa8movz x1, 45
    0003efacbl runtime.printstring
    0003efb0ldr x0, [sp+40]
    0003efb4bl runtime.printuint
    0003efb8adrp x0, 0x672000
    0003efbcadd x0, x0, 2443
    0003efc0orr x1, xzr, 6
    0003efc4bl runtime.printstring
    0003efc8ldr x0, [sp+80]
    0003efccbl runtime.printuintptr
    0003efd0adrp x0, 0x672000
    0003efd4add x0, x0, 2449
    0003efd8orr x1, xzr, 6
    0003efdcbl runtime.printstring
    0003efe0ldr x0, [sp+32]
    0003efe4bl runtime.printuintptr
    0003efe8adrp x0, 0x674000
    0003efecadd x0, x0, 2065
    0003eff0movz x1, 11
    0003eff4bl runtime.printstring
    0003eff8ldr x0, [sp+48]
    0003effcbl runtime.printuintptr
    0003f000adrp x0, 0x671000
    0003f004add x0, x0, 2455
    0003f008orr x1, xzr, 6
    0003f00cbl runtime.printstring
    0003f010ldr x0, [sp+72]
    0003f014bl runtime.printuintptr
    0003f018bl runtime.printnl
    0003f01cbl runtime.printunlock
    0003f020adrp x0, 0x675000
    0003f024add x0, x0, 2324
    0003f028orr x1, xzr, 16
    0003f02cbl runtime.throw
    0003f030hint
    0003f034
    0003f034loc_3f034:
    0003f034stp x0, x1, [sp+8]
    0003f038mov x3, x30
    0003f03cbl runtime.morestack_noctxt.abi0
    0003f040ldp x0, x1, [sp+8]
    0003f044b 0x3ef00
    0003f048udf 0
    0003f04cudf 0
    0003ef00
    0003f050
    0003f050runtime.(*mSpanList).isEmpty: ; void runtime.(*mSpanList).isEmpty(runtime.mSpanList * list)
    0003f050ldr x1, [x0]
    0003f054subs xzr, x1, 0
    0003f058cset x1, ne
    0003f05ceor x0, x1, 1
    0003f060ret x30
    0003f064udf 0
    0003f068udf 0
    0003f06cudf 0
    0003f050
    0003f070
    0003f070runtime.(*mSpanList).insert: ; void runtime.(*mSpanList).insert(runtime.mSpanList * list, runtime.mspan * span)
    0003f070ldr x16, [x28+16]
    0003f074subs xzr, sp, x16
    0003f078b.ls 0x3f144
    0003f07cstr x30, [sp-64]!
    0003f080stur x29, [sp-8]
    0003f084sub x29, sp, 8
    0003f088ldr x2, [x1]
    0003f08cstr x2, [sp+48]
    0003f090cbnz x2, 0x3f0d4
    0003f094ldr x3, [x1+8]
    0003f098cbnz x3, 0x3f0d4
    0003f09cldr x3, [x1+16]
    0003f0a0cbnz x3, 0x3f0d4
    0003f0a4ldr x2, [x0]
    0003f0a8str x2, [x1]
    0003f0acldr x2, [x0]
    0003f0b0cbz x2, 0x3f0bc
    0003f0b4str x1, [x2+8]
    0003f0b8b 0x3f0c0
    0003f0bc
    0003f0bcloc_3f0bc:
    0003f0bcstr x1, [x0+8]
    0003f0c0
    0003f0c0loc_3f0c0:
    0003f0c0str x1, [x0]
    0003f0c4str x0, [x1+16]
    0003f0c8ldur x29, [sp-8]
    0003f0ccldr x30, [sp], 64
    0003f0d0ret x30
    0003f0d4
    0003f0d4loc_3f0d4:
    0003f0d4str x1, [sp+80]
    0003f0d8ldr x0, [x1+8]
    0003f0dcstr x0, [sp+40]
    0003f0e0ldr x0, [x1+16]
    0003f0e4str x0, [sp+32]
    0003f0e8bl runtime.printlock
    0003f0ecadrp x0, 0x680000
    0003f0f0add x0, x0, 672
    0003f0f4movz x1, 33
    0003f0f8bl runtime.printstring
    0003f0fcldr x0, [sp+80]
    0003f100bl runtime.printuintptr
    0003f104bl runtime.printsp
    0003f108ldr x0, [sp+48]
    0003f10cbl runtime.printuintptr
    0003f110bl runtime.printsp
    0003f114ldr x0, [sp+40]
    0003f118bl runtime.printuintptr
    0003f11cbl runtime.printsp
    0003f120ldr x0, [sp+32]
    0003f124bl runtime.printuintptr
    0003f128bl runtime.printnl
    0003f12cbl runtime.printunlock
    0003f130adrp x0, 0x675000
    0003f134add x0, x0, 2340
    0003f138orr x1, xzr, 16
    0003f13cbl runtime.throw
    0003f140hint
    0003f144
    0003f144loc_3f144:
    0003f144stp x0, x1, [sp+8]
    0003f148mov x3, x30
    0003f14cbl runtime.morestack_noctxt.abi0
    0003f150ldp x0, x1, [sp+8]
    0003f154b 0x3f070
    0003f158udf 0
    0003f15cudf 0
    0003f070
    0003f160
    0003f160runtime.(*mSpanList).takeAll: ; void runtime.(*mSpanList).takeAll(runtime.mSpanList * list, runtime.mSpanList * other)
    0003f160ldr x16, [x28+16]
    0003f164subs xzr, sp, x16
    0003f168b.ls 0x3f210
    0003f16cstr x30, [sp-32]!
    0003f170stur x29, [sp-8]
    0003f174sub x29, sp, 8
    0003f178str x0, [sp+40]
    0003f17cstr x1, [sp+48]
    0003f180mov x0, x1
    0003f184bl runtime.(*mSpanList).isEmpty
    0003f188tbnz w0, 0, 0x3f19c
    0003f18cldr x1, [sp+48]
    0003f190ldr x2, [x1]
    0003f194ldr x0, [sp+40]
    0003f198b 0x3f1b0
    0003f19c
    0003f19cloc_3f19c:
    0003f19cldur x29, [sp-8]
    0003f1a0ldr x30, [sp], 32
    0003f1a4ret x30
    0003f1a8
    0003f1a8loc_3f1a8:
    0003f1a8str x0, [x2+16]
    0003f1acldr x2, [x2]
    0003f1b0
    0003f1b0loc_3f1b0:
    0003f1b0cbnz x2, 0x3f1a8
    0003f1b4bl runtime.(*mSpanList).isEmpty
    0003f1b8tbz w0, 0, 0x3f1d8
    0003f1bcldr x0, [sp+48]
    0003f1c0ldr x1, [x0+8]
    0003f1c4ldr x2, [x0]
    0003f1c8ldr x3, [sp+40]
    0003f1ccstr x2, [x3]
    0003f1d0str x1, [x3+8]
    0003f1d4b 0x3f200
    0003f1d8
    0003f1d8loc_3f1d8:
    0003f1d8ldr x0, [sp+48]
    0003f1dcldr x1, [x0+8]
    0003f1e0ldr x2, [sp+40]
    0003f1e4ldr x3, [x2]
    0003f1e8str x3, [x1]
    0003f1ecldr x1, [x2]
    0003f1f0ldr x3, [x0+8]
    0003f1f4str x3, [x1+8]
    0003f1f8ldr x1, [x0]
    0003f1fcstr x1, [x2]
    0003f200
    0003f200loc_3f200:
    0003f200stp xzr, xzr, [x0]
    0003f204ldur x29, [sp-8]
    0003f208ldr x30, [sp], 32
    0003f20cret x30
    0003f210
    0003f210loc_3f210:
    0003f210stp x0, x1, [sp+8]
    0003f214mov x3, x30
    0003f218bl runtime.morestack_noctxt.abi0
    0003f21cldp x0, x1, [sp+8]
    0003f220b 0x3f160
    0003f224udf 0
    0003f228udf 0
    0003f22cudf 0
    0003f160
    0003f230
    0003f230runtime.spanHasSpecials: ; void runtime.spanHasSpecials(runtime.mspan * s)
    0003f230ldr x16, [x28+16]
    0003f234subs xzr, sp, x16
    0003f238b.ls 0x3f31c
    0003f23cstr x30, [sp-64]!
    0003f240stur x29, [sp-8]
    0003f244sub x29, sp, 8
    0003f248str x0, [sp+72]
    0003f24cbl runtime.(*mspan).base
    0003f250str x0, [sp+40]
    0003f254ldr x0, [sp+72]
    0003f258bl runtime.(*mspan).base
    0003f25cbl runtime.arenaIndex
    0003f260str x0, [sp+32]
    0003f264bl runtime.arenaIdx.l1
    0003f268str x0, [sp+48]
    0003f26cldr x0, [sp+32]
    0003f270bl runtime.arenaIdx.l2
    0003f274ldr x1, [sp+48]
    0003f278subs xzr, x1, 1
    0003f27cb.hs 0x3f30c
    0003f280subs xzr, x0, 0x400000
    0003f284b.hs 0x3f304
    0003f288adrp x27, 0xa03000
    0003f28cldr x2, [x27+2648]
    0003f290ldrsb x27, [x2]
    0003f294ldr x2, [x2+3*x0]
    0003f298ldrsb x27, [x2]
    0003f29cldr x3, [sp+40]
    0003f2a0ubfm x0, x3, 16, 25
    0003f2a4movz x4, 2048
    0003f2a8movk x4, 0x10000
    0003f2acadd x2, x2, x4
    0003f2b0subs xzr, x0, 1024
    0003f2b4b.hs 0x3f2fc
    0003f2b8ubfm x0, x3, 13, 25
    0003f2bcubfm x1, x3, 13, 15
    0003f2c0add x0, x2, x0, lsr #3
    0003f2c4orr x2, xzr, 1
    0003f2c8lslv x1, x2, x1
    0003f2ccadrp x27, 0xa0c000
    0003f2d0ldrb w2, [x27+1516]
    0003f2d4tbz w2, 0, 0x3f2e0
    0003f2d8ldsetalb w1, w2, [x0]
    0003f2dcb 0x3f2f0
    0003f2e0
    0003f2e0loc_3f2e0:
    0003f2e0ldaxrb w3, [x0]
    0003f2e4orr x2, x3, x1
    0003f2e8stlxrb w27, w2, [x0]
    0003f2eccbnz x27, 0x3f2e0
    0003f2f0
    0003f2f0loc_3f2f0:
    0003f2f0ldur x29, [sp-8]
    0003f2f4ldr x30, [sp], 64
    0003f2f8ret x30
    0003f2fc
    0003f2fcloc_3f2fc:
    0003f2fcorr x1, xzr, 1024
    0003f300bl runtime.panicIndexU
    0003f304
    0003f304loc_3f304:
    0003f304orr x1, xzr, 0x400000
    0003f308bl runtime.panicIndexU
    0003f30c
    0003f30cloc_3f30c:
    0003f30cmov x0, x1
    0003f310orr x1, xzr, 1
    0003f314bl runtime.panicIndexU
    0003f318hint
    0003f31c
    0003f31cloc_3f31c:
    0003f31cstr x0, [sp+8]
    0003f320mov x3, x30
    0003f324bl runtime.morestack_noctxt.abi0
    0003f328ldr x0, [sp+8]
    0003f32cb 0x3f230
    0003f230
    0003f330
    0003f330runtime.spanHasNoSpecials: ; void runtime.spanHasNoSpecials(runtime.mspan * s)
    0003f330ldr x16, [x28+16]
    0003f334subs xzr, sp, x16
    0003f338b.ls 0x3f424
    0003f33cstr x30, [sp-64]!
    0003f340stur x29, [sp-8]
    0003f344sub x29, sp, 8
    0003f348str x0, [sp+72]
    0003f34cbl runtime.(*mspan).base
    0003f350str x0, [sp+40]
    0003f354ldr x0, [sp+72]
    0003f358bl runtime.(*mspan).base
    0003f35cbl runtime.arenaIndex
    0003f360str x0, [sp+32]
    0003f364bl runtime.arenaIdx.l1
    0003f368str x0, [sp+48]
    0003f36cldr x0, [sp+32]
    0003f370bl runtime.arenaIdx.l2
    0003f374ldr x1, [sp+48]
    0003f378subs xzr, x1, 1
    0003f37cb.hs 0x3f414
    0003f380subs xzr, x0, 0x400000
    0003f384b.hs 0x3f40c
    0003f388adrp x27, 0xa03000
    0003f38cldr x2, [x27+2648]
    0003f390ldrsb x27, [x2]
    0003f394ldr x2, [x2+3*x0]
    0003f398ldrsb x27, [x2]
    0003f39cldr x3, [sp+40]
    0003f3a0ubfm x0, x3, 16, 25
    0003f3a4movz x4, 2048
    0003f3a8movk x4, 0x10000
    0003f3acadd x2, x2, x4
    0003f3b0subs xzr, x0, 1024
    0003f3b4b.hs 0x3f404
    0003f3b8ubfm x0, x3, 13, 25
    0003f3bcubfm x1, x3, 13, 15
    0003f3c0orr x3, xzr, 1
    0003f3c4lslv x1, x3, x1
    0003f3c8add x0, x2, x0, lsr #3
    0003f3ccorn x1, xzr, x1
    0003f3d0adrp x27, 0xa0c000
    0003f3d4ldrb w2, [x27+1516]
    0003f3d8tbz w2, 0, 0x3f3e8
    0003f3dcorn x27, xzr, x1
    0003f3e0ldclralb w27, w2, [x0]
    0003f3e4b 0x3f3f8
    0003f3e8
    0003f3e8loc_3f3e8:
    0003f3e8ldaxrb w3, [x0]
    0003f3ecand x2, x3, x1
    0003f3f0stlxrb w27, w2, [x0]
    0003f3f4cbnz x27, 0x3f3e8
    0003f3f8
    0003f3f8loc_3f3f8:
    0003f3f8ldur x29, [sp-8]
    0003f3fcldr x30, [sp], 64
    0003f400ret x30
    0003f404
    0003f404loc_3f404:
    0003f404orr x1, xzr, 1024
    0003f408bl runtime.panicIndexU
    0003f40c
    0003f40cloc_3f40c:
    0003f40corr x1, xzr, 0x400000
    0003f410bl runtime.panicIndexU
    0003f414
    0003f414loc_3f414:
    0003f414mov x0, x1
    0003f418orr x1, xzr, 1
    0003f41cbl runtime.panicIndexU
    0003f420hint
    0003f424
    0003f424loc_3f424:
    0003f424str x0, [sp+8]
    0003f428mov x3, x30
    0003f42cbl runtime.morestack_noctxt.abi0
    0003f430ldr x0, [sp+8]
    0003f434b 0x3f330
    0003f438udf 0
    0003f43cudf 0
    0003f330
    0003f440
    0003f440runtime.addspecial: ; void runtime.addspecial(void * p, runtime.special * s, bool force)
    0003f440ldr x16, [x28+16]
    0003f444subs xzr, sp, x16
    0003f448b.ls 0x3f53c
    0003f44cstr x30, [sp-80]!
    0003f450stur x29, [sp-8]
    0003f454sub x29, sp, 8
    0003f458str x0, [sp+88]
    0003f45cstr x1, [sp+96]
    0003f460strb w2, [sp+104]
    0003f464mov x1, x0
    0003f468mov x0, x1
    0003f46cbl runtime.spanOfHeap
    0003f470cbz x0, 0x3f528
    0003f474str x0, [sp+40]
    0003f478bl runtime.acquirem
    0003f47cstr x0, [sp+56]
    0003f480ldr x0, [sp+40]
    0003f484bl runtime.(*mspan).ensureSwept
    0003f488ldr x0, [sp+40]
    0003f48cbl runtime.(*mspan).base
    0003f490ldr x1, [sp+88]
    0003f494sub x0, x1, x0
    0003f498str x0, [sp+48]
    0003f49cldr x0, [sp+96]
    0003f4a0ldrb w0, [x0+16]
    0003f4a4strb w0, [sp+38]
    0003f4a8ldr x0, [sp+40]
    0003f4acadd x0, x0, 120
    0003f4b0str x0, [sp+64]
    0003f4b4bl runtime.lock
    0003f4b8ldr x0, [sp+40]
    0003f4bcldr x1, [sp+48]
    0003f4c0ldrb w2, [sp+38]
    0003f4c4bl runtime.(*mspan).specialFindSplicePoint
    0003f4c8strb w1, [sp+39]
    0003f4cctbz w1, 0, 0x3f4d8
    0003f4d0ldrb w2, [sp+104]
    0003f4d4tbz w2, 0, 0x3f4f8
    0003f4d8
    0003f4d8loc_3f4d8:
    0003f4d8ldr x1, [sp+48]
    0003f4dcldr x2, [sp+96]
    0003f4e0str x1, [x2+8]
    0003f4e4ldr x1, [x0]
    0003f4e8str x1, [x2]
    0003f4ecstr x2, [x0]
    0003f4f0ldr x0, [sp+40]
    0003f4f4bl runtime.spanHasSpecials
    0003f4f8
    0003f4f8loc_3f4f8:
    0003f4f8ldr x0, [sp+64]
    0003f4fcbl runtime.unlock
    0003f500ldr x0, [sp+56]
    0003f504bl runtime.releasem
    0003f508ldrb w0, [sp+39]
    0003f50ctbz w0, 0, 0x3f518
    0003f510ldrb w0, [sp+104]
    0003f514b 0x3f51c
    0003f518
    0003f518loc_3f518:
    0003f518orr x0, xzr, 1
    0003f51c
    0003f51cloc_3f51c:
    0003f51cldur x29, [sp-8]
    0003f520ldr x30, [sp], 80
    0003f524ret x30
    0003f528
    0003f528loc_3f528:
    0003f528adrp x0, 0x67d000
    0003f52cadd x0, x0, 888
    0003f530movz x1, 29
    0003f534bl runtime.throw
    0003f538hint
    0003f53c
    0003f53cloc_3f53c:
    0003f53cstp x0, x1, [sp+8]
    0003f540strb w2, [sp+24]
    0003f544mov x3, x30
    0003f548bl runtime.morestack_noctxt.abi0
    0003f54cldp x0, x1, [sp+8]
    0003f550ldrb w2, [sp+24]
    0003f554b 0x3f440
    0003f558udf 0
    0003f55cudf 0
    0003f440
    0003f560
    0003f560runtime.removespecial: ; void runtime.removespecial(void * p, uint8 kind)
    0003f560ldr x16, [x28+16]
    0003f564subs xzr, sp, x16
    0003f568b.ls 0x3f638
    0003f56cstr x30, [sp-80]!
    0003f570stur x29, [sp-8]
    0003f574sub x29, sp, 8
    0003f578str x0, [sp+88]
    0003f57cstrb w1, [sp+96]
    0003f580mov x1, x0
    0003f584mov x0, x1
    0003f588bl runtime.spanOfHeap
    0003f58ccbz x0, 0x3f624
    0003f590str x0, [sp+32]
    0003f594bl runtime.acquirem
    0003f598str x0, [sp+56]
    0003f59cldr x0, [sp+32]
    0003f5a0bl runtime.(*mspan).ensureSwept
    0003f5a4ldr x0, [sp+32]
    0003f5a8bl runtime.(*mspan).base
    0003f5acldr x1, [sp+88]
    0003f5b0sub x0, x1, x0
    0003f5b4str x0, [sp+48]
    0003f5b8ldr x0, [sp+32]
    0003f5bcadd x0, x0, 120
    0003f5c0str x0, [sp+64]
    0003f5c4bl runtime.lock
    0003f5c8ldr x0, [sp+32]
    0003f5ccldr x1, [sp+48]
    0003f5d0ldrb w2, [sp+96]
    0003f5d4bl runtime.(*mspan).specialFindSplicePoint
    0003f5d8tbz w1, 0, 0x3f5ec
    0003f5dcldr x1, [x0]
    0003f5e0ldr x2, [x1]
    0003f5e4str x2, [x0]
    0003f5e8b 0x3f5f0
    0003f5ec
    0003f5ecloc_3f5ec:
    0003f5ecmov x1, xzr
    0003f5f0
    0003f5f0loc_3f5f0:
    0003f5f0str x1, [sp+40]
    0003f5f4ldr x0, [sp+32]
    0003f5f8ldr x2, [x0+128]
    0003f5fccbnz x2, 0x3f604
    0003f600bl runtime.spanHasNoSpecials
    0003f604
    0003f604loc_3f604:
    0003f604ldr x0, [sp+64]
    0003f608bl runtime.unlock
    0003f60cldr x0, [sp+56]
    0003f610bl runtime.releasem
    0003f614ldr x0, [sp+40]
    0003f618ldur x29, [sp-8]
    0003f61cldr x30, [sp], 80
    0003f620ret x30
    0003f624
    0003f624loc_3f624:
    0003f624adrp x0, 0x67f000
    0003f628add x0, x0, 1296
    0003f62corr x1, xzr, 32
    0003f630bl runtime.throw
    0003f634hint
    0003f638
    0003f638loc_3f638:
    0003f638str x0, [sp+8]
    0003f63cstrb w1, [sp+16]
    0003f640mov x3, x30
    0003f644bl runtime.morestack_noctxt.abi0
    0003f648ldr x0, [sp+8]
    0003f64cldrb w1, [sp+16]
    0003f650b 0x3f560
    0003f654udf 0
    0003f658udf 0
    0003f65cudf 0
    0003f560
    0003f660
    0003f660runtime.(*mspan).specialFindSplicePoint: ; void runtime.(*mspan).specialFindSplicePoint(runtime.mspan * span, uintptr offset, uint8 kind)
    0003f660ldrsb x27, [x0]
    0003f664add x3, x0, 128
    0003f668b 0x3f670
    0003f66c
    0003f66cloc_3f66c:
    0003f66cmov x3, x4
    0003f670
    0003f670loc_3f670:
    0003f670ldr x4, [x3]
    0003f674cbz x4, 0x3f6c4
    0003f678ldr x5, [x4+8]
    0003f67csubs xzr, x1, x5
    0003f680b.ne 0x3f698
    0003f684ubfm x6, x2, 0, 7
    0003f688ldrb w7, [x4+16]
    0003f68csubs wzr, w6, w7
    0003f690b.eq 0x3f6b4
    0003f694subs xzr, x1, x5
    0003f698
    0003f698loc_3f698:
    0003f698b.lo 0x3f6bc
    0003f69cb.ne 0x3f66c
    0003f6a0ubfm x5, x2, 0, 7
    0003f6a4ldrb w6, [x4+16]
    0003f6a8subs wzr, w6, w5
    0003f6acb.ls 0x3f66c
    0003f6b0b 0x3f6bc
    0003f6b4
    0003f6b4loc_3f6b4:
    0003f6b4orr x0, xzr, 1
    0003f6b8b 0x3f6c8
    0003f6bc
    0003f6bcloc_3f6bc:
    0003f6bcmov x0, xzr
    0003f6c0b 0x3f6c8
    0003f6c4
    0003f6c4loc_3f6c4:
    0003f6c4mov x0, xzr
    0003f6c8
    0003f6c8loc_3f6c8:
    0003f6c8mov x1, x0
    0003f6ccmov x0, x3
    0003f6d0ret x30
    0003f6d4udf 0
    0003f6d8udf 0
    0003f6dcudf 0
    0003f660
    0003f6e0
    0003f6e0runtime.addfinalizer: ; void runtime.addfinalizer(void * p, runtime.funcval * f, uintptr nret, internal/abi.Type * fint, internal/abi.PtrType * ot)
    0003f6e0ldr x16, [x28+16]
    0003f6e4subs xzr, sp, x16
    0003f6e8b.ls 0x3f88c
    0003f6ecstr x30, [sp-96]!
    0003f6f0stur x29, [sp-8]
    0003f6f4sub x29, sp, 8
    0003f6f8str x0, [sp+104]
    0003f6fcstr x1, [sp+112]
    0003f700str x2, [sp+120]
    0003f704str x3, [sp+128]
    0003f708str x4, [sp+136]
    0003f70cadrp x0, 0xa0c000
    0003f710add x0, x0, 1352
    0003f714bl runtime.lock
    0003f718adrp x0, 0xa0c000
    0003f71cadd x0, x0, 920
    0003f720bl runtime.(*fixalloc).alloc
    0003f724str x0, [sp+80]
    0003f728adrp x0, 0xa0c000
    0003f72cadd x0, x0, 1352
    0003f730bl runtime.unlock
    0003f734orr x1, xzr, 1
    0003f738ldr x2, [sp+80]
    0003f73cstrb w1, [x2+16]
    0003f740adrp x27, 0xa0c000
    0003f744ldr w1, [x27+3056]
    0003f748cbnz w1, 0x3f75c
    0003f74cldr x3, [sp+112]
    0003f750ldr x4, [sp+128]
    0003f754ldr x5, [sp+136]
    0003f758b 0x3f790
    0003f75c
    0003f75cloc_3f75c:
    0003f75cbl runtime.gcWriteBarrier6
    0003f760ldr x3, [sp+112]
    0003f764str x3, [x25]
    0003f768ldr x4, [x2+24]
    0003f76cstr x4, [x25+8]
    0003f770ldr x4, [sp+128]
    0003f774str x4, [x25+16]
    0003f778ldr x5, [x2+40]
    0003f77cstr x5, [x25+24]
    0003f780ldr x5, [sp+136]
    0003f784str x5, [x25+32]
    0003f788ldr x6, [x2+48]
    0003f78cstr x6, [x25+40]
    0003f790
    0003f790loc_3f790:
    0003f790str x3, [x2+24]
    0003f794ldr x3, [sp+120]
    0003f798str x3, [x2+32]
    0003f79cstr x4, [x2+40]
    0003f7a0str x5, [x2+48]
    0003f7a4ldr x0, [sp+104]
    0003f7a8mov x1, x2
    0003f7acmov x2, xzr
    0003f7b0bl runtime.addspecial
    0003f7b4tbz w0, 0, 0x3f854
    0003f7b8adrp x27, 0xa0c000
    0003f7bcldr w3, [x27+1600]
    0003f7c0cbz w3, 0x3f844
    0003f7c4ldr x0, [sp+104]
    0003f7c8mov x1, xzr
    0003f7ccmov x2, x1
    0003f7d0bl runtime.findObject
    0003f7d4str x1, [sp+48]
    0003f7d8str x0, [sp+56]
    0003f7dcbl runtime.acquirem
    0003f7e0str x0, [sp+64]
    0003f7e4ldr x0, [x0+208]
    0003f7e8bl runtime.puintptr.ptr
    0003f7ecldrsb x27, [x0]
    0003f7f0ldr x3, [sp+48]
    0003f7f4ldrb w3, [x3+98]
    0003f7f8movz x4, 4680
    0003f7fcadd x4, x0, x4
    0003f800str x4, [sp+72]
    0003f804mov x0, x3
    0003f808bl runtime.spanClass.noscan
    0003f80ctbnz w0, 0, 0x3f81c
    0003f810ldr x0, [sp+56]
    0003f814ldr x1, [sp+72]
    0003f818bl runtime.scanobject
    0003f81c
    0003f81cloc_3f81c:
    0003f81cldr x5, [sp+80]
    0003f820add x0, x5, 24
    0003f824orr x1, xzr, 8
    0003f828adrp x2, 0x981000
    0003f82cadd x2, x2, 1377
    0003f830ldr x3, [sp+72]
    0003f834mov x4, xzr
    0003f838bl runtime.scanblock
    0003f83cldr x0, [sp+64]
    0003f840bl runtime.releasem
    0003f844
    0003f844loc_3f844:
    0003f844orr x0, xzr, 1
    0003f848ldur x29, [sp-8]
    0003f84cldr x30, [sp], 96
    0003f850ret x30
    0003f854
    0003f854loc_3f854:
    0003f854adrp x0, 0xa0c000
    0003f858add x0, x0, 1352
    0003f85cbl runtime.lock
    0003f860adrp x0, 0xa0c000
    0003f864add x0, x0, 920
    0003f868ldr x1, [sp+80]
    0003f86cbl runtime.(*fixalloc).free
    0003f870adrp x0, 0xa0c000
    0003f874add x0, x0, 1352
    0003f878bl runtime.unlock
    0003f87cmov x0, xzr
    0003f880ldur x29, [sp-8]
    0003f884ldr x30, [sp], 96
    0003f888ret x30
    0003f88c
    0003f88cloc_3f88c:
    0003f88cstp x0, x1, [sp+8]
    0003f890stp x2, x3, [sp+24]
    0003f894str x4, [sp+40]
    0003f898mov x3, x30
    0003f89cbl runtime.morestack_noctxt.abi0
    0003f8a0ldp x0, x1, [sp+8]
    0003f8a4ldp x2, x3, [sp+24]
    0003f8a8ldr x4, [sp+40]
    0003f8acb 0x3f6e0
    0003f6e0
    0003f8b0
    0003f8b0runtime.removefinalizer: ; void runtime.removefinalizer(void * p)
    0003f8b0ldr x16, [x28+16]
    0003f8b4subs xzr, sp, x16
    0003f8b8b.ls 0x3f918
    0003f8bcstr x30, [sp-48]!
    0003f8c0stur x29, [sp-8]
    0003f8c4sub x29, sp, 8
    0003f8c8orr x1, xzr, 1
    0003f8ccbl runtime.removespecial
    0003f8d0cbz x0, 0x3f90c
    0003f8d4str x0, [sp+32]
    0003f8d8adrp x0, 0xa0c000
    0003f8dcadd x0, x0, 1352
    0003f8e0bl runtime.lock
    0003f8e4adrp x0, 0xa0c000
    0003f8e8add x0, x0, 920
    0003f8ecldr x1, [sp+32]
    0003f8f0bl runtime.(*fixalloc).free
    0003f8f4adrp x0, 0xa0c000
    0003f8f8add x0, x0, 1352
    0003f8fcbl runtime.unlock
    0003f900ldur x29, [sp-8]
    0003f904ldr x30, [sp], 48
    0003f908ret x30
    0003f90c
    0003f90cloc_3f90c:
    0003f90cldur x29, [sp-8]
    0003f910ldr x30, [sp], 48
    0003f914ret x30
    0003f918
    0003f918loc_3f918:
    0003f918str x0, [sp+8]
    0003f91cmov x3, x30
    0003f920bl runtime.morestack_noctxt.abi0
    0003f924ldr x0, [sp+8]
    0003f928b 0x3f8b0
    0003f92cudf 0
    0003f8b0
    0003f930
    0003f930runtime.gcParkStrongFromWeak: ; void runtime.gcParkStrongFromWeak(void)
    0003f930ldr x16, [x28+16]
    0003f934subs xzr, sp, x16
    0003f938b.ls 0x3f9ac
    0003f93cstr x30, [sp-48]!
    0003f940stur x29, [sp-8]
    0003f944sub x29, sp, 8
    0003f948bl runtime.acquirem
    0003f94cb 0x3f994
    0003f950
    0003f950loc_3f950:
    0003f950str x0, [sp+32]
    0003f954adrp x0, 0x9e5000
    0003f958add x0, x0, 3184
    0003f95cbl runtime.lock
    0003f960ldr x0, [sp+32]
    0003f964bl runtime.releasem
    0003f968adrp x0, 0x9e5000
    0003f96cadd x0, x0, 3192
    0003f970mov x1, x28
    0003f974bl runtime.(*gQueue).pushBack
    0003f978adrp x0, 0x9e5000
    0003f97cadd x0, x0, 3184
    0003f980movz x1, 38
    0003f984orr x2, xzr, 15
    0003f988orr x3, xzr, 2
    0003f98cbl runtime.goparkunlock
    0003f990bl runtime.acquirem
    0003f994
    0003f994loc_3f994:
    0003f994adrp x27, 0x9e5000
    0003f998ldrb w1, [x27+3176]
    0003f99ctbnz w1, 0, 0x3f950
    0003f9a0ldur x29, [sp-8]
    0003f9a4ldr x30, [sp], 48
    0003f9a8ret x30
    0003f9ac
    0003f9acloc_3f9ac:
    0003f9acmov x3, x30
    0003f9b0bl runtime.morestack_noctxt.abi0
    0003f9b4b 0x3f930
    0003f9b8udf 0
    0003f9bcudf 0
    0003f930
    0003f9c0
    0003f9c0runtime.gcWakeAllStrongFromWeak: ; void runtime.gcWakeAllStrongFromWeak(void)
    0003f9c0ldr x16, [x28+16]
    0003f9c4subs xzr, sp, x16
    0003f9c8b.ls 0x3fa14
    0003f9ccstr x30, [sp-32]!
    0003f9d0stur x29, [sp-8]
    0003f9d4sub x29, sp, 8
    0003f9d8adrp x0, 0x9e5000
    0003f9dcadd x0, x0, 3184
    0003f9e0bl runtime.lock
    0003f9e4adrp x0, 0x9e5000
    0003f9e8add x0, x0, 3192
    0003f9ecbl runtime.(*gQueue).popList
    0003f9f0str x0, [sp+16]
    0003f9f4add x0, sp, 16
    0003f9f8bl runtime.injectglist
    0003f9fcadrp x0, 0x9e5000
    0003fa00add x0, x0, 3184
    0003fa04bl runtime.unlock
    0003fa08ldur x29, [sp-8]
    0003fa0cldr x30, [sp], 32
    0003fa10ret x30
    0003fa14
    0003fa14loc_3fa14:
    0003fa14mov x3, x30
    0003fa18bl runtime.morestack_noctxt.abi0
    0003fa1cb 0x3f9c0
    0003f9c0
    0003fa20
    0003fa20runtime.getOrAddWeakHandle: ; void runtime.getOrAddWeakHandle(void * p)
    0003fa20ldr x16, [x28+16]
    0003fa24subs xzr, sp, x16
    0003fa28b.ls 0x3fb88
    0003fa2cstr x30, [sp-80]!
    0003fa30stur x29, [sp-8]
    0003fa34sub x29, sp, 8
    0003fa38str x0, [sp+88]
    0003fa3cbl runtime.getWeakHandle
    0003fa40cbnz x0, 0x3fb68
    0003fa44adrp x0, 0xa0c000
    0003fa48add x0, x0, 1352
    0003fa4cbl runtime.lock
    0003fa50adrp x0, 0xa0c000
    0003fa54add x0, x0, 1280
    0003fa58bl runtime.(*fixalloc).alloc
    0003fa5cstr x0, [sp+64]
    0003fa60adrp x0, 0xa0c000
    0003fa64add x0, x0, 1352
    0003fa68bl runtime.unlock
    0003fa6cadrp x0, 0x602000
    0003fa70add x0, x0, 2848
    0003fa74bl runtime.newobject
    0003fa78orr x1, xzr, 2
    0003fa7cldr x2, [sp+64]
    0003fa80strb w1, [x2+16]
    0003fa84adrp x27, 0xa0c000
    0003fa88ldr w1, [x27+3056]
    0003fa8ccbz w1, 0x3faa0
    0003fa90bl runtime.gcWriteBarrier2
    0003fa94str x0, [x25]
    0003fa98ldr x3, [x2+24]
    0003fa9cstr x3, [x25+8]
    0003faa0
    0003faa0loc_3faa0:
    0003faa0str x0, [sp+56]
    0003faa4str x0, [x2+24]
    0003faa8ldr x1, [sp+88]
    0003faacmov x2, x1
    0003fab0mov x1, x2
    0003fab4bl internal/runtime/atomic.(*Uintptr).Store
    0003fab8ldr x0, [sp+88]
    0003fabcldr x1, [sp+64]
    0003fac0mov x2, xzr
    0003fac4bl runtime.addspecial
    0003fac8tbz w0, 0, 0x3fb28
    0003faccadrp x27, 0xa0c000
    0003fad0ldr w1, [x27+1600]
    0003fad4cbz w1, 0x3fb18
    0003fad8bl runtime.acquirem
    0003fadcstr x0, [sp+48]
    0003fae0ldr x0, [x0+208]
    0003fae4bl runtime.puintptr.ptr
    0003fae8ldrsb x27, [x0]
    0003faecmovz x1, 4680
    0003faf0add x3, x0, x1
    0003faf4ldr x0, [sp+64]
    0003faf8add x0, x0, 24
    0003fafcorr x1, xzr, 8
    0003fb00adrp x2, 0x981000
    0003fb04add x2, x2, 1377
    0003fb08mov x4, xzr
    0003fb0cbl runtime.scanblock
    0003fb10ldr x0, [sp+48]
    0003fb14bl runtime.releasem
    0003fb18
    0003fb18loc_3fb18:
    0003fb18ldr x0, [sp+56]
    0003fb1cldur x29, [sp-8]
    0003fb20ldr x30, [sp], 80
    0003fb24ret x30
    0003fb28
    0003fb28loc_3fb28:
    0003fb28adrp x0, 0xa0c000
    0003fb2cadd x0, x0, 1352
    0003fb30bl runtime.lock
    0003fb34adrp x0, 0xa0c000
    0003fb38add x0, x0, 1280
    0003fb3cldr x1, [sp+64]
    0003fb40bl runtime.(*fixalloc).free
    0003fb44adrp x0, 0xa0c000
    0003fb48add x0, x0, 1352
    0003fb4cbl runtime.unlock
    0003fb50ldr x0, [sp+88]
    0003fb54bl runtime.getWeakHandle
    0003fb58cbz x0, 0x3fb74
    0003fb5cldur x29, [sp-8]
    0003fb60ldr x30, [sp], 80
    0003fb64ret x30
    0003fb68
    0003fb68loc_3fb68:
    0003fb68ldur x29, [sp-8]
    0003fb6cldr x30, [sp], 80
    0003fb70ret x30
    0003fb74
    0003fb74loc_3fb74:
    0003fb74adrp x0, 0x681000
    0003fb78add x0, x0, 2246
    0003fb7cmovz x1, 35
    0003fb80bl runtime.throw
    0003fb84hint
    0003fb88
    0003fb88loc_3fb88:
    0003fb88str x0, [sp+8]
    0003fb8cmov x3, x30
    0003fb90bl runtime.morestack_noctxt.abi0
    0003fb94ldr x0, [sp+8]
    0003fb98b 0x3fa20
    0003fb9cudf 0
    0003fa20
    0003fba0
    0003fba0runtime.getWeakHandle: ; void runtime.getWeakHandle(void * p)
    0003fba0ldr x16, [x28+16]
    0003fba4subs xzr, sp, x16
    0003fba8b.ls 0x3fc60
    0003fbacstr x30, [sp-80]!
    0003fbb0stur x29, [sp-8]
    0003fbb4sub x29, sp, 8
    0003fbb8str x0, [sp+88]
    0003fbbcmov x1, x0
    0003fbc0mov x0, x1
    0003fbc4bl runtime.spanOfHeap
    0003fbc8cbz x0, 0x3fc4c
    0003fbccstr x0, [sp+32]
    0003fbd0bl runtime.acquirem
    0003fbd4str x0, [sp+48]
    0003fbd8ldr x0, [sp+32]
    0003fbdcbl runtime.(*mspan).ensureSwept
    0003fbe0ldr x0, [sp+32]
    0003fbe4bl runtime.(*mspan).base
    0003fbe8ldr x1, [sp+88]
    0003fbecsub x0, x1, x0
    0003fbf0str x0, [sp+40]
    0003fbf4ldr x0, [sp+32]
    0003fbf8add x0, x0, 120
    0003fbfcstr x0, [sp+64]
    0003fc00bl runtime.lock
    0003fc04ldr x0, [sp+32]
    0003fc08ldr x1, [sp+40]
    0003fc0corr x2, xzr, 2
    0003fc10bl runtime.(*mspan).specialFindSplicePoint
    0003fc14tbz w1, 0, 0x3fc24
    0003fc18ldr x1, [x0]
    0003fc1cldr x1, [x1+24]
    0003fc20b 0x3fc28
    0003fc24
    0003fc24loc_3fc24:
    0003fc24mov x1, xzr
    0003fc28
    0003fc28loc_3fc28:
    0003fc28str x1, [sp+56]
    0003fc2cldr x0, [sp+64]
    0003fc30bl runtime.unlock
    0003fc34ldr x0, [sp+48]
    0003fc38bl runtime.releasem
    0003fc3cldr x0, [sp+56]
    0003fc40ldur x29, [sp-8]
    0003fc44ldr x30, [sp], 80
    0003fc48ret x30
    0003fc4c
    0003fc4cloc_3fc4c:
    0003fc4cadrp x0, 0x67f000
    0003fc50add x0, x0, 1328
    0003fc54orr x1, xzr, 32
    0003fc58bl runtime.throw
    0003fc5chint
    0003fc60
    0003fc60loc_3fc60:
    0003fc60str x0, [sp+8]
    0003fc64mov x3, x30
    0003fc68bl runtime.morestack_noctxt.abi0
    0003fc6cldr x0, [sp+8]
    0003fc70b 0x3fba0
    0003fc74udf 0
    0003fc78udf 0
    0003fc7cudf 0
    0003fba0
    0003fc80
    0003fc80runtime.setprofilebucket: ; void runtime.setprofilebucket(void * p, runtime.bucket * b)
    0003fc80ldr x16, [x28+16]
    0003fc84subs xzr, sp, x16
    0003fc88b.ls 0x3fd10
    0003fc8cstr x30, [sp-48]!
    0003fc90stur x29, [sp-8]
    0003fc94sub x29, sp, 8
    0003fc98str x0, [sp+56]
    0003fc9cstr x1, [sp+64]
    0003fca0adrp x0, 0xa0c000
    0003fca4add x0, x0, 1352
    0003fca8bl runtime.lock
    0003fcacadrp x0, 0xa0c000
    0003fcb0add x0, x0, 1064
    0003fcb4bl runtime.(*fixalloc).alloc
    0003fcb8str x0, [sp+32]
    0003fcbcadrp x0, 0xa0c000
    0003fcc0add x0, x0, 1352
    0003fcc4bl runtime.unlock
    0003fcc8orr x1, xzr, 3
    0003fcccldr x2, [sp+32]
    0003fcd0strb w1, [x2+16]
    0003fcd4ldr x1, [sp+64]
    0003fcd8str x1, [x2+24]
    0003fcdcldr x0, [sp+56]
    0003fce0mov x1, x2
    0003fce4mov x2, xzr
    0003fce8bl runtime.addspecial
    0003fcectbz w0, 0, 0x3fcfc
    0003fcf0ldur x29, [sp-8]
    0003fcf4ldr x30, [sp], 48
    0003fcf8ret x30
    0003fcfc
    0003fcfcloc_3fcfc:
    0003fcfcadrp x0, 0x682000
    0003fd00add x0, x0, 4084
    0003fd04movz x1, 37
    0003fd08bl runtime.throw
    0003fd0chint
    0003fd10
    0003fd10loc_3fd10:
    0003fd10stp x0, x1, [sp+8]
    0003fd14mov x3, x30
    0003fd18bl runtime.morestack_noctxt.abi0
    0003fd1cldp x0, x1, [sp+8]
    0003fd20b 0x3fc80
    0003fd24udf 0
    0003fd28udf 0
    0003fd2cudf 0
    0003fc80
    0003fd30
    0003fd30runtime.newSpecialsIter: ; void runtime.newSpecialsIter(runtime.mspan * span)
    0003fd30add x2, x0, 128
    0003fd34ldr x1, [x0+128]
    0003fd38mov x0, x2
    0003fd3cret x30
    0003fd30
    0003fd40
    0003fd40runtime.(*specialsIter).valid: ; void runtime.(*specialsIter).valid(runtime.specialsIter * i)
    0003fd40ldr x1, [x0+8]
    0003fd44subs xzr, x1, 0
    0003fd48cset x0, ne
    0003fd4cret x30
    0003fd40
    0003fd50
    0003fd50runtime.(*specialsIter).next: ; void runtime.(*specialsIter).next(runtime.specialsIter * i)
    0003fd50ldr x16, [x28+16]
    0003fd54subs xzr, sp, x16
    0003fd58b.ls 0x3fda4
    0003fd5cstr x30, [sp-16]!
    0003fd60stur x29, [sp-8]
    0003fd64sub x29, sp, 8
    0003fd68ldr x1, [x0+8]
    0003fd6cldrsb x27, [x1]
    0003fd70adrp x27, 0xa0c000
    0003fd74ldr w2, [x27+3056]
    0003fd78cbz w2, 0x3fd8c
    0003fd7cbl runtime.gcWriteBarrier2
    0003fd80str x1, [x25]
    0003fd84ldr x2, [x0]
    0003fd88str x2, [x25+8]
    0003fd8c
    0003fd8cloc_3fd8c:
    0003fd8cstr x1, [x0]
    0003fd90ldr x1, [x1]
    0003fd94str x1, [x0+8]
    0003fd98ldur x29, [sp-8]
    0003fd9cldr x30, [sp], 16
    0003fda0ret x30
    0003fda4
    0003fda4loc_3fda4:
    0003fda4str x0, [sp+8]
    0003fda8mov x3, x30
    0003fdacbl runtime.morestack_noctxt.abi0
    0003fdb0ldr x0, [sp+8]
    0003fdb4b 0x3fd50
    0003fdb8udf 0
    0003fdbcudf 0
    0003fd50
    0003fdc0
    0003fdc0runtime.(*specialsIter).unlinkAndNext: ; void runtime.(*specialsIter).unlinkAndNext(runtime.specialsIter * i)
    0003fdc0ldr x1, [x0+8]
    0003fdc4ldr x2, [x1]
    0003fdc8str x2, [x0+8]
    0003fdccldr x3, [x0]
    0003fdd0str x2, [x3]
    0003fdd4mov x0, x1
    0003fdd8ret x30
    0003fddcudf 0
    0003fdc0
    0003fde0
    0003fde0runtime.freeSpecial: ; void runtime.freeSpecial(runtime.special * s, void * p, uintptr size)
    0003fde0ldr x16, [x28+16]
    0003fde4subs xzr, sp, x16
    0003fde8b.ls 0x3ff88
    0003fdecstr x30, [sp-64]!
    0003fdf0stur x29, [sp-8]
    0003fdf4sub x29, sp, 8
    0003fdf8str x0, [sp+72]
    0003fdfcldrb w5, [x0+16]
    0003fe00subs wzr, w5, 3
    0003fe04b.hi 0x3fed8
    0003fe08subs wzr, w5, 1
    0003fe0cb.eq 0x3fe90
    0003fe10subs wzr, w5, 2
    0003fe14b.eq 0x3fe58
    0003fe18subs wzr, w5, 3
    0003fe1cb.ne 0x3ff74
    0003fe20ldr x0, [x0+24]
    0003fe24mov x1, x2
    0003fe28bl runtime.mProf_Free
    0003fe2cadrp x0, 0xa0c000
    0003fe30add x0, x0, 1352
    0003fe34bl runtime.lock
    0003fe38adrp x0, 0xa0c000
    0003fe3cadd x0, x0, 1064
    0003fe40ldr x1, [sp+72]
    0003fe44bl runtime.(*fixalloc).free
    0003fe48adrp x0, 0xa0c000
    0003fe4cadd x0, x0, 1352
    0003fe50bl runtime.unlock
    0003fe54b 0x3ff68
    0003fe58
    0003fe58loc_3fe58:
    0003fe58ldr x0, [x0+24]
    0003fe5cmov x1, xzr
    0003fe60bl internal/runtime/atomic.(*Uintptr).Store
    0003fe64adrp x0, 0xa0c000
    0003fe68add x0, x0, 1352
    0003fe6cbl runtime.lock
    0003fe70adrp x0, 0xa0c000
    0003fe74add x0, x0, 1280
    0003fe78ldr x1, [sp+72]
    0003fe7cbl runtime.(*fixalloc).free
    0003fe80adrp x0, 0xa0c000
    0003fe84add x0, x0, 1352
    0003fe88bl runtime.unlock
    0003fe8cb 0x3ff68
    0003fe90
    0003fe90loc_3fe90:
    0003fe90ldr x5, [x0+24]
    0003fe94ldr x2, [x0+32]
    0003fe98ldr x3, [x0+40]
    0003fe9cldr x4, [x0+48]
    0003fea0mov x0, x1
    0003fea4mov x1, x5
    0003fea8bl runtime.queuefinalizer
    0003feacadrp x0, 0xa0c000
    0003feb0add x0, x0, 1352
    0003feb4bl runtime.lock
    0003feb8adrp x0, 0xa0c000
    0003febcadd x0, x0, 920
    0003fec0ldr x1, [sp+72]
    0003fec4bl runtime.(*fixalloc).free
    0003fec8adrp x0, 0xa0c000
    0003feccadd x0, x0, 1352
    0003fed0bl runtime.unlock
    0003fed4b 0x3ff68
    0003fed8
    0003fed8loc_3fed8:
    0003fed8subs wzr, w5, 4
    0003fedcb.ne 0x3feec
    0003fee0orr x1, xzr, 1
    0003fee4strb w1, [x0+24]
    0003fee8b 0x3ff68
    0003feec
    0003feecloc_3feec:
    0003feecsubs wzr, w5, 5
    0003fef0b.eq 0x3ff40
    0003fef4subs wzr, w5, 6
    0003fef8b.ne 0x3ff74
    0003fefcldr x1, [x0+24]
    0003ff00mov x0, xzr
    0003ff04mov x2, xzr
    0003ff08mov x3, xzr
    0003ff0cmov x4, xzr
    0003ff10bl runtime.queuefinalizer
    0003ff14adrp x0, 0xa0c000
    0003ff18add x0, x0, 1352
    0003ff1cbl runtime.lock
    0003ff20adrp x0, 0xa0c000
    0003ff24add x0, x0, 992
    0003ff28ldr x1, [sp+72]
    0003ff2cbl runtime.(*fixalloc).free
    0003ff30adrp x0, 0xa0c000
    0003ff34add x0, x0, 1352
    0003ff38bl runtime.unlock
    0003ff3cb 0x3ff68
    0003ff40
    0003ff40loc_3ff40:
    0003ff40adrp x0, 0xa0c000
    0003ff44add x0, x0, 1352
    0003ff48bl runtime.lock
    0003ff4cadrp x0, 0xa0c000
    0003ff50add x0, x0, 1208
    0003ff54ldr x1, [sp+72]
    0003ff58bl runtime.(*fixalloc).free
    0003ff5cadrp x0, 0xa0c000
    0003ff60add x0, x0, 1352
    0003ff64bl runtime.unlock
    0003ff68
    0003ff68loc_3ff68:
    0003ff68ldur x29, [sp-8]
    0003ff6cldr x30, [sp], 64
    0003ff70ret x30
    0003ff74
    0003ff74loc_3ff74:
    0003ff74adrp x0, 0x675000
    0003ff78add x0, x0, 2356
    0003ff7corr x1, xzr, 16
    0003ff80bl runtime.throw
    0003ff84hint
    0003ff88
    0003ff88loc_3ff88:
    0003ff88stp x0, x1, [sp+8]
    0003ff8cstr x2, [sp+24]
    0003ff90mov x3, x30
    0003ff94bl runtime.morestack_noctxt.abi0
    0003ff98ldp x0, x1, [sp+8]
    0003ff9cldr x2, [sp+24]
    0003ffa0b 0x3fde0
    0003ffa4udf 0
    0003ffa8udf 0
    0003ffacudf 0
    0003fde0
    0003ffb0
    0003ffb0runtime.(*gcBits).bytep: ; void runtime.(*gcBits).bytep(runtime.gcBits * b, uintptr n)
    0003ffb0ldr x16, [x28+16]
    0003ffb4subs xzr, sp, x16
    0003ffb8b.ls 0x3ffdc
    0003ffbcstr x30, [sp-32]!
    0003ffc0stur x29, [sp-8]
    0003ffc4sub x29, sp, 8
    0003ffc8ldrsb x27, [x0]
    0003ffccbl runtime.addb
    0003ffd0ldur x29, [sp-8]
    0003ffd4ldr x30, [sp], 32
    0003ffd8ret x30
    0003ffdc
    0003ffdcloc_3ffdc:
    0003ffdcstp x0, x1, [sp+8]
    0003ffe0mov x3, x30
    0003ffe4bl runtime.morestack_noctxt.abi0
    0003ffe8ldp x0, x1, [sp+8]
    0003ffecb 0x3ffb0
    0003ffb0
    0003fff0
    0003fff0runtime.(*gcBits).bitp: ; void runtime.(*gcBits).bitp(runtime.gcBits * b, uintptr n)
    0003fff0ldr x16, [x28+16]
    0003fff4subs xzr, sp, x16
    0003fff8b.ls 0x40030
    0003fffcstr x30, [sp-32]!
    00040000stur x29, [sp-8]
    00040004sub x29, sp, 8
    00040008str x1, [sp+48]
    0004000cubfm x1, x1, 3, 63
    00040010bl runtime.(*gcBits).bytep
    00040014ldr x2, [sp+48]
    00040018and x2, x2, 7
    0004001corr x3, xzr, 1
    00040020lslv x1, x3, x2
    00040024ldur x29, [sp-8]
    00040028ldr x30, [sp], 32
    0004002cret x30
    00040030
    00040030loc_40030:
    00040030stp x0, x1, [sp+8]
    00040034mov x3, x30
    00040038bl runtime.morestack_noctxt.abi0
    0004003cldp x0, x1, [sp+8]
    00040040b 0x3fff0
    00040044udf 0
    00040048udf 0
    0004004cudf 0
    0003fff0
    00040050
    00040050runtime.(*gcBitsArena).tryAlloc: ; void runtime.(*gcBitsArena).tryAlloc(runtime.gcBitsArena * b, uintptr bytes)
    00040050ldr x16, [x28+16]
    00040054subs xzr, sp, x16
    00040058b.ls 0x40100
    0004005cstr x30, [sp-32]!
    00040060stur x29, [sp-8]
    00040064sub x29, sp, 8
    00040068cbz x0, 0x400e0
    0004006cldar x2, [x0]
    00040070add x2, x2, x1
    00040074movz x3, 65520
    00040078subs xzr, x2, x3
    0004007cb.hi 0x400e0
    00040080adrp x27, 0xa0b000
    00040084ldrb w2, [x27+1516]
    00040088tbz w2, 0, 0x40098
    0004008cldaddal x1, x2, [x0]
    00040090add x2, x2, x1
    00040094b 0x400a8
    00040098
    00040098loc_40098:
    00040098ldaxr x2, [x0]
    0004009cadd x2, x2, x1
    000400a0stlxr w27, x2, [x0]
    000400a4cbnz x27, 0x40098
    000400a8
    000400a8loc_400a8:
    000400a8subs xzr, x2, x3
    000400acb.hi 0x400d0
    000400b0sub x2, x2, x1
    000400b4subs xzr, x2, x3
    000400b8b.hs 0x400f0
    000400bcadd x1, x0, 16
    000400c0add x0, x1, x2
    000400c4ldur x29, [sp-8]
    000400c8ldr x30, [sp], 32
    000400ccret x30
    000400d0
    000400d0loc_400d0:
    000400d0mov x0, xzr
    000400d4ldur x29, [sp-8]
    000400d8ldr x30, [sp], 32
    000400dcret x30
    000400e0
    000400e0loc_400e0:
    000400e0mov x0, xzr
    000400e4ldur x29, [sp-8]
    000400e8ldr x30, [sp], 32
    000400ecret x30
    000400f0
    000400f0loc_400f0:
    000400f0mov x0, x2
    000400f4movz x1, 65520
    000400f8bl runtime.panicIndexU
    000400fchint
    00040100
    00040100loc_40100:
    00040100stp x0, x1, [sp+8]
    00040104mov x3, x30
    00040108bl runtime.morestack_noctxt.abi0
    0004010cldp x0, x1, [sp+8]
    00040110b 0x40050
    00040114udf 0
    00040118udf 0
    0004011cudf 0
    00040050
    00040120
    00040120runtime.newMarkBits: ; void runtime.newMarkBits(uintptr nelems)
    00040120ldr x16, [x28+16]
    00040124subs xzr, sp, x16
    00040128b.ls 0x4025c
    0004012cstr x30, [sp-80]!
    00040130stur x29, [sp-8]
    00040134sub x29, sp, 8
    00040138add x2, x0, 63
    0004013cubfm x2, x2, 6, 63
    00040140ubfm x1, x2, 61, 60
    00040144str x1, [sp+64]
    00040148adrp x2, 0xa0b000
    0004014cadd x2, x2, 3728
    00040150ldar x0, [x2]
    00040154bl runtime.(*gcBitsArena).tryAlloc
    00040158cbnz x0, 0x4023c
    0004015cadrp x0, 0xa0b000
    00040160add x0, x0, 3712
    00040164bl runtime.lock
    00040168adrp x27, 0xa0b000
    0004016cldr x0, [x27+3728]
    00040170ldr x1, [sp+64]
    00040174bl runtime.(*gcBitsArena).tryAlloc
    00040178cbnz x0, 0x4021c
    0004017cbl runtime.newArenaMayUnlock
    00040180str x0, [sp+56]
    00040184adrp x27, 0xa0b000
    00040188ldr x0, [x27+3728]
    0004018cldr x1, [sp+64]
    00040190bl runtime.(*gcBitsArena).tryAlloc
    00040194cbnz x0, 0x401e4
    00040198ldr x0, [sp+56]
    0004019cldr x1, [sp+64]
    000401a0bl runtime.(*gcBitsArena).tryAlloc
    000401a4cbz x0, 0x40248
    000401a8str x0, [sp+32]
    000401acadrp x27, 0xa0b000
    000401b0ldr x1, [x27+3728]
    000401b4ldr x2, [sp+56]
    000401b8str x1, [x2+8]
    000401bcadrp x1, 0xa0b000
    000401c0add x1, x1, 3728
    000401c4stlr x2, [x1]
    000401c8adrp x0, 0xa0b000
    000401ccadd x0, x0, 3712
    000401d0bl runtime.unlock
    000401d4ldr x0, [sp+32]
    000401d8ldur x29, [sp-8]
    000401dcldr x30, [sp], 80
    000401e0ret x30
    000401e4
    000401e4loc_401e4:
    000401e4str x0, [sp+40]
    000401e8adrp x27, 0xa0b000
    000401ecldr x1, [x27+3720]
    000401f0ldr x2, [sp+56]
    000401f4str x1, [x2+8]
    000401f8adrp x27, 0xa0b000
    000401fcstr x2, [x27+3720]
    00040200adrp x0, 0xa0b000
    00040204add x0, x0, 3712
    00040208bl runtime.unlock
    0004020cldr x0, [sp+40]
    00040210ldur x29, [sp-8]
    00040214ldr x30, [sp], 80
    00040218ret x30
    0004021c
    0004021cloc_4021c:
    0004021cstr x0, [sp+48]
    00040220adrp x0, 0xa0b000
    00040224add x0, x0, 3712
    00040228bl runtime.unlock
    0004022cldr x0, [sp+48]
    00040230ldur x29, [sp-8]
    00040234ldr x30, [sp], 80
    00040238ret x30
    0004023c
    0004023cloc_4023c:
    0004023cldur x29, [sp-8]
    00040240ldr x30, [sp], 80
    00040244ret x30
    00040248
    00040248loc_40248:
    00040248adrp x0, 0x675000
    0004024cadd x0, x0, 217
    00040250movz x1, 17
    00040254bl runtime.throw
    00040258hint
    0004025c
    0004025cloc_4025c:
    0004025cstr x0, [sp+8]
    00040260mov x3, x30
    00040264bl runtime.morestack_noctxt.abi0
    00040268ldr x0, [sp+8]
    0004026cb 0x40120
    00040120
    00040270
    00040270runtime.newAllocBits: ; void runtime.newAllocBits(uintptr nelems)
    00040270ldr x16, [x28+16]
    00040274subs xzr, sp, x16
    00040278b.ls 0x40298
    0004027cstr x30, [sp-32]!
    00040280stur x29, [sp-8]
    00040284sub x29, sp, 8
    00040288bl runtime.newMarkBits
    0004028cldur x29, [sp-8]
    00040290ldr x30, [sp], 32
    00040294ret x30
    00040298
    00040298loc_40298:
    00040298str x0, [sp+8]
    0004029cmov x3, x30
    000402a0bl runtime.morestack_noctxt.abi0
    000402a4ldr x0, [sp+8]
    000402a8b 0x40270
    000402acudf 0
    00040270
    000402b0
    000402b0runtime.nextMarkBitArenaEpoch: ; void runtime.nextMarkBitArenaEpoch(void)
    000402b0ldr x16, [x28+16]
    000402b4subs xzr, sp, x16
    000402b8b.ls 0x40360
    000402bcstr x30, [sp-32]!
    000402c0stur x29, [sp-8]
    000402c4sub x29, sp, 8
    000402c8adrp x0, 0xa0b000
    000402ccadd x0, x0, 3712
    000402d0bl runtime.lock
    000402d4adrp x27, 0xa0b000
    000402d8ldr x1, [x27+3744]
    000402dccbz x1, 0x402f4
    000402e0adrp x27, 0xa0b000
    000402e4ldr x2, [x27+3720]
    000402e8cbnz x2, 0x40340
    000402ecadrp x27, 0xa0b000
    000402f0str x1, [x27+3720]
    000402f4
    000402f4loc_402f4:
    000402f4adrp x27, 0xa0b000
    000402f8ldr x1, [x27+3736]
    000402fcadrp x27, 0xa0b000
    00040300str x1, [x27+3744]
    00040304adrp x27, 0xa0b000
    00040308ldr x1, [x27+3728]
    0004030cadrp x27, 0xa0b000
    00040310str x1, [x27+3736]
    00040314mov x1, xzr
    00040318adrp x2, 0xa0b000
    0004031cadd x2, x2, 3728
    00040320stlr x1, [x2]
    00040324adrp x0, 0xa0b000
    00040328add x0, x0, 3712
    0004032cbl runtime.unlock
    00040330ldur x29, [sp-8]
    00040334ldr x30, [sp], 32
    00040338ret x30
    0004033c
    0004033cloc_4033c:
    0004033cmov x1, x3
    00040340
    00040340loc_40340:
    00040340ldr x3, [x1+8]
    00040344cbnz x3, 0x4033c
    00040348str x2, [x1+8]
    0004034cadrp x27, 0xa0b000
    00040350ldr x1, [x27+3744]
    00040354adrp x27, 0xa0b000
    00040358str x1, [x27+3720]
    0004035cb 0x402f4
    00040360
    00040360loc_40360:
    00040360mov x3, x30
    00040364bl runtime.morestack_noctxt.abi0
    00040368b 0x402b0
    0004036cudf 0
    000402b0
    00040370
    00040370runtime.newArenaMayUnlock: ; void runtime.newArenaMayUnlock(void)
    00040370ldr x16, [x28+16]
    00040374subs xzr, sp, x16
    00040378b.ls 0x40418
    0004037cstr x30, [sp-48]!
    00040380stur x29, [sp-8]
    00040384sub x29, sp, 8
    00040388adrp x27, 0xa0b000
    0004038cldr x16, [x27+3720]
    00040390cbz x16, 0x403c0
    00040394str x16, [sp+24]
    00040398ldr x1, [x16+8]
    0004039cadrp x27, 0xa0b000
    000403a0str x1, [x27+3720]
    000403a4movz x1, 65520
    000403a8add x1, x16, x1
    000403ac
    000403acloc_403ac:
    000403acstp xzr, xzr, [x16], 16
    000403b0subs xzr, x16, x1
    000403b4b.le 0x403ac
    000403b8ldr x0, [sp+24]
    000403bcb 0x403f4
    000403c0
    000403c0loc_403c0:
    000403c0adrp x0, 0xa0b000
    000403c4add x0, x0, 3712
    000403c8bl runtime.unlock
    000403ccorr x0, xzr, 0x10000
    000403d0adrp x1, 0xa11000
    000403d4add x1, x1, 536
    000403d8bl runtime.sysAlloc
    000403dccbz x0, 0x40404
    000403e0str x0, [sp+32]
    000403e4adrp x0, 0xa0b000
    000403e8add x0, x0, 3712
    000403ecbl runtime.lock
    000403f0ldr x0, [sp+32]
    000403f4
    000403f4loc_403f4:
    000403f4stp xzr, xzr, [x0]
    000403f8ldur x29, [sp-8]
    000403fcldr x30, [sp], 48
    00040400ret x30
    00040404
    00040404loc_40404:
    00040404adrp x0, 0x67d000
    00040408add x0, x0, 2401
    0004040corr x1, xzr, 31
    00040410bl runtime.throw
    00040414hint
    00040418
    00040418loc_40418:
    00040418mov x3, x30
    0004041cbl runtime.morestack_noctxt.abi0
    00040420b 0x40370
    00040424udf 0
    00040428udf 0
    0004042cudf 0
    00040370
    00040430
    00040430runtime.maxSearchAddr: ; void runtime.maxSearchAddr(void)
    00040430adrp x27, 0x980000
    00040434ldr x0, [x27+1696]
    00040438ret x30
    0004043cudf 0
    00040430
    00040440
    00040440runtime.chunkIndex: ; void runtime.chunkIndex(uintptr p)
    00040440ubfm x0, x0, 22, 63
    00040444ret x30
    00040448udf 0
    0004044cudf 0
    00040440
    00040450
    00040450runtime.chunkBase: ; void runtime.chunkBase(runtime.chunkIdx ci)
    00040450ubfm x0, x0, 42, 41
    00040454ret x30
    00040458udf 0
    0004045cudf 0
    00040450
    00040460
    00040460runtime.chunkPageIndex: ; void runtime.chunkPageIndex(uintptr p)
    00040460ubfm x0, x0, 13, 21
    00040464ret x30
    00040468udf 0
    0004046cudf 0
    00040460
    00040470
    00040470runtime.chunkIdx.l1: ; void runtime.chunkIdx.l1(runtime.chunkIdx i)
    00040470ubfm x0, x0, 13, 63
    00040474ret x30
    00040478udf 0
    0004047cudf 0
    00040470
    00040480
    00040480runtime.chunkIdx.l2: ; void runtime.chunkIdx.l2(runtime.chunkIdx i)
    00040480and x0, x0, 8191
    00040484ret x30
    00040488udf 0
    0004048cudf 0
    00040480
    00040490
    00040490runtime.offAddrToLevelIndex: ; void runtime.offAddrToLevelIndex(int level, runtime.offAddr addr)
    00040490ldr x16, [x28+16]
    00040494subs xzr, sp, x16
    00040498b.ls 0x404e0
    0004049cstr x30, [sp-32]!
    000404a0stur x29, [sp-8]
    000404a4sub x29, sp, 8
    000404a8subs xzr, x0, 5
    000404acb.hs 0x404d4
    000404b0adrp x2, 0x982000
    000404b4add x2, x2, 2336
    000404b8ldr x2, [x2+3*x0]
    000404bclsrv x1, x1, x2
    000404c0subs xzr, x2, 64
    000404c4csel x0, x1, xzr, lo
    000404c8ldur x29, [sp-8]
    000404ccldr x30, [sp], 32
    000404d0ret x30
    000404d4
    000404d4loc_404d4:
    000404d4movz x1, 5
    000404d8bl runtime.panicIndex
    000404dchint
    000404e0
    000404e0loc_404e0:
    000404e0stp x0, x1, [sp+8]
    000404e4mov x3, x30
    000404e8bl runtime.morestack_noctxt.abi0
    000404ecldp x0, x1, [sp+8]
    000404f0b 0x40490
    000404f4udf 0
    000404f8udf 0
    000404fcudf 0
    00040490
    00040500
    00040500runtime.levelIndexToOffAddr: ; void runtime.levelIndexToOffAddr(int level, int idx)
    00040500ldr x16, [x28+16]
    00040504subs xzr, sp, x16
    00040508b.ls 0x40550
    0004050cstr x30, [sp-32]!
    00040510stur x29, [sp-8]
    00040514sub x29, sp, 8
    00040518subs xzr, x0, 5
    0004051cb.hs 0x40544
    00040520adrp x2, 0x982000
    00040524add x2, x2, 2336
    00040528ldr x2, [x2+3*x0]
    0004052clslv x1, x1, x2
    00040530subs xzr, x2, 64
    00040534csel x0, x1, xzr, lo
    00040538ldur x29, [sp-8]
    0004053cldr x30, [sp], 32
    00040540ret x30
    00040544
    00040544loc_40544:
    00040544movz x1, 5
    00040548bl runtime.panicIndex
    0004054chint
    00040550
    00040550loc_40550:
    00040550stp x0, x1, [sp+8]
    00040554mov x3, x30
    00040558bl runtime.morestack_noctxt.abi0
    0004055cldp x0, x1, [sp+8]
    00040560b 0x40500
    00040564udf 0
    00040568udf 0
    0004056cudf 0
    00040500
    00040570
    00040570runtime.addrsToSummaryRange: ; void runtime.addrsToSummaryRange(int level, uintptr base, uintptr limit)
    00040570ldr x16, [x28+16]
    00040574subs xzr, sp, x16
    00040578b.ls 0x405d0
    0004057cstr x30, [sp-32]!
    00040580stur x29, [sp-8]
    00040584sub x29, sp, 8
    00040588subs xzr, x0, 5
    0004058cb.hs 0x405c4
    00040590adrp x3, 0x982000
    00040594add x3, x3, 2336
    00040598ldr x3, [x3+3*x0]
    0004059clsrv x4, x1, x3
    000405a0sub x2, x2, 1
    000405a4lsrv x2, x2, x3
    000405a8subs xzr, x3, 64
    000405accsel x0, x4, xzr, lo
    000405b0csel x2, x2, xzr, lo
    000405b4add x1, x2, 1
    000405b8ldur x29, [sp-8]
    000405bcldr x30, [sp], 32
    000405c0ret x30
    000405c4
    000405c4loc_405c4:
    000405c4movz x1, 5
    000405c8bl runtime.panicIndex
    000405cchint
    000405d0
    000405d0loc_405d0:
    000405d0stp x0, x1, [sp+8]
    000405d4str x2, [sp+24]
    000405d8mov x3, x30
    000405dcbl runtime.morestack_noctxt.abi0
    000405e0ldp x0, x1, [sp+8]
    000405e4ldr x2, [sp+24]
    000405e8b 0x40570
    000405ecudf 0
    00040570
    000405f0
    000405f0runtime.blockAlignSummaryRange: ; void runtime.blockAlignSummaryRange(int level, int lo, int hi)
    000405f0ldr x16, [x28+16]
    000405f4subs xzr, sp, x16
    000405f8b.ls 0x40670
    000405fcstr x30, [sp-48]!
    00040600stur x29, [sp-8]
    00040604sub x29, sp, 8
    00040608subs xzr, x0, 5
    0004060cb.hs 0x40664
    00040610str x2, [sp+72]
    00040614adrp x2, 0x982000
    00040618add x2, x2, 2272
    0004061cldr x2, [x2+3*x0]
    00040620orr x3, xzr, 1
    00040624lslv x3, x3, x2
    00040628subs xzr, x2, 64
    0004062ccsel x2, x3, xzr, lo
    00040630str x2, [sp+24]
    00040634mov x0, x1
    00040638mov x1, x2
    0004063cbl runtime.alignDown
    00040640str x0, [sp+32]
    00040644ldr x0, [sp+72]
    00040648ldr x1, [sp+24]
    0004064cbl runtime.alignUp
    00040650mov x1, x0
    00040654ldr x0, [sp+32]
    00040658ldur x29, [sp-8]
    0004065cldr x30, [sp], 48
    00040660ret x30
    00040664
    00040664loc_40664:
    00040664movz x1, 5
    00040668bl runtime.panicIndex
    0004066chint
    00040670
    00040670loc_40670:
    00040670stp x0, x1, [sp+8]
    00040674str x2, [sp+24]
    00040678mov x3, x30
    0004067cbl runtime.morestack_noctxt.abi0
    00040680ldp x0, x1, [sp+8]
    00040684ldr x2, [sp+24]
    00040688b 0x405f0
    0004068cudf 0
    000405f0
    00040690
    00040690runtime.(*pageAlloc).init: ; void runtime.(*pageAlloc).init(runtime.pageAlloc * p, runtime.mutex * mheapLock, runtime.sysMemStat * sysStat, bool test)
    00040690ldr x16, [x28+16]
    00040694subs xzr, sp, x16
    00040698b.ls 0x4081c
    0004069cstr x30, [sp-64]!
    000406a0stur x29, [sp-8]
    000406a4sub x29, sp, 8
    000406a8adrp x27, 0x982000
    000406acldr x4, [x27+2400]
    000406b0subs xzr, x4, 21
    000406b4b.hi 0x407ac
    000406b8str x1, [sp+80]
    000406bcstrb w3, [sp+96]
    000406c0ldrsb x27, [x0]
    000406c4movz x4, 144
    000406c8movk x4, 0x10000
    000406ccadd x4, x0, x4
    000406d0movz x5, 184
    000406d4movk x5, 0x10000
    000406d8add x5, x0, x5
    000406dcstr x5, [sp+48]
    000406e0adrp x27, 0xa0b000
    000406e4ldr w6, [x27+3056]
    000406e8cbz w6, 0x40700
    000406ecbl runtime.gcWriteBarrier2
    000406f0str x2, [x25]
    000406f4add x27, x0, 0x10000
    000406f8ldr x6, [x27+288]
    000406fcstr x6, [x25+8]
    00040700
    00040700loc_40700:
    00040700str x0, [sp+72]
    00040704str x2, [sp+88]
    00040708add x27, x0, 0x10000
    0004070cstr x2, [x27+288]
    00040710mov x0, x4
    00040714mov x1, x2
    00040718bl runtime.(*addrRanges).init
    0004071cldr x0, [sp+72]
    00040720ldrb w1, [sp+96]
    00040724bl runtime.(*pageAlloc).sysInit
    00040728bl runtime.maxSearchAddr
    0004072cldr x2, [sp+72]
    00040730add x27, x2, 0x10000
    00040734str x0, [x27+120]
    00040738adrp x27, 0xa0b000
    0004073cldr w3, [x27+3056]
    00040740cbnz w3, 0x4074c
    00040744ldr x3, [sp+80]
    00040748b 0x40764
    0004074c
    0004074cloc_4074c:
    0004074cbl runtime.gcWriteBarrier2
    00040750ldr x3, [sp+80]
    00040754str x3, [x25]
    00040758add x27, x2, 0x10000
    0004075cldr x4, [x27+280]
    00040760str x4, [x25+8]
    00040764
    00040764loc_40764:
    00040764add x27, x2, 0x10000
    00040768str x3, [x27+280]
    0004076cldr x0, [sp+48]
    00040770ldrb w1, [sp+96]
    00040774ldr x2, [sp+88]
    00040778bl runtime.(*scavengeIndex).init
    0004077cldr x3, [sp+72]
    00040780add x27, x3, 0x10000
    00040784ldr x4, [x27+296]
    00040788add x4, x4, x0
    0004078cadd x27, x3, 0x10000
    00040790str x4, [x27+296]
    00040794ldrb w4, [sp+96]
    00040798add x27, x3, 0x10000
    0004079cstrb w4, [x27+305]
    000407a0ldur x29, [sp-8]
    000407a4ldr x30, [sp], 64
    000407a8ret x30
    000407ac
    000407acloc_407ac:
    000407acstr x4, [sp+40]
    000407b0bl runtime.printlock
    000407b4adrp x0, 0x67e000
    000407b8add x0, x0, 1360
    000407bcorr x1, xzr, 32
    000407c0bl runtime.printstring
    000407c4orr x0, xzr, 1
    000407c8ldr x1, [sp+40]
    000407cclslv x0, x0, x1
    000407d0subs xzr, x1, 64
    000407d4csel x0, x0, xzr, lo
    000407d8bl runtime.printint
    000407dcbl runtime.printnl
    000407e0bl runtime.printunlock
    000407e4bl runtime.printlock
    000407e8adrp x0, 0x67c000
    000407ecadd x0, x0, 917
    000407f0movz x1, 29
    000407f4bl runtime.printstring
    000407f8orr x0, xzr, 0x200000
    000407fcbl runtime.printint
    00040800bl runtime.printnl
    00040804bl runtime.printunlock
    00040808adrp x0, 0x685000
    0004080cadd x0, x0, 3182
    00040810movz x1, 43
    00040814bl runtime.throw
    00040818hint
    0004081c
    0004081cloc_4081c:
    0004081cstp x0, x1, [sp+8]
    00040820str x2, [sp+24]
    00040824strb w3, [sp+32]
    00040828mov x3, x30
    0004082cbl runtime.morestack_noctxt.abi0
    00040830ldp x0, x1, [sp+8]
    00040834ldr x2, [sp+24]
    00040838ldrb w3, [sp+32]
    0004083cb 0x40690
    00040690
    00040840
    00040840runtime.(*pageAlloc).chunkOf: ; void runtime.(*pageAlloc).chunkOf(runtime.pageAlloc * p, runtime.chunkIdx ci)
    00040840ldr x16, [x28+16]
    00040844subs xzr, sp, x16
    00040848b.ls 0x408c4
    0004084cstr x30, [sp-48]!
    00040850stur x29, [sp-8]
    00040854sub x29, sp, 8
    00040858str x0, [sp+56]
    0004085cstr x1, [sp+64]
    00040860mov x0, x1
    00040864bl runtime.chunkIdx.l1
    00040868str x0, [sp+32]
    0004086cldr x0, [sp+64]
    00040870bl runtime.chunkIdx.l2
    00040874ldr x1, [sp+32]
    00040878subs xzr, x1, 8192
    0004087cb.hs 0x408b4
    00040880ldr x2, [sp+56]
    00040884ldrsb x27, [x2]
    00040888add x2, x2, 120
    0004088cldr x2, [x2+3*x1]
    00040890subs xzr, x0, 8192
    00040894b.hs 0x408ac
    00040898ldrsb x27, [x2]
    0004089cadd x0, x2, x0, lsl #7
    000408a0ldur x29, [sp-8]
    000408a4ldr x30, [sp], 48
    000408a8ret x30
    000408ac
    000408acloc_408ac:
    000408acorr x1, xzr, 8192
    000408b0bl runtime.panicIndexU
    000408b4
    000408b4loc_408b4:
    000408b4mov x0, x1
    000408b8orr x1, xzr, 8192
    000408bcbl runtime.panicIndexU
    000408c0hint
    000408c4
    000408c4loc_408c4:
    000408c4stp x0, x1, [sp+8]
    000408c8mov x3, x30
    000408ccbl runtime.morestack_noctxt.abi0
    000408d0ldp x0, x1, [sp+8]
    000408d4b 0x40840
    000408d8udf 0
    000408dcudf 0
    00040840
    000408e0
    000408e0runtime.(*pageAlloc).grow: ; void runtime.(*pageAlloc).grow(runtime.pageAlloc * p, uintptr base, uintptr size)
    000408e0ldr x16, [x28+16]
    000408e4subs xzr, sp, x16
    000408e8b.ls 0x40b7c
    000408ecstr x30, [sp-112]!
    000408f0stur x29, [sp-8]
    000408f4sub x29, sp, 8
    000408f8str x0, [sp+120]
    000408fcstr x1, [sp+128]
    00040900str x2, [sp+136]
    00040904ldrsb x27, [x0]
    00040908add x27, x0, 0x10000
    0004090cldr x0, [x27+280]
    00040910bl runtime.assertLockHeld
    00040914ldr x1, [sp+136]
    00040918ldr x2, [sp+128]
    0004091cadd x0, x1, x2
    00040920orr x1, xzr, 0x400000
    00040924bl runtime.alignUp
    00040928str x0, [sp+56]
    0004092cldr x0, [sp+128]
    00040930orr x1, xzr, 0x400000
    00040934bl runtime.alignDown
    00040938str x0, [sp+72]
    0004093cmov x1, x0
    00040940ldr x2, [sp+56]
    00040944ldr x0, [sp+120]
    00040948bl runtime.(*pageAlloc).sysGrow
    0004094cldr x1, [sp+120]
    00040950movz x2, 184
    00040954movk x2, 0x10000
    00040958add x0, x1, x2
    0004095cadd x27, x1, 0x10000
    00040960ldr x3, [x27+288]
    00040964ldr x1, [sp+72]
    00040968ldr x2, [sp+56]
    0004096cbl runtime.(*scavengeIndex).grow
    00040970ldr x1, [sp+120]
    00040974add x27, x1, 0x10000
    00040978ldr x2, [x27+296]
    0004097cadd x2, x2, x0
    00040980add x27, x1, 0x10000
    00040984str x2, [x27+296]
    00040988add x27, x1, 0x10000
    0004098cldr x1, [x27+128]
    00040990str x1, [sp+80]
    00040994ldr x0, [sp+72]
    00040998bl runtime.chunkIndex
    0004099cstr x0, [sp+48]
    000409a0ldr x0, [sp+56]
    000409a4bl runtime.chunkIndex
    000409a8ldr x1, [sp+80]
    000409accbnz x1, 0x409bc
    000409b0ldr x2, [sp+120]
    000409b4ldr x4, [sp+48]
    000409b8b 0x409d4
    000409bc
    000409bcloc_409bc:
    000409bcldr x2, [sp+120]
    000409c0add x27, x2, 0x10000
    000409c4ldr x3, [x27+128]
    000409c8ldr x4, [sp+48]
    000409ccsubs xzr, x4, x3
    000409d0b.hs 0x409dc
    000409d4
    000409d4loc_409d4:
    000409d4add x27, x2, 0x10000
    000409d8str x4, [x27+128]
    000409dc
    000409dcloc_409dc:
    000409dcadd x27, x2, 0x10000
    000409e0ldr x3, [x27+136]
    000409e4subs xzr, x0, x3
    000409e8b.ls 0x409f4
    000409ecadd x27, x2, 0x10000
    000409f0str x0, [x27+136]
    000409f4
    000409f4loc_409f4:
    000409f4ldr x0, [sp+72]
    000409f8ldr x1, [sp+56]
    000409fcbl runtime.makeAddrRange
    00040a00ldr x2, [sp+120]
    00040a04movz x3, 144
    00040a08movk x3, 0x10000
    00040a0cadd x2, x2, x3
    00040a10mov x3, x0
    00040a14mov x0, x2
    00040a18mov x4, x1
    00040a1cmov x1, x3
    00040a20mov x2, x4
    00040a24bl runtime.(*addrRanges).add
    00040a28ldr x2, [sp+120]
    00040a2cadd x27, x2, 0x10000
    00040a30ldr x1, [x27+120]
    00040a34ldr x0, [sp+72]
    00040a38bl runtime.offAddr.lessThan
    00040a3ctbz w0, 0, 0x40a54
    00040a40ldr x0, [sp+72]
    00040a44ldr x1, [sp+120]
    00040a48add x27, x1, 0x10000
    00040a4cstr x0, [x27+120]
    00040a50b 0x40a58
    00040a54
    00040a54loc_40a54:
    00040a54ldr x0, [sp+72]
    00040a58
    00040a58loc_40a58:
    00040a58bl runtime.chunkIndex
    00040a5cb 0x40a88
    00040a60
    00040a60loc_40a60:
    00040a60mov x0, x2
    00040a64ldr x1, [sp+64]
    00040a68bl runtime.(*pageAlloc).chunkOf
    00040a6cldrsb x27, [x0]
    00040a70add x0, x0, 64
    00040a74mov x1, xzr
    00040a78orr x2, xzr, 512
    00040a7cbl runtime.(*pageBits).setRange
    00040a80ldr x2, [sp+64]
    00040a84add x0, x2, 1
    00040a88
    00040a88loc_40a88:
    00040a88str x0, [sp+64]
    00040a8cldr x0, [sp+56]
    00040a90bl runtime.chunkIndex
    00040a94ldr x1, [sp+64]
    00040a98subs xzr, x0, x1
    00040a9cb.ls 0x40b30
    00040aa0mov x0, x1
    00040aa4bl runtime.chunkIdx.l1
    00040aa8subs xzr, x0, 8192
    00040aacb.hs 0x40b70
    00040ab0ldr x2, [sp+120]
    00040ab4add x3, x2, 120
    00040ab8ldr x4, [x3+3*x0]
    00040abccbnz x4, 0x40a60
    00040ac0str x3, [sp+96]
    00040ac4add x27, x2, 0x10000
    00040ac8ldr x1, [x27+288]
    00040accorr x0, xzr, 0x100000
    00040ad0bl runtime.sysAlloc
    00040ad4cbz x0, 0x40b60
    00040ad8str x0, [sp+88]
    00040adcldr x2, [sp+120]
    00040ae0add x27, x2, 0x10000
    00040ae4ldrb w3, [x27+305]
    00040ae8tbnz w3, 0, 0x40b0c
    00040aecadd x27, x2, 0x10000
    00040af0ldrb w3, [x27+304]
    00040af4tbz w3, 0, 0x40b04
    00040af8orr x1, xzr, 0x100000
    00040afcbl runtime.sysHugePage
    00040b00b 0x40b0c
    00040b04
    00040b04loc_40b04:
    00040b04orr x1, xzr, 0x100000
    00040b08bl runtime.sysNoHugePage
    00040b0c
    00040b0cloc_40b0c:
    00040b0cldr x0, [sp+64]
    00040b10bl runtime.chunkIdx.l1
    00040b14subs xzr, x0, 8192
    00040b18b.hs 0x40b58
    00040b1cldr x2, [sp+88]
    00040b20ldr x3, [sp+96]
    00040b24str x2, [x3+3*x0]
    00040b28ldr x2, [sp+120]
    00040b2cb 0x40a60
    00040b30
    00040b30loc_40b30:
    00040b30ldr x5, [sp+136]
    00040b34ubfm x2, x5, 13, 63
    00040b38ldr x0, [sp+120]
    00040b3cldr x1, [sp+72]
    00040b40orr x3, xzr, 1
    00040b44mov x4, xzr
    00040b48bl runtime.(*pageAlloc).update
    00040b4cldur x29, [sp-8]
    00040b50ldr x30, [sp], 112
    00040b54ret x30
    00040b58
    00040b58loc_40b58:
    00040b58orr x1, xzr, 8192
    00040b5cbl runtime.panicIndexU
    00040b60
    00040b60loc_40b60:
    00040b60adrp x0, 0x679000
    00040b64add x0, x0, 78
    00040b68orr x1, xzr, 24
    00040b6cbl runtime.throw
    00040b70
    00040b70loc_40b70:
    00040b70orr x1, xzr, 8192
    00040b74bl runtime.panicIndexU
    00040b78hint
    00040b7c
    00040b7cloc_40b7c:
    00040b7cstp x0, x1, [sp+8]
    00040b80str x2, [sp+24]
    00040b84mov x3, x30
    00040b88bl runtime.morestack_noctxt.abi0
    00040b8cldp x0, x1, [sp+8]
    00040b90ldr x2, [sp+24]
    00040b94b 0x408e0
    00040b98udf 0
    00040b9cudf 0
    000408e0
    00040ba0
    00040ba0runtime.(*pageAlloc).enableChunkHugePages: ; void runtime.(*pageAlloc).enableChunkHugePages(runtime.pageAlloc * p)
    00040ba0ldr x16, [x28+24]
    00040ba4subs xzr, sp, x16
    00040ba8b.ls 0x40cf4
    00040bacstr x30, [sp-112]!
    00040bb0stur x29, [sp-8]
    00040bb4sub x29, sp, 8
    00040bb8str x0, [sp+120]
    00040bbcadrp x0, 0x9f2000
    00040bc0add x0, x0, 2112
    00040bc4bl runtime.lock
    00040bc8ldr x1, [sp+120]
    00040bccldrsb x27, [x1]
    00040bd0add x27, x1, 0x10000
    00040bd4ldrb w2, [x27+304]
    00040bd8tbnz w2, 0, 0x40c38
    00040bdcorr x2, xzr, 1
    00040be0add x27, x1, 0x10000
    00040be4strb w2, [x27+304]
    00040be8stp xzr, xzr, [sp+56]
    00040becstp xzr, xzr, [sp+72]
    00040bf0str xzr, [sp+88]
    00040bf4add x27, x1, 0x10000
    00040bf8ldr x2, [x27+288]
    00040bfcstr x2, [sp+88]
    00040c00movz x2, 144
    00040c04movk x2, 0x10000
    00040c08add x0, x1, x2
    00040c0cadd x1, sp, 56
    00040c10bl runtime.(*addrRanges).cloneInto
    00040c14adrp x0, 0x9f2000
    00040c18add x0, x0, 2112
    00040c1cbl runtime.unlock
    00040c20ldr x2, [sp+120]
    00040c24add x27, x2, 0x10000
    00040c28ldr x3, [x27+144]
    00040c2cadd x27, x2, 0x10000
    00040c30ldr x4, [x27+152]
    00040c34b 0x40c64
    00040c38
    00040c38loc_40c38:
    00040c38adrp x0, 0x9f2000
    00040c3cadd x0, x0, 2112
    00040c40bl runtime.unlock
    00040c44ldur x29, [sp-8]
    00040c48ldr x30, [sp], 112
    00040c4cret x30
    00040c50
    00040c50loc_40c50:
    00040c50ldr x1, [sp+96]
    00040c54add x3, x1, 16
    00040c58ldr x1, [sp+48]
    00040c5csub x4, x1, 1
    00040c60ldr x2, [sp+120]
    00040c64
    00040c64loc_40c64:
    00040c64subs xzr, x4, 0
    00040c68b.le 0x40c90
    00040c6cstr x4, [sp+48]
    00040c70str x3, [sp+96]
    00040c74ldr x0, [x3]
    00040c78ldr x1, [x3+8]
    00040c7cstr x1, [sp+40]
    00040c80bl runtime.offAddr.addr
    00040c84bl runtime.chunkIndex
    00040c88bl runtime.chunkIdx.l1
    00040c8cb 0x40cb8
    00040c90
    00040c90loc_40c90:
    00040c90ldur x29, [sp-8]
    00040c94ldr x30, [sp], 112
    00040c98ret x30
    00040c9c
    00040c9cloc_40c9c:
    00040c9cldr x2, [sp+120]
    00040ca0add x2, x2, 120
    00040ca4ldr x0, [x2+3*x1]
    00040ca8orr x1, xzr, 0x100000
    00040cacbl runtime.sysHugePage
    00040cb0ldr x2, [sp+32]
    00040cb4add x0, x2, 1
    00040cb8
    00040cb8loc_40cb8:
    00040cb8str x0, [sp+32]
    00040cbcldr x0, [sp+40]
    00040cc0bl runtime.offAddr.addr
    00040cc4sub x0, x0, 1
    00040cc8bl runtime.chunkIndex
    00040cccbl runtime.chunkIdx.l1
    00040cd0ldr x1, [sp+32]
    00040cd4subs xzr, x0, x1
    00040cd8b.ls 0x40c50
    00040cdcsubs xzr, x1, 8192
    00040ce0b.lo 0x40c9c
    00040ce4mov x0, x1
    00040ce8orr x1, xzr, 8192
    00040cecbl runtime.panicIndexU
    00040cf0hint
    00040cf4
    00040cf4loc_40cf4:
    00040cf4str x0, [sp+8]
    00040cf8mov x3, x30
    00040cfcbl runtime.morestackc.abi0
    00040d00ldr x0, [sp+8]
    00040d04b 0x40ba0
    00040d08udf 0
    00040d0cudf 0
    00040ba0
    00040d10
    00040d10runtime.(*pageAlloc).update: ; void runtime.(*pageAlloc).update(runtime.pageAlloc * p, uintptr base, uintptr npages, bool contig, bool alloc)
    00040d10ldr x16, [x28+16]
    00040d14sub x17, sp, 64
    00040d18subs xzr, x17, x16
    00040d1cb.ls 0x4111c
    00040d20str x30, [sp-192]!
    00040d24stur x29, [sp-8]
    00040d28sub x29, sp, 8
    00040d2cstr x0, [sp+200]
    00040d30str x1, [sp+208]
    00040d34str x2, [sp+216]
    00040d38strb w3, [sp+224]
    00040d3cstrb w4, [sp+225]
    00040d40ldrsb x27, [x0]
    00040d44add x27, x0, 0x10000
    00040d48ldr x0, [x27+280]
    00040d4cbl runtime.assertLockHeld
    00040d50ldr x0, [sp+208]
    00040d54bl runtime.chunkIndex
    00040d58str x0, [sp+80]
    00040d5cldr x1, [sp+208]
    00040d60ldr x2, [sp+216]
    00040d64add x1, x1, x2, lsl #13
    00040d68str x1, [sp+160]
    00040d6csub x0, x1, 1
    00040d70bl runtime.chunkIndex
    00040d74ldr x1, [sp+80]
    00040d78subs xzr, x0, x1
    00040d7cb.eq 0x40e54
    00040d80str x0, [sp+128]
    00040d84ldrb w2, [sp+224]
    00040d88tbnz w2, 0, 0x40da4
    00040d8cldr x3, [sp+200]
    00040d90ldr x4, [x3+104]
    00040d94str x4, [sp+64]
    00040d98ldr x5, [x3+96]
    00040d9cstr x5, [sp+168]
    00040da0b 0x410e4
    00040da4
    00040da4loc_40da4:
    00040da4ldr x0, [sp+200]
    00040da8ldr x2, [x0+104]
    00040dacstr x2, [sp+72]
    00040db0ldr x2, [x0+96]
    00040db4str x2, [sp+176]
    00040db8bl runtime.(*pageAlloc).chunkOf
    00040dbcldrsb x27, [x0]
    00040dc0bl runtime.(*pallocBits).summarize
    00040dc4ldr x2, [sp+80]
    00040dc8ldr x1, [sp+72]
    00040dccsubs xzr, x2, x1
    00040dd0b.hs 0x410c0
    00040dd4ldr x3, [sp+176]
    00040dd8str x0, [x3+3*x2]
    00040ddcldr x0, [sp+200]
    00040de0ldr x4, [x0+112]
    00040de4ldr x5, [sp+128]
    00040de8subs xzr, x5, x4
    00040decb.hi 0x410b4
    00040df0add x6, x2, 1
    00040df4subs xzr, x5, x6
    00040df8b.lo 0x410a8
    00040dfcldr x7, [x0+96]
    00040e00sub x8, x5, x2
    00040e04sub x2, x4, x2
    00040e08sub x2, x2, 1
    00040e0csub x2, xzr, x2
    00040e10sbfm x2, x2, 63, 63
    00040e14and x2, x2, x6, lsl #3
    00040e18add x2, x2, x7
    00040e1csub x4, x8, 1
    00040e20ldrb w6, [sp+225]
    00040e24tbnz w6, 0, 0x40e30
    00040e28mov x6, xzr
    00040e2cb 0x4109c
    00040e30
    00040e30loc_40e30:
    00040e30cbz x4, 0x41050
    00040e34ubfm x1, x4, 61, 60
    00040e38mov x0, x2
    00040e3cbl runtime.memclrNoHeapPointers
    00040e40ldr x0, [sp+200]
    00040e44ldr x1, [sp+72]
    00040e48ldr x3, [sp+176]
    00040e4cldr x5, [sp+128]
    00040e50b 0x41050
    00040e54
    00040e54loc_40e54:
    00040e54ldr x0, [sp+200]
    00040e58ldr x2, [x0+104]
    00040e5csubs xzr, x1, x2
    00040e60b.hs 0x41044
    00040e64ldr x2, [x0+96]
    00040e68ldr x2, [x2+3*x1]
    00040e6cstr x2, [sp+56]
    00040e70bl runtime.(*pageAlloc).chunkOf
    00040e74ldrsb x27, [x0]
    00040e78bl runtime.(*pallocBits).summarize
    00040e7cldr x2, [sp+56]
    00040e80subs xzr, x0, x2
    00040e84b.eq 0x40ea8
    00040e88ldr x3, [sp+200]
    00040e8cldr x1, [x3+104]
    00040e90ldr x4, [sp+80]
    00040e94subs xzr, x4, x1
    00040e98b.hs 0x4103c
    00040e9cldr x5, [x3+96]
    00040ea0str x0, [x5+3*x4]
    00040ea4b 0x40eb4
    00040ea8
    00040ea8loc_40ea8:
    00040ea8ldur x29, [sp-8]
    00040eacldr x30, [sp], 192
    00040eb0ret x30
    00040eb4
    00040eb4loc_40eb4:
    00040eb4ldr x1, [sp+208]
    00040eb8ldr x2, [sp+160]
    00040ebcorr x0, xzr, 3
    00040ec0orr x4, xzr, 1
    00040ec4b 0x40ee0
    00040ec8
    00040ec8loc_40ec8:
    00040ec8sub x0, x4, 1
    00040eccldr x1, [sp+208]
    00040ed0ldr x6, [sp+160]
    00040ed4mov x3, x5
    00040ed8mov x4, x2
    00040edcmov x2, x6
    00040ee0
    00040ee0loc_40ee0:
    00040ee0tbnz x0, 63, 0x40f30
    00040ee4tbz w4, 0, 0x40f30
    00040ee8str x0, [sp+104]
    00040eecadd x3, x0, 1
    00040ef0adrp x4, 0x982000
    00040ef4add x4, x4, 2272
    00040ef8ldr x4, [x4+3*x3]
    00040efcstr x4, [sp+96]
    00040f00adrp x4, 0x982000
    00040f04add x4, x4, 2400
    00040f08ldr x3, [x4+3*x3]
    00040f0cstr x3, [sp+88]
    00040f10bl runtime.addrsToSummaryRange
    00040f14str x1, [sp+120]
    00040f18ldr x3, [sp+96]
    00040f1cldr x4, [sp+104]
    00040f20ldr x5, [sp+200]
    00040f24ldr x6, [sp+88]
    00040f28mov x2, xzr
    00040f2cb 0x40f60
    00040f30
    00040f30loc_40f30:
    00040f30ldur x29, [sp-8]
    00040f34ldr x30, [sp], 192
    00040f38ret x30
    00040f3c
    00040f3cloc_40f3c:
    00040f3cldr x3, [sp+96]
    00040f40ldr x7, [sp+104]
    00040f44ldr x1, [sp+120]
    00040f48ldr x6, [sp+88]
    00040f4cldr x8, [sp+144]
    00040f50mov x4, x7
    00040f54ldr x5, [sp+200]
    00040f58mov x2, x0
    00040f5cmov x0, x8
    00040f60
    00040f60loc_40f60:
    00040f60subs xzr, x1, x0
    00040f64b.le 0x40ec8
    00040f68add x7, x4, x4, lsl #1
    00040f6cubfm x8, x7, 61, 60
    00040f70add x8, x8, 24
    00040f74add x9, x5, x8
    00040f78ldr x9, [x9+16]
    00040f7cadd x10, x0, 1
    00040f80lslv x11, x10, x3
    00040f84ldr x8, [x5+x8]
    00040f88lslv x12, x0, x3
    00040f8csubs xzr, x3, 64
    00040f90csel x11, x11, xzr, lo
    00040f94subs xzr, x11, x9
    00040f98b.hi 0x41030
    00040f9csubs xzr, x3, 64
    00040fa0csel x12, x12, xzr, lo
    00040fa4subs xzr, x11, x12
    00040fa8b.lo 0x41024
    00040facstr x7, [sp+152]
    00040fb0str x0, [sp+112]
    00040fb4str x10, [sp+144]
    00040fb8strb w2, [sp+55]
    00040fbcsub x2, x9, x12
    00040fc0sub x1, x11, x12
    00040fc4sub x4, xzr, x2
    00040fc8sbfm x4, x4, 63, 63
    00040fccand x4, x4, x12, lsl #3
    00040fd0add x0, x8, x4
    00040fd4mov x3, x6
    00040fd8bl runtime.mergeSummaries
    00040fdcldr x4, [sp+200]
    00040fe0ldr x5, [sp+152]
    00040fe4add x6, x4, x5, lsl #3
    00040fe8ldr x1, [x6+8]
    00040fecldr x5, [x4+3*x5]
    00040ff0ldr x6, [sp+112]
    00040ff4subs xzr, x6, x1
    00040ff8b.hs 0x4101c
    00040ffcldr x7, [x5+3*x6]
    00041000subs xzr, x0, x7
    00041004b.eq 0x41014
    00041008str x0, [x5+3*x6]
    0004100corr x0, xzr, 1
    00041010b 0x40f3c
    00041014
    00041014loc_41014:
    00041014ldrb w0, [sp+55]
    00041018b 0x40f3c
    0004101c
    0004101cloc_4101c:
    0004101cmov x0, x6
    00041020bl runtime.panicIndex
    00041024
    00041024loc_41024:
    00041024mov x0, x12
    00041028mov x1, x11
    0004102cbl runtime.panicSliceB
    00041030
    00041030loc_41030:
    00041030mov x1, x11
    00041034mov x2, x9
    00041038bl runtime.panicSliceAcap
    0004103c
    0004103cloc_4103c:
    0004103cmov x0, x4
    00041040bl runtime.panicIndexU
    00041044
    00041044loc_41044:
    00041044mov x0, x1
    00041048mov x1, x2
    0004104cbl runtime.panicIndexU
    00041050
    00041050loc_41050:
    00041050mov x1, x5
    00041054bl runtime.(*pageAlloc).chunkOf
    00041058ldrsb x27, [x0]
    0004105cbl runtime.(*pallocBits).summarize
    00041060ldr x2, [sp+128]
    00041064ldr x1, [sp+72]
    00041068subs xzr, x2, x1
    0004106cb.hs 0x41080
    00041070ldr x3, [sp+176]
    00041074str x0, [x3+3*x2]
    00041078
    00041078loc_41078:
    00041078ldr x3, [sp+200]
    0004107cb 0x40eb4
    00041080
    00041080loc_41080:
    00041080mov x0, x2
    00041084bl runtime.panicIndexU
    00041088
    00041088loc_41088:
    00041088movz x7, 512
    0004108cmovk x7, 0x40000000
    00041090movk x7, 0x8000000000000
    00041094str x7, [x2+3*x6]
    00041098add x6, x6, 1
    0004109c
    0004109cloc_4109c:
    0004109csubs xzr, x6, x4
    000410a0b.lt 0x41088
    000410a4b 0x41050
    000410a8
    000410a8loc_410a8:
    000410a8mov x0, x6
    000410acmov x1, x5
    000410b0bl runtime.panicSliceBU
    000410b4
    000410b4loc_410b4:
    000410b4mov x1, x5
    000410b8mov x2, x4
    000410bcbl runtime.panicSliceAcapU
    000410c0
    000410c0loc_410c0:
    000410c0mov x0, x2
    000410c4bl runtime.panicIndexU
    000410c8
    000410c8loc_410c8:
    000410c8ldr x5, [sp+168]
    000410ccstr x0, [x5+3*x2]
    000410d0add x6, x2, 1
    000410d4ldr x0, [sp+128]
    000410d8ldr x3, [sp+200]
    000410dcmov x4, x1
    000410e0mov x1, x6
    000410e4
    000410e4loc_410e4:
    000410e4subs xzr, x0, x1
    000410e8b.lo 0x41078
    000410ecstr x1, [sp+136]
    000410f0mov x0, x3
    000410f4bl runtime.(*pageAlloc).chunkOf
    000410f8ldrsb x27, [x0]
    000410fcbl runtime.(*pallocBits).summarize
    00041100ldr x2, [sp+136]
    00041104ldr x1, [sp+64]
    00041108subs xzr, x2, x1
    0004110cb.lo 0x410c8
    00041110mov x0, x2
    00041114bl runtime.panicIndexU
    00041118hint
    0004111c
    0004111cloc_4111c:
    0004111cstp x0, x1, [sp+8]
    00041120str x2, [sp+24]
    00041124strb w3, [sp+32]
    00041128strb w4, [sp+33]
    0004112cmov x3, x30
    00041130bl runtime.morestack_noctxt.abi0
    00041134ldp x0, x1, [sp+8]
    00041138ldr x2, [sp+24]
    0004113cldrb w3, [sp+32]
    00041140ldrb w4, [sp+33]
    00041144b 0x40d10
    00041148udf 0
    0004114cudf 0
    00040d10