Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5016016011, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-40740-32553.so 0.58 stp x29, x30, [sp, #-80]! 0.74 stp x19, x20, [sp, #16] 0.25 stp x21, x22, [sp, #32] stp x23, x24, [sp, #48] 0.25 stp x25, x26, [sp, #64] 0.41 mov x29, sp mov x19, x0 0.25 ldr w20, [x19, #32] 0.25 asr w21, w20, #0 0.41 ldp x23, x22, [x19] 0.25 ldrb w24, [x19, #40] 0.41 ldrb w25, [x19, #44] 0.25 ldrb w0, [x19, #68] 0.17 ↓ cbnz w0, 2ac 0.33 38: ldr w0, [x19, #88] 0.25 ↓ cbz w0, 334 0.33 uxtb w0, w1 0.33 cmp w0, #0x2c ↓ b.ne 25c 0.41 add w0, w20, #0x1 0.50 str w0, [x19, #32] 0.25 ldr x0, [x19, #8] add x0, x0, #0x1 0.08 str x0, [x19, #8] 0.33 ldr w0, [x19, #32] 0.50 ldr w1, [x19, #56] 0.41 cmp x1, w0, sxtw 0.08 ↓ b.le 38c 1.90 add x20, x19, #0x30 0.58 mov x1, x20 0.25 ldr w2, [x1, #8] 0.25 cmp w0, w2 ↓ b.cs 750 0.58 ldr x1, [x1] 0.25 ldrb w1, [x1, w0, uxtw #0] 0.83 cmp w1, #0x20 ↓ b.le 3ec 1.73 94: ldrsw x0, [x19, #32] 0.17 str x0, [x19, #24] 0.33 ldrb w0, [x19, #68] 0.25 cmp w0, #0x2 ↓ b.eq 480 0.33 a8: ldrb w0, [x19, #38] 0.25 ↓ cbz w0, 694 0.33 cmp w1, #0x22 ↓ b.ne 4b0 0.33 strb wzr, [x19, #44] 0.33 ldr w0, [x19, #32] 0.33 add w0, w0, #0x1 0.08 ldr w1, [x20, #8] 0.25 cmp w0, w1 ↓ b.hi 518 0.41 ldr x2, [x20] mov w3, w0 0.25 add x20, x2, x3 sub w26, w1, w0 0.25 cmp w26, #0x10 ↓ b.lt 238 ldr q16, [x20] 2.81 movi v17.16b, #0x20 0.17 cmhi v17.16b, v17.16b, v16.16b 0.08 movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b orr v17.16b, v17.16b, v18.16b 0.08 movi v18.16b, #0x5c 0.17 cmeq v16.16b, v16.16b, v18.16b 0.17 orr v16.16b, v17.16b, v16.16b 0.17 mvni v17.4s, #0x0 cmeq v16.16b, v16.16b, v17.16b 0.25 shrn v16.8b, v16.8h, #4 0.08 fmov x0, d16 0.08 rbit x0, x0 0.17 clz x0, x0 0.08 lsr w0, w0, #2 0.41 mov w1, #0xffffffff // #-1 0.50 cmp w0, #0x10 csel w3, w0, w1, ne // ne = any 0.41 ↓ tbnz w3, #31, 20c 32.01 138: ↓ tbnz w3, #31, 558 3.14 cmp w3, w26 ↓ b.cs 750 2.81 ldrb w1, [x20, w3, uxtw #0] 5.53 cmp w1, #0x22 ↓ b.ne 530 1.82 ldr x1, [x19, #8] 0.17 add w2, w3, #0x2 0.25 add x1, x1, w2, sxtw 0.58 str x1, [x19, #8] 0.33 cmp w3, w26 0.08 ↓ b.hi 518 0.08 str x20, [x19, #152] 0.41 str w3, [x19, #160] 0.33 strb wzr, [x19, #46] 0.17 mov w1, #0x7 // #7 0.25 strb w1, [x19, #40] 0.25 ldr w1, [x19, #32] 0.17 add w1, w1, w3 0.08 add w1, w1, #0x2 0.41 str w1, [x19, #32] 0.33 18c: ldr w0, [x19, #32] 3.47 ldr w1, [x19, #56] 0.41 cmp x1, w0, sxtw 0.17 ↓ b.le 5b0 6.93 add x20, x19, #0x30 0.17 mov x1, x20 0.08 ldr w2, [x1, #8] 0.17 cmp w0, w2 0.08 ↓ b.cs 750 0.33 ldr x1, [x1] 0.25 ldrb w2, [x1, w0, uxtw #0] 1.24 cmp w2, #0x20 ↓ b.le 5d0 1.24 1c0: cmp w2, #0x3a ↓ b.ne 66c 0.50 ldr w3, [x19, #32] 0.33 add w3, w3, #0x1 0.25 str w3, [x19, #32] 0.33 ldr x3, [x19, #8] 0.25 add x3, x3, #0x1 str x3, [x19, #8] 0.41 mov w3, #0x5 // #5 0.41 strb w3, [x19, #40] 1e8: mov w20, wzr 0.17 1ec: ↓ cbnz w20, 71c 0.50 mov w0, #0x1 // #1 0.17 ldp x25, x26, [sp, #64] 0.25 ldp x23, x24, [sp, #48] 0.25 ldp x21, x22, [sp, #32] 0.50 ldp x19, x20, [sp, #16] 0.33 ldp x29, x30, [sp], #80 0.50 ← ret 6.44 20c: add x0, x20, #0x10 sub w1, w26, #0x10 mov x2, #0xc7c8 // #51144 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 0.08 ldr x2, [x2] 0.08 → blr x2 0.08 add w1, w0, #0x10 cmp w0, #0x0 0.08 csel w3, w1, w0, ge // ge = tcont 0.17 ↑ b 138 238: mov x0, x20 mov w1, w26 mov x2, #0xc7c8 // #51144 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 138 0.08 25c: uxtb w0, w1 0.08 cmp w0, #0x7d ↓ b.ne 284 268: mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0x19d8, lsl #16 0.08 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1e8 284: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 6f0 290: mov x0, x19 0.17 mov x1, #0xc600 // #50688 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1e8 2ac: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 310 uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 2e4 mov x0, x19 mov x1, #0xcae0 // #51936 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 1e8 ↓ b 640 2e4: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xcb28 // #52008 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 1ec 310: uxtb w1, w1 mov x0, x19 mov x2, #0xcb40 // #52032 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 1ec 334: ldrb w0, [x19, #70] ↓ cbz w0, 360 uxtb w1, w1 mov x0, x19 mov x2, #0xc630 // #50736 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 1e8 ↓ b 640 360: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 38c: mov x0, x19 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 640 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 3ec: mov x0, x19 mov x1, #0xc5a0 // #50592 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 45c mov x0, x19 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 640 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 45c: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 750 ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 480: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xcae0 // #51936 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 1e8 ↓ b 640 4b0: cmp w1, #0x7d ↓ b.ne 4ec ldrb w3, [x19, #69] ↑ cbnz w3, 268 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 4ec: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 518: mov x0, #0xdb30 // #56112 movk x0, #0x1947, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 530: mov x1, x20 mov w2, w26 mov x0, x19 mov x4, #0xc750 // #51024 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 18c ↓ b 640 558: mov x0, x19 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 640 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 5b0: mov x0, x19 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 640 ↓ b 614 5d0: mov x0, x19 mov x1, #0xc5a0 // #50592 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 648 mov x0, x19 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 640 614: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 640: mov w20, #0x1 // #1 ↑ b 1ec 648: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 750 ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 1c0 66c: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 694: cmp w1, #0x5d ↓ b.ne 6d0 ldrb w3, [x19, #69] ↑ cbnz w3, 290 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 6d0: mov x0, x19 mov x2, #0xc618 // #50712 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 1e8 ↑ b 640 6f0: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 71c: cmp w20, #0x1 ↓ b.ne 734 str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 734: 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 750: bl ffffffffff2b1610 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5016016011, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-40740-32840.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, #0x118 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, #0xb1b0 // #45488 movk x0, #0x1939, lsl #16 movk x0, #0xef7a, lsl #32 mov x1, #0x6850 // #26704 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 16a0 80: ldr x2, [x21] mov x1, #0x38 // #56 movk x1, #0x19a4, lsl #16 movk x1, #0xef7a, lsl #32 cmp x2, x1 ↓ b.ne 1794 ldrb w2, [x21, #43] ↓ cbz w2, 16dc 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, 16f8 str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 17c8 ↓ tbnz w22, #31, 17e0 ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 1830 ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 1898 e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 18c0 f4: ldr x22, [x20, #16] ↓ cbz x22, 18c8 ldr x0, [x22, #16] ↓ cbz x0, 1934 104: ldr x0, [x21] mov x1, #0x38 // #56 movk x1, #0x19a4, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne 1954 ldrb w20, [x21, #41] 120: ↓ cbz w20, 1970 add x14, x22, #0x10 mov x15, x21 bl fffffffffe054774 ldr x20, [x22, #24] ↓ cbz x20, 19c0 ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 19f8 ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 2924 add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0x1928, lsl #16 movk x2, #0xef7a, 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 1a08 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1a24 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 1a44 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 1a64 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 2924 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 29ac 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 29ac 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, #0x64e1, lsl #16 movk x20, #0xef7a, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] cmp w2, w3 ↓ b.ge 1a80 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #776] mov x1, x20 mov x2, #0x2e00 // #11776 movk x2, #0x65c0, lsl #16 movk x2, #0xef6a, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0xb1e0 // #45536 movk x3, #0x19da, lsl #16 movk x3, #0xef7a, lsl #32 cmp x2, x3 ↓ b.ne 1aa8 ldr x0, [x0, #8] ldrsb wzr, [x0] 0.10 mov w2, #0x7 // #7 mov x3, #0x7d80 // #32128 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #776] cmn w4, #0x1 ↓ b.ne 1ac4 ldr w0, [x22, #124] ↓ tbz w0, #1, 1aec 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1b70 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 1b98 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 1bb8 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 2924 add x24, x24, x2 0.10 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 1bd4 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 29ac mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 2924 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, #0x1928, lsl #16 movk x6, #0xef7a, 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 29ac 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 29ac 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 29ac 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 cf4 0.19 494: 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 x28, [x29, #336] ldr x0, [x28, #208] str x0, [x29, #328] 0.10 ldr x0, [x29, #328] 0.39 ldr x0, [x0, #200] 0.58 str x0, [x29, #376] strb wzr, [x29, #310] strb wzr, [x29, #311] ldr x26, [x28, #184] ldr w0, [x26, #140] ↓ cbnz w0, 272c 0.10 4e0: ldr x0, [x28, #344] ldr x3, [x28, #184] add x2, x29, #0x188 0.10 add x4, x29, #0xe8 0.10 mov x1, x22 mov x5, #0x40d8 // #16600 movk x5, #0x19e7, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 0.19 50c: mov x0, x22 mov x1, #0x6940 // #26944 movk x1, #0x19d8, lsl #16 0.10 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 524: str xzr, [x29, #392] mov w26, w27 ↓ b 5c0 530: 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, 2794 578: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x240 add x4, x29, #0x1a0 mov x1, x22 mov x5, #0x40d8 // #16600 movk x5, #0x19e7, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 5a4: mov x0, x22 mov x1, #0x6940 // #26944 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov w26, w27 0.39 5c0: ldr w1, [x25, #68] 0.29 cmp w24, w1 ↓ b.ne 293c ldr w1, [x25, #56] 0.29 cmp w26, w1 ↓ b.cs c20 5d8: ldr x1, [x25, #16] add w2, w26, #0x1 asr w27, w2, #0 ldr w2, [x1, #8] 1.74 cmp w26, w2 ↓ b.cs 29ac 0.39 mov w2, #0x18 // #24 mov x0, #0x10 // #16 0.10 umaddl x2, w26, w2, x0 0.10 add x1, x1, x2 ldr w2, [x1, #20] 0.97 cmn w2, #0x1 0.10 ↓ b.lt 27b4 0.29 ldp x2, x26, [x1] 0.48 ↓ cbz x2, 2868 0.29 add x28, x2, #0xc ldr w3, [x2, #8] 1.94 str w3, [x29, #692] mov w1, #0x21aa // #8618 0.10 movk w1, #0x9ef, lsl #16 cmp w3, w1 ↓ b.gt 288c 0.29 add x1, x22, #0x70 0.19 ldr x0, [x1] 0.10 ↓ cbz w3, 1e68 str x28, [x29, #680] mov x1, x28 ↓ cbnz x0, 658 mov x0, #0x2e00 // #11776 0.19 movk x0, #0x65c0, lsl #16 0.10 movk x0, #0xef6a, lsl #32 ldr x0, [x0] 658: ldr x2, [x0] 0.39 mov x4, #0xb1e0 // #45536 0.10 movk x4, #0x19da, lsl #16 movk x4, #0xef7a, lsl #32 cmp x2, x4 ↓ b.ne 1e78 0.10 ldr x0, [x0, #8] ldrsb wzr, [x0] 0.78 mov w2, w3 0.10 mov x4, #0x7d80 // #32128 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 0.10 ldr x4, [x4] → blr x4 0.10 asr w3, w0, #0 0.10 694: str xzr, [x29, #680] 0.10 cmn w3, #0x1 ↓ b.ne bfc 0.10 ldr w0, [x22, #124] 0.10 ↓ tbz w0, #1, 1e94 0.10 6a8: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1ec8 0.10 mov w0, #0x3 // #3 ldr w2, [x29, #692] mul w0, w2, w0 0.10 add w0, w0, #0x4 ldr w1, [x22, #76] ldr w3, [x22, #52] sub w1, w1, w3 cmp w1, w0 ↓ b.ge 740 0.29 ldr w1, [x22, #76] ↓ cbnz w1, 1ff8 0.19 cmp w0, #0x100 0.10 ↓ b.gt 1eec 0.10 mov w1, #0x100 // #256 6e8: ldr x0, [x22, #16] 0.19 ↓ cbz x0, 1fa8 0.10 ldr x3, [x22, #24] str x3, [x29, #200] 0.10 ldrsb wzr, [x3] 0.29 ldr x0, [x3, #8] 0.19 ldr w0, [x0, #8] 0.78 ldr w4, [x3, #16] 0.19 sub w0, w0, w4 cmp w0, w1 ↓ b.lt 1ef4 0.68 714: ldr x15, [x3, #8] ldr w0, [x3, #16] ↓ cbz x15, 1f94 ldr w14, [x15, #8] 0.10 cmp w14, w0 ↓ b.cc 2924 0.48 ldr w14, [x15, #8] sub w1, w14, w0 734: add x14, x22, #0x40 bl fffffffffe054774 stp w0, w1, [x22, #72] 0.29 740: add x1, x22, #0x40 str x1, [x29, #184] 0.19 mov x3, xzr 0.10 mov w4, wzr ldr x0, [x1] 0.10 ↓ cbz x0, 794 0.10 ldr x3, [x0] ldr w4, [x3] 0.97 tst w4, #0x80000000 0.10 ↓ b.eq 20fc 1.07 add x3, x0, #0x10 ldr w4, [x0, #8] 770: ldr x1, [x29, #184] ldp w5, w1, [x1, #8] 0.19 and w5, w5, #0x7fffffff mov w5, w5 0.10 add x0, x5, w1, uxtw cmp x0, w4, uxtw ↓ b.hi 2924 1.07 add x3, x3, x5 0.19 asr w4, w1, #0 794: ldr w5, [x22, #40] ↓ tbz w5, #31, 7b8 ldr w6, [x22, #52] add w5, w6, #0x1 0.19 str w5, [x22, #52] cmp w6, w4 ↓ b.cs 29ac mov w5, #0x2c // #44 0.10 strb w5, [x3, w6, uxtw #0] 7b8: ldr w6, [x22, #52] 0.10 add w5, w6, #0x1 str w5, [x22, #52] cmp w6, w4 ↓ b.cs 29ac mov w5, #0x22 // #34 0.10 strb w5, [x3, w6, uxtw #0] 0.19 ldr w5, [x22, #52] 1.45 cmp w5, w4 ↓ b.hi 2924 0.39 mov w1, w5 str x3, [x29, #192] 0.10 add x6, x3, x1 0.10 str w4, [x29, #620] sub w7, w4, w5 str x28, [x29, #608] 0.10 mov x5, x28 0.10 str x6, [x29, #600] 0.19 str x6, [x29, #208] 0.10 str x5, [x29, #592] str x6, [x29, #584] ldr w2, [x29, #692] 0.10 ↓ cbz w2, 844 mov x0, x28 mov x2, x6 add x5, x29, #0x248 0.19 add x4, x29, #0x250 0.19 ldr w1, [x29, #692] mov w3, w7 0.10 mov x7, #0x78e8 // #30952 0.19 movk x7, #0x1928, lsl #16 movk x7, #0xef7a, lsl #32 0.10 ldr x7, [x7] 0.19 → blr x7 0.10 ldr x6, [x29, #208] 0.48 844: ldr w1, [x29, #584] sub w1, w1, w6 0.19 str xzr, [x29, #608] str xzr, [x29, #600] 0.10 ldr w2, [x22, #52] 0.10 add w6, w2, w1 str w6, [x22, #52] 0.10 add w1, w6, #0x1 str w1, [x22, #52] ldr w4, [x29, #620] 0.10 cmp w6, w4 0.19 ↓ b.cs 29ac 0.78 mov w1, #0x22 // #34 0.10 ldr x3, [x29, #192] 0.10 strb w1, [x3, w6, uxtw #0] ldr w6, [x22, #52] 1.94 add w1, w6, #0x1 0.19 str w1, [x22, #52] 0.10 cmp w6, w4 ↓ b.cs 29ac 1.16 mov w1, #0x3a // #58 0.10 strb w1, [x3, w6, uxtw #0] 0.19 89c: ldr w0, [x22, #40] 0.19 and w0, w0, #0x7fffffff 0.19 str w0, [x22, #40] mov w0, #0x500 // #1280 sturh w0, [x22, #57] str x26, [x29, #576] 0.19 mov x0, #0x33d0 // #13264 0.10 movk x0, #0x65c0, lsl #16 0.19 movk x0, #0xef6a, lsl #32 0.10 ldr x26, [x0] 0.19 ↓ cbz x26, 2128 0.29 8c8: ldapurb w0, [x26, #159] 1.07 ↓ cbz w0, 2154 0.39 8d0: ldr x1, [x26, #24] ↓ cbz x1, 2170 0.39 8d8: mov x26, x1 0.19 ↓ cbz x26, 8f8 0.10 mov x0, #0xc2b0 // #49840 0.10 movk x0, #0x19de, lsl #16 movk x0, #0xef7a, lsl #32 0.10 ldr x2, [x26] 1.94 cmp x2, x0 0.10 ↓ b.ne 21b8 1.16 8f8: ldrb w0, [x26, #278] 0.19 ↓ cbnz w0, 21d0 0.48 ldr x0, [x26, #200] 0.19 ldrb w0, [x0, #18] 1.74 ↑ cbz w0, 530 0.97 ldr x0, [x29, #576] 0.19 ↑ cbz x0, 530 0.10 ldr x28, [x26, #184] 0.10 ldr x0, [x29, #576] 0.10 ldrsb wzr, [x28] 0.10 mov x1, #0x66a0 // #26272 0.10 movk x1, #0x1959, lsl #16 movk x1, #0xef7a, lsl #32 0.10 ldr x1, [x1] 0.10 → blr x1 0.10 mov x1, x0 0.10 str x1, [x29, #176] 0.29 mov x0, #0x2620 // #9760 0.19 movk x0, #0x64e0, lsl #16 movk x0, #0xef7a, lsl #32 0.10 cmp x1, x0 ↑ b.eq 530 0.19 ldapur x26, [x28, #16] ↓ cbz x26, 968 ldr x0, [x26, #192] cmp x0, x1 0.48 ldr x1, [x29, #176] 1.55 ↓ b.eq ad0 0.29 968: mov x26, xzr ldapurb w0, [x28, #158] 0.10 ↓ cbz w0, ac0 ldr x26, [x28, #8] ↓ cbz x26, 21ec 97c: ldr x2, [x26, #8] 0.10 str x2, [x29, #168] 0.29 mov x0, #0x3420 // #13344 0.19 movk x0, #0x65c0, lsl #16 0.10 movk x0, #0xef6a, lsl #32 ldr x3, [x0] ↓ cbz x3, 2210 0.29 998: ldr x2, [x29, #168] 0.19 str x2, [x29, #144] mov x4, x1 0.10 stp x3, x4, [x29, #152] ldrsb wzr, [x2] 1.36 ldapur x5, [x2, #8] 0.29 str x5, [x29, #136] 0.19 ldr x0, [x5, #8] 2.62 ldrb w6, [x2, #25] ↓ cbz w6, 2258 0.19 mov x0, x4 0.10 bl ffffffffff2e6600 0.10 ↓ cbz w0, 2278 0.10 9cc: asr w2, w0, #0 0.10 9d0: str w2, [x29, #412] ldr x3, [x29, #136] 0.10 ldr x4, [x3, #8] 0.48 str x4, [x29, #128] ldr x0, [x3, #16] ldr x1, [x3, #40] 0.10 mov w5, w2 0.10 mul x1, x1, x5 0.10 lsr x1, x1, #32 add x1, x1, #0x1 0.19 ldr w5, [x0, #8] 1.07 mul x1, x1, x5 0.87 lsr x1, x1, #32 0.19 ldr w5, [x0, #8] 0.10 cmp w1, w5 ↓ b.cs 29ac 2.23 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 0.10 add x0, x0, x1 ldapr x5, [x0] 4.17 ↓ cbz x5, 229c 0.68 ↓ cbz x4, e68 0.10 ldr x0, [x4] 0.19 mov x1, #0xecd8 // #60632 0.10 movk x1, #0x1976, lsl #16 0.10 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne e68 a40: ldr w0, [x5, #32] 4.36 cmp w2, w0 0.29 ↓ b.ne e48 0.87 str x5, [x29, #120] 0.10 ldr x6, [x5, #8] ↓ cbz x6, 2294 0.39 ldr x0, [x6] 1.65 mov x1, #0xa290 // #41616 0.10 movk x1, #0x1805, lsl #16 0.10 movk x1, #0xef7a, lsl #32 0.19 cmp x0, x1 ↓ b.ne 22a4 0.78 ldr x7, [x29, #176] 0.10 cmp x7, x6 cset x8, eq // eq = none 0.10 a7c: ↓ cbz w8, 22cc 0.10 a80: ldr x5, [x29, #120] ldr x1, [x5, #16] 0.19 str x1, [x29, #400] 0.58 a8c: ldr x2, [x29, #400] 1.45 str xzr, [x29, #400] ldrb w0, [x2, #32] 3.88 ↓ cbz w0, 23b4 0.39 ldr x0, [x2, #16] ↓ cbnz x0, 28f4 0.19 ldr x26, [x2, #8] 0.19 aa8: ↓ cbz x26, 241c 0.39 add x0, x26, #0x119 0.10 ldaprb w0, [x0] 2.52 cmp w0, #0x2 ↓ b.ne 23dc 0.68 mov x1, x7 0.10 ac0: ↓ cbz x26, 23fc add x14, x28, #0x10 mov x15, x26 0.19 bl fffffffffe054774 0.10 ad0: add x0, x26, #0x11a ldaprb w0, [x0] ↓ cbz w0, 2424 adc: ldr x0, [x26, #248] ↓ cbnz x0, 2458 ae4: ldr x0, [x26] 0.19 mov x1, #0x6ad8 // #27352 0.10 movk x1, #0x19ef, lsl #16 movk x1, #0xef7a, lsl #32 0.19 cmp x0, x1 ↓ b.eq ec8 mov x0, x26 mov x1, x22 ldr x2, [x29, #576] ldr x3, [x26] ldr x3, [x3, #64] 1.36 ldr x3, [x3, #56] 2.33 → blr x3 mov w26, w27 ↑ b 5c0 b20: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↓ b d30 0.19 b30: ldr x0, [x24] 1.74 mov x1, #0xea90 // #60048 0.97 movk x1, #0x192b, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne d38 0.10 ldr w0, [x24, #8] 0.97 ↓ cbz w0, cf4 ldr w0, [x22, #124] ↓ tbz w0, #1, 1c14 b58: add x1, x24, #0xc ldr w2, [x24, #8] mov x0, x22 mov w3, wzr mov x4, #0x7f18 // #32536 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 0.10 ldr x4, [x4] 0.48 → blr x4 ↓ b cf4 b80: ldr w0, [x22, #76] ↓ cbnz w0, 1d50 ldr x0, [x22, #16] ↓ cbz x0, 1d04 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 1c68 bac: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1cf0 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2924 ldr w14, [x15, #8] sub w11, w14, w0 bcc: add x14, x22, #0x40 bl fffffffffe054774 stp w0, w11, [x22, #72] ↓ b d94 bdc: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6b08 // #27400 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↓ b e20 bfc: mov x1, x28 ldr w2, [x29, #692] mov x0, x22 mov x4, #0xce10 // #52752 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 ↑ b 89c 0.39 c20: ldr w0, [x22, #124] 0.10 and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 11f8 0.10 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 0.10 ↓ b.gt c60 0.10 mov x0, x22 mov w1, #0x1 // #1 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 c60: add x24, x22, #0x40 mov x25, xzr mov w1, wzr 0.10 ldr x0, [x24] 0.10 ↓ cbz x0, cac ldr x1, [x0] ldr w1, [x1] 0.19 tst w1, #0x80000000 0.10 ↓ b.eq 281c 0.19 add x25, x0, #0x10 0.10 ldr w1, [x0, #8] 0.10 c8c: ldp w0, w2, [x24, #8] 0.10 and w0, w0, #0x7fffffff mov w0, w0 add x3, x0, w2, uxtw cmp x3, w1, uxtw ↓ b.hi 2924 0.39 add x25, x25, x0 0.10 asr w1, w2, #0 cac: ldr w0, [x22, #52] add w2, w0, #0x1 str w2, [x22, #52] cmp w0, w1 ↓ b.cs 29ac mov w1, #0x7d // #125 0.10 strb w1, [x25, w0, uxtw #0] cc8: ldr w0, [x22, #40] orr w0, w0, #0x80000000 0.10 str w0, [x22, #40] 0.10 ldr w0, [x22, #40] 0.19 tst w0, #0x7fffffff ↓ b.eq cec ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] cec: mov w0, #0x2 // #2 strb w0, [x22, #58] cf4: ldr w0, [x19, #20] cmp w20, w0 ↓ b.ne 293c 0.19 ldr w0, [x19, #16] cmp w23, w0 ↑ b.cs b20 ldr x0, [x19, #8] ldr w1, [x0, #8] 0.39 cmp w23, w1 0.10 ↓ b.cs 29ac 0.58 add x0, x0, #0x10 ldr x1, [x0, w23, uxtw #3] 0.39 mov x24, x1 add w23, w23, #0x1 mov w0, #0x1 // #1 d30: ↓ cbz w0, 1544 ↑ cbnz x24, b30 0.19 d38: mov x25, x24 ↓ cbz x25, d58 0.19 mov x0, #0xc660 // #50784 0.10 movk x0, #0x192c, lsl #16 movk x0, #0xef7a, lsl #32 0.19 ldr x1, [x25] cmp x1, x0 ↓ b.ne 1bf4 0.19 d58: ↑ cbz x25, cf4 0.10 ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1c4c d70: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↑ b.ne bdc 0.10 ldr w0, [x22, #76] 0.10 ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↑ b.lt b80 d94: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, de0 ldr x1, [x0] ldr w2, [x1] 0.39 tst w2, #0x80000000 ↓ b.eq 1e4c 0.19 add x1, x0, #0x10 0.10 ldr w2, [x0, #8] dc0: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2924 add x1, x1, x0 asr w2, w3, #0 de0: ldr w0, [x22, #40] ↓ tbz w0, #31, e04 ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29ac mov w3, #0x2c // #44 0.10 strb w3, [x1, w0, uxtw #0] 0.10 e04: ldr w0, [x22, #52] 0.10 add w3, w0, #0x1 0.10 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29ac mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] e20: ldr w1, [x22, #40] and w1, w1, #0x7fffffff str w1, [x22, #40] add w1, w1, #0x1 str w1, [x22, #40] mov w1, #0x1 // #1 0.10 strb w1, [x22, #58] 0.10 ldr w24, [x25, #68] 0.48 mov w26, wzr 0.10 ↑ b 5c0 e48: ldapur x5, [x5, #24] ↓ cbz x5, 22d4 ldr w2, [x29, #412] ↑ b a40 e58: ldr x7, [x29, #176] e5c: ldapur x5, [x5, #24] ↓ cbz x5, 2354 ldr w2, [x29, #412] e68: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne e58 str x5, [x29, #120] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x1976, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne 22dc ldr x4, [x29, #128] ↓ cbz x6, 2314 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x1805, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne 2320 ldr x7, [x29, #176] cmp x7, x6 cset x8, eq // eq = none ec0: ↓ cbz w8, 234c ↑ b a80 ec8: mov x28, x26 ldr x2, [x29, #576] 0.10 str x2, [x29, #112] 0.10 mov x3, x2 0.10 ↓ cbz x3, f14 0.10 mov x0, #0xb9e8 // #47592 movk x0, #0x1938, lsl #16 movk x0, #0xef7a, lsl #32 ldr x1, [x3] cmp x1, x0 ↓ b.eq f14 mov x1, x2 mov x3, #0x5908 // #22792 movk x3, #0x1928, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 mov x3, x0 ldr x2, [x29, #112] f14: str x3, [x29, #392] ldrb w0, [x28, #278] ↓ cbnz w0, 2460 ldr x0, [x28, #200] ldrb w0, [x0, #18] 0.19 ↑ cbz w0, 494 ldr x0, [x29, #392] ↑ cbz x0, 494 ldr x26, [x28, #184] ldr x0, [x29, #392] ldrsb wzr, [x26] mov x1, #0x66a0 // #26272 movk x1, #0x1959, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x1, x0 str x1, [x29, #104] mov x0, #0x2620 // #9760 movk x0, #0x64e0, lsl #16 movk x0, #0xef7a, lsl #32 cmp x1, x0 ↓ b.eq 2720 ldapur x2, [x26, #16] ↓ cbz x2, f8c ldr x0, [x2, #192] cmp x0, x1 mov x1, x2 ↓ b.eq 10f8 ldr x1, [x29, #104] f8c: mov x2, xzr ldapurb w0, [x26, #158] ↓ cbz w0, 2534 ldr x2, [x26, #8] ↓ cbz x2, 247c fa0: str x2, [x29, #88] ldr x3, [x2, #8] str x3, [x29, #80] mov x0, #0x3420 // #13344 movk x0, #0x65c0, lsl #16 movk x0, #0xef6a, lsl #32 ldr x4, [x0] ↓ cbz x4, 24a4 fc0: ldr x3, [x29, #80] str x3, [x29, #48] mov x5, x1 stp x4, x5, [x29, #56] ldrsb wzr, [x3] ldapur x6, [x3, #8] str x6, [x29, #40] ldr x0, [x6, #8] ldrb w7, [x3, #25] ↓ cbz w7, 2514 mov x0, x5 bl ffffffffff2e6600 ↓ cbz w0, 253c ff4: asr w2, w0, #0 ff8: str w2, [x29, #228] ldr x3, [x29, #40] ldr x4, [x3, #8] str x4, [x29, #32] ldr x0, [x3, #16] ldr x1, [x3, #40] mov w5, w2 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 ldr w5, [x0, #8] mul x1, x1, x5 lsr x1, x1, #32 ldr w5, [x0, #8] cmp w1, w5 ↓ b.cs 29ac ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x5, [x0] ↓ cbz x5, 2560 ↓ cbz x4, 1174 ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x1976, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne 1174 1068: ldr w0, [x5, #32] cmp w2, w0 ↓ b.ne 1154 str x5, [x29, #24] ldr x6, [x5, #8] ↓ cbz x6, 2558 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x1805, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne 2568 ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 10a4: ↓ cbz w8, 2590 10a8: ldr x5, [x29, #24] ldr x1, [x5, #16] str x1, [x29, #216] 10b4: ldr x2, [x29, #216] str xzr, [x29, #216] ldrb w0, [x2, #32] ↓ cbz w0, 2678 ldr x0, [x2, #16] ↓ cbnz x0, 290c ldr x2, [x2, #8] 10d0: ↓ cbz x2, 10e4 add x0, x2, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 26a0 10e4: ↓ cbz x2, 26c4 mov x1, x2 add x14, x26, #0x10 mov x15, x1 bl fffffffffe054774 10f8: mov x26, x1 add x0, x26, #0x11a ldaprb w0, [x0] ↓ cbz w0, 26e4 1108: ldr x0, [x26, #248] ↓ cbnz x0, 2718 1110: mov w0, #0x1 // #1 1114: ldr x2, [x29, #112] ↑ cbz w0, 494 ldr x0, [x26] mov x1, #0x6ad8 // #27352 movk x1, #0x19ef, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.eq 11d4 mov x0, x26 mov x1, x22 ldr x2, [x29, #392] ldr x3, [x26] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↑ b 524 1154: ldapur x5, [x5, #24] ↓ cbz x5, 2598 ldr w2, [x29, #228] ↑ b 1068 1164: ldr x7, [x29, #104] 1168: ldapur x5, [x5, #24] ↓ cbz x5, 2618 ldr w2, [x29, #228] 1174: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 1164 str x5, [x29, #24] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x1976, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne 25a0 ldr x4, [x29, #32] ↓ cbz x6, 25d8 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x1805, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne 25e4 ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 11cc: ↓ cbz w8, 2610 ↑ b 10a8 11d4: mov x0, x26 mov x1, x22 ldr x2, [x29, #392] mov x3, #0xa870 // #43120 movk x3, #0x19de, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 ↑ b 524 11f8: ldr w0, [x22, #124] ↓ tbz w0, #0, 148c ldr w0, [x22, #124] ↓ tbnz w0, #1, 1224 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc888 // #51336 movk x2, #0x19f8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 1224: ldrb w0, [x22, #58] cmp w0, #0x1 ↓ b.eq 13f0 ldrb w0, [x22, #58] cmp w0, #0x3 ↓ b.eq 13f0 ldp w0, w1, [x22, #40] and w0, w0, #0x7fffffff mul w24, w0, w1 ↓ cbz w24, 1254 ldr w0, [x22, #44] sub w24, w24, w0 1254: add w1, w24, #0x3 ldr w0, [x22, #76] ldr w2, [x22, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.ge 1284 mov x0, x22 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 1284: add x25, x22, #0x40 mov x26, xzr mov w27, wzr ldr x0, [x25] ↓ cbz x0, 12d0 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 27e4 add x26, x0, #0x10 ldr w27, [x0, #8] 12b0: ldp w1, w0, [x25, #8] and w1, w1, #0x7fffffff mov w1, w1 add x2, x1, w0, uxtw cmp x2, w27, uxtw ↓ b.hi 2924 add x26, x26, x1 asr w27, w0, #0 12d0: ldr w1, [x22, #48] cmp w1, #0x2 ↓ b.ne 12f8 ldr w1, [x22, #52] add w0, w1, #0x1 str w0, [x22, #52] cmp w1, w27 ↓ b.cs 29ac mov w0, #0xd // #13 strb w0, [x26, w1, uxtw #0] 12f8: ldr w1, [x22, #52] add w0, w1, #0x1 str w0, [x22, #52] cmp w1, w27 ↓ b.cs 29ac mov w0, #0xa // #10 strb w0, [x26, w1, uxtw #0] ldr w1, [x22, #52] cmp w1, w27 ↓ b.hi 2924 mov w0, w1 add x0, x26, x0 sub w1, w27, w1 mov x2, x0 asr w3, w1, #0 ldrb w4, [x22, #60] cmp w24, #0x8 ↓ b.ge 13a0 mov w1, wzr cmp w24, #0x1 ↓ b.le 1384 134c: add w0, w1, #0x1 cmp w1, w3 ↓ b.cs 29ac strb w4, [x2, w1, uxtw #0] asr w1, w0, #0 add w0, w1, #0x1 cmp w1, w3 ↓ b.cs 29ac strb w4, [x2, w1, uxtw #0] add w1, w0, #0x1 cmp w1, w24 ↓ b.ge 1388 mov w1, w0 ↑ b 134c 1384: mov w0, w1 1388: cmp w0, w24 ↓ b.ge 13c4 cmp w0, w3 ↓ b.cs 29ac strb w4, [x2, w0, uxtw #0] ↓ b 13c4 13a0: cmp w24, w1 ↓ b.hi 2924 mov w1, w24 mov w2, w4 mov x3, #0xc630 // #50736 movk x3, #0x19f8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 13c4: 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 29ac mov w1, #0x7d // #125 strb w1, [x26, w0, uxtw #0] ↑ b cc8 13f0: ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 1420 mov x0, x22 mov w1, #0x1 // #1 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 1420: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 146c ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 27c8 add x1, x0, #0x10 ldr w2, [x0, #8] 144c: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2924 add x1, x1, x0 asr w2, w3, #0 146c: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29ac mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b cc8 148c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc888 // #51336 movk x2, #0x19f8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 14d8 mov x0, x22 mov w1, #0x1 // #1 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 14d8: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 1524 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 2800 add x1, x0, #0x10 ldr w2, [x0, #8] 1504: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2924 add x1, x1, x0 asr w2, w3, #0 1524: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29ac mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b cc8 1544: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1660 mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6f88 // #28552 movk x2, #0x19ee, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 1570: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 1594 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 1594: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1680 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6f88 // #28552 movk x2, #0x19ee, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 15c8: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 15ec ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 15ec: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x6940 // #26944 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0x38 // #56 movk x1, #0x19a4, lsl #16 movk x1, #0xef7a, lsl #32 cmp x0, x1 ↓ b.ne 2954 mov x0, x21 mov x1, #0x110 // #272 movk x1, #0x19a4, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 163c: ↓ cbz x0, 296c 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 1660: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6f70 // #28528 movk x2, #0x19ee, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1570 1680: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6f70 // #28528 movk x2, #0x19ee, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b 15c8 16a0: mov x0, #0x38 // #56 movk x0, #0x19a4, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc4e0 // #50400 movk x2, #0x19ba, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe054774 ↑ b 80 16dc: mov x0, xzr mov x1, #0x7258 // #29272 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 16f8: mov x0, #0x7b10 // #31504 movk x0, #0x1929, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x20, x0 mov x0, #0xc498 // #50328 movk x0, #0x19f8, lsl #16 movk x0, #0xef7a, 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, #0x5718 // #22296 movk x0, #0x1937, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc4b0 // #50352 movk x2, #0x19f8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1ae0 // #6880 movk x1, #0x64e0, lsl #16 movk x1, #0xef7a, lsl #32 mov x3, #0xeaa8 // #60072 movk x3, #0x1947, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e64d0 brk #0xf000 1794: 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 17c8: mov x0, #0x7270 // #29296 movk x0, #0x19f8, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 17e0: mov x0, #0xd20 // #3360 movk x0, #0x1954, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x21, x0 mov x0, #0x7288 // #29320 movk x0, #0x19f8, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8a0 // #51360 movk x2, #0x19cb, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e64d0 brk #0xf000 1830: 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 1850 ldr w1, [x21, #36] lsl w1, w1, #1 1850: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 187c 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 187c: mov x0, x21 mov x2, #0x268 // #616 movk x2, #0x19a4, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 1898: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcfa8 // #53160 movk x3, #0x195f, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 18c0: str w22, [x21, #28] ↑ b f4 18c8: add x0, x29, #0x310 stp xzr, xzr, [x0] add x0, x29, #0x310 mov w1, #0x1 // #1 mov x2, #0x6868 // #26728 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xf6f0 // #63216 movk x0, #0x19a1, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x22, x0 ldr x2, [x29, #784] ldr x3, [x29, #792] mov x0, x22 mov x1, x21 mov x4, #0x6880 // #26752 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe054774 ↑ b 1a4 1934: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x7108 // #28936 movk x0, #0x19e7, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1954: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 1970: mov x0, #0xeab8 // #60088 movk x0, #0x192c, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x21, x0 mov x0, #0x69a0 // #27040 movk x0, #0x19d8, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8d0 // #51408 movk x2, #0x1947, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e64d0 brk #0xf000 19c0: mov x0, #0x58f8 // #22776 movk x0, #0x19da, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x20, x0 mov x1, #0x69d0 // #27088 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe054774 ↑ b 174 19f8: ↓ cbnz w0, 2924 mov x2, xzr mov w0, wzr ↑ b 154 1a08: mov x0, x22 mov x1, #0x6ad8 // #27352 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 1a24: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6b08 // #27400 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 1a44: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 1a64: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 1a80: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6d60 // #28000 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 1aa8: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 1ac4: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6df0 // #28144 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 1aec: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1b04 ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 1b1c 1b04: mov x0, x22 mov x1, #0x7e70 // #32368 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 1b1c: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 1b3c ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 1b58 1b3c: mov x0, x23 mov w1, wzr mov x2, #0xcd08 // #52488 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 1b58: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 1b70: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7e28 // #32296 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 1b98: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1bb8: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 1bd4: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 29ac mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 1bf4: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0x1928, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b d58 1c14: mov x0, x22 mov x1, #0xc4c8 // #50376 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, b58 mov x0, x22 mov x1, #0xc4e0 // #50400 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b b58 1c4c: mov x0, x22 mov x1, #0x6ad8 // #27352 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b d70 1c68: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1c80 asr w1, w0, #0 ↓ b 1c84 1c80: mov w1, #0x100 // #256 1c84: asr w2, w1, #0 ↓ cbnz w0, 1c90 asr w2, w1, #0 1c90: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1cd4 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 2834 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1cd4: add x0, x24, #0x8 mov x2, #0x6cb8 // #27832 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b bac 1cf0: ↓ cbnz w0, 2924 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b bcc 1d04: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, 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 fffffffffe054774 ldr w0, [x29, #720] ldr w1, [x29, #724] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge d94 ↓ b 28dc 1d50: ldr x0, [x22, #16] ↓ cbz x0, 1dd0 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 284c ldr x24, [x22, #24] ldrsb wzr, [x24] mov x0, x24 mov x2, #0x6ca0 // #27808 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 add x26, x22, #0x40 ldr x0, [x24, #8] ldr w1, [x24, #16] mov x2, #0x6c70 // #27760 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #696] str x1, [x29, #704] ldr x15, [x29, #696] mov x14, x26 bl fffffffffe054774 ldr w0, [x29, #704] ldr w1, [x29, #708] stp w0, w1, [x26, #8] ↑ b d94 1dd0: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, 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, #0x1806, lsl #16 movk x11, #0xef7a, 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 fffffffffe054774 ldr w0, [x29, #736] ldr w1, [x29, #740] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge d94 ↓ b 28dc 1e4c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b dc0 1e68: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b 694 1e78: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b 694 1e94: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1eac ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne 6a8 1eac: mov x0, x22 mov x1, #0x7e70 // #32368 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 6a8 1ec8: mov x1, x28 ldr w2, [x29, #692] mov x0, x22 mov x3, #0xce70 // #52848 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 ↑ b 89c 1eec: asr w1, w0, #0 ↑ b 6e8 1ef4: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1f0c asr w4, w0, #0 ↓ b 1f10 1f0c: asr w4, w1, #0 1f10: asr w5, w4, #0 ↓ cbnz w0, 1f2c cmp w4, #0x100 ↓ b.ge 1f28 mov w5, #0x100 // #256 ↓ b 1f2c 1f28: asr w5, w4, #0 1f2c: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1f70 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 28a8 mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1f70: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6cb8 // #27832 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #200] ↑ b 714 1f94: ↓ cbnz w0, 2924 mov x15, xzr mov w0, wzr mov w1, wzr ↑ b 734 1fa8: ldr x0, [x22, #8] str w1, [x29, #644] mov x11, #0x2848 // #10312 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #648] str x1, [x29, #656] add x14, x22, #0x40 ldr x15, [x29, #648] bl fffffffffe054774 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 740 ↓ b 28dc 1ff8: cmp w0, #0x1, lsl #12 ↓ b.le 2008 str w0, [x29, #640] ↓ b 2010 2008: mov w3, #0x1000 // #4096 str w3, [x29, #640] 2010: ldr x0, [x22, #16] ↓ cbz x0, 207c ldr w0, [x22, #52] ldr w3, [x29, #640] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 28c0 add x3, x22, #0x40 str x3, [x29, #16] ldr x0, [x22, #24] mov x4, #0x5990 // #22928 movk x4, #0x19da, lsl #16 movk x4, #0xef7a, 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, #16] bl fffffffffe054774 ldr w0, [x29, #632] ldr w1, [x29, #636] ldr x14, [x29, #16] stp w0, w1, [x14, #8] ↑ b 740 207c: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, 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, #0x1806, lsl #16 movk x11, #0xef7a, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #664] str x1, [x29, #672] add x14, x22, #0x40 ldr x15, [x29, #664] bl fffffffffe054774 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 740 ↓ b 28dc 20fc: 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 770 2128: mov x0, #0x33d0 // #13264 movk x0, #0x65c0, lsl #16 movk x0, #0xef6a, lsl #32 mov w1, wzr mov x2, #0xd6f8 // #55032 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b 8c8 2154: mov x0, x26 mov x1, #0xdc50 // #56400 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 8d0 2170: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x2620 // #9760 movk x1, #0x64e0, lsl #16 movk x1, #0xef7a, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xdd70 // #56688 movk x6, #0x19d8, lsl #16 movk x6, #0xef7a, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe054774 ↑ b 8d8 21b8: mov x2, #0x63b8 // #25528 movk x2, #0x1928, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 21d0: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #576] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 5a4 21ec: mov x0, x28 mov x2, #0xde30 // #56880 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #176] ↑ b 97c 2210: mov x0, #0x3a18 // #14872 movk x0, #0x19df, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x3, x0 add x14, x3, #0x8 mov x15, x3 bl fffffffffe054774 ldr q16, instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x29c0 stur q16, [x3, #24] mov x14, #0x3420 // #13344 movk x14, #0x65c0, lsl #16 movk x14, #0xef6a, lsl #32 mov x15, x3 bl fffffffffe054774 mov x1, x3 ldr x1, [x29, #176] ↑ b 998 2258: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b 9d0 2278: ldr x0, [x29, #160] mov x1, #0xc720 // #50976 movk x1, #0x1947, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 9cc 2294: ldr x5, [x29, #120] ↑ b e48 229c: ldr x7, [x29, #176] ↓ b 2354 22a4: ldr x7, [x29, #176] mov x0, x6 mov x1, x7 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w8, w0, #0 ldr x7, [x29, #176] ↑ b a7c 22cc: ldr x5, [x29, #120] ↑ b e48 22d4: ldr x7, [x29, #176] ↓ b 2354 22dc: ldr x4, [x29, #128] ldr x7, [x29, #176] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #128] ldr x7, [x29, #176] ↑ b ec0 2314: ldr x5, [x29, #120] ldr x7, [x29, #176] ↑ b e5c 2320: ldr x7, [x29, #176] mov x0, x6 mov x1, x7 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w8, w0, #0 ldr x4, [x29, #128] ldr x7, [x29, #176] ↑ b ec0 234c: ldr x5, [x29, #120] ↑ b e5c 2354: str xzr, [x29, #400] mov x1, x7 mov x2, x26 ldr x4, [x29, #152] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #412] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x190 ldr x1, [x29, #136] ldr x2, [x29, #176] ldr x0, [x29, #144] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce88 // #52872 movk x8, #0x1973, lsl #16 movk x8, #0xef7a, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #176] ↑ b a8c 23b4: mov x0, x26 mov x1, x7 mov x3, #0xe3d0 // #58320 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #176] ↑ b aa8 23dc: mov x0, x26 mov x1, #0xf408 // #62472 movk x1, #0x19e2, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ldr x1, [x29, #176] ↑ b ac0 23fc: ldr x1, [x28, #32] ldr x0, [x29, #176] mov x2, #0xde18 // #56856 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 241c: mov x1, x7 ↑ b ac0 2424: mov x0, x26 mov x1, #0x45e8 // #17896 movk x1, #0x19e7, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054774 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b adc 2458: mov x26, x0 ↑ b ae4 2460: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #392] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 50c 247c: mov x0, x26 mov x2, #0xde30 // #56880 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x1, x0 mov x2, x1 ldr x1, [x29, #104] ↑ b fa0 24a4: mov x0, #0x3a18 // #14872 movk x0, #0x19df, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x4, x0 str x4, [x29, #72] mov x0, x4 mov x1, xzr mov x2, #0xa418 // #42008 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0x1805, lsl #16 movk x3, #0xef7a, lsl #32 mov x5, #0x7cc0 // #31936 movk x5, #0x1928, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 mov x14, #0x3420 // #13344 movk x14, #0x65c0, lsl #16 movk x14, #0xef6a, lsl #32 ldr x15, [x29, #72] bl fffffffffe054774 ldr x4, [x29, #72] mov x1, x4 ldr x1, [x29, #104] ↑ b fc0 2514: mov x1, x5 mov x11, #0x2860 // #10336 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b ff8 2534: mov x7, x1 ↑ b 10e4 253c: ldr x0, [x29, #64] mov x1, #0xc720 // #50976 movk x1, #0x1947, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b ff4 2558: ldr x5, [x29, #24] ↑ b 1154 2560: ldr x7, [x29, #104] ↓ b 2618 2568: ldr x7, [x29, #104] mov x0, x6 mov x1, x7 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w8, w0, #0 ldr x7, [x29, #104] ↑ b 10a4 2590: ldr x5, [x29, #24] ↑ b 1154 2598: ldr x7, [x29, #104] ↓ b 2618 25a0: ldr x4, [x29, #32] ldr x7, [x29, #104] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2868 // #10344 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #32] ldr x7, [x29, #104] ↑ b 11cc 25d8: ldr x5, [x29, #24] ldr x7, [x29, #104] ↑ b 1168 25e4: ldr x7, [x29, #104] mov x0, x6 mov x1, x7 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w8, w0, #0 ldr x4, [x29, #32] ldr x7, [x29, #104] ↑ b 11cc 2610: ldr x5, [x29, #24] ↑ b 1168 2618: str xzr, [x29, #216] mov x1, x7 ldr x2, [x29, #88] ldr x4, [x29, #56] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #228] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0xd8 ldr x1, [x29, #40] ldr x2, [x29, #104] ldr x0, [x29, #48] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce88 // #52872 movk x8, #0x1973, lsl #16 movk x8, #0xef7a, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #104] ↑ b 10b4 2678: ldr x0, [x29, #88] mov x1, x7 mov x3, #0xe3d0 // #58320 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 mov x2, x0 ldr x7, [x29, #104] ↑ b 10d0 26a0: str x2, [x29, #96] mov x0, x2 mov x1, #0xf408 // #62472 movk x1, #0x19e2, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ldp x2, x7, [x29, #96] ↑ b 10e4 26c4: ldr x1, [x26, #32] mov x0, x7 mov x2, #0xde18 // #56856 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 26e4: mov x0, x26 mov x1, #0x45e8 // #17896 movk x1, #0x19e7, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054774 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 1108 2718: mov x26, x0 ↑ b 1110 2720: mov x26, xzr mov w0, wzr ↑ b 1114 272c: ldr x0, [x26, #56] mov w1, #0x1 // #1 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 str x0, [x29, #264] ldr w0, [x26, #140] cmp w0, #0x2 ↑ b.ne 4e0 ldr x26, [x29, #112] ↑ cbz x26, 4e0 ldr x0, [x28, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 4e0 ldr x0, [x29, #264] mov x1, x26 ldr x2, [x29, #264] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 4e0 2794: 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 578 27b4: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 5d8 ↑ b c20 27c8: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 144c 27e4: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x26, x0 mov w27, w1 ↑ b 12b0 2800: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 1504 281c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 ↑ b c8c 2834: mov x1, #0x6d00 // #27904 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 284c: mov w0, w1 mov x1, #0xcd80 // #52608 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2868: mov x0, #0xcbe0 // #52192 movk x0, #0x64e1, lsl #16 movk x0, #0xef7a, lsl #32 mov x1, #0x76d8 // #30424 movk x1, #0x19a6, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 288c: mov w0, w3 mov x1, #0xce40 // #52800 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28a8: mov x1, #0x6d00 // #27904 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28c0: mov w0, w1 mov x1, #0xcd80 // #52608 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28dc: mov x0, #0x6c58 // #27736 movk x0, #0x19d8, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 28f4: mov x1, #0xf3d8 // #62424 movk x1, #0x19e2, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 290c: mov x1, #0xf3d8 // #62424 movk x1, #0x19e2, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2924: mov x0, #0xdb30 // #56112 movk x0, #0x1947, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 293c: mov x0, #0xec70 // #60528 movk x0, #0x1947, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2954: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 163c 296c: mov x0, #0x1690 // #5776 movk x0, #0x192c, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2e64b0 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0x64e1, lsl #16 movk x1, #0xef7a, lsl #32 mov x2, #0xf7e0 // #63456 movk x2, #0x195f, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e64d0 brk #0xf000 29ac: bl ffffffffff295ec8 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5016016011, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-40740-32778.so Percent sub sp, sp, #0x1b0 stp x19, x20, [sp, #336] stp x21, x22, [sp, #352] stp x23, x24, [sp, #368] stp x25, x26, [sp, #384] stp x27, x28, [sp, #400] stp x29, x30, [sp, #416] add x29, sp, #0x1a0 movi v16.16b, #0x0 sub x9, x29, #0x148 sub x10, x29, #0xa8 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 38: dc zva, x9 0.11 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 0.11 stp q16, q16, [x10] stp q16, q16, [x10, #32] 0.11 mov x4, #0x9e6a // #40554 movk x4, #0xc9d1, lsl #16 movk x4, #0x312f, lsl #32 movk x4, #0x6bfd, lsl #48 stur x4, [x29, #-88] 0.11 stur x1, [x29, #-104] stur x2, [x29, #-96] 0.21 mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 cmp w2, w0 ↓ b.gt 1fec 0.11 mov x17, #0xfffffffffffffe68 // #-408 str xzr, [x29, x17] cmp w2, #0x55 0.11 ↓ b.le 2008 0.11 mov w0, #0x5555 // #21845 0.11 movk w0, #0x1555, lsl #16 cmp w2, w0 ↓ b.gt 1fb4 0.11 mov x0, #0x3330 // #13104 movk x0, #0x65c0, lsl #16 0.11 movk x0, #0xef6a, lsl #32 ldr x21, [x0] 0.21 mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdc0 // #3520 movk x0, #0x65c0, lsl #16 movk x0, #0xef6a, lsl #32 0.11 ldr x24, [x0] 0.32 sub w0, w23, #0x1 0.11 orr w0, w0, #0xf clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x6408 // #25608 0.11 movk x0, #0x19dc, lsl #16 movk x0, #0xef7a, lsl #32 mov x1, #0x6850 // #26704 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 0.53 ↓ cbz x0, 207c 0.11 ldr w1, [x0, #8] 0.42 cmp w1, w25 ↓ b.ls 207c 0.11 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] ↓ cbz x26, 207c 0.11 str xzr, [x0, x1] ldrb w0, [x24, #157] ↓ cbnz w0, 2018 134: mov x17, #0xfffffffffffffe68 // #-408 str x26, [x29, x17] 13c: ↓ cbz x26, 23f0 add x21, x26, #0x10 ldr w22, [x26, #8] 0.11 148: mov x17, #0xfffffffffffffe60 // #-416 str x21, [x29, x17] mov x17, #0xfffffffffffffe74 // #-396 str w22, [x29, x17] 0.11 ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, x21 mov w3, w22 mov x4, #0x7fa8 // #32680 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 0.32 cmp w0, w22 ↓ b.hi 1ef0 mov x17, #0xfffffffffffffe60 // #-416 str x21, [x29, x17] mov x17, #0xfffffffffffffe74 // #-396 str w0, [x29, x17] stur x21, [x29, #-120] 0.11 stur w0, [x29, #-112] ldur w21, [x29, #-112] ↓ cbz w21, cf8 tst w20, #0xff ↓ b.ne d30 ldur x1, [x29, #-120] ldur w2, [x29, #-112] 0.11 mov x17, #0xfffffffffffffe90 // #-368 str xzr, [x29, x17] mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] mov x17, #0xfffffffffffffea0 // #-352 0.11 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea1 // #-351 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea2 // #-350 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea3 // #-349 strb wzr, [x29, x17] 0.11 mov x17, #0xfffffffffffffea4 // #-348 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea5 // #-347 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea8 // #-344 str xzr, [x29, x17] sub x0, x29, #0x150 stp xzr, xzr, [x0] 0.11 str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x170 mov w3, #0x1 // #1 mov x5, #0xc3d8 // #50136 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 ↓ b 258 1.05 22c: sub x0, x29, #0x138 0.21 mov w1, w2 0.21 mov x2, #0xc5b8 // #50616 0.21 movk x2, #0x19d8, lsl #16 0.11 movk x2, #0xef7a, lsl #32 0.21 ldr x2, [x2] 0.53 → blr x2 0.42 asr w20, w0, #0 0.53 24c: ↓ cbz w20, c2c 1.05 250: tst w20, #0xff 0.11 ↓ b.eq c48 0.32 258: mov x17, #0xfffffffffffffef3 // #-269 1.16 ldrb w0, [x29, x17] 1.58 ↓ cbnz w0, 1a7c 0.84 mov w20, wzr 0.42 stp xzr, xzr, [x29, #-160] 0.95 mov x17, #0xfffffffffffffef6 // #-266 1.16 strb wzr, [x29, x17] 0.95 mov x17, #0xfffffffffffffee8 // #-280 1.16 ldr w0, [x29, x17] 0.32 sxtw x1, w0 1.37 ldur w2, [x29, #-256] 0.21 cmp x1, w2, uxtw 0.53 ↓ b.ge bd0 9.80 cmp w0, w2 ↓ b.cs 1f08 0.95 mov x17, #0xfffffffffffffef8 // #-264 0.95 ldr x1, [x29, x17] 1.05 ldrb w2, [x1, w0, uxtw #0] 1.79 cmp w2, #0x20 ↓ b.le d4c 2.32 2a8: mov x17, #0xfffffffffffffee8 // #-280 0.63 ldrsw x0, [x29, x17] 0.32 mov x17, #0xfffffffffffffee0 // #-288 0.84 str x0, [x29, x17] 0.95 mov x17, #0xfffffffffffffef0 // #-272 0.63 ldrb w0, [x29, x17] 0.84 ↓ cbz w0, bac 0.21 cmp w2, #0x2f 0.11 ↑ b.eq 22c 0.74 cmp w0, #0x1 ↓ b.eq 9ac 0.74 cmp w0, #0x3 ↓ b.eq 6b0 0.63 cmp w0, #0x5 0.21 ↑ b.ne 22c 0.63 mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] 0.32 cmp w2, #0x22 ↓ b.eq 564 0.32 2f4: cmp w2, #0x7b ↓ b.eq 4b0 0.84 cmp w2, #0x5b ↓ b.eq 404 0.63 sub w0, w2, #0x30 mov w1, #0x2d // #45 cmp w0, #0x9 0.11 ccmp w2, w1, #0x4, hi // hi = pmore 0.11 ↓ b.eq 1458 3.16 cmp w2, #0x66 ↓ b.ne 3c8 0.11 mov x17, #0xfffffffffffffee8 // #-280 0.11 ldr w0, [x29, x17] 0.11 ldur w20, [x29, #-256] 0.11 cmp w0, w20 0.11 ↓ b.hi 1ef0 0.11 mov x17, #0xfffffffffffffef8 // #-264 0.21 ldr x1, [x29, x17] 0.21 mov w2, w0 0.32 add x22, x1, x2 sub w20, w20, w0 0.11 mov x0, x22 0.21 mov w1, w20 0.11 mov x2, #0xa646 // #42566 0.32 movk x2, #0x4010, lsl #16 movk x2, #0xef6a, lsl #32 0.21 mov w3, #0x5 // #5 0.11 mov x4, #0xcc90 // #52368 movk x4, #0x19d8, lsl #16 0.21 movk x4, #0xef7a, lsl #32 ldr x4, [x4] 0.11 → blr x4 0.42 ↓ cbz w0, 1994 cmp w20, #0x5 0.11 ↓ b.cc 1ef0 0.11 stur x22, [x29, #-160] 0.11 mov w1, #0x5 // #5 stur w1, [x29, #-152] 0.11 mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.11 ldr w1, [x29, x17] add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] 0.42 mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] 0.32 add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 0.11 str x1, [x29, x17] 0.11 mov w20, #0x1 // #1 0.11 3c4: ↓ b 654 0.11 3c8: cmp w2, #0x74 ↓ b.ne 12d8 0.11 mov x1, #0xa6aa // #42666 movk x1, #0x4010, lsl #16 movk x1, #0xef6a, lsl #32 mov w2, #0x4 // #4 0.11 sub x0, x29, #0x138 mov w3, #0x9 // #9 0.21 mov x4, #0xca98 // #51864 movk x4, #0x19d8, lsl #16 0.11 movk x4, #0xef7a, lsl #32 ldr x4, [x4] 0.32 → blr x4 asr w20, w0, #0 0.11 ↓ b 654 404: ldur w0, [x29, #-224] 0.11 ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c58 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1438 ldur x0, [x29, #-232] 0.11 lsl x0, x0, #1 stur x0, [x29, #-232] 42c: ldur w0, [x29, #-224] add w0, w0, #0x1 stur w0, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] 0.11 mov w1, w0 add x1, x1, #0x1 ldur w2, [x29, #-256] cmp x1, x2 ↓ b.hi 1ef0 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] 0.11 add w0, w0, #0x1 0.11 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] 0.11 mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x3 // #3 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb wzr, [x29, x17] ↓ b 55c 4b0: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c2c ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1418 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 1ef0 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 654 0.32 564: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 0.11 ldur w1, [x29, #-256] 0.32 cmp w0, w1 ↓ b.hi 1ef0 mov x17, #0xfffffffffffffef8 // #-264 0.21 ldr x2, [x29, x17] 0.11 mov w3, w0 add x20, x2, x3 0.11 sub w22, w1, w0 0.21 cmp w22, #0x10 ↓ b.lt 68c ldr q16, [x20] 0.32 movi v17.16b, #0x20 cmhi v17.16b, v17.16b, v16.16b movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b 0.11 orr v17.16b, v17.16b, v18.16b movi v18.16b, #0x5c cmeq v16.16b, v16.16b, v18.16b 0.21 orr v16.16b, v17.16b, v16.16b mvni v17.4s, #0x0 0.11 cmeq v16.16b, v16.16b, v17.16b shrn v16.8b, v16.8h, #4 0.21 fmov x0, d16 rbit x0, x0 0.11 clz x0, x0 lsr w3, w0, #2 0.11 cmp w3, #0x10 ↓ b.eq 658 15.49 5e0: ↓ tbnz w3, #31, 660 0.21 5e4: ↓ tbnz w3, #31, 13f4 0.84 cmp w3, w22 ↓ b.cs 1f08 0.11 ldrb w1, [x20, w3, uxtw #0] 1.90 cmp w1, #0x22 ↓ b.ne 13cc 1.26 mov x17, #0xfffffffffffffed0 // #-304 0.11 ldr x1, [x29, x17] 0.11 add w2, w3, #0x2 0.11 add x1, x1, w2, sxtw mov x17, #0xfffffffffffffed0 // #-304 0.21 str x1, [x29, x17] 0.21 cmp w3, w22 ↓ b.hi 1ef0 stur x20, [x29, #-160] 0.42 stur w3, [x29, #-152] 0.21 mov x17, #0xfffffffffffffef6 // #-266 0.21 strb wzr, [x29, x17] mov w1, #0x7 // #7 0.11 mov x17, #0xfffffffffffffef0 // #-272 0.11 strb w1, [x29, x17] 0.11 mov x17, #0xfffffffffffffee8 // #-280 0.21 ldr w1, [x29, x17] 0.21 add w1, w1, w3 add w1, w1, #0x2 0.11 mov x17, #0xfffffffffffffee8 // #-280 0.11 str w1, [x29, x17] 0.32 mov w20, #0x1 // #1 0.32 654: ↑ b 24c 658: mov w3, #0xffffffff // #-1 ↑ b 5e0 660: add x0, x20, #0x10 sub w1, w22, #0x10 mov x2, #0xc7c8 // #51144 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, 13c8 add w3, w3, #0x10 ↑ b 5e4 68c: mov x0, x20 mov w1, w22 mov x2, #0xc7c8 // #51144 movk x2, #0x19d8, lsl #16 0.11 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 0.11 asr w3, w0, #0 ↑ b 5e4 6b0: cmp w2, #0x5d ↓ b.eq fd4 0.11 6b8: mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] 0.11 cmp w2, #0x22 ↓ b.eq 880 cmp w2, #0x7b ↓ b.eq 860 cmp w2, #0x5b ↓ b.eq 844 sub w0, w2, #0x30 mov w1, #0x2d // #45 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore ↓ b.eq 11a4 cmp w2, #0x66 ↓ b.ne 7a0 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1ef0 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 11c4 mov x1, x2 mov x4, #0xa646 // #42566 movk x4, #0x4010, lsl #16 movk x4, #0xef6a, 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, 11c4 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 79c: ↓ b 974 7a0: cmp w2, #0x74 ↓ b.ne ff0 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1ef0 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 11fc mov x1, #0xa6aa // #42666 movk x1, #0x4010, lsl #16 movk x1, #0xef6a, lsl #32 ldr w4, [x2] ldr w1, [x1] cmp w4, w1 cset x1, eq // eq = none ↓ cbz w1, 11fc 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 840: ↓ b 974 844: sub x0, x29, #0x138 mov x1, #0xca50 // #51792 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ b 878 860: sub x0, x29, #0x138 mov x1, #0xca38 // #51768 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] 0.11 → blr x1 878: mov w20, #0x1 // #1 ↓ b 974 880: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1ef0 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 1130 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 mvni v17.4s, #0x0 cmeq v16.16b, v16.16b, v17.16b shrn v16.8b, v16.8h, #4 fmov x0, d16 rbit x0, x0 clz x0, x0 lsr w3, w0, #2 cmp w3, #0x10 ↓ b.eq 978 900: ↓ tbnz w3, #31, 980 904: ↓ tbnz w3, #31, 1180 cmp w3, w23 ↓ b.cs 1f08 ldrb w1, [x20, w3, uxtw #0] cmp w1, #0x22 ↓ b.ne 1158 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 1ef0 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 974: ↑ b 24c 978: mov w3, #0xffffffff // #-1 ↑ b 900 980: add x0, x20, #0x10 sub w1, w23, #0x10 mov x2, #0xc7c8 // #51144 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, 1154 add w3, w3, #0x10 ↑ b 904 9ac: cmp w2, #0x7d 0.21 ↓ b.eq e04 cmp w2, #0x22 ↓ b.ne 1b00 mov x17, #0xfffffffffffffee8 // #-280 0.11 ldr w22, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x23, [x29, x17] mov x17, #0xfffffffffffffec8 // #-312 0.11 ldr x24, [x29, x17] mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1ef0 0.21 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w2, w0 0.32 add x20, x1, x2 ldur w1, [x29, #-256] sub w25, w1, w0 cmp w25, #0x10 ↓ b.lt b88 ldr q16, [x20] 0.74 movi v17.16b, #0x20 cmhi v17.16b, v17.16b, v16.16b movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b 0.11 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 0.11 mvni v17.4s, #0x0 cmeq v16.16b, v16.16b, v17.16b shrn v16.8b, v16.8h, #4 fmov x0, d16 rbit x0, x0 clz x0, x0 lsr w3, w0, #2 cmp w3, #0x10 ↓ b.eq b54 2.85 a5c: ↓ tbnz w3, #31, b5c a60: ↓ tbnz w3, #31, e4c 0.42 cmp w3, w25 ↓ b.cs 1f08 0.11 ldrb w1, [x20, w3, uxtw #0] 0.42 cmp w1, #0x22 ↓ b.ne e24 0.21 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, w25 ↓ b.hi 1ef0 0.11 stur x20, [x29, #-160] stur w3, [x29, #-152] 0.11 mov x17, #0xfffffffffffffef6 // #-266 strb wzr, [x29, x17] mov w1, #0x7 // #7 0.11 mov x17, #0xfffffffffffffef0 // #-272 0.11 strb w1, [x29, x17] 0.11 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, w3 0.11 add w1, w1, #0x2 0.11 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] acc: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] 0.21 ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge eb4 0.21 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] 0.11 cmp w0, w1 0.11 ↓ b.cs 1f08 0.11 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] 0.21 cmp w2, #0x20 ↓ b.le f04 0.21 b08: cmp w2, #0x3a ↓ b.ne 1b28 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 0.11 ldr x0, [x29, x17] 0.11 add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 0.11 str x0, [x29, x17] 0.11 mov w0, #0x5 // #5 0.11 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov w0, #0x1 // #1 b48: asr w20, w0, #0 ↑ cbnz w0, 24c ↓ b fac b54: mov w3, #0xffffffff // #-1 ↑ b a5c b5c: add x0, x20, #0x10 sub w1, w25, #0x10 mov x2, #0xc7c8 // #51144 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, e20 add w3, w3, #0x10 ↑ b a60 b88: mov x0, x20 mov w1, w25 mov x2, #0xc7c8 // #51144 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b a60 bac: sub x0, x29, #0x138 mov w1, w2 mov x2, #0xc630 // #50736 0.11 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 24c 0.21 bd0: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbnz w0, d3c bf4: ldur w0, [x29, #-224] ↓ cbnz w0, 1aa8 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 0.11 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 24c ↓ b 1e54 c2c: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↑ cbz w0, 250 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] 0.21 ↑ cbnz w0, 250 ↓ b 1a9c 0.11 c48: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] strb w0, [x19, #58] c54: add w1, w21, #0x1 ldr w0, [x19, #76] ldr w2, [x19, #52] sub w0, w0, w2 0.21 cmp w0, w1 ↓ b.lt 1ed4 0.11 c6c: add x0, x19, #0x40 0.11 mov x1, #0x6b80 // #27520 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] 0.42 → blr x1 ldr w2, [x19, #40] ↓ tbz w2, #31, ca8 ldr w2, [x19, #52] add w3, w2, #0x1 str w3, [x19, #52] cmp w2, w1 0.11 ↓ b.cs 1f08 mov w3, #0x2c // #44 strb w3, [x0, w2, uxtw #0] 0.21 ca8: ldr w2, [x19, #52] 0.32 cmp w2, w1 ↓ b.hi 1ef0 mov w3, w2 0.21 add x0, x0, x3 sub w2, w1, w2 mov x1, x0 0.11 sub x0, x29, #0x78 mov x3, #0xc390 // #50064 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 ldr w1, [x19, #52] 0.21 add w1, w1, w21 str w1, [x19, #52] ldr w1, [x19, #40] orr w1, w1, #0x80000000 str w1, [x19, #40] ↓ b 1f10 cf8: mov x0, #0x640 // #1600 movk x0, #0x64e2, lsl #16 movk x0, #0xef7a, lsl #32 mov x1, #0xc5d0 // #50640 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x1, #0xc330 // #49968 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 d30: mov w0, #0x7 // #7 strb w0, [x19, #58] ↑ b c54 d3c: mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↑ cbz w0, 24c ↑ b bf4 d4c: sub x0, x29, #0x138 mov x1, #0xc5a0 // #50592 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt de0 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, da8 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↑ cbz w0, 24c da8: ldur w0, [x29, #-224] ↓ cbnz w0, 1ad4 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 1e54 de0: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] ↑ b 2a8 e04: sub x0, x29, #0x138 mov x1, #0xc5d0 // #50640 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ b 1a74 e20: ↑ b a60 e24: mov x1, x20 mov w2, w25 sub x0, x29, #0x138 mov x4, #0xc750 // #51024 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, acc ↓ b f80 e4c: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f80 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, e70 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f80 e70: 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 eb4: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f80 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, ed8 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f80 ed8: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 f04: sub x0, x29, #0x138 mov x1, #0xc5a0 // #50592 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt f88 mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f80 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, f54 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f80 f54: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 f80: mov w0, wzr ↑ b b48 f88: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] ↑ b b08 fac: 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 fd4: sub x0, x29, #0x138 mov x1, #0xc600 // #50688 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ b 1a74 ff0: cmp w2, #0x6e ↓ b.eq 1234 ldurb w0, [x29, #-244] ↓ cbz w0, 1bc0 cmp w0, #0x2 ↓ b.eq 1268 cmp w2, #0x2f ↓ b.ne 1bc0 sub x0, x29, #0x138 mov x1, #0xcaf8 // #51960 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 10dc mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge 1290 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] cmp w2, #0x20 ↓ b.gt 111c sub x0, x29, #0x138 mov x1, #0xc5a0 // #50592 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x1, [x29, x17] ldur w2, [x29, #-256] cmp x1, x2 ↓ b.lt 10fc mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbz w0, 10dc sub x0, x29, #0x138 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 10dc ldur w0, [x29, #-224] ↓ cbnz w0, 1b94 ldurb w0, [x29, #-244] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x2 ccmp w1, #0x6, #0x0, eq // eq = none ↓ b.ne 10e4 10dc: mov w20, wzr ↑ b 974 10e4: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] cmp w0, #0x4 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 10dc ↓ b 1e54 10fc: mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.cs 1f08 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] ldrb w2, [x2, w1, uxtw #0] 111c: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x1, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 str x1, [x29, x17] ↑ b 6b8 1130: mov x0, x20 mov w1, w23 mov x2, #0xc7c8 // #51144 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 904 1154: ↑ b 904 1158: mov x1, x20 mov w2, w23 sub x0, x29, #0x138 mov x4, #0xc750 // #51024 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 974 1180: sub x0, x29, #0x138 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1b50 mov w20, wzr ↑ b 974 11a4: sub x0, x29, #0x138 mov x1, #0xca68 // #51816 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 974 11c4: mov x1, x2 mov w2, w3 mov x3, #0xa646 // #42566 movk x3, #0x4010, lsl #16 movk x3, #0xef6a, lsl #32 mov w4, #0x5 // #5 sub x0, x29, #0x138 mov x5, #0xcca8 // #52392 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 79c 11fc: mov x1, x2 mov w2, w3 mov x3, #0xa6aa // #42666 movk x3, #0x4010, lsl #16 movk x3, #0xef6a, lsl #32 mov w4, #0x4 // #4 sub x0, x29, #0x138 mov x5, #0xcca8 // #52392 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 840 1234: mov x1, #0xa641 // #42561 movk x1, #0x4010, lsl #16 movk x1, #0xef6a, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 mov w3, #0xb // #11 mov x4, #0xca98 // #51864 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 974 1268: cmp w2, #0x2f ↓ b.ne 1bc0 sub x0, x29, #0x138 mov x1, #0xcae0 // #51936 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 974 1290: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 10dc sub x0, x29, #0x138 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ cbz w0, 10dc 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 10dc ↓ b 1e54 12d8: cmp w2, #0x6e ↓ b.eq 19cc ldurb w0, [x29, #-244] ↓ cbz w0, 1e80 cmp w0, #0x2 ↓ b.eq 1a00 cmp w2, #0x2f ↓ b.ne 1e80 sub x0, x29, #0x138 mov x1, #0xcaf8 // #51960 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a6c mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge 1a28 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] cmp w2, #0x20 ↓ b.gt 13a4 sub x0, x29, #0x138 mov x1, #0xc5a0 // #50592 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 sub x0, x29, #0x138 mov x1, #0xc588 // #50568 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a6c mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] 13a4: 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 13c8: ↑ b 5e4 13cc: mov x1, x20 mov w2, w22 sub x0, x29, #0x138 mov x4, #0xc750 // #51024 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 654 13f4: sub x0, x29, #0x138 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1be8 mov w20, wzr ↑ b 654 1418: sub x0, x29, #0xf0 mov w1, #0x1 // #1 mov x2, #0xcd08 // #52488 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b 4dc 1438: sub x0, x29, #0xf0 mov w1, wzr mov x2, #0xcd08 // #52488 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b 42c 0.11 1458: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w20, [x29, #-256] cmp w0, w20 ↓ b.hi 1ef0 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w2, w0 add x1, x1, x2 sub w0, w20, w0 mov x17, #0xfffffffffffffe78 // #-392 0.11 str x1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 str w0, [x29, x17] 0.21 mov x17, #0xfffffffffffffe88 // #-376 str wzr, [x29, x17] 0.21 mov x17, #0xfffffffffffffe88 // #-376 0.11 ldr w0, [x29, x17] 0.11 mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] ldrb w0, [x1, w0, uxtw #0] 0.11 cmp w0, #0x2d ↓ b.ne 1544 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 1514 sub x0, x29, #0x138 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1c84 150c: mov w20, wzr ↓ b 1990 1514: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] sub w0, w2, #0x30 cmp w0, #0x9 ↓ b.hi 1ccc 0.42 1544: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] 0.11 mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] 0.11 ldrb w0, [x0, w1, uxtw #0] cmp w0, #0x30 ↓ b.ne 15d4 sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xcb88 // #52104 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 150c ↓ cbz w0, 1908 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f08 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w2, [x0, w1, uxtw #0] ↓ b 1808 0.21 15d4: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] 0.32 mov w0, wzr mov x17, #0xfffffffffffffe88 // #-376 0.11 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 0.11 ldr w2, [x29, x17] 0.11 cmp w1, w2 ↓ b.ge 1660 0.21 1604: mov x17, #0xfffffffffffffe88 // #-376 0.11 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 0.11 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f08 0.11 mov x17, #0xfffffffffffffe78 // #-392 0.32 ldr x1, [x29, x17] 0.21 ldrb w0, [x1, w0, uxtw #0] sub w1, w0, #0x30 0.32 cmp w1, #0x9 ↓ b.hi 1660 mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] add w1, w1, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w1, [x29, x17] 0.21 mov x17, #0xfffffffffffffe88 // #-376 0.21 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 0.11 ldr w2, [x29, x17] cmp w1, w2 ↑ b.lt 1604 0.11 1660: mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 0.11 ldr w2, [x29, x17] cmp w1, w2 ↓ b.lt 169c sub x0, x29, #0x138 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 17b4 mov w20, #0x2 // #2 ↓ b 17b8 169c: mov x1, #0xa5f9 // #42489 movk x1, #0x4010, lsl #16 movk x1, #0xef6a, lsl #32 mov w2, #0x8 // #8 mov x3, xzr 16b0: sub w2, w2, #0x8 ldrb w4, [x1, x3, lsl #0] 0.11 cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x1 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x2 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x3 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x4 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x5 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x6 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x7 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x3, x3, #0x8 cmp w2, #0x8 ↑ b.ge 16b0 cmp w2, #0x4 ↓ b.lt 17a4 sub w2, w2, #0x4 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x1 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x2 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x4, x3, #0x3 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x3, x3, #0x4 cmp w2, #0x0 ↓ b.le 17ac 1790: sub w2, w2, #0x1 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17b4 add x3, x3, #0x1 17a4: cmp w2, #0x0 ↑ b.gt 1790 17ac: mov w20, #0x1 // #1 ↓ b 17b8 17b4: mov w20, wzr 0.11 17b8: cmp w20, #0x2 ↑ b.eq 150c ↓ cbz w20, 1908 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f08 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 1d10 1808: cmp w2, #0x2e ↓ b.ne 188c 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, #0xcbb8 // #52152 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 150c ↓ cbz w0, 1908 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1f08 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 1d54 188c: 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, #0xcbd0 // #52176 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 150c 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, #0xcba0 // #52128 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 150c ↓ cbnz w0, 1d98 1908: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.hi 1ef0 mov x17, #0xfffffffffffffe78 // #-392 0.11 ldr x1, [x29, x17] stur x1, [x29, #-160] stur w0, [x29, #-152] mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] 0.21 mov w1, #0x8 // #8 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.11 ldr w1, [x29, x17] add w1, w1, w0 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] 0.32 add x0, x1, w0, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.11 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] 0.11 cmp x0, x1 ↓ b.lt 198c mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbnz w0, 1e08 198c: mov w20, #0x1 // #1 1990: ↑ b 654 1994: mov x1, x22 mov w2, w20 mov x3, #0xa646 // #42566 movk x3, #0x4010, lsl #16 movk x3, #0xef6a, lsl #32 mov w4, #0x5 // #5 sub x0, x29, #0x138 mov x5, #0xcca8 // #52392 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 3c4 19cc: mov x1, #0xa641 // #42561 movk x1, #0x4010, lsl #16 movk x1, #0xef6a, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 mov w3, #0xb // #11 mov x4, #0xca98 // #51864 movk x4, #0x19d8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 654 1a00: cmp w2, #0x2f ↓ b.ne 1e80 sub x0, x29, #0x138 mov x1, #0xcae0 // #51936 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 654 1a28: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbz w0, 1a6c sub x0, x29, #0x138 mov x1, #0xc648 // #50760 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a6c 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 1e54 1a6c: mov w20, wzr ↑ b 654 1a74: mov w20, #0x1 // #1 ↑ b 24c 1a7c: sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 24c 1a9c: ldurb w0, [x29, #-242] ↑ cbnz w0, 250 ↓ b 1ea8 1aa8: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ad4: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b00: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xc // #12 mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b28: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xb // #11 mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b50: 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b94: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1bc0: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xf // #15 mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1be8: 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c2c: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x18 // #24 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c58: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, wzr mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c84: 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ccc: 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d10: 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d54: 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d98: 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 1f08 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e08: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] sub w0, w0, #0x1 ldur w3, [x29, #-256] cmp w0, w3 ↓ b.cs 1f08 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, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e54: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x16 // #22 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e80: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xf // #15 mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ea8: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x20 // #32 mov w2, wzr mov x5, #0xc570 // #50544 movk x5, #0x19d8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ed4: mov x0, x19 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b c6c 1ef0: mov x0, #0xdb30 // #56112 movk x0, #0x1947, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1f08: bl ffffffffff29c8e8 ,bool)[OptimizedTier1]+0xffffffffff29c868> brk #0xf000 1f10: mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] ↓ cbz x1, 1f70 0.11 mov x17, #0xfffffffffffffe74 // #-396 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe60 // #-416 ldr x0, [x29, x17] 0.11 mov x2, #0x5818 // #22552 movk x2, #0x1928, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3330 // #13104 movk x0, #0x65c0, lsl #16 movk x0, #0xef6a, lsl #32 ldr x0, [x0] 0.11 mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x63d8 // #25560 movk x3, #0x19dc, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] 0.11 → blr x3 1f70: mov x16, #0x9e6a // #40554 movk x16, #0xc9d1, lsl #16 movk x16, #0x312f, lsl #32 movk x16, #0x6bfd, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 ↓ b.eq 1f90 bl ffffffffff2ecf10 ,bool)[OptimizedTier1]+0xffffffffff2ece90> 1f90: sub sp, x29, #0x1a0 0.11 ldp x29, x30, [sp, #416] 0.11 ldp x27, x28, [sp, #400] ldp x25, x26, [sp, #384] 0.11 ldp x23, x24, [sp, #368] ldp x21, x22, [sp, #352] ldp x19, x20, [sp, #336] 0.21 add sp, sp, #0x1b0 ← ret 1fb4: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7f48 // #32584 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb9e8 // #47592 movk x0, #0x1938, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2ecf90 ,bool)[OptimizedTier1]+0xffffffffff2ecf10> mov x26, x0 ↑ b 13c 1fec: mov w0, w2 mov x1, #0x7f30 // #32560 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2008: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 2018: mov x0, x26 mov x1, #0xe178 // #57720 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xe178 // #57720 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, 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, #0x7eb8 // #32440 movk x5, #0x19f8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 207c: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 22c0 add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 22b4 ldr x26, [x0, #8] mov x0, #0x1038 // #4152 movk x0, #0x1a07, lsl #16 movk x0, #0xef7a, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x1928, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0x1805, lsl #16 movk x0, #0xef7a, lsl #32 ldrb w0, [x0] ↓ cbz w0, 20dc bl fffffffffffa3718 ,bool)[OptimizedTier1]+0xfffffffffffa3698> asr w21, w0, #0 ↓ b 2150 20dc: mov x0, #0x1088 // #4232 movk x0, #0x1a07, lsl #16 movk x0, #0xef7a, lsl #32 mov x1, #0x7ed0 // #32464 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0x1088 // #4232 movk x0, #0x1a07, lsl #16 movk x0, #0xef7a, lsl #32 mov x1, #0x7ed0 // #32464 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 214c mov x0, #0x7ee8 // #32488 movk x0, #0x19f8, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2150 214c: asr w21, w23, #16 2150: mov x0, #0xe90 // #3728 movk x0, #0x1a07, lsl #16 movk x0, #0xef7a, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x1928, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0x1805, lsl #16 movk x0, #0xef7a, lsl #32 ldr w0, [x0] ↓ cbz w0, 23fc udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 2228 2194: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 2404 add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0x7f00 // #32512 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, 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 21f4 add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 21f4: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0x1928, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 2238 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 2224 mov w21, wzr 2224: add w23, w23, #0x1 2228: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 2194 ↓ b 2240 2238: mov x26, x28 ↓ b 2244 2240: mov x26, xzr 2244: ↓ cbz x26, 22b4 ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xe178 // #57720 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xe178 // #57720 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, 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, #0x7eb8 // #32440 movk x5, #0x19f8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 22b4: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 22e4 22c0: mov w0, w23 mov x1, #0x4cb8 // #19640 movk x1, #0x64e0, lsl #16 movk x1, #0xef7a, lsl #32 mov x2, #0x5ec0 // #24256 movk x2, #0x198d, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 22e4: cmp w23, #0x800 ↓ b.ge 2308 sxtw x1, w23 mov x0, #0xb9e8 // #47592 movk x0, #0x1938, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2ecf90 ,bool)[OptimizedTier1]+0xffffffffff2ecf10> mov x26, x0 ↓ b 2328 2308: mov w0, w23 mov w1, wzr mov x2, #0x7db0 // #32176 movk x2, #0x19cb, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 2328: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xe178 // #57720 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xe178 // #57720 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, 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, #0x7eb8 // #32440 movk x5, #0x19f8, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xe178 // #57720 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, 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, #0x7f18 // #32536 movk x6, #0x19f8, lsl #16 movk x6, #0xef7a, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 23f0: mov x21, xzr mov w22, wzr ↑ b 148 23fc: bl ffffffffff29c900 ,bool)[OptimizedTier1]+0xffffffffff29c880> brk #0xf000 2404: bl ffffffffff29c8e8 ,bool)[OptimizedTier1]+0xffffffffff29c868> brk #0xf000 sub sp, sp, #0x60 stp x19, x20, [sp] stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] stp x29, x30, [sp, #80] mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] ↓ cbz x1, 2488 mov x17, #0xfffffffffffffe74 // #-396 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe60 // #-416 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0x1928, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3330 // #13104 movk x0, #0x65c0, lsl #16 movk x0, #0xef6a, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x63d8 // #25560 movk x3, #0x19dc, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 2488: 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.): 5016016011, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-40740-32648.so 1.44 stp x29, x30, [sp, #-64]! 1.44 stp x19, x20, [sp, #16] 0.48 stp x21, x22, [sp, #32] stp x23, x24, [sp, #48] mov x29, sp mov x19, x0 ldr x20, [x19, #16] 0.96 ↓ cbz x20, 1a4 0.96 20: stp xzr, xzr, [x19, #64] ↓ cbz x20, 39c ldr w1, [x19, #52] 0.48 ↓ cbz w1, 174 0.48 ldr x0, [x19, #24] 0.48 mov x2, x0 ldrsb wzr, [x2] 7.18 ↓ tbnz w1, #31, 1c4 ldr w3, [x2, #16] 1.44 ldr x4, [x2, #8] 0.48 ldr w4, [x4, #8] 7.18 sub w4, w4, w1 4.31 cmp w3, w4 ↓ b.gt 208 6.70 add w21, w3, w1 0.96 str w21, [x2, #16] str wzr, [x19, #52] 0.96 ldr x0, [x0, #8] 0.48 ↓ cbz x0, 228 0.48 ldr w1, [x0, #8] cmp w1, w21 ↓ b.cc 364 add x22, x0, #0x10 7c: ldr x0, [x20] 0.48 mov x1, #0x38 // #56 0.96 movk x1, #0x19a4, lsl #16 movk x1, #0xef7a, lsl #32 0.96 cmp x0, x1 ↓ b.ne 334 0.48 ldrb w0, [x20, #43] ↓ cbz w0, 238 ldrb w0, [x20, #41] 0.48 ↓ cbz w0, 254 ldr w0, [x20, #28] add w23, w0, w21 0.96 ↓ tbnz w23, #31, 26c 0.96 ldr w1, [x20, #32] cmp w23, w1 0.48 ↓ b.le d8 0.48 cmp w0, w1 cset x24, gt ldr w0, [x20, #36] cmp w23, w0 ↓ b.gt 2bc d0: ↓ cbnz w24, 2e0 d4: str w23, [x20, #32] d8: ldr x2, [x20, #16] 0.48 ldr w0, [x20, #28] ↓ cbz x2, 308 mov w1, w0 0.96 add x1, x1, w21, uxtw ldr w3, [x2, #8] cmp x1, x3 ↓ b.hi 364 0.96 add x2, x2, #0x10 mov w0, w0 add x0, x2, x0 0.48 asr w2, w21, #0 108: cmp w21, w2 ↓ b.gt 31c mov w2, w21 0.48 mov x1, x22 0.96 mov x3, #0x5848 // #22600 movk x3, #0x1928, lsl #16 movk x3, #0xef7a, lsl #32 0.96 ldr x3, [x3] 4.31 → blr x3 0.96 str w23, [x20, #28] 0.48 130: ldp x20, x0, [x19, #24] 1.44 ldr w1, [x20, #16] 1.44 add x0, x0, w1, sxtw 1.91 str x0, [x19, #32] 0.48 ldr x0, [x20, #8] 0.48 ↓ cbz x0, 354 2.39 ldr w2, [x0, #8] 10.05 cmp w2, w1 ↓ b.cc 364 4.31 add x0, x0, #0x10 158: mov w1, w1 mov x2, #0x5818 // #22552 movk x2, #0x1928, lsl #16 0.48 movk x2, #0xef7a, lsl #32 0.48 ldr x2, [x2] 0.96 → blr x2 0.96 str wzr, [x20, #16] 174: ldr x0, [x19, #16] 6.70 ldr x1, [x0] 5.26 mov x2, #0x38 // #56 3.83 movk x2, #0x19a4, lsl #16 0.48 movk x2, #0xef7a, lsl #32 0.96 cmp x1, x2 ↓ b.ne 37c 1.91 190: ldp x23, x24, [sp, #48] 0.48 ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] 0.48 ldp x29, x30, [sp], #64 0.48 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x7108 // #28936 movk x0, #0x19e7, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xeab8 // #60088 movk x0, #0x192c, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2fa000 mov x19, x0 mov x1, xzr mov x2, #0x2898 // #10392 movk x2, #0x64e0, lsl #16 movk x2, #0xef7a, lsl #32 mov x3, #0xc480 // #50304 movk x3, #0x195f, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2fa020 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x7120 // #28960 movk x1, #0x19e7, lsl #16 movk x1, #0xef7a, 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, #0x7258 // #29272 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x7270 // #29296 movk x0, #0x19f8, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xd20 // #3360 movk x0, #0x1954, lsl #16 movk x0, #0xef7a, lsl #32 bl ffffffffff2fa000 mov x22, x0 mov x0, #0x7288 // #29320 movk x0, #0x19f8, lsl #16 movk x0, #0xef7a, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc8a0 // #51360 movk x2, #0x19cb, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2fa020 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc540 // #50496 movk x2, #0x19ba, lsl #16 movk x2, #0xef7a, 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, #0xcfa8 // #53160 movk x3, #0x195f, lsl #16 movk x3, #0xef7a, 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, #0x4c90 // #19600 movk x0, #0x197d, lsl #16 movk x0, #0xef7a, 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, #0xdb30 // #56112 movk x0, #0x1947, lsl #16 movk x0, #0xef7a, 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, #0x2778 // #10104 movk x11, #0x1806, lsl #16 movk x11, #0xef7a, 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.): 5016016011, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-40740-32577.so 1.02 stp x29, x30, [sp, #-16]! 1.52 mov x29, sp 0.51 cmp w1, w3 csel w6, w1, w3, le mov w6, w6 mov x7, xzr 0.51 cmp x6, #0x20 ↓ b.cs a0 0.51 20: sub x6, x6, x7 cmp x6, #0x4 ↓ b.cc 60 1.02 add x8, x7, x6 sub x8, x8, #0x4 lsl x9, x7, #1 0.51 ldr x9, [x0, x9] 0.51 tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1dc 0.51 44: mov v16.d[0], x9 0.51 sqxtun v16.8b, v16.8h mov w9, v16.s[0] str w9, [x2, x7] 0.51 add x7, x7, #0x4 1.02 cmp x7, x8 ↓ b.ls 178 1.52 60: ↓ tbnz w6, #1, 18c 64: ↓ tbz w6, #0, 7c ldrh w8, [x0, x7, lsl #1] cmp w8, #0x7f ↓ b.hi 7c 74: strb w8, [x2, x7, lsl #0] add x7, x7, #0x1 0.51 7c: add x0, x0, x7, lsl #1 0.51 add x2, x2, x7 1.02 cmp w7, w1 ↓ b.ne 20c str x0, [x4] str x2, [x5] 0.51 mov w0, wzr 1.02 ldp x29, x30, [sp], #16 0.51 ← ret a0: ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 mov x9, x8 ↓ b.ne 1dc mov x7, x0 ldr q16, [x7] 0.51 umaxp v17.8h, v16.8h, v16.8h 0.51 fmov x8, d17 tst x8, #0xff80ff80ff80ff80 ↓ b.ne 1b4 mov x8, x2 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8] mov x9, #0x8 // #8 ↓ tbnz w2, #3, f8 1.02 ldr q16, [x7, #16] umaxp v17.8h, v16.8h, v16.8h fmov x10, d17 tst x10, #0xff80ff80ff80ff80 ↓ b.ne 170 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, #8] f8: and x9, x2, #0xf neg x9, x9 add x9, x9, #0x10 0.51 sub x10, x6, #0x10 lsl x11, x9, #1 ldr q16, [x7, x11] lsl x11, x9, #1 add x11, x11, #0x10 ldr q17, [x7, x11] 1.02 orr v18.16b, v16.16b, v17.16b 0.51 umaxp v18.8h, v18.8h, v18.8h fmov x11, d18 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1bc 3.55 130: uzp1 v16.16b, v16.16b, v17.16b 3.05 str q16, [x8, x9] 2.54 add x9, x9, #0x10 1.02 cmp x9, x10 1.02 ↓ b.hi 170 2.54 lsl x11, x9, #1 2.54 ldr q16, [x7, x11] 1.02 lsl x11, x9, #1 2.54 add x11, x11, #0x10 1.02 ldr q17, [x7, x11] 3.55 orr v18.16b, v16.16b, v17.16b 1.52 umaxp v18.8h, v18.8h, v18.8h 1.52 fmov x11, d18 5.08 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1bc 45.69 ↑ b 130 0.51 170: mov x7, x9 174: ↑ b 20 178: lsl x9, x7, #1 ldr x9, [x0, x9] tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1dc ↑ b 44 18c: lsl x9, x7, #1 0.51 ldr w8, [x0, x9] 0.51 tst w8, #0xff80ff80 0.51 ↓ b.ne 200 1.02 add x9, x2, x7 0.51 strb w8, [x9] lsr w8, w8, #16 strb w8, [x9, #1] add x7, x7, #0x2 ↑ b 64 1b4: mov x7, xzr ↑ b 174 1bc: umaxp v17.8h, v16.8h, v16.8h fmov x7, d17 tst x7, #0xff80ff80ff80ff80 ↑ b.ne 170 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, x9] add x9, x9, #0x8 ↑ b 170 1dc: asr w8, w9, #0 tst w8, #0xff80ff80 ↓ b.ne 200 add x6, x2, x7 strb w8, [x6] lsr w8, w8, #16 strb w8, [x6, #1] lsr x8, x9, #32 add x7, x7, #0x2 200: tst w8, #0xff80 ↑ b.eq 74 ↑ b 7c 20c: sub w1, w1, w7 sub w3, w3, w7 cmp w1, #0x2 ↓ b.lt 62c ubfiz x6, x1, #1, #32 add x6, x0, x6 sub x6, x6, #0x4 228: ldr w7, [x0] ↓ b 554 230: cmp w3, #0x2 ↓ b.lt 638 orr w7, w7, w7, lsr #8 strh w7, [x2] add x0, x0, #0x4 add x2, x2, #0x2 sub w3, w3, #0x2 sub x7, x6, x0 add x7, x7, x7, lsr #63 asr x7, x7, #1 add w7, w7, #0x2 mov w7, w7 mov w8, w3 cmp x7, x8 ↓ b.le 274 mov x7, x8 ↓ b 274 274: lsr w8, w7, #3 mov w9, wzr ↓ b 2a8 280: ldr q16, [x0] mvni v17.8h, #0x7f cmtst v17.8h, v16.8h, v17.8h sminp v17.8h, v17.8h, v17.8h fmov x10, d17 ↓ cbnz x10, 2c8 sqxtun v16.8b, v16.8h str d16, [x2], #8 add x0, x0, #0x10 add w9, w9, #0x1 2a8: cmp w9, w8 ↑ b.cc 280 sub w3, w3, w9, lsl #3 ↓ tbz w7, #2, 604 ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2f0 ↓ b 57c 2c8: sub w3, w3, w9, lsl #3 fmov x8, d16 tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2f0 sqxtun v17.8b, v16.8h st1 {v17.s}[0], [x2] add x0, x0, #0x8 add x2, x2, #0x4 sub w3, w3, #0x4 mov x8, v16.d[1] 2f0: asr w7, w8, #0 tst w7, #0xff80ff80 ↓ b.ne 314 orr w7, w7, w7, lsr #8 strh w7, [x2] add x0, x0, #0x4 add x2, x2, #0x2 sub w3, w3, #0x2 lsr x7, x8, #32 314: tst w7, #0xff80 ↓ b.ne 324 ↓ cbz w3, 6fc ↓ b 330 324: tst w7, #0xf800 ↓ b.ne 560 ↓ b 3ac 330: strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] ↑ b 324 350: cmp w3, #0x2 ↓ b.lt 6fc ↓ b 3c0 35c: cmp w3, #0x4 ↓ b.lt 638 lsr w8, w7, #6 and w8, w8, #0x1f001f lsl w7, w7, #8 and w7, w7, #0x3f003f00 add w7, w8, w7 mov w8, #0x80c0 // #32960 movk w8, #0x80c0, lsl #16 add w7, w7, w8 str w7, [x2], #4 add x0, x0, #0x4 sub w3, w3, #0x4 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] sub w8, w7, #0x80 uxth w8, w8 cmp w8, #0x780 ↓ b.ge 554 3ac: sub w8, w7, #0x800, lsl #12 mov w9, #0x77fffff // #125829119 cmp w8, w9 ↑ b.ls 35c ↑ b 350 3c0: lsl w8, w7, #2 and w8, w8, #0x1f00 and w9, w7, #0x3f add w8, w8, w9 mov w9, #0xc080 // #49280 add w8, w8, w9 rev16 w8, w8 uxth w8, w8 strh w8, [x2] cmp w7, #0x800, lsl #12 ↓ b.cc 404 add x0, x0, #0x2 add x2, x2, #0x2 sub w3, w3, #0x2 cmp x0, x6 ↓ b.hi 61c ↓ b 410 404: cmp w3, #0x3 ↓ b.lt 610 ↓ b 590 410: ldr w7, [x0] ↓ b 560 418: tst w7, #0xf8000000 ↓ b.ne 43c ↓ b 458 424: mov w8, #0x2800 // #10240 movk w8, #0x23ff, lsl #16 add w8, w7, w8 tst w8, #0xfc00fc00 ↓ b.eq 5b0 ↓ b 5a8 43c: mov w8, #0x28000000 // #671088640 add w8, w7, w8 mov w9, #0x8000000 // #134217728 cmp w8, w9 ↓ b.cc 458 cmp w3, #0x6 ↓ b.ge 464 458: cmp w3, #0x3 ↓ b.lt 6fc ↓ b 4e0 464: lsl w8, w7, #2 and w8, w8, #0x3f00 and w9, w7, #0x3f orr w8, w8, w9, lsl #16 lsr w9, w7, #4 and w9, w9, #0xf000000 lsr w10, w7, #12 and w10, w10, #0xf orr w9, w9, w10 add w8, w8, w9 mov w9, #0x80e0 // #32992 movk w9, #0xe080, lsl #16 add w8, w8, w9 str w8, [x2] lsr w8, w7, #22 and w8, w8, #0x3f lsr w7, w7, #8 and w7, w7, #0x3f00 add w7, w8, w7 mov w8, #0x8080 // #32896 add w7, w7, w8 strh w7, [x2, #4] add x0, x0, #0x4 add x2, x2, #0x6 sub w3, w3, #0x6 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 560 ↓ b 554 4e0: lsl w8, w7, #2 and w8, w8, #0x3f00 uxth w9, w7 add w8, w8, w9, lsr #12 mov w9, #0x80e0 // #32992 add w8, w8, w9 strh w8, [x2] and w8, w7, #0x3f orr w8, w8, #0xffffff80 strb w8, [x2, #2] add x0, x0, #0x2 add x2, x2, #0x3 sub w3, w3, #0x3 cmp w7, #0x800, lsl #12 ↓ b.cc 528 cmp x0, x6 ↓ b.hi 61c ↓ b 574 528: ↓ cbz w3, 6fc lsr w7, w7, #16 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 560 554: tst w7, #0xff80ff80 ↑ b.ne 314 ↑ b 230 560: mov w8, #0xffff2800 // #-55296 add w8, w7, w8 tst w8, #0xf800 ↑ b.eq 424 ↑ b 418 574: ldr w7, [x0] ↑ b 314 57c: mov v16.d[0], x8 sqxtun v16.8b, v16.8h st1 {v16.s}[0], [x2] add x0, x0, #0x8 ↓ b 5fc 590: lsr w7, w7, #16 strb w7, [x2, #2] add x0, x0, #0x4 add x2, x2, #0x3 sub w3, w3, #0x3 ↓ b 604 5a8: mov w1, #0x3 // #3 ↓ b 700 5b0: cmp w3, #0x4 ↓ b.lt 6fc add w7, w7, #0x40 and w8, w7, #0x3 mov w9, #0x80f0 // #33008 movk w9, #0x8080, lsl #16 orr w8, w9, w8, lsl #20 mov w9, #0x700 // #1792 movk w9, #0x3f, lsl #16 and w9, w7, w9 rev w9, w9 orr w8, w8, w9, ror #16 lsr w9, w7, #6 and w9, w9, #0xf0000 orr w8, w8, w9 and w7, w7, #0xfc orr w7, w8, w7, lsl #6 str w7, [x2] add x0, x0, #0x4 5fc: add x2, x2, #0x4 sub w3, w3, #0x4 604: cmp x0, x6 ↑ b.ls 228 ↓ b 61c 610: add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6fc 61c: sub x1, x6, x0 add x7, x1, x1, lsr #63 asr x1, x7, #1 add w1, w1, #0x2 62c: ↓ cbz w1, 6f4 ldrh w7, [x0] ↓ b 63c 638: uxth w7, w7 63c: cmp w7, #0x7f ↓ b.hi 658 ↓ cbz w3, 6fc strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 ↓ b 6ec 658: cmp w7, #0x800 ↓ b.cs 68c cmp w3, #0x2 ↓ b.lt 6fc and w3, w7, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #1] lsr w7, w7, #6 orr w3, w7, #0xffffffc0 strb w3, [x2] add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6ec 68c: mov w6, #0xffff2800 // #-55296 add w6, w7, w6 cmp w6, #0x7ff ↓ b.ls 6d8 cmp w3, #0x3 ↓ b.lt 6fc and w3, w7, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #2] lsr w3, w7, #6 and w3, w3, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #1] lsr w7, w7, #12 orr w3, w7, #0xffffffe0 strb w3, [x2] add x0, x0, #0x2 add x2, x2, #0x3 ↓ b 6ec 6d8: mov w1, #0xdbff // #56319 cmp w7, w1 ↑ b.hi 5a8 mov w1, #0x2 // #2 ↓ b 700 6ec: cmp w1, #0x1 ↓ b.gt 6fc 6f4: mov w1, wzr ↓ b 700 6fc: mov w1, #0x1 // #1 700: str x0, [x4] str x2, [x5] mov w0, w1 ldp x29, x30, [sp], #16 ← ret Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5016016011, [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-40740-32699.so Percent stp x29, x30, [sp, #-128]! 0.81 stp x19, x20, [sp, #64] stp x21, x22, [sp, #80] stp x23, x24, [sp, #96] stp x25, x26, [sp, #112] 0.81 mov x29, sp 0.81 stp xzr, xzr, [x29, #48] str xzr, [x29, #40] 4.84 str x4, [x29, #16] 2.42 mov x20, x0 0.81 mov x19, x1 1.61 mov x21, x2 mov x22, x3 ldr w0, [x19, #40] 2.42 and w23, w0, #0x7fffffff 0.81 ldr w0, [x22, #136] cmp w23, w0 ↓ b.ge 298 3.23 ldrb w0, [x20, #24] ↓ cbnz w0, 58 ldr x0, [x21] ↓ cbz x0, 2b4 0.81 58: ldrb w0, [x20, #16] 1.61 cmp w0, #0x2 ↓ b.ne 48c 1.61 ldr x0, [x29, #16] 4.84 ldrb w1, [x0, #144] 7.26 ↓ cbnz w1, 2d0 3.23 70: ldr x2, [x21] 0.81 ldr x1, [x20] mov x3, #0x7ec0 // #32448 0.81 movk x3, #0x19e3, lsl #16 movk x3, #0xef7a, lsl #32 cmp x1, x3 ↓ b.ne 278 ↓ cbz x2, 318 0.81 add x22, x2, #0xc 0.81 ldr w21, [x2, #8] 0.81 mov w1, #0x21aa // #8618 0.81 movk w1, #0x9ef, lsl #16 0.81 cmp w21, w1 ↓ b.gt 334 add x1, x19, #0x70 ldr x1, [x1] ↓ cbz w21, 350 0.81 str x22, [x29, #56] mov x2, x22 0.81 mov x3, x1 mov x1, #0x2e00 // #11776 movk x1, #0x65c0, lsl #16 movk x1, #0xef6a, lsl #32 0.81 ldr x1, [x1] cmp x3, #0x0 csel x3, x3, x1, ne // ne = any ldr x1, [x3] 1.61 mov x4, #0xb1e0 // #45536 movk x4, #0x19da, lsl #16 movk x4, #0xef7a, lsl #32 cmp x1, x4 ↓ b.ne 358 ldr x3, [x3, #8] 0.81 ldrsb wzr, [x3] mov x1, x2 0.81 mov w2, w21 mov x0, x3 mov x3, #0x7d80 // #32128 movk x3, #0x19d8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 asr w3, w0, #0 11c: str xzr, [x29, #56] cmn w3, #0x1 ↓ b.ne 37c ldr w1, [x19, #124] ↓ tbz w1, #1, 3a0 130: ldr w1, [x19, #124] ↓ tbnz w1, #0, 3d8 mov w1, #0x3 // #3 mul w1, w21, w1 add w1, w1, #0x3 ldr w2, [x19, #76] ldr w3, [x19, #52] sub w2, w2, w3 cmp w2, w1 ↓ b.lt 3fc 158: add x24, x19, #0x40 0.81 mov x25, xzr 0.81 mov w26, wzr ldr x1, [x24] ↓ cbz x1, 1a4 1.61 ldr x2, [x1] 4.03 ldr w2, [x2] 5.65 tst w2, #0x80000000 ↓ b.eq 418 2.42 add x25, x1, #0x10 0.81 ldr w26, [x1, #8] 184: ldp w2, w5, [x24, #8] 0.81 and w2, w2, #0x7fffffff mov w2, w2 add x4, x2, w5, uxtw 0.81 cmp x4, w26, uxtw 0.81 ↓ b.hi 458 add x25, x25, x2 asr w26, w5, #0 1a4: ldr w2, [x19, #40] 0.81 ↓ tbnz w2, #31, 438 1ac: ldr w24, [x19, #52] add w2, w24, #0x1 0.81 str w2, [x19, #52] cmp w24, w26 ↓ b.cs 5b4 mov w2, #0x22 // #34 strb w2, [x25, w24, uxtw #0] ldr w2, [x19, #52] 0.81 cmp w2, w26 ↓ b.hi 458 mov w5, w2 add x24, x25, x5 sub w3, w26, w2 str x22, [x29, #48] mov x2, x22 stp x2, x24, [x29, #32] 0.81 str x24, [x29, #24] ↓ cbz w21, 21c mov x2, x24 add x5, x29, #0x18 add x4, x29, #0x20 mov w1, w21 mov x0, x22 mov x6, #0x78e8 // #30952 movk x6, #0x1928, lsl #16 movk x6, #0xef7a, lsl #32 ldr x6, [x6] 0.81 → blr x6 0.81 21c: ldr w1, [x29, #24] 1.61 sub w1, w1, w24 0.81 stp xzr, xzr, [x29, #40] ldr w2, [x19, #52] add w24, w2, w1 str w24, [x19, #52] add w1, w24, #0x1 str w1, [x19, #52] cmp w24, w26 ↓ b.cs 5b4 4.84 mov w1, #0x22 // #34 1.61 strb w1, [x25, w24, uxtw #0] 24c: ldr w1, [x19, #40] orr w1, w1, #0x80000000 str w1, [x19, #40] mov w1, #0x7 // #7 0.81 strb w1, [x19, #58] 1.61 260: ldr w1, [x19, #40] 2.42 and w1, w1, #0x7fffffff 1.61 cmp w23, w1 ↓ b.ne 470 4.84 270: mov w5, #0x1 // #1 0.81 ↓ b 650 278: mov x0, x20 mov x1, x19 0.81 mov x3, x22 ldr x4, [x20] ldr x4, [x4, #96] 0.81 ldr x4, [x4, #48] 0.81 → blr x4 ↑ b 260 298: ldr w0, [x22, #136] mov x1, #0x6f58 // #28504 movk x1, #0x19e7, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2b4: mov x0, x19 mov x1, #0x63a0 // #25504 movk x1, #0x19ee, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 270 2d0: ldrb w1, [x20, #27] ↑ cbz w1, 70 ldr x21, [x21] add x0, x0, #0x90 mov x1, #0x6f70 // #28528 movk x1, #0x19e7, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov x2, x21 mov x1, x19 mov x0, x20 ldr x4, [x20] ldr x4, [x4, #104] ldr x4, [x4, #32] → blr x4 ↑ b 260 318: mov x0, x19 mov x1, #0x63a0 // #25504 movk x1, #0x19ee, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 260 334: mov w0, w21 mov x1, #0x7f30 // #32560 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 350: mov w3, #0xffffffff // #-1 ↑ b 11c 358: mov x0, x3 mov x1, x2 mov w2, w21 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w3, w0, #0 ↑ b 11c 37c: mov x1, x22 mov w2, w21 mov x0, x19 mov x4, #0x6490 // #25744 movk x4, #0x19ee, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 ↑ b 24c 3a0: mov x0, x19 mov x1, #0xc4c8 // #50376 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 130 mov x0, x19 mov x1, #0xc4e0 // #50400 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 130 3d8: mov x1, x22 mov w2, w21 mov x0, x19 mov x3, #0x64c0 // #25792 movk x3, #0x19ee, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 ↑ b 24c 3fc: mov x0, x19 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, lsl #32 ldr x2, [x2] → blr x2 ↑ b 158 418: mov x0, x1 ldr x1, [x1] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 mov w26, w1 ↑ b 184 438: ldr w24, [x19, #52] add w2, w24, #0x1 str w2, [x19, #52] cmp w24, w26 ↓ b.cs 5b4 mov w2, #0x2c // #44 strb w2, [x25, w24, uxtw #0] ↑ b 1ac 458: mov x1, #0xdb30 // #56112 movk x1, #0x1947, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 470: mov x0, x20 mov x1, #0x7078 // #28792 movk x1, #0x19e7, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 48c: ldr x0, [x29, #16] ldr w1, [x0, #68] cmp w1, #0x0 cset x23, ne // ne = any ldr x1, [x21] ↓ cbz x1, 5bc ldrb w1, [x0, #142] cmp w1, #0x1 ↓ b.eq 5bc mov x1, #0x63d0 // #25552 movk x1, #0x19ee, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 mov x2, x0 ldrb w1, [x20, #18] ↓ cbnz w1, 4e0 ldr x1, [x2, #160] cmp x1, #0x0 cset x1, ne // ne = any ↓ cbz w1, 50c 4e0: ldr x1, [x21] mov x0, x20 mov x3, x22 ldr x4, [x29, #16] mov x5, #0x6400 // #25600 movk x5, #0x19ee, lsl #16 movk x5, #0xef7a, lsl #32 ldr x5, [x5] → blr x5 mov x24, x0 ↓ b 510 50c: mov x24, xzr 510: ↓ cbnz w23, 54c ldr w2, [x22, #140] ↓ cbz w2, 54c ldr x2, [x21] mov x0, x20 mov x1, x19 mov x3, x22 mov x4, x24 ldr x5, [x29, #16] mov x6, #0x6418 // #25624 movk x6, #0x19ee, lsl #16 movk x6, #0xef7a, lsl #32 ldr x6, [x6] → blr x6 ↑ cbnz w0, 270 54c: ↓ cbz x24, 5bc ldr x2, [x21] mov x0, x24 mov x1, x19 mov x3, x22 ldr x4, [x29, #16] ldr x5, [x24] ldr x5, [x5, #88] ldr x5, [x5, #8] → blr x5 asr w23, w0, #0 ldr x4, [x29, #16] add x0, x4, #0x50 mov w1, #0x2 // #2 cmp w23, #0x0 csel w1, wzr, w1, ne // ne = any strb w1, [x0, #62] ↓ cbz w23, 648 ldrb w0, [x4, #143] ↓ cbz w0, 648 ldr x0, [x4, #32] ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #56] → blr x1 ↓ b 640 5b4: bl ffffffffff2a5898 )[OptimizedTier1]() /tmp/jitted-40740-32587.so 0.85 stp x29, x30, [sp, #-64]! 0.85 stp x19, x20, [sp, #32] stp x21, x22, [sp, #48] 0.85 mov x29, sp 0.85 str xzr, [x29, #24] 1.69 mov x19, x0 mov x21, x1 2.54 mov w20, w2 0.85 mov w22, wzr cmp w20, #0x8 ↓ b.ge b0 2c: mov x0, xzr cmp w20, #0x0 2.54 csel x0, x0, x21, eq // eq = none str x0, [x29, #24] mov w1, w20 0.85 mov w2, w22 cmp x2, x1 ↓ b.cs 90 2.54 ldrsb wzr, [x19] 1.69 sub x3, x1, x2 1.69 cmp x3, #0x8 ↓ b.cs 154 5c: cmp x2, x1 ↓ b.cs 90 3.39 64: add x3, x19, #0x420 2.54 ldrh w4, [x0, x2, lsl #1] 3.39 lsr w5, w4, #5 2.54 ldr w3, [x3, w5, uxtw #2] 17.80 mov w5, #0x1 // #1 15.25 lsl w4, w5, w4 0.85 tst w3, w4 ↓ b.eq 90 21.19 add x2, x2, #0x1 3.39 cmp x2, x1 0.85 ↑ b.cc 64 1.69 90: mov w0, #0xffffffff // #-1 0.85 cmp w2, w1 0.85 csel w2, w2, w0, ne // ne = any 0.85 mov w0, w2 1.69 ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] 0.85 ldp x29, x30, [sp], #64 ← ret b0: ldr x0, [x19, #24] ↓ cbz x0, 10c ldr x2, [x0] 2.54 mov x1, #0xac90 // #44176 movk x1, #0x1960, lsl #16 movk x1, #0xef7a, lsl #32 cmp x2, x1 ↓ b.ne 128 add x2, x0, #0x8 mov x0, x21 mov w1, w20 mov x3, #0x6fa0 // #28576 movk x3, #0x19ee, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 f0: asr w22, w0, #0 cmp w22, w20 ↓ b.cc 144 fc: ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 1.69 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb68 // #60264 movk x1, #0x1947, lsl #16 movk x1, #0xef7a, 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.): 5016016011, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-40740-32544.so 4.27 stp x29, x30, [sp, #-16]! 1.71 mov x29, sp sub x3, x0, x1 0.85 sub x4, x1, x0 0.85 cmp x3, x2 0.85 ccmp x4, x2, #0x0, cs // cs = hs, nlast 0.85 ↓ b.cc 124 2.56 add x3, x1, x2 0.85 add x4, x0, x2 0.85 cmp x2, #0x10 ↓ b.ls d4 1.71 cmp x2, #0x40 ↓ b.ls 98 0.85 cmp x2, #0x100 0.85 ↓ 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] 0.85 ldp q16, q17, [x1, #32] 1.71 stp q16, q17, [x0, #32] 0.85 add x1, x1, x5 add x0, x0, x5 sub x2, x2, x5 0.85 68: lsr x5, x2, #6 2.56 6c: ldp q16, q17, [x1] 17.09 stp q16, q17, [x0] 0.85 ldp q16, q17, [x1, #32] 30.77 stp q16, q17, [x0, #32] 3.42 add x0, x0, #0x40 4.27 add x1, x1, #0x40 0.85 sub x5, x5, #0x1 1.71 ↑ cbnz x5, 6c 0.85 and x2, x2, #0x3f 0.85 cmp x2, #0x10 ↓ b.ls a8 98: ldr q16, [x1] 3.42 str q16, [x0] cmp x2, #0x20 ↓ b.hi b8 a8: ldur q16, [x3, #-16] 4.27 stur q16, [x4, #-16] 0.85 b0: ldp x29, x30, [sp], #16 1.71 ← ret b8: ldr q16, [x1, #16] 1.71 str q16, [x0, #16] cmp x2, #0x30 ↑ b.ls a8 ldr q16, [x1, #32] 1.71 str q16, [x0, #32] ↑ b a8 0.85 d4: tst w2, #0x18 ↓ b.eq f0 0.85 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, #0x6940 // #26944 movk x3, #0x19f8, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5016016011, [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-40740-32712.so 0.98 stp x29, x30, [sp, #-144]! stp x19, x20, [sp, #72] 0.98 stp x21, x22, [sp, #88] 0.98 stp x23, x24, [sp, #104] stp x25, x26, [sp, #120] str x27, [sp, #136] 0.98 mov x29, sp 0.98 stp xzr, xzr, [x29, #56] mov x19, x1 ↓ cbz x2, 3c4 add x20, x2, #0x10 ldr w21, [x2, #8] ldr w0, [x19, #124] ↓ tbz w0, #1, 3e4 38: ldr w0, [x19, #124] 0.98 ↓ tbnz w0, #0, 41c mov w0, #0xfffd // #65533 movk w0, #0x5fff, lsl #16 cmp w21, w0 ↓ b.gt 440 add w0, w21, #0x2 0.98 mov w1, #0xaaab // #43691 movk w1, #0xaaaa, lsl #16 umull x0, w0, w1 lsr x0, x0, #33 lsl w22, w0, #2 0.98 add w1, w22, #0x3 ldr w0, [x19, #76] 1.96 ldr w2, [x19, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.lt 45c 0.98 80: add x23, x19, #0x40 mov x24, xzr mov w25, wzr ldr x0, [x23] ↓ cbz x0, cc ldr x1, [x0] ldr w1, [x1] 1.96 tst w1, #0x80000000 ↓ b.eq 478 add x24, x0, #0x10 0.98 ldr w25, [x0, #8] 0.98 ac: ldp w2, w1, [x23, #8] and w2, w2, #0x7fffffff 0.98 mov w2, w2 0.98 add x0, x2, w1, uxtw cmp x0, w25, uxtw ↓ b.hi 4b4 add x24, x24, x2 1.96 asr w25, w1, #0 cc: ldr w2, [x19, #40] ↓ tbnz w2, #31, 494 d4: ldr w23, [x19, #52] add w2, w23, #0x1 str w2, [x19, #52] cmp w23, w25 ↓ b.cs 4dc 0.98 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] 0.98 ldr w2, [x19, #52] 0.98 cmp w2, w25 0.98 ↓ b.hi 4b4 0.98 mov w1, w2 add x23, x24, x1 sub w5, w25, w2 strb wzr, [x29, #48] 0.98 ↓ cbz w21, 35c str x20, [x29, #64] mov x6, x20 str x23, [x29, #56] cmp w22, w5 ↓ b.gt 4cc 1.96 asr w4, w21, #0 128: stp x23, x6, [x29, #32] 7.84 add x21, x6, w21, uxtw add x20, x6, w4, uxtw cmp w4, #0x10 ↓ b.lt 240 1.96 sub x22, x20, #0x30 0.98 ldr x2, [x29, #40] 1.96 cmp x22, x2 ↓ b.cc 180 0.98 add x2, x29, #0x20 add x1, x29, #0x28 ldrb w0, [x29, #48] 0.98 mov x3, x22 1.96 mov x7, x23 0.98 mov x8, #0x75e8 // #30184 movk x8, #0x19f8, lsl #16 movk x8, #0xef7a, lsl #32 ldr x8, [x8] 0.98 → blr x8 2.94 ldr x0, [x29, #40] 5.88 cmp x0, x21 ↓ b.eq 350 0.98 180: sub x22, x20, #0x10 0.98 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, #0xc4f8 // #50424 movk x0, #0x19f8, lsl #16 movk x0, #0xef7a, 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, #0xc4f8 // #50424 movk x0, #0x19f8, lsl #16 movk x0, #0xef7a, 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 0.98 240: add x0, x29, #0x30 1.96 mov x1, #0xc510 // #50448 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] 12.75 → blr x1 0.98 mov x22, x0 sub x20, x20, #0x2 ldr x0, [x29, #40] cmp x0, x20 ↓ b.cs 2b0 26c: add x0, x29, #0x30 0.98 ldp x2, x1, [x29, #32] mov x3, x22 mov x4, #0xc528 // #50472 movk x4, #0x19f8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] → blr x4 ldr x0, [x29, #40] 0.98 add x0, x0, #0x3 str x0, [x29, #40] ldr x0, [x29, #32] 0.98 add x0, x0, #0x4 str x0, [x29, #32] ldr x0, [x29, #40] cmp x0, x20 ↑ b.cc 26c 2b0: add x0, x20, #0x2 0.98 cmp x0, x21 ↓ b.ne 350 ldr x0, [x29, #40] add x0, x0, #0x1 cmp x0, x21 ↓ 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, #0x7948 // #31048 movk x4, #0x19f8, lsl #16 movk x4, #0xef7a, 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 ldp x2, x1, [x29, #32] mov x3, x22 mov x4, #0x7930 // #31024 0.98 movk x4, #0x19f8, lsl #16 movk x4, #0xef7a, lsl #32 ldr x4, [x4] 0.98 → blr x4 ldr x0, [x29, #40] 0.98 add x0, x0, #0x1 str x0, [x29, #40] 0.98 ldr x0, [x29, #32] add x0, x0, #0x4 0.98 str x0, [x29, #32] 2.94 350: ldr w0, [x29, #32] 0.98 sub w0, w0, w23 1.96 ↓ b 360 35c: mov w0, wzr 360: stp xzr, xzr, [x29, #56] ldr w1, [x19, #52] add w23, w1, w0 str w23, [x19, #52] add w0, w23, #0x1 str w0, [x19, #52] cmp w23, w25 ↓ b.cs 4dc 3.92 mov w0, #0x22 // #34 strb w0, [x24, w23, uxtw #0] 388: mov x0, x19 mov x1, #0xc3a8 // #50088 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] 0.98 → blr x1 0.98 mov w0, #0x7 // #7 strb w0, [x19, #58] 3a8: ldr x27, [sp, #136] ldp x25, x26, [sp, #120] 2.94 ldp x23, x24, [sp, #104] ldp x21, x22, [sp, #88] 1.96 ldp x19, x20, [sp, #72] 0.98 ldp x29, x30, [sp], #144 0.98 ← ret 3c4: mov x0, x19 mov x1, #0x63a0 // #25504 movk x1, #0x19ee, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] ldr wzr, [x0] → blr x1 ↑ b 3a8 3e4: mov x0, x19 mov x1, #0xc4c8 // #50376 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 38 mov x0, x19 mov x1, #0xc4e0 // #50400 movk x1, #0x19f8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 ↑ b 38 41c: mov x1, x20 mov w2, w21 mov x0, x19 mov x3, #0x6ec8 // #28360 movk x3, #0x19ee, lsl #16 movk x3, #0xef7a, lsl #32 ldr x3, [x3] → blr x3 ↑ b 388 440: mov w0, w21 mov x1, #0x7f30 // #32560 movk x1, #0x19d8, lsl #16 movk x1, #0xef7a, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 45c: mov x0, x19 mov x2, #0x6b68 // #27496 movk x2, #0x19d8, lsl #16 movk x2, #0xef7a, 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, #0xdb30 // #56112 movk x0, #0x1947, lsl #16 movk x0, #0xef7a, 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 ffffffffff2a4488 brk #0xf000