File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00028090
    00028090runtime.reflectcallmove: ; void runtime.reflectcallmove(internal/abi.Type * typ, void * dst, void * src, uintptr size, internal/abi.RegArgs * regs)
    00028090str x30, [sp-64]!
    00028094stur x29, [sp-8]
    00028098sub x29, sp, 8
    0002809cstr x1, [sp+80]
    000280a0str x2, [sp+88]
    000280a4str x3, [sp+96]
    000280a8str x4, [sp+104]
    000280acadrp x27, 0xa23000
    000280b0ldrb w5, [x27+3056]
    000280b4tbz w5, 0, 0x280dc
    000280b8cbnz x0, 0x280c4
    000280bcmov x0, xzr
    000280c0b 0x280e0
    000280c4
    000280c4loc_280c4:
    000280c4bl internal/abi.(*Type).Pointers
    000280c8ldr x1, [sp+80]
    000280ccldr x2, [sp+88]
    000280d0ldr x3, [sp+96]
    000280d4ldr x4, [sp+104]
    000280d8b 0x280e0
    000280dc
    000280dcloc_280dc:
    000280dcmov x0, xzr
    000280e0
    000280e0loc_280e0:
    000280e0tbz w0, 0, 0x2810c
    000280e4subs xzr, x3, 8
    000280e8b.lo 0x2810c
    000280ecmov x0, x1
    000280f0mov x1, x2
    000280f4mov x2, x3
    000280f8mov x3, xzr
    000280fcbl runtime.bulkBarrierPreWrite
    00028100ldr x1, [sp+80]
    00028104ldr x2, [sp+88]
    00028108ldr x3, [sp+96]
    0002810c
    0002810cloc_2810c:
    0002810cmov x0, x1
    00028110mov x1, x2
    00028114mov x2, x3
    00028118bl runtime.memmove
    0002811cmov x0, xzr
    00028120b 0x28128
    00028124
    00028124loc_28124:
    00028124add x0, x2, 1
    00028128
    00028128loc_28128:
    00028128subs xzr, x0, 16
    0002812cb.ge 0x28190
    00028130str x0, [sp+48]
    00028134ldr x2, [sp+104]
    00028138ldrsb x27, [x2]
    0002813cadd x2, x2, 384
    00028140mov x1, x0
    00028144mov x0, x2
    00028148bl internal/abi.(*IntArgRegBitmap).Get
    0002814ctbz w0, 0, 0x28184
    00028150ldr x2, [sp+48]
    00028154ldr x3, [sp+104]
    00028158ldr x4, [x3+3*x2]
    0002815cadd x5, x3, 256
    00028160adrp x27, 0xa23000
    00028164ldr w6, [x27+3056]
    00028168cbz w6, 0x2817c
    0002816cbl runtime.gcWriteBarrier2
    00028170str x4, [x25]
    00028174ldr x6, [x5+3*x2]
    00028178str x6, [x25+8]
    0002817c
    0002817cloc_2817c:
    0002817cstr x4, [x5+3*x2]
    00028180b 0x28124
    00028184
    00028184loc_28184:
    00028184ldr x2, [sp+48]
    00028188ldr x3, [sp+104]
    0002818cb 0x28124
    00028190
    00028190loc_28190:
    00028190ldur x29, [sp-8]
    00028194ldr x30, [sp], 64
    00028198ret x30
    0002819cudf 0
    00028090
    000281a0
    000281a0runtime.typedmemclr: ; void runtime.typedmemclr(internal/abi.Type * typ, void * ptr)
    000281a0str x30, [sp-48]!
    000281a4stur x29, [sp-8]
    000281a8sub x29, sp, 8
    000281acadrp x27, 0xa23000
    000281b0ldrb w2, [x27+3056]
    000281b4tbz w2, 0, 0x281f8
    000281b8str x0, [sp+56]
    000281bcstr x1, [sp+64]
    000281c0bl internal/abi.(*Type).Pointers
    000281c4tbnz w0, 0, 0x281d4
    000281c8ldr x0, [sp+56]
    000281ccldr x1, [sp+64]
    000281d0b 0x281f8
    000281d4
    000281d4loc_281d4:
    000281d4ldr x0, [sp+64]
    000281d8mov x4, x0
    000281dcldr x3, [sp+56]
    000281e0ldr x2, [x3+8]
    000281e4mov x0, x4
    000281e8mov x1, xzr
    000281ecbl runtime.bulkBarrierPreWrite
    000281f0ldr x0, [sp+56]
    000281f4ldr x1, [sp+64]
    000281f8
    000281f8loc_281f8:
    000281f8ldr x2, [x0]
    000281fcmov x0, x1
    00028200mov x1, x2
    00028204bl runtime.memclrNoHeapPointers
    00028208ldur x29, [sp-8]
    0002820cldr x30, [sp], 48
    00028210ret x30
    00028214udf 0
    00028218udf 0
    0002821cudf 0
    000281a0
    00028220
    00028220runtime.heapBitsInSpan: ; void runtime.heapBitsInSpan(uintptr userSize)
    00028220subs xzr, x0, 512
    00028224cset x0, ls
    00028228ret x30
    0002822cudf 0
    00028220
    00028230
    00028230runtime.(*mspan).typePointersOf: ; void runtime.(*mspan).typePointersOf(runtime.mspan * span, uintptr addr, uintptr size)
    00028230str x30, [sp-80]!
    00028234stur x29, [sp-8]
    00028238sub x29, sp, 8
    0002823cstr x0, [sp+88]
    00028240str x1, [sp+96]
    00028244str x2, [sp+104]
    00028248bl runtime.(*mspan).objBase
    0002824cstr x0, [sp+64]
    00028250mov x1, x0
    00028254ldr x0, [sp+88]
    00028258bl runtime.(*mspan).typePointersOfUnchecked
    0002825cldr x4, [sp+64]
    00028260ldr x5, [sp+96]
    00028264subs xzr, x4, x5
    00028268b.ne 0x2828c
    0002826cldr x6, [sp+88]
    00028270ldr x6, [x6+104]
    00028274ldr x7, [sp+104]
    00028278subs xzr, x7, x6
    0002827cb.ne 0x28290
    00028280ldur x29, [sp-8]
    00028284ldr x30, [sp], 80
    00028288ret x30
    0002828c
    0002828cloc_2828c:
    0002828cldr x7, [sp+104]
    00028290
    00028290loc_28290:
    00028290sub x4, x5, x1
    00028294add x5, x5, x7
    00028298bl runtime.typePointers.fastForward
    0002829cldur x29, [sp-8]
    000282a0ldr x30, [sp], 80
    000282a4ret x30
    000282a8udf 0
    000282acudf 0
    00028230
    000282b0
    000282b0runtime.(*mspan).typePointersOfUnchecked: ; void runtime.(*mspan).typePointersOfUnchecked(runtime.mspan * span, uintptr addr)
    000282b0str x30, [sp-64]!
    000282b4stur x29, [sp-8]
    000282b8sub x29, sp, 8
    000282bcstr x0, [sp+72]
    000282c0str x1, [sp+80]
    000282c4ldrb w0, [x0+98]
    000282c8strb w0, [sp+39]
    000282ccbl runtime.spanClass.noscan
    000282d0tbnz w0, 0, 0x28390
    000282d4ldr x1, [sp+72]
    000282d8ldr x0, [x1+104]
    000282dcbl runtime.heapBitsInSpan
    000282e0tbnz w0, 0, 0x28368
    000282e4ldrb w0, [sp+39]
    000282e8bl runtime.spanClass.sizeclass
    000282ecubfm x1, x0, 0, 7
    000282f0cbz w1, 0x28308
    000282f4ldr x2, [sp+80]
    000282f8mov x3, x2
    000282fcldr x2, [x2]
    00028300add x1, x3, 8
    00028304b 0x2831c
    00028308
    00028308loc_28308:
    00028308ldr x4, [sp+72]
    0002830cldr x4, [x4+152]
    00028310cbz x4, 0x2834c
    00028314mov x2, x4
    00028318ldr x1, [sp+80]
    0002831c
    0002831cloc_2831c:
    0002831cstr x2, [sp+48]
    00028320str x1, [sp+40]
    00028324mov x0, x2
    00028328bl runtime.getGCMask
    0002832cbl runtime.readUintptr
    00028330ldr x1, [sp+40]
    00028334mov x2, x0
    00028338ldr x3, [sp+48]
    0002833cmov x0, x1
    00028340ldur x29, [sp-8]
    00028344ldr x30, [sp], 64
    00028348ret x30
    0002834c
    0002834cloc_2834c:
    0002834cmov x0, xzr
    00028350mov x1, x0
    00028354mov x2, x0
    00028358mov x3, xzr
    0002835cldur x29, [sp-8]
    00028360ldr x30, [sp], 64
    00028364ret x30
    00028368
    00028368loc_28368:
    00028368ldr x0, [sp+72]
    0002836cldr x1, [sp+80]
    00028370bl runtime.(*mspan).heapBitsSmallForAddr
    00028374ldr x1, [sp+80]
    00028378mov x2, x0
    0002837cmov x3, xzr
    00028380mov x0, x1
    00028384ldur x29, [sp-8]
    00028388ldr x30, [sp], 64
    0002838cret x30
    00028390
    00028390loc_28390:
    00028390mov x0, xzr
    00028394mov x1, x0
    00028398mov x2, x0
    0002839cmov x3, xzr
    000283a0ldur x29, [sp-8]
    000283a4ldr x30, [sp], 64
    000283a8ret x30
    000283acudf 0
    000282b0
    000283b0
    000283b0runtime.(*mspan).typePointersOfType: ; void runtime.(*mspan).typePointersOfType(runtime.mspan * span, internal/abi.Type * typ, uintptr addr)
    000283b0str x30, [sp-32]!
    000283b4stur x29, [sp-8]
    000283b8sub x29, sp, 8
    000283bcstr x1, [sp+48]
    000283c0str x2, [sp+56]
    000283c4ldrb w0, [x0+98]
    000283c8bl runtime.spanClass.noscan
    000283cctbz w0, 0, 0x283ec
    000283d0mov x0, xzr
    000283d4mov x1, x0
    000283d8mov x2, x0
    000283dcmov x3, xzr
    000283e0ldur x29, [sp-8]
    000283e4ldr x30, [sp], 32
    000283e8ret x30
    000283ec
    000283ecloc_283ec:
    000283ecldr x0, [sp+48]
    000283f0bl runtime.getGCMask
    000283f4bl runtime.readUintptr
    000283f8ldr x1, [sp+56]
    000283fcmov x2, x0
    00028400ldr x3, [sp+48]
    00028404mov x0, x1
    00028408ldur x29, [sp-8]
    0002840cldr x30, [sp], 32
    00028410ret x30
    00028414udf 0
    00028418udf 0
    0002841cudf 0
    000283b0
    00028420
    00028420runtime.typePointers.nextFast: ; void runtime.typePointers.nextFast(runtime.typePointers tp)
    00028420str x3, [sp+32]
    00028424cbnz x2, 0x28430
    00028428mov x4, xzr
    0002842cret x30
    00028430
    00028430loc_28430:
    00028430rbit x5, x2
    00028434clz x5, x5
    00028438orr x6, xzr, 1
    0002843clslv x6, x6, x5
    00028440eor x2, x2, x6
    00028444add x4, x1, x5, lsl #3
    00028448ret x30
    0002844cudf 0
    00028420
    00028450
    00028450runtime.typePointers.next: ; void runtime.typePointers.next(runtime.typePointers tp, uintptr limit)
    00028450str x30, [sp-80]!
    00028454stur x29, [sp-8]
    00028458sub x29, sp, 8
    0002845cstr x3, [sp+112]
    00028460str x4, [sp+120]
    00028464str x3, [sp+64]
    00028468b 0x28484
    0002846c
    0002846cloc_2846c:
    0002846cldr x5, [sp+64]
    00028470ldr x6, [sp+56]
    00028474mov x3, x5
    00028478ldr x4, [sp+120]
    0002847cmov x2, x0
    00028480mov x0, x6
    00028484
    00028484loc_28484:
    00028484cbnz x2, 0x28584
    00028488cbz x3, 0x28564
    0002848cadd x5, x1, 512
    00028490ldr x6, [x3+8]
    00028494add x6, x6, x0
    00028498subs xzr, x5, x6
    0002849cb.lo 0x284b0
    000284a0ldr x6, [x3]
    000284a4add x0, x6, x0
    000284a8mov x1, x0
    000284acb 0x284b8
    000284b0
    000284b0loc_284b0:
    000284b0mov x1, x0
    000284b4mov x0, x5
    000284b8
    000284b8loc_284b8:
    000284b8subs xzr, x4, x0
    000284bcb.ls 0x28544
    000284c0str x1, [sp+56]
    000284c4str x0, [sp+48]
    000284c8mov x0, x3
    000284ccbl runtime.getGCMask
    000284d0ldr x1, [sp+48]
    000284d4ldr x2, [sp+56]
    000284d8sub x1, x1, x2
    000284dcubfm x1, x1, 6, 63
    000284e0bl runtime.addb
    000284e4bl runtime.readUintptr
    000284e8ldr x1, [sp+48]
    000284ecadd x2, x1, 512
    000284f0ldr x3, [sp+120]
    000284f4subs xzr, x3, x2
    000284f8b.hs 0x28538
    000284fcsub x5, x1, x3
    00028500add x5, x5, 512
    00028504ubfm x6, x5, 3, 63
    00028508orr x7, xzr, 1
    0002850clslv x8, x7, x6
    00028510orr x9, xzr, 64
    00028514sub x5, x9, x5, lsr #3
    00028518subs xzr, x6, 64
    0002851ccsel x6, x8, xzr, lo
    00028520sub x6, x6, 1
    00028524lslv x6, x6, x5
    00028528subs xzr, x5, 64
    0002852ccsel x5, x6, xzr, lo
    00028530bic x0, x0, x5
    00028534b 0x2846c
    00028538
    00028538loc_28538:
    00028538orr x7, xzr, 1
    0002853corr x9, xzr, 64
    00028540b 0x2846c
    00028544
    00028544loc_28544:
    00028544mov x0, xzr
    00028548mov x1, x0
    0002854cmov x2, x0
    00028550mov x3, xzr
    00028554mov x4, x0
    00028558ldur x29, [sp-8]
    0002855cldr x30, [sp], 80
    00028560ret x30
    00028564
    00028564loc_28564:
    00028564mov x0, xzr
    00028568mov x1, x0
    0002856cmov x2, x0
    00028570mov x3, xzr
    00028574mov x4, x0
    00028578ldur x29, [sp-8]
    0002857cldr x30, [sp], 80
    00028580ret x30
    00028584
    00028584loc_28584:
    00028584bl runtime.typePointers.nextFast
    00028588ldur x29, [sp-8]
    0002858cldr x30, [sp], 80
    00028590ret x30
    00028594udf 0
    00028598udf 0
    0002859cudf 0
    00028450
    000285a0
    000285a0runtime.typePointers.fastForward: ; void runtime.typePointers.fastForward(runtime.typePointers tp, uintptr n, uintptr limit)
    000285a0str x30, [sp-80]!
    000285a4stur x29, [sp-8]
    000285a8sub x29, sp, 8
    000285acstr x3, [sp+112]
    000285b0add x6, x1, x4
    000285b4subs xzr, x5, x6
    000285b8b.ls 0x287ac
    000285bccbz x3, 0x2873c
    000285c0str x5, [sp+128]
    000285c4str x6, [sp+32]
    000285c8str x3, [sp+64]
    000285ccldr x2, [x3]
    000285d0subs xzr, x4, x2
    000285d4b.lo 0x2860c
    000285d8sub x7, x1, x0
    000285dcadd x7, x4, x7
    000285e0cbz x2, 0x287c8
    000285e4udiv x3, x7, x2
    000285e8madd x2, x3, x2, xzr
    000285ecadd x3, x2, x0
    000285f0str x3, [sp+56]
    000285f4sub x0, x4, x2
    000285f8orr x1, xzr, 512
    000285fcbl runtime.alignDown
    00028600ldr x2, [sp+56]
    00028604add x3, x2, x0
    00028608b 0x2862c
    0002860c
    0002860cloc_2860c:
    0002860cstr x1, [sp+56]
    00028610str x0, [sp+48]
    00028614mov x0, x4
    00028618orr x1, xzr, 512
    0002861cbl runtime.alignDown
    00028620ldr x2, [sp+56]
    00028624add x3, x2, x0
    00028628ldr x2, [sp+48]
    0002862c
    0002862cloc_2862c:
    0002862cstr x2, [sp+56]
    00028630sub x1, x3, x2
    00028634ldr x0, [sp+64]
    00028638ldr x4, [x0+8]
    0002863csubs xzr, x4, x1
    00028640b.hi 0x28690
    00028644ldr x1, [x0]
    00028648str x1, [sp+48]
    0002864cbl runtime.getGCMask
    00028650bl runtime.readUintptr
    00028654ldr x1, [sp+48]
    00028658ldr x2, [sp+56]
    0002865cadd x1, x1, x2
    00028660ldr x2, [sp+128]
    00028664subs xzr, x2, x1
    00028668b.ls 0x28674
    0002866cmov x3, x1
    00028670b 0x286e0
    00028674
    00028674loc_28674:
    00028674mov x0, xzr
    00028678mov x1, x0
    0002867cmov x2, x0
    00028680mov x3, xzr
    00028684ldur x29, [sp-8]
    00028688ldr x30, [sp], 80
    0002868cret x30
    00028690
    00028690loc_28690:
    00028690str x3, [sp+48]
    00028694str x1, [sp+40]
    00028698bl runtime.getGCMask
    0002869cldr x1, [sp+40]
    000286a0ubfm x1, x1, 6, 63
    000286a4bl runtime.addb
    000286a8bl runtime.readUintptr
    000286acldr x1, [sp+32]
    000286b0ldr x2, [sp+48]
    000286b4sub x1, x1, x2
    000286b8ubfm x1, x1, 3, 63
    000286bcorr x3, xzr, 1
    000286c0lslv x4, x3, x1
    000286c4subs xzr, x1, 64
    000286c8csel x1, x4, xzr, lo
    000286ccsub x1, xzr, x1
    000286d0and x0, x0, x1
    000286d4ldr x2, [sp+128]
    000286d8ldr x1, [sp+48]
    000286dcldr x3, [sp+56]
    000286e0
    000286e0loc_286e0:
    000286e0add x4, x1, 512
    000286e4subs xzr, x2, x4
    000286e8b.hs 0x28724
    000286ecsub x4, x1, x2
    000286f0add x4, x4, 512
    000286f4ubfm x5, x4, 3, 63
    000286f8orr x6, xzr, 1
    000286fclslv x6, x6, x5
    00028700orr x7, xzr, 64
    00028704sub x4, x7, x4, lsr #3
    00028708subs xzr, x5, 64
    0002870ccsel x5, x6, xzr, lo
    00028710sub x5, x5, 1
    00028714lslv x5, x5, x4
    00028718subs xzr, x4, 64
    0002871ccsel x4, x5, xzr, lo
    00028720bic x0, x0, x4
    00028724
    00028724loc_28724:
    00028724mov x2, x0
    00028728mov x0, x3
    0002872cldr x3, [sp+64]
    00028730ldur x29, [sp-8]
    00028734ldr x30, [sp], 80
    00028738ret x30
    0002873c
    0002873cloc_2873c:
    0002873cubfm x4, x4, 3, 63
    00028740orr x6, xzr, 1
    00028744lslv x7, x6, x4
    00028748add x8, x1, 512
    0002874csubs xzr, x4, 64
    00028750csel x4, x7, xzr, lo
    00028754sub x4, xzr, x4
    00028758and x4, x2, x4
    0002875csubs xzr, x5, x8
    00028760b.hs 0x28798
    00028764sub x5, x1, x5
    00028768add x5, x5, 512
    0002876cubfm x7, x5, 3, 63
    00028770lslv x6, x6, x7
    00028774orr x8, xzr, 64
    00028778sub x5, x8, x5, lsr #3
    0002877csubs xzr, x7, 64
    00028780csel x6, x6, xzr, lo
    00028784sub x6, x6, 1
    00028788lslv x6, x6, x5
    0002878csubs xzr, x5, 64
    00028790csel x5, x6, xzr, lo
    00028794bic x4, x4, x5
    00028798
    00028798loc_28798:
    00028798mov x2, x4
    0002879cmov x3, xzr
    000287a0ldur x29, [sp-8]
    000287a4ldr x30, [sp], 80
    000287a8ret x30
    000287ac
    000287acloc_287ac:
    000287acmov x0, xzr
    000287b0mov x1, x0
    000287b4mov x2, x0
    000287b8mov x3, xzr
    000287bcldur x29, [sp-8]
    000287c0ldr x30, [sp], 80
    000287c4ret x30
    000287c8
    000287c8loc_287c8:
    000287c8bl runtime.panicdivide
    000287cchint
    000285a0
    000287d0
    000287d0runtime.(*mspan).objBase: ; void runtime.(*mspan).objBase(runtime.mspan * span, uintptr addr)
    000287d0str x30, [sp-48]!
    000287d4stur x29, [sp-8]
    000287d8sub x29, sp, 8
    000287dcstr x0, [sp+56]
    000287e0str x1, [sp+64]
    000287e4bl runtime.(*mspan).base
    000287e8str x0, [sp+32]
    000287ecldr x0, [sp+56]
    000287f0ldr x1, [sp+64]
    000287f4bl runtime.(*mspan).objIndex
    000287f8ldr x1, [sp+56]
    000287fcldr x1, [x1+104]
    00028800ldr x2, [sp+32]
    00028804madd x0, x1, x0, x2
    00028808ldur x29, [sp-8]
    0002880cldr x30, [sp], 48
    00028810ret x30
    00028814udf 0
    00028818udf 0
    0002881cudf 0
    000287d0
    00028820
    00028820runtime.bulkBarrierPreWrite: ; void runtime.bulkBarrierPreWrite(uintptr dst, uintptr src, uintptr size, internal/abi.Type * typ)
    00028820str x30, [sp-128]!
    00028824stur x29, [sp-8]
    00028828sub x29, sp, 8
    0002882corr x4, x1, x0
    00028830orr x4, x2, x4
    00028834ands xzr, x4, 7
    00028838b.ne 0x28aa8
    0002883cadrp x27, 0xa23000
    00028840ldrb w4, [x27+3056]
    00028844tbz w4, 0, 0x2891c
    00028848str x0, [sp+136]
    0002884cstr x1, [sp+144]
    00028850str x2, [sp+152]
    00028854str x3, [sp+160]
    00028858bl runtime.spanOf
    0002885ccbnz x0, 0x28870
    00028860bl runtime.activeModules
    00028864ldr x2, [sp+136]
    00028868mov x3, xzr
    0002886cb 0x289f8
    00028870
    00028870loc_28870:
    00028870str x0, [sp+56]
    00028874add x0, x0, 99
    00028878bl runtime.(*mSpanStateBox).get
    0002887cubfm x1, x0, 0, 7
    00028880subs wzr, w1, 1
    00028884b.eq 0x28894
    00028888ldr x1, [sp+136]
    0002888corr x2, xzr, 1
    00028890b 0x288a8
    00028894
    00028894loc_28894:
    00028894ldr x0, [sp+56]
    00028898bl runtime.(*mspan).base
    0002889cldr x1, [sp+136]
    000288a0subs xzr, x0, x1
    000288a4cset x2, hi
    000288a8
    000288a8loc_288a8:
    000288a8tbnz w2, 0, 0x288bc
    000288acldr x2, [sp+56]
    000288b0ldr x3, [x2+112]
    000288b4subs xzr, x1, x3
    000288b8b.lo 0x288c8
    000288bc
    000288bcloc_288bc:
    000288bcldur x29, [sp-8]
    000288c0ldr x30, [sp], 128
    000288c4ret x30
    000288c8
    000288c8loc_288c8:
    000288c8ldr x1, [x28+48]
    000288ccldr x0, [x1+208]
    000288d0bl runtime.puintptr.ptr
    000288d4ldrsb x27, [x0]
    000288d8movz x1, 4720
    000288dcadd x1, x0, x1
    000288e0str x1, [sp+88]
    000288e4ldr x0, [sp+160]
    000288e8cbz x0, 0x28900
    000288ecmov x1, x0
    000288f0ldr x2, [sp+136]
    000288f4ldr x0, [sp+56]
    000288f8bl runtime.(*mspan).typePointersOfType
    000288fcb 0x28910
    00028900
    00028900loc_28900:
    00028900ldr x0, [sp+56]
    00028904ldr x1, [sp+136]
    00028908ldr x2, [sp+152]
    0002890cbl runtime.(*mspan).typePointersOf
    00028910
    00028910loc_28910:
    00028910ldr x4, [sp+144]
    00028914cbz x4, 0x289dc
    00028918b 0x28984
    0002891c
    0002891cloc_2891c:
    0002891cldur x29, [sp-8]
    00028920ldr x30, [sp], 128
    00028924ret x30
    00028928
    00028928loc_28928:
    00028928str x2, [sp+80]
    0002892cstr x0, [sp+72]
    00028930str x1, [sp+64]
    00028934str x3, [sp+112]
    00028938mov x1, x4
    0002893cstr x4, [sp+104]
    00028940ldr x2, [sp+136]
    00028944sub x1, x1, x2
    00028948ldr x2, [sp+144]
    0002894cadd x1, x2, x1
    00028950str x1, [sp+96]
    00028954ldr x0, [sp+88]
    00028958bl runtime.(*wbBuf).get2
    0002895cldr x1, [sp+104]
    00028960ldr x1, [x1]
    00028964str x1, [x0]
    00028968ldr x1, [sp+96]
    0002896cldr x1, [x1]
    00028970str x1, [x0+8]
    00028974ldr x2, [sp+80]
    00028978ldr x1, [sp+64]
    0002897cldr x0, [sp+72]
    00028980ldr x3, [sp+112]
    00028984
    00028984loc_28984:
    00028984ldr x5, [sp+152]
    00028988ldr x6, [sp+136]
    0002898cadd x4, x5, x6
    00028990bl runtime.typePointers.next
    00028994cbnz x4, 0x28928
    00028998
    00028998loc_28998:
    00028998ldur x29, [sp-8]
    0002899cldr x30, [sp], 128
    000289a0ret x30
    000289a4
    000289a4loc_289a4:
    000289a4str x0, [sp+80]
    000289a8str x1, [sp+72]
    000289acstr x2, [sp+64]
    000289b0str x3, [sp+112]
    000289b4str x4, [sp+104]
    000289b8ldr x0, [sp+88]
    000289bcbl runtime.(*wbBuf).get1
    000289c0ldr x1, [sp+104]
    000289c4ldr x1, [x1]
    000289c8str x1, [x0]
    000289ccldr x2, [sp+64]
    000289d0ldr x1, [sp+72]
    000289d4ldr x0, [sp+80]
    000289d8ldr x3, [sp+112]
    000289dc
    000289dcloc_289dc:
    000289dcldr x5, [sp+152]
    000289e0ldr x6, [sp+136]
    000289e4add x4, x5, x6
    000289e8bl runtime.typePointers.next
    000289eccbnz x4, 0x289a4
    000289f0b 0x28998
    000289f4
    000289f4loc_289f4:
    000289f4add x3, x3, 1
    000289f8
    000289f8loc_289f8:
    000289f8subs xzr, x1, x3
    000289fcb.le 0x28a40
    00028a00ldr x5, [x0+3*x3]
    00028a04ldr x6, [x5+208]
    00028a08subs xzr, x2, x6
    00028a0cb.lo 0x289f4
    00028a10ldr x7, [x5+216]
    00028a14subs xzr, x2, x7
    00028a18b.hs 0x289f4
    00028a1csub x3, x2, x6
    00028a20ldr x4, [x5+544]
    00028a24mov x0, x2
    00028a28ldr x1, [sp+144]
    00028a2cldr x2, [sp+152]
    00028a30bl runtime.bulkBarrierBitmap
    00028a34ldur x29, [sp-8]
    00028a38ldr x30, [sp], 128
    00028a3cret x30
    00028a40
    00028a40loc_28a40:
    00028a40bl runtime.activeModules
    00028a44ldr x2, [sp+136]
    00028a48mov x3, xzr
    00028a4cb 0x28a54
    00028a50
    00028a50loc_28a50:
    00028a50add x3, x3, 1
    00028a54
    00028a54loc_28a54:
    00028a54subs xzr, x1, x3
    00028a58b.le 0x28a9c
    00028a5cldr x5, [x0+3*x3]
    00028a60ldr x6, [x5+224]
    00028a64subs xzr, x2, x6
    00028a68b.lo 0x28a50
    00028a6cldr x7, [x5+232]
    00028a70subs xzr, x2, x7
    00028a74b.hs 0x28a50
    00028a78sub x3, x2, x6
    00028a7cldr x4, [x5+560]
    00028a80mov x0, x2
    00028a84ldr x1, [sp+144]
    00028a88ldr x2, [sp+152]
    00028a8cbl runtime.bulkBarrierBitmap
    00028a90ldur x29, [sp-8]
    00028a94ldr x30, [sp], 128
    00028a98ret x30
    00028a9c
    00028a9cloc_28a9c:
    00028a9cldur x29, [sp-8]
    00028aa0ldr x30, [sp], 128
    00028aa4ret x30
    00028aa8
    00028aa8loc_28aa8:
    00028aa8adrp x0, 0x69b000
    00028aacadd x0, x0, 3915
    00028ab0movz x1, 40
    00028ab4bl runtime.throw
    00028ab8hint
    00028abcudf 0
    00028820
    00028ac0
    00028ac0runtime.bulkBarrierPreWriteSrcOnly: ; void runtime.bulkBarrierPreWriteSrcOnly(uintptr dst, uintptr src, uintptr size, internal/abi.Type * typ)
    00028ac0str x30, [sp-112]!
    00028ac4stur x29, [sp-8]
    00028ac8sub x29, sp, 8
    00028accorr x4, x1, x0
    00028ad0orr x4, x2, x4
    00028ad4ands xzr, x4, 7
    00028ad8b.ne 0x28bc0
    00028adcadrp x27, 0xa23000
    00028ae0ldrb w4, [x27+3056]
    00028ae4tbz w4, 0, 0x28b4c
    00028ae8str x0, [sp+120]
    00028aecstr x1, [sp+128]
    00028af0str x2, [sp+136]
    00028af4str x3, [sp+144]
    00028af8ldr x1, [x28+48]
    00028afcldr x0, [x1+208]
    00028b00bl runtime.puintptr.ptr
    00028b04str x0, [sp+96]
    00028b08ldrsb x27, [x0]
    00028b0cldr x0, [sp+120]
    00028b10bl runtime.spanOf
    00028b14ldr x1, [sp+96]
    00028b18movz x2, 4720
    00028b1cadd x1, x1, x2
    00028b20str x1, [sp+72]
    00028b24ldr x2, [sp+144]
    00028b28cbz x2, 0x28b3c
    00028b2cmov x1, x2
    00028b30ldr x2, [sp+120]
    00028b34bl runtime.(*mspan).typePointersOfType
    00028b38b 0x28ba0
    00028b3c
    00028b3cloc_28b3c:
    00028b3cldr x1, [sp+120]
    00028b40ldr x2, [sp+136]
    00028b44bl runtime.(*mspan).typePointersOf
    00028b48b 0x28ba0
    00028b4c
    00028b4cloc_28b4c:
    00028b4cldur x29, [sp-8]
    00028b50ldr x30, [sp], 112
    00028b54ret x30
    00028b58
    00028b58loc_28b58:
    00028b58str x3, [sp+88]
    00028b5cstr x2, [sp+64]
    00028b60str x1, [sp+56]
    00028b64str x0, [sp+48]
    00028b68ldr x1, [sp+120]
    00028b6csub x1, x4, x1
    00028b70ldr x2, [sp+128]
    00028b74add x1, x1, x2
    00028b78str x1, [sp+80]
    00028b7cldr x0, [sp+72]
    00028b80bl runtime.(*wbBuf).get1
    00028b84ldr x1, [sp+80]
    00028b88ldr x1, [x1]
    00028b8cstr x1, [x0]
    00028b90ldr x2, [sp+64]
    00028b94ldr x1, [sp+56]
    00028b98ldr x0, [sp+48]
    00028b9cldr x3, [sp+88]
    00028ba0
    00028ba0loc_28ba0:
    00028ba0ldr x5, [sp+136]
    00028ba4ldr x6, [sp+120]
    00028ba8add x4, x5, x6
    00028bacbl runtime.typePointers.next
    00028bb0cbnz x4, 0x28b58
    00028bb4ldur x29, [sp-8]
    00028bb8ldr x30, [sp], 112
    00028bbcret x30
    00028bc0
    00028bc0loc_28bc0:
    00028bc0adrp x0, 0x69b000
    00028bc4add x0, x0, 3915
    00028bc8movz x1, 40
    00028bccbl runtime.throw
    00028bd0hint
    00028bd4udf 0
    00028bd8udf 0
    00028bdcudf 0
    00028ac0
    00028be0
    00028be0runtime.(*mspan).initHeapBits: ; void runtime.(*mspan).initHeapBits(runtime.mspan * s)
    00028be0ldr x16, [x28+16]
    00028be4subs xzr, sp, x16
    00028be8b.ls 0x28cac
    00028becstr x30, [sp-32]!
    00028bf0stur x29, [sp-8]
    00028bf4sub x29, sp, 8
    00028bf8str x0, [sp+40]
    00028bfcldrb w0, [x0+98]
    00028c00bl runtime.spanClass.noscan
    00028c04tbz w0, 0, 0x28c10
    00028c08mov x1, xzr
    00028c0cb 0x28c28
    00028c10
    00028c10loc_28c10:
    00028c10ldr x1, [sp+40]
    00028c14ldrb w0, [x1+98]
    00028c18bl runtime.spanClass.sizeclass
    00028c1cubfm x1, x0, 0, 7
    00028c20subs wzr, w1, 1
    00028c24cset x1, eq
    00028c28
    00028c28loc_28c28:
    00028c28tbz w1, 0, 0x28c3c
    00028c2cldr x0, [sp+40]
    00028c30bl runtime.(*mspan).heapBits
    00028c34mov x2, xzr
    00028c38b 0x28ca0
    00028c3c
    00028c3cloc_28c3c:
    00028c3cldr x1, [sp+40]
    00028c40ldrb w0, [x1+98]
    00028c44bl runtime.spanClass.noscan
    00028c48tbz w0, 0, 0x28c54
    00028c4cmov x0, xzr
    00028c50b 0x28c60
    00028c54
    00028c54loc_28c54:
    00028c54ldr x1, [sp+40]
    00028c58ldr x0, [x1+104]
    00028c5cbl runtime.heapBitsInSpan
    00028c60
    00028c60loc_28c60:
    00028c60tbz w0, 0, 0x28c6c
    00028c64ldr x0, [sp+40]
    00028c68b 0x28c78
    00028c6c
    00028c6cloc_28c6c:
    00028c6cldr x0, [sp+40]
    00028c70ldrb w1, [x0+101]
    00028c74tbz w1, 0, 0x28c88
    00028c78
    00028c78loc_28c78:
    00028c78bl runtime.(*mspan).heapBits
    00028c7ccbz x1, 0x28c88
    00028c80ubfm x1, x1, 61, 60
    00028c84bl runtime.memclrNoHeapPointers
    00028c88
    00028c88loc_28c88:
    00028c88ldur x29, [sp-8]
    00028c8cldr x30, [sp], 32
    00028c90ret x30
    00028c94
    00028c94loc_28c94:
    00028c94movn x3, 0
    00028c98str x3, [x0+3*x2]
    00028c9cadd x2, x2, 1
    00028ca0
    00028ca0loc_28ca0:
    00028ca0subs xzr, x1, x2
    00028ca4b.gt 0x28c94
    00028ca8b 0x28c88
    00028cac
    00028cacloc_28cac:
    00028cacstr x0, [sp+8]
    00028cb0mov x3, x30
    00028cb4bl runtime.morestack_noctxt.abi0
    00028cb8ldr x0, [sp+8]
    00028cbcb 0x28be0
    00028be0
    00028cc0
    00028cc0runtime.(*mspan).heapBits: ; void runtime.(*mspan).heapBits(runtime.mspan * span)
    00028cc0str x30, [sp-32]!
    00028cc4stur x29, [sp-8]
    00028cc8sub x29, sp, 8
    00028cccldr x1, [x0+32]
    00028cd0subs xzr, x1, 1
    00028cd4b.ne 0x28cf0
    00028cd8bl runtime.(*mspan).base
    00028cdcorr x1, xzr, 8192
    00028ce0bl runtime.heapBitsSlice
    00028ce4ldur x29, [sp-8]
    00028ce8ldr x30, [sp], 32
    00028cecret x30
    00028cf0
    00028cf0loc_28cf0:
    00028cf0str x0, [sp+40]
    00028cf4bl runtime.(*mspan).base
    00028cf8ldr x1, [sp+40]
    00028cfcldr x1, [x1+32]
    00028d00ubfm x1, x1, 51, 50
    00028d04bl runtime.heapBitsSlice
    00028d08ldur x29, [sp-8]
    00028d0cldr x30, [sp], 32
    00028d10ret x30
    00028d14udf 0
    00028d18udf 0
    00028d1cudf 0
    00028cc0
    00028d20
    00028d20runtime.heapBitsSlice: ; void runtime.heapBitsSlice(uintptr spanBase, uintptr spanSize)
    00028d20str x30, [sp-48]!
    00028d24stur x29, [sp-8]
    00028d28sub x29, sp, 8
    00028d2cstp xzr, xzr, [sp+16]
    00028d30str xzr, [sp+32]
    00028d34ubfm x3, x1, 9, 63
    00028d38add x4, x0, x1
    00028d3csub x4, x4, x1, lsr #6
    00028d40str x4, [sp+16]
    00028d44str x3, [sp+24]
    00028d48str x3, [sp+32]
    00028d4cldr x0, [sp+16]
    00028d50ldr x1, [sp+24]
    00028d54ldr x2, [sp+32]
    00028d58add x29, sp, 40
    00028d5cadd sp, sp, 48
    00028d60ret x30
    00028d64udf 0
    00028d68udf 0
    00028d6cudf 0
    00028d20
    00028d70
    00028d70runtime.(*mspan).heapBitsSmallForAddr: ; void runtime.(*mspan).heapBitsSmallForAddr(runtime.mspan * span, uintptr addr)
    00028d70str x30, [sp-80]!
    00028d74stur x29, [sp-8]
    00028d78sub x29, sp, 8
    00028d7cstr x0, [sp+88]
    00028d80str x1, [sp+96]
    00028d84ldr x1, [x0+32]
    00028d88str x1, [sp+48]
    00028d8cbl runtime.(*mspan).base
    00028d90ldr x1, [sp+48]
    00028d94ubfm x2, x1, 51, 50
    00028d98add x1, x0, x1, lsl #13
    00028d9csub x1, x1, x2, lsr #6
    00028da0str x1, [sp+64]
    00028da4ldr x0, [sp+88]
    00028da8bl runtime.(*mspan).base
    00028dacstr x0, [sp+48]
    00028db0ldr x0, [sp+88]
    00028db4bl runtime.(*mspan).base
    00028db8ldr x1, [sp+96]
    00028dbcldr x2, [sp+48]
    00028dc0sub x2, x1, x2
    00028dc4ubfm x2, x2, 9, 63
    00028dc8str x2, [sp+32]
    00028dccsub x1, x1, x0
    00028dd0str x1, [sp+48]
    00028dd4ubfm x1, x1, 3, 8
    00028dd8str x1, [sp+24]
    00028ddcldr x1, [sp+88]
    00028de0ldr x1, [x1+104]
    00028de4str x1, [sp+40]
    00028de8ubfm x1, x2, 61, 60
    00028decldr x0, [sp+64]
    00028df0bl runtime.addb
    00028df4str x0, [sp+56]
    00028df8ldr x1, [sp+32]
    00028dfcadd x1, x1, 1
    00028e00ubfm x1, x1, 61, 60
    00028e04ldr x0, [sp+64]
    00028e08bl runtime.addb
    00028e0cldr x1, [sp+24]
    00028e10ldr x2, [sp+40]
    00028e14add x3, x1, x2, lsr #3
    00028e18ldr x4, [sp+48]
    00028e1cubfm x4, x4, 3, 63
    00028e20subs xzr, x3, 64
    00028e24b.ls 0x28e70
    00028e28orr x2, xzr, 64
    00028e2csub x1, x2, x1
    00028e30sub x2, x3, 64
    00028e34ldr x3, [sp+56]
    00028e38ldr x3, [x3]
    00028e3clsrv x3, x3, x4
    00028e40ldr x4, [x0]
    00028e44orr x5, xzr, 1
    00028e48lslv x5, x5, x2
    00028e4csubs xzr, x2, 64
    00028e50csel x2, x5, xzr, lo
    00028e54sub x2, x2, 1
    00028e58and x2, x2, x4
    00028e5clslv x2, x2, x1
    00028e60subs xzr, x1, 64
    00028e64csel x1, x2, xzr, lo
    00028e68orr x1, x3, x1
    00028e6cb 0x28e98
    00028e70
    00028e70loc_28e70:
    00028e70ubfm x2, x2, 3, 63
    00028e74ldr x3, [sp+56]
    00028e78ldr x3, [x3]
    00028e7clsrv x3, x3, x4
    00028e80orr x4, xzr, 1
    00028e84lslv x4, x4, x2
    00028e88subs xzr, x2, 64
    00028e8ccsel x2, x4, xzr, lo
    00028e90sub x2, x2, 1
    00028e94and x1, x2, x3
    00028e98
    00028e98loc_28e98:
    00028e98mov x0, x1
    00028e9cldur x29, [sp-8]
    00028ea0ldr x30, [sp], 80
    00028ea4ret x30
    00028ea8udf 0
    00028eacudf 0
    00028d70
    00028eb0
    00028eb0runtime.(*mspan).writeHeapBitsSmall: ; void runtime.(*mspan).writeHeapBitsSmall(runtime.mspan * span, uintptr x, uintptr dataSize, internal/abi.Type * typ)
    00028eb0str x30, [sp-112]!
    00028eb4stur x29, [sp-8]
    00028eb8sub x29, sp, 8
    00028ebcstr x0, [sp+120]
    00028ec0str x1, [sp+128]
    00028ec4str x2, [sp+136]
    00028ec8str x3, [sp+144]
    00028eccmov x0, x3
    00028ed0bl runtime.getGCMask
    00028ed4bl runtime.readUintptr
    00028ed8ldr x1, [sp+144]
    00028edcldr x2, [x1]
    00028ee0ldr x1, [x1+8]
    00028ee4subs xzr, x2, 8
    00028ee8b.eq 0x28efc
    00028eecldr x3, [sp+136]
    00028ef0mov x4, x2
    00028ef4mov x5, x0
    00028ef8b 0x29084
    00028efc
    00028efcloc_28efc:
    00028efcldr x2, [sp+136]
    00028f00ubfm x2, x2, 3, 63
    00028f04orr x3, xzr, 1
    00028f08lslv x4, x3, x2
    00028f0csubs xzr, x2, 64
    00028f10csel x2, x4, xzr, lo
    00028f14sub x2, x2, 1
    00028f18
    00028f18loc_28f18:
    00028f18str x2, [sp+32]
    00028f1cstr x1, [sp+80]
    00028f20ldr x0, [sp+120]
    00028f24bl runtime.(*mspan).base
    00028f28movz x1, 8064
    00028f2cadd x1, x1, x0
    00028f30str x1, [sp+88]
    00028f34ldr x0, [sp+120]
    00028f38bl runtime.(*mspan).base
    00028f3cldr x1, [sp+128]
    00028f40sub x1, x1, x0
    00028f44ubfm x2, x1, 3, 8
    00028f48ldr x3, [sp+120]
    00028f4cldr x3, [x3+104]
    00028f50add x4, x2, x3, lsr #3
    00028f54ubfm x5, x1, 3, 63
    00028f58str x5, [sp+40]
    00028f5cubfm x1, x1, 9, 63
    00028f60subs xzr, x4, 64
    00028f64b.ls 0x2900c
    00028f68str x1, [sp+48]
    00028f6corr x3, xzr, 64
    00028f70sub x2, x3, x2
    00028f74str x2, [sp+64]
    00028f78sub x2, x4, 64
    00028f7cstr x2, [sp+56]
    00028f80ubfm x1, x1, 61, 60
    00028f84ldr x0, [sp+88]
    00028f88bl runtime.add
    00028f8cstr x0, [sp+96]
    00028f90ldr x2, [sp+48]
    00028f94add x2, x2, 1
    00028f98ubfm x1, x2, 61, 60
    00028f9cldr x0, [sp+88]
    00028fa0bl runtime.add
    00028fa4ldr x2, [sp+96]
    00028fa8ldr x3, [x2]
    00028facmovn x4, 0
    00028fb0ldr x5, [sp+64]
    00028fb4lsrv x4, x4, x5
    00028fb8ldr x6, [sp+32]
    00028fbcldr x7, [sp+40]
    00028fc0lslv x7, x6, x7
    00028fc4orr x8, xzr, 1
    00028fc8ldr x9, [sp+56]
    00028fcclslv x8, x8, x9
    00028fd0lsrv x6, x6, x5
    00028fd4subs xzr, x9, 64
    00028fd8csel x8, x8, xzr, lo
    00028fdcsub x8, xzr, x8
    00028fe0subs xzr, x5, 64
    00028fe4csel x4, x4, xzr, lo
    00028fe8csel x5, x6, xzr, lo
    00028fecand x3, x3, x4
    00028ff0orr x3, x3, x7
    00028ff4str x3, [x2]
    00028ff8ldr x2, [x0]
    00028ffcand x2, x8, x2
    00029000orr x2, x2, x5
    00029004str x2, [x0]
    00029008b 0x29058
    0002900c
    0002900cloc_2900c:
    0002900cubfm x2, x3, 3, 63
    00029010str x2, [sp+72]
    00029014ubfm x1, x1, 61, 60
    00029018ldr x0, [sp+88]
    0002901cbl runtime.add
    00029020ldr x2, [x0]
    00029024orr x3, xzr, 1
    00029028ldr x4, [sp+72]
    0002902clslv x3, x3, x4
    00029030ldr x5, [sp+32]
    00029034ldr x6, [sp+40]
    00029038lslv x5, x5, x6
    0002903csubs xzr, x4, 64
    00029040csel x3, x3, xzr, lo
    00029044sub x3, x3, 1
    00029048lslv x3, x3, x6
    0002904cbic x2, x2, x3
    00029050orr x2, x2, x5
    00029054str x2, [x0]
    00029058
    00029058loc_29058:
    00029058ldr x0, [sp+80]
    0002905cldur x29, [sp-8]
    00029060ldr x30, [sp], 112
    00029064ret x30
    00029068
    00029068loc_29068:
    00029068ubfm x6, x2, 3, 63
    0002906clslv x7, x5, x6
    00029070add x2, x2, x4
    00029074add x1, x1, x4
    00029078subs xzr, x6, 64
    0002907ccsel x6, x7, xzr, lo
    00029080orr x0, x0, x6
    00029084
    00029084loc_29084:
    00029084subs xzr, x3, x2
    00029088b.hi 0x29068
    0002908cmov x2, x0
    00029090b 0x28f18
    00029094udf 0
    00029098udf 0
    0002909cudf 0
    00028eb0
    000290a0
    000290a0runtime.heapSetTypeNoHeader: ; void runtime.heapSetTypeNoHeader(uintptr x, uintptr dataSize, internal/abi.Type * typ, runtime.mspan * span)
    000290a0ldr x16, [x28+16]
    000290a4subs xzr, sp, x16
    000290a8b.ls 0x290e4
    000290acstr x30, [sp-48]!
    000290b0stur x29, [sp-8]
    000290b4sub x29, sp, 8
    000290b8mov x4, x0
    000290bcmov x0, x3
    000290c0mov x5, x1
    000290c4mov x1, x4
    000290c8mov x6, x2
    000290ccmov x2, x5
    000290d0mov x3, x6
    000290d4bl runtime.(*mspan).writeHeapBitsSmall
    000290d8ldur x29, [sp-8]
    000290dcldr x30, [sp], 48
    000290e0ret x30
    000290e4
    000290e4loc_290e4:
    000290e4stp x0, x1, [sp+8]
    000290e8stp x2, x3, [sp+24]
    000290ecmov x3, x30
    000290f0bl runtime.morestack_noctxt.abi0
    000290f4ldp x0, x1, [sp+8]
    000290f8ldp x2, x3, [sp+24]
    000290fcb 0x290a0
    000290a0
    00029100
    00029100runtime.heapSetTypeSmallHeader: ; void runtime.heapSetTypeSmallHeader(uintptr x, uintptr dataSize, internal/abi.Type * typ, internal/abi.Type ** header, runtime.mspan * span)
    00029100ldr x16, [x28+16]
    00029104subs xzr, sp, x16
    00029108b.ls 0x2914c
    0002910cstr x30, [sp-16]!
    00029110stur x29, [sp-8]
    00029114sub x29, sp, 8
    00029118ldrsb x27, [x3]
    0002911cadrp x27, 0xa22000
    00029120ldr w1, [x27+3056]
    00029124cbz w1, 0x29138
    00029128bl runtime.gcWriteBarrier2
    0002912cstr x2, [x25]
    00029130ldr x1, [x3]
    00029134str x1, [x25+8]
    00029138
    00029138loc_29138:
    00029138str x2, [x3]
    0002913cldr x0, [x4+104]
    00029140ldur x29, [sp-8]
    00029144ldr x30, [sp], 16
    00029148ret x30
    0002914c
    0002914cloc_2914c:
    0002914cstp x0, x1, [sp+8]
    00029150stp x2, x3, [sp+24]
    00029154str x4, [sp+40]
    00029158mov x3, x30
    0002915cbl runtime.morestack_noctxt.abi0
    00029160ldp x0, x1, [sp+8]
    00029164ldp x2, x3, [sp+24]
    00029168ldr x4, [sp+40]
    0002916cb 0x29100
    00029100
    00029170
    00029170runtime.heapSetTypeLarge: ; void runtime.heapSetTypeLarge(uintptr x, uintptr dataSize, internal/abi.Type * typ, runtime.mspan * span)
    00029170ldr x16, [x28+16]
    00029174subs xzr, sp, x16
    00029178b.ls 0x291bc
    0002917cstr x30, [sp-16]!
    00029180stur x29, [sp-8]
    00029184sub x29, sp, 8
    00029188ldrsb x27, [x3]
    0002918cadrp x27, 0xa22000
    00029190ldr w1, [x27+3056]
    00029194cbz w1, 0x291a8
    00029198bl runtime.gcWriteBarrier2
    0002919cstr x2, [x25]
    000291a0ldr x1, [x3+152]
    000291a4str x1, [x25+8]
    000291a8
    000291a8loc_291a8:
    000291a8str x2, [x3+152]
    000291acldr x0, [x3+104]
    000291b0ldur x29, [sp-8]
    000291b4ldr x30, [sp], 16
    000291b8ret x30
    000291bc
    000291bcloc_291bc:
    000291bcstp x0, x1, [sp+8]
    000291c0stp x2, x3, [sp+24]
    000291c4mov x3, x30
    000291c8bl runtime.morestack_noctxt.abi0
    000291ccldp x0, x1, [sp+8]
    000291d0ldp x2, x3, [sp+24]
    000291d4b 0x29170
    000291d8udf 0
    000291dcudf 0
    00029170
    000291e0
    000291e0runtime.addb: ; void runtime.addb(uint8 * p, uintptr n)
    000291e0add x0, x0, x1
    000291e4ret x30
    000291e8udf 0
    000291ecudf 0
    000291e0
    000291f0
    000291f0runtime.subtractb: ; void runtime.subtractb(uint8 * p, uintptr n)
    000291f0sub x0, x0, x1
    000291f4ret x30
    000291f8udf 0
    000291fcudf 0
    000291f0
    00029200
    00029200runtime.add1: ; void runtime.add1(uint8 * p)
    00029200add x0, x0, 1
    00029204ret x30
    00029208udf 0
    0002920cudf 0
    00029200
    00029210
    00029210runtime.subtract1: ; void runtime.subtract1(uint8 * p)
    00029210sub x0, x0, 1
    00029214ret x30
    00029218udf 0
    0002921cudf 0
    00029210
    00029220
    00029220runtime.(*mspan).allocBitsForIndex: ; void runtime.(*mspan).allocBitsForIndex(runtime.mspan * s, uintptr allocBitIndex)
    00029220str x30, [sp-32]!
    00029224stur x29, [sp-8]
    00029228sub x29, sp, 8
    0002922cstr x1, [sp+48]
    00029230ldr x0, [x0+64]
    00029234bl runtime.(*gcBits).bitp
    00029238ldr x2, [sp+48]
    0002923cldur x29, [sp-8]
    00029240ldr x30, [sp], 32
    00029244ret x30
    00029248udf 0
    0002924cudf 0
    00029220
    00029250
    00029250runtime.(*mspan).refillAllocCache: ; void runtime.(*mspan).refillAllocCache(runtime.mspan * s, uint16 whichByte)
    00029250ldr x16, [x28+16]
    00029254subs xzr, sp, x16
    00029258b.ls 0x29294
    0002925cstr x30, [sp-32]!
    00029260stur x29, [sp-8]
    00029264sub x29, sp, 8
    00029268str x0, [sp+40]
    0002926cldr x0, [x0+64]
    00029270ubfm x1, x1, 0, 15
    00029274bl runtime.(*gcBits).bytep
    00029278ldr x2, [x0]
    0002927corn x2, xzr, x2
    00029280ldr x3, [sp+40]
    00029284str x2, [x3+56]
    00029288ldur x29, [sp-8]
    0002928cldr x30, [sp], 32
    00029290ret x30
    00029294
    00029294loc_29294:
    00029294str x0, [sp+8]
    00029298strh w1, [sp+16]
    0002929cmov x3, x30
    000292a0bl runtime.morestack_noctxt.abi0
    000292a4ldr x0, [sp+8]
    000292a8ldrh w1, [sp+16]
    000292acb 0x29250
    00029250
    000292b0
    000292b0runtime.(*mspan).nextFreeIndex: ; void runtime.(*mspan).nextFreeIndex(runtime.mspan * s)
    000292b0ldr x16, [x28+16]
    000292b4subs xzr, sp, x16
    000292b8b.ls 0x29408
    000292bcstr x30, [sp-48]!
    000292c0stur x29, [sp-8]
    000292c4sub x29, sp, 8
    000292c8ldrh w2, [x0+48]
    000292ccldrh w3, [x0+50]
    000292d0mov x4, x3
    000292d4mov x5, x2
    000292d8subs wzr, w5, w4
    000292dcb.eq 0x29300
    000292e0b.hi 0x293f4
    000292e4str x0, [sp+56]
    000292e8strh w3, [sp+30]
    000292ecstr w4, [sp+36]
    000292f0ldr x5, [x0+56]
    000292f4rbit x5, x5
    000292f8clz x5, x5
    000292fcb 0x29344
    00029300
    00029300loc_29300:
    00029300mov x0, x2
    00029304ldur x29, [sp-8]
    00029308ldr x30, [sp], 48
    0002930cret x30
    00029310
    00029310loc_29310:
    00029310and x2, x2, -64
    00029314strh w2, [sp+32]
    00029318ubfm x1, x2, 3, 15
    0002931cbl runtime.(*mspan).refillAllocCache
    00029320ldr x0, [sp+56]
    00029324ldr x2, [x0+56]
    00029328rbit x2, x2
    0002932cclz x5, x2
    00029330ldr w2, [sp+36]
    00029334ldrh w3, [sp+32]
    00029338ldrh w3, [sp+30]
    0002933cmov x4, x2
    00029340ldrh w2, [sp+32]
    00029344
    00029344loc_29344:
    00029344subs xzr, x5, 64
    00029348b.ne 0x29370
    0002934cadd x2, x2, 64
    00029350and x5, x2, 65472
    00029354subs wzr, w4, w5
    00029358b.hi 0x29310
    0002935cstrh w3, [x0+48]
    00029360mov x0, x3
    00029364ldur x29, [sp-8]
    00029368ldr x30, [sp], 48
    0002936cret x30
    00029370
    00029370loc_29370:
    00029370add x2, x2, x5
    00029374ubfm x6, x2, 0, 15
    00029378subs wzr, w4, w6
    0002937cb.ls 0x293e0
    00029380ldr x3, [x0+56]
    00029384add x5, x5, 1
    00029388lsrv x3, x3, x5
    0002938cadd x6, x2, 1
    00029390subs xzr, x5, 64
    00029394csel x3, x3, xzr, lo
    00029398str x3, [x0+56]
    0002939cands wzr, w6, 63
    000293a0b.ne 0x293cc
    000293a4ubfm x3, x6, 0, 15
    000293a8subs wzr, w3, w4
    000293acb.eq 0x293cc
    000293b0strh w2, [sp+34]
    000293b4strh w6, [sp+32]
    000293b8ubfm x1, x6, 3, 15
    000293bcbl runtime.(*mspan).refillAllocCache
    000293c0ldr x0, [sp+56]
    000293c4ldrh w2, [sp+34]
    000293c8ldrh w6, [sp+32]
    000293cc
    000293ccloc_293cc:
    000293ccstrh w6, [x0+48]
    000293d0mov x0, x2
    000293d4ldur x29, [sp-8]
    000293d8ldr x30, [sp], 48
    000293dcret x30
    000293e0
    000293e0loc_293e0:
    000293e0strh w3, [x0+48]
    000293e4mov x0, x3
    000293e8ldur x29, [sp-8]
    000293ecldr x30, [sp], 48
    000293f0ret x30
    000293f4
    000293f4loc_293f4:
    000293f4adrp x0, 0x68e000
    000293f8add x0, x0, 2468
    000293fcmovz x1, 22
    00029400bl runtime.throw
    00029404hint
    00029408
    00029408loc_29408:
    00029408str x0, [sp+8]
    0002940cmov x3, x30
    00029410bl runtime.morestack_noctxt.abi0
    00029414ldr x0, [sp+8]
    00029418b 0x292b0
    0002941cudf 0
    000292b0
    00029420
    00029420runtime.(*mspan).isFree: ; void runtime.(*mspan).isFree(runtime.mspan * s, uintptr index)
    00029420ldr x16, [x28+16]
    00029424subs xzr, sp, x16
    00029428b.ls 0x2947c
    0002942cstr x30, [sp-32]!
    00029430stur x29, [sp-8]
    00029434sub x29, sp, 8
    00029438ldrh w2, [x0+52]
    0002943csubs xzr, x1, x2
    00029440b.hs 0x29454
    00029444mov x0, xzr
    00029448ldur x29, [sp-8]
    0002944cldr x30, [sp], 32
    00029450ret x30
    00029454
    00029454loc_29454:
    00029454ldr x0, [x0+64]
    00029458bl runtime.(*gcBits).bitp
    0002945cldrb w2, [x0]
    00029460and x2, x2, x1
    00029464ubfm x2, x2, 0, 7
    00029468subs wzr, w2, 0
    0002946ccset x0, eq
    00029470ldur x29, [sp-8]
    00029474ldr x30, [sp], 32
    00029478ret x30
    0002947c
    0002947cloc_2947c:
    0002947cstp x0, x1, [sp+8]
    00029480mov x3, x30
    00029484bl runtime.morestack_noctxt.abi0
    00029488ldp x0, x1, [sp+8]
    0002948cb 0x29420
    00029420
    00029490
    00029490runtime.(*mspan).divideByElemSize: ; void runtime.(*mspan).divideByElemSize(runtime.mspan * s, uintptr n)
    00029490ldr w2, [x0+92]
    00029494madd x1, x1, x2, xzr
    00029498ubfm x0, x1, 32, 63
    0002949cret x30
    00029490
    000294a0
    000294a0runtime.(*mspan).objIndex: ; void runtime.(*mspan).objIndex(runtime.mspan * s, uintptr p)
    000294a0str x30, [sp-32]!
    000294a4stur x29, [sp-8]
    000294a8sub x29, sp, 8
    000294acstr x0, [sp+40]
    000294b0str x1, [sp+48]
    000294b4bl runtime.(*mspan).base
    000294b8ldr x1, [sp+48]
    000294bcsub x1, x1, x0
    000294c0ldr x0, [sp+40]
    000294c4bl runtime.(*mspan).divideByElemSize
    000294c8ldur x29, [sp-8]
    000294ccldr x30, [sp], 32
    000294d0ret x30
    000294d4udf 0
    000294d8udf 0
    000294dcudf 0
    000294a0
    000294e0
    000294e0runtime.(*mspan).markBitsForIndex: ; void runtime.(*mspan).markBitsForIndex(runtime.mspan * s, uintptr objIndex)
    000294e0ldr x16, [x28+16]
    000294e4subs xzr, sp, x16
    000294e8b.ls 0x29514
    000294ecstr x30, [sp-32]!
    000294f0stur x29, [sp-8]
    000294f4sub x29, sp, 8
    000294f8str x1, [sp+48]
    000294fcldr x0, [x0+72]
    00029500bl runtime.(*gcBits).bitp
    00029504ldr x2, [sp+48]
    00029508ldur x29, [sp-8]
    0002950cldr x30, [sp], 32
    00029510ret x30
    00029514
    00029514loc_29514:
    00029514stp x0, x1, [sp+8]
    00029518mov x3, x30
    0002951cbl runtime.morestack_noctxt.abi0
    00029520ldp x0, x1, [sp+8]
    00029524b 0x294e0
    00029528udf 0
    0002952cudf 0
    000294e0
    00029530
    00029530runtime.(*mspan).markBitsForBase: ; void runtime.(*mspan).markBitsForBase(runtime.mspan * s)
    00029530ldr x0, [x0+72]
    00029534ldrsb x27, [x0]
    00029538orr x1, xzr, 1
    0002953cmov x2, xzr
    00029540ret x30
    00029544udf 0
    00029548udf 0
    0002954cudf 0
    00029530
    00029550
    00029550runtime.markBits.isMarked: ; void runtime.markBits.isMarked(runtime.markBits m)
    00029550str x0, [sp+8]
    00029554ldrb w2, [x0]
    00029558and x1, x2, x1
    0002955cubfm x1, x1, 0, 7
    00029560subs wzr, w1, 0
    00029564cset x0, ne
    00029568ret x30
    0002956cudf 0
    00029550
    00029570
    00029570runtime.markBits.setMarked: ; void runtime.markBits.setMarked(runtime.markBits m)
    00029570str x0, [sp+8]
    00029574adrp x27, 0xa22000
    00029578ldrb w2, [x27+1516]
    0002957ctbz w2, 0, 0x29588
    00029580ldsetalb w1, w2, [x0]
    00029584b 0x29598
    00029588
    00029588loc_29588:
    00029588ldaxrb w3, [x0]
    0002958corr x2, x3, x1
    00029590stlxrb w27, w2, [x0]
    00029594cbnz x27, 0x29588
    00029598
    00029598loc_29598:
    00029598ret x30
    0002959cudf 0
    00029570
    000295a0
    000295a0runtime.markBits.setMarkedNonAtomic: ; void runtime.markBits.setMarkedNonAtomic(runtime.markBits m)
    000295a0str x0, [sp+8]
    000295a4ldrb w2, [x0]
    000295a8orr x1, x2, x1
    000295acstrb w1, [x0]
    000295b0ret x30
    000295b4udf 0
    000295b8udf 0
    000295bcudf 0
    000295a0
    000295c0
    000295c0runtime.(*markBits).advance: ; void runtime.(*markBits).advance(runtime.markBits * m)
    000295c0ldr x16, [x28+16]
    000295c4subs xzr, sp, x16
    000295c8b.ls 0x2963c
    000295ccstr x30, [sp-16]!
    000295d0stur x29, [sp-8]
    000295d4sub x29, sp, 8
    000295d8ldrb w1, [x0+8]
    000295dcmov x2, x1
    000295e0subs wzr, w2, 128
    000295e4b.ne 0x2961c
    000295e8ldr x1, [x0]
    000295ecadd x1, x1, 1
    000295f0adrp x27, 0xa22000
    000295f4ldr w2, [x27+3056]
    000295f8cbz w2, 0x2960c
    000295fcbl runtime.gcWriteBarrier2
    00029600str x1, [x25]
    00029604ldr x2, [x0]
    00029608str x2, [x25+8]
    0002960c
    0002960cloc_2960c:
    0002960cstr x1, [x0]
    00029610orr x1, xzr, 1
    00029614strb w1, [x0+8]
    00029618b 0x29624
    0002961c
    0002961cloc_2961c:
    0002961cubfm x1, x1, 63, 62
    00029620strb w1, [x0+8]
    00029624
    00029624loc_29624:
    00029624ldr x1, [x0+16]
    00029628add x1, x1, 1
    0002962cstr x1, [x0+16]
    00029630ldur x29, [sp-8]
    00029634ldr x30, [sp], 16
    00029638ret x30
    0002963c
    0002963cloc_2963c:
    0002963cstr x0, [sp+8]
    00029640mov x3, x30
    00029644bl runtime.morestack_noctxt.abi0
    00029648ldr x0, [sp+8]
    0002964cb 0x295c0
    000295c0
    00029650
    00029650runtime.badPointer: ; void runtime.badPointer(runtime.mspan * s, uintptr p, uintptr refBase, uintptr refOff)
    00029650ldr x16, [x28+16]
    00029654subs xzr, sp, x16
    00029658b.ls 0x297f8
    0002965cstr x30, [sp-80]!
    00029660stur x29, [sp-8]
    00029664sub x29, sp, 8
    00029668str x0, [sp+88]
    0002966cstr x1, [sp+96]
    00029670str x2, [sp+104]
    00029674str x3, [sp+112]
    00029678bl runtime.printlock
    0002967cbl runtime.printlock
    00029680adrp x0, 0x68c000
    00029684add x0, x0, 132
    00029688movz x1, 17
    0002968cbl runtime.printstring
    00029690ldr x0, [sp+96]
    00029694bl runtime.printhex
    00029698bl runtime.printunlock
    0002969cldr x0, [sp+88]
    000296a0cbnz x0, 0x29738
    000296a4
    000296a4loc_296a4:
    000296a4bl runtime.printlock
    000296a8bl runtime.printnl
    000296acbl runtime.printunlock
    000296b0ldr x0, [sp+104]
    000296b4cbnz x0, 0x296d4
    000296b8
    000296b8loc_296b8:
    000296b8ldr x2, [x28+48]
    000296bcorr x3, xzr, 2
    000296c0strb w3, [x2+290]
    000296c4adrp x0, 0x6a3000
    000296c8add x0, x0, 3194
    000296ccorr x1, xzr, 62
    000296d0bl runtime.throw
    000296d4
    000296d4loc_296d4:
    000296d4bl runtime.printlock
    000296d8adrp x0, 0x693000
    000296dcadd x0, x0, 3998
    000296e0orr x1, xzr, 30
    000296e4bl runtime.printstring
    000296e8ldr x0, [sp+104]
    000296ecbl runtime.printhex
    000296f0adrp x0, 0x6e6000
    000296f4add x0, x0, 696
    000296f8orr x1, xzr, 1
    000296fcbl runtime.printstring
    00029700ldr x0, [sp+112]
    00029704bl runtime.printhex
    00029708adrp x0, 0x686000
    0002970cadd x0, x0, 4061
    00029710orr x1, xzr, 2
    00029714bl runtime.printstring
    00029718bl runtime.printunlock
    0002971cadrp x0, 0x687000
    00029720add x0, x0, 2389
    00029724orr x1, xzr, 6
    00029728ldr x2, [sp+104]
    0002972cldr x3, [sp+112]
    00029730bl runtime.gcDumpObject
    00029734b 0x296b8
    00029738
    00029738loc_29738:
    00029738add x0, x0, 99
    0002973cbl runtime.(*mSpanStateBox).get
    00029740strb w0, [sp+47]
    00029744ubfm x1, x0, 0, 7
    00029748subs wzr, w1, 1
    0002974cb.eq 0x297dc
    00029750bl runtime.printlock
    00029754adrp x0, 0x68d000
    00029758add x0, x0, 2367
    0002975cmovz x1, 20
    00029760bl runtime.printstring
    00029764bl runtime.printunlock
    00029768
    00029768loc_29768:
    00029768ldr x0, [sp+88]
    0002976cbl runtime.(*mspan).base
    00029770str x0, [sp+64]
    00029774ldrb w1, [sp+47]
    00029778str x1, [sp+56]
    0002977cldr x1, [sp+88]
    00029780ldr x1, [x1+112]
    00029784str x1, [sp+48]
    00029788bl runtime.printlock
    0002978cadrp x0, 0x68a000
    00029790add x0, x0, 1407
    00029794movz x1, 13
    00029798bl runtime.printstring
    0002979cldr x0, [sp+64]
    000297a0bl runtime.printhex
    000297a4adrp x0, 0x689000
    000297a8add x0, x0, 3712
    000297acorr x1, xzr, 12
    000297b0bl runtime.printstring
    000297b4ldr x0, [sp+48]
    000297b8bl runtime.printhex
    000297bcadrp x0, 0x689000
    000297c0add x0, x0, 3724
    000297c4orr x1, xzr, 12
    000297c8bl runtime.printstring
    000297ccldr x0, [sp+56]
    000297d0bl runtime.printuint
    000297d4bl runtime.printunlock
    000297d8b 0x296a4
    000297dc
    000297dcloc_297dc:
    000297dcbl runtime.printlock
    000297e0adrp x0, 0x690000
    000297e4add x0, x0, 2054
    000297e8movz x1, 25
    000297ecbl runtime.printstring
    000297f0bl runtime.printunlock
    000297f4b 0x29768
    000297f8
    000297f8loc_297f8:
    000297f8stp x0, x1, [sp+8]
    000297fcstp x2, x3, [sp+24]
    00029800mov x3, x30
    00029804bl runtime.morestack_noctxt.abi0
    00029808ldp x0, x1, [sp+8]
    0002980cldp x2, x3, [sp+24]
    00029810b 0x29650
    00029814udf 0
    00029818udf 0
    0002981cudf 0
    00029650
    00029820
    00029820runtime.bulkBarrierBitmap: ; void runtime.bulkBarrierBitmap(uintptr dst, uintptr src, uintptr size, uintptr maskOffset, uint8 * bits)
    00029820str x30, [sp-96]!
    00029824stur x29, [sp-8]
    00029828sub x29, sp, 8
    0002982cstr x0, [sp+104]
    00029830str x1, [sp+112]
    00029834str x2, [sp+120]
    00029838str x3, [sp+128]
    0002983cubfm x1, x3, 6, 63
    00029840mov x0, x4
    00029844bl runtime.addb
    00029848str x0, [sp+80]
    0002984cldr x2, [sp+128]
    00029850ubfm x2, x2, 3, 5
    00029854str x2, [sp+40]
    00029858ldr x2, [x28+48]
    0002985cldr x0, [x2+208]
    00029860bl runtime.puintptr.ptr
    00029864ldrsb x27, [x0]
    00029868orr x2, xzr, 1
    0002986cldr x3, [sp+40]
    00029870lslv x2, x2, x3
    00029874movz x3, 4720
    00029878add x0, x0, x3
    0002987cstr x0, [sp+48]
    00029880ldr x3, [sp+120]
    00029884ldr x4, [sp+80]
    00029888mov x1, xzr
    0002988cb 0x29894
    00029890
    00029890loc_29890:
    00029890add x1, x1, 8
    00029894
    00029894loc_29894:
    00029894subs xzr, x3, x1
    00029898b.ls 0x29970
    0002989cstr x1, [sp+32]
    000298a0ubfm x5, x2, 0, 7
    000298a4cbnz w5, 0x298f0
    000298a8strb w2, [sp+30]
    000298acmov x0, x4
    000298b0orr x1, xzr, 1
    000298b4bl runtime.addb
    000298b8ldrb w2, [x0]
    000298bccbnz w2, 0x298dc
    000298c0ldr x3, [sp+32]
    000298c4add x1, x3, 56
    000298c8ldr x3, [sp+120]
    000298ccldrb w2, [sp+30]
    000298d0mov x4, x0
    000298d4ldr x0, [sp+48]
    000298d8b 0x29890
    000298dc
    000298dcloc_298dc:
    000298dcldr x1, [sp+32]
    000298e0ldr x3, [sp+120]
    000298e4mov x4, x0
    000298e8orr x2, xzr, 1
    000298ecldr x0, [sp+48]
    000298f0
    000298f0loc_298f0:
    000298f0ldrb w5, [x4]
    000298f4and x5, x5, x2
    000298f8ubfm x5, x5, 0, 7
    000298fccbz w5, 0x29968
    00029900str x4, [sp+72]
    00029904strb w2, [sp+31]
    00029908ldr x5, [sp+104]
    0002990cadd x6, x1, x5
    00029910str x6, [sp+64]
    00029914ldr x7, [sp+112]
    00029918cbnz x7, 0x29930
    0002991cbl runtime.(*wbBuf).get1
    00029920ldr x1, [sp+64]
    00029924ldr x1, [x1]
    00029928str x1, [x0]
    0002992cb 0x29954
    00029930
    00029930loc_29930:
    00029930add x1, x1, x7
    00029934str x1, [sp+56]
    00029938bl runtime.(*wbBuf).get2
    0002993cldr x1, [sp+64]
    00029940ldr x1, [x1]
    00029944str x1, [x0]
    00029948ldr x1, [sp+56]
    0002994cldr x1, [x1]
    00029950str x1, [x0+8]
    00029954
    00029954loc_29954:
    00029954ldr x0, [sp+48]
    00029958ldr x1, [sp+32]
    0002995cldrb w2, [sp+31]
    00029960ldr x3, [sp+120]
    00029964ldr x4, [sp+72]
    00029968
    00029968loc_29968:
    00029968ubfm x2, x2, 63, 62
    0002996cb 0x29890
    00029970
    00029970loc_29970:
    00029970ldur x29, [sp-8]
    00029974ldr x30, [sp], 96
    00029978ret x30
    0002997cudf 0
    00029820
    00029980
    00029980runtime.typeBitsBulkBarrier: ; void runtime.typeBitsBulkBarrier(internal/abi.Type * typ, uintptr dst, uintptr src, uintptr size)
    00029980str x30, [sp-112]!
    00029984stur x29, [sp-8]
    00029988sub x29, sp, 8
    0002998ccbz x0, 0x29b34
    00029990str x0, [sp+120]
    00029994ldr x4, [x0]
    00029998subs xzr, x3, x4
    0002999cb.ne 0x29aac
    000299a0adrp x27, 0xa22000
    000299a4ldrb w3, [x27+3056]
    000299a8tbz w3, 0, 0x299ec
    000299acstr x1, [sp+128]
    000299b0str x2, [sp+136]
    000299b4bl runtime.getGCMask
    000299b8str x0, [sp+64]
    000299bcldr x1, [x28+48]
    000299c0ldr x0, [x1+208]
    000299c4bl runtime.puintptr.ptr
    000299c8ldrsb x27, [x0]
    000299ccmovz x1, 4720
    000299d0add x0, x0, x1
    000299d4str x0, [sp+72]
    000299d8ldr x1, [sp+120]
    000299dcldr x2, [sp+64]
    000299e0mov x3, xzr
    000299e4mov x4, xzr
    000299e8b 0x299fc
    000299ec
    000299ecloc_299ec:
    000299ecldur x29, [sp-8]
    000299f0ldr x30, [sp], 112
    000299f4ret x30
    000299f8
    000299f8loc_299f8:
    000299f8add x3, x3, 8
    000299fc
    000299fcloc_299fc:
    000299fcldr x5, [x1+8]
    00029a00subs xzr, x3, x5
    00029a04b.hs 0x29aa0
    00029a08str x3, [sp+40]
    00029a0cands xzr, x3, 63
    00029a10b.eq 0x29a1c
    00029a14ubfm x4, x4, 1, 31
    00029a18b 0x29a48
    00029a1c
    00029a1cloc_29a1c:
    00029a1cldrb w3, [x2]
    00029a20strb w3, [sp+35]
    00029a24mov x0, x2
    00029a28orr x1, xzr, 1
    00029a2cbl runtime.addb
    00029a30ldrb w2, [sp+35]
    00029a34mov x4, x2
    00029a38ldr x1, [sp+120]
    00029a3cldr x3, [sp+40]
    00029a40mov x2, x0
    00029a44ldr x0, [sp+72]
    00029a48
    00029a48loc_29a48:
    00029a48tbz w4, 0, 0x299f8
    00029a4cstr w4, [sp+36]
    00029a50str x2, [sp+96]
    00029a54ldr x1, [sp+128]
    00029a58add x1, x3, x1
    00029a5cstr x1, [sp+88]
    00029a60ldr x1, [sp+136]
    00029a64add x1, x3, x1
    00029a68str x1, [sp+80]
    00029a6cbl runtime.(*wbBuf).get2
    00029a70ldr x1, [sp+88]
    00029a74ldr x1, [x1]
    00029a78str x1, [x0]
    00029a7cldr x1, [sp+80]
    00029a80ldr x1, [x1]
    00029a84str x1, [x0+8]
    00029a88ldr x0, [sp+72]
    00029a8cldr x1, [sp+120]
    00029a90ldr x2, [sp+96]
    00029a94ldr x3, [sp+40]
    00029a98ldr w4, [sp+36]
    00029a9cb 0x299f8
    00029aa0
    00029aa0loc_29aa0:
    00029aa0ldur x29, [sp-8]
    00029aa4ldr x30, [sp], 112
    00029aa8ret x30
    00029aac
    00029aacloc_29aac:
    00029aacstr x3, [sp+144]
    00029ab0bl runtime.toRType
    00029ab4bl runtime.rtype.string
    00029ab8str x0, [sp+96]
    00029abcstr x1, [sp+56]
    00029ac0ldr x1, [sp+120]
    00029ac4ldr x1, [x1]
    00029ac8str x1, [sp+48]
    00029accbl runtime.printlock
    00029ad0adrp x0, 0x69a000
    00029ad4add x0, x0, 3955
    00029ad8movz x1, 40
    00029adcbl runtime.printstring
    00029ae0ldr x0, [sp+96]
    00029ae4ldr x1, [sp+56]
    00029ae8bl runtime.printstring
    00029aecadrp x0, 0x689000
    00029af0add x0, x0, 1933
    00029af4movz x1, 11
    00029af8bl runtime.printstring
    00029afcldr x0, [sp+48]
    00029b00bl runtime.printuint
    00029b04adrp x0, 0x68c000
    00029b08add x0, x0, 2201
    00029b0cmovz x1, 18
    00029b10bl runtime.printstring
    00029b14ldr x0, [sp+144]
    00029b18bl runtime.printuint
    00029b1cbl runtime.printnl
    00029b20bl runtime.printunlock
    00029b24adrp x0, 0x698000
    00029b28add x0, x0, 1129
    00029b2cmovz x1, 36
    00029b30bl runtime.throw
    00029b34
    00029b34loc_29b34:
    00029b34adrp x0, 0x69b000
    00029b38add x0, x0, 2741
    00029b3cmovz x1, 41
    00029b40bl runtime.throw
    00029b44hint
    00029b48udf 0
    00029b4cudf 0
    00029980
    00029b50
    00029b50runtime.(*mspan).countAlloc: ; void runtime.(*mspan).countAlloc(runtime.mspan * s)
    00029b50ldr x16, [x28+16]
    00029b54subs xzr, sp, x16
    00029b58b.ls 0x29be0
    00029b5cstr x30, [sp-64]!
    00029b60stur x29, [sp-8]
    00029b64sub x29, sp, 8
    00029b68str x0, [sp+72]
    00029b6cldrh w2, [x0+50]
    00029b70mov x0, x2
    00029b74orr x1, xzr, 8
    00029b78bl runtime.divRoundUp
    00029b7cstr x0, [sp+48]
    00029b80mov x1, xzr
    00029b84mov x2, xzr
    00029b88b 0x29bc8
    00029b8c
    00029b8cloc_29b8c:
    00029b8cstr x1, [sp+32]
    00029b90str x2, [sp+40]
    00029b94ldr x2, [sp+72]
    00029b98ldr x0, [x2+72]
    00029b9cbl runtime.(*gcBits).bytep
    00029ba0ldr x2, [x0]
    00029ba4fmov d0, x2
    00029ba8cnt v0.8b, v0.8b
    00029bacuaddlv h0, v0.8b
    00029bb0fmov x2, d0
    00029bb4ldr x3, [sp+32]
    00029bb8add x1, x3, 8
    00029bbcldr x3, [sp+40]
    00029bc0add x2, x3, x2
    00029bc4ldr x0, [sp+48]
    00029bc8
    00029bc8loc_29bc8:
    00029bc8subs xzr, x0, x1
    00029bccb.hi 0x29b8c
    00029bd0mov x0, x2
    00029bd4ldur x29, [sp-8]
    00029bd8ldr x30, [sp], 64
    00029bdcret x30
    00029be0
    00029be0loc_29be0:
    00029be0str x0, [sp+8]
    00029be4mov x3, x30
    00029be8bl runtime.morestack_noctxt.abi0
    00029becldr x0, [sp+8]
    00029bf0b 0x29b50
    00029bf4udf 0
    00029bf8udf 0
    00029bfcudf 0
    00029b50
    00029c00
    00029c00runtime.readUintptr: ; void runtime.readUintptr(uint8 * p)
    00029c00ldr x0, [x0]
    00029c04ret x30
    00029c08udf 0
    00029c0cudf 0
    00029c00
    00029c10
    00029c10runtime.progToPointerMask: ; void runtime.progToPointerMask(uint8 * prog, uintptr size)
    00029c10ldr x16, [x28+16]
    00029c14subs xzr, sp, x16
    00029c18b.ls 0x29cd8
    00029c1cstr x30, [sp-80]!
    00029c20stur x29, [sp-8]
    00029c24sub x29, sp, 8
    00029c28str x0, [sp+88]
    00029c2cubfm x3, x1, 3, 63
    00029c30add x3, x3, 7
    00029c34str x3, [sp+56]
    00029c38ubfm x3, x3, 3, 63
    00029c3cstr x3, [sp+40]
    00029c40add x0, x3, 1
    00029c44str x0, [sp+48]
    00029c48orr x1, xzr, 1
    00029c4cadrp x2, 0xa28000
    00029c50add x2, x2, 528
    00029c54bl runtime.persistentalloc
    00029c58ldr x1, [sp+48]
    00029c5cmovz x3, 0x40000000
    00029c60subs xzr, x1, x3
    00029c64b.hi 0x29ccc
    00029c68ldr x2, [sp+56]
    00029c6csubs xzr, x1, x2, lsr #3
    00029c70b.ls 0x29cc4
    00029c74str x0, [sp+64]
    00029c78ldrsb x27, [x0]
    00029c7cldr x2, [sp+40]
    00029c80movn x3, 94
    00029c84strb w3, [x0+x2]
    00029c88mov x1, x0
    00029c8cldr x0, [sp+88]
    00029c90bl runtime.runGCProg
    00029c94ldr x2, [sp+40]
    00029c98ldr x1, [sp+64]
    00029c9cldrb w2, [x1+x2]
    00029ca0subs wzr, w2, 161
    00029ca4b.ne 0x29cb4
    00029ca8ldur x29, [sp-8]
    00029cacldr x30, [sp], 80
    00029cb0ret x30
    00029cb4
    00029cb4loc_29cb4:
    00029cb4adrp x0, 0x691000
    00029cb8add x0, x0, 3200
    00029cbcmovz x1, 27
    00029cc0bl runtime.throw
    00029cc4
    00029cc4loc_29cc4:
    00029cc4ldr x0, [sp+40]
    00029cc8bl runtime.panicIndex
    00029ccc
    00029cccloc_29ccc:
    00029cccmovz x2, 0x40000000
    00029cd0bl runtime.panicSliceAlenU
    00029cd4hint
    00029cd8
    00029cd8loc_29cd8:
    00029cd8stp x0, x1, [sp+8]
    00029cdcmov x3, x30
    00029ce0bl runtime.morestack_noctxt.abi0
    00029ce4ldp x0, x1, [sp+8]
    00029ce8b 0x29c10
    00029cecudf 0
    00029c10
    00029cf0
    00029cf0runtime.runGCProg: ; void runtime.runGCProg(uint8 * prog, uint8 * dst)
    00029cf0ldr x16, [x28+16]
    00029cf4sub x17, sp, 96
    00029cf8subs xzr, x17, x16
    00029cfcb.ls 0x2a2b8
    00029d00str x30, [sp-224]!
    00029d04stur x29, [sp-8]
    00029d08sub x29, sp, 8
    00029d0cstr x1, [sp+240]
    00029d10mov x2, x1
    00029d14mov x3, xzr
    00029d18mov x4, xzr
    00029d1cb 0x29d2c
    00029d20
    00029d20loc_29d20:
    00029d20ldr x2, [sp+240]
    00029d24mov x4, x1
    00029d28mov x1, x6
    00029d2c
    00029d2cloc_29d2c:
    00029d2cstr x0, [sp+184]
    00029d30b 0x29eb4
    00029d34
    00029d34loc_29d34:
    00029d34str x1, [sp+176]
    00029d38ldrb w1, [x0]
    00029d3cstrb w1, [sp+39]
    00029d40bl runtime.add1
    00029d44ldrb w1, [sp+39]
    00029d48and x2, x1, 127
    00029d4cmov x3, x1
    00029d50tbnz w3, 7, 0x29d6c
    00029d54cbz x2, 0x29ec8
    00029d58str x2, [sp+96]
    00029d5cmov x3, xzr
    00029d60ldr x4, [sp+176]
    00029d64ldr x5, [sp+136]
    00029d68b 0x2a254
    00029d6c
    00029d6cloc_29d6c:
    00029d6ccbnz x2, 0x29d7c
    00029d70mov x1, xzr
    00029d74mov x2, xzr
    00029d78b 0x2a184
    00029d7c
    00029d7cloc_29d7c:
    00029d7cstr x2, [sp+168]
    00029d80mov x1, xzr
    00029d84mov x3, xzr
    00029d88b 0x29f00
    00029d8c
    00029d8cloc_29d8c:
    00029d8cstr x0, [sp+208]
    00029d90ldr x3, [sp+168]
    00029d94madd x2, x3, x2, xzr
    00029d98str x2, [sp+128]
    00029d9csubs xzr, x3, 57
    00029da0b.hi 0x29db8
    00029da4ldr x0, [sp+176]
    00029da8bl runtime.subtract1
    00029dacldr x1, [sp+88]
    00029db0ldr x2, [sp+136]
    00029db4b 0x29fe0
    00029db8
    00029db8loc_29db8:
    00029db8ldr x2, [sp+88]
    00029dbcsub x2, x3, x2
    00029dc0str x2, [sp+56]
    00029dc4add x2, x2, 7
    00029dc8ubfm x1, x2, 3, 63
    00029dccldr x0, [sp+176]
    00029dd0bl runtime.subtractb
    00029dd4ldr x2, [sp+56]
    00029dd8and x2, x2, 7
    00029ddccbnz x2, 0x29df4
    00029de0orr x2, xzr, 8
    00029de4ldr x3, [sp+128]
    00029de8ldr x4, [sp+88]
    00029decldr x1, [sp+136]
    00029df0b 0x29e34
    00029df4
    00029df4loc_29df4:
    00029df4str x2, [sp+120]
    00029df8ldrb w1, [x0]
    00029dfcstrb w1, [sp+39]
    00029e00bl runtime.add1
    00029e04ldrb w1, [sp+39]
    00029e08orr x2, xzr, 8
    00029e0cldr x3, [sp+120]
    00029e10sub x4, x2, x3
    00029e14lsrv x1, x1, x4
    00029e18ldr x4, [sp+88]
    00029e1clslv x1, x1, x4
    00029e20ldr x5, [sp+136]
    00029e24orr x1, x5, x1
    00029e28add x4, x3, x4
    00029e2cldr x5, [sp+128]
    00029e30sub x3, x5, x3
    00029e34
    00029e34loc_29e34:
    00029e34str x3, [sp+128]
    00029e38str x4, [sp+88]
    00029e3cubfm x5, x3, 3, 63
    00029e40ldr x6, [sp+176]
    00029e44b 0x29fb0
    00029e48
    00029e48loc_29e48:
    00029e48and x3, x3, 7
    00029e4ccbz x3, 0x29e7c
    00029e50ldrb w5, [x0]
    00029e54orr x7, xzr, 1
    00029e58lslv x8, x7, x3
    00029e5csub x8, x8, 1
    00029e60and x5, x8, x5
    00029e64lslv x5, x5, x4
    00029e68add x3, x3, x4
    00029e6csubs xzr, x4, 64
    00029e70csel x5, x5, xzr, lo
    00029e74orr x1, x1, x5
    00029e78b 0x29e84
    00029e7c
    00029e7cloc_29e7c:
    00029e7corr x7, xzr, 1
    00029e80mov x3, x4
    00029e84
    00029e84loc_29e84:
    00029e84ldr x0, [sp+208]
    00029e88b 0x29d20
    00029e8c
    00029e8cloc_29e8c:
    00029e8cstrb w4, [x1]
    00029e90mov x0, x1
    00029e94bl runtime.add1
    00029e98ldr x1, [sp+88]
    00029e9csub x3, x1, 8
    00029ea0ldr x1, [sp+136]
    00029ea4ubfm x4, x1, 8, 63
    00029ea8ldr x2, [sp+240]
    00029eacmov x1, x0
    00029eb0ldr x0, [sp+184]
    00029eb4
    00029eb4loc_29eb4:
    00029eb4str x3, [sp+88]
    00029eb8str x4, [sp+136]
    00029ebcsubs xzr, x3, 8
    00029ec0b.hs 0x29e8c
    00029ec4b 0x29d34
    00029ec8
    00029ec8loc_29ec8:
    00029ec8ldr x1, [sp+176]
    00029eccmov x2, x1
    00029ed0ldr x3, [sp+240]
    00029ed4sub x2, x2, x3
    00029ed8ldr x3, [sp+88]
    00029edcsub x5, xzr, x3
    00029ee0and x5, x5, 7
    00029ee4add x0, x3, x2, lsl #3
    00029ee8str x0, [sp+40]
    00029eecadd x2, x5, x3
    00029ef0ldr x3, [sp+136]
    00029ef4b 0x2a1ec
    00029ef8
    00029ef8loc_29ef8:
    00029ef8add x3, x3, 7
    00029efcmov x1, x2
    00029f00
    00029f00loc_29f00:
    00029f00str x3, [sp+64]
    00029f04str x1, [sp+128]
    00029f08ldrb w1, [x0]
    00029f0cstrb w1, [sp+39]
    00029f10bl runtime.add1
    00029f14ldrb w1, [sp+39]
    00029f18and x2, x1, 127
    00029f1cldr x3, [sp+64]
    00029f20lslv x2, x2, x3
    00029f24subs xzr, x3, 64
    00029f28csel x2, x2, xzr, lo
    00029f2cldr x4, [sp+128]
    00029f30orr x2, x4, x2
    00029f34tbnz w1, 7, 0x29ef8
    00029f38b 0x29d8c
    00029f3c
    00029f3cloc_29f3c:
    00029f3cstr x5, [sp+104]
    00029f40str x1, [sp+160]
    00029f44str x6, [sp+200]
    00029f48ldrb w1, [x0]
    00029f4cstrb w1, [sp+39]
    00029f50bl runtime.add1
    00029f54str x0, [sp+176]
    00029f58ldrb w1, [sp+39]
    00029f5cldr x2, [sp+88]
    00029f60lslv x1, x1, x2
    00029f64ldr x3, [sp+104]
    00029f68sub x3, x3, 1
    00029f6cstr x3, [sp+104]
    00029f70subs xzr, x2, 64
    00029f74csel x1, x1, xzr, lo
    00029f78ldr x2, [sp+160]
    00029f7corr x1, x2, x1
    00029f80str x1, [sp+136]
    00029f84ldr x0, [sp+200]
    00029f88strb w1, [x0]
    00029f8cbl runtime.add1
    00029f90ldr x1, [sp+136]
    00029f94ubfm x1, x1, 8, 63
    00029f98orr x2, xzr, 8
    00029f9cldr x3, [sp+128]
    00029fa0ldr x4, [sp+88]
    00029fa4ldr x5, [sp+104]
    00029fa8mov x6, x0
    00029facldr x0, [sp+176]
    00029fb0
    00029fb0loc_29fb0:
    00029fb0cbnz x5, 0x29f3c
    00029fb4b 0x29e48
    00029fb8
    00029fb8loc_29fb8:
    00029fb8str x1, [sp+80]
    00029fbcstr x2, [sp+48]
    00029fc0ldrb w1, [x0]
    00029fc4strb w1, [sp+39]
    00029fc8bl runtime.subtract1
    00029fccldrb w1, [sp+39]
    00029fd0ldr x2, [sp+48]
    00029fd4orr x2, x1, x2, lsl #8
    00029fd8ldr x1, [sp+80]
    00029fdcadd x1, x1, 8
    00029fe0
    00029fe0loc_29fe0:
    00029fe0ldr x3, [sp+168]
    00029fe4subs xzr, x1, x3
    00029fe8b.lo 0x29fb8
    00029feccsel x4, x3, x1, hi
    00029ff0sub x5, x1, x3
    00029ff4lsrv x6, x2, x5
    00029ff8subs xzr, x5, 64
    00029ffccsel x5, x6, xzr, lo
    0002a000subs xzr, x1, x3
    0002a004csel x1, x5, x2, hi
    0002a008subs xzr, x4, 1
    0002a00cb.ne 0x2a02c
    0002a010subs xzr, x1, 1
    0002a014movz x2, 57
    0002a018ldr x3, [sp+128]
    0002a01ccsel x4, x2, x3, eq
    0002a020movn x5, 0xfe00000000000000
    0002a024csel x1, x5, x1, eq
    0002a028b 0x2a04c
    0002a02c
    0002a02cloc_2a02c:
    0002a02cadd x2, x4, x4
    0002a030subs xzr, x2, 57
    0002a034b.hi 0x2a040
    0002a038mov x0, x4
    0002a03cb 0x2a140
    0002a040
    0002a040loc_2a040:
    0002a040movz x2, 57
    0002a044ldr x3, [sp+128]
    0002a048movn x5, 0xfe00000000000000
    0002a04c
    0002a04cloc_2a04c:
    0002a04cstr x1, [sp+48]
    0002a050str x4, [sp+80]
    0002a054ldr x6, [sp+136]
    0002a058ldr x7, [sp+88]
    0002a05cldr x8, [sp+176]
    0002a060b 0x2a06c
    0002a064
    0002a064loc_2a064:
    0002a064sub x3, x3, x4
    0002a068mov x7, x10
    0002a06c
    0002a06cloc_2a06c:
    0002a06csubs xzr, x4, x3
    0002a070b.hi 0x2a090
    0002a074str x3, [sp+128]
    0002a078lslv x9, x1, x7
    0002a07cadd x10, x4, x7
    0002a080subs xzr, x7, 64
    0002a084csel x7, x9, xzr, lo
    0002a088orr x6, x6, x7
    0002a08cb 0x2a124
    0002a090
    0002a090loc_2a090:
    0002a090cbz x3, 0x2a0c4
    0002a094orr x4, xzr, 1
    0002a098lslv x9, x4, x3
    0002a09cadd x10, x7, x3
    0002a0a0subs xzr, x3, 64
    0002a0a4csel x3, x9, xzr, lo
    0002a0a8sub x3, x3, 1
    0002a0acand x1, x1, x3
    0002a0b0lslv x1, x1, x7
    0002a0b4subs xzr, x7, 64
    0002a0b8csel x1, x1, xzr, lo
    0002a0bcorr x6, x6, x1
    0002a0c0b 0x2a0cc
    0002a0c4
    0002a0c4loc_2a0c4:
    0002a0c4orr x4, xzr, 1
    0002a0c8mov x10, x7
    0002a0cc
    0002a0ccloc_2a0cc:
    0002a0ccorr x2, xzr, 8
    0002a0d0orr x7, xzr, 1
    0002a0d4mov x3, x10
    0002a0d8ldr x0, [sp+208]
    0002a0dcmov x1, x6
    0002a0e0mov x6, x8
    0002a0e4b 0x29d20
    0002a0e8
    0002a0e8loc_2a0e8:
    0002a0e8str x10, [sp+152]
    0002a0ecstr x6, [sp+144]
    0002a0f0strb w6, [x8]
    0002a0f4mov x0, x8
    0002a0f8bl runtime.add1
    0002a0fcldr x1, [sp+144]
    0002a100ubfm x6, x1, 8, 63
    0002a104ldr x1, [sp+152]
    0002a108sub x10, x1, 8
    0002a10cldr x1, [sp+48]
    0002a110movz x2, 57
    0002a114ldr x3, [sp+128]
    0002a118ldr x4, [sp+80]
    0002a11cmovn x5, 0xfe00000000000000
    0002a120mov x8, x0
    0002a124
    0002a124loc_2a124:
    0002a124subs xzr, x10, 8
    0002a128b.hs 0x2a0e8
    0002a12cb 0x2a064
    0002a130
    0002a130loc_2a130:
    0002a130lslv x2, x1, x4
    0002a134csel x2, x2, xzr, lo
    0002a138orr x1, x1, x2
    0002a13cadd x4, x4, x4
    0002a140
    0002a140loc_2a140:
    0002a140subs xzr, x4, 64
    0002a144b.ls 0x2a130
    0002a148cbz x0, 0x2a174
    0002a14cmovz x2, 57
    0002a150udiv x3, x2, x0
    0002a154madd x4, x3, x0, xzr
    0002a158orr x3, xzr, 1
    0002a15clslv x5, x3, x4
    0002a160subs xzr, x4, 64
    0002a164csel x5, x5, xzr, lo
    0002a168sub x5, x5, 1
    0002a16cand x1, x1, x5
    0002a170b 0x2a040
    0002a174
    0002a174loc_2a174:
    0002a174bl runtime.panicdivide
    0002a178
    0002a178loc_2a178:
    0002a178add x3, x3, 7
    0002a17cmov x1, x2
    0002a180mov x2, x3
    0002a184
    0002a184loc_2a184:
    0002a184str x2, [sp+72]
    0002a188str x1, [sp+168]
    0002a18cldrb w1, [x0]
    0002a190strb w1, [sp+39]
    0002a194bl runtime.add1
    0002a198ldrb w1, [sp+39]
    0002a19cand x2, x1, 127
    0002a1a0ldr x3, [sp+72]
    0002a1a4lslv x2, x2, x3
    0002a1a8subs xzr, x3, 64
    0002a1accsel x2, x2, xzr, lo
    0002a1b0ldr x4, [sp+168]
    0002a1b4orr x2, x4, x2
    0002a1b8tbnz w1, 7, 0x2a178
    0002a1bcb 0x29d7c
    0002a1c0
    0002a1c0loc_2a1c0:
    0002a1c0str x2, [sp+88]
    0002a1c4str x3, [sp+136]
    0002a1c8strb w3, [x1]
    0002a1ccmov x0, x1
    0002a1d0bl runtime.add1
    0002a1d4ldr x1, [sp+88]
    0002a1d8sub x2, x1, 8
    0002a1dcldr x1, [sp+136]
    0002a1e0ubfm x3, x1, 8, 63
    0002a1e4mov x1, x0
    0002a1e8ldr x0, [sp+40]
    0002a1ec
    0002a1ecloc_2a1ec:
    0002a1eccbnz x2, 0x2a1c0
    0002a1f0ldur x29, [sp-8]
    0002a1f4ldr x30, [sp], 224
    0002a1f8ret x30
    0002a1fc
    0002a1fcloc_2a1fc:
    0002a1fcstr x3, [sp+112]
    0002a200ldrb w1, [x0]
    0002a204strb w1, [sp+38]
    0002a208bl runtime.add1
    0002a20cstr x0, [sp+184]
    0002a210ldrb w1, [sp+38]
    0002a214ldr x2, [sp+88]
    0002a218lslv x1, x1, x2
    0002a21cldr x2, [sp+136]
    0002a220orr x1, x2, x1
    0002a224str x1, [sp+136]
    0002a228ldr x0, [sp+192]
    0002a22cstrb w1, [x0]
    0002a230bl runtime.add1
    0002a234ldr x1, [sp+112]
    0002a238add x3, x1, 1
    0002a23cldr x1, [sp+136]
    0002a240ubfm x5, x1, 8, 63
    0002a244ldrb w1, [sp+39]
    0002a248ldr x2, [sp+96]
    0002a24cmov x4, x0
    0002a250ldr x0, [sp+184]
    0002a254
    0002a254loc_2a254:
    0002a254str x5, [sp+136]
    0002a258str x4, [sp+192]
    0002a25csubs xzr, x3, x2, lsr #3
    0002a260b.lo 0x2a1fc
    0002a264and x1, x1, 7
    0002a268cbnz x1, 0x2a274
    0002a26cldr x3, [sp+88]
    0002a270b 0x2a2a4
    0002a274
    0002a274loc_2a274:
    0002a274str x1, [sp+168]
    0002a278ldrb w1, [x0]
    0002a27cstrb w1, [sp+39]
    0002a280bl runtime.add1
    0002a284ldrb w1, [sp+39]
    0002a288ldr x2, [sp+88]
    0002a28clslv x1, x1, x2
    0002a290ldr x3, [sp+136]
    0002a294orr x5, x3, x1
    0002a298ldr x1, [sp+168]
    0002a29cadd x3, x1, x2
    0002a2a0ldr x4, [sp+192]
    0002a2a4
    0002a2a4loc_2a2a4:
    0002a2a4orr x2, xzr, 8
    0002a2a8orr x7, xzr, 1
    0002a2acmov x6, x4
    0002a2b0mov x1, x5
    0002a2b4b 0x29d20
    0002a2b8
    0002a2b8loc_2a2b8:
    0002a2b8stp x0, x1, [sp+8]
    0002a2bcmov x3, x30
    0002a2c0bl runtime.morestack_noctxt.abi0
    0002a2c4ldp x0, x1, [sp+8]
    0002a2c8b 0x29cf0
    0002a2ccudf 0
    00029cf0