Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5006006001, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-45677-32540.so 0.53 stp x29, x30, [sp, #-80]! 0.79 stp x19, x20, [sp, #16] 0.26 stp x21, x22, [sp, #32] 0.79 stp x23, x24, [sp, #48] 0.35 stp x25, x26, [sp, #64] 0.61 mov x29, sp 0.09 mov x19, x0 0.09 ldr w20, [x19, #32] 0.44 asr w21, w20, #0 0.26 ldp x23, x22, [x19] 0.18 ldrb w24, [x19, #40] 0.09 ldrb w25, [x19, #44] 0.44 ldrb w0, [x19, #68] 0.18 ↓ cbnz w0, 2a4 0.26 38: ldr w0, [x19, #88] 0.61 ↓ cbz w0, 32c 0.18 uxtb w0, w1 0.26 cmp w0, #0x2c ↓ b.ne 254 0.88 add w0, w20, #0x1 0.18 str w0, [x19, #32] 0.53 ldr x0, [x19, #8] 0.09 add x0, x0, #0x1 0.35 str x0, [x19, #8] 0.09 ldr w0, [x19, #32] 0.18 ldr w1, [x19, #56] 0.09 cmp x1, w0, sxtw ↓ b.le 384 1.05 add x20, x19, #0x30 mov x1, x20 0.44 ldr w2, [x1, #8] 0.26 cmp w0, w2 ↓ b.cs 748 0.26 ldr x1, [x1] 0.53 ldrb w1, [x1, w0, uxtw #0] 0.26 cmp w1, #0x20 ↓ b.le 3e4 1.58 94: ldrsw x0, [x19, #32] 0.44 str x0, [x19, #24] 0.26 ldrb w0, [x19, #68] 0.44 cmp w0, #0x2 ↓ b.eq 478 0.53 a8: ldrb w0, [x19, #38] ↓ cbz w0, 68c 0.35 cmp w1, #0x22 ↓ b.ne 4a8 0.26 strb wzr, [x19, #44] 0.18 ldr w0, [x19, #32] add w0, w0, #0x1 0.09 ldr w1, [x20, #8] 0.18 cmp w0, w1 ↓ b.hi 510 0.09 ldr x2, [x20] 0.18 mov w3, w0 add x20, x2, x3 0.09 sub w26, w1, w0 0.70 cmp w26, #0x10 ↓ b.lt 230 0.35 ldr q16, [x20] 1.67 movi v17.16b, #0x20 0.26 cmhi v17.16b, v17.16b, v16.16b 0.09 movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b 0.18 orr v17.16b, v17.16b, v18.16b 0.18 movi v18.16b, #0x5c cmeq v16.16b, v16.16b, v18.16b 0.35 orr v16.16b, v17.16b, v16.16b 0.09 umaxp v17.4s, v16.4s, v16.4s 0.09 mov x0, v17.d[0] 0.44 cmp x0, #0x0 ↓ b.eq 204 24.45 shrn v16.8b, v16.8h, #4 mov x0, v16.d[0] 0.35 rbit x0, x0 0.18 clz x0, x0 asr w3, w0, #2 3.51 130: ↓ tbnz w3, #31, 550 9.73 cmp w3, w26 ↓ b.cs 748 0.53 ldrb w1, [x20, w3, uxtw #0] 7.01 cmp w1, #0x22 0.09 ↓ b.ne 528 3.07 ldr x1, [x19, #8] add w2, w3, #0x2 0.09 add x1, x1, w2, sxtw 0.18 str x1, [x19, #8] 0.35 cmp w3, w26 ↓ b.hi 510 0.26 str x20, [x19, #152] 0.26 str w3, [x19, #160] 0.35 strb wzr, [x19, #46] 0.61 mov w1, #0x7 // #7 0.35 strb w1, [x19, #40] 0.44 ldr w1, [x19, #32] add w1, w1, w3 0.44 add w1, w1, #0x2 0.35 str w1, [x19, #32] 0.79 184: ldr w0, [x19, #32] 2.54 ldr w1, [x19, #56] 0.18 cmp x1, w0, sxtw 0.61 ↓ b.le 5a8 5.52 add x20, x19, #0x30 mov x1, x20 0.35 ldr w2, [x1, #8] 0.26 cmp w0, w2 ↓ b.cs 748 0.18 ldr x1, [x1] 0.53 ldrb w2, [x1, w0, uxtw #0] 1.40 cmp w2, #0x20 ↓ b.le 5c8 2.89 1b8: cmp w2, #0x3a ↓ b.ne 664 1.05 ldr w3, [x19, #32] add w3, w3, #0x1 0.26 str w3, [x19, #32] 0.35 ldr x3, [x19, #8] add x3, x3, #0x1 0.44 str x3, [x19, #8] 0.18 mov w3, #0x5 // #5 0.35 strb w3, [x19, #40] 0.61 1e0: mov w20, wzr 0.09 1e4: ↓ cbnz w20, 714 0.44 mov w0, #0x1 // #1 0.44 ldp x25, x26, [sp, #64] 0.53 ldp x23, x24, [sp, #48] 0.35 ldp x21, x22, [sp, #32] 0.44 ldp x19, x20, [sp, #16] 0.35 ldp x29, x30, [sp], #80 0.09 ← ret 4.82 204: add x0, x20, #0x10 0.09 sub w1, w26, #0x10 mov x2, #0xc8b8 // #51384 movk x2, #0xddd5, lsl #16 0.09 movk x2, #0xe9da, lsl #32 0.09 ldr x2, [x2] → blr x2 add w1, w0, #0x10 0.09 cmp w0, #0x0 csel w3, w1, w0, ge // ge = tcont ↑ b 130 230: mov x0, x20 mov w1, w26 mov x2, #0xc8b8 // #51384 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 130 0.09 254: uxtb w0, w1 0.09 cmp w0, #0x7d ↓ b.ne 27c 260: mov x0, x19 mov x1, #0xc648 // #50760 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] 0.09 → blr x1 ↑ b 1e0 27c: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 6e8 288: mov x0, x19 mov x1, #0xc678 // #50808 movk x1, #0xddd5, lsl #16 0.09 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 0.09 ↑ b 1e0 2a4: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 308 uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 2dc mov x0, x19 mov x1, #0xc978 // #51576 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 1e0 ↓ b 638 2dc: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xc9c0 // #51648 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 1e4 308: uxtb w1, w1 mov x0, x19 mov x2, #0xc9d8 // #51672 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 1e4 32c: ldrb w0, [x19, #70] ↓ cbz w0, 358 uxtb w1, w1 mov x0, x19 mov x2, #0xc6a8 // #50856 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 1e0 ↓ b 638 358: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 384: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 638 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, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 3e4: mov x0, x19 mov x1, #0xc618 // #50712 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 454 mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 638 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 454: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 748 ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 478: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xc978 // #51576 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 1e0 ↓ b 638 4a8: cmp w1, #0x7d ↓ b.ne 4e4 ldrb w3, [x19, #69] ↑ cbnz w3, 260 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 4e4: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 510: mov x0, #0xdb00 // #56064 movk x0, #0xdd44, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 528: mov x1, x20 mov w2, w26 mov x0, x19 mov x4, #0xc7c8 // #51144 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 184 ↓ b 638 550: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 638 ldr x3, [x19, #8] add w4, w26, #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, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 5a8: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 638 ↓ b 60c 5c8: mov x0, x19 mov x1, #0xc618 // #50712 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 640 mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 638 60c: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 638: mov w20, #0x1 // #1 ↑ b 1e4 640: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 748 ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 1b8 664: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 68c: cmp w1, #0x5d ↓ b.ne 6c8 ldrb w3, [x19, #69] ↑ cbnz w3, 288 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 6c8: mov x0, x19 mov x2, #0xc690 // #50832 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 1e0 ↑ b 638 6e8: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 714: cmp w20, #0x1 ↓ b.ne 72c str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 72c: mov w0, wzr ldp x25, x26, [sp, #64] ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #80 ← ret 748: bl ffffffffff2b1d50 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5006006001, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-45677-32769.so 0.09 sub sp, sp, #0x1c0 stp x19, x20, [sp, #352] stp x21, x22, [sp, #368] stp x23, x24, [sp, #384] stp x25, x26, [sp, #400] 0.09 stp x27, x28, [sp, #416] stp x29, x30, [sp, #432] add x29, sp, #0x1b0 movi v16.16b, #0x0 sub x9, x29, #0x158 sub x10, x29, #0xa8 0.09 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] stp q16, q16, [x10, #32] mov x4, #0x56e6 // #22246 movk x4, #0x5fd9, lsl #16 movk x4, #0xccef, lsl #32 movk x4, #0xa51, lsl #48 stur x4, [x29, #-88] stur x1, [x29, #-104] stur x2, [x29, #-96] mov x19, x0 0.09 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 cmp w2, w0 ↓ b.gt 1fd4 0.09 mov x17, #0xfffffffffffffe58 // #-424 str xzr, [x29, x17] cmp w2, #0x55 ↓ b.le 1fc4 mov w0, #0x5555 // #21845 movk w0, #0x1555, lsl #16 cmp w2, w0 ↓ b.gt 1ff0 mov x0, #0x3338 // #13112 movk x0, #0x1d00, lsl #16 movk x0, #0xe9d3, lsl #32 ldr x21, [x0] mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdb8 // #3512 0.18 movk x0, #0x1d00, lsl #16 movk x0, #0xe9d3, lsl #32 ldr x24, [x0] sub w0, w23, #0x1 orr w0, w0, #0xf clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x2b80 // #11136 movk x0, #0xddd9, lsl #16 movk x0, #0xe9da, lsl #32 mov x1, #0x68c8 // #26824 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 0.45 ↓ cbz x0, 208c ldr w1, [x0, #8] 1.00 cmp w1, w25 ↓ b.ls 208c 0.18 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] ↓ cbz x26, 208c str xzr, [x0, x1] ldrb w0, [x24, #157] 0.09 ↓ cbnz w0, 2028 134: mov x17, #0xfffffffffffffe58 // #-424 str x26, [x29, x17] 0.09 13c: ↓ cbz x26, 2400 add x21, x26, #0x10 ldr w22, [x26, #8] 148: mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w22, [x29, x17] ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, x21 mov w3, w22 mov x4, #0xc030 // #49200 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 cmp w0, w22 ↓ b.hi 1f00 0.09 mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] 0.09 mov x17, #0xfffffffffffffe64 // #-412 str w0, [x29, x17] 0.09 stur x21, [x29, #-120] 0.09 stur w0, [x29, #-112] 0.09 ldur w21, [x29, #-112] 0.27 ↓ cbz w21, cd4 0.09 tst w20, #0xff ↓ b.ne d0c 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] mov x17, #0xfffffffffffffea0 // #-352 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea1 // #-351 strb wzr, [x29, x17] 0.09 mov x17, #0xfffffffffffffea2 // #-350 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea3 // #-349 0.09 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea4 // #-348 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea5 // #-347 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea8 // #-344 str xzr, [x29, x17] 0.09 sub x0, x29, #0x150 stp xzr, xzr, [x0] str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x170 0.09 mov w3, #0x1 // #1 0.09 mov x5, #0xc450 // #50256 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 0.09 ldr x5, [x5] → blr x5 ↓ b 258 0.64 22c: sub x0, x29, #0x138 mov w1, w2 0.36 mov x2, #0xc630 // #50736 movk x2, #0xddd5, lsl #16 0.18 movk x2, #0xe9da, lsl #32 0.45 ldr x2, [x2] 0.27 → blr x2 0.64 asr w20, w0, #0 0.54 24c: ↓ cbz w20, c08 0.91 250: tst w20, #0xff 0.18 ↓ b.eq c24 0.64 258: mov x17, #0xfffffffffffffef3 // #-269 0.64 ldrb w0, [x29, x17] 1.27 ↓ cbnz w0, 1ad0 1.45 mov w20, wzr 1.09 stp xzr, xzr, [x29, #-160] 1.00 mov x17, #0xfffffffffffffef6 // #-266 1.27 strb wzr, [x29, x17] 0.64 mov x17, #0xfffffffffffffee8 // #-280 1.27 ldr w0, [x29, x17] sxtw x1, w0 0.82 ldur w2, [x29, #-256] 0.18 cmp x1, w2, uxtw 0.91 ↓ b.ge bac 9.07 cmp w0, w2 ↓ b.cs 1f18 0.73 mov x17, #0xfffffffffffffef8 // #-264 0.45 ldr x1, [x29, x17] 0.64 ldrb w2, [x1, w0, uxtw #0] 1.81 cmp w2, #0x20 ↓ b.le d28 2.00 2a8: mov x17, #0xfffffffffffffee8 // #-280 0.82 ldrsw x0, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 1.00 str x0, [x29, x17] 0.36 mov x17, #0xfffffffffffffef0 // #-272 0.73 ldrb w0, [x29, x17] 0.64 ↓ cbz w0, b88 0.36 cmp w2, #0x2f ↑ b.eq 22c 0.82 cmp w0, #0x1 ↓ b.eq 994 0.54 cmp w0, #0x3 ↓ b.eq 6a4 0.73 cmp w0, #0x5 ↑ b.ne 22c 0.54 mov x17, #0xfffffffffffffef4 // #-268 0.82 strb wzr, [x29, x17] 0.09 cmp w2, #0x22 ↓ b.eq 564 0.18 2f4: cmp w2, #0x7b ↓ b.eq 4b4 0.45 cmp w2, #0x5b ↓ b.eq 404 1.63 sub w0, w2, #0x30 0.09 mov w1, #0x2d // #45 0.09 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore 0.09 ↓ b.eq 1480 2.27 cmp w2, #0x66 ↓ b.ne 3c8 0.27 mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w0, [x29, x17] 0.18 ldur w20, [x29, #-256] cmp w0, w20 ↓ b.hi 1f00 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] 0.09 mov w2, w0 0.09 add x22, x1, x2 0.18 sub w20, w20, w0 mov x0, x22 0.09 mov w1, w20 mov x2, #0xc66e // #50798 movk x2, #0x27e6, lsl #16 movk x2, #0xe9db, lsl #32 mov w3, #0x5 // #5 0.09 mov x4, #0xcb28 // #52008 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] 0.09 → blr x4 0.36 ↓ cbz w0, 19bc 0.36 cmp w20, #0x5 ↓ b.cc 1f00 0.09 stur x22, [x29, #-160] mov w1, #0x5 // #5 stur w1, [x29, #-152] 0.36 mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w1, [x29, x17] 0.09 add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 0.18 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] 0.09 add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 0.18 str x1, [x29, x17] mov w20, #0x1 // #1 3c4: ↓ b 650 0.09 3c8: cmp w2, #0x74 ↓ b.ne 1300 mov x1, #0xc6d2 // #50898 movk x1, #0x27e6, lsl #16 movk x1, #0xe9db, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 0.09 mov w3, #0x9 // #9 mov x4, #0xc930 // #51504 0.09 movk x4, #0xddd5, lsl #16 0.09 movk x4, #0xe9da, lsl #32 0.18 ldr x4, [x4] → blr x4 0.09 asr w20, w0, #0 ↓ b 650 0.09 404: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c68 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1460 ldur x0, [x29, #-232] lsl x0, x0, #1 0.09 stur x0, [x29, #-232] 42c: ldur w0, [x29, #-224] add w0, w0, #0x1 0.09 stur w0, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] mov w1, w0 0.09 add x1, x1, #0x1 ldur w2, [x29, #-256] cmp x1, x2 ↓ b.hi 1f00 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w0, w0 add x0, x1, x0 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x3 // #3 0.18 mov x17, #0xfffffffffffffef0 // #-272 0.09 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb wzr, [x29, x17] 4ac: mov w20, #0x1 // #1 ↓ b 650 4b4: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c3c ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1440 ldur x0, [x29, #-232] lsl x0, x0, #1 orr x0, x0, #0x1 stur x0, [x29, #-232] 4e0: 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 1f00 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w0, w0 add x0, x1, x0 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x1 // #1 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb w0, [x29, x17] ↑ b 4ac 564: mov x17, #0xfffffffffffffee8 // #-280 0.18 ldr w0, [x29, x17] 0.09 add w0, w0, #0x1 0.09 ldur w1, [x29, #-256] 0.27 cmp w0, w1 ↓ b.hi 1f00 0.09 mov x17, #0xfffffffffffffef8 // #-264 0.27 ldr x2, [x29, x17] 0.09 mov w3, w0 0.09 add x20, x2, x3 0.09 sub w22, w1, w0 0.18 cmp w22, #0x10 ↓ b.lt 680 0.27 ldr q16, [x20] 0.54 movi v17.16b, #0x20 0.09 cmhi v17.16b, v17.16b, v16.16b movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b orr v17.16b, v17.16b, v18.16b 0.09 movi v18.16b, #0x5c 0.09 cmeq v16.16b, v16.16b, v18.16b 0.09 orr v16.16b, v17.16b, v16.16b umaxp v17.4s, v16.4s, v16.4s 0.45 mov x0, v17.d[0] 0.09 cmp x0, #0x0 ↓ b.eq 654 13.97 shrn v16.8b, v16.8h, #4 mov x0, v16.d[0] rbit x0, x0 0.09 clz x0, x0 asr w3, w0, #2 5e0: ↓ tbnz w3, #31, 141c 5.63 cmp w3, w22 ↓ b.cs 1f18 0.18 ldrb w1, [x20, w3, uxtw #0] 3.18 cmp w1, #0x22 ↓ b.ne 13f4 1.27 mov x17, #0xfffffffffffffed0 // #-304 0.18 ldr x1, [x29, x17] 0.18 add w2, w3, #0x2 add x1, x1, w2, sxtw 0.36 mov x17, #0xfffffffffffffed0 // #-304 0.09 str x1, [x29, x17] 0.27 cmp w3, w22 ↓ b.hi 1f00 0.09 stur x20, [x29, #-160] 0.09 stur w3, [x29, #-152] 0.09 mov x17, #0xfffffffffffffef6 // #-266 0.18 strb wzr, [x29, x17] 0.09 mov w1, #0x7 // #7 mov x17, #0xfffffffffffffef0 // #-272 0.18 strb w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffee8 // #-280 0.27 ldr w1, [x29, x17] 0.09 add w1, w1, w3 0.27 add w1, w1, #0x2 0.09 mov x17, #0xfffffffffffffee8 // #-280 0.18 str w1, [x29, x17] 0.18 mov w20, #0x1 // #1 0.36 650: ↑ b 24c 654: add x0, x20, #0x10 sub w1, w22, #0x10 mov x2, #0xc8b8 // #51384 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, 13f0 add w3, w3, #0x10 ↑ b 5e0 680: mov x0, x20 mov w1, w22 mov x2, #0xc8b8 // #51384 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 5e0 6a4: cmp w2, #0x5d ↓ b.eq fb0 6ac: mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] cmp w2, #0x22 ↓ b.eq 874 cmp w2, #0x7b ↓ b.eq 858 cmp w2, #0x5b ↓ b.eq 838 sub w0, w2, #0x30 mov w1, #0x2d // #45 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore ↓ b.eq 11cc cmp w2, #0x66 ↓ b.ne 794 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1f00 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w3, w1 add x2, x2, x3 ldur w3, [x29, #-256] sub w3, w3, w1 cmp w3, #0x5 ↓ b.lt 11ec mov x1, x2 mov x4, #0xc66e // #50798 movk x4, #0x27e6, lsl #16 movk x4, #0xe9db, lsl #32 ldr w0, [x1] ldur w1, [x1, #1] ldr w5, [x4] ldur w4, [x4, #1] cmp w0, w5 ccmp w1, w4, #0x0, eq // eq = none cset x1, eq // eq = none ↓ cbz w1, 11ec stur x2, [x29, #-160] mov w1, #0x5 // #5 stur w1, [x29, #-152] mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w20, #0x1 // #1 790: ↓ b 964 794: cmp w2, #0x74 ↓ b.ne fcc mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1f00 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w3, w1 add x2, x2, x3 ldur w3, [x29, #-256] sub w3, w3, w1 cmp w3, #0x4 ↓ b.lt 1224 mov x1, #0xc6d2 // #50898 movk x1, #0x27e6, lsl #16 movk x1, #0xe9db, lsl #32 ldr w4, [x2] ldr w1, [x1] cmp w4, w1 cset x1, eq // eq = none ↓ cbz w1, 1224 stur x2, [x29, #-160] mov w1, #0x4 // #4 stur w1, [x29, #-152] mov w1, #0x9 // #9 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x4 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x4 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w20, #0x1 // #1 834: ↓ b 964 838: sub x0, x29, #0x138 mov x1, #0xc8e8 // #51432 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 850: mov w20, #0x1 // #1 0.18 ↓ b 964 858: sub x0, x29, #0x138 0.09 mov x1, #0xc8d0 // #51408 0.09 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 850 874: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1f00 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w2, w0 add x20, x1, x2 ldur w1, [x29, #-256] sub w23, w1, w0 cmp w23, #0x10 ↓ b.lt 110c ldr q16, [x20] movi v17.16b, #0x20 cmhi v17.16b, v17.16b, v16.16b movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b orr v17.16b, v17.16b, v18.16b movi v18.16b, #0x5c cmeq v16.16b, v16.16b, v18.16b orr v16.16b, v17.16b, v16.16b umaxp v17.4s, v16.4s, v16.4s mov x0, v17.d[0] cmp x0, #0x0 ↓ b.eq 968 shrn v16.8b, v16.8h, #4 mov x0, v16.d[0] rbit x0, x0 clz x0, x0 asr w3, w0, #2 8f4: ↓ tbnz w3, #31, 115c cmp w3, w23 ↓ b.cs 1f18 ldrb w1, [x20, w3, uxtw #0] cmp w1, #0x22 ↓ b.ne 1134 mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add w2, w3, #0x2 add x1, x1, w2, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] cmp w3, w23 ↓ b.hi 1f00 stur x20, [x29, #-160] stur w3, [x29, #-152] mov x17, #0xfffffffffffffef6 // #-266 strb wzr, [x29, x17] mov w1, #0x7 // #7 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, w3 add w1, w1, #0x2 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov w20, #0x1 // #1 964: ↑ b 24c 968: add x0, x20, #0x10 sub w1, w23, #0x10 mov x2, #0xc8b8 // #51384 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, 1130 add w3, w3, #0x10 ↑ b 8f4 994: cmp w2, #0x7d ↓ b.eq de0 0.09 cmp w2, #0x22 ↓ b.ne 1b54 0.18 mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w22, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x23, [x29, x17] 0.09 mov x17, #0xfffffffffffffec8 // #-312 ldr x24, [x29, x17] mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w0, [x29, x17] add w0, w0, #0x1 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1f00 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w2, w0 0.09 add x20, x1, x2 0.09 ldur w1, [x29, #-256] sub w25, w1, w0 0.09 cmp w25, #0x10 ↓ b.lt b64 ldr q16, [x20] 0.64 movi v17.16b, #0x20 cmhi v17.16b, v17.16b, v16.16b movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b orr v17.16b, v17.16b, v18.16b movi v18.16b, #0x5c 0.09 cmeq v16.16b, v16.16b, v18.16b orr v16.16b, v17.16b, v16.16b umaxp v17.4s, v16.4s, v16.4s mov x0, v17.d[0] cmp x0, #0x0 ↓ b.eq b38 2.27 shrn v16.8b, v16.8h, #4 mov x0, v16.d[0] 0.09 rbit x0, x0 clz x0, x0 asr w3, w0, #2 0.09 a44: ↓ tbnz w3, #31, e28 1.27 cmp w3, w25 ↓ b.cs 1f18 ldrb w1, [x20, w3, uxtw #0] 0.82 cmp w1, #0x22 ↓ b.ne e00 0.45 mov x17, #0xfffffffffffffed0 // #-304 0.09 ldr x1, [x29, x17] add w2, w3, #0x2 add x1, x1, w2, sxtw 0.09 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] 0.09 cmp w3, w25 ↓ b.hi 1f00 0.09 stur x20, [x29, #-160] stur w3, [x29, #-152] 0.09 mov x17, #0xfffffffffffffef6 // #-266 strb wzr, [x29, x17] 0.09 mov w1, #0x7 // #7 mov x17, #0xfffffffffffffef0 // #-272 0.09 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, w3 add w1, w1, #0x2 0.18 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] 0.18 ab0: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] 0.18 ldur w1, [x29, #-256] 0.09 cmp x0, x1 ↓ b.ge e90 0.64 mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] 0.45 cmp w2, #0x20 ↓ b.le ee0 0.09 aec: cmp w2, #0x3a ↓ b.ne 1b7c mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] 0.09 add w0, w0, #0x1 0.09 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] 0.09 mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] 0.18 add x0, x0, #0x1 0.27 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x5 // #5 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] 0.09 mov w0, #0x1 // #1 b2c: asr w20, w0, #0 0.09 ↑ cbnz w0, 24c ↓ b f88 b38: add x0, x20, #0x10 sub w1, w25, #0x10 mov x2, #0xc8b8 // #51384 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, dfc add w3, w3, #0x10 ↑ b a44 b64: mov x0, x20 mov w1, w25 mov x2, #0xc8b8 // #51384 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b a44 b88: sub x0, x29, #0x138 mov w1, w2 mov x2, #0xc6a8 // #50856 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 0.09 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 24c 0.09 bac: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbnz w0, d18 bd0: ldur w0, [x29, #-224] ↓ cbnz w0, 1afc ldurb w0, [x29, #-244] 0.09 mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x2 ccmp w1, #0x6, #0x0, eq // eq = none ↑ b.eq 24c mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] cmp w0, #0x4 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 24c ↓ b 1e64 0.09 c08: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] 0.09 ↑ cbz w0, 250 0.09 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] ↑ cbnz w0, 250 ↓ b 1af0 0.09 c24: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] strb w0, [x19, #58] c30: add w1, w21, #0x1 ldr w0, [x19, #76] ldr w2, [x19, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.lt 1ee4 c48: add x0, x19, #0x40 mov x1, #0x6bf8 // #27640 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 0.09 ldr x1, [x1] → blr x1 0.18 ldr w2, [x19, #40] ↓ tbz w2, #31, c84 ldr w2, [x19, #52] add w3, w2, #0x1 str w3, [x19, #52] cmp w2, w1 ↓ b.cs 1f18 0.18 mov w3, #0x2c // #44 strb w3, [x0, w2, uxtw #0] c84: ldr w2, [x19, #52] 0.09 cmp w2, w1 ↓ b.hi 1f00 mov w3, w2 0.09 add x0, x0, x3 sub w2, w1, w2 mov x1, x0 sub x0, x29, #0x78 mov x3, #0xc408 // #50184 0.09 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 ldr w1, [x19, #52] add w1, w1, w21 str w1, [x19, #52] ldr w1, [x19, #40] orr w1, w1, #0x80000000 str w1, [x19, #40] 0.09 ↓ b 1f20 cd4: mov x0, #0x640 // #1600 movk x0, #0x24a2, lsl #16 movk x0, #0xe9db, lsl #32 mov x1, #0xc390 // #50064 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x1, #0xc3a8 // #50088 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 d0c: mov w0, #0x7 // #7 strb w0, [x19, #58] ↑ b c30 d18: mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↑ cbz w0, 24c ↑ b bd0 d28: sub x0, x29, #0x138 mov x1, #0xc618 // #50712 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt dbc mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, d84 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↑ cbz w0, 24c d84: ldur w0, [x29, #-224] ↓ cbnz w0, 1b28 ldurb w0, [x29, #-244] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x2 ccmp w1, #0x6, #0x0, eq // eq = none ↑ b.eq 24c mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] cmp w0, #0x4 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 24c ↓ b 1e64 dbc: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] ↑ b 2a8 de0: sub x0, x29, #0x138 mov x1, #0xc648 // #50760 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ b 1ac8 dfc: ↑ b a44 e00: mov x1, x20 mov w2, w25 sub x0, x29, #0x138 mov x4, #0xc7c8 // #51144 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, ab0 ↓ b f5c e28: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f5c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, e4c mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f5c e4c: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add w3, w25, #0x1 add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 e90: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f5c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, eb4 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f5c eb4: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 ee0: sub x0, x29, #0x138 mov x1, #0xc618 // #50712 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt f64 mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f5c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, f30 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f5c f30: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 f5c: mov w0, wzr ↑ b b2c f64: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] ↑ b aec f88: mov x17, #0xfffffffffffffee8 // #-280 str w22, [x29, x17] mov w0, #0x1 // #1 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 str x23, [x29, x17] mov x17, #0xfffffffffffffec8 // #-312 str x24, [x29, x17] ↑ b 24c fb0: sub x0, x29, #0x138 mov x1, #0xc678 // #50808 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ b 1ac8 fcc: cmp w2, #0x6e ↓ b.eq 125c ldurb w0, [x29, #-244] ↓ cbz w0, 1bd0 cmp w0, #0x2 ↓ b.eq 1290 cmp w2, #0x2f ↓ b.ne 1bd0 sub x0, x29, #0x138 mov x1, #0xc990 // #51600 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 10b8 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge 12b8 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] cmp w2, #0x20 ↓ b.gt 10f8 sub x0, x29, #0x138 mov x1, #0xc618 // #50712 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x1, [x29, x17] ldur w2, [x29, #-256] cmp x1, x2 ↓ b.lt 10d8 mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbz w0, 10b8 sub x0, x29, #0x138 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 10b8 ldur w0, [x29, #-224] ↓ cbnz w0, 1ba4 ldurb w0, [x29, #-244] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x2 ccmp w1, #0x6, #0x0, eq // eq = none ↓ b.ne 10c0 10b8: mov w20, wzr ↑ b 964 10c0: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] cmp w0, #0x4 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 10b8 ↓ b 1e64 10d8: mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.cs 1f18 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] ldrb w2, [x2, w1, uxtw #0] 10f8: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x1, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 str x1, [x29, x17] ↑ b 6ac 110c: mov x0, x20 mov w1, w23 mov x2, #0xc8b8 // #51384 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 8f4 1130: ↑ b 8f4 1134: mov x1, x20 mov w2, w23 sub x0, x29, #0x138 mov x4, #0xc7c8 // #51144 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 964 115c: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, 11c4 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, 1180 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, 11c4 1180: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add w3, w23, #0x1 add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 11c4: mov w20, wzr ↑ b 964 11cc: sub x0, x29, #0x138 mov x1, #0xc900 // #51456 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 964 11ec: mov x1, x2 mov w2, w3 mov x3, #0xc66e // #50798 movk x3, #0x27e6, lsl #16 movk x3, #0xe9db, lsl #32 mov w4, #0x5 // #5 sub x0, x29, #0x138 mov x5, #0xcb40 // #52032 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 790 1224: mov x1, x2 mov w2, w3 mov x3, #0xc6d2 // #50898 movk x3, #0x27e6, lsl #16 movk x3, #0xe9db, lsl #32 mov w4, #0x4 // #4 sub x0, x29, #0x138 mov x5, #0xcb40 // #52032 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 834 125c: mov x1, #0xc669 // #50793 movk x1, #0x27e6, lsl #16 movk x1, #0xe9db, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 mov w3, #0xb // #11 mov x4, #0xc930 // #51504 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 964 1290: cmp w2, #0x2f ↓ b.ne 1bd0 sub x0, x29, #0x138 mov x1, #0xc978 // #51576 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 964 12b8: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 10b8 sub x0, x29, #0x138 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ cbz w0, 10b8 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x4 ccmp w1, #0x2, #0x4, ne // ne = any ↑ b.eq 10b8 ↓ b 1e64 1300: cmp w2, #0x6e ↓ b.eq 19f4 ldurb w0, [x29, #-244] ↓ cbz w0, 1e90 cmp w0, #0x2 ↓ b.eq 1a54 cmp w2, #0x2f ↓ b.ne 1e90 sub x0, x29, #0x138 mov x1, #0xc990 // #51600 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1ac0 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge 1a7c mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] cmp w2, #0x20 ↓ b.gt 13cc sub x0, x29, #0x138 mov x1, #0xc618 // #50712 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 sub x0, x29, #0x138 mov x1, #0xc600 // #50688 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1ac0 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] 13cc: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 str x0, [x29, x17] mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] cmp w2, #0x22 ↑ b.ne 2f4 ↑ b 564 13f0: ↑ b 5e0 13f4: mov x1, x20 mov w2, w22 sub x0, x29, #0x138 mov x4, #0xc7c8 // #51144 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 650 141c: sub x0, x29, #0x138 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1bf8 mov w20, wzr ↑ b 650 1440: sub x0, x29, #0xf0 mov w1, #0x1 // #1 mov x2, #0xcba0 // #52128 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 4e0 1460: sub x0, x29, #0xf0 mov w1, wzr mov x2, #0xcba0 // #52128 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 42c 0.09 1480: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w20, [x29, #-256] cmp w0, w20 ↓ b.hi 1f00 mov x17, #0xfffffffffffffef8 // #-264 0.09 ldr x1, [x29, x17] mov w2, w0 add x1, x1, x2 sub w0, w20, w0 0.09 mov x17, #0xfffffffffffffe78 // #-392 0.09 str x1, [x29, x17] 0.18 mov x17, #0xfffffffffffffe80 // #-384 0.09 str w0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 str wzr, [x29, x17] 0.18 mov x17, #0xfffffffffffffe88 // #-376 0.09 ldr w0, [x29, x17] 0.09 mov x17, #0xfffffffffffffe80 // #-384 0.18 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] ldrb w0, [x1, w0, uxtw #0] 0.09 cmp w0, #0x2d ↓ b.ne 156c mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.lt 153c sub x0, x29, #0x138 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1c94 1534: mov w20, wzr ↓ b 19b8 153c: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] sub w0, w2, #0x30 cmp w0, #0x9 ↓ b.hi 1cdc 0.54 156c: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] 0.18 cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] 0.09 mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] 0.09 ldrb w0, [x0, w1, uxtw #0] cmp w0, #0x30 ↓ b.ne 15fc sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xca20 // #51744 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1534 ↓ cbz w0, 1930 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w2, [x0, w1, uxtw #0] ↓ b 1830 0.09 15fc: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 0.09 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] mov w0, wzr 0.09 mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffe80 // #-384 ldr w2, [x29, x17] cmp w1, w2 ↓ b.ge 1688 162c: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 0.18 ldr w1, [x29, x17] cmp w0, w1 0.18 ↓ b.cs 1f18 0.18 mov x17, #0xfffffffffffffe78 // #-392 0.09 ldr x1, [x29, x17] ldrb w0, [x1, w0, uxtw #0] 0.09 sub w1, w0, #0x30 0.09 cmp w1, #0x9 ↓ b.hi 1688 mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] add w1, w1, #0x1 mov x17, #0xfffffffffffffe88 // #-376 0.09 str w1, [x29, x17] 0.27 mov x17, #0xfffffffffffffe88 // #-376 0.09 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w2, [x29, x17] cmp w1, w2 ↑ b.lt 162c 1688: mov x17, #0xfffffffffffffe88 // #-376 0.09 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 0.09 ldr w2, [x29, x17] cmp w1, w2 ↓ b.lt 16c4 sub x0, x29, #0x138 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 17dc mov w20, #0x2 // #2 ↓ b 17e0 0.18 16c4: mov x1, #0xc621 // #50721 0.09 movk x1, #0x27e6, lsl #16 movk x1, #0xe9db, lsl #32 0.09 mov w2, #0x8 // #8 mov x3, xzr 16d8: sub w2, w2, #0x8 0.09 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x1 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x2 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x3 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x4 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x5 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x6 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x7 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x3, x3, #0x8 cmp w2, #0x8 ↑ b.ge 16d8 cmp w2, #0x4 ↓ b.lt 17cc sub w2, w2, #0x4 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x1 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x2 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x4, x3, #0x3 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x3, x3, #0x4 cmp w2, #0x0 ↓ b.le 17d4 17b8: sub w2, w2, #0x1 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17dc add x3, x3, #0x1 17cc: cmp w2, #0x0 ↑ b.gt 17b8 17d4: mov w20, #0x1 // #1 ↓ b 17e0 17dc: mov w20, wzr 17e0: cmp w20, #0x2 ↑ b.eq 1534 ↓ cbz w20, 1930 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w2, [x0, w1, uxtw #0] mov w0, #0x45 // #69 mov w1, #0x65 // #101 cmp w2, #0x2e ccmp w2, w0, #0x4, ne // ne = any ccmp w2, w1, #0x4, ne // ne = any ↓ b.ne 1d20 1830: cmp w2, #0x2e ↓ b.ne 18b4 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xca50 // #51792 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1534 ↓ cbz w0, 1930 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f18 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w2, [x0, w1, uxtw #0] mov w0, #0x65 // #101 cmp w2, #0x45 ccmp w2, w0, #0x4, ne // ne = any ↓ b.ne 1d64 18b4: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xca68 // #51816 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1534 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xca38 // #51768 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1534 ↓ cbnz w0, 1da8 1930: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.hi 1f00 0.09 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] 0.09 stur x1, [x29, #-160] 0.09 stur w0, [x29, #-152] mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] 0.09 mov w1, #0x8 // #8 0.09 mov x17, #0xfffffffffffffef0 // #-272 0.09 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, w0 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffed0 // #-304 0.09 ldr x1, [x29, x17] add x0, x1, w0, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt 19b4 mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbnz w0, 1e18 0.09 19b4: mov w20, #0x1 // #1 19b8: ↑ b 650 19bc: mov x1, x22 mov w2, w20 mov x3, #0xc66e // #50798 movk x3, #0x27e6, lsl #16 movk x3, #0xe9db, lsl #32 mov w4, #0x5 // #5 sub x0, x29, #0x138 mov x5, #0xcb40 // #52032 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 3c4 19f4: stp xzr, xzr, [x29, #-408] sub x0, x29, #0x198 mov x1, #0xc669 // #50793 movk x1, #0x27e6, lsl #16 movk x1, #0xe9db, lsl #32 mov w2, #0x4 // #4 mov x3, #0x55f0 // #22000 movk x3, #0xdd79, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] mov x17, #0xfffffffffffffe70 // #-400 ldr x2, [x29, x17] sub x0, x29, #0x138 mov w3, #0xb // #11 mov x4, #0xc930 // #51504 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 650 1a54: cmp w2, #0x2f ↓ b.ne 1e90 sub x0, x29, #0x138 mov x1, #0xc978 // #51576 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 650 1a7c: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbz w0, 1ac0 sub x0, x29, #0x138 mov x1, #0xc6c0 // #50880 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1ac0 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x4 ccmp w1, #0x2, #0x4, ne // ne = any ↓ b.ne 1e64 1ac0: mov w20, wzr ↑ b 650 1ac8: mov w20, #0x1 // #1 ↑ b 24c 1ad0: sub x0, x29, #0x138 mov x1, #0xc5b8 // #50616 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 24c 1af0: ldurb w0, [x29, #-242] ↑ cbnz w0, 250 ↓ b 1eb8 1afc: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b28: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b54: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xc // #12 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b7c: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xb // #11 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ba4: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1bd0: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xf // #15 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1bf8: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add w3, w22, #0x1 add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c3c: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x18 // #24 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c68: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, wzr mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c94: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x5 // #5 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1cdc: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x4 // #4 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d20: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x7 // #7 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d64: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x9 // #9 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1da8: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w3, [x29, x17] cmp w0, w3 ↓ b.cs 1f18 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] ldrb w2, [x0, w3, uxtw #0] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x7 // #7 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e18: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] sub w0, w0, #0x1 ldur w3, [x29, #-256] cmp w0, w3 ↓ b.cs 1f18 mov x17, #0xfffffffffffffef8 // #-264 ldr x3, [x29, x17] ldrb w2, [x3, w0, uxtw #0] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x7 // #7 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e64: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x16 // #22 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e90: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xf // #15 mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1eb8: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x20 // #32 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ee4: mov x0, x19 mov x2, #0x6be0 // #27616 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b c48 1f00: mov x0, #0xdb00 // #56064 movk x0, #0xdd44, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1f18: bl ffffffffff29cae8 ,bool)[OptimizedTier1]+0xffffffffff29ca68> brk #0xf000 1f20: mov x17, #0xfffffffffffffe58 // #-424 0.09 ldr x1, [x29, x17] 0.09 ↓ cbz x1, 1f80 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 0.09 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0xdd25, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x1d00, lsl #16 movk x0, #0xe9d3, lsl #32 0.09 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] 0.27 mov w2, wzr 0.09 mov x3, #0x2b50 // #11088 movk x3, #0xddd9, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] 0.09 → blr x3 1f80: mov x16, #0x56e6 // #22246 0.09 movk x16, #0x5fd9, lsl #16 0.09 movk x16, #0xccef, lsl #32 0.09 movk x16, #0xa51, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 ↓ b.eq 1fa0 bl ffffffffff2ed110 ,bool)[OptimizedTier1]+0xffffffffff2ed090> 1fa0: sub sp, x29, #0x1b0 ldp x29, x30, [sp, #432] ldp x27, x28, [sp, #416] ldp x25, x26, [sp, #400] ldp x23, x24, [sp, #384] 0.09 ldp x21, x22, [sp, #368] ldp x19, x20, [sp, #352] add sp, sp, #0x1c0 0.09 ← ret 1fc4: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 1fd4: mov w0, w2 mov x1, #0x7fa8 // #32680 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 1ff0: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7fc0 // #32704 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb1e0 // #45536 movk x0, #0xdd35, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2ed190 ,bool)[OptimizedTier1]+0xffffffffff2ed110> mov x26, x0 ↑ b 13c 2028: mov x0, x26 mov x1, #0xe010 // #57360 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xe010 // #57360 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, 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, #0xc000 // #49152 movk x5, #0xddf4, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 208c: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 22d0 add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 22c4 ldr x26, [x0, #8] mov x0, #0x8cd8 // #36056 movk x0, #0xde02, lsl #16 movk x0, #0xe9da, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xdd25, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0xdc02, lsl #16 movk x0, #0xe9da, lsl #32 ldrb w0, [x0] ↓ cbz w0, 20ec bl fffffffffff936d8 ,bool)[OptimizedTier1]+0xfffffffffff93658> asr w21, w0, #0 ↓ b 2160 20ec: mov x0, #0x8d28 // #36136 movk x0, #0xde02, lsl #16 movk x0, #0xe9da, lsl #32 mov x1, #0xc018 // #49176 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0x8d28 // #36136 movk x0, #0xde02, lsl #16 movk x0, #0xe9da, lsl #32 mov x1, #0xc018 // #49176 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 215c mov x0, #0xc030 // #49200 movk x0, #0xddf4, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2160 215c: asr w21, w23, #16 2160: mov x0, #0x8b30 // #35632 movk x0, #0xde02, lsl #16 movk x0, #0xe9da, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xdd25, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0xdc02, lsl #16 movk x0, #0xe9da, lsl #32 ldr w0, [x0] ↓ cbz w0, 240c udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 2238 21a4: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 2414 add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0xc048 // #49224 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, 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 2204 add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 2204: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0xdd25, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 2248 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 2234 mov w21, wzr 2234: add w23, w23, #0x1 2238: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 21a4 ↓ b 2250 2248: mov x26, x28 ↓ b 2254 2250: mov x26, xzr 2254: ↓ cbz x26, 22c4 ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xe010 // #57360 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xe010 // #57360 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, 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, #0xc000 // #49152 movk x5, #0xddf4, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 22c4: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 22f4 22d0: mov w0, w23 mov x1, #0x4c40 // #19520 movk x1, #0x24a0, lsl #16 movk x1, #0xe9db, lsl #32 mov x2, #0x5e90 // #24208 movk x2, #0xdd89, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 22f4: cmp w23, #0x800 ↓ b.ge 2318 sxtw x1, w23 mov x0, #0xb1e0 // #45536 movk x0, #0xdd35, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2ed190 ,bool)[OptimizedTier1]+0xffffffffff2ed110> mov x26, x0 ↓ b 2338 2318: mov w0, w23 mov w1, wzr mov x2, #0x7e40 // #32320 movk x2, #0xddc8, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 2338: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xe010 // #57360 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xe010 // #57360 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, 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, #0xc000 // #49152 movk x5, #0xddf4, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xe010 // #57360 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, 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, #0xc060 // #49248 movk x6, #0xddf4, lsl #16 movk x6, #0xe9da, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 2400: mov x21, xzr mov w22, wzr ↑ b 148 240c: bl ffffffffff29cb00 ,bool)[OptimizedTier1]+0xffffffffff29ca80> brk #0xf000 2414: bl ffffffffff29cae8 ,bool)[OptimizedTier1]+0xffffffffff29ca68> 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, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] ↓ cbz x1, 2498 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0xdd25, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x1d00, lsl #16 movk x0, #0xe9d3, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x2b50 // #11088 movk x3, #0xddd9, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 2498: 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.): 5006006001, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-45677-32811.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, #0xc8 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, #0xdd36, lsl #16 movk x0, #0xe9da, lsl #32 mov x1, #0x68c8 // #26824 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 1348 80: ldr x2, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xdd9e, lsl #16 movk x1, #0xe9da, lsl #32 cmp x2, x1 ↓ b.ne 143c ldrb w2, [x21, #43] ↓ cbz w2, 1384 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, 13a0 str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 1470 ↓ tbnz w22, #31, 1488 ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 14d8 ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 1540 e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 1568 f4: ldr x22, [x20, #16] ↓ cbz x22, 1570 ldr x0, [x22, #16] ↓ cbz x0, 15dc 104: ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xdd9e, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 15fc ldrb w20, [x21, #41] 120: ↓ cbz w20, 1618 add x14, x22, #0x10 mov x15, x21 bl fffffffffe054e34 ldr x20, [x22, #24] ↓ cbz x20, 1668 ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 16a0 ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 2948 add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0xdd25, lsl #16 movk x2, #0xe9da, 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] 0.10 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] 0.10 cmp w0, w1 ↓ b.ge 16b0 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 16cc ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 16ec 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 170c 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 2948 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 29b8 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 29b8 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, #0x24a1, lsl #16 movk x20, #0xe9db, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] cmp w2, w3 ↓ b.ge 1728 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #824] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0x1d00, lsl #16 movk x2, #0xe9d3, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0x7bf0 // #31728 movk x3, #0xddd7, lsl #16 movk x3, #0xe9da, lsl #32 cmp x2, x3 ↓ b.ne 1750 ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7df8 // #32248 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #824] cmn w4, #0x1 ↓ b.ne 176c ldr w0, [x22, #124] ↓ tbz w0, #1, 1794 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1818 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 1840 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 1860 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 2948 add x24, x24, x2 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 187c 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 29b8 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 2948 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, #0xdd25, lsl #16 movk x6, #0xe9da, 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 29b8 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 29b8 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 29b8 0.10 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 eac 494: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↓ b ee8 4a4: ldr x0, [x24] 1.95 mov x1, #0xea30 // #59952 0.20 movk x1, #0xdd28, lsl #16 0.20 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne ef0 0.20 ldr w0, [x24, #8] ↓ cbz w0, eac 0.10 ldr w0, [x22, #124] ↓ tbz w0, #1, 18bc 4cc: add x1, x24, #0xc ldr w2, [x24, #8] mov x0, x22 mov w3, wzr mov x4, #0x7f90 // #32656 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 0.10 ↓ b eac 4f4: ldr x7, [x29, #96] 4f8: ldapur x5, [x5, #24] ↓ cbz x5, 203c ldr w2, [x29, #460] 504: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 4f4 str x5, [x29, #40] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xdd73, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 1fc4 ldr x4, [x29, #48] ↓ cbz x6, 1ffc ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xdc02, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 2008 ldr x7, [x29, #96] cmp x7, x6 cset x8, eq // eq = none 55c: ↓ cbz w8, 2034 ↓ b b88 564: ldr x28, [x29, #624] ↓ cbz x28, 248c ldr x1, [x28] mov x0, #0x7ac0 // #31424 0.10 movk x0, #0xdd26, lsl #16 0.10 movk x0, #0xe9da, lsl #32 0.10 cmp x1, x0 0.10 ↓ b.eq 5a8 mov x1, x28 mov x0, #0x7ac0 // #31424 movk x0, #0xdd26, lsl #16 movk x0, #0xe9da, lsl #32 mov x2, #0x58c0 // #22720 movk x2, #0xdd25, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 5a8: ldr w0, [x28, #8] 0.10 str w0, [x29, #440] 0.20 ldrb w0, [x26, #278] ↓ cbnz w0, 2148 movi v16.16b, #0x0 str xzr, [x29, #280] stp q16, q16, [x29, #288] stp q16, q16, [x29, #320] stp q16, q16, [x29, #352] stp q16, q16, [x29, #384] 0.10 str q16, [x29, #416] str xzr, [x29, #432] str x26, [x29, #384] ldr x0, [x26, #208] str x0, [x29, #376] 0.10 ldr x0, [x29, #376] 0.39 ldr x0, [x0, #200] 0.39 str x0, [x29, #424] 0.10 strb wzr, [x29, #358] strb wzr, [x29, #359] 0.10 ldr x2, [x26, #184] str x2, [x29, #32] ldr w0, [x2, #140] ↓ cbnz w0, 2164 0.20 608: ldr x0, [x26, #344] 0.10 ldr x3, [x26, #184] add x2, x29, #0x1b8 add x4, x29, #0x118 mov x1, x22 mov x5, #0x6cb8 // #27832 0.10 movk x5, #0xdde3, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 ↓ b 6ac 638: 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, 21c8 680: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x270 add x4, x29, #0x1d0 mov x1, x22 mov x5, #0xff60 // #65376 movk x5, #0xddde, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 0.10 6ac: mov x0, x22 mov x1, #0x69b8 // #27064 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 0.10 mov w26, w27 6c8: ldr w1, [x25, #68] 0.20 cmp w24, w1 ↓ b.ne 24e4 0.39 ldr w1, [x25, #56] cmp w26, w1 ↓ b.cs d9c 0.10 6e0: ldr x1, [x25, #16] 0.10 add w2, w26, #0x1 0.10 asr w27, w2, #0 0.10 ldr w2, [x1, #8] 1.46 cmp w26, w2 ↓ b.cs 29b8 0.20 mov w2, #0x18 // #24 mov x0, #0x10 // #16 0.10 umaddl x2, w26, w2, x0 add x1, x1, x2 0.10 ldr w2, [x1, #20] 0.20 cmn w2, #0x1 0.10 ↓ b.lt 21e8 0.20 ldp x2, x26, [x1] 0.10 ↓ cbz x2, 2400 0.10 add x28, x2, #0xc ldr w3, [x2, #8] 1.27 str w3, [x29, #740] 0.10 mov w1, #0x21aa // #8618 movk w1, #0x9ef, lsl #16 0.10 cmp w3, w1 ↓ b.gt 2424 0.49 add x1, x22, #0x70 ldr x0, [x1] ↓ cbz w3, 1b50 0.10 str x28, [x29, #728] mov x1, x28 0.10 ↓ cbnz x0, 760 mov x0, #0x2e08 // #11784 0.10 movk x0, #0x1d00, lsl #16 0.10 movk x0, #0xe9d3, lsl #32 ldr x0, [x0] 0.20 760: ldr x2, [x0] 0.39 mov x4, #0x7bf0 // #31728 0.10 movk x4, #0xddd7, lsl #16 movk x4, #0xe9da, lsl #32 0.29 cmp x2, x4 ↓ b.ne 1b60 ldr x0, [x0, #8] 0.10 ldrsb wzr, [x0] 0.10 mov w2, w3 mov x4, #0x7df8 // #32248 0.10 movk x4, #0xddd5, lsl #16 0.10 movk x4, #0xe9da, lsl #32 0.10 ldr x4, [x4] → blr x4 0.20 asr w3, w0, #0 0.10 79c: str xzr, [x29, #728] 0.20 cmn w3, #0x1 ↓ b.ne 1000 ldr w0, [x22, #124] 0.10 ↓ tbz w0, #1, 1b7c 7b0: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1bb0 mov w0, #0x3 // #3 0.20 ldr w2, [x29, #740] 0.10 mul w0, w2, w0 add w0, w0, #0x4 ldr w1, [x22, #76] 0.10 ldr w3, [x22, #52] 0.10 sub w1, w1, w3 0.20 cmp w1, w0 ↓ b.ge 848 0.10 ldr w1, [x22, #76] 0.10 ↓ cbnz w1, 1ce0 cmp w0, #0x100 ↓ b.gt 1bd4 mov w1, #0x100 // #256 7f0: ldr x0, [x22, #16] 0.20 ↓ cbz x0, 1c90 ldr x3, [x22, #24] str x3, [x29, #120] ldrsb wzr, [x3] 0.10 ldr x0, [x3, #8] ldr w0, [x0, #8] 0.10 ldr w4, [x3, #16] 0.10 sub w0, w0, w4 cmp w0, w1 ↓ b.lt 1bdc 0.29 81c: ldr x15, [x3, #8] ldr w0, [x3, #16] 0.20 ↓ cbz x15, 1c7c 0.10 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2948 ldr w14, [x15, #8] 0.10 sub w1, w14, w0 83c: add x14, x22, #0x40 0.10 bl fffffffffe054e34 0.10 stp w0, w1, [x22, #72] 0.10 848: add x1, x22, #0x40 0.10 str x1, [x29, #104] 0.49 mov x3, xzr mov w4, wzr 0.10 ldr x0, [x1] ↓ cbz x0, 89c 0.10 ldr x3, [x0] 0.10 ldr w4, [x3] 0.49 tst w4, #0x80000000 0.10 ↓ b.eq 1de4 0.49 add x3, x0, #0x10 0.10 ldr w4, [x0, #8] 0.10 878: ldr x1, [x29, #104] ldp w5, w1, [x1, #8] 0.10 and w5, w5, #0x7fffffff 0.10 mov w5, w5 add x0, x5, w1, uxtw 0.10 cmp x0, w4, uxtw 0.10 ↓ b.hi 2948 0.88 add x3, x3, x5 0.20 asr w4, w1, #0 89c: ldr w5, [x22, #40] ↓ tbz w5, #31, 8c0 ldr w6, [x22, #52] add w5, w6, #0x1 0.10 str w5, [x22, #52] 0.59 cmp w6, w4 ↓ b.cs 29b8 0.10 mov w5, #0x2c // #44 strb w5, [x3, w6, uxtw #0] 8c0: ldr w6, [x22, #52] add w5, w6, #0x1 0.20 str w5, [x22, #52] 0.20 cmp w6, w4 ↓ b.cs 29b8 0.59 mov w5, #0x22 // #34 strb w5, [x3, w6, uxtw #0] 0.10 ldr w5, [x22, #52] 0.59 cmp w5, w4 ↓ b.hi 2948 0.39 mov w1, w5 0.10 str x3, [x29, #112] add x6, x3, x1 str w4, [x29, #668] sub w7, w4, w5 str x28, [x29, #656] 0.10 mov x5, x28 str x6, [x29, #648] str x6, [x29, #128] 0.10 str x5, [x29, #640] str x6, [x29, #632] ldr w2, [x29, #740] ↓ cbz w2, 94c mov x0, x28 0.20 mov x2, x6 0.20 add x5, x29, #0x278 add x4, x29, #0x280 ldr w1, [x29, #740] 0.20 mov w3, w7 0.10 mov x7, #0x78e8 // #30952 0.10 movk x7, #0xdd25, lsl #16 0.10 movk x7, #0xe9da, lsl #32 ldr x7, [x7] 0.10 → blr x7 ldr x6, [x29, #128] 0.49 94c: ldr w1, [x29, #632] 0.29 sub w1, w1, w6 0.20 str xzr, [x29, #656] str xzr, [x29, #648] 0.10 ldr w2, [x22, #52] 0.29 add w6, w2, w1 0.29 str w6, [x22, #52] 0.29 add w1, w6, #0x1 str w1, [x22, #52] 0.29 ldr w4, [x29, #668] 0.20 cmp w6, w4 ↓ b.cs 29b8 0.68 mov w1, #0x22 // #34 0.10 ldr x3, [x29, #112] strb w1, [x3, w6, uxtw #0] 0.20 ldr w6, [x22, #52] 0.98 add w1, w6, #0x1 0.49 str w1, [x22, #52] 0.20 cmp w6, w4 ↓ b.cs 29b8 0.59 mov w1, #0x3a // #58 0.10 strb w1, [x3, w6, uxtw #0] 0.49 9a4: ldr w0, [x22, #40] 0.20 and w0, w0, #0x7fffffff str w0, [x22, #40] 0.10 mov w0, #0x500 // #1280 0.10 sturh w0, [x22, #57] 0.10 str x26, [x29, #624] 0.29 mov x0, #0x33d8 // #13272 0.20 movk x0, #0x1d00, lsl #16 0.10 movk x0, #0xe9d3, lsl #32 0.10 ldr x26, [x0] 0.29 ↓ cbz x26, 1e10 0.29 9d0: ldapurb w0, [x26, #159] 1.37 ↓ cbz w0, 1e3c 0.39 9d8: ldr x1, [x26, #24] 0.10 ↓ cbz x1, 1e58 9e0: mov x26, x1 0.10 ↓ cbz x26, a00 mov x0, #0x28d8 // #10456 movk x0, #0xdddb, lsl #16 0.39 movk x0, #0xe9da, lsl #32 0.10 ldr x2, [x26] 0.88 cmp x2, x0 ↓ b.ne 1ea0 0.10 a00: ldrb w0, [x26, #278] ↓ cbnz w0, 1eb8 0.20 ldr x0, [x26, #200] ldrb w0, [x0, #18] 1.66 ↑ cbz w0, 638 0.29 ldr x0, [x29, #624] 0.10 ↑ cbz x0, 638 0.10 ldr x28, [x26, #184] ldr x0, [x29, #624] 0.10 ldrsb wzr, [x28] mov x1, #0x6670 // #26224 0.20 movk x1, #0xdd56, lsl #16 movk x1, #0xe9da, lsl #32 0.10 ldr x1, [x1] → blr x1 0.20 mov x1, x0 0.10 str x1, [x29, #96] 0.29 mov x0, #0x25a8 // #9640 0.10 movk x0, #0x24a0, lsl #16 0.10 movk x0, #0xe9db, lsl #32 0.10 cmp x1, x0 ↑ b.eq 638 0.20 ldapur x26, [x28, #16] ↓ cbz x26, a70 0.10 ldr x0, [x26, #192] 0.20 cmp x0, x1 ldr x1, [x29, #96] 2.24 ↓ b.eq bd8 0.20 a70: mov x26, xzr 0.10 ldapurb w0, [x28, #158] ↓ cbz w0, bc8 ldr x26, [x28, #8] ↓ cbz x26, 1ed4 0.10 a84: ldr x2, [x26, #8] str x2, [x29, #88] 0.39 mov x0, #0x3428 // #13352 0.10 movk x0, #0x1d00, lsl #16 0.20 movk x0, #0xe9d3, lsl #32 0.10 ldr x3, [x0] 0.39 ↓ cbz x3, 1ef8 0.10 aa0: ldr x2, [x29, #88] 0.59 str x2, [x29, #64] 0.29 mov x4, x1 stp x3, x4, [x29, #72] 0.10 ldrsb wzr, [x2] 1.46 ldapur x5, [x2, #8] 0.59 str x5, [x29, #56] 0.59 ldr x0, [x5, #8] 2.54 ldrb w6, [x2, #25] 0.20 ↓ cbz w6, 1f40 0.20 mov x0, x4 0.10 bl ffffffffff2e6cc0 0.20 ↓ cbz w0, 1f60 0.29 ad4: asr w2, w0, #0 0.29 ad8: str w2, [x29, #460] 0.10 ldr x3, [x29, #56] 0.10 ldr x4, [x3, #8] 1.17 str x4, [x29, #48] ldr x0, [x3, #16] ldr x1, [x3, #40] 0.20 mov w5, w2 mul x1, x1, x5 0.20 lsr x1, x1, #32 add x1, x1, #0x1 ldr w5, [x0, #8] 1.56 mul x1, x1, x5 0.49 lsr x1, x1, #32 ldr w5, [x0, #8] 0.10 cmp w1, w5 ↓ b.cs 29b8 3.51 ubfiz x1, x1, #3, #32 0.10 add x1, x1, #0x10 add x0, x0, x1 0.29 ldapr x5, [x0] 4.78 ↓ cbz x5, 1f84 0.98 ↑ cbz x4, 504 0.20 ldr x0, [x4] 0.10 mov x1, #0xba48 // #47688 0.10 movk x1, #0xdd73, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↑ b.ne 504 b48: ldr w0, [x5, #32] 5.46 cmp w2, w0 ↓ b.ne 1024 0.59 str x5, [x29, #40] 0.10 ldr x6, [x5, #8] 0.39 ↓ cbz x6, 1f7c 0.49 ldr x0, [x6] 1.27 mov x1, #0xa290 // #41616 0.39 movk x1, #0xdc02, lsl #16 0.20 movk x1, #0xe9da, lsl #32 0.10 cmp x0, x1 ↓ b.ne 1f8c 0.49 ldr x7, [x29, #96] cmp x7, x6 0.20 cset x8, eq // eq = none 0.10 b84: ↓ cbz w8, 1fb4 0.10 b88: ldr x5, [x29, #40] ldr x1, [x5, #16] str x1, [x29, #448] b94: ldr x2, [x29, #448] 1.85 str xzr, [x29, #448] ldrb w0, [x2, #32] 5.07 ↓ cbz w0, 209c 0.20 ldr x0, [x2, #16] 0.10 ↓ cbnz x0, 2474 0.10 ldr x26, [x2, #8] 0.98 bb0: ↓ cbz x26, 2104 0.20 add x0, x26, #0x119 ldaprb w0, [x0] 2.63 cmp w0, #0x2 ↓ b.ne 20c4 1.27 mov x1, x7 0.10 bc8: ↓ cbz x26, 20e4 0.10 add x14, x28, #0x10 mov x15, x26 bl fffffffffe054e34 0.20 bd8: add x0, x26, #0x11a 0.10 ldaprb w0, [x0] 0.10 ↓ cbz w0, 210c be4: ldr x0, [x26, #248] ↓ cbnz x0, 2140 bec: ldr x0, [x26] 0.20 mov x1, #0x92d0 // #37584 0.10 movk x1, #0xdde2, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↑ b.eq 564 mov x0, x26 0.10 mov x1, x22 0.10 ldr x2, [x29, #624] ldr x3, [x26] ldr x3, [x3, #64] 0.29 ldr x3, [x3, #56] 3.41 → blr x3 mov w26, w27 ↑ b 6c8 c28: ldr w0, [x22, #76] ↓ cbnz w0, 1a38 ldr x0, [x22, #16] ↓ cbz x0, 19ec 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 1950 c54: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 19d8 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2948 ldr w14, [x15, #8] sub w11, w14, w0 c74: add x14, x22, #0x40 bl fffffffffe054e34 stp w0, w11, [x22, #72] ↓ b f4c c84: ldr w0, [x22, #124] ↓ tbz w0, #0, d14 ldr w0, [x22, #124] ↓ tbnz w0, #1, cf4 ldrb w0, [x22, #56] ldrb w1, [x22, #58] cmp w0, #0x10 ccmp w0, w1, #0x4, ne // ne = any ↓ b.eq cc0 mov x0, x22 mov x1, #0xc408 // #50184 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 cc0: add x24, x22, #0x50 ldr w0, [x24, #16] cmp w0, #0x40 ↓ b.ge 1910 ldr x0, [x24, #8] lsl x0, x0, #1 orr x0, x0, #0x1 str x0, [x24, #8] ce0: ldr w0, [x24, #16] add w0, w0, #0x1 str w0, [x24, #16] mov w0, #0x5 // #5 strb w0, [x22, #56] cf4: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0xc420 // #50208 movk x2, #0xddf4, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↓ b fd8 d14: mov x0, x22 mov x1, #0xc288 // #49800 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, d48 mov x0, x22 mov x1, #0xc408 // #50184 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 d48: add x24, x22, #0x50 ldr w0, [x24, #16] cmp w0, #0x40 ↓ b.ge 1930 ldr x0, [x24, #8] lsl x0, x0, #1 orr x0, x0, #0x1 str x0, [x24, #8] d68: ldr w0, [x24, #16] add w0, w0, #0x1 str w0, [x24, #16] mov w0, #0x5 // #5 strb w0, [x22, #56] mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6b98 // #27544 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↓ b fd8 d9c: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1034 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt e18 0.20 ldr w0, [x22, #76] 0.10 ↓ cbnz w0, 22e0 ldr x0, [x22, #16] 0.10 ↓ cbz x0, 2298 ldr x24, [x22, #24] ldr x0, [x24, #8] 0.10 ldr w0, [x0, #8] 0.68 ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 21fc 0.10 dec: ldr x15, [x24, #8] 0.10 ldr w0, [x24, #16] ↓ cbz x15, 2284 0.10 ldr w14, [x15, #8] 0.10 cmp w14, w0 ↓ b.cc 2948 ldr w14, [x15, #8] sub w11, w14, w0 e0c: add x14, x22, #0x40 bl fffffffffe054e34 stp w0, w11, [x22, #72] e18: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, e64 0.20 ldr x1, [x0] 0.20 ldr w2, [x1] 0.20 tst w2, #0x80000000 ↓ b.eq 23b0 0.59 add x1, x0, #0x10 0.10 ldr w2, [x0, #8] e44: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 0.10 add x4, x0, w3, uxtw cmp x4, w2, uxtw 0.10 ↓ b.hi 2948 0.39 add x1, x1, x0 asr w2, w3, #0 e64: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] 0.10 cmp w0, w2 ↓ b.cs 29b8 mov w2, #0x7d // #125 0.29 strb w2, [x1, w0, uxtw #0] e80: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] 0.59 ldr w0, [x22, #40] 0.39 tst w0, #0x7fffffff ↓ b.eq ea4 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 0.10 ea4: mov w0, #0x2 // #2 0.10 strb w0, [x22, #58] 0.20 eac: ldr w0, [x19, #20] cmp w20, w0 ↓ b.ne 24e4 0.20 ldr w0, [x19, #16] 0.10 cmp w23, w0 0.10 ↑ b.cs 494 ldr x0, [x19, #8] 0.10 ldr w1, [x0, #8] cmp w23, w1 0.10 ↓ b.cs 29b8 add x0, x0, #0x10 ldr x1, [x0, w23, uxtw #3] 0.20 mov x24, x1 0.10 add w23, w23, #0x1 mov w0, #0x1 // #1 ee8: ↓ cbz w0, 10bc ↑ cbnz x24, 4a4 0.29 ef0: mov x25, x24 ↓ cbz x25, f10 mov x0, #0xbe58 // #48728 movk x0, #0xdd29, lsl #16 movk x0, #0xe9da, lsl #32 ldr x1, [x25] cmp x1, x0 ↓ b.ne 189c 0.10 f10: ↑ cbz x25, eac ldr w0, [x22, #40] 0.10 and w0, w0, #0x7fffffff 0.20 ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 18f4 f28: ldr w0, [x22, #124] 0.10 and w0, w0, #0x3 cmp w0, #0x2 ↑ b.ne c84 ldr w0, [x22, #76] 0.10 ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↑ b.lt c28 f4c: add x24, x22, #0x40 0.10 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, f98 0.10 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 1b34 add x1, x0, #0x10 ldr w2, [x0, #8] f78: ldp w0, w3, [x24, #8] 0.10 and w0, w0, #0x7fffffff 0.10 mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2948 add x1, x1, x0 asr w2, w3, #0 0.20 f98: ldr w0, [x22, #40] 0.10 ↓ tbz w0, #31, fbc ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] 0.20 cmp w0, w2 ↓ b.cs 29b8 0.20 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] fbc: ldr w0, [x22, #52] 0.10 add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29b8 mov w2, #0x7b // #123 0.20 strb w2, [x1, w0, uxtw #0] fd8: 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] 0.10 ldr w24, [x25, #68] 0.10 mov w26, wzr 0.10 ↑ b 6c8 1000: mov x1, x28 ldr w2, [x29, #740] mov x0, x22 mov x4, #0xcca8 // #52392 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 ↑ b 9a4 0.10 1024: ldapur x5, [x5, #24] ↓ cbz x5, 1fbc 0.10 ldr w2, [x29, #460] ↑ b b48 1034: ldr w0, [x22, #124] ↓ tbz w0, #0, 1080 ldr w0, [x22, #124] ↓ tbnz w0, #1, 1060 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc438 // #50232 movk x2, #0xddf4, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 1060: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc450 // #50256 movk x2, #0xddf4, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b e80 1080: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc438 // #50232 movk x2, #0xddf4, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6e20 // #28192 movk x2, #0xddea, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b e80 10bc: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 24fc ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 1138 ldr w0, [x22, #76] ↓ cbnz w0, 2614 ldr x0, [x22, #16] ↓ cbz x0, 25d0 ldr x19, [x22, #24] ldr x0, [x19, #8] ldr w0, [x0, #8] ldr w1, [x19, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 251c 110c: ldr x15, [x19, #8] ldr w0, [x19, #16] ↓ cbz x15, 25bc ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2948 ldr w14, [x15, #8] sub w11, w14, w0 112c: add x14, x22, #0x40 bl fffffffffe054e34 stp w0, w11, [x22, #72] 1138: add x19, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x19] ↓ cbz x0, 1184 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 26fc add x1, x0, #0x10 ldr w2, [x0, #8] 1164: ldp w0, w3, [x19, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2948 add x1, x1, x0 asr w2, w3, #0 1184: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29b8 mov w2, #0x5d // #93 strb w2, [x1, w0, uxtw #0] 11a0: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 11c4 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 11c4: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 2718 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 1248 ldr w0, [x22, #76] ↓ cbnz w0, 2830 ldr x0, [x22, #16] ↓ cbz x0, 27ec ldr x19, [x22, #24] ldr x0, [x19, #8] ldr w0, [x0, #8] ldr w1, [x19, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 2738 121c: ldr x15, [x19, #8] ldr w0, [x19, #16] ↓ cbz x15, 27d8 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2948 ldr w14, [x15, #8] sub w11, w14, w0 123c: add x14, x22, #0x40 bl fffffffffe054e34 stp w0, w11, [x22, #72] 1248: add x19, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x19] ↓ cbz x0, 1294 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 292c add x1, x0, #0x10 ldr w2, [x0, #8] 1274: ldp w0, w3, [x19, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2948 add x1, x1, x0 asr w2, w3, #0 1294: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29b8 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] 12b0: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 12d4 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 12d4: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x69b8 // #27064 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xdd9e, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 2960 mov x0, x21 mov x1, #0xbf30 // #48944 movk x1, #0xdd9e, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 1324: ↓ cbz x0, 2978 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 1348: mov x0, #0xbe58 // #48728 movk x0, #0xdd9e, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc570 // #50544 movk x2, #0xddb7, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe054e34 ↑ b 80 1384: mov x0, xzr mov x1, #0x70a8 // #28840 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 13a0: mov x0, #0x7ac0 // #31424 movk x0, #0xdd26, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x20, x0 mov x0, #0xc258 // #49752 movk x0, #0xddf4, lsl #16 movk x0, #0xe9da, 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, #0xdd34, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc270 // #49776 movk x2, #0xddf4, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1a68 // #6760 movk x1, #0x24a0, lsl #16 movk x1, #0xe9db, lsl #32 mov x3, #0xea78 // #60024 movk x3, #0xdd44, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e6b90 brk #0xf000 143c: 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 1470: mov x0, #0x70c0 // #28864 movk x0, #0xddf4, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1488: mov x0, #0xe570 // #58736 movk x0, #0xdd4c, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x21, x0 mov x0, #0x70d8 // #28888 movk x0, #0xddf4, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc930 // #51504 movk x2, #0xddc8, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6b90 brk #0xf000 14d8: 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 14f8 ldr w1, [x21, #36] lsl w1, w1, #1 14f8: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 1524 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 1524: mov x0, x21 mov x2, #0xc088 // #49288 movk x2, #0xdd9e, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 1540: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcf78 // #53112 movk x3, #0xdd5c, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 1568: str w22, [x21, #28] ↑ b f4 1570: add x0, x29, #0x340 stp xzr, xzr, [x0] add x0, x29, #0x340 mov w1, #0x1 // #1 mov x2, #0x68e0 // #26848 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xb5e8 // #46568 movk x0, #0xdd9e, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x22, x0 ldr x2, [x29, #832] ldr x3, [x29, #840] mov x0, x22 mov x1, x21 mov x4, #0x68f8 // #26872 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe054e34 ↑ b 1a4 15dc: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6fa0 // #28576 movk x0, #0xdde3, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 15fc: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 1618: mov x0, #0xe2b0 // #58032 movk x0, #0xdd29, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x21, x0 mov x0, #0x6a18 // #27160 movk x0, #0xddd5, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8a0 // #51360 movk x2, #0xdd44, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6b90 brk #0xf000 1668: mov x0, #0x2308 // #8968 movk x0, #0xddd7, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x20, x0 mov x1, #0x6a48 // #27208 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe054e34 ↑ b 174 16a0: ↓ cbnz w0, 2948 mov x2, xzr mov w0, wzr ↑ b 154 16b0: mov x0, x22 mov x1, #0x6b50 // #27472 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 16cc: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6b80 // #27520 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 16ec: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6be0 // #27616 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 170c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 1728: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6dd8 // #28120 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 1750: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 176c: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6e68 // #28264 movk x5, #0xddd5, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 1794: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 17ac ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 17c4 17ac: mov x0, x22 mov x1, #0x7ee8 // #32488 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 17c4: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 17e4 ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 1800 17e4: mov x0, x23 mov w1, wzr mov x2, #0xcba0 // #52128 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 1800: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 1818: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7ea0 // #32416 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 1840: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6be0 // #27616 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1860: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 187c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 29b8 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 189c: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0xdd25, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b f10 18bc: mov x0, x22 mov x1, #0xc288 // #49800 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 4cc mov x0, x22 mov x1, #0xc2a0 // #49824 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 4cc 18f4: mov x0, x22 mov x1, #0x6b50 // #27472 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b f28 1910: mov x0, x24 mov w1, #0x1 // #1 mov x2, #0xcba0 // #52128 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b ce0 1930: mov x0, x24 mov w1, #0x1 // #1 mov x2, #0xcba0 // #52128 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b d68 1950: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1968 asr w1, w0, #0 ↓ b 196c 1968: mov w1, #0x100 // #256 196c: asr w2, w1, #0 ↓ cbnz w0, 1978 asr w2, w1, #0 1978: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 19bc 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 23cc mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 19bc: add x0, x24, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b c54 19d8: ↓ cbnz w0, 2948 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b c74 19ec: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, 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 fffffffffe054e34 ldr w0, [x29, #768] ldr w1, [x29, #772] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge f4c ↓ b 2914 1a38: ldr x0, [x22, #16] ↓ cbz x0, 1ab8 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 23e4 ldr x24, [x22, #24] ldrsb wzr, [x24] mov x0, x24 mov x2, #0x6d18 // #27928 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 add x26, x22, #0x40 ldr x0, [x24, #8] ldr w1, [x24, #16] mov x2, #0x6ce8 // #27880 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #744] str x1, [x29, #752] ldr x15, [x29, #744] mov x14, x26 bl fffffffffe054e34 ldr w0, [x29, #752] ldr w1, [x29, #756] stp w0, w1, [x26, #8] ↑ b f4c 1ab8: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, 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, #0xdc03, lsl #16 movk x11, #0xe9da, 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 fffffffffe054e34 ldr w0, [x29, #784] ldr w1, [x29, #788] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge f4c ↓ b 2914 1b34: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b f78 1b50: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b 79c 1b60: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b 79c 1b7c: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1b94 ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne 7b0 1b94: mov x0, x22 mov x1, #0x7ee8 // #32488 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 7b0 1bb0: mov x1, x28 ldr w2, [x29, #740] mov x0, x22 mov x3, #0xcd08 // #52488 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 ↑ b 9a4 1bd4: asr w1, w0, #0 ↑ b 7f0 1bdc: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1bf4 asr w4, w0, #0 ↓ b 1bf8 1bf4: asr w4, w1, #0 1bf8: asr w5, w4, #0 ↓ cbnz w0, 1c14 cmp w4, #0x100 ↓ b.ge 1c10 mov w5, #0x100 // #256 ↓ b 1c14 1c10: asr w5, w4, #0 1c14: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1c58 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 2440 mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1c58: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6d30 // #27952 movk x4, #0xddd5, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #120] ↑ b 81c 1c7c: ↓ cbnz w0, 2948 mov x15, xzr mov w0, wzr mov w1, wzr ↑ b 83c 1c90: ldr x0, [x22, #8] str w1, [x29, #692] mov x11, #0x2848 // #10312 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #696] str x1, [x29, #704] add x14, x22, #0x40 ldr x15, [x29, #696] bl fffffffffe054e34 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 848 ↓ b 2914 1ce0: cmp w0, #0x1, lsl #12 ↓ b.le 1cf0 str w0, [x29, #688] ↓ b 1cf8 1cf0: mov w3, #0x1000 // #4096 str w3, [x29, #688] 1cf8: ldr x0, [x22, #16] ↓ cbz x0, 1d64 ldr w0, [x22, #52] ldr w3, [x29, #688] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2458 add x3, x22, #0x40 str x3, [x29, #24] ldr x0, [x22, #24] mov x4, #0x23a0 // #9120 movk x4, #0xddd7, lsl #16 movk x4, #0xe9da, 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, #24] bl fffffffffe054e34 ldr w0, [x29, #680] ldr w1, [x29, #684] ldr x14, [x29, #24] stp w0, w1, [x14, #8] ↑ b 848 1d64: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, 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, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #712] str x1, [x29, #720] add x14, x22, #0x40 ldr x15, [x29, #712] bl fffffffffe054e34 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 848 ↓ b 2914 1de4: 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 878 1e10: mov x0, #0x33d8 // #13272 movk x0, #0x1d00, lsl #16 movk x0, #0xe9d3, lsl #32 mov w1, wzr mov x2, #0xd590 // #54672 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b 9d0 1e3c: mov x0, x26 mov x1, #0xdae8 // #56040 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 9d8 1e58: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x25a8 // #9640 movk x1, #0x24a0, lsl #16 movk x1, #0xe9db, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xdc08 // #56328 movk x6, #0xddd5, lsl #16 movk x6, #0xe9da, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe054e34 ↑ b 9e0 1ea0: mov x2, #0x63b8 // #25528 movk x2, #0xdd25, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 1eb8: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #624] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 6ac 1ed4: mov x0, x28 mov x2, #0xdcc8 // #56520 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #96] ↑ b a84 1ef8: mov x0, #0x9fb8 // #40888 movk x0, #0xdddb, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x3, x0 add x14, x3, #0x8 mov x15, x3 bl fffffffffe054e34 ldr q16, instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x29c0 stur q16, [x3, #24] mov x14, #0x3428 // #13352 movk x14, #0x1d00, lsl #16 movk x14, #0xe9d3, lsl #32 mov x15, x3 bl fffffffffe054e34 mov x1, x3 ldr x1, [x29, #96] ↑ b aa0 1f40: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b ad8 1f60: ldr x0, [x29, #80] mov x1, #0xc6f0 // #50928 movk x1, #0xdd44, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b ad4 1f7c: ldr x5, [x29, #40] ↑ b 1024 1f84: ldr x7, [x29, #96] ↓ b 203c 1f8c: ldr x7, [x29, #96] 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, #96] ↑ b b84 1fb4: ldr x5, [x29, #40] ↑ b 1024 1fbc: ldr x7, [x29, #96] ↓ b 203c 1fc4: ldr x4, [x29, #48] ldr x7, [x29, #96] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #48] ldr x7, [x29, #96] ↑ b 55c 1ffc: ldr x5, [x29, #40] ldr x7, [x29, #96] ↑ b 4f8 2008: ldr x7, [x29, #96] 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, #48] ldr x7, [x29, #96] ↑ b 55c 2034: ldr x5, [x29, #40] ↑ b 4f8 203c: str xzr, [x29, #448] mov x1, x7 mov x2, x26 ldr x4, [x29, #72] 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, #56] ldr x2, [x29, #96] ldr x0, [x29, #64] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0xdd6f, lsl #16 movk x8, #0xe9da, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #96] ↑ b b94 209c: mov x0, x26 mov x1, x7 mov x3, #0xe268 // #57960 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #96] ↑ b bb0 20c4: mov x0, x26 mov x1, #0xf2a0 // #62112 movk x1, #0xddde, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ldr x1, [x29, #96] ↑ b bc8 20e4: ldr x1, [x28, #32] ldr x0, [x29, #96] mov x2, #0xdcb0 // #56496 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 2104: mov x1, x7 ↑ b bc8 210c: mov x0, x26 mov x1, #0x4480 // #17536 movk x1, #0xdde3, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054e34 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b be4 2140: mov x26, x0 ↑ b bec 2148: ldr x3, [x26, #328] mov x1, x22 ldr w2, [x29, #440] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 6ac 2164: ldr x0, [x2, #56] mov w1, #0x1 // #1 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 str x0, [x29, #312] ldr x0, [x29, #32] ldr w0, [x0, #140] cmp w0, #0x2 ↑ b.ne 608 ldr x0, [x26, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 608 ldr x0, [x29, #312] mov x1, x28 ldr x2, [x29, #312] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 608 21c8: 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 680 21e8: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 6e0 ↑ b d9c 21fc: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 2214 asr w1, w0, #0 ↓ b 2218 2214: mov w1, #0x100 // #256 2218: asr w2, w1, #0 ↓ cbnz w0, 2224 asr w2, w1, #0 2224: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 2268 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 24b0 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 2268: add x0, x24, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b dec 2284: ↓ cbnz w0, 2948 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b e0c 2298: ldr x0, [x22, #8] mov x11, #0x2870 // #10352 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #248] add x14, x22, #0x40 ldr x15, [x29, #248] bl fffffffffe054e34 ldr w0, [x29, #256] ldr w1, [x29, #260] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge e18 ↓ b 2914 22e0: ldr x0, [x22, #16] ↓ cbz x0, 2338 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 24c8 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x23a0 // #9120 movk x2, #0xddd7, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #232] ldr x15, [x29, #232] mov x14, x24 bl fffffffffe054e34 ldp w0, w1, [x29, #240] stp w0, w1, [x24, #8] ↑ b e18 2338: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2860 // #10336 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, 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, #0x2868 // #10344 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #264] add x14, x22, #0x40 ldr x15, [x29, #264] bl fffffffffe054e34 ldr w0, [x29, #272] ldr w1, [x29, #276] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge e18 ↓ b 2914 23b0: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b e44 23cc: mov x1, #0x6d78 // #28024 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 23e4: mov w0, w1 mov x1, #0xcc18 // #52248 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2400: mov x0, #0xcbe0 // #52192 movk x0, #0x24a1, lsl #16 movk x0, #0xe9db, lsl #32 mov x1, #0x76a8 // #30376 movk x1, #0xdda3, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2424: mov w0, w3 mov x1, #0xccd8 // #52440 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2440: mov x1, #0x6d78 // #28024 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2458: mov w0, w1 mov x1, #0xcc18 // #52248 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2474: mov x1, #0xf270 // #62064 movk x1, #0xddde, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 248c: mov x0, #0x4328 // #17192 movk x0, #0x24a0, lsl #16 movk x0, #0xe9db, lsl #32 mov x1, #0x6c88 // #27784 movk x1, #0xdde3, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 24b0: mov x1, #0x6d78 // #28024 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 24c8: mov w0, w1 mov x1, #0xcc18 // #52248 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 24e4: mov x0, #0xec40 // #60480 movk x0, #0xdd44, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 24fc: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6e08 // #28168 movk x2, #0xddea, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 11a0 251c: ldr x0, [x19, #8] ldr w0, [x0, #8] mov w1, #0x100 // #256 cmp w0, #0x100 csel w1, w1, w0, le asr w2, w1, #0 ↓ cbnz w0, 2544 mov w2, #0x100 // #256 cmp w1, #0x100 csel w2, w1, w2, ge // ge = tcont 2544: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 25a0 ldr x1, [x19, #8] ldr w1, [x1, #8] ldr w2, [x19, #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.ls 2598 mov x1, #0x6d78 // #28024 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2598: mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 25a0: add x0, x19, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 110c 25bc: ↓ cbnz w0, 2948 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 112c 25d0: ldr x0, [x22, #8] mov x11, #0x2888 // #10376 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #200] add x14, x22, #0x40 ldr x15, [x29, #200] bl fffffffffe054e34 ldp w0, w1, [x29, #208] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 1138 ↓ b 2914 2614: ldr x0, [x22, #16] ↓ cbz x0, 2688 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.ls 264c mov w0, w1 mov x1, #0xcc18 // #52248 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 264c: add x19, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x23a0 // #9120 movk x2, #0xddd7, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #184] ldr x15, [x29, #184] mov x14, x19 bl fffffffffe054e34 ldp w0, w1, [x29, #192] stp w0, w1, [x19, #8] ↑ b 1138 2688: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2878 // #10360 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, 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, #0x2880 // #10368 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #216] add x14, x22, #0x40 ldr x15, [x29, #216] bl fffffffffe054e34 ldp w0, w1, [x29, #224] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 1138 ↓ b 2914 26fc: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 1164 2718: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6e08 // #28168 movk x2, #0xddea, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 12b0 2738: ldr x0, [x19, #8] ldr w0, [x0, #8] mov w1, #0x100 // #256 cmp w0, #0x100 csel w1, w1, w0, le asr w2, w1, #0 ↓ cbnz w0, 2760 mov w2, #0x100 // #256 cmp w1, #0x100 csel w2, w1, w2, ge // ge = tcont 2760: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 27bc ldr x1, [x19, #8] ldr w1, [x1, #8] ldr w2, [x19, #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.ls 27b4 mov x1, #0x6d78 // #28024 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27b4: mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 27bc: add x0, x19, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 121c 27d8: ↓ cbnz w0, 2948 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 123c 27ec: ldr x0, [x22, #8] mov x11, #0x28a0 // #10400 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #152] add x14, x22, #0x40 ldr x15, [x29, #152] bl fffffffffe054e34 ldp w0, w1, [x29, #160] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 1248 ↓ b 2914 2830: ldr x0, [x22, #16] ↓ cbz x0, 28a4 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.ls 2868 mov w0, w1 mov x1, #0xcc18 // #52248 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2868: add x19, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x23a0 // #9120 movk x2, #0xddd7, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #136] ldr x15, [x29, #136] mov x14, x19 bl fffffffffe054e34 ldp w0, w1, [x29, #144] stp w0, w1, [x19, #8] ↑ b 1248 28a4: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2890 // #10384 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, 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, #0x2898 // #10392 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #168] add x14, x22, #0x40 ldr x15, [x29, #168] bl fffffffffe054e34 ldp w0, w1, [x29, #176] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 1248 2914: mov x0, #0x6cd0 // #27856 movk x0, #0xddd5, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 292c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 1274 2948: mov x0, #0xdb00 // #56064 movk x0, #0xdd44, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2960: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 1324 2978: mov x0, #0xe88 // #3720 movk x0, #0xdd29, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2e6b70 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0x24a1, lsl #16 movk x1, #0xe9db, lsl #32 mov x2, #0xf7b0 // #63408 movk x2, #0xdd5c, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e6b90 brk #0xf000 29b8: bl ffffffffff296588 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5006006001, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-45677-32566.so 0.53 stp x29, x30, [sp, #-16]! 0.53 mov x29, sp 3.74 cmp w1, w3 csel w6, w1, w3, le 1.07 mov w6, w6 mov x7, xzr cmp x6, #0x20 ↓ b.cs a0 1.07 20: sub x6, x6, x7 0.53 cmp x6, #0x4 ↓ b.cc 60 0.53 add x8, x7, x6 sub x8, x8, #0x4 0.53 lsl x9, x7, #1 2.67 ldr x9, [x0, x9] 1.07 tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1dc 0.53 44: mov v16.d[0], x9 0.53 sqxtun v16.8b, v16.8h 0.53 mov w9, v16.s[0] 0.53 str w9, [x2, x7] 1.60 add x7, x7, #0x4 1.07 cmp x7, x8 0.53 ↓ b.ls 178 1.07 60: ↓ tbnz w6, #1, 18c 2.14 64: ↓ tbz w6, #0, 7c 0.53 ldrh w8, [x0, x7, lsl #1] 1.07 cmp w8, #0x7f ↓ b.hi 7c 0.53 74: strb w8, [x2, x7, lsl #0] add x7, x7, #0x1 0.53 7c: add x0, x0, x7, lsl #1 1.07 add x2, x2, x7 1.60 cmp w7, w1 ↓ b.ne 20c 1.07 str x0, [x4] 1.07 str x2, [x5] 2.14 mov w0, wzr 0.53 ldp x29, x30, [sp], #16 1.07 ← ret a0: ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 mov x9, x8 0.53 ↓ b.ne 1dc mov x7, x0 ldr q16, [x7] umaxp v17.8h, v16.8h, v16.8h mov x8, v17.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 1b4 mov x8, x2 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8] 0.53 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] 1.07 lsl x11, x9, #1 add x11, x11, #0x10 ldr q17, [x7, x11] 1.07 orr v18.16b, v16.16b, v17.16b umaxp v18.8h, v18.8h, v18.8h mov x11, v18.d[0] tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1bc 7.49 130: uzp1 v16.16b, v16.16b, v17.16b 2.14 str q16, [x8, x9] 2.67 add x9, x9, #0x10 1.07 cmp x9, x10 0.53 ↓ b.hi 170 3.21 lsl x11, x9, #1 1.60 ldr q16, [x7, x11] 1.07 lsl x11, x9, #1 3.21 add x11, x11, #0x10 1.07 ldr q17, [x7, x11] 2.14 orr v18.16b, v16.16b, v17.16b 2.14 umaxp v18.8h, v18.8h, v18.8h 2.67 mov x11, v18.d[0] 2.14 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1bc 28.88 ↑ b 130 170: mov x7, x9 174: ↑ b 20 178: lsl x9, x7, #1 1.60 ldr x9, [x0, x9] tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1dc ↑ b 44 18c: lsl x9, x7, #1 0.53 ldr w8, [x0, x9] tst w8, #0xff80ff80 ↓ b.ne 200 add x9, x2, x7 strb w8, [x9] lsr w8, w8, #16 strb w8, [x9, #1] add x7, x7, #0x2 0.53 ↑ 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.): 5006006001, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-45677-32618.so 0.58 stp x29, x30, [sp, #-64]! 0.58 stp x19, x20, [sp, #16] 0.58 stp x21, x22, [sp, #32] 1.16 stp x23, x24, [sp, #48] 0.58 mov x29, sp 1.16 mov x19, x0 0.58 ldr x20, [x19, #16] ↓ cbz x20, 1a4 0.58 20: stp xzr, xzr, [x19, #64] ↓ cbz x20, 39c ldr w1, [x19, #52] 1.16 ↓ cbz w1, 174 1.16 ldr x0, [x19, #24] mov x2, x0 ldrsb wzr, [x2] 1.73 ↓ tbnz w1, #31, 1c4 2.31 ldr w3, [x2, #16] 2.31 ldr x4, [x2, #8] 0.58 ldr w4, [x4, #8] 3.47 sub w4, w4, w1 2.89 cmp w3, w4 ↓ b.gt 208 4.62 add w21, w3, w1 1.73 str w21, [x2, #16] str wzr, [x19, #52] ldr x0, [x0, #8] ↓ cbz x0, 228 ldr w1, [x0, #8] 0.58 cmp w1, w21 ↓ b.cc 364 1.16 add x22, x0, #0x10 7c: ldr x0, [x20] mov x1, #0xbe58 // #48728 1.73 movk x1, #0xdd9e, lsl #16 0.58 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 334 1.16 ldrb w0, [x20, #43] 1.16 ↓ cbz w0, 238 ldrb w0, [x20, #41] 0.58 ↓ cbz w0, 254 2.31 ldr w0, [x20, #28] add w23, w0, w21 1.16 ↓ tbnz w23, #31, 26c ldr w1, [x20, #32] cmp w23, w1 ↓ b.le d8 cmp w0, w1 0.58 cset x24, gt 0.58 ldr w0, [x20, #36] 0.58 cmp w23, w0 ↓ b.gt 2bc d0: ↓ cbnz w24, 2e0 0.58 d4: str w23, [x20, #32] 0.58 d8: ldr x2, [x20, #16] ldr w0, [x20, #28] ↓ cbz x2, 308 mov w1, w0 add x1, x1, w21, uxtw 1.16 ldr w3, [x2, #8] cmp x1, x3 ↓ b.hi 364 add x2, x2, #0x10 mov w0, w0 0.58 add x0, x2, x0 asr w2, w21, #0 108: cmp w21, w2 ↓ b.gt 31c 1.16 mov w2, w21 0.58 mov x1, x22 0.58 mov x3, #0x5848 // #22600 0.58 movk x3, #0xdd25, lsl #16 0.58 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 1.73 str w23, [x20, #28] 0.58 130: ldp x20, x0, [x19, #24] 2.31 ldr w1, [x20, #16] 4.62 add x0, x0, w1, sxtw 3.47 str x0, [x19, #32] 0.58 ldr x0, [x20, #8] 0.58 ↓ cbz x0, 354 1.16 ldr w2, [x0, #8] 7.51 cmp w2, w1 ↓ b.cc 364 4.05 add x0, x0, #0x10 0.58 158: mov w1, w1 mov x2, #0x5818 // #22552 movk x2, #0xdd25, lsl #16 movk x2, #0xe9da, lsl #32 0.58 ldr x2, [x2] → blr x2 3.47 str wzr, [x20, #16] 174: ldr x0, [x19, #16] 9.83 ldr x1, [x0] 6.36 mov x2, #0xbe58 // #48728 4.62 movk x2, #0xdd9e, lsl #16 movk x2, #0xe9da, lsl #32 cmp x1, x2 ↓ b.ne 37c 1.73 190: ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x6fa0 // #28576 movk x0, #0xdde3, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xe2b0 // #58032 movk x0, #0xdd29, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2fc400 mov x19, x0 mov x1, xzr mov x2, #0x2820 // #10272 movk x2, #0x24a0, lsl #16 movk x2, #0xe9db, lsl #32 mov x3, #0xc450 // #50256 movk x3, #0xdd5c, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2fc420 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x6fb8 // #28600 movk x1, #0xdde3, lsl #16 movk x1, #0xe9da, 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, #0x70a8 // #28840 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x70c0 // #28864 movk x0, #0xddf4, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xe570 // #58736 movk x0, #0xdd4c, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2fc400 mov x22, x0 mov x0, #0x70d8 // #28888 movk x0, #0xddf4, lsl #16 movk x0, #0xe9da, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc930 // #51504 movk x2, #0xddc8, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2fc420 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc5d0 // #50640 movk x2, #0xddb7, lsl #16 movk x2, #0xe9da, 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, #0xdd5c, lsl #16 movk x3, #0xe9da, 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, #0xdd79, lsl #16 movk x0, #0xe9da, 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, #0xdd44, lsl #16 movk x0, #0xe9da, 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, #0xdc03, lsl #16 movk x11, #0xe9da, 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.): 5006006001, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-45677-32580.so Percent stp x29, x30, [sp, #-64]! 6.40 stp x19, x20, [sp, #32] 1.74 stp x21, x22, [sp, #48] 3.49 mov x29, sp 0.58 str xzr, [x29, #24] 3.49 mov x19, x0 1.16 mov x21, x1 0.58 mov w20, w2 mov w22, wzr 0.58 cmp w20, #0x8 ↓ b.ge b0 1.74 2c: mov x0, xzr 0.58 cmp w20, #0x0 csel x0, x0, x21, eq // eq = none 1.16 str x0, [x29, #24] 0.58 mov w1, w20 mov w2, w22 3.49 cmp x2, x1 ↓ b.cs 90 1.74 ldrsb wzr, [x19] 1.16 sub x3, x1, x2 1.16 cmp x3, #0x8 0.58 ↓ b.cs 154 1.74 5c: cmp x2, x1 ↓ b.cs 90 1.74 64: add x3, x19, #0x420 2.33 ldrh w4, [x0, x2, lsl #1] 4.07 lsr w5, w4, #5 5.81 ldr w3, [x3, w5, uxtw #2] 9.88 mov w5, #0x1 // #1 9.30 lsl w4, w5, w4 1.74 tst w3, w4 1.74 ↓ b.eq 90 20.35 add x2, x2, #0x1 4.65 cmp x2, x1 ↑ b.cc 64 1.16 90: mov w0, #0xffffffff // #-1 0.58 cmp w2, w1 csel w2, w2, w0, ne // ne = any mov w0, w2 0.58 ldp x21, x22, [sp, #48] 0.58 ldp x19, x20, [sp, #32] 0.58 ldp x29, x30, [sp], #64 0.58 ← ret b0: ldr x0, [x19, #24] 0.58 ↓ cbz x0, 10c ldr x2, [x0] 0.58 mov x1, #0x8140 // #33088 movk x1, #0xdd5d, lsl #16 movk x1, #0xe9da, lsl #32 cmp x2, x1 ↓ b.ne 128 add x2, x0, #0x8 mov x0, x21 mov w1, w20 mov x3, #0x6e38 // #28216 movk x3, #0xddea, lsl #16 movk x3, #0xe9da, 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] 1.16 ldp x29, x30, [sp], #64 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb38 // #60216 movk x1, #0xdd44, lsl #16 movk x1, #0xe9da, 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.): 5006006001, [percent: local period] instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]() /tmp/jitted-45677-32682.so 2.16 stp x29, x30, [sp, #-304]! 0.72 stp x19, x20, [sp, #224] stp x21, x22, [sp, #240] stp x23, x24, [sp, #256] stp x25, x26, [sp, #272] 2.16 stp x27, x28, [sp, #288] 1.44 mov x29, sp 0.72 add x9, x29, #0x28 0.72 movi v16.16b, #0x0 0.72 stp q16, q16, [x9] 0.72 stp q16, q16, [x9, #32] 1.44 stp q16, q16, [x9, #64] stp q16, q16, [x9, #96] stp q16, q16, [x9, #128] stp xzr, xzr, [x9, #160] str x0, [x29, #216] 0.72 mov x19, x0 mov x20, x1 0.72 mov x21, x2 0.72 ldr x0, [x19] 0.72 ldr x1, [x0, #48] 0.72 ldr x1, [x1] ldr x2, [x1, #56] 3.60 ↓ cbz x2, 28c 1.44 60: ldr x0, [x2, #24] 24.46 ldr x0, [x0] 12.95 mov x2, x21 1.44 ↓ cbz x2, 98 ldr x1, [x2] 1.44 cmp x1, x0 ↓ b.eq 98 mov x1, x21 mov x2, #0x5908 // #22792 movk x2, #0xdd25, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 10.07 98: str x2, [x29, #208] ldrb w0, [x19, #278] 0.72 ↓ cbnz w0, 408 ldr x0, [x19, #200] ldrb w0, [x0, #18] 0.72 ↓ cbz w0, 360 ldr x0, [x29, #208] ↓ cbz x0, 360 ldr x22, [x19, #184] ldr x0, [x29, #208] ldrsb wzr, [x22] mov x1, #0x6670 // #26224 movk x1, #0xdd56, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x23, x0 mov x0, #0x25a8 // #9640 movk x0, #0x24a0, lsl #16 movk x0, #0xe9db, lsl #32 cmp x23, x0 ↓ b.eq 360 ldapur x21, [x22, #16] ↓ cbz x21, 104 ldr x0, [x21, #192] cmp x0, x23 ↓ b.eq 240 104: mov x21, xzr ldapurb w0, [x22, #158] ↓ cbz w0, 230 ldr x21, [x22, #8] ↓ cbz x21, 424 118: ldr x24, [x21, #8] mov x0, #0x3428 // #13352 movk x0, #0x1d00, lsl #16 movk x0, #0xe9d3, lsl #32 ldr x25, [x0] ↓ cbz x25, 444 130: mov x26, x23 ldrsb wzr, [x24] ldapur x27, [x24, #8] ldr x0, [x27, #8] ldrb w1, [x24, #25] ↓ cbz w1, 4a0 mov x0, x26 bl ffffffffff2f6ce0 ↓ cbz w0, 4c0 154: asr w28, w0, #0 158: ldp x26, x0, [x27, #8] ldr x1, [x27, #40] mov w2, w28 mul x1, x1, x2 lsr x1, x1, #32 add x1, x1, #0x1 ldr w2, [x0, #8] mov w3, w2 mul x1, x1, x3 lsr x1, x1, #32 cmp w1, w2 ↓ b.cs 6d4 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x2, [x0] ↓ cbz x2, 56c ↓ cbz x26, 2c0 ldr x0, [x26] mov x1, #0xba48 // #47688 movk x1, #0xdd73, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 2c0 1b8: ldr w0, [x2, #32] cmp w28, w0 ↓ b.ne 2b4 str x2, [x29, #24] ldr x3, [x2, #8] ↓ cbz x3, 4dc ldr x0, [x3] mov x1, #0xa290 // #41616 movk x1, #0xdc02, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 4e4 cmp x23, x3 cset x4, eq // eq = none 1f0: ↓ cbz w4, 504 1f4: ldr x2, [x29, #24] ldr x1, [x2, #16] str x1, [x29, #40] 200: ldr x2, [x29, #40] str xzr, [x29, #40] ldrb w0, [x2, #32] ↓ cbz w0, 5dc ldr x0, [x2, #16] ↓ cbnz x0, 5c4 ldr x21, [x2, #8] 21c: ↓ cbz x21, 230 add x0, x21, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 600 230: ↓ cbz x21, 61c add x14, x22, #0x10 mov x15, x21 bl fffffffffe064e54 240: add x0, x21, #0x11a ldaprb w0, [x0] ↓ cbz w0, 63c 24c: ldr x0, [x21, #248] cmp x0, #0x0 csel x21, x21, x0, eq // eq = none ldr x3, [x21] mov x0, #0x92d0 // #37584 movk x0, #0xdde2, lsl #16 movk x0, #0xe9da, lsl #32 cmp x3, x0 ↓ b.eq 318 mov x0, x21 mov x1, x20 ldr x2, [x29, #208] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↓ b 3ec 28c: mov x1, #0xfa68 // #64104 movk x1, #0xdde6, lsl #16 movk x1, #0xe9da, lsl #32 mov x2, #0x71e0 // #29152 movk x2, #0xdd44, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 ↑ b 60 2b4: ldapur x2, [x2, #24] ↑ cbnz x2, 1b8 ↓ b 56c 2c0: ldr w0, [x2, #32] cmp w28, w0 ↓ b.ne 538 str x2, [x29, #24] ldr x3, [x2, #8] ldr x0, [x26] mov x1, #0xba48 // #47688 movk x1, #0xdd73, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 50c ↓ cbz x3, 534 ldr x0, [x3] mov x1, #0xa290 // #41616 movk x1, #0xdc02, lsl #16 movk x1, #0xe9da, lsl #32 cmp x0, x1 ↓ b.ne 544 cmp x23, x3 cset x4, eq // eq = none 310: ↓ cbz w4, 564 ↑ b 1f4 318: ldr x22, [x29, #208] mov x0, x22 mov x1, #0x6c40 // #27712 movk x1, #0xdde3, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 str w0, [x29, #32] add x2, x29, #0x20 mov x0, x21 mov x1, x20 mov x3, x22 mov x4, #0x6c70 // #27760 movk x4, #0xdde3, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 ↓ b 3ec 0.72 360: movi v16.16b, #0x0 0.72 stp q16, q16, [x29, #48] 0.72 stp q16, q16, [x29, #80] 0.72 stp q16, q16, [x29, #112] 0.72 stp q16, q16, [x29, #144] 1.44 stp q16, q16, [x29, #176] 0.72 str x19, [x29, #152] 0.72 ldr x0, [x19, #208] str x0, [x29, #144] 1.44 ldr x0, [x29, #144] 6.47 ldr x0, [x0, #200] 0.72 str x0, [x29, #192] 1.44 strb wzr, [x29, #126] 0.72 strb wzr, [x29, #127] 2.88 ldr x22, [x19, #184] ldr w0, [x22, #140] 0.72 ↓ cbnz w0, 670 1.44 3a4: ldr x0, [x19, #344] ldr x3, [x19, #184] add x2, x29, #0xd0 add x4, x29, #0x30 mov x1, x20 0.72 mov x5, #0xff60 // #65376 1.44 movk x5, #0xddde, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 3d0: mov x0, x20 mov x1, #0x69b8 // #27064 0.72 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] ldr wzr, [x0] → blr x1 0.72 3ec: ldp x27, x28, [sp, #288] 0.72 ldp x25, x26, [sp, #272] 0.72 ldp x23, x24, [sp, #256] 0.72 ldp x21, x22, [sp, #240] ldp x19, x20, [sp, #224] ldp x29, x30, [sp], #304 0.72 ← ret 408: ldr x3, [x19, #328] mov x1, x20 ldr x2, [x29, #208] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 3d0 424: mov x0, x22 mov x1, #0xdcc8 // #56520 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x21, x0 ↑ b 118 444: mov x0, #0x9fb8 // #40888 movk x0, #0xdddb, lsl #16 movk x0, #0xe9da, lsl #32 bl ffffffffff2f6b90 mov x25, x0 mov x1, xzr mov x2, #0xa2b0 // #41648 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0xdc02, lsl #16 movk x3, #0xe9da, lsl #32 mov x4, #0x7c48 // #31816 movk x4, #0xdd25, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 mov x14, #0x3428 // #13352 movk x14, #0x1d00, lsl #16 movk x14, #0xe9d3, lsl #32 mov x15, x25 bl fffffffffe064e54 ↑ b 130 4a0: mov x1, x26 mov x11, #0x27b0 // #10160 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 ldr x16, [x11] → blr x16 asr w28, w0, #0 ↑ b 158 4c0: mov x0, x26 mov x1, #0xc6f0 // #50928 movk x1, #0xdd44, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 154 4dc: ldr x2, [x29, #24] ↑ b 2b4 4e4: mov x0, x3 mov x1, x23 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #16] → blr x3 asr w4, w0, #0 ↑ b 1f0 504: ldr x2, [x29, #24] ↑ b 2b4 50c: mov x0, x26 mov x2, x23 mov x1, x3 mov x11, #0x27b8 // #10168 movk x11, #0xdc03, lsl #16 movk x11, #0xe9da, lsl #32 ldr x16, [x11] → blr x16 asr w4, w0, #0 ↑ b 310 534: ldr x2, [x29, #24] 538: ldapur x2, [x2, #24] ↑ cbnz x2, 2c0 ↓ b 56c 544: mov x0, x3 mov x1, x23 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #16] → blr x3 asr w4, w0, #0 ↑ b 310 564: ldr x2, [x29, #24] ↑ b 538 56c: str xzr, [x29, #40] mov x1, x23 mov x2, x21 ldr x0, [x25, #8] ldr x3, [x25, #24] → blr x3 mov x4, x0 mov w3, w28 lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x28 mov x1, x27 mov x2, x23 mov x0, x24 mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0xdd6f, lsl #16 movk x8, #0xe9da, lsl #32 ldr x8, [x8] → blr x8 ↑ b 200 5c4: mov x1, #0xf270 // #62064 movk x1, #0xddde, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 5dc: mov x0, x21 mov x1, x23 mov x3, #0xe268 // #57960 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 mov x21, x0 ↑ b 21c 600: mov x0, x21 mov x1, #0xf2a0 // #62112 movk x1, #0xddde, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 230 61c: ldr x1, [x22, #32] mov x0, x23 mov x2, #0xdcb0 // #56496 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 63c: mov x0, x21 mov x1, #0x4480 // #17536 movk x1, #0xdde3, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 add x14, x21, #0xf8 mov x15, x0 bl fffffffffe064e54 add x0, x21, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 24c 670: ldr x0, [x22, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #80] ldr w0, [x22, #140] cmp w0, #0x2 ↑ b.ne 3a4 ↑ cbz x21, 3a4 ldr x0, [x19, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 3a4 ldr x0, [x29, #80] mov x1, x21 ldr x2, [x29, #80] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 3a4 6d4: bl ffffffffff2a65a8 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5006006001, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-45677-32563.so 2.63 stp x29, x30, [sp, #-16]! mov x29, sp 0.88 sub x3, x0, x1 sub x4, x1, x0 0.88 cmp x3, x2 2.63 ccmp x4, x2, #0x0, cs // cs = hs, nlast 0.88 ↓ b.cc 124 3.51 add x3, x1, x2 0.88 add x4, x0, x2 0.88 cmp x2, #0x10 ↓ b.ls d4 0.88 cmp x2, #0x40 ↓ b.ls 98 0.88 cmp x2, #0x100 ↓ b.cc 68 mov x5, x0 and x5, x5, #0x3f neg x5, x5 0.88 add x5, x5, #0x40 ldp q16, q17, [x1] 0.88 stp q16, q17, [x0] 4.39 ldp q16, q17, [x1, #32] 0.88 stp q16, q17, [x0, #32] 0.88 add x1, x1, x5 0.88 add x0, x0, x5 sub x2, x2, x5 0.88 68: lsr x5, x2, #6 0.88 6c: ldp q16, q17, [x1] 19.30 stp q16, q17, [x0] 10.53 ldp q16, q17, [x1, #32] 23.68 stp q16, q17, [x0, #32] 3.51 add x0, x0, #0x40 add x1, x1, #0x40 0.88 sub x5, x5, #0x1 1.75 ↑ cbnz x5, 6c and x2, x2, #0x3f 1.75 cmp x2, #0x10 0.88 ↓ b.ls a8 98: ldr q16, [x1] 0.88 str q16, [x0] 0.88 cmp x2, #0x20 ↓ b.hi b8 0.88 a8: ldur q16, [x3, #-16] 6.14 stur q16, [x4, #-16] b0: ldp x29, x30, [sp], #16 1.75 ← 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] 1.75 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, #0x6b98 // #27544 movk x3, #0xddf4, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5006006001, [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-45677-32687.so Percent stp x29, x30, [sp, #-128]! 0.97 stp x19, x20, [sp, #64] 0.97 stp x21, x22, [sp, #80] stp x23, x24, [sp, #96] 0.97 stp x25, x26, [sp, #112] mov x29, sp stp xzr, xzr, [x29, #48] 0.97 str xzr, [x29, #40] 0.97 str x4, [x29, #16] 3.88 mov x20, x0 1.94 mov x19, x1 0.97 mov x21, x2 mov x22, x3 1.94 ldr w0, [x19, #40] 2.91 and w23, w0, #0x7fffffff 0.97 ldr w0, [x22, #136] cmp w23, w0 ↓ b.ge 298 1.94 ldrb w0, [x20, #24] ↓ cbnz w0, 58 ldr x0, [x21] 1.94 ↓ cbz x0, 2b4 58: ldrb w0, [x20, #16] 0.97 cmp w0, #0x2 ↓ b.ne 48c ldr x0, [x29, #16] ldrb w1, [x0, #144] 3.88 ↓ cbnz w1, 2d0 1.94 70: ldr x2, [x21] ldr x1, [x20] mov x3, #0xe638 // #58936 movk x3, #0xdddf, lsl #16 movk x3, #0xe9da, lsl #32 cmp x1, x3 ↓ b.ne 278 ↓ cbz x2, 318 add x22, x2, #0xc ldr w21, [x2, #8] mov w1, #0x21aa // #8618 0.97 movk w1, #0x9ef, lsl #16 1.94 cmp w21, w1 ↓ b.gt 334 add x1, x19, #0x70 ldr x1, [x1] ↓ cbz w21, 350 str x22, [x29, #56] mov x2, x22 1.94 mov x3, x1 mov x1, #0x2e08 // #11784 movk x1, #0x1d00, lsl #16 movk x1, #0xe9d3, lsl #32 ldr x1, [x1] cmp x3, #0x0 0.97 csel x3, x3, x1, ne // ne = any 1.94 ldr x1, [x3] mov x4, #0x7bf0 // #31728 movk x4, #0xddd7, lsl #16 movk x4, #0xe9da, lsl #32 cmp x1, x4 ↓ b.ne 358 0.97 ldr x3, [x3, #8] ldrsb wzr, [x3] mov x1, x2 1.94 mov w2, w21 mov x0, x3 mov x3, #0x7df8 // #32248 movk x3, #0xddd5, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 asr w3, w0, #0 11c: str xzr, [x29, #56] 0.97 cmn w3, #0x1 ↓ b.ne 37c ldr w1, [x19, #124] 0.97 ↓ tbz w1, #1, 3a0 130: ldr w1, [x19, #124] ↓ tbnz w1, #0, 3d8 mov w1, #0x3 // #3 mul w1, w21, w1 1.94 add w1, w1, #0x3 ldr w2, [x19, #76] ldr w3, [x19, #52] sub w2, w2, w3 cmp w2, w1 ↓ b.lt 3fc 158: add x24, x19, #0x40 mov x25, xzr 0.97 mov w26, wzr 0.97 ldr x1, [x24] ↓ cbz x1, 1a4 ldr x2, [x1] 0.97 ldr w2, [x2] 0.97 tst w2, #0x80000000 ↓ b.eq 418 0.97 add x25, x1, #0x10 0.97 ldr w26, [x1, #8] 184: ldp w2, w5, [x24, #8] and w2, w2, #0x7fffffff mov w2, w2 add x4, x2, w5, uxtw cmp x4, w26, uxtw ↓ b.hi 458 add x25, x25, x2 asr w26, w5, #0 0.97 1a4: ldr w2, [x19, #40] 1.94 ↓ tbnz w2, #31, 438 1ac: ldr w24, [x19, #52] add w2, w24, #0x1 0.97 str w2, [x19, #52] 3.88 cmp w24, w26 ↓ b.cs 5b4 1.94 mov w2, #0x22 // #34 0.97 strb w2, [x25, w24, uxtw #0] 0.97 ldr w2, [x19, #52] 0.97 cmp w2, w26 ↓ b.hi 458 2.91 mov w5, w2 add x24, x25, x5 sub w3, w26, w2 str x22, [x29, #48] mov x2, x22 0.97 stp x2, x24, [x29, #32] str x24, [x29, #24] ↓ cbz w21, 21c mov x2, x24 add x5, x29, #0x18 add x4, x29, #0x20 mov w1, w21 mov x0, x22 mov x6, #0x78e8 // #30952 movk x6, #0xdd25, lsl #16 0.97 movk x6, #0xe9da, lsl #32 0.97 ldr x6, [x6] 0.97 → blr x6 0.97 21c: ldr w1, [x29, #24] sub w1, w1, w24 0.97 stp xzr, xzr, [x29, #40] ldr w2, [x19, #52] add w24, w2, w1 1.94 str w24, [x19, #52] add w1, w24, #0x1 str w1, [x19, #52] cmp w24, w26 ↓ b.cs 5b4 1.94 mov w1, #0x22 // #34 0.97 strb w1, [x25, w24, uxtw #0] 24c: ldr w1, [x19, #40] 1.94 orr w1, w1, #0x80000000 1.94 str w1, [x19, #40] 0.97 mov w1, #0x7 // #7 0.97 strb w1, [x19, #58] 260: ldr w1, [x19, #40] and w1, w1, #0x7fffffff 1.94 cmp w23, w1 ↓ b.ne 470 1.94 270: mov w5, #0x1 // #1 ↓ b 650 0.97 278: mov x0, x20 mov x1, x19 mov x3, x22 0.97 ldr x4, [x20] 0.97 ldr x4, [x4, #96] ldr x4, [x4, #48] 2.91 → blr x4 0.97 ↑ b 260 298: ldr w0, [x22, #136] mov x1, #0x6df0 // #28144 movk x1, #0xdde3, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2b4: mov x0, x19 mov x1, #0x6238 // #25144 movk x1, #0xddea, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 270 2d0: ldrb w1, [x20, #27] ↑ cbz w1, 70 ldr x21, [x21] add x0, x0, #0x90 mov x1, #0x6e08 // #28168 movk x1, #0xdde3, lsl #16 movk x1, #0xe9da, 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 260 318: mov x0, x19 mov x1, #0x6238 // #25144 movk x1, #0xddea, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 260 334: mov w0, w21 mov x1, #0x7fa8 // #32680 movk x1, #0xddd5, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 350: mov w3, #0xffffffff // #-1 ↑ b 11c 358: 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 11c 37c: mov x1, x22 mov w2, w21 mov x0, x19 mov x4, #0x6328 // #25384 movk x4, #0xddea, lsl #16 movk x4, #0xe9da, lsl #32 ldr x4, [x4] → blr x4 ↑ b 24c 3a0: mov x0, x19 mov x1, #0xc288 // #49800 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 130 mov x0, x19 mov x1, #0xc2a0 // #49824 movk x1, #0xddf4, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 ↑ b 130 3d8: mov x1, x22 mov w2, w21 mov x0, x19 mov x3, #0x6358 // #25432 movk x3, #0xddea, lsl #16 movk x3, #0xe9da, lsl #32 ldr x3, [x3] → blr x3 ↑ b 24c 3fc: mov x0, x19 mov x2, #0x6be0 // #27616 movk x2, #0xddd5, lsl #16 movk x2, #0xe9da, lsl #32 ldr x2, [x2] → blr x2 ↑ b 158 418: mov x0, x1 ldr x1, [x1] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 mov w26, w1 ↑ b 184 438: ldr w24, [x19, #52] add w2, w24, #0x1 str w2, [x19, #52] cmp w24, w26 ↓ b.cs 5b4 mov w2, #0x2c // #44 strb w2, [x25, w24, uxtw #0] ↑ b 1ac 458: mov x1, #0xdb00 // #56064 movk x1, #0xdd44, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 470: mov x0, x20 mov x1, #0x6f10 // #28432 movk x1, #0xdde3, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 48c: ldr x0, [x29, #16] ldr w1, [x0, #68] cmp w1, #0x0 cset x23, ne // ne = any ldr x1, [x21] ↓ cbz x1, 5bc ldrb w1, [x0, #142] cmp w1, #0x1 ↓ b.eq 5bc mov x1, #0x6268 // #25192 movk x1, #0xddea, lsl #16 movk x1, #0xe9da, lsl #32 ldr x1, [x1] → blr x1 mov x2, x0 ldrb w1, [x20, #18] ↓ cbnz w1, 4e0 ldr x1, [x2, #160] cmp x1, #0x0 cset x1, ne // ne = any ↓ cbz w1, 50c 4e0: ldr x1, [x21] mov x0, x20 mov x3, x22 ldr x4, [x29, #16] mov x5, #0x6298 // #25240 movk x5, #0xddea, lsl #16 movk x5, #0xe9da, lsl #32 ldr x5, [x5] → blr x5 mov x24, x0 ↓ b 510 50c: mov x24, xzr 510: ↓ cbnz w23, 54c ldr w2, [x22, #140] ↓ cbz w2, 54c ldr x2, [x21] mov x0, x20 mov x1, x19 mov x3, x22 mov x4, x24 ldr x5, [x29, #16] mov x6, #0x62b0 // #25264 movk x6, #0xddea, lsl #16 movk x6, #0xe9da, lsl #32 ldr x6, [x6] → blr x6 ↑ cbnz w0, 270 54c: ↓ cbz x24, 5bc 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, 648 ldrb w0, [x4, #143] ↓ cbz w0, 648 ldr x0, [x4, #32] ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #56] → blr x1 ↓ b 640 5b4: bl ffffffffff2a5e10