Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-45670-32545.so 0.41 stp x29, x30, [sp, #-80]! 0.99 stp x19, x20, [sp, #24] 0.49 stp x21, x22, [sp, #40] 0.41 stp x23, x24, [sp, #56] 0.33 str x25, [sp, #72] 0.74 mov x29, sp mov x19, x0 0.08 ldr w20, [x19, #32] 0.33 asr w21, w20, #0 0.16 ldp x23, x22, [x19] 0.08 ldrb w24, [x19, #40] 0.49 ldrb w25, [x19, #44] 0.25 ldrb w0, [x19, #68] 0.49 ↓ cbnz w0, 320 0.33 38: ldr w0, [x19, #88] 0.58 ↓ cbz w0, 3a8 0.25 uxtb w0, w1 0.25 cmp w0, #0x2c ↓ b.ne 2d0 0.25 add w0, w20, #0x1 0.25 str w0, [x19, #32] 0.49 ldr x0, [x19, #8] 0.16 add x0, x0, #0x1 0.25 str x0, [x19, #8] 0.41 ldr w0, [x19, #32] 0.08 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.33 ↓ b.le 400 0.74 add x20, x19, #0x30 mov x1, x20 0.41 ldr w2, [x1, #8] 0.58 cmp w0, w2 ↓ b.cs 824 0.74 ldr x1, [x1] 0.16 ldrb w1, [x1, w0, uxtw #0] 0.33 cmp w1, #0x20 ↓ b.le 460 0.49 94: ldrsw x0, [x19, #32] 0.16 str x0, [x19, #24] 0.25 ldrb w0, [x19, #68] 0.16 cmp w0, #0x2 ↓ b.eq 4f4 0.25 a8: ldrb w2, [x19, #38] 0.16 ↓ cbz w2, 768 0.41 cmp w1, #0x22 ↓ b.ne 524 0.41 strb wzr, [x19, #44] 0.08 ldr w1, [x19, #32] 0.33 add w1, w1, #0x1 0.41 ldr w2, [x20, #8] 0.08 cmp w1, w2 ↓ b.hi 5ec 0.33 ldr x0, [x20] mov w3, w1 0.33 add x0, x0, x3 0.08 sub w20, w2, w1 0.58 mov x1, #0x3358 // #13144 movk x1, #0xe100, lsl #16 0.49 movk x1, #0xfb4f, lsl #32 0.49 ldr x1, [x1] mov x2, x0 0.58 asr w3, w20, #0 0.16 add x1, x1, #0x8 mov x4, x2 0.25 cmp w3, #0x8 ↓ b.lt 58c 0.16 ldr q16, [x1] 0.58 cmp w3, #0x10 ↓ b.le 250 0.33 sub w1, w3, #0x10 mov w1, w1 0.16 add x2, x2, x1 0.25 movi v17.16b, #0xf 0.33 ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x830 0.82 128: ldr q19, [x4] 0.66 and v20.16b, v19.16b, v17.16b 0.08 tbl v20.16b, {v16.16b}, v20.16b 0.41 sshr v19.16b, v19.16b, #4 0.58 tbl v19.16b, {v18.16b}, v19.16b 0.25 and v19.16b, v20.16b, v19.16b 0.33 umaxp v20.4s, v19.4s, v19.4s 0.08 mov x1, v20.d[0] 0.33 cmp x1, #0x0 ↓ b.eq 244 20.53 cmeq v17.16b, v19.16b, #0 mvn v16.16b, v17.16b 0.16 shrn v18.8b, v16.8h, #4 mov x1, v18.d[0] 0.16 rbit x1, x1 clz x1, x1 0.25 sub x4, x4, x0 add w3, w4, w1, lsr #2 0.25 170: ↓ tbnz w3, #31, 62c 18.80 cmp w3, w20 0.08 ↓ b.cs 824 0.49 ldrb w1, [x0, w3, uxtw #0] 6.18 cmp w1, #0x22 ↓ b.ne 604 2.64 ldr x1, [x19, #8] 0.16 add w2, w3, #0x2 0.16 add x1, x1, w2, sxtw 0.16 str x1, [x19, #8] 0.08 cmp w3, w20 ↓ b.hi 5ec 0.33 str x0, [x19, #152] 0.49 str w3, [x19, #160] 0.25 strb wzr, [x19, #46] 0.33 mov w0, #0x7 // #7 0.33 strb w0, [x19, #40] 0.33 ldr w1, [x19, #32] 0.08 add w1, w1, w3 0.41 add w1, w1, #0x2 0.16 str w1, [x19, #32] 0.66 1c4: ldr w0, [x19, #32] 1.65 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.49 ↓ b.le 684 7.58 add x20, x19, #0x30 mov x1, x20 0.49 ldr w2, [x1, #8] 0.58 cmp w0, w2 ↓ b.cs 824 0.25 ldr x1, [x1] 0.33 ldrb w2, [x1, w0, uxtw #0] 1.40 cmp w2, #0x20 0.08 ↓ b.le 6a4 2.06 1f8: cmp w2, #0x3a ↓ b.ne 740 0.33 ldr w3, [x19, #32] add w3, w3, #0x1 0.25 str w3, [x19, #32] 0.25 ldr x3, [x19, #8] 0.16 add x3, x3, #0x1 0.25 str x3, [x19, #8] 0.08 mov w3, #0x5 // #5 0.49 strb w3, [x19, #40] 0.16 220: mov w20, wzr 224: ↓ cbnz w20, 7f0 0.49 mov w0, #0x1 // #1 0.33 ldr x25, [sp, #72] 0.16 ldp x23, x24, [sp, #56] 0.33 ldp x21, x22, [sp, #40] 0.33 ldp x19, x20, [sp, #24] 0.16 ldp x29, x30, [sp], #80 0.49 ← ret 3.05 244: add x4, x4, #0x10 cmp x4, x2 ↑ b.cc 128 250: sub w3, w20, #0x8 mov w1, w3 add x1, x0, x1 cmp x4, x1 csel x4, x1, x4, hi // hi = pmore ldr x2, [x4] mov v17.d[0], x2 ldr x2, [x1] mov v17.d[1], x2 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b tbl v16.16b, {v16.16b}, v18.16b ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x830 sshr v17.16b, v17.16b, #4 tbl v17.16b, {v18.16b}, v17.16b and v16.16b, v16.16b, v17.16b umaxp v17.4s, v16.4s, v16.4s mov x2, v17.d[0] cmp x2, #0x0 ↓ b.eq 5d8 cmeq v16.16b, v16.16b, #0 mvn v16.16b, v16.16b shrn v16.8b, v16.8h, #4 mov x2, v16.d[0] rbit x2, x2 clz x2, x2 lsr w2, w2, #2 cmp w2, #0x8 ↓ b.ge 5e0 2c4: sub x1, x4, x0 add w3, w1, w2 ↑ b 170 2d0: uxtb w0, w1 cmp w0, #0x7d ↓ b.ne 2f8 2dc: mov x0, x19 mov x1, #0xc558 // #50520 movk x1, #0xa1d5, lsl #16 0.08 movk x1, #0xfb57, lsl #32 0.08 ldr x1, [x1] → blr x1 0.16 ↑ b 220 2f8: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 7c4 304: mov x0, x19 mov x1, #0xc588 // #50568 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 0.08 ldr x1, [x1] → blr x1 0.08 ↑ b 220 320: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 384 uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 358 mov x0, x19 mov x1, #0xc7c8 // #51144 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 220 ↓ b 714 358: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xc810 // #51216 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 224 384: uxtb w1, w1 mov x0, x19 mov x2, #0xc828 // #51240 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 224 3a8: ldrb w0, [x19, #70] ↓ cbz w0, 3d4 uxtb w1, w1 mov x0, x19 mov x2, #0xc5b8 // #50616 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 220 ↓ b 714 3d4: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 400: mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 714 ldr w3, [x19, #32] sub w3, w3, #0x1 str w3, [x19, #32] ldr x3, [x19, #8] sub x3, x3, #0x1 str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 460: mov x0, x19 mov x1, #0xc528 // #50472 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 4d0 mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 714 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 4d0: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 824 ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 4f4: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xc7c8 // #51144 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 220 ↓ b 714 524: cmp w1, #0x7d ↓ b.ne 560 ldrb w3, [x19, #69] ↑ cbnz w3, 2dc mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 560: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 58c: mov w3, w20 add x2, x2, x3 cmp x4, x2 ↓ b.eq 5d8 59c: ldrb w3, [x4] add x5, x1, #0x20 asr w6, w3, #5 mov w7, #0x1 // #1 lsl w3, w7, w3 ldrsb wzr, [x5] ldr w5, [x5, w6, uxtw #2] tst w5, w3 ↓ b.ne 5d0 add x4, x4, #0x1 cmp x4, x2 ↑ b.ne 59c ↓ b 5d8 5d0: sub x3, x4, x0 ↑ b 170 5d8: mov w3, #0xffffffff // #-1 ↑ b 170 5e0: mov x4, x1 sub w2, w2, #0x8 ↑ b 2c4 5ec: mov x0, #0xdb00 // #56064 movk x0, #0xa144, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 604: mov x1, x0 mov w2, w20 mov x0, x19 mov x4, #0xc6d8 // #50904 movk x4, #0xa1d5, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 1c4 ↓ b 714 62c: mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 714 ldr x3, [x19, #8] add w4, w20, #0x1 add x3, x3, w4, sxtw str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 684: mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 714 ↓ b 6e8 6a4: mov x0, x19 mov x1, #0xc528 // #50472 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 71c mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 714 6e8: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 714: mov w20, #0x1 // #1 ↑ b 224 71c: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 824 ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 1f8 740: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 768: cmp w1, #0x5d ↓ b.ne 7a4 ldrb w3, [x19, #69] ↑ cbnz w3, 304 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 7a4: mov x0, x19 mov x2, #0xc5a0 // #50592 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 220 ↑ b 714 7c4: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc4f8 // #50424 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 7f0: cmp w20, #0x1 ↓ b.ne 808 str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 808: mov w0, wzr ldr x25, [sp, #72] ldp x23, x24, [sp, #56] ldp x21, x22, [sp, #40] ldp x19, x20, [sp, #24] ldp x29, x30, [sp], #80 ← ret 824: bl ffffffffff2afc28 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-45670-32753.so Percent sub sp, sp, #0x1b0 stp x19, x20, [sp, #336] 0.09 stp x21, x22, [sp, #352] stp x23, x24, [sp, #368] stp x25, x26, [sp, #384] stp x27, x28, [sp, #400] stp x29, x30, [sp, #416] add x29, sp, #0x1a0 movi v16.16b, #0x0 sub x9, x29, #0x148 sub x10, x29, #0xa8 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] 0.09 bfxil x9, xzr, #0, #6 38: dc zva, x9 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] 0.09 stp q16, q16, [x10, #32] mov x4, #0x3e5 // #997 movk x4, #0x235b, lsl #16 movk x4, #0xffe1, lsl #32 movk x4, #0x68a5, lsl #48 stur x4, [x29, #-88] stur x1, [x29, #-104] stur x2, [x29, #-96] mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 cmp w2, w0 ↓ b.gt 1eac mov x17, #0xfffffffffffffe68 // #-408 str xzr, [x29, x17] cmp w2, #0x55 ↓ b.le 1ec8 mov w0, #0x5555 // #21845 movk w0, #0x1555, lsl #16 0.09 cmp w2, w0 ↓ b.gt 1ed8 0.09 mov x0, #0x3338 // #13112 movk x0, #0xe100, lsl #16 movk x0, #0xfb4f, lsl #32 ldr x21, [x0] mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdb8 // #3512 movk x0, #0xe100, lsl #16 0.09 movk x0, #0xfb4f, lsl #32 ldr x24, [x0] sub w0, w23, #0x1 orr w0, w0, #0xf 0.09 clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x2378 // #9080 movk x0, #0xa1d9, lsl #16 movk x0, #0xfb57, lsl #32 mov x1, #0x67d8 // #26584 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 0.09 ldr x0, [x0, #16] 0.62 ↓ cbz x0, 1f74 0.18 ldr w1, [x0, #8] 0.27 cmp w1, w25 ↓ b.ls 1f74 0.18 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] ↓ cbz x26, 1f74 str xzr, [x0, x1] ldrb w0, [x24, #157] ↓ cbnz w0, 1f10 134: mov x17, #0xfffffffffffffe68 // #-408 str x26, [x29, x17] 13c: ↓ cbz x26, 22e8 add x21, x26, #0x10 ldr w22, [x26, #8] 148: mov x17, #0xfffffffffffffe60 // #-416 str x21, [x29, x17] mov x17, #0xfffffffffffffe74 // #-396 str w22, [x29, x17] ldur x0, [x29, #-104] 0.09 ldur x1, [x29, #-96] mov x2, x21 mov w3, w22 mov x4, #0x7f30 // #32560 movk x4, #0xa1d5, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 cmp w0, w22 ↓ b.hi 1de8 mov x17, #0xfffffffffffffe60 // #-416 str x21, [x29, x17] mov x17, #0xfffffffffffffe74 // #-396 str w0, [x29, x17] 0.09 stur x21, [x29, #-120] stur w0, [x29, #-112] 0.09 ldur w21, [x29, #-112] 0.27 ↓ cbz w21, cd0 tst w20, #0xff ↓ b.ne d08 ldur x1, [x29, #-120] ldur w2, [x29, #-112] mov x17, #0xfffffffffffffe90 // #-368 str xzr, [x29, x17] 0.36 mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] 0.09 mov x17, #0xfffffffffffffea0 // #-352 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea1 // #-351 0.09 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea2 // #-350 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea3 // #-349 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea4 // #-348 0.18 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea5 // #-347 strb wzr, [x29, x17] 0.09 mov x17, #0xfffffffffffffea8 // #-344 str xzr, [x29, x17] sub x0, x29, #0x150 stp xzr, xzr, [x0] str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x170 mov w3, #0x1 // #1 0.09 mov x5, #0xc360 // #50016 movk x5, #0xa1d5, lsl #16 0.09 movk x5, #0xfb57, lsl #32 ldr x5, [x5] 0.45 → blr x5 ↓ b 258 1.07 22c: sub x0, x29, #0x138 mov w1, w2 0.36 mov x2, #0xc540 // #50496 movk x2, #0xa1d5, lsl #16 0.45 movk x2, #0xfb57, lsl #32 0.18 ldr x2, [x2] 0.36 → blr x2 0.18 asr w20, w0, #0 0.62 24c: ↓ cbz w20, c04 0.71 250: tst w20, #0xff ↓ b.eq c20 0.71 258: mov x17, #0xfffffffffffffef3 // #-269 0.62 ldrb w0, [x29, x17] 0.98 ↓ cbnz w0, 198c 0.80 mov w20, wzr 0.80 stp xzr, xzr, [x29, #-160] 0.89 mov x17, #0xfffffffffffffef6 // #-266 0.89 strb wzr, [x29, x17] 0.98 mov x17, #0xfffffffffffffee8 // #-280 0.80 ldr w0, [x29, x17] sxtw x1, w0 1.16 ldur w2, [x29, #-256] 0.09 cmp x1, w2, uxtw 0.89 ↓ b.ge ba8 8.73 cmp w0, w2 ↓ b.cs 1e00 0.62 mov x17, #0xfffffffffffffef8 // #-264 0.53 ldr x1, [x29, x17] 0.71 ldrb w2, [x1, w0, uxtw #0] 1.07 cmp w2, #0x20 ↓ b.le d24 2.05 2a8: mov x17, #0xfffffffffffffee8 // #-280 0.98 ldrsw x0, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 0.89 str x0, [x29, x17] 0.53 mov x17, #0xfffffffffffffef0 // #-272 0.98 ldrb w0, [x29, x17] 0.89 ↓ cbz w0, b84 0.62 cmp w2, #0x2f ↑ b.eq 22c 1.07 cmp w0, #0x1 ↓ b.eq 910 0.80 cmp w0, #0x3 ↓ b.eq 720 0.89 cmp w0, #0x5 ↑ b.ne 22c 0.62 mov x17, #0xfffffffffffffef4 // #-268 0.27 strb wzr, [x29, x17] 0.27 cmp w2, #0x22 ↓ b.eq 564 0.18 2f4: cmp w2, #0x7b ↓ b.eq 4b0 0.18 cmp w2, #0x5b ↓ b.eq 404 0.53 sub w0, w2, #0x30 mov w1, #0x2d // #45 0.18 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore 0.18 ↓ b.eq 1450 3.65 cmp w2, #0x66 ↓ b.ne 3c8 0.18 mov x17, #0xfffffffffffffee8 // #-280 0.36 ldr w0, [x29, x17] ldur w20, [x29, #-256] 0.09 cmp w0, w20 ↓ b.hi 1de8 0.18 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w2, w0 0.09 add x22, x1, x2 0.09 sub w20, w20, w0 mov x0, x22 0.09 mov w1, w20 mov x2, #0x55ae // #21934 movk x2, #0xed3a, lsl #16 movk x2, #0xfb57, lsl #32 mov w3, #0x5 // #5 mov x4, #0xc978 // #51576 0.18 movk x4, #0xa1d5, lsl #16 0.18 movk x4, #0xfb57, lsl #32 ldr x4, [x4] 0.18 → blr x4 0.18 ↓ cbz w0, 18a4 0.53 cmp w20, #0x5 ↓ b.cc 1de8 0.27 stur x22, [x29, #-160] 0.18 mov w1, #0x5 // #5 0.27 stur w1, [x29, #-152] 0.09 mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] 0.18 mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w1, [x29, x17] 0.27 add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 0.09 str w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffed0 // #-304 0.09 ldr x1, [x29, x17] add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] 0.09 mov w20, #0x1 // #1 3c4: ↓ b 690 0.18 3c8: cmp w2, #0x74 ↓ b.ne 126c 0.18 mov x1, #0x5612 // #22034 movk x1, #0xed3a, lsl #16 movk x1, #0xfb57, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 mov w3, #0x9 // #9 0.09 mov x4, #0xc780 // #51072 movk x4, #0xa1d5, lsl #16 0.09 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 0.18 asr w20, w0, #0 0.18 ↓ b 690 404: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1b50 ldur w0, [x29, #-224] cmp w0, #0x40 0.09 ↓ b.ge 1430 0.09 ldur x0, [x29, #-232] lsl x0, x0, #1 stur x0, [x29, #-232] 42c: ldur w0, [x29, #-224] add w0, w0, #0x1 stur w0, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] mov w1, w0 add x1, x1, #0x1 ldur w2, [x29, #-256] cmp x1, x2 ↓ b.hi 1de8 mov x17, #0xfffffffffffffef8 // #-264 0.09 ldr x1, [x29, x17] mov w0, w0 add x0, x1, x0 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] 0.18 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 0.09 ldr x0, [x29, x17] add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x3 // #3 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb wzr, [x29, x17] ↓ b 55c 4b0: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1b24 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1410 ldur x0, [x29, #-232] lsl x0, x0, #1 orr x0, x0, #0x1 stur x0, [x29, #-232] 4dc: ldur w1, [x29, #-224] add w1, w1, #0x1 stur w1, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] mov w2, w1 add x2, x2, #0x1 ldur w0, [x29, #-256] cmp x2, x0 ↓ b.hi 1de8 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w1, w1 add x1, x2, x1 stur x1, [x29, #-160] mov w1, #0x1 // #1 stur w1, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w1, #0x1 // #1 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb w1, [x29, x17] 55c: mov w20, #0x1 // #1 ↓ b 690 0.09 564: mov x17, #0xfffffffffffffee8 // #-280 0.18 ldr w1, [x29, x17] add w1, w1, #0x1 ldur w2, [x29, #-256] 0.18 cmp w1, w2 ↓ b.hi 1de8 0.18 mov x17, #0xfffffffffffffef8 // #-264 0.18 ldr x0, [x29, x17] mov w3, w1 0.09 add x0, x0, x3 0.18 sub w22, w2, w1 0.09 mov x1, #0x3358 // #13144 0.18 movk x1, #0xe100, lsl #16 0.09 movk x1, #0xfb4f, lsl #32 0.27 ldr x1, [x1] mov x2, x0 0.09 asr w3, w22, #0 add x1, x1, #0x8 0.09 mov x4, x2 cmp w3, #0x8 ↓ b.lt 135c 0.18 ldr q16, [x1] 0.18 cmp w3, #0x10 ↓ b.le 6a0 0.09 sub w1, w3, #0x10 0.09 mov w1, w1 0.09 add x2, x2, x1 0.18 5d0: ldr q17, [x4] 0.80 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b 0.18 tbl v18.16b, {v16.16b}, v18.16b 0.18 sshr v17.16b, v17.16b, #4 0.18 ldr q19, instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]+0xffffffffff29c3e8> brk #0xf000 1e08: mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] 0.09 ↓ cbz x1, 1e68 mov x17, #0xfffffffffffffe74 // #-396 ldr w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffe60 // #-416 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0xa125, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0xe100, lsl #16 0.09 movk x0, #0xfb4f, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] 0.53 mov w2, wzr mov x3, #0x2348 // #9032 movk x3, #0xa1d9, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 1e68: mov x16, #0x3e5 // #997 movk x16, #0x235b, lsl #16 0.09 movk x16, #0xffe1, lsl #32 movk x16, #0x68a5, lsl #48 ldur x17, [x29, #-88] 0.09 cmp x16, x17 ↓ b.eq 1e88 bl ffffffffff2eca90 ,bool)[OptimizedTier1]+0xffffffffff2eca10> 1e88: sub sp, x29, #0x1a0 ldp x29, x30, [sp, #416] ldp x27, x28, [sp, #400] ldp x25, x26, [sp, #384] ldp x23, x24, [sp, #368] ldp x21, x22, [sp, #352] ldp x19, x20, [sp, #336] add sp, sp, #0x1b0 ← ret 1eac: mov w0, w2 mov x1, #0x7eb8 // #32440 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 1ec8: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 1ed8: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7ed0 // #32464 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb1e0 // #45536 movk x0, #0xa135, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2ecb10 ,bool)[OptimizedTier1]+0xffffffffff2eca90> mov x26, x0 ↑ b 13c 1f10: mov x0, x26 mov x1, #0xde30 // #56880 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xde30 // #56880 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w22 mov w2, w23 mov x0, x24 mov w4, w25 mov x5, #0x7fa8 // #32680 movk x5, #0xa1f3, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 1f74: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 21b8 add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 21ac ldr x26, [x0, #8] mov x0, #0xaa10 // #43536 movk x0, #0xa202, lsl #16 movk x0, #0xfb57, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xa125, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0xa002, lsl #16 movk x0, #0xfb57, lsl #32 ldrb w0, [x0] ↓ cbz w0, 1fd4 bl fffffffffff83028 ,bool)[OptimizedTier1]+0xfffffffffff82fa8> asr w21, w0, #0 ↓ b 2048 1fd4: mov x0, #0xaa60 // #43616 movk x0, #0xa202, lsl #16 movk x0, #0xfb57, lsl #32 mov x1, #0x7fc0 // #32704 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0xaa60 // #43616 movk x0, #0xa202, lsl #16 movk x0, #0xfb57, lsl #32 mov x1, #0x7fc0 // #32704 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 2044 mov x0, #0x7fd8 // #32728 movk x0, #0xa1f3, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2048 2044: asr w21, w23, #16 2048: mov x0, #0xa868 // #43112 movk x0, #0xa202, lsl #16 movk x0, #0xfb57, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xa125, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0xa002, lsl #16 movk x0, #0xfb57, lsl #32 ldr w0, [x0] ↓ cbz w0, 22f4 udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 2120 208c: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 22fc add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0xc000 // #49152 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x27, #8] ldr w1, [x27, #16] sub w1, w1, #0x1 ldr w2, [x0, #8] cmp w2, w1 ↓ b.ls 20ec add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 20ec: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0xa125, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 2130 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 211c mov w21, wzr 211c: add w23, w23, #0x1 2120: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 208c ↓ b 2138 2130: mov x26, x28 ↓ b 213c 2138: mov x26, xzr 213c: ↓ cbz x26, 21ac ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xde30 // #56880 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde30 // #56880 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w21 mov w2, w23 mov x0, x24 mov w4, w25 mov x5, #0x7fa8 // #32680 movk x5, #0xa1f3, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 21ac: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 21dc 21b8: mov w0, w23 mov x1, #0x4c40 // #19520 movk x1, #0xec60, lsl #16 movk x1, #0xfb57, lsl #32 mov x2, #0x5e90 // #24208 movk x2, #0xa189, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 21dc: cmp w23, #0x800 ↓ b.ge 2200 sxtw x1, w23 mov x0, #0xb1e0 // #45536 movk x0, #0xa135, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2ecb10 ,bool)[OptimizedTier1]+0xffffffffff2eca90> mov x26, x0 ↓ b 2220 2200: mov w0, w23 mov w1, wzr mov x2, #0x7e28 // #32296 movk x2, #0xa1c8, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 2220: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xde30 // #56880 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde30 // #56880 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w21 mov w2, w23 mov x0, x24 mov w4, #0xffffffff // #-1 mov x5, #0x7fa8 // #32680 movk x5, #0xa1f3, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde30 // #56880 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 ldr x0, [x22, #16] ldr w0, [x0, #8] mov w1, #0x1 // #1 cmp w0, w25 cinc w5, w1, gt mov x0, x24 mov w1, w21 mov w2, w23 mov w4, #0xffffffff // #-1 mov x6, #0xc018 // #49176 movk x6, #0xa1f3, lsl #16 movk x6, #0xfb57, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 22e8: mov x21, xzr mov w22, wzr ↑ b 148 22f4: bl ffffffffff29c480 ,bool)[OptimizedTier1]+0xffffffffff29c400> brk #0xf000 22fc: bl ffffffffff29c468 ,bool)[OptimizedTier1]+0xffffffffff29c3e8> brk #0xf000 sub sp, sp, #0x60 stp x19, x20, [sp] stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] stp x29, x30, [sp, #80] mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] ↓ cbz x1, 2380 mov x17, #0xfffffffffffffe74 // #-396 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe60 // #-416 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0xa125, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0xe100, lsl #16 movk x0, #0xfb4f, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x2348 // #9032 movk x3, #0xa1d9, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 2380: ldp x29, x30, [sp, #80] ldp x27, x28, [sp, #64] ldp x25, x26, [sp, #48] ldp x23, x24, [sp, #32] ldp x21, x22, [sp, #16] ldp x19, x20, [sp] add sp, sp, #0x60 ← ret Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-45670-32812.so Percent stp x19, x20, [sp, #-80]! stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] sub sp, sp, #0x350 stp x29, x30, [sp] mov x29, sp movi v16.16b, #0x0 add x9, x29, #0x118 add x10, x29, #0x310 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 38: dc zva, x9 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x19, x0 mov x0, #0xa008 // #40968 movk x0, #0xa136, lsl #16 movk x0, #0xfb57, lsl #32 mov x1, #0x67d8 // #26584 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 15c8 80: ldr x2, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xa19e, lsl #16 movk x1, #0xfb57, lsl #32 cmp x2, x1 ↓ b.ne 16bc ldrb w2, [x21, #43] ↓ cbz w2, 1604 ldr w22, [x21, #24] neg w2, w22 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 add w2, w2, w1 sxtw x2, w2 ↓ tbnz x2, #63, 1620 str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 16f0 ↓ tbnz w22, #31, 1708 ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 1758 ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 17c0 e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 17e8 f4: ldr x22, [x20, #16] ↓ cbz x22, 17f0 ldr x0, [x22, #16] ↓ cbz x0, 185c 104: ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xa19e, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 187c ldrb w20, [x21, #41] 120: ↓ cbz w20, 1898 add x14, x22, #0x10 mov x15, x21 bl fffffffffe054ed4 ldr x20, [x22, #24] ↓ cbz x20, 18e8 ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 1920 ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 2a0c add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0xa125, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 str wzr, [x20, #16] 174: str xzr, [x22, #8] str wzr, [x22, #52] str xzr, [x22, #32] stp xzr, xzr, [x22, #64] strb wzr, [x22, #56] sturh wzr, [x22, #57] str wzr, [x22, #40] stp xzr, xzr, [x22, #80] str xzr, [x22, #96] strh wzr, [x22, #104] strb wzr, [x22, #106] strb wzr, [x22, #59] 1a4: ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1930 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 194c ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 196c 1dc: add x20, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x20] ↓ cbz x0, 228 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 198c add x1, x0, #0x10 ldr w2, [x0, #8] 208: ldp w0, w3, [x20, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2a0c add x1, x1, x0 asr w2, w3, #0 228: ldr w0, [x22, #40] ↓ tbz w0, #31, 24c ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2a94 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 24c: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2a94 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] 268: ldr w2, [x22, #40] and w2, w2, #0x7fffffff str w2, [x22, #40] add w2, w2, #0x1 str w2, [x22, #40] mov w2, #0x1 // #1 strb w2, [x22, #58] mov x20, #0xcb44 // #52036 movk x20, #0xec61, lsl #16 movk x20, #0xfb57, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] cmp w2, w3 ↓ b.ge 19a8 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #824] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0xe100, lsl #16 movk x2, #0xfb4f, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0x73e8 // #29672 movk x3, #0xa1d7, lsl #16 movk x3, #0xfb57, lsl #32 cmp x2, x3 ↓ b.ne 19d0 ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7d08 // #32008 movk x3, #0xa1d5, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #824] cmn w4, #0x1 ↓ b.ne 19ec ldr w0, [x22, #124] ↓ tbz w0, #1, 1a14 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1a98 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 1ac0 338: add x23, x22, #0x40 mov x24, xzr mov w25, wzr ldr x0, [x23] ↓ cbz x0, 384 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 1ae0 add x24, x0, #0x10 ldr w25, [x0, #8] 364: ldp w2, w5, [x23, #8] and w2, w2, #0x7fffffff mov w2, w2 add x4, x2, w5, uxtw cmp x4, w25, uxtw ↓ b.hi 2a0c add x24, x24, x2 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 1afc 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2a94 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 2a0c mov w5, w2 add x23, x24, x5 sub w3, w25, w2 str x20, [x29, #816] mov x2, x20 str x23, [x29, #808] str x2, [x29, #800] str x23, [x29, #792] mov x0, x20 mov x2, x23 add x5, x29, #0x318 add x4, x29, #0x320 mov w1, #0x7 // #7 mov x6, #0x78e8 // #30952 movk x6, #0xa125, lsl #16 movk x6, #0xfb57, lsl #32 ldr x6, [x6] → blr x6 ldr w1, [x29, #792] sub w1, w1, w23 str xzr, [x29, #816] str xzr, [x29, #808] ldr w2, [x22, #52] add w23, w2, w1 str w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2a94 mov w1, #0x22 // #34 strb w1, [x24, w23, uxtw #0] ldr w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2a94 mov w1, #0x3a // #58 strb w1, [x24, w23, uxtw #0] ldr w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2a94 mov w1, #0x5b // #91 strb w1, [x24, w23, uxtw #0] 468: ldr w0, [x22, #40] and w0, w0, #0x7fffffff str w0, [x22, #40] add w0, w0, #0x1 str w0, [x22, #40] mov w0, #0x3 // #3 strb w0, [x22, #58] ldr x19, [x19, #8] ldr w20, [x19, #20] mov w23, wzr ↓ b 1028 494: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6a90 // #27280 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↓ b 1154 4b4: mov x1, x28 ldr w2, [x29, #740] mov x0, x22 mov x4, #0xcac8 // #51912 movk x4, #0xa1d5, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 ↓ b c94 0.52 4d8: ldapur x5, [x5, #24] ↓ cbz x5, 2204 ldr w2, [x29, #460] ↓ b e38 4e8: ldr x7, [x29, #176] 4ec: ldapur x5, [x5, #24] ↓ cbz x5, 2284 ldr w2, [x29, #460] 4f8: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 4e8 str x5, [x29, #120] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xa173, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 220c ldr x4, [x29, #128] ↓ cbz x6, 2244 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xa002, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 2250 ldr x7, [x29, #176] cmp x7, x6 cset x8, eq // eq = none 550: ↓ cbz w8, 227c ↓ b e78 558: mov x28, x26 ldr x2, [x29, #624] 0.10 str x2, [x29, #112] mov x3, x2 ↓ cbz x3, 5a4 mov x0, #0xb1e0 // #45536 movk x0, #0xa135, lsl #16 movk x0, #0xfb57, lsl #32 ldr x1, [x3] cmp x1, x0 ↓ b.eq 5a4 mov x1, x2 mov x3, #0x5908 // #22792 movk x3, #0xa125, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 mov x3, x0 ldr x2, [x29, #112] 5a4: str x3, [x29, #440] ldrb w0, [x28, #278] ↓ cbnz w0, 2388 ldr x0, [x28, #200] 0.10 ldrb w0, [x0, #18] 0.31 ↓ cbz w0, 88c ldr x0, [x29, #440] ↓ cbz x0, 88c ldr x26, [x28, #184] ldr x0, [x29, #440] ldrsb wzr, [x26] mov x1, #0x6670 // #26224 movk x1, #0xa156, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 mov x1, x0 str x1, [x29, #104] mov x0, #0x25a8 // #9640 movk x0, #0xec60, lsl #16 movk x0, #0xfb57, lsl #32 cmp x1, x0 ↓ b.eq 2648 ldapur x2, [x26, #16] ↓ cbz x2, 61c ldr x0, [x2, #192] cmp x0, x1 mov x1, x2 ↓ b.eq 78c ldr x1, [x29, #104] 61c: mov x2, xzr ldapurb w0, [x26, #158] ↓ cbz w0, 778 ldr x2, [x26, #8] ↓ cbz x2, 23a4 630: str x2, [x29, #88] ldr x3, [x2, #8] str x3, [x29, #80] mov x0, #0x3428 // #13352 movk x0, #0xe100, lsl #16 movk x0, #0xfb4f, lsl #32 ldr x4, [x0] ↓ cbz x4, 23cc 650: ldr x3, [x29, #80] str x3, [x29, #48] mov x5, x1 stp x4, x5, [x29, #56] ldrsb wzr, [x3] ldapur x6, [x3, #8] str x6, [x29, #40] ldr x0, [x6, #8] ldrb w7, [x3, #25] ↓ cbz w7, 243c mov x0, x5 bl ffffffffff2e6d60 ↓ cbz w0, 245c 684: asr w2, w0, #0 688: str w2, [x29, #276] ldr x3, [x29, #40] ldr x4, [x3, #8] str x4, [x29, #32] ldr x0, [x3, #16] ldr x1, [x3, #40] mov w5, w2 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 ldr w5, [x0, #8] mul x1, x1, x5 lsr x1, x1, #32 ldr w5, [x0, #8] cmp w1, w5 ↓ b.cs 2a94 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x5, [x0] ↓ cbz x5, 2480 ↓ cbz x4, 808 ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xa173, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 808 6f8: ldr w0, [x5, #32] cmp w2, w0 ↓ b.ne 7e8 str x5, [x29, #24] ldr x6, [x5, #8] ↓ cbz x6, 2478 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xa002, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 2488 ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 734: ↓ cbz w8, 24b0 738: ldr x5, [x29, #24] ldr x1, [x5, #16] str x1, [x29, #264] 744: ldr x2, [x29, #264] str xzr, [x29, #264] ldrb w0, [x2, #32] ↓ cbz w0, 2598 ldr x0, [x2, #16] ↓ cbnz x0, 29a8 ldr x2, [x2, #8] 760: ↓ cbz x2, 2604 add x0, x2, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 25c0 mov x1, x7 778: ↓ cbz x2, 25e4 mov x1, x2 add x14, x26, #0x10 mov x15, x1 bl fffffffffe054ed4 78c: mov x26, x1 add x0, x26, #0x11a ldaprb w0, [x0] ↓ cbz w0, 260c 79c: ldr x0, [x26, #248] ↓ cbnz x0, 2640 7a4: mov w0, #0x1 // #1 7a8: ldr x2, [x29, #112] ↓ cbz w0, 88c ldr x0, [x26] mov x1, #0x11b0 // #4528 movk x1, #0xa1eb, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.eq 868 mov x0, x26 mov x1, x22 ldr x2, [x29, #440] ldr x3, [x26] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↓ b 91c 7e8: ldapur x5, [x5, #24] ↓ cbz x5, 24b8 ldr w2, [x29, #276] ↑ b 6f8 7f8: ldr x7, [x29, #104] 7fc: ldapur x5, [x5, #24] ↓ cbz x5, 2538 ldr w2, [x29, #276] 808: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 7f8 str x5, [x29, #24] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xa173, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 24c0 ldr x4, [x29, #32] ↓ cbz x6, 24f8 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xa002, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 2504 ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 860: ↓ cbz w8, 2530 ↑ b 738 868: mov x0, x26 mov x1, x22 ldr x2, [x29, #440] mov x3, #0x3a00 // #14848 movk x3, #0xa1da, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 ↓ b 91c 0.10 88c: movi v16.16b, #0x0 str xzr, [x29, #280] 0.10 stp q16, q16, [x29, #288] stp q16, q16, [x29, #320] 0.10 stp q16, q16, [x29, #352] stp q16, q16, [x29, #384] 0.10 str q16, [x29, #416] str xzr, [x29, #432] 0.31 str x28, [x29, #384] ldr x0, [x28, #208] str x0, [x29, #376] 0.41 ldr x0, [x29, #376] 0.10 ldr x0, [x0, #200] 0.62 str x0, [x29, #424] strb wzr, [x29, #358] strb wzr, [x29, #359] 0.10 ldr x26, [x28, #184] 0.21 ldr w0, [x26, #140] ↓ cbnz w0, 2654 0.10 8d8: ldr x0, [x28, #344] 0.10 ldr x3, [x28, #184] 0.10 add x2, x29, #0x1b8 add x4, x29, #0x118 mov x1, x22 mov x5, #0xfd80 // #64896 movk x5, #0xa1dc, lsl #16 0.31 movk x5, #0xfb57, lsl #32 ldr x5, [x5] ldr wzr, [x0] 0.10 → blr x5 0.10 904: mov x0, x22 0.10 mov x1, #0x68c8 // #26824 0.10 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] 0.21 → blr x1 91c: str xzr, [x29, #440] 0.21 mov w26, w27 ↓ b 9b8 928: add x0, x29, #0x1d0 movi v16.16b, #0x0 stp q16, q16, [x0] stp q16, q16, [x0, #32] stp q16, q16, [x0, #64] stp q16, q16, [x0, #96] stp q16, q16, [x0, #128] str x26, [x29, #568] ldr x0, [x26, #208] str x0, [x29, #560] ldr x0, [x29, #560] ldr x0, [x0, #200] str x0, [x29, #608] strb wzr, [x29, #542] strb wzr, [x29, #543] ldr x0, [x26, #184] ldr w1, [x0, #140] ↓ cbnz w1, 26bc 970: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x270 add x4, x29, #0x1d0 mov x1, x22 mov x5, #0xfd80 // #64896 movk x5, #0xa1dc, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 99c: mov x0, x22 mov x1, #0x68c8 // #26824 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 mov w26, w27 0.31 9b8: ldr w1, [x25, #68] 0.31 cmp w24, w1 ↓ b.ne 2a24 0.31 ldr w1, [x25, #56] cmp w26, w1 ↓ b.cs fd0 0.31 9d0: ldr x1, [x25, #16] add w2, w26, #0x1 asr w27, w2, #0 0.10 ldr w2, [x1, #8] 1.14 cmp w26, w2 ↓ b.cs 2a94 0.31 mov w2, #0x18 // #24 mov x0, #0x10 // #16 0.10 umaddl x2, w26, w2, x0 0.10 add x1, x1, x2 ldr w2, [x1, #20] 0.10 cmn w2, #0x1 ↓ b.lt 26dc 0.41 ldp x2, x26, [x1] ↓ cbz x2, 291c add x28, x2, #0xc 0.10 ldr w3, [x2, #8] 1.24 str w3, [x29, #740] mov w1, #0x21aa // #8618 0.10 movk w1, #0x9ef, lsl #16 0.10 cmp w3, w1 ↓ b.gt 2940 0.41 add x1, x22, #0x70 0.10 ldr x0, [x1] 0.21 ↓ cbz w3, 1d90 0.10 str x28, [x29, #728] mov x1, x28 ↓ cbnz x0, a50 0.10 mov x0, #0x2e08 // #11784 0.21 movk x0, #0xe100, lsl #16 0.31 movk x0, #0xfb4f, lsl #32 0.41 ldr x0, [x0] 0.10 a50: ldr x2, [x0] 0.10 mov x4, #0x73e8 // #29672 movk x4, #0xa1d7, lsl #16 movk x4, #0xfb57, lsl #32 0.10 cmp x2, x4 ↓ b.ne 1da0 0.10 ldr x0, [x0, #8] 0.21 ldrsb wzr, [x0] 0.21 mov w2, w3 0.21 mov x4, #0x7d08 // #32008 movk x4, #0xa1d5, lsl #16 0.10 movk x4, #0xfb57, lsl #32 0.10 ldr x4, [x4] → blr x4 0.10 asr w3, w0, #0 a8c: str xzr, [x29, #728] 0.10 cmn w3, #0x1 ↑ b.ne 4b4 ldr w0, [x22, #124] ↓ tbz w0, #1, 1dbc aa0: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1df0 mov w0, #0x3 // #3 ldr w2, [x29, #740] mul w0, w2, w0 add w0, w0, #0x4 ldr w1, [x22, #76] ldr w3, [x22, #52] 0.10 sub w1, w1, w3 0.21 cmp w1, w0 ↓ b.ge b38 ldr w1, [x22, #76] 0.10 ↓ cbnz w1, 1f20 0.10 cmp w0, #0x100 ↓ b.gt 1e14 0.10 mov w1, #0x100 // #256 0.10 ae0: ldr x0, [x22, #16] 0.21 ↓ cbz x0, 1ed0 0.31 ldr x3, [x22, #24] str x3, [x29, #200] 0.10 ldrsb wzr, [x3] ldr x0, [x3, #8] 0.10 ldr w0, [x0, #8] ldr w4, [x3, #16] 0.10 sub w0, w0, w4 0.10 cmp w0, w1 ↓ b.lt 1e1c 0.10 b0c: ldr x15, [x3, #8] 0.21 ldr w0, [x3, #16] 0.10 ↓ cbz x15, 1ebc 0.10 ldr w14, [x15, #8] cmp w14, w0 0.10 ↓ b.cc 2a0c 0.10 ldr w14, [x15, #8] sub w1, w14, w0 0.31 b2c: add x14, x22, #0x40 0.21 bl fffffffffe054ed4 stp w0, w1, [x22, #72] 0.21 b38: add x1, x22, #0x40 str x1, [x29, #184] 0.62 mov x3, xzr mov w4, wzr ldr x0, [x1] 0.21 ↓ cbz x0, b8c ldr x3, [x0] 0.31 ldr w4, [x3] 0.41 tst w4, #0x80000000 0.31 ↓ b.eq 2024 0.62 add x3, x0, #0x10 0.10 ldr w4, [x0, #8] b68: ldr x1, [x29, #184] ldp w5, w1, [x1, #8] and w5, w5, #0x7fffffff mov w5, w5 0.10 add x0, x5, w1, uxtw cmp x0, w4, uxtw 0.21 ↓ b.hi 2a0c 0.83 add x3, x3, x5 0.10 asr w4, w1, #0 0.21 b8c: ldr w5, [x22, #40] 0.21 ↓ tbz w5, #31, bb0 0.10 ldr w6, [x22, #52] add w5, w6, #0x1 0.10 str w5, [x22, #52] 0.41 cmp w6, w4 ↓ b.cs 2a94 0.31 mov w5, #0x2c // #44 strb w5, [x3, w6, uxtw #0] 0.10 bb0: ldr w6, [x22, #52] 0.21 add w5, w6, #0x1 0.21 str w5, [x22, #52] 0.10 cmp w6, w4 0.31 ↓ b.cs 2a94 0.41 mov w5, #0x22 // #34 strb w5, [x3, w6, uxtw #0] 0.10 ldr w5, [x22, #52] 0.62 cmp w5, w4 ↓ b.hi 2a0c 0.10 mov w1, w5 str x3, [x29, #192] 0.10 add x6, x3, x1 str w4, [x29, #668] sub w7, w4, w5 0.10 str x28, [x29, #656] 0.10 mov x5, x28 0.21 str x6, [x29, #648] str x6, [x29, #208] 0.10 str x5, [x29, #640] 0.10 str x6, [x29, #632] ldr w2, [x29, #740] ↓ cbz w2, c3c 0.10 mov x0, x28 0.10 mov x2, x6 0.10 add x5, x29, #0x278 0.41 add x4, x29, #0x280 ldr w1, [x29, #740] mov w3, w7 0.10 mov x7, #0x78e8 // #30952 0.10 movk x7, #0xa125, lsl #16 movk x7, #0xfb57, lsl #32 0.10 ldr x7, [x7] 0.10 → blr x7 0.52 ldr x6, [x29, #208] 0.10 c3c: ldr w1, [x29, #632] 0.10 sub w1, w1, w6 0.10 str xzr, [x29, #656] str xzr, [x29, #648] ldr w2, [x22, #52] add w6, w2, w1 0.10 str w6, [x22, #52] 0.21 add w1, w6, #0x1 str w1, [x22, #52] 0.21 ldr w4, [x29, #668] 0.52 cmp w6, w4 0.10 ↓ b.cs 2a94 0.31 mov w1, #0x22 // #34 0.10 ldr x3, [x29, #192] 0.10 strb w1, [x3, w6, uxtw #0] 0.21 ldr w6, [x22, #52] 0.52 add w1, w6, #0x1 1.04 str w1, [x22, #52] cmp w6, w4 ↓ b.cs 2a94 0.62 mov w1, #0x3a // #58 strb w1, [x3, w6, uxtw #0] 0.41 c94: ldr w0, [x22, #40] 0.10 and w0, w0, #0x7fffffff str w0, [x22, #40] 0.21 mov w0, #0x500 // #1280 sturh w0, [x22, #57] str x26, [x29, #624] 0.31 mov x0, #0x33d8 // #13272 0.21 movk x0, #0xe100, lsl #16 movk x0, #0xfb4f, lsl #32 0.10 ldr x26, [x0] 0.83 ↓ cbz x26, 2050 cc0: ldapurb w0, [x26, #159] 2.39 ↓ cbz w0, 207c cc8: ldr x1, [x26, #24] ↓ cbz x1, 2098 0.10 cd0: mov x26, x1 0.10 ↓ cbz x26, cf0 mov x0, #0x5440 // #21568 0.10 movk x0, #0xa1da, lsl #16 movk x0, #0xfb57, lsl #32 ldr x2, [x26] 0.41 cmp x2, x0 ↓ b.ne 20e0 0.21 cf0: ldrb w0, [x26, #278] ↓ cbnz w0, 20f8 0.31 ldr x0, [x26, #200] ldrb w0, [x0, #18] 0.52 ↑ cbz w0, 928 0.41 ldr x0, [x29, #624] ↑ cbz x0, 928 0.10 ldr x28, [x26, #184] ldr x0, [x29, #624] ldrsb wzr, [x28] mov x1, #0x6670 // #26224 0.10 movk x1, #0xa156, lsl #16 movk x1, #0xfb57, lsl #32 0.10 ldr x1, [x1] 0.31 → blr x1 mov x1, x0 str x1, [x29, #176] 0.31 mov x0, #0x25a8 // #9640 0.10 movk x0, #0xec60, lsl #16 movk x0, #0xfb57, lsl #32 0.21 cmp x1, x0 ↑ b.eq 928 0.52 ldapur x26, [x28, #16] ↓ cbz x26, d60 ldr x0, [x26, #192] cmp x0, x1 0.10 ldr x1, [x29, #176] 1.66 ↓ b.eq ec4 0.31 d60: mov x26, xzr 0.10 ldapurb w0, [x28, #158] ↓ cbz w0, 21a0 0.10 ldr x26, [x28, #8] ↓ cbz x26, 2114 0.10 d74: ldr x2, [x26, #8] 0.21 str x2, [x29, #168] 0.52 mov x0, #0x3428 // #13352 0.10 movk x0, #0xe100, lsl #16 movk x0, #0xfb4f, lsl #32 ldr x3, [x0] 0.31 ↓ cbz x3, 2138 0.10 d90: ldr x2, [x29, #168] 0.21 str x2, [x29, #144] 0.10 mov x4, x1 0.10 stp x3, x4, [x29, #152] 0.10 ldrsb wzr, [x2] 1.35 ldapur x5, [x2, #8] str x5, [x29, #136] 0.10 ldr x0, [x5, #8] 3.53 ldrb w6, [x2, #25] ↓ cbz w6, 2180 0.10 mov x0, x4 0.31 bl ffffffffff2e6d60 0.31 ↓ cbz w0, 21a8 0.21 dc4: asr w2, w0, #0 dc8: str w2, [x29, #460] ldr x3, [x29, #136] 0.52 ldr x4, [x3, #8] 1.14 str x4, [x29, #128] ldr x0, [x3, #16] 0.21 ldr x1, [x3, #40] 0.10 mov w5, w2 mul x1, x1, x5 0.10 lsr x1, x1, #32 add x1, x1, #0x1 0.21 ldr w5, [x0, #8] 0.83 mul x1, x1, x5 0.62 lsr x1, x1, #32 0.10 ldr w5, [x0, #8] 0.21 cmp w1, w5 ↓ b.cs 2a94 3.22 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 0.10 add x0, x0, x1 ldapr x5, [x0] 3.42 ↓ cbz x5, 21cc 0.93 ↑ cbz x4, 4f8 ldr x0, [x4] mov x1, #0xba48 // #47688 0.31 movk x1, #0xa173, lsl #16 0.10 movk x1, #0xfb57, lsl #32 0.10 cmp x0, x1 ↑ b.ne 4f8 0.21 e38: ldr w0, [x5, #32] 6.02 cmp w2, w0 0.10 ↑ b.ne 4d8 0.62 str x5, [x29, #120] 0.41 ldr x6, [x5, #8] 0.21 ↓ cbz x6, 21c4 0.10 ldr x0, [x6] 0.83 mov x1, #0xa290 // #41616 movk x1, #0xa002, lsl #16 0.31 movk x1, #0xfb57, lsl #32 0.31 cmp x0, x1 ↓ b.ne 21d4 0.31 ldr x7, [x29, #176] cmp x7, x6 cset x8, eq // eq = none e74: ↓ cbz w8, 21fc e78: ldr x5, [x29, #120] 0.10 ldr x1, [x5, #16] str x1, [x29, #448] 0.62 e84: ldr x2, [x29, #448] 1.56 str xzr, [x29, #448] 0.21 ldrb w0, [x2, #32] 7.37 ↓ cbz w0, 22e4 0.41 ldr x0, [x2, #16] 0.41 ↓ cbnz x0, 2990 0.73 ldr x26, [x2, #8] ea0: ↓ cbz x26, eb4 0.73 add x0, x26, #0x119 ldaprb w0, [x0] 2.59 cmp w0, #0x2 0.10 ↓ b.ne 230c 0.52 eb4: ↓ cbz x26, 232c add x14, x28, #0x10 mov x15, x26 0.10 bl fffffffffe054ed4 ec4: add x0, x26, #0x11a ldaprb w0, [x0] 0.21 ↓ cbz w0, 234c 0.10 ed0: ldr x0, [x26, #248] 0.10 ↓ cbnz x0, 2380 0.21 ed8: ldr x0, [x26] 0.10 mov x1, #0x11b0 // #4528 0.31 movk x1, #0xa1eb, lsl #16 0.21 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↑ b.eq 558 mov x0, x26 0.10 mov x1, x22 ldr x2, [x29, #624] ldr x3, [x26] ldr x3, [x3, #64] 2.18 ldr x3, [x3, #56] 2.39 → blr x3 mov w26, w27 ↑ b 9b8 f14: ldr w0, [x22, #76] ↓ cbnz w0, 1c78 ldr x0, [x22, #16] ↓ cbz x0, 1c2c ldr x24, [x22, #24] ldr x0, [x24, #8] ldr w0, [x0, #8] ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 1b90 f40: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1c18 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2a0c ldr w14, [x15, #8] sub w11, w14, w0 f60: add x14, x22, #0x40 bl fffffffffe054ed4 stp w0, w11, [x22, #72] ↓ b 10c8 f70: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↓ b 1064 0.10 f80: ldr x0, [x24] 1.45 mov x1, #0xea30 // #59952 0.31 movk x1, #0xa128, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 106c ldr w0, [x24, #8] ↓ cbz w0, 1028 ldr w0, [x22, #124] ↓ tbz w0, #1, 1b3c fa8: add x1, x24, #0xc ldr w2, [x24, #8] mov x0, x22 mov w3, wzr mov x4, #0x7ea0 // #32416 0.10 movk x4, #0xa1d5, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 ↓ b 1028 fd0: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 117c fe0: mov x0, x22 mov w1, #0x7d // #125 0.10 mov x2, #0x6c40 // #27712 movk x2, #0xa1e9, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ffc: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] 0.62 ldr w0, [x22, #40] 0.52 tst w0, #0x7fffffff ↓ b.eq 1020 ldr w0, [x22, #40] 0.10 sub w0, w0, #0x1 0.10 str w0, [x22, #40] 0.10 1020: mov w0, #0x2 // #2 strb w0, [x22, #58] 1028: ldr w0, [x19, #20] cmp w20, w0 ↓ b.ne 2a24 0.10 ldr w0, [x19, #16] cmp w23, w0 ↑ b.cs f70 0.21 ldr x0, [x19, #8] 0.10 ldr w1, [x0, #8] 0.31 cmp w23, w1 ↓ b.cs 2a94 0.10 add x0, x0, #0x10 ldr x1, [x0, w23, uxtw #3] 0.62 mov x24, x1 add w23, w23, #0x1 0.21 mov w0, #0x1 // #1 1064: ↓ cbz w0, 146c 0.21 ↑ cbnz x24, f80 0.10 106c: mov x25, x24 ↓ cbz x25, 108c mov x0, #0xbe58 // #48728 movk x0, #0xa129, lsl #16 movk x0, #0xfb57, lsl #32 ldr x1, [x25] cmp x1, x0 ↓ b.ne 1b1c 108c: ↑ cbz x25, 1028 ldr w0, [x22, #40] and w0, w0, #0x7fffffff 0.21 ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1b74 10a4: ldr w0, [x22, #124] 0.10 and w0, w0, #0x3 0.10 cmp w0, #0x2 ↑ b.ne 494 ldr w0, [x22, #76] ldr w1, [x22, #52] 0.21 sub w0, w0, w1 0.10 cmp w0, #0x2 ↑ b.lt f14 10c8: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] 0.10 ↓ cbz x0, 1114 ldr x1, [x0] ldr w2, [x1] 0.10 tst w2, #0x80000000 ↓ b.eq 1d74 add x1, x0, #0x10 ldr w2, [x0, #8] 10f4: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 0.10 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2a0c 0.10 add x1, x1, x0 asr w2, w3, #0 0.10 1114: ldr w0, [x22, #40] 0.10 ↓ tbz w0, #31, 1138 ldr w0, [x22, #52] add w3, w0, #0x1 0.10 str w3, [x22, #52] 0.21 cmp w0, w2 0.31 ↓ b.cs 2a94 0.10 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 1138: ldr w0, [x22, #52] 0.10 add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2a94 0.10 mov w2, #0x7b // #123 0.10 strb w2, [x1, w0, uxtw #0] 0.10 1154: ldr w1, [x22, #40] and w1, w1, #0x7fffffff str w1, [x22, #40] add w1, w1, #0x1 str w1, [x22, #40] mov w1, #0x1 // #1 strb w1, [x22, #58] ldr w24, [x25, #68] 0.10 mov w26, wzr ↑ b 9b8 117c: ldr w0, [x22, #124] ↓ tbz w0, #0, 144c ldr w0, [x22, #124] ↓ tbnz w0, #1, 11a8 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc618 // #50712 movk x2, #0xa1f3, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 11a8: ldrb w0, [x22, #58] cmp w0, #0x1 ↓ b.eq 1374 ldrb w0, [x22, #58] cmp w0, #0x3 ↓ b.eq 1374 ldp w0, w1, [x22, #40] and w0, w0, #0x7fffffff mul w24, w0, w1 ↓ cbz w24, 11d8 ldr w0, [x22, #44] sub w24, w24, w0 11d8: add w1, w24, #0x3 ldr w0, [x22, #76] ldr w2, [x22, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.ge 1208 mov x0, x22 mov x2, #0x6af0 // #27376 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 1208: add x25, x22, #0x40 mov x26, xzr mov w27, wzr ldr x0, [x25] ↓ cbz x0, 1254 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 28cc add x26, x0, #0x10 ldr w27, [x0, #8] 1234: ldp w1, w0, [x25, #8] and w1, w1, #0x7fffffff mov w1, w1 add x2, x1, w0, uxtw cmp x2, w27, uxtw ↓ b.hi 2a0c add x26, x26, x1 asr w27, w0, #0 1254: ldr w1, [x22, #48] cmp w1, #0x2 ↓ b.ne 127c ldr w1, [x22, #52] add w0, w1, #0x1 str w0, [x22, #52] cmp w1, w27 ↓ b.cs 2a94 mov w0, #0xd // #13 strb w0, [x26, w1, uxtw #0] 127c: ldr w1, [x22, #52] add w0, w1, #0x1 str w0, [x22, #52] cmp w1, w27 ↓ b.cs 2a94 mov w0, #0xa // #10 strb w0, [x26, w1, uxtw #0] ldr w1, [x22, #52] cmp w1, w27 ↓ b.hi 2a0c mov w0, w1 add x0, x26, x0 sub w1, w27, w1 mov x2, x0 asr w3, w1, #0 ldrb w4, [x22, #60] cmp w24, #0x8 ↓ b.ge 1324 mov w1, wzr cmp w24, #0x1 ↓ b.le 1308 12d0: add w0, w1, #0x1 cmp w1, w3 ↓ b.cs 2a94 strb w4, [x2, w1, uxtw #0] asr w1, w0, #0 add w0, w1, #0x1 cmp w1, w3 ↓ b.cs 2a94 strb w4, [x2, w1, uxtw #0] add w1, w0, #0x1 cmp w1, w24 ↓ b.ge 130c mov w1, w0 ↑ b 12d0 1308: mov w0, w1 130c: cmp w0, w24 ↓ b.ge 1348 cmp w0, w3 ↓ b.cs 2a94 strb w4, [x2, w0, uxtw #0] ↓ b 1348 1324: cmp w24, w1 ↓ b.hi 2a0c mov w1, w24 mov w2, w4 mov x3, #0xc3c0 // #50112 movk x3, #0xa1f3, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 1348: ldr w0, [x22, #52] add w0, w0, w24 str w0, [x22, #52] ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w27 ↓ b.cs 2a94 mov w1, #0x7d // #125 strb w1, [x26, w0, uxtw #0] ↑ b ffc 1374: ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 13e0 ldr w0, [x22, #76] ↓ cbnz w0, 27e0 ldr x0, [x22, #16] ↓ cbz x0, 279c ldr x24, [x22, #24] ldr x0, [x24, #8] ldr w0, [x0, #8] ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 26f0 13b4: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 2788 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2a0c ldr w14, [x15, #8] sub w11, w14, w0 13d4: add x14, x22, #0x40 bl fffffffffe054ed4 stp w0, w11, [x22, #72] 13e0: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 142c ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 28b0 add x1, x0, #0x10 ldr w2, [x0, #8] 140c: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2a0c add x1, x1, x0 asr w2, w3, #0 142c: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2a94 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b ffc 144c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc618 // #50712 movk x2, #0xa1f3, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b fe0 146c: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1588 mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6c40 // #27712 movk x2, #0xa1e9, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 1498: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 14bc ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 14bc: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 15a8 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c40 // #27712 movk x2, #0xa1e9, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 14f0: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 1514 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 1514: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x68c8 // #26824 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xa19e, lsl #16 movk x1, #0xfb57, lsl #32 cmp x0, x1 ↓ b.ne 2a3c mov x0, x21 mov x1, #0xbf30 // #48944 movk x1, #0xa19e, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 1564: ↓ cbz x0, 2a54 ldp x29, x30, [sp] add sp, sp, #0x350 ldp x27, x28, [sp, #64] ldp x25, x26, [sp, #48] ldp x23, x24, [sp, #32] ldp x21, x22, [sp, #16] ldp x19, x20, [sp], #80 ← ret 1588: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6c28 // #27688 movk x2, #0xa1e9, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1498 15a8: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c28 // #27688 movk x2, #0xa1e9, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b 14f0 15c8: mov x0, #0xbe58 // #48728 movk x0, #0xa19e, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc558 // #50520 movk x2, #0xa1b7, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe054ed4 ↑ b 80 1604: mov x0, xzr mov x1, #0x71c8 // #29128 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 1620: mov x0, #0x7ac0 // #31424 movk x0, #0xa126, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x20, x0 mov x0, #0xc180 // #49536 movk x0, #0xa1f3, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 mov x19, x0 mov w0, #0xffc7 // #65479 movk w0, #0x7fff, lsl #16 str w0, [x20, #8] mov x0, #0x4f00 // #20224 movk x0, #0xa134, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc198 // #49560 movk x2, #0xa1f3, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1a68 // #6760 movk x1, #0xec60, lsl #16 movk x1, #0xfb57, lsl #32 mov x3, #0xea78 // #60024 movk x3, #0xa144, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e6c30 brk #0xf000 16bc: mov x0, x21 mov x1, xzr ldr x2, [x21] ldr x2, [x2, #72] ldr x2, [x2, #24] → blr x2 mov x0, x21 mov x1, xzr ldr x2, [x21] ldr x2, [x2, #104] ldr x2, [x2, #8] → blr x2 ↑ b f4 16f0: mov x0, #0x71e0 // #29152 movk x0, #0xa1f3, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1708: mov x0, #0xe570 // #58736 movk x0, #0xa14c, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x21, x0 mov x0, #0x71f8 // #29176 movk x0, #0xa1f3, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc918 // #51480 movk x2, #0xa1c8, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6c30 brk #0xf000 1758: mov w0, #0x100 // #256 cmp w22, #0x100 csel w1, w22, w0, ge // ge = tcont ldr w0, [x21, #36] cmp w1, w0, lsl #1 ↓ b.ge 1778 ldr w1, [x21, #36] lsl w1, w1, #1 1778: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 17a4 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 mov w0, #0xffc7 // #65479 movk w0, #0x7fff, lsl #16 cmp w22, w1 csel w1, w22, w0, ge // ge = tcont 17a4: mov x0, x21 mov x2, #0xc088 // #49288 movk x2, #0xa19e, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 17c0: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcf78 // #53112 movk x3, #0xa15c, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 17e8: str w22, [x21, #28] ↑ b f4 17f0: add x0, x29, #0x340 stp xzr, xzr, [x0] add x0, x29, #0x340 mov w1, #0x1 // #1 mov x2, #0x67f0 // #26608 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xb5e8 // #46568 movk x0, #0xa19e, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x22, x0 ldr x2, [x29, #832] ldr x3, [x29, #840] mov x0, x22 mov x1, x21 mov x4, #0x6808 // #26632 movk x4, #0xa1d5, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe054ed4 ↑ b 1a4 185c: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6dc0 // #28096 movk x0, #0xa1e2, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 187c: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 1898: mov x0, #0xe2b0 // #58032 movk x0, #0xa129, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x21, x0 mov x0, #0x6928 // #26920 movk x0, #0xa1d5, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8a0 // #51360 movk x2, #0xa144, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6c30 brk #0xf000 18e8: mov x0, #0x1b00 // #6912 movk x0, #0xa1d7, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x20, x0 mov x1, #0x6958 // #26968 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe054ed4 ↑ b 174 1920: ↓ cbnz w0, 2a0c mov x2, xzr mov w0, wzr ↑ b 154 1930: mov x0, x22 mov x1, #0x6a60 // #27232 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 194c: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6a90 // #27280 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 196c: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6af0 // #27376 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 198c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 19a8: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6ce8 // #27880 movk x4, #0xa1d5, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 19d0: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 19ec: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6d78 // #28024 movk x5, #0xa1d5, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 1a14: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1a2c ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 1a44 1a2c: mov x0, x22 mov x1, #0x7df8 // #32248 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 1a44: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 1a64 ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 1a80 1a64: mov x0, x23 mov w1, wzr mov x2, #0xc9c0 // #51648 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 1a80: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 1a98: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7db0 // #32176 movk x4, #0xa1d5, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 1ac0: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6af0 // #27376 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1ae0: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 1afc: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2a94 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 1b1c: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0xa125, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b 108c 1b3c: mov x0, x22 mov x1, #0xc240 // #49728 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, fa8 mov x0, x22 mov x1, #0xc258 // #49752 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b fa8 1b74: mov x0, x22 mov x1, #0x6a60 // #27232 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b 10a4 1b90: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1ba8 asr w1, w0, #0 ↓ b 1bac 1ba8: mov w1, #0x100 // #256 1bac: asr w2, w1, #0 ↓ cbnz w0, 1bb8 asr w2, w1, #0 1bb8: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1bfc ldr x1, [x24, #8] ldr w1, [x1, #8] ldr w2, [x24, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, #0x100 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 28e8 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1bfc: add x0, x24, #0x8 mov x2, #0x6c40 // #27712 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b f40 1c18: ↓ cbnz w0, 2a0c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b f60 1c2c: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 str x0, [x29, #760] str x1, [x29, #768] add x14, x22, #0x40 ldr x15, [x29, #760] bl fffffffffe054ed4 ldr w0, [x29, #768] ldr w1, [x29, #772] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 10c8 ↓ b 29f4 1c78: ldr x0, [x22, #16] ↓ cbz x0, 1cf8 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2900 ldr x24, [x22, #24] ldrsb wzr, [x24] mov x0, x24 mov x2, #0x6c28 // #27688 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 add x26, x22, #0x40 ldr x0, [x24, #8] ldr w1, [x24, #16] mov x2, #0x6bf8 // #27640 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #744] str x1, [x29, #752] ldr x15, [x29, #744] mov x14, x26 bl fffffffffe054ed4 ldr w0, [x29, #752] ldr w1, [x29, #756] stp w0, w1, [x26, #8] ↑ b 10c8 1cf8: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w11, [x22, #52] add x0, x0, w11, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov x11, #0x2828 // #10280 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 str x0, [x29, #776] str x1, [x29, #784] add x14, x22, #0x40 ldr x15, [x29, #776] bl fffffffffe054ed4 ldr w0, [x29, #784] ldr w1, [x29, #788] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 10c8 ↓ b 29f4 1d74: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 10f4 1d90: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b a8c 1da0: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b a8c 1dbc: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1dd4 ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne aa0 1dd4: mov x0, x22 mov x1, #0x7df8 // #32248 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b aa0 1df0: mov x1, x28 ldr w2, [x29, #740] mov x0, x22 mov x3, #0xcb28 // #52008 movk x3, #0xa1d5, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 ↑ b c94 1e14: asr w1, w0, #0 ↑ b ae0 1e1c: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1e34 asr w4, w0, #0 ↓ b 1e38 1e34: asr w4, w1, #0 1e38: asr w5, w4, #0 ↓ cbnz w0, 1e54 cmp w4, #0x100 ↓ b.ge 1e50 mov w5, #0x100 // #256 ↓ b 1e54 1e50: asr w5, w4, #0 1e54: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1e98 ldr x4, [x3, #8] ldr w4, [x4, #8] ldr w5, [x3, #16] sub w4, w4, w5 sub w0, w0, w4 add w0, w0, w1 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 295c mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1e98: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6c40 // #27712 movk x4, #0xa1d5, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #200] ↑ b b0c 1ebc: ↓ cbnz w0, 2a0c mov x15, xzr mov w0, wzr mov w1, wzr ↑ b b2c 1ed0: ldr x0, [x22, #8] str w1, [x29, #692] mov x11, #0x2848 // #10312 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #696] str x1, [x29, #704] add x14, x22, #0x40 ldr x15, [x29, #696] bl fffffffffe054ed4 ldr w0, [x29, #704] ldr w1, [x29, #708] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #692] cmp w0, w1 ↑ b.ge b38 ↓ b 29f4 1f20: cmp w0, #0x1, lsl #12 ↓ b.le 1f30 str w0, [x29, #688] ↓ b 1f38 1f30: mov w3, #0x1000 // #4096 str w3, [x29, #688] 1f38: ldr x0, [x22, #16] ↓ cbz x0, 1fa4 ldr w0, [x22, #52] ldr w3, [x29, #688] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2974 add x3, x22, #0x40 str x3, [x29, #16] ldr x0, [x22, #24] mov x4, #0x1b98 // #7064 movk x4, #0xa1d7, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] ldr wzr, [x0] → blr x4 str x0, [x29, #672] str x1, [x29, #680] ldr x15, [x29, #672] ldr x14, [x29, #16] bl fffffffffe054ed4 ldr w0, [x29, #680] ldr w1, [x29, #684] ldr x14, [x29, #16] stp w0, w1, [x14, #8] ↑ b b38 1fa4: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w1, [x22, #52] add x0, x0, w1, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] ldr w1, [x29, #688] mov x11, #0x2840 // #10304 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #712] str x1, [x29, #720] add x14, x22, #0x40 ldr x15, [x29, #712] bl fffffffffe054ed4 ldr w0, [x29, #720] ldr w1, [x29, #724] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #688] cmp w0, w1 ↑ b.ge b38 ↓ b 29f4 2024: ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 mov x3, x0 mov w4, w1 mov x6, x3 asr w7, w4, #0 mov x3, x6 mov w4, w7 ↑ b b68 2050: mov x0, #0x33d8 // #13272 movk x0, #0xe100, lsl #16 movk x0, #0xfb4f, lsl #32 mov w1, wzr mov x2, #0xd3b0 // #54192 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b cc0 207c: mov x0, x26 mov x1, #0xd908 // #55560 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b cc8 2098: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x25a8 // #9640 movk x1, #0xec60, lsl #16 movk x1, #0xfb57, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xda28 // #55848 movk x6, #0xa1d5, lsl #16 movk x6, #0xfb57, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe054ed4 ↑ b cd0 20e0: mov x2, #0x63b8 // #25528 movk x2, #0xa125, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 20f8: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #624] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 99c 2114: mov x0, x28 mov x2, #0xdae8 // #56040 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #176] ↑ b d74 2138: mov x0, #0xcb50 // #52048 movk x0, #0xa1da, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x3, x0 add x14, x3, #0x8 mov x15, x3 bl fffffffffe054ed4 ldr q16, instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x2aa0 stur q16, [x3, #24] mov x14, #0x3428 // #13352 movk x14, #0xe100, lsl #16 movk x14, #0xfb4f, lsl #32 mov x15, x3 bl fffffffffe054ed4 mov x1, x3 ldr x1, [x29, #176] ↑ b d90 2180: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b dc8 21a0: mov x7, x1 ↑ b eb4 21a8: ldr x0, [x29, #160] mov x1, #0xc6f0 // #50928 movk x1, #0xa144, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b dc4 21c4: ldr x5, [x29, #120] ↑ b 4d8 21cc: ldr x7, [x29, #176] ↓ b 2284 21d4: ldr x7, [x29, #176] mov x0, x6 mov x1, x7 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w8, w0, #0 ldr x7, [x29, #176] ↑ b e74 21fc: ldr x5, [x29, #120] ↑ b 4d8 2204: ldr x7, [x29, #176] ↓ b 2284 220c: ldr x4, [x29, #128] ldr x7, [x29, #176] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #128] ldr x7, [x29, #176] ↑ b 550 2244: ldr x5, [x29, #120] ldr x7, [x29, #176] ↑ b 4ec 2250: ldr x7, [x29, #176] mov x0, x6 mov x1, x7 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w8, w0, #0 ldr x4, [x29, #128] ldr x7, [x29, #176] ↑ b 550 227c: ldr x5, [x29, #120] ↑ b 4ec 2284: str xzr, [x29, #448] mov x1, x7 mov x2, x26 ldr x4, [x29, #152] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #460] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x1c0 ldr x1, [x29, #136] ldr x2, [x29, #176] ldr x0, [x29, #144] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0xa16f, lsl #16 movk x8, #0xfb57, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #176] ↑ b e84 22e4: mov x0, x26 mov x1, x7 mov x3, #0xe088 // #57480 movk x3, #0xa1d5, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #176] ↑ b ea0 230c: mov x0, x26 mov x1, #0xf0c0 // #61632 movk x1, #0xa1dc, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ldr x7, [x29, #176] ↑ b eb4 232c: ldr x1, [x28, #32] mov x0, x7 mov x2, #0xdad0 // #56016 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 234c: mov x0, x26 mov x1, #0x42a0 // #17056 movk x1, #0xa1e2, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054ed4 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b ed0 2380: mov x26, x0 ↑ b ed8 2388: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #440] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 904 23a4: mov x0, x26 mov x2, #0xdae8 // #56040 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x1, x0 mov x2, x1 ldr x1, [x29, #104] ↑ b 630 23cc: mov x0, #0xcb50 // #52048 movk x0, #0xa1da, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x4, x0 str x4, [x29, #72] mov x0, x4 mov x1, xzr mov x2, #0xa0d0 // #41168 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0xa002, lsl #16 movk x3, #0xfb57, lsl #32 mov x5, #0x7c48 // #31816 movk x5, #0xa125, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 mov x14, #0x3428 // #13352 movk x14, #0xe100, lsl #16 movk x14, #0xfb4f, lsl #32 ldr x15, [x29, #72] bl fffffffffe054ed4 ldr x4, [x29, #72] mov x1, x4 ldr x1, [x29, #104] ↑ b 650 243c: mov x1, x5 mov x11, #0x2860 // #10336 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b 688 245c: ldr x0, [x29, #64] mov x1, #0xc6f0 // #50928 movk x1, #0xa144, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b 684 2478: ldr x5, [x29, #24] ↑ b 7e8 2480: ldr x7, [x29, #104] ↓ b 2538 2488: ldr x7, [x29, #104] mov x0, x6 mov x1, x7 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w8, w0, #0 ldr x7, [x29, #104] ↑ b 734 24b0: ldr x5, [x29, #24] ↑ b 7e8 24b8: ldr x7, [x29, #104] ↓ b 2538 24c0: ldr x4, [x29, #32] ldr x7, [x29, #104] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2868 // #10344 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #32] ldr x7, [x29, #104] ↑ b 860 24f8: ldr x5, [x29, #24] ldr x7, [x29, #104] ↑ b 7fc 2504: ldr x7, [x29, #104] mov x0, x6 mov x1, x7 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w8, w0, #0 ldr x4, [x29, #32] ldr x7, [x29, #104] ↑ b 860 2530: ldr x5, [x29, #24] ↑ b 7fc 2538: str xzr, [x29, #264] mov x1, x7 ldr x2, [x29, #88] ldr x4, [x29, #56] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #276] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x108 ldr x1, [x29, #40] ldr x2, [x29, #104] ldr x0, [x29, #48] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0xa16f, lsl #16 movk x8, #0xfb57, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #104] ↑ b 744 2598: ldr x0, [x29, #88] mov x1, x7 mov x3, #0xe088 // #57480 movk x3, #0xa1d5, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 mov x2, x0 ldr x7, [x29, #104] ↑ b 760 25c0: str x2, [x29, #96] mov x0, x2 mov x1, #0xf0c0 // #61632 movk x1, #0xa1dc, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ldp x2, x1, [x29, #96] ↑ b 778 25e4: ldr x1, [x26, #32] ldr x0, [x29, #104] mov x2, #0xdad0 // #56016 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 2604: mov x1, x7 ↑ b 778 260c: mov x0, x26 mov x1, #0x42a0 // #17056 movk x1, #0xa1e2, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054ed4 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 79c 2640: mov x26, x0 ↑ b 7a4 2648: mov x26, xzr mov w0, wzr ↑ b 7a8 2654: ldr x0, [x26, #56] mov w1, #0x1 // #1 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 str x0, [x29, #312] ldr w0, [x26, #140] cmp w0, #0x2 ↑ b.ne 8d8 ldr x26, [x29, #112] ↑ cbz x26, 8d8 ldr x0, [x28, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 8d8 ldr x0, [x29, #312] mov x1, x26 ldr x2, [x29, #312] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 8d8 26bc: ldr x0, [x0, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #496] ↑ b 970 26dc: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 9d0 ↑ b fd0 26f0: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 2708 asr w1, w0, #0 ↓ b 270c 2708: mov w1, #0x100 // #256 270c: asr w2, w1, #0 ↓ cbnz w0, 2728 cmp w1, #0x100 ↓ b.ge 2724 mov w2, #0x100 // #256 ↓ b 2728 2724: asr w2, w1, #0 2728: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 276c ldr x1, [x24, #8] ldr w1, [x1, #8] ldr w2, [x24, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, #0x100 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 29c0 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 276c: add x0, x24, #0x8 mov x2, #0x6c40 // #27712 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b 13b4 2788: ↓ cbnz w0, 2a0c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 13d4 279c: ldr x0, [x22, #8] mov x11, #0x2880 // #10368 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #232] add x14, x22, #0x40 ldr x15, [x29, #232] bl fffffffffe054ed4 ldp w0, w1, [x29, #240] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 13e0 ↓ b 29f4 27e0: ldr x0, [x22, #16] ↓ cbz x0, 2838 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 29d8 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x1b98 // #7064 movk x2, #0xa1d7, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #216] ldr x15, [x29, #216] mov x14, x24 bl fffffffffe054ed4 ldp w0, w1, [x29, #224] stp w0, w1, [x24, #8] ↑ b 13e0 2838: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2870 // #10352 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w11, [x22, #52] add x0, x0, w11, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov x11, #0x2878 // #10360 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #248] add x14, x22, #0x40 ldr x15, [x29, #248] bl fffffffffe054ed4 ldr w0, [x29, #256] ldr w1, [x29, #260] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 13e0 ↓ b 29f4 28b0: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 140c 28cc: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x26, x0 mov w27, w1 ↑ b 1234 28e8: mov x1, #0x6c88 // #27784 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2900: mov w0, w1 mov x1, #0xca38 // #51768 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 291c: mov x0, #0xcbe0 // #52192 movk x0, #0xec61, lsl #16 movk x0, #0xfb57, lsl #32 mov x1, #0x76a8 // #30376 movk x1, #0xa1a3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2940: mov w0, w3 mov x1, #0xcaf8 // #51960 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 295c: mov x1, #0x6c88 // #27784 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2974: mov w0, w1 mov x1, #0xca38 // #51768 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2990: mov x1, #0xf090 // #61584 movk x1, #0xa1dc, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 29a8: mov x1, #0xf090 // #61584 movk x1, #0xa1dc, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 29c0: mov x1, #0x6c88 // #27784 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 29d8: mov w0, w1 mov x1, #0xca38 // #51768 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 29f4: mov x0, #0x6be0 // #27616 movk x0, #0xa1d5, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2a0c: mov x0, #0xdb00 // #56064 movk x0, #0xa144, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2a24: mov x0, #0xec40 // #60480 movk x0, #0xa144, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2a3c: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 1564 2a54: mov x0, #0xe88 // #3720 movk x0, #0xa129, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2e6c10 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0xec61, lsl #16 movk x1, #0xfb57, lsl #32 mov x2, #0xf7b0 // #63408 movk x2, #0xa15c, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e6c30 brk #0xf000 2a94: bl ffffffffff296628 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-45670-32627.so 0.50 stp x29, x30, [sp, #-64]! stp x19, x20, [sp, #16] 0.50 stp x21, x22, [sp, #32] stp x23, x24, [sp, #48] mov x29, sp mov x19, x0 ldr x20, [x19, #16] 1.51 ↓ cbz x20, 1a4 1.51 20: stp xzr, xzr, [x19, #64] 0.50 ↓ cbz x20, 39c 1.01 ldr w1, [x19, #52] 1.01 ↓ cbz w1, 174 0.50 ldr x0, [x19, #24] 0.50 mov x2, x0 0.50 ldrsb wzr, [x2] 3.52 ↓ tbnz w1, #31, 1c4 1.01 ldr w3, [x2, #16] 0.50 ldr x4, [x2, #8] 0.50 ldr w4, [x4, #8] 4.02 sub w4, w4, w1 2.01 cmp w3, w4 ↓ b.gt 208 5.53 add w21, w3, w1 str w21, [x2, #16] 2.01 str wzr, [x19, #52] 0.50 ldr x0, [x0, #8] 0.50 ↓ cbz x0, 228 1.01 ldr w1, [x0, #8] 0.50 cmp w1, w21 0.50 ↓ b.cc 364 0.50 add x22, x0, #0x10 0.50 7c: ldr x0, [x20] mov x1, #0xbe58 // #48728 0.50 movk x1, #0xa19e, lsl #16 0.50 movk x1, #0xfb57, lsl #32 0.50 cmp x0, x1 0.50 ↓ b.ne 334 0.50 ldrb w0, [x20, #43] 1.01 ↓ cbz w0, 238 1.01 ldrb w0, [x20, #41] 1.51 ↓ cbz w0, 254 1.01 ldr w0, [x20, #28] 1.01 add w23, w0, w21 ↓ tbnz w23, #31, 26c 0.50 ldr w1, [x20, #32] 0.50 cmp w23, w1 ↓ b.le d8 1.01 cmp w0, w1 0.50 cset x24, gt 1.01 ldr w0, [x20, #36] 0.50 cmp w23, w0 ↓ b.gt 2bc 1.01 d0: ↓ cbnz w24, 2e0 1.51 d4: str w23, [x20, #32] d8: ldr x2, [x20, #16] 1.51 ldr w0, [x20, #28] ↓ cbz x2, 308 mov w1, w0 add x1, x1, w21, uxtw 0.50 ldr w3, [x2, #8] 0.50 cmp x1, x3 ↓ b.hi 364 1.01 add x2, x2, #0x10 0.50 mov w0, w0 add x0, x2, x0 1.51 asr w2, w21, #0 0.50 108: cmp w21, w2 ↓ b.gt 31c 1.51 mov w2, w21 0.50 mov x1, x22 0.50 mov x3, #0x5848 // #22600 1.51 movk x3, #0xa125, lsl #16 0.50 movk x3, #0xfb57, lsl #32 1.51 ldr x3, [x3] → blr x3 1.51 str w23, [x20, #28] 130: ldp x20, x0, [x19, #24] 1.01 ldr w1, [x20, #16] 1.51 add x0, x0, w1, sxtw 1.01 str x0, [x19, #32] 1.01 ldr x0, [x20, #8] 1.51 ↓ cbz x0, 354 2.01 ldr w2, [x0, #8] 6.03 cmp w2, w1 1.01 ↓ b.cc 364 5.03 add x0, x0, #0x10 158: mov w1, w1 0.50 mov x2, #0x5818 // #22552 movk x2, #0xa125, lsl #16 1.51 movk x2, #0xfb57, lsl #32 0.50 ldr x2, [x2] 0.50 → blr x2 1.01 str wzr, [x20, #16] 0.50 174: ldr x0, [x19, #16] 3.52 ldr x1, [x0] 4.02 mov x2, #0xbe58 // #48728 5.03 movk x2, #0xa19e, lsl #16 0.50 movk x2, #0xfb57, lsl #32 0.50 cmp x1, x2 ↓ b.ne 37c 2.01 190: ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] 0.50 ldp x29, x30, [sp], #64 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x6dc0 // #28096 movk x0, #0xa1e2, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xe2b0 // #58032 movk x0, #0xa129, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2fa060 mov x19, x0 mov x1, xzr mov x2, #0x2820 // #10272 movk x2, #0xec60, lsl #16 movk x2, #0xfb57, lsl #32 mov x3, #0xc450 // #50256 movk x3, #0xa15c, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2fa080 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x6dd8 // #28120 movk x1, #0xa1e2, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 228: ↓ cbnz w21, 364 mov x22, xzr mov w21, wzr ↑ b 7c 238: mov x0, xzr mov x1, #0x71c8 // #29128 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x71e0 // #29152 movk x0, #0xa1f3, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xe570 // #58736 movk x0, #0xa14c, lsl #16 movk x0, #0xfb57, lsl #32 bl ffffffffff2fa060 mov x22, x0 mov x0, #0x71f8 // #29176 movk x0, #0xa1f3, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc918 // #51480 movk x2, #0xa1c8, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2fa080 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc5b8 // #50616 movk x2, #0xa1b7, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, d4 ↑ b d0 2e0: ldr w2, [x20, #32] sub w2, w23, w2 ldr w1, [x20, #32] ldr x0, [x20, #16] mov x3, #0xcf78 // #53112 movk x3, #0xa15c, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 ↑ b d4 308: orr w2, w0, w21 ↓ cbnz w2, 364 mov x0, xzr mov w2, wzr ↑ b 108 31c: mov x0, #0x4c60 // #19552 movk x0, #0xa179, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 334: mov x1, x22 mov w2, w21 mov x0, x20 ldr x3, [x20] ldr x3, [x3, #104] ldr x3, [x3, #48] → blr x3 ↑ b 130 354: ↓ cbnz w1, 364 mov x0, xzr mov w1, wzr ↑ b 158 364: mov x0, #0xdb00 // #56064 movk x0, #0xa144, lsl #16 movk x0, #0xfb57, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 37c: ldr x1, [x0] ldr x1, [x1, #88] ldr x1, [x1] ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 → br x1 39c: ldr w1, [x19, #52] ↑ cbz w1, 190 ldr x0, [x19, #8] mov x11, #0x2718 // #10008 movk x11, #0xa003, lsl #16 movk x11, #0xfb57, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x19, #32] ldr w1, [x19, #52] add x0, x0, w1, sxtw str x0, [x19, #32] str wzr, [x19, #52] ↑ b 190 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-45670-32576.so 1.12 stp x29, x30, [sp, #-16]! 1.12 mov x29, sp 3.35 cmp w1, w3 csel w6, w1, w3, le 0.56 mov w6, w6 mov x7, xzr 1.12 cmp x6, #0x20 ↓ b.cs a0 1.68 20: sub x6, x6, x7 1.12 cmp x6, #0x4 ↓ b.cc 60 0.56 add x8, x7, x6 sub x8, x8, #0x4 0.56 lsl x9, x7, #1 1.12 ldr x9, [x0, x9] 0.56 tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1dc 0.56 44: mov v16.d[0], x9 1.12 sqxtun v16.8b, v16.8h 2.79 mov w9, v16.s[0] 1.12 str w9, [x2, x7] 1.68 add x7, x7, #0x4 1.12 cmp x7, x8 ↓ b.ls 178 1.68 60: ↓ tbnz w6, #1, 18c 0.56 64: ↓ tbz w6, #0, 7c 0.56 ldrh w8, [x0, x7, lsl #1] 0.56 cmp w8, #0x7f ↓ b.hi 7c 0.56 74: strb w8, [x2, x7, lsl #0] 0.56 add x7, x7, #0x1 1.68 7c: add x0, x0, x7, lsl #1 0.56 add x2, x2, x7 cmp w7, w1 ↓ b.ne 20c 1.68 str x0, [x4] 0.56 str x2, [x5] 2.23 mov w0, wzr 0.56 ldp x29, x30, [sp], #16 1.12 ← ret a0: ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 mov x9, x8 ↓ b.ne 1dc mov x7, x0 0.56 ldr q16, [x7] umaxp v17.8h, v16.8h, v16.8h mov x8, v17.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 1b4 0.56 mov x8, x2 uzp1 v16.16b, v16.16b, v16.16b 0.56 str d16, [x8] mov x9, #0x8 // #8 ↓ tbnz w2, #3, f8 ldr q16, [x7, #16] umaxp v17.8h, v16.8h, v16.8h mov x10, v17.d[0] tst x10, #0xff80ff80ff80ff80 ↓ b.ne 170 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, #8] f8: and x9, x2, #0xf neg x9, x9 add x9, x9, #0x10 sub x10, x6, #0x10 lsl x11, x9, #1 ldr q16, [x7, x11] lsl x11, x9, #1 add x11, x11, #0x10 ldr q17, [x7, x11] 0.56 orr v18.16b, v16.16b, v17.16b 0.56 umaxp v18.8h, v18.8h, v18.8h mov x11, v18.d[0] tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1bc 6.70 130: uzp1 v16.16b, v16.16b, v17.16b 2.23 str q16, [x8, x9] 1.12 add x9, x9, #0x10 3.35 cmp x9, x10 ↓ b.hi 170 3.91 lsl x11, x9, #1 4.47 ldr q16, [x7, x11] 1.68 lsl x11, x9, #1 2.79 add x11, x11, #0x10 3.91 ldr q17, [x7, x11] 1.68 orr v18.16b, v16.16b, v17.16b 1.68 umaxp v18.8h, v18.8h, v18.8h 3.91 mov x11, v18.d[0] 2.79 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1bc 20.11 ↑ b 130 170: mov x7, x9 0.56 174: ↑ b 20 178: lsl x9, x7, #1 ldr x9, [x0, x9] tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1dc ↑ b 44 18c: lsl x9, x7, #1 1.12 ldr w8, [x0, x9] tst w8, #0xff80ff80 ↓ b.ne 200 add x9, x2, x7 strb w8, [x9] 0.56 lsr w8, w8, #16 0.56 strb w8, [x9, #1] add x7, x7, #0x2 ↑ b 64 1b4: mov x7, xzr ↑ b 174 1bc: umaxp v17.8h, v16.8h, v16.8h mov x7, v17.d[0] tst x7, #0xff80ff80ff80ff80 ↑ b.ne 170 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, x9] add x9, x9, #0x8 ↑ b 170 1dc: asr w8, w9, #0 tst w8, #0xff80ff80 ↓ b.ne 200 add x6, x2, x7 strb w8, [x6] lsr w8, w8, #16 strb w8, [x6, #1] lsr x8, x9, #32 add x7, x7, #0x2 200: tst w8, #0xff80 ↑ b.eq 74 ↑ b 7c 20c: sub w1, w1, w7 sub w3, w3, w7 cmp w1, #0x2 ↓ b.lt 62c ubfiz x6, x1, #1, #32 add x6, x0, x6 sub x6, x6, #0x4 228: ldr w7, [x0] ↓ b 554 230: cmp w3, #0x2 ↓ b.lt 638 orr w7, w7, w7, lsr #8 strh w7, [x2] add x0, x0, #0x4 add x2, x2, #0x2 sub w3, w3, #0x2 sub x7, x6, x0 add x7, x7, x7, lsr #63 asr x7, x7, #1 add w7, w7, #0x2 mov w7, w7 mov w8, w3 cmp x7, x8 ↓ b.le 274 mov x7, x8 ↓ b 274 274: lsr w8, w7, #3 mov w9, wzr ↓ b 2a8 280: ldr q16, [x0] mvni v17.8h, #0x7f cmtst v17.8h, v16.8h, v17.8h sminp v17.8h, v17.8h, v17.8h mov x10, v17.d[0] ↓ cbnz x10, 2c8 sqxtun v16.8b, v16.8h str d16, [x2], #8 add x0, x0, #0x10 add w9, w9, #0x1 2a8: cmp w9, w8 ↑ b.cc 280 sub w3, w3, w9, lsl #3 ↓ tbz w7, #2, 604 ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2f0 ↓ b 57c 2c8: sub w3, w3, w9, lsl #3 mov x8, v16.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2f0 sqxtun v17.8b, v16.8h st1 {v17.s}[0], [x2] add x0, x0, #0x8 add x2, x2, #0x4 sub w3, w3, #0x4 mov x8, v16.d[1] 2f0: asr w7, w8, #0 tst w7, #0xff80ff80 ↓ b.ne 314 orr w7, w7, w7, lsr #8 strh w7, [x2] add x0, x0, #0x4 add x2, x2, #0x2 sub w3, w3, #0x2 lsr x7, x8, #32 314: tst w7, #0xff80 ↓ b.ne 324 ↓ cbz w3, 6fc ↓ b 330 324: tst w7, #0xf800 ↓ b.ne 560 ↓ b 3ac 330: strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] ↑ b 324 350: cmp w3, #0x2 ↓ b.lt 6fc ↓ b 3c0 35c: cmp w3, #0x4 ↓ b.lt 638 lsr w8, w7, #6 and w8, w8, #0x1f001f lsl w7, w7, #8 and w7, w7, #0x3f003f00 add w7, w8, w7 mov w8, #0x80c0 // #32960 movk w8, #0x80c0, lsl #16 add w7, w7, w8 str w7, [x2], #4 add x0, x0, #0x4 sub w3, w3, #0x4 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] sub w8, w7, #0x80 uxth w8, w8 cmp w8, #0x780 ↓ b.ge 554 3ac: sub w8, w7, #0x800, lsl #12 mov w9, #0x77fffff // #125829119 cmp w8, w9 ↑ b.ls 35c ↑ b 350 3c0: lsl w8, w7, #2 and w8, w8, #0x1f00 and w9, w7, #0x3f add w8, w8, w9 mov w9, #0xc080 // #49280 add w8, w8, w9 rev16 w8, w8 uxth w8, w8 strh w8, [x2] cmp w7, #0x800, lsl #12 ↓ b.cc 404 add x0, x0, #0x2 add x2, x2, #0x2 sub w3, w3, #0x2 cmp x0, x6 ↓ b.hi 61c ↓ b 410 404: cmp w3, #0x3 ↓ b.lt 610 ↓ b 590 410: ldr w7, [x0] ↓ b 560 418: tst w7, #0xf8000000 ↓ b.ne 43c ↓ b 458 424: mov w8, #0x2800 // #10240 movk w8, #0x23ff, lsl #16 add w8, w7, w8 tst w8, #0xfc00fc00 ↓ b.eq 5b0 ↓ b 5a8 43c: mov w8, #0x28000000 // #671088640 add w8, w7, w8 mov w9, #0x8000000 // #134217728 cmp w8, w9 ↓ b.cc 458 cmp w3, #0x6 ↓ b.ge 464 458: cmp w3, #0x3 ↓ b.lt 6fc ↓ b 4e0 464: lsl w8, w7, #2 and w8, w8, #0x3f00 and w9, w7, #0x3f orr w8, w8, w9, lsl #16 lsr w9, w7, #4 and w9, w9, #0xf000000 lsr w10, w7, #12 and w10, w10, #0xf orr w9, w9, w10 add w8, w8, w9 mov w9, #0x80e0 // #32992 movk w9, #0xe080, lsl #16 add w8, w8, w9 str w8, [x2] lsr w8, w7, #22 and w8, w8, #0x3f lsr w7, w7, #8 and w7, w7, #0x3f00 add w7, w8, w7 mov w8, #0x8080 // #32896 add w7, w7, w8 strh w7, [x2, #4] add x0, x0, #0x4 add x2, x2, #0x6 sub w3, w3, #0x6 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 560 ↓ b 554 4e0: lsl w8, w7, #2 and w8, w8, #0x3f00 uxth w9, w7 add w8, w8, w9, lsr #12 mov w9, #0x80e0 // #32992 add w8, w8, w9 strh w8, [x2] and w8, w7, #0x3f orr w8, w8, #0xffffff80 strb w8, [x2, #2] add x0, x0, #0x2 add x2, x2, #0x3 sub w3, w3, #0x3 cmp w7, #0x800, lsl #12 ↓ b.cc 528 cmp x0, x6 ↓ b.hi 61c ↓ b 574 528: ↓ cbz w3, 6fc lsr w7, w7, #16 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 560 554: tst w7, #0xff80ff80 ↑ b.ne 314 ↑ b 230 560: mov w8, #0xffff2800 // #-55296 add w8, w7, w8 tst w8, #0xf800 ↑ b.eq 424 ↑ b 418 574: ldr w7, [x0] ↑ b 314 57c: mov v16.d[0], x8 sqxtun v16.8b, v16.8h st1 {v16.s}[0], [x2] add x0, x0, #0x8 ↓ b 5fc 590: lsr w7, w7, #16 strb w7, [x2, #2] add x0, x0, #0x4 add x2, x2, #0x3 sub w3, w3, #0x3 ↓ b 604 5a8: mov w1, #0x3 // #3 ↓ b 700 5b0: cmp w3, #0x4 ↓ b.lt 6fc add w7, w7, #0x40 and w8, w7, #0x3 mov w9, #0x80f0 // #33008 movk w9, #0x8080, lsl #16 orr w8, w9, w8, lsl #20 mov w9, #0x700 // #1792 movk w9, #0x3f, lsl #16 and w9, w7, w9 rev w9, w9 orr w8, w8, w9, ror #16 lsr w9, w7, #6 and w9, w9, #0xf0000 orr w8, w8, w9 and w7, w7, #0xfc orr w7, w8, w7, lsl #6 str w7, [x2] add x0, x0, #0x4 5fc: add x2, x2, #0x4 sub w3, w3, #0x4 604: cmp x0, x6 ↑ b.ls 228 ↓ b 61c 610: add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6fc 61c: sub x1, x6, x0 add x7, x1, x1, lsr #63 asr x1, x7, #1 add w1, w1, #0x2 62c: ↓ cbz w1, 6f4 ldrh w7, [x0] ↓ b 63c 638: uxth w7, w7 63c: cmp w7, #0x7f ↓ b.hi 658 ↓ cbz w3, 6fc strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 ↓ b 6ec 658: cmp w7, #0x800 ↓ b.cs 68c cmp w3, #0x2 ↓ b.lt 6fc and w3, w7, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #1] lsr w7, w7, #6 orr w3, w7, #0xffffffc0 strb w3, [x2] add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6ec 68c: mov w6, #0xffff2800 // #-55296 add w6, w7, w6 cmp w6, #0x7ff ↓ b.ls 6d8 cmp w3, #0x3 ↓ b.lt 6fc and w3, w7, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #2] lsr w3, w7, #6 and w3, w3, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #1] lsr w7, w7, #12 orr w3, w7, #0xffffffe0 strb w3, [x2] add x0, x0, #0x2 add x2, x2, #0x3 ↓ b 6ec 6d8: mov w1, #0xdbff // #56319 cmp w7, w1 ↑ b.hi 5a8 mov w1, #0x2 // #2 ↓ b 700 6ec: cmp w1, #0x1 ↓ b.gt 6fc 6f4: mov w1, wzr ↓ b 700 6fc: mov w1, #0x1 // #1 700: str x0, [x4] str x2, [x5] mov w0, w1 ldp x29, x30, [sp], #16 ← ret Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-45670-32589.so 1.13 stp x29, x30, [sp, #-64]! 5.08 stp x19, x20, [sp, #32] 3.95 stp x21, x22, [sp, #48] 9.04 mov x29, sp 3.39 str xzr, [x29, #24] 0.56 mov x19, x0 1.69 mov x21, x1 mov w20, w2 1.13 mov w22, wzr 0.56 cmp w20, #0x8 ↓ b.ge b0 2c: mov x0, xzr cmp w20, #0x0 0.56 csel x0, x0, x21, eq // eq = none 1.13 str x0, [x29, #24] 0.56 mov w1, w20 mov w2, w22 1.69 cmp x2, x1 ↓ b.cs 90 1.13 ldrsb wzr, [x19] 2.26 sub x3, x1, x2 0.56 cmp x3, #0x8 ↓ b.cs 154 0.56 5c: cmp x2, x1 ↓ b.cs 90 5.65 64: add x3, x19, #0x420 2.26 ldrh w4, [x0, x2, lsl #1] 5.65 lsr w5, w4, #5 5.08 ldr w3, [x3, w5, uxtw #2] 11.86 mov w5, #0x1 // #1 8.47 lsl w4, w5, w4 5.08 tst w3, w4 0.56 ↓ b.eq 90 9.04 add x2, x2, #0x1 2.82 cmp x2, x1 ↑ b.cc 64 90: mov w0, #0xffffffff // #-1 cmp w2, w1 1.13 csel w2, w2, w0, ne // ne = any 1.13 mov w0, w2 ldp x21, x22, [sp, #48] 1.13 ldp x19, x20, [sp, #32] 0.56 ldp x29, x30, [sp], #64 0.56 ← ret b0: ldr x0, [x19, #24] ↓ cbz x0, 10c 0.56 ldr x2, [x0] mov x1, #0x8140 // #33088 1.69 movk x1, #0xa15d, lsl #16 movk x1, #0xfb57, lsl #32 cmp x2, x1 ↓ b.ne 128 0.56 add x2, x0, #0x8 0.56 mov x0, x21 mov w1, w20 mov x3, #0x6c58 // #27736 movk x3, #0xa1e9, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 f0: asr w22, w0, #0 cmp w22, w20 ↓ b.cc 144 fc: ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] 0.56 ldp x29, x30, [sp], #64 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb38 // #60216 movk x1, #0xa144, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 128: mov x1, x21 mov w2, w20 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↑ b f0 144: ldrh w1, [x21, w22, uxtw #1] cmp w1, #0x7f ↑ b.gt 2c ↑ b fc 154: mov x3, xzr add x4, x19, #0x420 ldrh w5, [x0, x2, lsl #1] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x1 // #1 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #2] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x2 // #2 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #4] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x3 // #3 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #6] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x4 // #4 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #8] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x5 // #5 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #10] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x6 // #6 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #12] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x7 // #7 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #14] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 add x2, x2, #0x8 sub x3, x1, x2 cmp x3, #0x8 ↑ b.cs 154 ↑ b 5c 2a4: add x2, x2, x3 ↑ b 90 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-45670-32573.so 0.79 stp x29, x30, [sp, #-16]! mov x29, sp sub x3, x0, x1 sub x4, x1, x0 0.79 cmp x3, x2 3.17 ccmp x4, x2, #0x0, cs // cs = hs, nlast 0.79 ↓ b.cc 124 1.59 add x3, x1, x2 add x4, x0, x2 0.79 cmp x2, #0x10 ↓ b.ls d4 1.59 cmp x2, #0x40 ↓ b.ls 98 cmp x2, #0x100 ↓ b.cc 68 mov x5, x0 and x5, x5, #0x3f neg x5, x5 add x5, x5, #0x40 1.59 ldp q16, q17, [x1] stp q16, q17, [x0] 1.59 ldp q16, q17, [x1, #32] stp q16, q17, [x0, #32] 1.59 add x1, x1, x5 add x0, x0, x5 sub x2, x2, x5 68: lsr x5, x2, #6 0.79 6c: ldp q16, q17, [x1] 19.84 stp q16, q17, [x0] 8.73 ldp q16, q17, [x1, #32] 23.02 stp q16, q17, [x0, #32] 3.97 add x0, x0, #0x40 1.59 add x1, x1, #0x40 3.17 sub x5, x5, #0x1 1.59 ↑ cbnz x5, 6c 1.59 and x2, x2, #0x3f cmp x2, #0x10 0.79 ↓ b.ls a8 98: ldr q16, [x1] 1.59 str q16, [x0] cmp x2, #0x20 ↓ b.hi b8 a8: ldur q16, [x3, #-16] 9.52 stur q16, [x4, #-16] 1.59 b0: ldp x29, x30, [sp], #16 2.38 ← ret b8: ldr q16, [x1, #16] str q16, [x0, #16] cmp x2, #0x30 ↑ b.ls a8 ldr q16, [x1, #32] str q16, [x0, #32] ↑ b a8 d4: tst w2, #0x18 ↓ b.eq f0 ldr x2, [x1] str x2, [x0] ldur x1, [x3, #-8] 5.56 stur x1, [x4, #-8] ↑ b b0 f0: ↓ tbz w2, #2, 108 ldr w1, [x1] str w1, [x0] ldur w0, [x3, #-4] stur w0, [x4, #-4] ↑ b b0 108: ↑ cbz x2, b0 ldrb w1, [x1] strb w1, [x0] ↑ tbz w2, #1, b0 ldursh w0, [x3, #-2] sturh w0, [x4, #-2] ↑ b b0 124: cmp x0, x1 ↓ b.ne 134 ldrsb wzr, [x1] ↑ b b0 134: ldrsb wzr, [x0] ldrsb wzr, [x1] mov x3, #0x6d00 // #27904 movk x3, #0xa1f3, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedTier1]() /tmp/jitted-45670-32667.so Percent stp x29, x30, [sp, #-128]! 0.85 stp x19, x20, [sp, #64] 0.85 stp x21, x22, [sp, #80] 1.71 stp x23, x24, [sp, #96] 2.56 stp x25, x26, [sp, #112] mov x29, sp stp xzr, xzr, [x29, #48] str xzr, [x29, #40] 1.71 str x4, [x29, #16] 2.56 mov x20, x0 1.71 mov x19, x1 0.85 mov x21, x2 mov x22, x3 0.85 ldr w0, [x19, #40] 1.71 and w23, w0, #0x7fffffff 0.85 ldr w0, [x22, #136] 1.71 cmp w23, w0 ↓ b.ge 294 ldrb w0, [x20, #24] 0.85 ↓ cbnz w0, 58 0.85 ldr x0, [x21] ↓ cbz x0, 2b0 58: ldrb w0, [x20, #16] 0.85 cmp w0, #0x2 ↓ b.ne 488 0.85 ldr x0, [x29, #16] 2.56 ldrb w1, [x0, #144] 5.98 ↓ cbnz w1, 2cc 0.85 70: ldr x2, [x21] ldr x1, [x20] mov x3, #0x15c0 // #5568 movk x3, #0xa1df, lsl #16 movk x3, #0xfb57, lsl #32 0.85 cmp x1, x3 ↓ b.ne 274 0.85 ↓ cbz x2, 314 0.85 add x22, x2, #0xc ldr w21, [x2, #8] 0.85 mov w1, #0x21aa // #8618 movk w1, #0x9ef, lsl #16 cmp w21, w1 ↓ b.gt 330 add x1, x19, #0x70 ldr x1, [x1] ↓ cbz w21, 34c 0.85 str x22, [x29, #56] mov x2, x22 mov x3, x1 ↓ cbnz x3, d4 mov x3, #0x2e08 // #11784 movk x3, #0xe100, lsl #16 movk x3, #0xfb4f, lsl #32 0.85 ldr x3, [x3] d4: ldr x1, [x3] 0.85 mov x4, #0x73e8 // #29672 movk x4, #0xa1d7, lsl #16 movk x4, #0xfb57, lsl #32 cmp x1, x4 ↓ b.ne 354 0.85 ldr x3, [x3, #8] ldrsb wzr, [x3] mov x1, x2 mov w2, w21 mov x0, x3 0.85 mov x3, #0x7d08 // #32008 movk x3, #0xa1d5, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 0.85 asr w3, w0, #0 118: str xzr, [x29, #56] cmn w3, #0x1 ↓ b.ne 378 ldr w1, [x19, #124] 0.85 ↓ tbz w1, #1, 39c 12c: ldr w1, [x19, #124] ↓ tbnz w1, #0, 3d4 mov w1, #0x3 // #3 mul w1, w21, w1 1.71 add w1, w1, #0x3 ldr w2, [x19, #76] ldr w3, [x19, #52] sub w2, w2, w3 cmp w2, w1 ↓ b.lt 3f8 0.85 154: add x24, x19, #0x40 mov x25, xzr mov w26, wzr ldr x1, [x24] ↓ cbz x1, 1a0 ldr x2, [x1] 0.85 ldr w2, [x2] tst w2, #0x80000000 ↓ b.eq 414 add x25, x1, #0x10 ldr w26, [x1, #8] 180: ldp w2, w5, [x24, #8] and w2, w2, #0x7fffffff mov w2, w2 add x4, x2, w5, uxtw cmp x4, w26, uxtw ↓ b.hi 454 add x25, x25, x2 0.85 asr w26, w5, #0 1a0: ldr w2, [x19, #40] 0.85 ↓ tbnz w2, #31, 434 1a8: ldr w24, [x19, #52] add w2, w24, #0x1 str w2, [x19, #52] 1.71 cmp w24, w26 ↓ b.cs 5b0 0.85 mov w2, #0x22 // #34 0.85 strb w2, [x25, w24, uxtw #0] ldr w2, [x19, #52] cmp w2, w26 ↓ b.hi 454 0.85 mov w5, w2 add x24, x25, x5 0.85 sub w3, w26, w2 str x22, [x29, #48] mov x2, x22 0.85 stp x2, x24, [x29, #32] 0.85 str x24, [x29, #24] ↓ cbz w21, 218 0.85 mov x2, x24 add x5, x29, #0x18 0.85 add x4, x29, #0x20 mov w1, w21 mov x0, x22 mov x6, #0x78e8 // #30952 movk x6, #0xa125, lsl #16 movk x6, #0xfb57, lsl #32 ldr x6, [x6] 0.85 → blr x6 218: ldr w1, [x29, #24] sub w1, w1, w24 0.85 stp xzr, xzr, [x29, #40] ldr w2, [x19, #52] 0.85 add w24, w2, w1 0.85 str w24, [x19, #52] add w1, w24, #0x1 0.85 str w1, [x19, #52] cmp w24, w26 ↓ b.cs 5b0 0.85 mov w1, #0x22 // #34 strb w1, [x25, w24, uxtw #0] 248: ldr w1, [x19, #40] orr w1, w1, #0x80000000 1.71 str w1, [x19, #40] 5.13 mov w1, #0x7 // #7 2.56 strb w1, [x19, #58] 2.56 25c: ldr w1, [x19, #40] 2.56 and w1, w1, #0x7fffffff 3.42 cmp w23, w1 ↓ b.ne 46c 1.71 26c: mov w5, #0x1 // #1 0.85 ↓ b 64c 274: mov x0, x20 1.71 mov x1, x19 mov x3, x22 0.85 ldr x4, [x20] ldr x4, [x4, #96] 0.85 ldr x4, [x4, #48] 11.11 → blr x4 ↑ b 25c 294: ldr w0, [x22, #136] mov x1, #0x6c10 // #27664 movk x1, #0xa1e2, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2b0: mov x0, x19 mov x1, #0x6058 // #24664 movk x1, #0xa1e9, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b 26c 2cc: ldrb w1, [x20, #27] ↑ cbz w1, 70 ldr x21, [x21] add x0, x0, #0x90 mov x1, #0x6c28 // #27688 movk x1, #0xa1e2, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov x2, x21 mov x1, x19 mov x0, x20 ldr x4, [x20] ldr x4, [x4, #104] ldr x4, [x4, #32] → blr x4 ↑ b 25c 314: mov x0, x19 mov x1, #0x6058 // #24664 movk x1, #0xa1e9, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b 25c 330: mov w0, w21 mov x1, #0x7eb8 // #32440 movk x1, #0xa1d5, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 34c: mov w3, #0xffffffff // #-1 ↑ b 118 354: mov x0, x3 mov x1, x2 mov w2, w21 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w3, w0, #0 ↑ b 118 378: mov x1, x22 mov w2, w21 mov x0, x19 mov x4, #0x6148 // #24904 movk x4, #0xa1e9, lsl #16 movk x4, #0xfb57, lsl #32 ldr x4, [x4] → blr x4 ↑ b 248 39c: mov x0, x19 mov x1, #0xc240 // #49728 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 12c mov x0, x19 mov x1, #0xc258 // #49752 movk x1, #0xa1f3, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 ↑ b 12c 3d4: mov x1, x22 mov w2, w21 mov x0, x19 mov x3, #0x6178 // #24952 movk x3, #0xa1e9, lsl #16 movk x3, #0xfb57, lsl #32 ldr x3, [x3] → blr x3 ↑ b 248 3f8: mov x0, x19 mov x2, #0x6af0 // #27376 movk x2, #0xa1d5, lsl #16 movk x2, #0xfb57, lsl #32 ldr x2, [x2] → blr x2 ↑ b 154 414: mov x0, x1 ldr x1, [x1] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 mov w26, w1 ↑ b 180 434: ldr w24, [x19, #52] add w2, w24, #0x1 str w2, [x19, #52] cmp w24, w26 ↓ b.cs 5b0 mov w2, #0x2c // #44 strb w2, [x25, w24, uxtw #0] ↑ b 1a8 454: mov x1, #0xdb00 // #56064 movk x1, #0xa144, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 46c: mov x0, x20 mov x1, #0x6d30 // #27952 movk x1, #0xa1e2, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 488: ldr x0, [x29, #16] ldr w1, [x0, #68] cmp w1, #0x0 cset x23, ne // ne = any ldr x1, [x21] ↓ cbz x1, 5b8 ldrb w1, [x0, #142] cmp w1, #0x1 ↓ b.eq 5b8 mov x1, #0x6088 // #24712 movk x1, #0xa1e9, lsl #16 movk x1, #0xfb57, lsl #32 ldr x1, [x1] → blr x1 mov x2, x0 ldrb w1, [x20, #18] ↓ cbnz w1, 4dc ldr x1, [x2, #160] cmp x1, #0x0 cset x1, ne // ne = any ↓ cbz w1, 508 4dc: ldr x1, [x21] mov x0, x20 mov x3, x22 ldr x4, [x29, #16] mov x5, #0x60b8 // #24760 movk x5, #0xa1e9, lsl #16 movk x5, #0xfb57, lsl #32 ldr x5, [x5] → blr x5 mov x24, x0 ↓ b 50c 508: mov x24, xzr 50c: ↓ cbnz w23, 548 ldr w2, [x22, #140] ↓ cbz w2, 548 ldr x2, [x21] mov x0, x20 mov x1, x19 mov x3, x22 mov x4, x24 ldr x5, [x29, #16] mov x6, #0x60d0 // #24784 movk x6, #0xa1e9, lsl #16 movk x6, #0xfb57, lsl #32 ldr x6, [x6] → blr x6 ↑ cbnz w0, 26c 548: ↓ cbz x24, 5b8 ldr x2, [x21] mov x0, x24 mov x1, x19 mov x3, x22 ldr x4, [x29, #16] ldr x5, [x24] ldr x5, [x5, #88] ldr x5, [x5, #8] → blr x5 asr w23, w0, #0 ldr x4, [x29, #16] add x0, x4, #0x50 mov w1, #0x2 // #2 cmp w23, #0x0 csel w1, wzr, w1, ne // ne = any strb w1, [x0, #62] ↓ cbz w23, 644 ldrb w0, [x4, #143] ↓ cbz w0, 644 ldr x0, [x4, #32] ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #56] → blr x1 ↓ b 63c 5b0: bl ffffffffff2a5f18