Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-40348-32508.so 0.69 stp x29, x30, [sp, #-80]! 1.13 stp x19, x20, [sp, #16] 0.43 stp x21, x22, [sp, #32] 0.35 stp x23, x24, [sp, #48] 0.26 stp x25, x26, [sp, #64] 0.43 mov x29, sp mov x19, x0 0.35 ldr w20, [x19, #32] 0.09 asr w21, w20, #0 0.09 ldp x23, x22, [x19] 0.09 ldrb w24, [x19, #40] 0.09 ldrb w25, [x19, #44] 0.35 ldrb w0, [x19, #68] 0.17 ↓ cbnz w0, 298 0.69 38: ldr w0, [x19, #88] 0.09 ↓ cbz w0, 320 0.26 uxtb w0, w1 0.17 cmp w0, #0x2c 0.09 ↓ b.ne 248 0.69 add w0, w20, #0x1 0.43 str w0, [x19, #32] 0.69 ldr x0, [x19, #8] 0.61 add x0, x0, #0x1 0.52 str x0, [x19, #8] 0.78 ldr w0, [x19, #32] 0.52 ldr w1, [x19, #56] 0.17 cmp x1, w0, sxtw 0.17 ↓ b.le 378 2.17 add x20, x19, #0x30 0.17 mov x1, x20 0.26 ldr w2, [x1, #8] 0.17 cmp w0, w2 0.09 ↓ b.cs 73c 0.35 ldr x1, [x1] 0.26 ldrb w1, [x1, w0, uxtw #0] 1.30 cmp w1, #0x20 ↓ b.le 3d8 2.08 94: ldrsw x0, [x19, #32] 0.52 str x0, [x19, #24] 0.09 ldrb w0, [x19, #68] 0.43 cmp w0, #0x2 ↓ b.eq 46c 0.43 a8: ldrb w0, [x19, #38] 0.09 ↓ cbz w0, 680 cmp w1, #0x22 ↓ b.ne 49c 0.17 strb wzr, [x19, #44] 0.26 ldr w0, [x19, #32] 0.09 add w0, w0, #0x1 0.43 ldr w1, [x20, #8] 0.43 cmp w0, w1 ↓ b.hi 504 0.26 ldr x2, [x20] mov w3, w0 0.52 add x20, x2, x3 sub w26, w1, w0 0.35 cmp w26, #0x10 ↓ b.lt 224 0.35 ldr q16, [x20] 2.95 movi v17.16b, #0x20 cmhi v17.16b, v17.16b, v16.16b 0.26 movi v18.16b, #0x22 0.09 cmeq v18.16b, v16.16b, v18.16b 0.17 orr v17.16b, v17.16b, v18.16b 0.17 movi v18.16b, #0x5c 0.35 cmeq v16.16b, v16.16b, v18.16b 0.09 orr v16.16b, v17.16b, v16.16b 0.09 shrn v16.8b, v16.8h, #4 0.09 mov x0, v16.d[0] 0.35 ↓ cbz x0, 1f8 21.51 rbit x0, x0 0.09 clz x0, x0 0.26 asr w3, w0, #2 0.26 124: ↓ tbnz w3, #31, 544 11.45 cmp w3, w26 ↓ b.cs 73c 0.78 ldrb w1, [x20, w3, uxtw #0] 6.16 cmp w1, #0x22 ↓ b.ne 51c 2.08 ldr x1, [x19, #8] add w2, w3, #0x2 0.35 add x1, x1, w2, sxtw 0.17 str x1, [x19, #8] 0.35 cmp w3, w26 ↓ b.hi 504 0.35 str x20, [x19, #152] 0.35 str w3, [x19, #160] 0.26 strb wzr, [x19, #46] 0.09 mov w1, #0x7 // #7 0.26 strb w1, [x19, #40] 0.52 ldr w1, [x19, #32] 0.17 add w1, w1, w3 add w1, w1, #0x2 0.35 str w1, [x19, #32] 0.87 178: ldr w0, [x19, #32] 3.56 ldr w1, [x19, #56] 0.26 cmp x1, w0, sxtw 0.26 ↓ b.le 59c 6.59 add x20, x19, #0x30 mov x1, x20 0.43 ldr w2, [x1, #8] 0.35 cmp w0, w2 ↓ b.cs 73c 0.43 ldr x1, [x1] 0.26 ldrb w2, [x1, w0, uxtw #0] 1.30 cmp w2, #0x20 ↓ b.le 5bc 2.25 1ac: cmp w2, #0x3a ↓ b.ne 658 0.26 ldr w3, [x19, #32] 0.43 add w3, w3, #0x1 0.26 str w3, [x19, #32] 0.52 ldr x3, [x19, #8] 0.17 add x3, x3, #0x1 0.26 str x3, [x19, #8] 0.35 mov w3, #0x5 // #5 0.43 strb w3, [x19, #40] 0.26 1d4: mov w20, wzr 1d8: ↓ cbnz w20, 708 0.35 mov w0, #0x1 // #1 0.43 ldp x25, x26, [sp, #64] 0.35 ldp x23, x24, [sp, #48] 0.61 ldp x21, x22, [sp, #32] 0.52 ldp x19, x20, [sp, #16] 0.52 ldp x29, x30, [sp], #80 ← ret 4.94 1f8: add x0, x20, #0x10 sub w1, w26, #0x10 mov x2, #0xc7e0 // #51168 0.17 movk x2, #0x55d5, lsl #16 0.09 movk x2, #0xef17, lsl #32 ldr x2, [x2] 0.17 → blr x2 add w1, w0, #0x10 0.09 cmp w0, #0x0 0.09 csel w3, w1, w0, ge // ge = tcont ↑ b 124 224: mov x0, x20 mov w1, w26 mov x2, #0xc7e0 // #51168 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 124 248: uxtb w0, w1 0.09 cmp w0, #0x7d ↓ b.ne 270 254: mov x0, x19 mov x1, #0xc570 // #50544 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1d4 270: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 6dc 27c: mov x0, x19 mov x1, #0xc5a0 // #50592 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1d4 298: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 2fc uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 2d0 mov x0, x19 mov x1, #0xc8a0 // #51360 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 1d4 ↓ b 62c 2d0: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xc8e8 // #51432 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 1d8 2fc: uxtb w1, w1 mov x0, x19 mov x2, #0xc900 // #51456 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 1d8 320: ldrb w0, [x19, #70] ↓ cbz w0, 34c uxtb w1, w1 mov x0, x19 mov x2, #0xc5d0 // #50640 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 1d4 ↓ b 62c 34c: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 378: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 3d8: mov x0, x19 mov x1, #0xc540 // #50496 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 448 mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 448: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 73c ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 46c: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xc8a0 // #51360 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 1d4 ↓ b 62c 49c: cmp w1, #0x7d ↓ b.ne 4d8 ldrb w3, [x19, #69] ↑ cbnz w3, 254 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 4d8: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 504: mov x0, #0xdb00 // #56064 movk x0, #0x5544, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 51c: mov x1, x20 mov w2, w26 mov x0, x19 mov x4, #0xc6f0 // #50928 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 178 ↓ b 62c 544: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 59c: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c ↓ b 600 5bc: mov x0, x19 mov x1, #0xc540 // #50496 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 634 mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c 600: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 62c: mov w20, #0x1 // #1 ↑ b 1d8 634: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 73c ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 1ac 658: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 680: cmp w1, #0x5d ↓ b.ne 6bc ldrb w3, [x19, #69] ↑ cbnz w3, 27c mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 6bc: mov x0, x19 mov x2, #0xc5b8 // #50616 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 1d4 ↑ b 62c 6dc: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 708: cmp w20, #0x1 ↓ b.ne 720 str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 720: 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 73c: bl ffffffffff2b1d10 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-40348-32808.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, #0x320 stp x29, x30, [sp] mov x29, sp movi v16.16b, #0x0 add x9, x29, #0xc8 add x10, x29, #0x2e0 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, #0x5536, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0x67f0 // #26608 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 14f0 80: ldr x2, [x21] mov x1, #0xbe58 // #48728 movk x1, #0x559e, lsl #16 movk x1, #0xef17, lsl #32 cmp x2, x1 ↓ b.ne 15e4 ldrb w2, [x21, #43] ↓ cbz w2, 152c 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, 1548 str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 1618 ↓ tbnz w22, #31, 1630 ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 1680 ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 16e8 e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 1710 f4: ldr x22, [x20, #16] ↓ cbz x22, 1718 ldr x0, [x22, #16] ↓ cbz x0, 1784 104: ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0x559e, lsl #16 movk x1, #0xef17, lsl #32 cmp x0, x1 ↓ b.ne 17a4 ldrb w20, [x21, #41] 120: ↓ cbz w20, 17c0 add x14, x22, #0x10 mov x15, x21 bl fffffffffe0550b4 ldr x20, [x22, #24] ↓ cbz x20, 1810 ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 1848 ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 289c add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0x5525, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 str wzr, [x20, #16] 174: str xzr, [x22, #8] str wzr, [x22, #52] str xzr, [x22, #32] stp xzr, xzr, [x22, #64] strb wzr, [x22, #56] sturh wzr, [x22, #57] str wzr, [x22, #40] stp xzr, xzr, [x22, #80] str xzr, [x22, #96] strh wzr, [x22, #104] strb wzr, [x22, #106] strb wzr, [x22, #59] 1a4: ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1858 0.09 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1874 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 1894 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 18b4 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 289c 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 2924 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 2924 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, #0x9bc1, lsl #16 movk x20, #0xef17, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] cmp w2, w3 ↓ b.ge 18d0 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #776] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0xa1c0, lsl #16 movk x2, #0xef07, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0x73e8 // #29672 movk x3, #0x55d7, lsl #16 movk x3, #0xef17, lsl #32 cmp x2, x3 ↓ b.ne 18f8 ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7d20 // #32032 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #776] cmn w4, #0x1 ↓ b.ne 1914 ldr w0, [x22, #124] ↓ tbz w0, #1, 193c 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 19c0 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 19e8 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 1a08 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 289c add x24, x24, x2 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 1a24 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2924 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 289c mov w5, w2 add x23, x24, x5 sub w3, w25, w2 str x20, [x29, #768] mov x2, x20 str x23, [x29, #760] str x2, [x29, #752] str x23, [x29, #744] mov x0, x20 mov x2, x23 add x5, x29, #0x2e8 add x4, x29, #0x2f0 mov w1, #0x7 // #7 mov x6, #0x78e8 // #30952 movk x6, #0x5525, lsl #16 movk x6, #0xef17, lsl #32 ldr x6, [x6] → blr x6 ldr w1, [x29, #744] sub w1, w1, w23 str xzr, [x29, #768] str xzr, [x29, #760] 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 2924 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 2924 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 2924 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 de8 494: ldr x0, [x24] 2.06 mov x1, #0xea30 // #59952 movk x1, #0x5528, lsl #16 movk x1, #0xef17, lsl #32 cmp x0, x1 0.09 ↓ b.ne e2c ldr w0, [x24, #8] 0.84 ↓ cbz w0, de8 ldr w0, [x22, #124] ↓ tbz w0, #1, 1a64 4bc: add x1, x24, #0xc ldr w2, [x24, #8] 0.19 mov x0, x22 mov w3, wzr mov x4, #0x7eb8 // #32440 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] 0.38 → blr x4 ↓ b de8 4e4: ldr w0, [x22, #76] ↓ cbnz w0, 1ba0 ldr x0, [x22, #16] ↓ cbz x0, 1b54 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 1ab8 510: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1b40 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 289c ldr w14, [x15, #8] sub w11, w14, w0 530: add x14, x22, #0x40 bl fffffffffe0550b4 stp w0, w11, [x22, #72] ↓ b e88 540: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6aa8 // #27304 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↓ b f14 560: mov x1, x28 ldr w2, [x29, #692] mov x0, x22 mov x4, #0xcbd0 // #52176 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ↓ b a44 0.19 584: ldapur x5, [x5, #24] 0.09 ↓ cbz x5, 2124 0.09 ldr w2, [x29, #412] ↓ b be8 594: ldr x7, [x29, #96] 598: ldapur x5, [x5, #24] ↓ cbz x5, 21a4 ldr w2, [x29, #412] 5a4: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 594 str x5, [x29, #40] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0x5573, lsl #16 movk x1, #0xef17, lsl #32 cmp x0, x1 ↓ b.ne 212c ldr x4, [x29, #48] ↓ cbz x6, 2164 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x5402, lsl #16 movk x1, #0xef17, lsl #32 cmp x0, x1 ↓ b.ne 2170 ldr x7, [x29, #96] cmp x7, x6 cset x8, eq // eq = none 5fc: ↓ cbz w8, 219c ↓ b c28 604: ldr x28, [x29, #576] ↓ cbz x28, 27f8 ldr x1, [x28] mov x0, #0x7ac0 // #31424 movk x0, #0x5526, lsl #16 movk x0, #0xef17, lsl #32 0.09 cmp x1, x0 ↓ b.eq 648 mov x1, x28 mov x0, #0x7ac0 // #31424 movk x0, #0x5526, lsl #16 movk x0, #0xef17, lsl #32 mov x2, #0x58c0 // #22720 movk x2, #0x5525, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 648: ldr w0, [x28, #8] str w0, [x29, #392] ldrb w0, [x26, #278] ↓ cbnz w0, 22b0 movi v16.16b, #0x0 str xzr, [x29, #232] stp q16, q16, [x29, #240] stp q16, q16, [x29, #272] stp q16, q16, [x29, #304] stp q16, q16, [x29, #336] str q16, [x29, #368] str xzr, [x29, #384] str x26, [x29, #336] ldr x0, [x26, #208] str x0, [x29, #328] 0.38 ldr x0, [x29, #328] 0.09 ldr x0, [x0, #200] 0.19 str x0, [x29, #376] strb wzr, [x29, #310] strb wzr, [x29, #311] ldr x2, [x26, #184] 0.09 str x2, [x29, #32] ldr w0, [x2, #140] ↓ cbnz w0, 22cc 6a8: ldr x0, [x26, #344] ldr x3, [x26, #184] 0.38 add x2, x29, #0x188 0.19 add x4, x29, #0xe8 mov x1, x22 0.09 mov x5, #0x6be0 // #27616 0.19 movk x5, #0x55e3, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] ldr wzr, [x0] 0.19 → blr x5 ↓ b 74c 6d8: add x0, x29, #0x1a0 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, #520] ldr x0, [x26, #208] str x0, [x29, #512] ldr x0, [x29, #512] ldr x0, [x0, #200] str x0, [x29, #560] strb wzr, [x29, #494] strb wzr, [x29, #495] ldr x0, [x26, #184] ldr w1, [x0, #140] ↓ cbnz w1, 2330 720: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x240 add x4, x29, #0x1a0 mov x1, x22 mov x5, #0xfe88 // #65160 movk x5, #0x55de, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 74c: mov x0, x22 mov x1, #0x68e0 // #26848 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 0.28 mov w26, w27 0.19 768: ldr w1, [x25, #68] 0.38 cmp w24, w1 ↓ b.ne 28b4 0.56 ldr w1, [x25, #56] 0.09 cmp w26, w1 ↓ b.cs cd8 0.09 780: ldr x1, [x25, #16] 0.09 add w2, w26, #0x1 asr w27, w2, #0 0.19 ldr w2, [x1, #8] 0.84 cmp w26, w2 ↓ b.cs 2924 0.28 mov w2, #0x18 // #24 0.09 mov x0, #0x10 // #16 0.19 umaddl x2, w26, w2, x0 add x1, x1, x2 0.38 ldr w2, [x1, #20] 0.38 cmn w2, #0x1 ↓ b.lt 2350 0.38 ldp x2, x26, [x1] 0.38 ↓ cbz x2, 276c 0.09 add x28, x2, #0xc 0.09 ldr w3, [x2, #8] 1.69 str w3, [x29, #692] 0.09 mov w1, #0x21aa // #8618 movk w1, #0x9ef, lsl #16 0.09 cmp w3, w1 ↓ b.gt 2790 0.09 add x1, x22, #0x70 0.19 ldr x0, [x1] ↓ cbz w3, 1cb8 0.19 str x28, [x29, #680] 0.19 mov x1, x28 ↓ cbnz x0, 800 mov x0, #0x2e08 // #11784 0.19 movk x0, #0xa1c0, lsl #16 movk x0, #0xef07, lsl #32 0.09 ldr x0, [x0] 0.09 800: ldr x2, [x0] 0.09 mov x4, #0x73e8 // #29672 movk x4, #0x55d7, lsl #16 movk x4, #0xef17, lsl #32 cmp x2, x4 ↓ b.ne 1cc8 ldr x0, [x0, #8] 0.19 ldrsb wzr, [x0] 0.75 mov w2, w3 mov x4, #0x7d20 // #32032 0.09 movk x4, #0x55d5, lsl #16 0.19 movk x4, #0xef17, lsl #32 ldr x4, [x4] 0.09 → blr x4 0.09 asr w3, w0, #0 83c: str xzr, [x29, #680] 0.09 cmn w3, #0x1 ↑ b.ne 560 ldr w0, [x22, #124] 0.09 ↓ tbz w0, #1, 1ce4 0.19 850: ldr w0, [x22, #124] 0.28 ↓ tbnz w0, #0, 1d18 0.09 mov w0, #0x3 // #3 ldr w2, [x29, #692] 0.47 mul w0, w2, w0 0.09 add w0, w0, #0x4 0.09 ldr w1, [x22, #76] 0.09 ldr w3, [x22, #52] sub w1, w1, w3 cmp w1, w0 ↓ b.ge 8e8 0.38 ldr w1, [x22, #76] ↓ cbnz w1, 1e48 cmp w0, #0x100 ↓ b.gt 1d3c 0.19 mov w1, #0x100 // #256 890: ldr x0, [x22, #16] 0.09 ↓ cbz x0, 1df8 ldr x3, [x22, #24] str x3, [x29, #120] 0.09 ldrsb wzr, [x3] 0.56 ldr x0, [x3, #8] 0.09 ldr w0, [x0, #8] 0.47 ldr w4, [x3, #16] 0.09 sub w0, w0, w4 cmp w0, w1 ↓ b.lt 1d44 0.56 8bc: ldr x15, [x3, #8] ldr w0, [x3, #16] ↓ cbz x15, 1de4 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 289c 0.09 ldr w14, [x15, #8] sub w1, w14, w0 8dc: add x14, x22, #0x40 bl fffffffffe0550b4 0.19 stp w0, w1, [x22, #72] 0.19 8e8: add x1, x22, #0x40 0.19 str x1, [x29, #104] mov x3, xzr mov w4, wzr ldr x0, [x1] 0.09 ↓ cbz x0, 93c ldr x3, [x0] 0.28 ldr w4, [x3] 0.19 tst w4, #0x80000000 0.56 ↓ b.eq 1f4c 1.03 add x3, x0, #0x10 0.19 ldr w4, [x0, #8] 918: ldr x1, [x29, #104] 0.09 ldp w5, w1, [x1, #8] 0.38 and w5, w5, #0x7fffffff mov w5, w5 add x0, x5, w1, uxtw 0.19 cmp x0, w4, uxtw 0.09 ↓ b.hi 289c 1.13 add x3, x3, x5 asr w4, w1, #0 0.09 93c: ldr w5, [x22, #40] ↓ tbz w5, #31, 960 ldr w6, [x22, #52] add w5, w6, #0x1 0.09 str w5, [x22, #52] cmp w6, w4 ↓ b.cs 2924 0.09 mov w5, #0x2c // #44 0.09 strb w5, [x3, w6, uxtw #0] 0.09 960: ldr w6, [x22, #52] 0.19 add w5, w6, #0x1 0.09 str w5, [x22, #52] 0.38 cmp w6, w4 ↓ b.cs 2924 0.28 mov w5, #0x22 // #34 0.09 strb w5, [x3, w6, uxtw #0] 0.28 ldr w5, [x22, #52] 0.84 cmp w5, w4 0.09 ↓ b.hi 289c 0.75 mov w1, w5 str x3, [x29, #112] add x6, x3, x1 str w4, [x29, #620] 0.09 sub w7, w4, w5 str x28, [x29, #608] mov x5, x28 0.09 str x6, [x29, #600] str x6, [x29, #128] str x5, [x29, #592] str x6, [x29, #584] ldr w2, [x29, #692] 0.28 ↓ cbz w2, 9ec 0.09 mov x0, x28 mov x2, x6 0.09 add x5, x29, #0x248 add x4, x29, #0x250 0.19 ldr w1, [x29, #692] mov w3, w7 0.19 mov x7, #0x78e8 // #30952 movk x7, #0x5525, lsl #16 0.19 movk x7, #0xef17, lsl #32 0.09 ldr x7, [x7] 0.28 → blr x7 0.19 ldr x6, [x29, #128] 0.38 9ec: ldr w1, [x29, #584] 0.09 sub w1, w1, w6 str xzr, [x29, #608] str xzr, [x29, #600] 0.09 ldr w2, [x22, #52] add w6, w2, w1 0.09 str w6, [x22, #52] 0.09 add w1, w6, #0x1 str w1, [x22, #52] ldr w4, [x29, #620] 0.19 cmp w6, w4 0.09 ↓ b.cs 2924 0.94 mov w1, #0x22 // #34 0.28 ldr x3, [x29, #112] 0.09 strb w1, [x3, w6, uxtw #0] 0.09 ldr w6, [x22, #52] 1.59 add w1, w6, #0x1 0.28 str w1, [x22, #52] cmp w6, w4 ↓ b.cs 2924 0.84 mov w1, #0x3a // #58 0.09 strb w1, [x3, w6, uxtw #0] a44: ldr w0, [x22, #40] and w0, w0, #0x7fffffff str w0, [x22, #40] 0.09 mov w0, #0x500 // #1280 0.28 sturh w0, [x22, #57] str x26, [x29, #576] mov x0, #0x33d8 // #13272 0.09 movk x0, #0xa1c0, lsl #16 movk x0, #0xef07, lsl #32 ldr x26, [x0] 0.19 ↓ cbz x26, 1f78 0.19 a70: ldapurb w0, [x26, #159] 1.13 ↓ cbz w0, 1fa4 0.38 a78: ldr x1, [x26, #24] 0.56 ↓ cbz x1, 1fc0 0.19 a80: mov x26, x1 0.09 ↓ cbz x26, aa0 mov x0, #0x2258 // #8792 movk x0, #0x55db, lsl #16 0.19 movk x0, #0xef17, lsl #32 ldr x2, [x26] 2.81 cmp x2, x0 ↓ b.ne 2008 0.56 aa0: ldrb w0, [x26, #278] 0.09 ↓ cbnz w0, 2020 0.28 ldr x0, [x26, #200] 0.28 ldrb w0, [x0, #18] 2.44 ↑ cbz w0, 6d8 0.84 ldr x0, [x29, #576] 0.09 ↑ cbz x0, 6d8 ldr x28, [x26, #184] ldr x0, [x29, #576] ldrsb wzr, [x28] mov x1, #0x6670 // #26224 movk x1, #0x5556, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x1, x0 0.09 str x1, [x29, #96] mov x0, #0x25a8 // #9640 0.09 movk x0, #0x9bc0, lsl #16 0.09 movk x0, #0xef17, lsl #32 0.09 cmp x1, x0 ↑ b.eq 6d8 ldapur x26, [x28, #16] 0.09 ↓ cbz x26, b10 0.09 ldr x0, [x26, #192] 0.09 cmp x0, x1 0.19 ldr x1, [x29, #96] 2.06 ↓ b.eq c78 0.19 b10: mov x26, xzr ldapurb w0, [x28, #158] ↓ cbz w0, c68 0.09 ldr x26, [x28, #8] 0.09 ↓ cbz x26, 203c 0.19 b24: ldr x2, [x26, #8] 0.38 str x2, [x29, #88] 0.19 mov x0, #0x3428 // #13352 0.09 movk x0, #0xa1c0, lsl #16 0.09 movk x0, #0xef07, lsl #32 0.09 ldr x3, [x0] 0.09 ↓ cbz x3, 2060 b40: ldr x2, [x29, #88] 0.75 str x2, [x29, #64] 0.09 mov x4, x1 0.09 stp x3, x4, [x29, #72] 0.09 ldrsb wzr, [x2] 0.94 ldapur x5, [x2, #8] str x5, [x29, #56] 0.38 ldr x0, [x5, #8] 3.19 ldrb w6, [x2, #25] 0.19 ↓ cbz w6, 20a8 0.19 mov x0, x4 0.09 bl ffffffffff2e6f40 0.09 ↓ cbz w0, 20c8 0.19 b74: asr w2, w0, #0 0.09 b78: str w2, [x29, #412] ldr x3, [x29, #56] 0.47 ldr x4, [x3, #8] 1.03 str x4, [x29, #48] ldr x0, [x3, #16] 0.19 ldr x1, [x3, #40] 0.09 mov w5, w2 0.19 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 0.09 ldr w5, [x0, #8] 0.38 mul x1, x1, x5 1.03 lsr x1, x1, #32 ldr w5, [x0, #8] 0.38 cmp w1, w5 ↓ b.cs 2924 2.16 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 0.09 add x0, x0, x1 0.09 ldapr x5, [x0] 2.81 ↓ cbz x5, 20ec 0.94 ↑ cbz x4, 5a4 ldr x0, [x4] 0.09 mov x1, #0xba48 // #47688 movk x1, #0x5573, lsl #16 movk x1, #0xef17, lsl #32 0.09 cmp x0, x1 ↑ b.ne 5a4 0.09 be8: ldr w0, [x5, #32] 5.35 cmp w2, w0 0.66 ↑ b.ne 584 0.94 str x5, [x29, #40] ldr x6, [x5, #8] 0.09 ↓ cbz x6, 20e4 0.09 ldr x0, [x6] 0.56 mov x1, #0xa290 // #41616 0.28 movk x1, #0x5402, lsl #16 0.09 movk x1, #0xef17, lsl #32 cmp x0, x1 ↓ b.ne 20f4 0.19 ldr x7, [x29, #96] 0.19 cmp x7, x6 0.09 cset x8, eq // eq = none 0.28 c24: ↓ cbz w8, 211c c28: ldr x5, [x29, #40] 0.09 ldr x1, [x5, #16] 0.09 str x1, [x29, #400] 0.09 c34: ldr x2, [x29, #400] 0.84 str xzr, [x29, #400] ldrb w0, [x2, #32] 5.35 ↓ cbz w0, 2204 0.09 ldr x0, [x2, #16] ↓ cbnz x0, 27e0 ldr x26, [x2, #8] 0.09 c50: ↓ cbz x26, 226c 0.19 add x0, x26, #0x119 ldaprb w0, [x0] 1.78 cmp w0, #0x2 ↓ b.ne 222c 1.59 mov x1, x7 c68: ↓ cbz x26, 224c add x14, x28, #0x10 0.09 mov x15, x26 0.09 bl fffffffffe0550b4 c78: add x0, x26, #0x11a ldaprb w0, [x0] 0.28 ↓ cbz w0, 2274 0.09 c84: ldr x0, [x26, #248] ↓ cbnz x0, 22a8 0.19 c8c: ldr x0, [x26] 0.09 mov x1, #0x8a70 // #35440 movk x1, #0x55e2, lsl #16 0.09 movk x1, #0xef17, lsl #32 cmp x0, x1 ↑ b.eq 604 0.19 mov x0, x26 0.09 mov x1, x22 0.19 ldr x2, [x29, #576] 0.09 ldr x3, [x26] ldr x3, [x3, #64] 0.75 ldr x3, [x3, #56] 2.91 → blr x3 0.19 mov w26, w27 ↑ b 768 cc8: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↓ b e24 cd8: ldr w0, [x22, #124] 0.09 and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne f3c 0.19 ldr w0, [x22, #76] 0.19 ldr w1, [x22, #52] 0.09 sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt d54 0.09 ldr w0, [x22, #76] 0.09 ↓ cbnz w0, 2654 0.28 ldr x0, [x22, #16] 0.09 ↓ cbz x0, 2610 ldr x24, [x22, #24] ldr x0, [x24, #8] 0.19 ldr w0, [x0, #8] 0.84 ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 2564 0.09 d28: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 25fc ldr w14, [x15, #8] 0.09 cmp w14, w0 ↓ b.cc 289c ldr w14, [x15, #8] sub w11, w14, w0 d48: add x14, x22, #0x40 0.09 bl fffffffffe0550b4 0.09 stp w0, w11, [x22, #72] d54: add x24, x22, #0x40 0.09 mov x25, xzr mov w1, wzr ldr x0, [x24] 0.19 ↓ cbz x0, da0 ldr x1, [x0] ldr w1, [x1] 0.47 tst w1, #0x80000000 ↓ b.eq 2720 0.47 add x25, x0, #0x10 ldr w1, [x0, #8] d80: ldp w0, w2, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x3, x0, w2, uxtw cmp x3, w1, uxtw ↓ b.hi 289c 0.19 add x25, x25, x0 asr w1, w2, #0 0.09 da0: ldr w0, [x22, #52] add w2, w0, #0x1 str w2, [x22, #52] cmp w0, w1 ↓ b.cs 2924 mov w1, #0x7d // #125 strb w1, [x25, w0, uxtw #0] 0.09 dbc: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] 0.38 ldr w0, [x22, #40] 0.19 tst w0, #0x7fffffff ↓ b.eq de0 0.19 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] de0: mov w0, #0x2 // #2 strb w0, [x22, #58] de8: ldr w0, [x19, #20] 0.09 cmp w20, w0 ↓ b.ne 28b4 ldr w0, [x19, #16] 0.09 cmp w23, w0 ↑ b.cs cc8 0.19 ldr x0, [x19, #8] ldr w1, [x0, #8] 0.28 cmp w23, w1 ↓ b.cs 2924 0.19 add x0, x0, #0x10 0.09 ldr x1, [x0, w23, uxtw #3] 0.09 mov x24, x1 0.09 add w23, w23, #0x1 mov w0, #0x1 // #1 e24: ↓ cbz w0, 1394 ↑ cbnz x24, 494 0.09 e2c: mov x25, x24 ↓ cbz x25, e4c mov x0, #0xbe58 // #48728 movk x0, #0x5529, lsl #16 movk x0, #0xef17, lsl #32 ldr x1, [x25] cmp x1, x0 ↓ b.ne 1a44 0.09 e4c: ↑ cbz x25, de8 0.19 ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1a9c 0.09 e64: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↑ b.ne 540 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↑ b.lt 4e4 e88: add x24, x22, #0x40 mov x1, xzr 0.09 mov w2, wzr ldr x0, [x24] 0.09 ↓ cbz x0, ed4 ldr x1, [x0] 0.09 ldr w2, [x1] 0.09 tst w2, #0x80000000 ↓ b.eq 1c9c 0.09 add x1, x0, #0x10 ldr w2, [x0, #8] eb4: ldp w0, w3, [x24, #8] 0.09 and w0, w0, #0x7fffffff 0.19 mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 289c 0.19 add x1, x1, x0 asr w2, w3, #0 ed4: ldr w0, [x22, #40] 0.09 ↓ tbz w0, #31, ef8 ldr w0, [x22, #52] 0.09 add w3, w0, #0x1 str w3, [x22, #52] 0.19 cmp w0, w2 ↓ b.cs 2924 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 0.19 ef8: ldr w0, [x22, #52] add w3, w0, #0x1 0.09 str w3, [x22, #52] 0.19 cmp w0, w2 ↓ b.cs 2924 0.09 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] 0.19 f14: 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.19 ldr w24, [x25, #68] 0.19 mov w26, wzr 0.09 ↑ b 768 f3c: ldr w0, [x22, #124] ↓ tbz w0, #0, 12dc ldr w0, [x22, #124] ↓ tbnz w0, #1, f68 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc6f0 // #50928 movk x2, #0x55f4, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 f68: ldrb w0, [x22, #58] cmp w0, #0x1 ↓ b.eq 1204 ldrb w0, [x22, #58] cmp w0, #0x3 ↓ b.eq 1204 ldp w0, w1, [x22, #40] and w0, w0, #0x7fffffff mul w24, w0, w1 ↓ cbz w24, f98 ldr w0, [x22, #44] sub w24, w24, w0 f98: add w1, w24, #0x3 ldr w0, [x22, #76] ldr w2, [x22, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.ge fc8 mov x0, x22 mov x2, #0x6b08 // #27400 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 fc8: add x25, x22, #0x40 mov x26, xzr mov w27, wzr ldr x0, [x25] ↓ cbz x0, 1014 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 252c add x26, x0, #0x10 ldr w27, [x0, #8] ff4: ldp w0, w1, [x25, #8] and w0, w0, #0x7fffffff mov w0, w0 add x2, x0, w1, uxtw cmp x2, w27, uxtw ↓ b.hi 289c add x26, x26, x0 asr w27, w1, #0 1014: ldr w0, [x22, #48] cmp w0, #0x2 ↓ b.ne 103c ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w27 ↓ b.cs 2924 mov w1, #0xd // #13 strb w1, [x26, w0, uxtw #0] 103c: ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w27 ↓ b.cs 2924 mov w1, #0xa // #10 strb w1, [x26, w0, uxtw #0] ldr w0, [x22, #52] cmp w0, w27 ↓ b.hi 289c mov w1, w0 add x1, x26, x1 sub w0, w27, w0 mov x2, x1 asr w3, w0, #0 ldrb w4, [x22, #60] cmp w24, #0x8 ↓ b.ge 110c mov w0, wzr cmp w24, #0x1 ↓ b.le 10c8 1090: add w1, w0, #0x1 cmp w0, w3 ↓ b.cs 2924 strb w4, [x2, w0, uxtw #0] asr w0, w1, #0 add w1, w0, #0x1 cmp w0, w3 ↓ b.cs 2924 strb w4, [x2, w0, uxtw #0] add w0, w1, #0x1 cmp w0, w24 ↓ b.ge 10cc mov w0, w1 ↑ b 1090 10c8: mov w1, w0 10cc: cmp w1, w24 ↓ b.ge 10e0 cmp w1, w3 ↓ b.cs 2924 strb w4, [x2, w1, uxtw #0] 10e0: ldr w0, [x22, #52] add w0, w0, w24 str w0, [x22, #52] ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w27 ↓ b.cs 2924 mov w1, #0x7d // #125 strb w1, [x26, w0, uxtw #0] ↑ b dbc 110c: cmp w24, w0 ↓ b.hi 289c mov x0, x1 mov w2, w24 cmp x2, #0x10 ↓ b.cs 11c0 mov x1, xzr cmp x2, #0x8 ↓ b.cc 117c and x3, x2, #0xfffffffffffffff8 1134: strb w4, [x0, x1, lsl #0] add x5, x1, #0x1 strb w4, [x0, x5, lsl #0] add x5, x1, #0x2 strb w4, [x0, x5, lsl #0] add x5, x1, #0x3 strb w4, [x0, x5, lsl #0] add x5, x1, #0x4 strb w4, [x0, x5, lsl #0] add x5, x1, #0x5 strb w4, [x0, x5, lsl #0] add x5, x1, #0x6 strb w4, [x0, x5, lsl #0] add x5, x1, #0x7 strb w4, [x0, x5, lsl #0] add x1, x1, #0x8 cmp x1, x3 ↑ b.cc 1134 117c: ↓ tbz w2, #2, 11a0 strb w4, [x0, x1, lsl #0] add x3, x1, #0x1 strb w4, [x0, x3, lsl #0] add x3, x1, #0x2 strb w4, [x0, x3, lsl #0] add x3, x1, #0x3 strb w4, [x0, x3, lsl #0] add x1, x1, #0x4 11a0: ↓ tbz w2, #1, 11b4 strb w4, [x0, x1, lsl #0] add x3, x1, #0x1 strb w4, [x0, x3, lsl #0] add x1, x1, #0x2 11b4: ↑ tbz w2, #0, 10e0 strb w4, [x0, x1, lsl #0] ↑ b 10e0 11c0: dup v16.16b, w4 and x0, x2, #0xffffffffffffffe0 mov x3, xzr cmp x2, #0x20 ↓ b.cc 11ec 11d4: str q16, [x1, x3] add x4, x3, #0x10 str q16, [x1, x4] add x3, x3, #0x20 cmp x3, x0 ↑ b.cc 11d4 11ec: ↓ tbnz w2, #4, 11fc 11f0: sub x0, x2, #0x10 str q16, [x1, x0] ↑ b 10e0 11fc: str q16, [x1, x3] ↑ b 11f0 1204: ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 1270 ldr w0, [x22, #76] ↓ cbnz w0, 2444 ldr x0, [x22, #16] ↓ cbz x0, 2400 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 2364 1244: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 23ec ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 289c ldr w14, [x15, #8] sub w11, w14, w0 1264: add x14, x22, #0x40 bl fffffffffe0550b4 stp w0, w11, [x22, #72] 1270: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 12bc ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 2510 add x1, x0, #0x10 ldr w2, [x0, #8] 129c: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 289c add x1, x1, x0 asr w2, w3, #0 12bc: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2924 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b dbc 12dc: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc6f0 // #50928 movk x2, #0x55f4, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 1328 mov x0, x22 mov w1, #0x1 // #1 mov x2, #0x6b08 // #27400 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 1328: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 1374 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 2548 add x1, x0, #0x10 ldr w2, [x0, #8] 1354: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 289c add x1, x1, x0 asr w2, w3, #0 1374: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2924 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b dbc 1394: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 14b0 mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6d48 // #27976 movk x2, #0x55ea, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 13c0: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 13e4 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 13e4: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 14d0 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d48 // #27976 movk x2, #0x55ea, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 1418: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 143c ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 143c: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x68e0 // #26848 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0x559e, lsl #16 movk x1, #0xef17, lsl #32 cmp x0, x1 ↓ b.ne 28cc mov x0, x21 mov x1, #0xbf30 // #48944 movk x1, #0x559e, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 148c: ↓ cbz x0, 28e4 ldp x29, x30, [sp] add sp, sp, #0x320 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 14b0: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6d30 // #27952 movk x2, #0x55ea, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 13c0 14d0: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d30 // #27952 movk x2, #0x55ea, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1418 14f0: mov x0, #0xbe58 // #48728 movk x0, #0x559e, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc588 // #50568 movk x2, #0x55b7, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe0550b4 ↑ b 80 152c: mov x0, xzr mov x1, #0x7060 // #28768 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 1548: mov x0, #0x7ac0 // #31424 movk x0, #0x5526, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x20, x0 mov x0, #0xc270 // #49776 movk x0, #0x55f4, lsl #16 movk x0, #0xef17, 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, #0x5534, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc288 // #49800 movk x2, #0x55f4, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1a68 // #6760 movk x1, #0x9bc0, lsl #16 movk x1, #0xef17, lsl #32 mov x3, #0xea78 // #60024 movk x3, #0x5544, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e6e10 brk #0xf000 15e4: 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 1618: mov x0, #0x7078 // #28792 movk x0, #0x55f4, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1630: mov x0, #0xe570 // #58736 movk x0, #0x554c, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x21, x0 mov x0, #0x7090 // #28816 movk x0, #0x55f4, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc948 // #51528 movk x2, #0x55c8, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6e10 brk #0xf000 1680: 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 16a0 ldr w1, [x21, #36] lsl w1, w1, #1 16a0: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 16cc 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 16cc: mov x0, x21 mov x2, #0xc088 // #49288 movk x2, #0x559e, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 16e8: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcf78 // #53112 movk x3, #0x555c, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 1710: str w22, [x21, #28] ↑ b f4 1718: add x0, x29, #0x310 stp xzr, xzr, [x0] add x0, x29, #0x310 mov w1, #0x1 // #1 mov x2, #0x6808 // #26632 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xb5e8 // #46568 movk x0, #0x559e, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x22, x0 ldr x2, [x29, #784] ldr x3, [x29, #792] mov x0, x22 mov x1, x21 mov x4, #0x6820 // #26656 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe0550b4 ↑ b 1a4 1784: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6ec8 // #28360 movk x0, #0x55e3, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 17a4: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 17c0: mov x0, #0xe2b0 // #58032 movk x0, #0x5529, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x21, x0 mov x0, #0x6940 // #26944 movk x0, #0x55d5, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8a0 // #51360 movk x2, #0x5544, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6e10 brk #0xf000 1810: mov x0, #0x1b00 // #6912 movk x0, #0x55d7, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x20, x0 mov x1, #0x6970 // #26992 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe0550b4 ↑ b 174 1848: ↓ cbnz w0, 289c mov x2, xzr mov w0, wzr ↑ b 154 1858: mov x0, x22 mov x1, #0x6a78 // #27256 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 1874: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6aa8 // #27304 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 1894: mov x0, x22 0.09 mov w1, #0x2 // #2 mov x2, #0x6b08 // #27400 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 18b4: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 18d0: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6d00 // #27904 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 18f8: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 1914: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6d90 // #28048 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 193c: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1954 ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 196c 1954: mov x0, x22 mov x1, #0x7e10 // #32272 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 196c: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 198c ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 19a8 198c: mov x0, x23 mov w1, wzr mov x2, #0xcac8 // #51912 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 19a8: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 19c0: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7dc8 // #32200 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 19e8: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6b08 // #27400 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1a08: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 1a24: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2924 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 1a44: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0x5525, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b e4c 1a64: mov x0, x22 mov x1, #0xc2a0 // #49824 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 4bc mov x0, x22 mov x1, #0xc2b8 // #49848 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 4bc 1a9c: mov x0, x22 mov x1, #0x6a78 // #27256 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b e64 1ab8: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1ad0 asr w1, w0, #0 ↓ b 1ad4 1ad0: mov w1, #0x100 // #256 1ad4: asr w2, w1, #0 ↓ cbnz w0, 1ae0 asr w2, w1, #0 1ae0: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1b24 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 2738 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1b24: add x0, x24, #0x8 mov x2, #0x6c58 // #27736 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 510 1b40: ↓ cbnz w0, 289c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 530 1b54: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0x5403, lsl #16 movk x11, #0xef17, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 str x0, [x29, #712] str x1, [x29, #720] add x14, x22, #0x40 ldr x15, [x29, #712] bl fffffffffe0550b4 ldr w0, [x29, #720] ldr w1, [x29, #724] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge e88 ↓ b 2884 1ba0: ldr x0, [x22, #16] ↓ cbz x0, 1c20 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2750 ldr x24, [x22, #24] ldrsb wzr, [x24] mov x0, x24 mov x2, #0x6c40 // #27712 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 add x26, x22, #0x40 ldr x0, [x24, #8] ldr w1, [x24, #16] mov x2, #0x6c10 // #27664 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #696] str x1, [x29, #704] ldr x15, [x29, #696] mov x14, x26 bl fffffffffe0550b4 ldr w0, [x29, #704] ldr w1, [x29, #708] stp w0, w1, [x26, #8] ↑ b e88 1c20: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0x5403, lsl #16 movk x11, #0xef17, 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, #0x5403, lsl #16 movk x11, #0xef17, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 str x0, [x29, #728] str x1, [x29, #736] add x14, x22, #0x40 ldr x15, [x29, #728] bl fffffffffe0550b4 ldr w0, [x29, #736] ldr w1, [x29, #740] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge e88 ↓ b 2884 1c9c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b eb4 1cb8: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b 83c 1cc8: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b 83c 1ce4: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1cfc ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne 850 1cfc: mov x0, x22 mov x1, #0x7e10 // #32272 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 850 1d18: mov x1, x28 ldr w2, [x29, #692] mov x0, x22 mov x3, #0xcc30 // #52272 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 ↑ b a44 1d3c: asr w1, w0, #0 ↑ b 890 1d44: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1d5c asr w4, w0, #0 ↓ b 1d60 1d5c: asr w4, w1, #0 1d60: asr w5, w4, #0 ↓ cbnz w0, 1d7c cmp w4, #0x100 ↓ b.ge 1d78 mov w5, #0x100 // #256 ↓ b 1d7c 1d78: asr w5, w4, #0 1d7c: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1dc0 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 27ac mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1dc0: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6c58 // #27736 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #120] ↑ b 8bc 1de4: ↓ cbnz w0, 289c mov x15, xzr mov w0, wzr mov w1, wzr ↑ b 8dc 1df8: ldr x0, [x22, #8] str w1, [x29, #644] mov x11, #0x2848 // #10312 movk x11, #0x5403, lsl #16 movk x11, #0xef17, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #648] str x1, [x29, #656] add x14, x22, #0x40 ldr x15, [x29, #648] bl fffffffffe0550b4 ldr w0, [x29, #656] ldr w1, [x29, #660] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #644] cmp w0, w1 ↑ b.ge 8e8 ↓ b 2884 1e48: cmp w0, #0x1, lsl #12 ↓ b.le 1e58 str w0, [x29, #640] ↓ b 1e60 1e58: mov w3, #0x1000 // #4096 str w3, [x29, #640] 1e60: ldr x0, [x22, #16] ↓ cbz x0, 1ecc ldr w0, [x22, #52] ldr w3, [x29, #640] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 27c4 add x3, x22, #0x40 str x3, [x29, #24] ldr x0, [x22, #24] mov x4, #0x1b98 // #7064 movk x4, #0x55d7, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] ldr wzr, [x0] → blr x4 str x0, [x29, #624] str x1, [x29, #632] ldr x15, [x29, #624] ldr x14, [x29, #24] bl fffffffffe0550b4 ldr w0, [x29, #632] ldr w1, [x29, #636] ldr x14, [x29, #24] stp w0, w1, [x14, #8] ↑ b 8e8 1ecc: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0x5403, lsl #16 movk x11, #0xef17, 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, #640] mov x11, #0x2840 // #10304 movk x11, #0x5403, lsl #16 movk x11, #0xef17, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #664] str x1, [x29, #672] add x14, x22, #0x40 ldr x15, [x29, #664] bl fffffffffe0550b4 ldr w0, [x29, #672] ldr w1, [x29, #676] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #640] cmp w0, w1 ↑ b.ge 8e8 ↓ b 2884 1f4c: 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 918 1f78: mov x0, #0x33d8 // #13272 movk x0, #0xa1c0, lsl #16 movk x0, #0xef07, lsl #32 mov w1, wzr mov x2, #0xd4b8 // #54456 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b a70 1fa4: mov x0, x26 mov x1, #0xda10 // #55824 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b a78 1fc0: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x25a8 // #9640 movk x1, #0x9bc0, lsl #16 movk x1, #0xef17, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xdb30 // #56112 movk x6, #0x55d5, lsl #16 movk x6, #0xef17, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe0550b4 ↑ b a80 2008: mov x2, #0x63b8 // #25528 movk x2, #0x5525, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 2020: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #576] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 74c 203c: mov x0, x28 mov x2, #0xdbf0 // #56304 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #96] ↑ b b24 2060: mov x0, #0x9938 // #39224 movk x0, #0x55db, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x3, x0 add x14, x3, #0x8 mov x15, x3 bl fffffffffe0550b4 ldr q16, instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x2930 stur q16, [x3, #24] mov x14, #0x3428 // #13352 movk x14, #0xa1c0, lsl #16 movk x14, #0xef07, lsl #32 mov x15, x3 bl fffffffffe0550b4 mov x1, x3 ldr x1, [x29, #96] ↑ b b40 20a8: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0x5403, lsl #16 movk x11, #0xef17, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b b78 20c8: ldr x0, [x29, #80] mov x1, #0xc6f0 // #50928 movk x1, #0x5544, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b b74 20e4: ldr x5, [x29, #40] ↑ b 584 20ec: ldr x7, [x29, #96] ↓ b 21a4 20f4: 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 c24 211c: ldr x5, [x29, #40] ↑ b 584 2124: ldr x7, [x29, #96] ↓ b 21a4 212c: ldr x4, [x29, #48] ldr x7, [x29, #96] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0x5403, lsl #16 movk x11, #0xef17, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #48] ldr x7, [x29, #96] ↑ b 5fc 2164: ldr x5, [x29, #40] ldr x7, [x29, #96] ↑ b 598 2170: 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 5fc 219c: ldr x5, [x29, #40] ↑ b 598 21a4: str xzr, [x29, #400] 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, #412] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x190 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, #0x556f, lsl #16 movk x8, #0xef17, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #96] ↑ b c34 2204: mov x0, x26 mov x1, x7 mov x3, #0xe190 // #57744 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #96] ↑ b c50 222c: mov x0, x26 mov x1, #0xf1c8 // #61896 movk x1, #0x55de, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ldr x1, [x29, #96] ↑ b c68 224c: ldr x1, [x28, #32] ldr x0, [x29, #96] mov x2, #0xdbd8 // #56280 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 226c: mov x1, x7 ↑ b c68 2274: mov x0, x26 mov x1, #0x43a8 // #17320 movk x1, #0x55e3, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe0550b4 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b c84 22a8: mov x26, x0 ↑ b c8c 22b0: ldr x3, [x26, #328] mov x1, x22 ldr w2, [x29, #392] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 74c 22cc: ldr x0, [x2, #56] mov w1, #0x1 // #1 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 str x0, [x29, #264] ldr x0, [x29, #32] ldr w0, [x0, #140] cmp w0, #0x2 ↑ b.ne 6a8 ldr x0, [x26, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 6a8 ldr x0, [x29, #264] mov x1, x28 ldr x2, [x29, #264] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 6a8 2330: ldr x0, [x0, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #448] ↑ b 720 2350: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 780 ↑ b cd8 2364: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 237c asr w1, w0, #0 ↓ b 2380 237c: mov w1, #0x100 // #256 2380: asr w2, w1, #0 ↓ cbnz w0, 238c asr w2, w1, #0 238c: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 23d0 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 281c mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 23d0: add x0, x24, #0x8 mov x2, #0x6c58 // #27736 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1244 23ec: ↓ cbnz w0, 289c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 1264 2400: ldr x0, [x22, #8] mov x11, #0x2870 // #10352 movk x11, #0x5403, lsl #16 movk x11, #0xef17, 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 fffffffffe0550b4 ldp w0, w1, [x29, #208] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 1270 ↓ b 2884 2444: ldr x0, [x22, #16] ↓ cbz x0, 249c ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2834 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x1b98 // #7064 movk x2, #0x55d7, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #184] ldr x15, [x29, #184] mov x14, x24 bl fffffffffe0550b4 ldp w0, w1, [x29, #192] stp w0, w1, [x24, #8] ↑ b 1270 249c: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2860 // #10336 movk x11, #0x5403, lsl #16 movk x11, #0xef17, 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, #0x5403, lsl #16 movk x11, #0xef17, 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 fffffffffe0550b4 ldp w0, w1, [x29, #224] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 1270 ↓ b 2884 2510: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 129c 252c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x26, x0 mov w27, w1 ↑ b ff4 2548: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 1354 2564: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 257c asr w1, w0, #0 ↓ b 2580 257c: mov w1, #0x100 // #256 2580: asr w2, w1, #0 ↓ cbnz w0, 259c cmp w1, #0x100 ↓ b.ge 2598 mov w2, #0x100 // #256 ↓ b 259c 2598: asr w2, w1, #0 259c: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 25e0 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 2850 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 25e0: add x0, x24, #0x8 mov x2, #0x6c58 // #27736 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b d28 25fc: ↓ cbnz w0, 289c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b d48 2610: ldr x0, [x22, #8] mov x11, #0x2888 // #10376 movk x11, #0x5403, lsl #16 movk x11, #0xef17, 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 fffffffffe0550b4 ldp w0, w1, [x29, #160] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge d54 ↓ b 2884 2654: ldr x0, [x22, #16] ↓ cbz x0, 26ac ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2868 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x1b98 // #7064 movk x2, #0x55d7, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #136] ldr x15, [x29, #136] mov x14, x24 bl fffffffffe0550b4 ldp w0, w1, [x29, #144] stp w0, w1, [x24, #8] ↑ b d54 26ac: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2878 // #10360 movk x11, #0x5403, lsl #16 movk x11, #0xef17, 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, #0x5403, lsl #16 movk x11, #0xef17, 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 fffffffffe0550b4 ldp w0, w1, [x29, #176] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge d54 ↓ b 2884 2720: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 ↑ b d80 2738: mov x1, #0x6ca0 // #27808 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2750: mov w0, w1 mov x1, #0xcb40 // #52032 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 276c: mov x0, #0xcbe0 // #52192 movk x0, #0x9bc1, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0x76a8 // #30376 movk x1, #0x55a3, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2790: mov w0, w3 mov x1, #0xcc00 // #52224 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27ac: mov x1, #0x6ca0 // #27808 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27c4: mov w0, w1 mov x1, #0xcb40 // #52032 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27e0: mov x1, #0xf198 // #61848 movk x1, #0x55de, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27f8: mov x0, #0x4328 // #17192 movk x0, #0x9bc0, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0x6bb0 // #27568 movk x1, #0x55e3, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 281c: mov x1, #0x6ca0 // #27808 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2834: mov w0, w1 mov x1, #0xcb40 // #52032 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2850: mov x1, #0x6ca0 // #27808 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2868: mov w0, w1 mov x1, #0xcb40 // #52032 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2884: mov x0, #0x6bf8 // #27640 movk x0, #0x55d5, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 289c: mov x0, #0xdb00 // #56064 movk x0, #0x5544, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 28b4: mov x0, #0xec40 // #60480 movk x0, #0x5544, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 28cc: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 148c 28e4: mov x0, #0xe88 // #3720 movk x0, #0x5529, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2e6df0 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0x9bc1, lsl #16 movk x1, #0xef17, lsl #32 mov x2, #0xf7b0 // #63408 movk x2, #0x555c, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e6e10 brk #0xf000 2924: bl ffffffffff296808 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-40348-32743.so Percent sub sp, sp, #0x1c0 stp x19, x20, [sp, #352] stp x21, x22, [sp, #368] stp x23, x24, [sp, #384] stp x25, x26, [sp, #400] stp x27, x28, [sp, #416] stp x29, x30, [sp, #432] 0.10 add x29, sp, #0x1b0 movi v16.16b, #0x0 sub x9, x29, #0x158 sub x10, x29, #0xa8 0.10 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 0.10 38: dc zva, x9 0.51 add x9, x9, #0x40 0.20 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] 0.10 stp q16, q16, [x10, #32] mov x4, #0xc042 // #49218 movk x4, #0x445, lsl #16 movk x4, #0x215, lsl #32 movk x4, #0x23f7, lsl #48 stur x4, [x29, #-88] 0.40 stur x1, [x29, #-104] stur x2, [x29, #-96] 0.30 mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 cmp w2, w0 ↓ b.gt 1fd8 0.30 mov x17, #0xfffffffffffffe58 // #-424 str xzr, [x29, x17] cmp w2, #0x55 ↓ b.le 1ff4 mov w0, #0x5555 // #21845 0.10 movk w0, #0x1555, lsl #16 cmp w2, w0 0.10 ↓ b.gt 1fa0 0.20 mov x0, #0x3338 // #13112 movk x0, #0xa1c0, lsl #16 movk x0, #0xef07, lsl #32 ldr x21, [x0] 1.01 mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdb8 // #3512 0.10 movk x0, #0xa1c0, lsl #16 movk x0, #0xef07, lsl #32 ldr x24, [x0] 0.51 sub w0, w23, #0x1 orr w0, w0, #0xf clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x2398 // #9112 movk x0, #0x55d9, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0x67f0 // #26608 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 0.71 ↓ cbz x0, 2068 0.10 ldr w1, [x0, #8] 0.71 cmp w1, w25 ↓ b.ls 2068 0.10 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] 0.10 ↓ cbz x26, 2068 str xzr, [x0, x1] ldrb w0, [x24, #157] ↓ cbnz w0, 2004 0.10 134: mov x17, #0xfffffffffffffe58 // #-424 str x26, [x29, x17] 13c: ↓ cbz x26, 23dc add x21, x26, #0x10 ldr w22, [x26, #8] 0.10 148: mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w22, [x29, x17] ldur x0, [x29, #-104] 0.10 ldur x1, [x29, #-96] mov x2, x21 mov w3, w22 mov x4, #0x7f48 // #32584 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 cmp w0, w22 ↓ b.hi 1edc 0.10 mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w0, [x29, x17] stur x21, [x29, #-120] stur w0, [x29, #-112] ldur w21, [x29, #-112] ↓ cbz w21, cb0 tst w20, #0xff ↓ b.ne ce8 ldur x1, [x29, #-120] ldur w2, [x29, #-112] 0.10 mov x17, #0xfffffffffffffe90 // #-368 str xzr, [x29, x17] mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] mov x17, #0xfffffffffffffea0 // #-352 strb wzr, [x29, x17] 0.10 mov x17, #0xfffffffffffffea1 // #-351 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea2 // #-350 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea3 // #-349 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea4 // #-348 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea5 // #-347 strb wzr, [x29, x17] 0.10 mov x17, #0xfffffffffffffea8 // #-344 str xzr, [x29, x17] sub x0, x29, #0x150 stp xzr, xzr, [x0] str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x170 mov w3, #0x1 // #1 mov x5, #0xc378 // #50040 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 ↓ b 258 0.20 22c: sub x0, x29, #0x138 0.20 mov w1, w2 0.10 mov x2, #0xc558 // #50520 0.10 movk x2, #0x55d5, lsl #16 0.10 movk x2, #0xef17, lsl #32 ldr x2, [x2] 0.30 → blr x2 0.71 asr w20, w0, #0 0.71 24c: ↓ cbz w20, be4 0.81 250: tst w20, #0xff ↓ b.eq c00 0.91 258: mov x17, #0xfffffffffffffef3 // #-269 0.81 ldrb w0, [x29, x17] 1.01 ↓ cbnz w0, 1aac 0.81 mov w20, wzr 0.81 stp xzr, xzr, [x29, #-160] 1.01 mov x17, #0xfffffffffffffef6 // #-266 0.51 strb wzr, [x29, x17] 1.01 mov x17, #0xfffffffffffffee8 // #-280 1.62 ldr w0, [x29, x17] 0.51 sxtw x1, w0 0.91 ldur w2, [x29, #-256] 0.20 cmp x1, w2, uxtw 0.81 ↓ b.ge b88 8.91 cmp w0, w2 ↓ b.cs 1ef4 1.11 mov x17, #0xfffffffffffffef8 // #-264 0.81 ldr x1, [x29, x17] 0.30 ldrb w2, [x1, w0, uxtw #0] 2.02 cmp w2, #0x20 ↓ b.le d04 2.94 2a8: mov x17, #0xfffffffffffffee8 // #-280 1.01 ldrsw x0, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 0.61 str x0, [x29, x17] 0.61 mov x17, #0xfffffffffffffef0 // #-272 0.30 ldrb w0, [x29, x17] 0.71 ↓ cbz w0, b64 0.51 cmp w2, #0x2f ↑ b.eq 22c 1.42 cmp w0, #0x1 0.10 ↓ b.eq 97c 0.91 cmp w0, #0x3 ↓ b.eq 698 1.01 cmp w0, #0x5 0.20 ↑ b.ne 22c 0.20 mov x17, #0xfffffffffffffef4 // #-268 0.20 strb wzr, [x29, x17] 0.30 cmp w2, #0x22 0.10 ↓ b.eq 564 0.71 2f4: cmp w2, #0x7b ↓ b.eq 4b0 0.51 cmp w2, #0x5b ↓ b.eq 404 1.01 sub w0, w2, #0x30 mov w1, #0x2d // #45 0.10 cmp w0, #0x9 0.20 ccmp w2, w1, #0x4, hi // hi = pmore 0.30 ↓ b.eq 145c 4.05 cmp w2, #0x66 ↓ b.ne 3c8 mov x17, #0xfffffffffffffee8 // #-280 0.20 ldr w0, [x29, x17] 0.10 ldur w20, [x29, #-256] 0.20 cmp w0, w20 ↓ b.hi 1edc 0.10 mov x17, #0xfffffffffffffef8 // #-264 0.20 ldr x1, [x29, x17] mov w2, w0 add x22, x1, x2 sub w20, w20, w0 0.20 mov x0, x22 0.10 mov w1, w20 0.10 mov x2, #0xe676 // #58998 movk x2, #0x9857, lsl #16 movk x2, #0xef17, lsl #32 mov w3, #0x5 // #5 mov x4, #0xca50 // #51792 0.10 movk x4, #0x55d5, lsl #16 0.20 movk x4, #0xef17, lsl #32 0.40 ldr x4, [x4] → blr x4 ↓ cbz w0, 1998 0.10 cmp w20, #0x5 ↓ b.cc 1edc stur x22, [x29, #-160] mov w1, #0x5 // #5 stur w1, [x29, #-152] 0.10 mov w1, #0xa // #10 0.20 mov x17, #0xfffffffffffffef0 // #-272 0.10 strb w1, [x29, x17] 0.20 mov x17, #0xfffffffffffffee8 // #-280 0.10 ldr w1, [x29, x17] 0.20 add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] 0.61 mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] 0.10 add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w20, #0x1 // #1 3c4: ↓ b 644 3c8: cmp w2, #0x74 ↓ b.ne 12dc 0.20 mov x1, #0xe6da // #59098 movk x1, #0x9857, lsl #16 0.10 movk x1, #0xef17, lsl #32 mov w2, #0x4 // #4 0.20 sub x0, x29, #0x138 mov w3, #0x9 // #9 mov x4, #0xc858 // #51288 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] 0.10 → blr x4 0.20 asr w20, w0, #0 ↓ b 644 404: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c44 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 143c ldur x0, [x29, #-232] lsl x0, x0, #1 0.10 stur x0, [x29, #-232] 0.20 42c: ldur w0, [x29, #-224] add w0, w0, #0x1 stur w0, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] mov w1, w0 add x1, x1, #0x1 ldur w2, [x29, #-256] cmp x1, x2 ↓ b.hi 1edc mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w0, w0 0.10 add x0, x1, x0 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 0.10 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] 0.10 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.10 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] 0.10 mov x17, #0xfffffffffffffeee // #-274 0.10 strb wzr, [x29, x17] ↓ b 55c 4b0: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c18 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 141c ldur x0, [x29, #-232] lsl x0, x0, #1 orr x0, x0, #0x1 stur x0, [x29, #-232] 4dc: 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 1edc 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] 55c: mov w20, #0x1 // #1 ↓ b 644 0.10 564: mov x17, #0xfffffffffffffee8 // #-280 0.10 ldr w0, [x29, x17] 0.10 add w0, w0, #0x1 0.30 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1edc 0.20 mov x17, #0xfffffffffffffef8 // #-264 0.10 ldr x2, [x29, x17] mov w3, w0 add x20, x2, x3 sub w22, w1, w0 0.10 cmp w22, #0x10 ↓ b.lt 674 0.40 ldr q16, [x20] 0.51 movi v17.16b, #0x20 0.10 cmhi v17.16b, v17.16b, v16.16b movi v18.16b, #0x22 0.10 cmeq v18.16b, v16.16b, v18.16b orr v17.16b, v17.16b, v18.16b 0.20 movi v18.16b, #0x5c 0.10 cmeq v16.16b, v16.16b, v18.16b 0.30 orr v16.16b, v17.16b, v16.16b 0.20 shrn v16.8b, v16.8h, #4 mov x0, v16.d[0] ↓ cbz x0, 648 11.84 rbit x0, x0 clz x0, x0 asr w3, w0, #2 0.10 5d4: ↓ tbnz w3, #31, 13f8 2.33 cmp w3, w22 ↓ b.cs 1ef4 0.20 ldrb w1, [x20, w3, uxtw #0] 2.02 cmp w1, #0x22 ↓ b.ne 13d0 0.20 mov x17, #0xfffffffffffffed0 // #-304 0.20 ldr x1, [x29, x17] add w2, w3, #0x2 0.30 add x1, x1, w2, sxtw 0.10 mov x17, #0xfffffffffffffed0 // #-304 0.30 str x1, [x29, x17] cmp w3, w22 ↓ b.hi 1edc stur x20, [x29, #-160] stur w3, [x29, #-152] 0.20 mov x17, #0xfffffffffffffef6 // #-266 0.10 strb wzr, [x29, x17] 0.10 mov w1, #0x7 // #7 0.30 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] 0.10 mov x17, #0xfffffffffffffee8 // #-280 0.20 ldr w1, [x29, x17] add w1, w1, w3 0.10 add w1, w1, #0x2 0.10 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] 0.71 mov w20, #0x1 // #1 0.20 644: ↑ b 24c 648: add x0, x20, #0x10 sub w1, w22, #0x10 mov x2, #0xc7e0 // #51168 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, 13cc add w3, w3, #0x10 ↑ b 5d4 0.20 674: mov x0, x20 0.10 mov w1, w22 0.10 mov x2, #0xc7e0 // #51168 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 5d4 698: cmp w2, #0x5d ↓ b.eq f8c 6a0: mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] cmp w2, #0x22 ↓ b.eq 868 cmp w2, #0x7b ↓ b.eq 848 cmp w2, #0x5b ↓ b.eq 82c sub w0, w2, #0x30 mov w1, #0x2d // #45 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore ↓ b.eq 11a8 cmp w2, #0x66 ↓ b.ne 788 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1edc 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 11c8 mov x1, x2 mov x4, #0xe676 // #58998 movk x4, #0x9857, lsl #16 movk x4, #0xef17, 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, 11c8 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 784: ↓ b 94c 788: cmp w2, #0x74 ↓ b.ne fa8 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1edc 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 1200 mov x1, #0xe6da // #59098 movk x1, #0x9857, lsl #16 movk x1, #0xef17, lsl #32 ldr w4, [x2] ldr w1, [x1] cmp w4, w1 cset x1, eq // eq = none ↓ cbz w1, 1200 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 828: ↓ b 94c 82c: sub x0, x29, #0x138 mov x1, #0xc810 // #51216 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ b 860 848: sub x0, x29, #0x138 mov x1, #0xc7f8 // #51192 movk x1, #0x55d5, lsl #16 0.10 movk x1, #0xef17, lsl #32 0.10 ldr x1, [x1] → blr x1 0.10 860: mov w20, #0x1 // #1 ↓ b 94c 868: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1edc 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 10e8 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 shrn v16.8b, v16.8h, #4 mov x0, v16.d[0] ↓ cbz x0, 950 rbit x0, x0 clz x0, x0 asr w3, w0, #2 8dc: ↓ tbnz w3, #31, 1138 cmp w3, w23 ↓ b.cs 1ef4 ldrb w1, [x20, w3, uxtw #0] cmp w1, #0x22 ↓ b.ne 1110 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 1edc 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 94c: ↑ b 24c 950: add x0, x20, #0x10 sub w1, w23, #0x10 mov x2, #0xc7e0 // #51168 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, 110c add w3, w3, #0x10 ↑ b 8dc 97c: cmp w2, #0x7d 0.20 ↓ b.eq dbc cmp w2, #0x22 ↓ b.ne 1b30 mov x17, #0xfffffffffffffee8 // #-280 ldr w22, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x23, [x29, x17] mov x17, #0xfffffffffffffec8 // #-312 ldr x24, [x29, x17] mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 0.10 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1edc mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] 0.10 mov w2, w0 add x20, x1, x2 ldur w1, [x29, #-256] sub w25, w1, w0 0.30 cmp w25, #0x10 0.10 ↓ b.lt b40 0.40 ldr q16, [x20] 0.51 movi v17.16b, #0x20 0.10 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 0.10 orr v16.16b, v17.16b, v16.16b shrn v16.8b, v16.8h, #4 mov x0, v16.d[0] ↓ cbz x0, b14 2.33 rbit x0, x0 clz x0, x0 0.10 asr w3, w0, #2 a20: ↓ tbnz w3, #31, e04 0.91 cmp w3, w25 ↓ b.cs 1ef4 0.10 ldrb w1, [x20, w3, uxtw #0] 0.81 cmp w1, #0x22 ↓ b.ne ddc 0.20 mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add w2, w3, #0x2 add x1, x1, w2, sxtw mov x17, #0xfffffffffffffed0 // #-304 0.10 str x1, [x29, x17] cmp w3, w25 ↓ b.hi 1edc 0.10 stur x20, [x29, #-160] stur w3, [x29, #-152] 0.10 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] a8c: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge e6c 0.61 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] 0.10 cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] 0.51 cmp w2, #0x20 ↓ b.le ebc 0.30 ac8: cmp w2, #0x3a ↓ b.ne 1b58 0.20 mov x17, #0xfffffffffffffee8 // #-280 0.10 ldr w0, [x29, x17] 0.10 add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add x0, x0, #0x1 0.10 mov x17, #0xfffffffffffffed0 // #-304 0.10 str x0, [x29, x17] 0.10 mov w0, #0x5 // #5 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] 0.10 mov w0, #0x1 // #1 0.20 b08: asr w20, w0, #0 0.10 ↑ cbnz w0, 24c ↓ b f64 b14: add x0, x20, #0x10 sub w1, w25, #0x10 mov x2, #0xc7e0 // #51168 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, dd8 add w3, w3, #0x10 ↑ b a20 b40: mov x0, x20 mov w1, w25 mov x2, #0xc7e0 // #51168 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b a20 b64: sub x0, x29, #0x138 0.10 mov w1, w2 0.10 mov x2, #0xc5d0 // #50640 0.10 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 0.30 asr w20, w0, #0 ↑ b 24c 0.30 b88: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffeec // #-276 0.10 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbnz w0, cf4 bac: ldur w0, [x29, #-224] ↓ cbnz w0, 1ad8 ldurb w0, [x29, #-244] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x2 0.20 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 1e40 be4: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↑ cbz w0, 250 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] ↑ cbnz w0, 250 ↓ b 1acc c00: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] strb w0, [x19, #58] c0c: add w1, w21, #0x1 ldr w0, [x19, #76] ldr w2, [x19, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.lt 1ec0 0.10 c24: add x0, x19, #0x40 mov x1, #0x6b20 // #27424 movk x1, #0x55d5, lsl #16 0.10 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ldr w2, [x19, #40] ↓ tbz w2, #31, c60 ldr w2, [x19, #52] add w3, w2, #0x1 str w3, [x19, #52] cmp w2, w1 ↓ b.cs 1ef4 0.10 mov w3, #0x2c // #44 strb w3, [x0, w2, uxtw #0] c60: ldr w2, [x19, #52] 0.71 cmp w2, w1 ↓ b.hi 1edc 0.20 mov w3, w2 add x0, x0, x3 sub w2, w1, w2 mov x1, x0 sub x0, x29, #0x78 mov x3, #0xc330 // #49968 movk x3, #0x55d5, lsl #16 0.10 movk x3, #0xef17, lsl #32 ldr x3, [x3] 0.10 → blr x3 0.10 ldr w1, [x19, #52] add w1, w1, w21 str w1, [x19, #52] ldr w1, [x19, #40] orr w1, w1, #0x80000000 str w1, [x19, #40] ↓ b 1efc cb0: mov x0, #0x640 // #1600 movk x0, #0x9bc2, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0xc3a8 // #50088 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x1, #0xc2d0 // #49872 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 ce8: mov w0, #0x7 // #7 strb w0, [x19, #58] ↑ b c0c cf4: mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↑ cbz w0, 24c ↑ b bac d04: sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt d98 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, d60 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↑ cbz w0, 24c d60: ldur w0, [x29, #-224] ↓ cbnz w0, 1b04 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 1e40 d98: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] ↑ b 2a8 dbc: sub x0, x29, #0x138 mov x1, #0xc570 // #50544 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ b 1aa4 dd8: ↑ b a20 ddc: mov x1, x20 mov w2, w25 sub x0, x29, #0x138 mov x4, #0xc6f0 // #50928 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, a8c ↓ b f38 e04: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f38 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, e28 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f38 e28: 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 e6c: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f38 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, e90 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f38 e90: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 ebc: sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt f40 mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f38 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, f0c mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f38 f0c: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 f38: mov w0, wzr ↑ b b08 f40: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] ↑ b ac8 f64: 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 f8c: sub x0, x29, #0x138 mov x1, #0xc5a0 // #50592 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ b 1aa4 fa8: cmp w2, #0x6e ↓ b.eq 1238 ldurb w0, [x29, #-244] ↓ cbz w0, 1bac cmp w0, #0x2 ↓ b.eq 126c cmp w2, #0x2f ↓ b.ne 1bac sub x0, x29, #0x138 mov x1, #0xc8b8 // #51384 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1094 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge 1294 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] cmp w2, #0x20 ↓ b.gt 10d4 sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x1, [x29, x17] ldur w2, [x29, #-256] cmp x1, x2 ↓ b.lt 10b4 mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbz w0, 1094 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1094 ldur w0, [x29, #-224] ↓ cbnz w0, 1b80 ldurb w0, [x29, #-244] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x2 ccmp w1, #0x6, #0x0, eq // eq = none ↓ b.ne 109c 1094: mov w20, wzr ↑ b 94c 109c: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] cmp w0, #0x4 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 1094 ↓ b 1e40 10b4: mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] ldrb w2, [x2, w1, uxtw #0] 10d4: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x1, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 str x1, [x29, x17] ↑ b 6a0 10e8: mov x0, x20 mov w1, w23 mov x2, #0xc7e0 // #51168 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 8dc 110c: ↑ b 8dc 1110: mov x1, x20 mov w2, w23 sub x0, x29, #0x138 mov x4, #0xc6f0 // #50928 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 94c 1138: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, 11a0 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, 115c mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, 11a0 115c: 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 11a0: mov w20, wzr ↑ b 94c 11a8: sub x0, x29, #0x138 mov x1, #0xc828 // #51240 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 94c 11c8: mov x1, x2 mov w2, w3 mov x3, #0xe676 // #58998 movk x3, #0x9857, lsl #16 movk x3, #0xef17, lsl #32 mov w4, #0x5 // #5 sub x0, x29, #0x138 mov x5, #0xca68 // #51816 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 784 1200: mov x1, x2 mov w2, w3 mov x3, #0xe6da // #59098 movk x3, #0x9857, lsl #16 movk x3, #0xef17, lsl #32 mov w4, #0x4 // #4 sub x0, x29, #0x138 mov x5, #0xca68 // #51816 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 828 1238: mov x1, #0xe671 // #58993 movk x1, #0x9857, lsl #16 movk x1, #0xef17, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 mov w3, #0xb // #11 mov x4, #0xc858 // #51288 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 94c 126c: cmp w2, #0x2f ↓ b.ne 1bac sub x0, x29, #0x138 mov x1, #0xc8a0 // #51360 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 94c 1294: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 1094 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ cbz w0, 1094 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 1094 ↓ b 1e40 12dc: cmp w2, #0x6e ↓ b.eq 19d0 ldurb w0, [x29, #-244] ↓ cbz w0, 1e6c cmp w0, #0x2 ↓ b.eq 1a30 cmp w2, #0x2f ↓ b.ne 1e6c sub x0, x29, #0x138 mov x1, #0xc8b8 // #51384 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a9c mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge 1a58 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] cmp w2, #0x20 ↓ b.gt 13a8 sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 sub x0, x29, #0x138 mov x1, #0xc528 // #50472 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a9c mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] 13a8: 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 13cc: ↑ b 5d4 13d0: mov x1, x20 mov w2, w22 sub x0, x29, #0x138 mov x4, #0xc6f0 // #50928 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 644 13f8: sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1bd4 mov w20, wzr ↑ b 644 141c: sub x0, x29, #0xf0 mov w1, #0x1 // #1 mov x2, #0xcac8 // #51912 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 4dc 143c: sub x0, x29, #0xf0 mov w1, wzr mov x2, #0xcac8 // #51912 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 42c 0.51 145c: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w20, [x29, #-256] cmp w0, w20 ↓ b.hi 1edc mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w2, w0 add x1, x1, x2 sub w0, w20, w0 mov x17, #0xfffffffffffffe78 // #-392 str x1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 str w0, [x29, x17] 0.61 mov x17, #0xfffffffffffffe88 // #-376 str wzr, [x29, x17] 0.30 mov x17, #0xfffffffffffffe88 // #-376 0.40 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 0.30 ldr w1, [x29, x17] 0.10 cmp w0, w1 ↓ b.cs 1ef4 0.30 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] ldrb w0, [x1, w0, uxtw #0] 0.20 cmp w0, #0x2d ↓ b.ne 1548 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 1518 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1c70 1510: mov w20, wzr ↓ b 1994 1518: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] sub w0, w2, #0x30 cmp w0, #0x9 ↓ b.hi 1cb8 0.10 1548: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] 0.10 mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w0, [x0, w1, uxtw #0] 0.10 cmp w0, #0x30 0.10 ↓ b.ne 15d8 sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xc948 // #51528 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1510 ↓ cbz w0, 190c mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w2, [x0, w1, uxtw #0] ↓ b 180c 0.10 15d8: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 0.10 str w0, [x29, x17] 0.20 mov w0, wzr 0.10 mov x17, #0xfffffffffffffe88 // #-376 0.10 ldr w1, [x29, x17] 0.10 mov x17, #0xfffffffffffffe80 // #-384 ldr w2, [x29, x17] cmp w1, w2 ↓ b.ge 1664 0.10 1608: mov x17, #0xfffffffffffffe88 // #-376 0.20 ldr w0, [x29, x17] 0.10 mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ef4 mov x17, #0xfffffffffffffe78 // #-392 0.10 ldr x1, [x29, x17] ldrb w0, [x1, w0, uxtw #0] 0.10 sub w1, w0, #0x30 0.10 cmp w1, #0x9 ↓ b.hi 1664 mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] add w1, w1, #0x1 mov x17, #0xfffffffffffffe88 // #-376 0.10 str w1, [x29, x17] 0.10 mov x17, #0xfffffffffffffe88 // #-376 0.30 ldr w1, [x29, x17] 0.10 mov x17, #0xfffffffffffffe80 // #-384 ldr w2, [x29, x17] cmp w1, w2 ↑ b.lt 1608 1664: mov x17, #0xfffffffffffffe88 // #-376 0.10 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w2, [x29, x17] 0.10 cmp w1, w2 ↓ b.lt 16a0 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 17b8 mov w20, #0x2 // #2 ↓ b 17bc 16a0: mov x1, #0xe629 // #58921 0.10 movk x1, #0x9857, lsl #16 movk x1, #0xef17, lsl #32 mov w2, #0x8 // #8 mov x3, xzr 0.10 16b4: sub w2, w2, #0x8 ldrb w4, [x1, x3, lsl #0] 0.10 cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x1 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x2 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x3 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x4 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x5 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x6 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x7 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x3, x3, #0x8 cmp w2, #0x8 ↑ b.ge 16b4 cmp w2, #0x4 ↓ b.lt 17a8 sub w2, w2, #0x4 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x1 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x2 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x3 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x3, x3, #0x4 cmp w2, #0x0 ↓ b.le 17b0 1794: sub w2, w2, #0x1 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x3, x3, #0x1 17a8: cmp w2, #0x0 ↑ b.gt 1794 17b0: mov w20, #0x1 // #1 ↓ b 17bc 17b8: mov w20, wzr 0.10 17bc: cmp w20, #0x2 ↑ b.eq 1510 ↓ cbz w20, 190c mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ef4 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 1cfc 180c: cmp w2, #0x2e ↓ b.ne 1890 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, #0xc978 // #51576 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1510 ↓ cbz w0, 190c mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ef4 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 1d40 1890: 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, #0xc990 // #51600 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1510 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, #0xc960 // #51552 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1510 ↓ cbnz w0, 1d84 0.10 190c: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] 0.20 cmp w0, w1 ↓ b.hi 1edc mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] stur x1, [x29, #-160] stur w0, [x29, #-152] mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov w1, #0x8 // #8 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] 0.10 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, w0 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 0.10 ldr x1, [x29, x17] add x0, x1, w0, sxtw 0.10 mov x17, #0xfffffffffffffed0 // #-304 0.10 str x0, [x29, x17] 0.10 mov x17, #0xfffffffffffffee8 // #-280 0.10 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt 1990 mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbnz w0, 1df4 0.10 1990: mov w20, #0x1 // #1 1994: ↑ b 644 1998: mov x1, x22 mov w2, w20 mov x3, #0xe676 // #58998 movk x3, #0x9857, lsl #16 movk x3, #0xef17, lsl #32 mov w4, #0x5 // #5 sub x0, x29, #0x138 mov x5, #0xca68 // #51816 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 3c4 19d0: stp xzr, xzr, [x29, #-408] sub x0, x29, #0x198 mov x1, #0xe671 // #58993 movk x1, #0x9857, lsl #16 movk x1, #0xef17, lsl #32 mov w2, #0x4 // #4 mov x3, #0x55f0 // #22000 movk x3, #0x5579, lsl #16 movk x3, #0xef17, 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, #0xc858 // #51288 movk x4, #0x55d5, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 644 1a30: cmp w2, #0x2f ↓ b.ne 1e6c sub x0, x29, #0x138 mov x1, #0xc8a0 // #51360 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 644 1a58: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbz w0, 1a9c sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a9c 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 1e40 1a9c: mov w20, wzr ↑ b 644 1aa4: mov w20, #0x1 // #1 ↑ b 24c 1aac: sub x0, x29, #0x138 mov x1, #0xc4e0 // #50400 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 24c 1acc: ldurb w0, [x29, #-242] ↑ cbnz w0, 250 ↓ b 1e94 1ad8: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b04: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b30: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xc // #12 mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b58: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xb // #11 mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b80: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1bac: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xf // #15 mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1bd4: 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c18: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x18 // #24 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c44: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, wzr mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c70: 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1cb8: 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1cfc: 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d40: 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d84: 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 1ef4 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1df4: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] sub w0, w0, #0x1 ldur w3, [x29, #-256] cmp w0, w3 ↓ b.cs 1ef4 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, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e40: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x16 // #22 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e6c: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xf // #15 mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e94: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x20 // #32 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x55d5, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ec0: mov x0, x19 mov x2, #0x6b08 // #27400 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b c24 1edc: mov x0, #0xdb00 // #56064 movk x0, #0x5544, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1ef4: bl ffffffffff29c948 ,bool)[OptimizedTier1]+0xffffffffff29c8c8> brk #0xf000 1efc: mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] ↓ cbz x1, 1f5c mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] 0.10 mov x2, #0x5818 // #22552 movk x2, #0x5525, lsl #16 movk x2, #0xef17, lsl #32 0.10 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0xa1c0, lsl #16 movk x0, #0xef07, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] 0.10 mov w2, wzr mov x3, #0x2368 // #9064 movk x3, #0x55d9, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] 0.20 → blr x3 1f5c: mov x16, #0xc042 // #49218 movk x16, #0x445, lsl #16 movk x16, #0x215, lsl #32 movk x16, #0x23f7, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 ↓ b.eq 1f7c bl ffffffffff2ecf70 ,bool)[OptimizedTier1]+0xffffffffff2ecef0> 1f7c: sub sp, x29, #0x1b0 ldp x29, x30, [sp, #432] ldp x27, x28, [sp, #416] ldp x25, x26, [sp, #400] ldp x23, x24, [sp, #384] ldp x21, x22, [sp, #368] ldp x19, x20, [sp, #352] add sp, sp, #0x1c0 ← ret 1fa0: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7ee8 // #32488 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb1e0 // #45536 movk x0, #0x5535, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2ecff0 ,bool)[OptimizedTier1]+0xffffffffff2ecf70> mov x26, x0 ↑ b 13c 1fd8: mov w0, w2 mov x1, #0x7ed0 // #32464 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 1ff4: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 2004: mov x0, x26 mov x1, #0xdf38 // #57144 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xdf38 // #57144 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, 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, #0xc018 // #49176 movk x5, #0x55f4, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 2068: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 22ac add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 22a0 ldr x26, [x0, #8] mov x0, #0x85e0 // #34272 movk x0, #0x5602, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x5525, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0x5402, lsl #16 movk x0, #0xef17, lsl #32 ldrb w0, [x0] ↓ cbz w0, 20c8 bl fffffffffff93550 ,bool)[OptimizedTier1]+0xfffffffffff934d0> asr w21, w0, #0 ↓ b 213c 20c8: mov x0, #0x8630 // #34352 movk x0, #0x5602, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0xc030 // #49200 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0x8630 // #34352 movk x0, #0x5602, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0xc030 // #49200 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 2138 mov x0, #0xc048 // #49224 movk x0, #0x55f4, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 213c 2138: asr w21, w23, #16 213c: mov x0, #0x8438 // #33848 movk x0, #0x5602, lsl #16 movk x0, #0xef17, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x5525, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0x5402, lsl #16 movk x0, #0xef17, lsl #32 ldr w0, [x0] ↓ cbz w0, 23e8 udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 2214 2180: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 23f0 add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0xc060 // #49248 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, 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 21e0 add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 21e0: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0x5525, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 2224 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 2210 mov w21, wzr 2210: add w23, w23, #0x1 2214: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 2180 ↓ b 222c 2224: mov x26, x28 ↓ b 2230 222c: mov x26, xzr 2230: ↓ cbz x26, 22a0 ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xdf38 // #57144 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf38 // #57144 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, 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, #0xc018 // #49176 movk x5, #0x55f4, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 22a0: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 22d0 22ac: mov w0, w23 mov x1, #0x4c40 // #19520 movk x1, #0x9bc0, lsl #16 movk x1, #0xef17, lsl #32 mov x2, #0x5e90 // #24208 movk x2, #0x5589, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 22d0: cmp w23, #0x800 ↓ b.ge 22f4 sxtw x1, w23 mov x0, #0xb1e0 // #45536 movk x0, #0x5535, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2ecff0 ,bool)[OptimizedTier1]+0xffffffffff2ecf70> mov x26, x0 ↓ b 2314 22f4: mov w0, w23 mov w1, wzr mov x2, #0x7e58 // #32344 movk x2, #0x55c8, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 2314: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xdf38 // #57144 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf38 // #57144 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, 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, #0xc018 // #49176 movk x5, #0x55f4, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf38 // #57144 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, 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, #0xc078 // #49272 movk x6, #0x55f4, lsl #16 movk x6, #0xef17, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 23dc: mov x21, xzr mov w22, wzr ↑ b 148 23e8: bl ffffffffff29c960 ,bool)[OptimizedTier1]+0xffffffffff29c8e0> brk #0xf000 23f0: bl ffffffffff29c948 ,bool)[OptimizedTier1]+0xffffffffff29c8c8> 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, 2474 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0x5525, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0xa1c0, lsl #16 movk x0, #0xef07, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x2368 // #9064 movk x3, #0x55d9, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 2474: 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.): 5010010005, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-40348-32566.so 0.43 stp x29, x30, [sp, #-64]! 1.29 stp x19, x20, [sp, #16] 0.43 stp x21, x22, [sp, #32] 0.86 stp x23, x24, [sp, #48] 0.86 mov x29, sp mov x19, x0 0.43 ldr x20, [x19, #16] ↓ cbz x20, 1a4 0.86 20: stp xzr, xzr, [x19, #64] 0.43 ↓ cbz x20, 39c 0.43 ldr w1, [x19, #52] 0.43 ↓ cbz w1, 174 1.29 ldr x0, [x19, #24] mov x2, x0 0.43 ldrsb wzr, [x2] 4.29 ↓ tbnz w1, #31, 1c4 ldr w3, [x2, #16] 2.15 ldr x4, [x2, #8] ldr w4, [x4, #8] 4.72 sub w4, w4, w1 1.29 cmp w3, w4 ↓ b.gt 208 6.44 add w21, w3, w1 str w21, [x2, #16] 0.43 str wzr, [x19, #52] ldr x0, [x0, #8] 0.86 ↓ cbz x0, 228 ldr w1, [x0, #8] 0.86 cmp w1, w21 ↓ b.cc 364 0.43 add x22, x0, #0x10 7c: ldr x0, [x20] 0.43 mov x1, #0xbe58 // #48728 movk x1, #0x559e, lsl #16 0.43 movk x1, #0xef17, lsl #32 1.29 cmp x0, x1 ↓ b.ne 334 0.43 ldrb w0, [x20, #43] 0.43 ↓ cbz w0, 238 0.43 ldrb w0, [x20, #41] ↓ cbz w0, 254 0.43 ldr w0, [x20, #28] add w23, w0, w21 ↓ tbnz w23, #31, 26c 1.29 ldr w1, [x20, #32] 0.43 cmp w23, w1 0.86 ↓ b.le d8 1.29 cmp w0, w1 cset x24, gt ldr w0, [x20, #36] cmp w23, w0 ↓ b.gt 2bc 0.43 d0: ↓ cbnz w24, 2e0 0.43 d4: str w23, [x20, #32] d8: ldr x2, [x20, #16] 0.43 ldr w0, [x20, #28] 0.43 ↓ cbz x2, 308 mov w1, w0 0.43 add x1, x1, w21, uxtw ldr w3, [x2, #8] 0.43 cmp x1, x3 ↓ b.hi 364 add x2, x2, #0x10 mov w0, w0 0.43 add x0, x2, x0 0.86 asr w2, w21, #0 1.29 108: cmp w21, w2 ↓ b.gt 31c 0.43 mov w2, w21 mov x1, x22 0.86 mov x3, #0x5848 // #22600 movk x3, #0x5525, lsl #16 0.86 movk x3, #0xef17, lsl #32 0.43 ldr x3, [x3] 4.29 → blr x3 1.29 str w23, [x20, #28] 130: ldp x20, x0, [x19, #24] 0.86 ldr w1, [x20, #16] 5.15 add x0, x0, w1, sxtw 0.86 str x0, [x19, #32] 1.72 ldr x0, [x20, #8] ↓ cbz x0, 354 3.00 ldr w2, [x0, #8] 6.44 cmp w2, w1 ↓ b.cc 364 5.58 add x0, x0, #0x10 158: mov w1, w1 0.43 mov x2, #0x5818 // #22552 movk x2, #0x5525, lsl #16 0.43 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 0.86 str wzr, [x20, #16] 0.86 174: ldr x0, [x19, #16] 6.44 ldr x1, [x0] 4.72 mov x2, #0xbe58 // #48728 6.44 movk x2, #0x559e, lsl #16 0.86 movk x2, #0xef17, lsl #32 cmp x1, x2 ↓ b.ne 37c 2.15 190: ldp x23, x24, [sp, #48] 1.29 ldp x21, x22, [sp, #32] 0.86 ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 0.43 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x6ec8 // #28360 movk x0, #0x55e3, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xe2b0 // #58032 movk x0, #0x5529, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2fe488 mov x19, x0 mov x1, xzr mov x2, #0x2820 // #10272 movk x2, #0x9bc0, lsl #16 movk x2, #0xef17, lsl #32 mov x3, #0xc450 // #50256 movk x3, #0x555c, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2fe4a8 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x6ee0 // #28384 movk x1, #0x55e3, lsl #16 movk x1, #0xef17, 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, #0x7060 // #28768 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x7078 // #28792 movk x0, #0x55f4, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xe570 // #58736 movk x0, #0x554c, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2fe488 mov x22, x0 mov x0, #0x7090 // #28816 movk x0, #0x55f4, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc948 // #51528 movk x2, #0x55c8, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2fe4a8 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc5e8 // #50664 movk x2, #0x55b7, lsl #16 movk x2, #0xef17, 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, #0x555c, lsl #16 movk x3, #0xef17, 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, #0x5579, lsl #16 movk x0, #0xef17, 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, #0x5544, lsl #16 movk x0, #0xef17, 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, #0x26c8 // #9928 movk x11, #0x5403, lsl #16 movk x11, #0xef17, 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.): 5010010005, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-40348-32539.so 0.56 stp x29, x30, [sp, #-16]! mov x29, sp 1.12 cmp w1, w3 csel w6, w1, w3, le 1.12 mov w6, w6 0.56 mov x7, xzr 1.68 cmp x6, #0x20 0.56 ↓ b.cs c4 1.68 20: sub x6, x6, x7 0.56 cmp x6, #0x4 ↓ b.cc 60 0.56 add x8, x7, x6 0.56 sub x8, x8, #0x4 lsl x9, x7, #1 ldr x9, [x0, x9] 0.56 tst x9, #0xff80ff80ff80ff80 1.12 ↓ b.ne 1d8 1.12 44: mov v16.d[0], x9 1.12 sqxtun v16.8b, v16.8h mov w9, v16.s[0] str w9, [x2, x7] add x7, x7, #0x4 0.56 cmp x7, x8 ↓ b.ls 19c 1.12 60: ↓ tbz w6, #1, 88 0.56 lsl x9, x7, #1 ldr w8, [x0, x9] tst w8, #0xff80ff80 ↓ b.ne 1fc add x9, x2, x7 0.56 strb w8, [x9] lsr w8, w8, #16 strb w8, [x9, #1] add x7, x7, #0x2 1.12 88: ↓ tbz w6, #0, a0 0.56 ldrh w8, [x0, x7, lsl #1] cmp w8, #0x7f ↓ b.hi a0 1.12 98: strb w8, [x2, x7, lsl #0] 1.12 add x7, x7, #0x1 a0: add x0, x0, x7, lsl #1 1.12 add x2, x2, x7 1.12 cmp w7, w1 ↓ b.ne 208 str x0, [x4] str x2, [x5] mov w0, wzr 1.12 ldp x29, x30, [sp], #16 2.79 ← ret c4: ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 mov x9, x8 ↓ b.ne 1d8 mov x7, x0 ldr q16, [x7] umaxp v17.8h, v16.8h, v16.8h mov x8, v17.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 1b0 mov x8, x2 0.56 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8] mov x9, #0x8 // #8 0.56 ↓ tbnz w2, #3, 11c ldr q16, [x7, #16] umaxp v17.8h, v16.8h, v16.8h mov x10, v17.d[0] tst x10, #0xff80ff80ff80ff80 ↓ b.ne 194 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, #8] 11c: and x9, x2, #0xf 0.56 neg x9, x9 add x9, x9, #0x10 sub x10, x6, #0x10 lsl x11, x9, #1 ldr q16, [x7, x11] lsl x11, x9, #1 0.56 add x11, x11, #0x10 ldr q17, [x7, x11] 0.56 orr v18.16b, v16.16b, v17.16b umaxp v18.8h, v18.8h, v18.8h mov x11, v18.d[0] tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1b8 2.79 154: uzp1 v16.16b, v16.16b, v17.16b 2.79 str q16, [x8, x9] 2.23 add x9, x9, #0x10 1.12 cmp x9, x10 ↓ b.hi 194 0.56 lsl x11, x9, #1 0.56 ldr q16, [x7, x11] 3.35 lsl x11, x9, #1 3.91 add x11, x11, #0x10 1.12 ldr q17, [x7, x11] 7.82 orr v18.16b, v16.16b, v17.16b 1.12 umaxp v18.8h, v18.8h, v18.8h mov x11, v18.d[0] 2.79 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1b8 40.22 ↑ b 154 194: mov x7, x9 198: ↑ b 20 0.56 19c: lsl x9, x7, #1 0.56 ldr x9, [x0, x9] tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1d8 ↑ b 44 1b0: mov x7, xzr ↑ b 198 1b8: umaxp v17.8h, v16.8h, v16.8h mov x7, v17.d[0] tst x7, #0xff80ff80ff80ff80 ↑ b.ne 194 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, x9] add x9, x9, #0x8 ↑ b 194 1d8: asr w8, w9, #0 tst w8, #0xff80ff80 ↓ b.ne 1fc add x6, x2, x7 strb w8, [x6] lsr w8, w8, #16 strb w8, [x6, #1] lsr x8, x9, #32 add x7, x7, #0x2 1fc: tst w8, #0xff80 ↑ b.eq 98 ↑ b a0 208: sub w1, w1, w7 sub w3, w3, w7 cmp w1, #0x2 ↓ b.lt 628 ubfiz x6, x1, #1, #32 add x6, x0, x6 sub x6, x6, #0x4 224: ldr w7, [x0] ↓ b 550 22c: cmp w3, #0x2 ↓ b.lt 634 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 270 mov x7, x8 ↓ b 270 270: lsr w8, w7, #3 mov w9, wzr ↓ b 2a4 27c: 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, 2c4 sqxtun v16.8b, v16.8h str d16, [x2], #8 add x0, x0, #0x10 add w9, w9, #0x1 2a4: cmp w9, w8 ↑ b.cc 27c sub w3, w3, w9, lsl #3 ↓ tbz w7, #2, 600 ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2ec ↓ b 578 2c4: sub w3, w3, w9, lsl #3 mov x8, v16.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2ec 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] 2ec: asr w7, w8, #0 tst w7, #0xff80ff80 ↓ b.ne 310 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 310: tst w7, #0xff80 ↓ b.ne 320 ↓ cbz w3, 6f8 ↓ b 32c 320: tst w7, #0xf800 ↓ b.ne 55c ↓ b 3a8 32c: strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] ↑ b 320 34c: cmp w3, #0x2 ↓ b.lt 6f8 ↓ b 3bc 358: cmp w3, #0x4 ↓ b.lt 634 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 618 ldr w7, [x0] sub w8, w7, #0x80 uxth w8, w8 cmp w8, #0x780 ↓ b.ge 550 3a8: sub w8, w7, #0x800, lsl #12 mov w9, #0x77fffff // #125829119 cmp w8, w9 ↑ b.ls 358 ↑ b 34c 3bc: 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 400 add x0, x0, #0x2 add x2, x2, #0x2 sub w3, w3, #0x2 cmp x0, x6 ↓ b.hi 618 ↓ b 40c 400: cmp w3, #0x3 ↓ b.lt 60c ↓ b 58c 40c: ldr w7, [x0] ↓ b 55c 414: tst w7, #0xf8000000 ↓ b.ne 438 ↓ b 454 420: mov w8, #0x2800 // #10240 movk w8, #0x23ff, lsl #16 add w8, w7, w8 tst w8, #0xfc00fc00 ↓ b.eq 5ac ↓ b 5a4 438: mov w8, #0x28000000 // #671088640 add w8, w7, w8 mov w9, #0x8000000 // #134217728 cmp w8, w9 ↓ b.cc 454 cmp w3, #0x6 ↓ b.ge 460 454: cmp w3, #0x3 ↓ b.lt 6f8 ↓ b 4dc 460: 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 618 ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 55c ↓ b 550 4dc: 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 524 cmp x0, x6 ↓ b.hi 618 ↓ b 570 524: ↓ cbz w3, 6f8 lsr w7, w7, #16 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 55c 550: tst w7, #0xff80ff80 ↑ b.ne 310 ↑ b 22c 55c: mov w8, #0xffff2800 // #-55296 add w8, w7, w8 tst w8, #0xf800 ↑ b.eq 420 ↑ b 414 570: ldr w7, [x0] ↑ b 310 578: mov v16.d[0], x8 sqxtun v16.8b, v16.8h st1 {v16.s}[0], [x2] add x0, x0, #0x8 ↓ b 5f8 58c: lsr w7, w7, #16 strb w7, [x2, #2] add x0, x0, #0x4 add x2, x2, #0x3 sub w3, w3, #0x3 ↓ b 600 5a4: mov w1, #0x3 // #3 ↓ b 6fc 5ac: cmp w3, #0x4 ↓ b.lt 6f8 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 5f8: add x2, x2, #0x4 sub w3, w3, #0x4 600: cmp x0, x6 ↑ b.ls 224 ↓ b 618 60c: add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6f8 618: sub x1, x6, x0 add x7, x1, x1, lsr #63 asr x1, x7, #1 add w1, w1, #0x2 628: ↓ cbz w1, 6f0 ldrh w7, [x0] ↓ b 638 634: uxth w7, w7 638: cmp w7, #0x7f ↓ b.hi 654 ↓ cbz w3, 6f8 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 ↓ b 6e8 654: cmp w7, #0x800 ↓ b.cs 688 cmp w3, #0x2 ↓ b.lt 6f8 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 6e8 688: mov w6, #0xffff2800 // #-55296 add w6, w7, w6 cmp w6, #0x7ff ↓ b.ls 6d4 cmp w3, #0x3 ↓ b.lt 6f8 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 6e8 6d4: mov w1, #0xdbff // #56319 cmp w7, w1 ↑ b.hi 5a4 mov w1, #0x2 // #2 ↓ b 6fc 6e8: cmp w1, #0x1 ↓ b.gt 6f8 6f0: mov w1, wzr ↓ b 6fc 6f8: mov w1, #0x1 // #1 6fc: 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.): 5010010005, [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-40348-32657.so 1.84 stp x29, x30, [sp, #-304]! stp x19, x20, [sp, #224] stp x21, x22, [sp, #240] stp x23, x24, [sp, #256] 0.61 stp x25, x26, [sp, #272] stp x27, x28, [sp, #288] 0.61 mov x29, sp add x9, x29, #0x28 0.61 movi v16.16b, #0x0 0.61 stp q16, q16, [x9] 1.23 stp q16, q16, [x9, #32] 0.61 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.61 mov x19, x0 0.61 mov x20, x1 0.61 mov x21, x2 ldr x0, [x19] ldr x1, [x0, #48] ldr x1, [x1] 1.23 ldr x2, [x1, #56] 2.45 ↓ cbz x2, 28c 2.45 60: ldr x0, [x2, #24] 16.56 ldr x0, [x0] 10.43 mov x2, x21 ↓ cbz x2, 98 ldr x1, [x2] cmp x1, x0 ↓ b.eq 98 mov x1, x21 mov x2, #0x5908 // #22792 movk x2, #0x5525, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 3.68 98: str x2, [x29, #208] 0.61 ldrb w0, [x19, #278] 0.61 ↓ cbnz w0, 408 ldr x0, [x19, #200] ldrb w0, [x0, #18] 0.61 ↓ 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, #0x5556, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x23, x0 mov x0, #0x25a8 // #9640 movk x0, #0x9bc0, lsl #16 movk x0, #0xef17, 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, #0xa1c0, lsl #16 movk x0, #0xef07, 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 ffffffffff2f6ac0 ↓ 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, #0x5573, lsl #16 movk x1, #0xef17, 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, #0x5402, lsl #16 movk x1, #0xef17, 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 fffffffffe064c34 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, #0x8a70 // #35440 movk x0, #0x55e2, lsl #16 movk x0, #0xef17, 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, #0x55e6, lsl #16 movk x1, #0xef17, lsl #32 mov x2, #0x71e0 // #29152 movk x2, #0x5544, lsl #16 movk x2, #0xef17, 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, #0x5573, lsl #16 movk x1, #0xef17, lsl #32 cmp x0, x1 ↓ b.ne 50c ↓ cbz x3, 534 ldr x0, [x3] mov x1, #0xa290 // #41616 movk x1, #0x5402, lsl #16 movk x1, #0xef17, 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, #0x6b68 // #27496 movk x1, #0x55e3, lsl #16 movk x1, #0xef17, 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, #0x6b98 // #27544 movk x4, #0x55e3, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ↓ b 3ec 360: movi v16.16b, #0x0 1.23 stp q16, q16, [x29, #48] stp q16, q16, [x29, #80] 1.23 stp q16, q16, [x29, #112] stp q16, q16, [x29, #144] 4.91 stp q16, q16, [x29, #176] 2.45 str x19, [x29, #152] ldr x0, [x19, #208] 0.61 str x0, [x29, #144] ldr x0, [x29, #144] 13.50 ldr x0, [x0, #200] 8.59 str x0, [x29, #192] 1.84 strb wzr, [x29, #126] strb wzr, [x29, #127] 0.61 ldr x22, [x19, #184] ldr w0, [x22, #140] ↓ cbnz w0, 670 0.61 3a4: ldr x0, [x19, #344] ldr x3, [x19, #184] 0.61 add x2, x29, #0xd0 0.61 add x4, x29, #0x30 mov x1, x20 mov x5, #0xfe88 // #65160 0.61 movk x5, #0x55de, lsl #16 movk x5, #0xef17, lsl #32 0.61 ldr x5, [x5] ldr wzr, [x0] 1.23 → blr x5 0.61 3d0: mov x0, x20 1.23 mov x1, #0x68e0 // #26848 movk x1, #0x55d5, lsl #16 0.61 movk x1, #0xef17, lsl #32 ldr x1, [x1] 1.23 ldr wzr, [x0] 1.23 → blr x1 2.45 3ec: ldp x27, x28, [sp, #288] 1.23 ldp x25, x26, [sp, #272] 1.23 ldp x23, x24, [sp, #256] 1.23 ldp x21, x22, [sp, #240] 0.61 ldp x19, x20, [sp, #224] 0.61 ldp x29, x30, [sp], #304 1.84 ← 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, #0xdbf0 // #56304 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x21, x0 ↑ b 118 444: mov x0, #0x9938 // #39224 movk x0, #0x55db, lsl #16 movk x0, #0xef17, lsl #32 bl ffffffffff2f6970 mov x25, x0 mov x1, xzr mov x2, #0xa1d8 // #41432 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0x5402, lsl #16 movk x3, #0xef17, lsl #32 mov x4, #0x7c48 // #31816 movk x4, #0x5525, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 mov x14, #0x3428 // #13352 movk x14, #0xa1c0, lsl #16 movk x14, #0xef07, lsl #32 mov x15, x25 bl fffffffffe064c34 ↑ b 130 4a0: mov x1, x26 mov x11, #0x27b0 // #10160 movk x11, #0x5403, lsl #16 movk x11, #0xef17, lsl #32 ldr x16, [x11] → blr x16 asr w28, w0, #0 ↑ b 158 4c0: mov x0, x26 mov x1, #0xc6f0 // #50928 movk x1, #0x5544, lsl #16 movk x1, #0xef17, 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, #0x5403, lsl #16 movk x11, #0xef17, 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, #0x556f, lsl #16 movk x8, #0xef17, lsl #32 ldr x8, [x8] → blr x8 ↑ b 200 5c4: mov x1, #0xf198 // #61848 movk x1, #0x55de, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 5dc: mov x0, x21 mov x1, x23 mov x3, #0xe190 // #57744 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 mov x21, x0 ↑ b 21c 600: mov x0, x21 mov x1, #0xf1c8 // #61896 movk x1, #0x55de, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 230 61c: ldr x1, [x22, #32] mov x0, x23 mov x2, #0xdbd8 // #56280 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 63c: mov x0, x21 mov x1, #0x43a8 // #17320 movk x1, #0x55e3, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 add x14, x21, #0xf8 mov x15, x0 bl fffffffffe064c34 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 ffffffffff2a6388 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance void [System.Text.Json] System.Text.Json.Serialization.Converters.ByteArrayConverter::Write(class System.Text.Json.Utf8JsonWriter,uint8[],class System.Text.Json.JsonSerializerOptions)[OptimizedTier1]() /tmp/jitted-40348-32698.so Percent stp x29, x30, [sp, #-144]! stp x19, x20, [sp, #72] stp x21, x22, [sp, #88] stp x23, x24, [sp, #104] stp x25, x26, [sp, #120] 0.73 str x27, [sp, #136] mov x29, sp 0.73 stp xzr, xzr, [x29, #56] mov x19, x1 ↓ cbz x2, 3c4 add x20, x2, #0x10 ldr w21, [x2, #8] 1.46 ldr w0, [x19, #124] ↓ tbz w0, #1, 3e4 0.73 38: ldr w0, [x19, #124] 0.73 ↓ tbnz w0, #0, 41c mov w0, #0xfffd // #65533 0.73 movk w0, #0x5fff, lsl #16 cmp w21, w0 ↓ b.gt 440 add w0, w21, #0x2 mov w1, #0xaaab // #43691 movk w1, #0xaaaa, lsl #16 umull x0, w0, w1 0.73 lsr x0, x0, #33 lsl w22, w0, #2 add w1, w22, #0x3 ldr w0, [x19, #76] ldr w2, [x19, #52] 0.73 sub w0, w0, w2 cmp w0, w1 ↓ b.lt 45c 80: add x23, x19, #0x40 mov x24, xzr 0.73 mov w25, wzr ldr x0, [x23] ↓ cbz x0, cc 0.73 ldr x1, [x0] 0.73 ldr w1, [x1] 4.38 tst w1, #0x80000000 ↓ b.eq 478 add x24, x0, #0x10 0.73 ldr w25, [x0, #8] ac: ldp w2, w1, [x23, #8] and w2, w2, #0x7fffffff mov w2, w2 add x0, x2, w1, uxtw cmp x0, w25, uxtw ↓ b.hi 4b4 0.73 add x24, x24, x2 0.73 asr w25, w1, #0 0.73 cc: ldr w2, [x19, #40] 0.73 ↓ tbnz w2, #31, 494 0.73 d4: ldr w23, [x19, #52] add w2, w23, #0x1 1.46 str w2, [x19, #52] 2.19 cmp w23, w25 ↓ b.cs 4dc mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] 0.73 ldr w2, [x19, #52] 0.73 cmp w2, w25 ↓ b.hi 4b4 0.73 mov w1, w2 add x23, x24, x1 sub w5, w25, w2 0.73 strb wzr, [x29, #48] ↓ cbz w21, 35c str x20, [x29, #64] mov x6, x20 0.73 str x23, [x29, #56] cmp w22, w5 ↓ b.gt 4cc asr w4, w21, #0 128: stp x23, x6, [x29, #32] 2.92 add x21, x6, w21, uxtw 0.73 add x20, x6, w4, uxtw 1.46 cmp w4, #0x10 ↓ b.lt 240 2.19 sub x22, x20, #0x30 ldr x2, [x29, #40] 0.73 cmp x22, x2 ↓ b.cc 180 0.73 add x2, x29, #0x20 add x1, x29, #0x28 ldrb w0, [x29, #48] mov x3, x22 mov x7, x23 mov x8, #0x7960 // #31072 movk x8, #0x55f4, lsl #16 movk x8, #0xef17, lsl #32 ldr x8, [x8] 8.76 → blr x8 2.19 ldr x0, [x29, #40] 1.46 cmp x0, x21 ↓ b.eq 350 2.92 180: sub x22, x20, #0x10 0.73 ldr x0, [x29, #40] cmp x22, x0 ↓ b.cc 240 ldp x27, x26, [x29, #32] 194: ldr q0, [x26] ldr q1, instance void [System.Text.Json] System.Text.Json.Serialization.Converters.ByteArrayConverter::Write(class System.Text.Json.Utf8JsonWriter,uint8[],class System.Text.Json.JsonSerializerOptions)[OptimizedTier1]+0x4f0 movi v2.16b, #0x8f mov x0, #0xc348 // #49992 movk x0, #0x55f4, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 ldr q1, instance void [System.Text.Json] System.Text.Json.Serialization.Converters.ByteArrayConverter::Write(class System.Text.Json.Utf8JsonWriter,uint8[],class System.Text.Json.JsonSerializerOptions)[OptimizedTier1]+0x500 and v1.16b, v0.16b, v1.16b uzp1 v2.8h, v1.8h, v1.8h ushr v2.8h, v2.8h, #10 uzp2 v1.8h, v1.8h, v1.8h ushr v1.8h, v1.8h, #6 zip1 v1.8h, v2.8h, v1.8h ldr q2, instance void [System.Text.Json] System.Text.Json.Serialization.Converters.ByteArrayConverter::Write(class System.Text.Json.Utf8JsonWriter,uint8[],class System.Text.Json.JsonSerializerOptions)[OptimizedTier1]+0x510 and v0.16b, v0.16b, v2.16b ldr q2, instance void [System.Text.Json] System.Text.Json.Serialization.Converters.ByteArrayConverter::Write(class System.Text.Json.Utf8JsonWriter,uint8[],class System.Text.Json.JsonSerializerOptions)[OptimizedTier1]+0x520 mul v0.8h, v0.8h, v2.8h orr v0.16b, v1.16b, v0.16b movi v1.16b, #0x33 uqsub v1.16b, v0.16b, v1.16b movi v2.16b, #0x19 str q0, [x29, #16] cmgt v2.16b, v0.16b, v2.16b sub v1.16b, v1.16b, v2.16b ldr q0, instance void [System.Text.Json] System.Text.Json.Serialization.Converters.ByteArrayConverter::Write(class System.Text.Json.Utf8JsonWriter,uint8[],class System.Text.Json.JsonSerializerOptions)[OptimizedTier1]+0x530 movi v2.16b, #0x8f mov x0, #0xc348 // #49992 movk x0, #0x55f4, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 ldr q16, [x29, #16] add v16.16b, v16.16b, v0.16b str q16, [x27], #16 add x26, x26, #0xc cmp x26, x22 ↑ b.ls 194 stp x27, x26, [x29, #32] ldr x0, [x29, #40] cmp x0, x21 ↓ b.eq 350 240: add x0, x29, #0x30 mov x1, #0xc360 // #50016 movk x1, #0x55f4, lsl #16 0.73 movk x1, #0xef17, lsl #32 ldr x1, [x1] 6.57 → blr x1 mov x22, x0 sub x20, x20, #0x2 ldr x0, [x29, #40] 1.46 cmp x0, x20 ↓ b.cs 2b0 26c: add x0, x29, #0x30 ldp x2, x1, [x29, #32] mov x3, x22 mov x4, #0xc378 // #50040 movk x4, #0x55f4, lsl #16 0.73 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ldr x0, [x29, #40] 0.73 add x0, x0, #0x3 0.73 str x0, [x29, #40] ldr x0, [x29, #32] add x0, x0, #0x4 1.46 str x0, [x29, #32] 0.73 ldr x0, [x29, #40] 0.73 cmp x0, x20 ↑ b.cc 26c 1.46 2b0: add x0, x20, #0x2 0.73 cmp x0, x21 ↓ b.ne 350 0.73 ldr x0, [x29, #40] add x0, x0, #0x1 0.73 cmp x0, x21 0.73 ↓ b.eq 318 ldr x0, [x29, #40] add x0, x0, #0x2 cmp x0, x21 ↓ b.ne 350 add x0, x29, #0x30 ldp x2, x1, [x29, #32] mov x3, x22 mov x4, #0x7cc0 // #31936 movk x4, #0x55f4, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ldr x0, [x29, #40] add x0, x0, #0x2 str x0, [x29, #40] ldr x0, [x29, #32] add x0, x0, #0x4 str x0, [x29, #32] ↓ b 350 318: add x0, x29, #0x30 0.73 ldp x2, x1, [x29, #32] mov x3, x22 0.73 mov x4, #0x7ca8 // #31912 movk x4, #0x55f4, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ldr x0, [x29, #40] add x0, x0, #0x1 str x0, [x29, #40] ldr x0, [x29, #32] add x0, x0, #0x4 str x0, [x29, #32] 2.92 350: ldr w0, [x29, #32] sub w0, w0, w23 ↓ b 360 35c: mov w0, wzr 360: stp xzr, xzr, [x29, #56] ldr w1, [x19, #52] add w23, w1, w0 0.73 str w23, [x19, #52] add w0, w23, #0x1 str w0, [x19, #52] 0.73 cmp w23, w25 ↓ b.cs 4dc 0.73 mov w0, #0x22 // #34 strb w0, [x24, w23, uxtw #0] 388: mov x0, x19 mov x1, #0xc348 // #49992 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 0.73 ldr x1, [x1] 16.79 → blr x1 2.19 mov w0, #0x7 // #7 0.73 strb w0, [x19, #58] 0.73 3a8: ldr x27, [sp, #136] ldp x25, x26, [sp, #120] 0.73 ldp x23, x24, [sp, #104] 0.73 ldp x21, x22, [sp, #88] ldp x19, x20, [sp, #72] 1.46 ldp x29, x30, [sp], #144 1.46 ← ret 3c4: mov x0, x19 mov x1, #0x6160 // #24928 movk x1, #0x55ea, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] ldr wzr, [x0] → blr x1 ↑ b 3a8 3e4: mov x0, x19 mov x1, #0xc2a0 // #49824 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 38 mov x0, x19 mov x1, #0xc2b8 // #49848 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 38 41c: mov x1, x20 mov w2, w21 mov x0, x19 mov x3, #0x6c88 // #27784 movk x3, #0x55ea, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 ↑ b 388 440: mov w0, w21 mov x1, #0x7ed0 // #32464 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 45c: mov x0, x19 mov x2, #0x6b08 // #27400 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 80 478: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b ac 494: ldr w23, [x19, #52] add w2, w23, #0x1 str w2, [x19, #52] cmp w23, w25 ↓ b.cs 4dc mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b d4 4b4: mov x0, #0xdb00 // #56064 movk x0, #0x5544, lsl #16 movk x0, #0xef17, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 4cc: asr w4, w5, #2 mov w2, #0x3 // #3 mul w4, w4, w2 ↑ b 128 4dc: bl ffffffffff2a28a8 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-40348-32542.so 0.75 stp x29, x30, [sp, #-16]! 0.75 mov x29, sp 2.24 sub x3, x0, x1 0.75 sub x4, x1, x0 0.75 cmp x3, x2 ccmp x4, x2, #0x0, cs // cs = hs, nlast 1.49 ↓ b.cc 124 0.75 add x3, x1, x2 add x4, x0, x2 1.49 cmp x2, #0x10 ↓ b.ls d4 0.75 cmp x2, #0x40 ↓ b.ls 98 1.49 cmp x2, #0x100 ↓ b.cc 68 mov x5, x0 and x5, x5, #0x3f neg x5, x5 add x5, x5, #0x40 ldp q16, q17, [x1] stp q16, q17, [x0] ldp q16, q17, [x1, #32] stp q16, q17, [x0, #32] 2.99 add x1, x1, x5 add x0, x0, x5 sub x2, x2, x5 0.75 68: lsr x5, x2, #6 2.99 6c: ldp q16, q17, [x1] 28.36 stp q16, q17, [x0] 5.97 ldp q16, q17, [x1, #32] 25.37 stp q16, q17, [x0, #32] 4.48 add x0, x0, #0x40 1.49 add x1, x1, #0x40 0.75 sub x5, x5, #0x1 5.22 ↑ cbnz x5, 6c 0.75 and x2, x2, #0x3f 0.75 cmp x2, #0x10 ↓ b.ls a8 0.75 98: ldr q16, [x1] 1.49 str q16, [x0] 0.75 cmp x2, #0x20 ↓ b.hi b8 a8: ldur q16, [x3, #-16] 1.49 stur q16, [x4, #-16] 1.49 b0: ldp x29, x30, [sp], #16 1.49 ← ret b8: ldr q16, [x1, #16] 0.75 str q16, [x0, #16] cmp x2, #0x30 ↑ b.ls a8 ldr q16, [x1, #32] 0.75 str q16, [x0, #32] ↑ b a8 d4: tst w2, #0x18 ↓ b.eq f0 ldr x2, [x1] str x2, [x0] ldur x1, [x3, #-8] 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, #0x6f28 // #28456 movk x3, #0x55f4, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-40348-32549.so 0.79 stp x29, x30, [sp, #-64]! 2.36 stp x19, x20, [sp, #32] 0.79 stp x21, x22, [sp, #48] mov x29, sp 0.79 str xzr, [x29, #24] mov x19, x0 0.79 mov x21, x1 0.79 mov w20, w2 0.79 mov w22, wzr cmp w20, #0x8 ↓ b.ge b0 3.15 2c: mov x0, xzr cmp w20, #0x0 1.57 csel x0, x0, x21, eq // eq = none 0.79 str x0, [x29, #24] mov w1, w20 mov w2, w22 0.79 cmp x2, x1 ↓ b.cs 90 1.57 ldrsb wzr, [x19] sub x3, x1, x2 cmp x3, #0x8 ↓ b.cs 154 0.79 5c: cmp x2, x1 0.79 ↓ b.cs 90 3.94 64: add x3, x19, #0x420 4.72 ldrh w4, [x0, x2, lsl #1] 2.36 lsr w5, w4, #5 2.36 ldr w3, [x3, w5, uxtw #2] 14.96 mov w5, #0x1 // #1 18.11 lsl w4, w5, w4 6.30 tst w3, w4 ↓ b.eq 90 17.32 add x2, x2, #0x1 3.15 cmp x2, x1 0.79 ↑ b.cc 64 90: mov w0, #0xffffffff // #-1 cmp w2, w1 0.79 csel w2, w2, w0, ne // ne = any 2.36 mov w0, w2 ldp x21, x22, [sp, #48] 0.79 ldp x19, x20, [sp, #32] 0.79 ldp x29, x30, [sp], #64 ← ret 0.79 b0: ldr x0, [x19, #24] 0.79 ↓ cbz x0, 10c ldr x2, [x0] 0.79 mov x1, #0x8140 // #33088 0.79 movk x1, #0x555d, lsl #16 0.79 movk x1, #0xef17, lsl #32 cmp x2, x1 ↓ b.ne 128 add x2, x0, #0x8 mov x0, x21 mov w1, w20 mov x3, #0x6d60 // #28000 movk x3, #0x55ea, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 f0: asr w22, w0, #0 0.79 cmp w22, w20 ↓ b.cc 144 fc: ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb38 // #60216 movk x1, #0x5544, lsl #16 movk x1, #0xef17, 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.): 5010010005, [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-40348-32662.so Percent stp x29, x30, [sp, #-128]! 0.93 stp x19, x20, [sp, #64] 0.93 stp x21, x22, [sp, #80] stp x23, x24, [sp, #96] stp x25, x26, [sp, #112] mov x29, sp 0.93 stp xzr, xzr, [x29, #48] 1.87 str xzr, [x29, #40] 0.93 str x4, [x29, #16] 3.74 mov x20, x0 mov x19, x1 mov x21, x2 mov x22, x3 ldr w0, [x19, #40] 0.93 and w23, w0, #0x7fffffff 0.93 ldr w0, [x22, #136] cmp w23, w0 ↓ b.ge 294 ldrb w0, [x20, #24] 0.93 ↓ cbnz w0, 58 ldr x0, [x21] ↓ cbz x0, 2b0 58: ldrb w0, [x20, #16] 0.93 cmp w0, #0x2 ↓ b.ne 488 ldr x0, [x29, #16] 1.87 ldrb w1, [x0, #144] ↓ cbnz w1, 2cc 3.74 70: ldr x2, [x21] ldr x1, [x20] 0.93 mov x3, #0xde70 // #56944 movk x3, #0x55df, lsl #16 movk x3, #0xef17, lsl #32 0.93 cmp x1, x3 ↓ b.ne 274 ↓ cbz x2, 314 add x22, x2, #0xc ldr w21, [x2, #8] mov w1, #0x21aa // #8618 movk w1, #0x9ef, lsl #16 0.93 cmp w21, w1 ↓ b.gt 330 add x1, x19, #0x70 ldr x1, [x1] 0.93 ↓ cbz w21, 34c str x22, [x29, #56] 0.93 mov x2, x22 mov x3, x1 ↓ cbnz x3, d4 0.93 mov x3, #0x2e08 // #11784 0.93 movk x3, #0xa1c0, lsl #16 movk x3, #0xef07, lsl #32 ldr x3, [x3] 0.93 d4: ldr x1, [x3] mov x4, #0x73e8 // #29672 movk x4, #0x55d7, lsl #16 movk x4, #0xef17, lsl #32 0.93 cmp x1, x4 ↓ b.ne 354 0.93 ldr x3, [x3, #8] ldrsb wzr, [x3] 0.93 mov x1, x2 mov w2, w21 mov x0, x3 mov x3, #0x7d20 // #32032 0.93 movk x3, #0x55d5, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] 0.93 → blr x3 0.93 asr w3, w0, #0 118: str xzr, [x29, #56] cmn w3, #0x1 ↓ b.ne 378 0.93 ldr w1, [x19, #124] 1.87 ↓ tbz w1, #1, 39c 12c: ldr w1, [x19, #124] ↓ tbnz w1, #0, 3d4 0.93 mov w1, #0x3 // #3 mul w1, w21, w1 0.93 add w1, w1, #0x3 ldr w2, [x19, #76] ldr w3, [x19, #52] 0.93 sub w2, w2, w3 cmp w2, w1 ↓ b.lt 3f8 1.87 154: add x24, x19, #0x40 0.93 mov x25, xzr mov w26, wzr 0.93 ldr x1, [x24] ↓ cbz x1, 1a0 0.93 ldr x2, [x1] 0.93 ldr w2, [x2] 0.93 tst w2, #0x80000000 ↓ b.eq 414 0.93 add x25, x1, #0x10 ldr w26, [x1, #8] 180: ldp w2, w5, [x24, #8] and w2, w2, #0x7fffffff 0.93 mov w2, w2 add x4, x2, w5, uxtw cmp x4, w26, uxtw ↓ b.hi 454 add x25, x25, x2 asr w26, w5, #0 0.93 1a0: ldr w2, [x19, #40] 0.93 ↓ tbnz w2, #31, 434 1a8: ldr w24, [x19, #52] 0.93 add w2, w24, #0x1 0.93 str w2, [x19, #52] 0.93 cmp w24, w26 ↓ b.cs 5b0 mov w2, #0x22 // #34 1.87 strb w2, [x25, w24, uxtw #0] ldr w2, [x19, #52] cmp w2, w26 ↓ b.hi 454 1.87 mov w5, w2 add x24, x25, x5 sub w3, w26, w2 str x22, [x29, #48] 0.93 mov x2, x22 stp x2, x24, [x29, #32] str x24, [x29, #24] ↓ cbz w21, 218 mov x2, x24 add x5, x29, #0x18 add x4, x29, #0x20 mov w1, w21 1.87 mov x0, x22 0.93 mov x6, #0x78e8 // #30952 0.93 movk x6, #0x5525, lsl #16 1.87 movk x6, #0xef17, lsl #32 ldr x6, [x6] 0.93 → blr x6 218: ldr w1, [x29, #24] 0.93 sub w1, w1, w24 1.87 stp xzr, xzr, [x29, #40] 0.93 ldr w2, [x19, #52] 0.93 add w24, w2, w1 str w24, [x19, #52] add w1, w24, #0x1 str w1, [x19, #52] cmp w24, w26 ↓ b.cs 5b0 1.87 mov w1, #0x22 // #34 strb w1, [x25, w24, uxtw #0] 0.93 248: ldr w1, [x19, #40] orr w1, w1, #0x80000000 0.93 str w1, [x19, #40] mov w1, #0x7 // #7 strb w1, [x19, #58] 2.80 25c: ldr w1, [x19, #40] 5.61 and w1, w1, #0x7fffffff cmp w23, w1 ↓ b.ne 46c 7.48 26c: mov w5, #0x1 // #1 0.93 ↓ b 64c 0.93 274: mov x0, x20 0.93 mov x1, x19 mov x3, x22 ldr x4, [x20] ldr x4, [x4, #96] ldr x4, [x4, #48] 4.67 → blr x4 0.93 ↑ b 25c 294: ldr w0, [x22, #136] mov x1, #0x6d18 // #27928 movk x1, #0x55e3, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2b0: mov x0, x19 mov x1, #0x6160 // #24928 movk x1, #0x55ea, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 26c 2cc: ldrb w1, [x20, #27] ↑ cbz w1, 70 ldr x21, [x21] add x0, x0, #0x90 mov x1, #0x6d30 // #27952 movk x1, #0x55e3, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov x2, x21 mov x1, x19 mov x0, x20 ldr x4, [x20] ldr x4, [x4, #104] ldr x4, [x4, #32] → blr x4 ↑ b 25c 314: mov x0, x19 mov x1, #0x6160 // #24928 movk x1, #0x55ea, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 25c 330: mov w0, w21 mov x1, #0x7ed0 // #32464 movk x1, #0x55d5, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 34c: mov w3, #0xffffffff // #-1 ↑ b 118 354: mov x0, x3 mov x1, x2 mov w2, w21 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w3, w0, #0 ↑ b 118 378: mov x1, x22 mov w2, w21 mov x0, x19 mov x4, #0x6250 // #25168 movk x4, #0x55ea, lsl #16 movk x4, #0xef17, lsl #32 ldr x4, [x4] → blr x4 ↑ b 248 39c: mov x0, x19 mov x1, #0xc2a0 // #49824 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 12c mov x0, x19 mov x1, #0xc2b8 // #49848 movk x1, #0x55f4, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 ↑ b 12c 3d4: mov x1, x22 mov w2, w21 mov x0, x19 mov x3, #0x6280 // #25216 movk x3, #0x55ea, lsl #16 movk x3, #0xef17, lsl #32 ldr x3, [x3] → blr x3 ↑ b 248 3f8: mov x0, x19 mov x2, #0x6b08 // #27400 movk x2, #0x55d5, lsl #16 movk x2, #0xef17, lsl #32 ldr x2, [x2] → blr x2 ↑ b 154 414: mov x0, x1 ldr x1, [x1] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 mov w26, w1 ↑ b 180 434: ldr w24, [x19, #52] add w2, w24, #0x1 str w2, [x19, #52] cmp w24, w26 ↓ b.cs 5b0 mov w2, #0x2c // #44 strb w2, [x25, w24, uxtw #0] ↑ b 1a8 454: mov x1, #0xdb00 // #56064 movk x1, #0x5544, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 46c: mov x0, x20 mov x1, #0x6e38 // #28216 movk x1, #0x55e3, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 488: ldr x0, [x29, #16] ldr w1, [x0, #68] cmp w1, #0x0 cset x23, ne // ne = any ldr x1, [x21] ↓ cbz x1, 5b8 ldrb w1, [x0, #142] cmp w1, #0x1 ↓ b.eq 5b8 mov x1, #0x6190 // #24976 movk x1, #0x55ea, lsl #16 movk x1, #0xef17, lsl #32 ldr x1, [x1] → blr x1 mov x2, x0 ldrb w1, [x20, #18] ↓ cbnz w1, 4dc ldr x1, [x2, #160] cmp x1, #0x0 cset x1, ne // ne = any ↓ cbz w1, 508 4dc: ldr x1, [x21] mov x0, x20 mov x3, x22 ldr x4, [x29, #16] mov x5, #0x61c0 // #25024 movk x5, #0x55ea, lsl #16 movk x5, #0xef17, lsl #32 ldr x5, [x5] → blr x5 mov x24, x0 ↓ b 50c 508: mov x24, xzr 50c: ↓ cbnz w23, 548 ldr w2, [x22, #140] ↓ cbz w2, 548 ldr x2, [x21] mov x0, x20 mov x1, x19 mov x3, x22 mov x4, x24 ldr x5, [x29, #16] mov x6, #0x61d8 // #25048 movk x6, #0x55ea, lsl #16 movk x6, #0xef17, lsl #32 ldr x6, [x6] → blr x6 ↑ cbnz w0, 26c 548: ↓ cbz x24, 5b8 ldr x2, [x21] mov x0, x24 mov x1, x19 mov x3, x22 ldr x4, [x29, #16] ldr x5, [x24] ldr x5, [x5, #88] ldr x5, [x5, #8] → blr x5 asr w23, w0, #0 ldr x4, [x29, #16] add x0, x4, #0x50 mov w1, #0x2 // #2 cmp w23, #0x0 csel w1, wzr, w1, ne // ne = any strb w1, [x0, #62] ↓ cbz w23, 644 ldrb w0, [x4, #143] ↓ cbz w0, 644 ldr x0, [x4, #32] ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #56] → blr x1 ↓ b 63c 5b0: bl ffffffffff2a5bf0