Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5009009004, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-40450-32550.so 0.30 stp x29, x30, [sp, #-80]! 0.74 stp x19, x20, [sp, #24] 0.37 stp x21, x22, [sp, #40] 0.15 stp x23, x24, [sp, #56] 0.15 str x25, [sp, #72] 0.52 mov x29, sp mov x19, x0 0.22 ldr w20, [x19, #32] 0.07 asr w21, w20, #0 0.07 ldp x23, x22, [x19] 0.15 ldrb w24, [x19, #40] 0.15 ldrb w25, [x19, #44] 0.44 ldrb w0, [x19, #68] 0.44 ↓ cbnz w0, 354 0.44 38: ldr w0, [x19, #88] 0.22 ↓ cbz w0, 3dc 0.07 uxtb w0, w1 0.37 cmp w0, #0x2c ↓ b.ne 304 0.15 add w0, w20, #0x1 0.30 str w0, [x19, #32] 0.81 ldr x0, [x19, #8] 0.37 add x0, x0, #0x1 str x0, [x19, #8] 1.18 ldr w0, [x19, #32] 1.18 ldr w1, [x19, #56] 0.07 cmp x1, w0, sxtw 0.30 ↓ b.le 434 1.85 add x20, x19, #0x30 mov x1, x20 0.30 ldr w2, [x1, #8] 0.37 cmp w0, w2 ↓ b.cs 858 0.52 ldr x1, [x1] 0.15 ldrb w1, [x1, w0, uxtw #0] 0.67 cmp w1, #0x20 ↓ b.le 494 1.48 94: ldrsw x0, [x19, #32] 0.15 str x0, [x19, #24] 0.15 ldrb w0, [x19, #68] 0.52 cmp w0, #0x2 ↓ b.eq 528 a8: ldrb w2, [x19, #38] 0.22 ↓ cbz w2, 79c 0.52 cmp w1, #0x22 ↓ b.ne 558 0.30 strb wzr, [x19, #44] 0.37 ldr w1, [x19, #32] 0.15 add w1, w1, #0x1 0.07 ldr w2, [x20, #8] 0.22 cmp w1, w2 0.15 ↓ b.hi 620 0.52 ldr x0, [x20] mov w3, w1 0.22 add x0, x0, x3 0.15 sub w20, w2, w1 0.37 mov x1, #0x3358 // #13144 0.15 movk x1, #0x3dc0, lsl #16 0.30 movk x1, #0xf481, lsl #32 0.15 ldr x1, [x1] mov x2, x0 0.22 asr w3, w20, #0 add x1, x1, #0x8 0.22 mov x4, x2 0.30 cmp w3, #0x8 ↓ b.lt 5c0 0.07 ldr q16, [x1] 1.63 cmp w3, #0x10 ↓ b.le 26c sub w1, w3, #0x10 0.07 mov w1, w1 0.37 add x2, x2, x1 0.22 movi v17.16b, #0xf 0.22 ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x860 0.52 128: ldr q19, [x4] 2.00 and v20.16b, v19.16b, v17.16b tbl v20.16b, {v16.16b}, v20.16b 0.30 sshr v19.16b, v19.16b, #4 tbl v19.16b, {v18.16b}, v19.16b 0.07 and v19.16b, v20.16b, v19.16b 0.07 umaxp v20.4s, v19.4s, v19.4s mov x1, v20.d[0] 0.15 cmp x1, #0x0 ↓ b.eq 260 16.14 cmeq v17.16b, v19.16b, #0 0.15 movi v16.16b, #0x80 0.07 and v18.16b, v17.16b, v16.16b 0.07 ldr q16, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x870 0.22 ushl v16.16b, v18.16b, v16.16b uxtl2 v17.8h, v16.16b 0.07 shl v17.8h, v17.8h, #8 0.07 uaddw v16.8h, v17.8h, v16.8b 0.22 addv h16, v16.8h 0.30 umov w1, v16.h[0] 0.07 mvn w1, w1 0.07 rbit w1, w1 0.44 clz w1, w1 0.07 sub x4, x4, x0 0.30 add w3, w1, w4 0.07 18c: ↓ tbnz w3, #31, 660 27.98 cmp w3, w20 0.07 ↓ b.cs 858 0.67 ldrb w1, [x0, w3, uxtw #0] 4.29 cmp w1, #0x22 ↓ b.ne 638 1.78 ldr x1, [x19, #8] 0.15 add w2, w3, #0x2 0.30 add x1, x1, w2, sxtw 0.15 str x1, [x19, #8] 0.44 cmp w3, w20 ↓ b.hi 620 0.30 str x0, [x19, #152] str w3, [x19, #160] 0.22 strb wzr, [x19, #46] 0.15 mov w0, #0x7 // #7 0.37 strb w0, [x19, #40] 0.22 ldr w1, [x19, #32] 0.07 add w1, w1, w3 0.07 add w1, w1, #0x2 0.30 str w1, [x19, #32] 1.18 1e0: ldr w0, [x19, #32] 1.18 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.30 ↓ b.le 6b8 5.11 add x20, x19, #0x30 0.07 mov x1, x20 0.52 ldr w2, [x1, #8] 0.30 cmp w0, w2 ↓ b.cs 858 0.22 ldr x1, [x1] 0.30 ldrb w2, [x1, w0, uxtw #0] 0.59 cmp w2, #0x20 ↓ b.le 6d8 1.55 214: cmp w2, #0x3a ↓ b.ne 774 0.59 ldr w3, [x19, #32] 0.15 add w3, w3, #0x1 0.15 str w3, [x19, #32] 0.30 ldr x3, [x19, #8] 0.15 add x3, x3, #0x1 0.15 str x3, [x19, #8] 0.07 mov w3, #0x5 // #5 0.22 strb w3, [x19, #40] 0.30 23c: mov w20, wzr 0.15 240: ↓ cbnz w20, 824 0.30 mov w0, #0x1 // #1 0.37 ldr x25, [sp, #72] 0.22 ldp x23, x24, [sp, #56] 0.22 ldp x21, x22, [sp, #40] 0.30 ldp x19, x20, [sp, #24] 0.37 ldp x29, x30, [sp], #80 0.07 ← ret 2.96 260: add x4, x4, #0x10 0.07 cmp x4, x2 ↑ b.cc 128 26c: sub w3, w20, #0x8 mov w1, w3 add x1, x0, x1 cmp x4, x1 csel x4, x1, x4, hi // hi = pmore ldr x2, [x4] mov v17.d[0], x2 ldr x2, [x1] mov v17.d[1], x2 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b tbl v16.16b, {v16.16b}, v18.16b ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x860 sshr v17.16b, v17.16b, #4 tbl v17.16b, {v18.16b}, v17.16b and v16.16b, v16.16b, v17.16b umaxp v17.4s, v16.4s, v16.4s mov x2, v17.d[0] cmp x2, #0x0 ↓ b.eq 60c cmeq v16.16b, v16.16b, #0 movi v17.16b, #0x80 and v16.16b, v16.16b, v17.16b ldr q17, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x870 ushl v16.16b, v16.16b, v17.16b uxtl2 v17.8h, v16.16b shl v17.8h, v17.8h, #8 uaddw v16.8h, v17.8h, v16.8b addv h16, v16.8h umov w2, v16.h[0] mvn w2, w2 rbit w2, w2 clz w2, w2 cmp w2, #0x8 ↓ b.ge 614 2f8: sub x1, x4, x0 add w3, w1, w2 ↑ b 18c 304: uxtb w0, w1 cmp w0, #0x7d ↓ b.ne 32c 310: mov x0, x19 mov x1, #0xc558 // #50520 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 23c 32c: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 7f8 338: mov x0, x19 mov x1, #0xc588 // #50568 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 23c 354: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 3b8 uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 38c mov x0, x19 mov x1, #0xc7c8 // #51144 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 23c ↓ b 748 38c: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xc810 // #51216 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 240 3b8: uxtb w1, w1 mov x0, x19 mov x2, #0xc828 // #51240 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 240 3dc: ldrb w0, [x19, #70] ↓ cbz w0, 408 uxtb w1, w1 mov x0, x19 mov x2, #0xc5b8 // #50616 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 23c ↓ b 748 408: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 434: mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ldr w3, [x19, #32] sub w3, w3, #0x1 str w3, [x19, #32] ldr x3, [x19, #8] sub x3, x3, #0x1 str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 494: mov x0, x19 mov x1, #0xc528 // #50472 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 504 mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 504: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 858 ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 528: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xc7c8 // #51144 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 23c ↓ b 748 558: cmp w1, #0x7d ↓ b.ne 594 ldrb w3, [x19, #69] ↑ cbnz w3, 310 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 594: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 5c0: mov w3, w20 add x2, x2, x3 cmp x4, x2 ↓ b.eq 60c 5d0: ldrb w3, [x4] add x5, x1, #0x20 asr w6, w3, #5 mov w7, #0x1 // #1 lsl w3, w7, w3 ldrsb wzr, [x5] ldr w5, [x5, w6, uxtw #2] tst w5, w3 ↓ b.ne 604 add x4, x4, #0x1 cmp x4, x2 ↑ b.ne 5d0 ↓ b 60c 604: sub x3, x4, x0 ↑ b 18c 60c: mov w3, #0xffffffff // #-1 ↑ b 18c 614: mov x4, x1 sub w2, w2, #0x8 ↑ b 2f8 620: mov x0, #0xdb00 // #56064 movk x0, #0xf146, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 638: mov x1, x0 mov w2, w20 mov x0, x19 mov x4, #0xc6d8 // #50904 movk x4, #0xf1d7, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 1e0 ↓ b 748 660: mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ldr x3, [x19, #8] add w4, w20, #0x1 add x3, x3, w4, sxtw str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 6b8: mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ↓ b 71c 6d8: mov x0, x19 mov x1, #0xc528 // #50472 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 750 mov x0, x19 mov x1, #0xc5d0 // #50640 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 71c: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 748: mov w20, #0x1 // #1 ↑ b 240 750: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 858 ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 214 774: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 79c: cmp w1, #0x5d ↓ b.ne 7d8 ldrb w3, [x19, #69] ↑ cbnz w3, 338 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 7d8: mov x0, x19 mov x2, #0xc5a0 // #50592 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 23c ↑ b 748 7f8: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc4f8 // #50424 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 824: cmp w20, #0x1 ↓ b.ne 83c str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 83c: mov w0, wzr ldr x25, [sp, #72] ldp x23, x24, [sp, #56] ldp x21, x22, [sp, #40] ldp x19, x20, [sp, #24] ldp x29, x30, [sp], #80 ← ret 858: bl ffffffffff2af788 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5009009004, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-40450-32749.so Percent sub sp, sp, #0x1c0 0.09 stp x19, x20, [sp, #352] stp x21, x22, [sp, #368] stp x23, x24, [sp, #384] stp x25, x26, [sp, #400] stp x27, x28, [sp, #416] stp x29, x30, [sp, #432] add x29, sp, #0x1b0 0.09 movi v16.16b, #0x0 sub x9, x29, #0x158 sub x10, x29, #0xa8 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 0.18 38: dc zva, x9 0.09 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 0.09 stp q16, q16, [x10] 0.09 stp q16, q16, [x10, #32] mov x4, #0x26b5 // #9909 movk x4, #0x3b5e, lsl #16 movk x4, #0x703b, lsl #32 movk x4, #0xd2e7, lsl #48 0.09 stur x4, [x29, #-88] stur x1, [x29, #-104] stur x2, [x29, #-96] mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 cmp w2, w0 ↓ b.gt 1ff4 0.09 mov x17, #0xfffffffffffffe58 // #-424 str xzr, [x29, x17] cmp w2, #0x55 ↓ b.le 2010 0.09 mov w0, #0x5555 // #21845 movk w0, #0x1555, lsl #16 cmp w2, w0 ↓ b.gt 2020 0.35 mov x0, #0x3338 // #13112 movk x0, #0x3dc0, lsl #16 movk x0, #0xf481, lsl #32 ldr x21, [x0] 0.18 mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdb8 // #3512 movk x0, #0x3dc0, lsl #16 movk x0, #0xf481, lsl #32 ldr x24, [x0] 1.06 sub w0, w23, #0x1 orr w0, w0, #0xf clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x2378 // #9080 movk x0, #0xf1db, lsl #16 movk x0, #0xf490, lsl #32 mov x1, #0x67d8 // #26584 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 0.71 ↓ cbz x0, 20bc 0.35 ldr w1, [x0, #8] 0.44 cmp w1, w25 ↓ b.ls 20bc 0.09 ubfiz x1, x25, #4, #32 0.09 add x1, x1, #0x10 ldr x26, [x0, x1] ↓ cbz x26, 20bc str xzr, [x0, x1] ldrb w0, [x24, #157] ↓ cbnz w0, 2058 134: mov x17, #0xfffffffffffffe58 // #-424 str x26, [x29, x17] 13c: ↓ cbz x26, 2430 add x21, x26, #0x10 0.09 ldr w22, [x26, #8] 0.18 148: mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w22, [x29, x17] ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, x21 mov w3, w22 mov x4, #0x7f30 // #32560 movk x4, #0xf1d7, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 0.09 cmp w0, w22 ↓ b.hi 1f30 mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w0, [x29, x17] stur x21, [x29, #-120] stur w0, [x29, #-112] 0.09 ldur w21, [x29, #-112] ↓ cbz w21, ddc tst w20, #0xff ↓ b.ne d20 ldur x1, [x29, #-120] ldur w2, [x29, #-112] mov x17, #0xfffffffffffffe90 // #-368 0.09 str xzr, [x29, x17] mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] 0.09 mov x17, #0xfffffffffffffea0 // #-352 0.18 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] 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] str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x170 mov w3, #0x1 // #1 mov x5, #0xc360 // #50016 0.18 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 ↓ b 258 0.98 22c: sub x0, x29, #0x138 0.09 mov w1, w2 mov x2, #0xc540 // #50496 0.27 movk x2, #0xf1d7, lsl #16 0.27 movk x2, #0xf490, lsl #32 0.27 ldr x2, [x2] → blr x2 0.53 asr w20, w0, #0 0.44 24c: ↓ cbz w20, d04 0.98 250: tst w20, #0xff ↓ b.eq d2c 0.80 258: mov x17, #0xfffffffffffffef3 // #-269 0.35 ldrb w0, [x29, x17] 1.33 ↓ cbnz w0, 1b00 0.62 mov w20, wzr 0.53 stp xzr, xzr, [x29, #-160] 0.35 mov x17, #0xfffffffffffffef6 // #-266 0.98 strb wzr, [x29, x17] 0.27 mov x17, #0xfffffffffffffee8 // #-280 0.71 ldr w0, [x29, x17] 0.09 sxtw x1, w0 0.62 ldur w2, [x29, #-256] 0.44 cmp x1, w2, uxtw 0.27 ↓ b.ge ca8 8.33 cmp w0, w2 0.09 ↓ b.cs 1f48 0.44 mov x17, #0xfffffffffffffef8 // #-264 0.44 ldr x1, [x29, x17] 0.44 ldrb w2, [x1, w0, uxtw #0] 1.33 cmp w2, #0x20 ↓ b.le e24 1.77 2a8: mov x17, #0xfffffffffffffee8 // #-280 0.62 ldrsw x0, [x29, x17] 0.53 mov x17, #0xfffffffffffffee0 // #-288 0.27 str x0, [x29, x17] 0.44 mov x17, #0xfffffffffffffef0 // #-272 0.53 ldrb w0, [x29, x17] 0.80 ↓ cbz w0, c84 0.80 cmp w2, #0x2f 0.09 ↑ b.eq 22c 0.44 cmp w0, #0x1 0.09 ↓ b.eq 9dc 0.71 cmp w0, #0x3 ↓ b.eq 7ec 0.71 cmp w0, #0x5 0.18 ↑ b.ne 22c 0.35 mov x17, #0xfffffffffffffef4 // #-268 0.27 strb wzr, [x29, x17] 0.35 cmp w2, #0x22 ↓ b.eq 5fc 0.53 2f4: cmp w2, #0x7b ↓ b.eq 54c 0.09 cmp w2, #0x5b 0.09 ↓ b.eq 49c 0.98 sub w0, w2, #0x30 0.09 mov w1, #0x2d // #45 0.18 cmp w0, #0x9 0.35 ccmp w2, w1, #0x4, hi // hi = pmore ↓ b.eq 1584 2.84 cmp w2, #0x66 ↓ b.ne 3c8 0.18 mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w1, [x29, x17] 0.18 ldur w20, [x29, #-256] 0.09 cmp w1, w20 ↓ b.hi 1f30 0.09 mov x17, #0xfffffffffffffef8 // #-264 0.09 ldr x2, [x29, x17] mov w3, w1 add x2, x2, x3 0.18 sub w3, w20, w1 cmp w3, #0x5 ↓ b.lt 19d8 mov x1, x2 mov x4, #0x55ae // #21934 movk x4, #0x10fa, lsl #16 0.09 movk x4, #0xf481, lsl #32 0.18 ldr w0, [x1] ldur w1, [x1, #1] ldr w5, [x4] 0.18 ldur w4, [x4, #1] cmp w0, w5 ccmp w1, w4, #0x0, eq // eq = none 0.09 cset x1, eq // eq = none ↓ cbz w1, 19d8 0.27 stur x2, [x29, #-160] 0.09 mov w1, #0x5 // #5 0.27 stur w1, [x29, #-152] mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 0.09 strb w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w1, [x29, x17] 0.18 add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 0.35 str w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] 0.18 mov w20, #0x1 // #1 0.09 3c4: ↓ b 744 0.18 3c8: cmp w2, #0x74 ↓ b.ne 13a0 0.35 sub x0, x29, #0x108 0.09 mov x17, #0xfffffffffffffee8 // #-280 0.18 ldr w1, [x29, x17] mov x2, #0x7330 // #29488 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 0.09 ldr x2, [x2] 0.18 → blr x2 0.18 mov x17, #0xfffffffffffffe68 // #-408 0.09 str x0, [x29, x17] mov x17, #0xfffffffffffffe70 // #-400 0.09 str x1, [x29, x17] 0.44 mov x17, #0xfffffffffffffe68 // #-408 ldr x0, [x29, x17] 0.09 mov x17, #0xfffffffffffffe70 // #-400 0.35 ldr x1, [x29, x17] 0.09 mov x2, #0x5612 // #22034 movk x2, #0x10fa, lsl #16 0.09 movk x2, #0xf481, lsl #32 mov w3, #0x4 // #4 mov x4, #0xc978 // #51576 0.09 movk x4, #0xf1d7, lsl #16 0.09 movk x4, #0xf490, lsl #32 ldr x4, [x4] 0.09 → blr x4 0.09 ↓ cbz w0, 1a10 0.53 sub x0, x29, #0x198 mov w1, wzr 0.09 mov w2, #0x4 // #4 mov x3, #0xc630 // #50736 0.09 movk x3, #0xf1d7, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] 0.09 → blr x3 0.27 stur x0, [x29, #-160] stur w1, [x29, #-152] mov w1, #0x9 // #9 0.18 mov x17, #0xfffffffffffffef0 // #-272 0.09 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w1, [x29, x17] add w1, w1, #0x4 0.18 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] 0.09 add x1, x1, #0x4 0.09 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w20, #0x1 // #1 498: ↓ b 744 49c: ldur w0, [x29, #-224] ldur w1, [x29, #-248] 0.09 cmp w0, w1 ↓ b.ge 1c98 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1564 ldur x0, [x29, #-232] lsl x0, x0, #1 stur x0, [x29, #-232] 4c4: 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 0.09 ldur w2, [x29, #-256] cmp x1, x2 ↓ b.hi 1f30 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] 0.09 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 0.09 str x0, [x29, x17] mov w0, #0x3 // #3 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb wzr, [x29, x17] 544: mov w20, #0x1 // #1 ↓ b 744 54c: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c6c ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1544 ldur x0, [x29, #-232] lsl x0, x0, #1 orr x0, x0, #0x1 stur x0, [x29, #-232] 578: ldur w1, [x29, #-224] add w1, w1, #0x1 stur w1, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] mov w2, w1 add x2, x2, #0x1 ldur w0, [x29, #-256] cmp x2, x0 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w1, w1 add x1, x2, x1 stur x1, [x29, #-160] mov w1, #0x1 // #1 stur w1, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w1, #0x1 // #1 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb w1, [x29, x17] ↑ b 544 5fc: mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] 0.09 add w1, w1, #0x1 0.35 ldur w2, [x29, #-256] 0.18 cmp w1, w2 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 0.09 ldr x0, [x29, x17] mov w3, w1 0.09 add x0, x0, x3 0.18 sub w22, w2, w1 mov x1, #0x3358 // #13144 movk x1, #0x3dc0, lsl #16 0.18 movk x1, #0xf481, lsl #32 ldr x1, [x1] mov x2, x0 0.09 asr w3, w22, #0 0.09 add x1, x1, #0x8 mov x4, x2 cmp w3, #0x8 ↓ b.lt 1490 ldr q16, [x1] 0.09 cmp w3, #0x10 ↓ b.le 754 sub w1, w3, #0x10 0.18 mov w1, w1 add x2, x2, x1 668: ldr q17, [x4] 0.80 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b tbl v18.16b, {v16.16b}, v18.16b sshr v17.16b, v17.16b, #4 0.09 ldr q19, instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]+0xffffffffff29c1e8> brk #0xf000 0.09 1f50: mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] ↓ cbz x1, 1fb0 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] 0.09 mov x2, #0x5818 // #22552 0.09 movk x2, #0xf127, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 0.09 mov x0, #0x3338 // #13112 movk x0, #0x3dc0, lsl #16 movk x0, #0xf481, lsl #32 ldr x0, [x0] 0.18 mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x2348 // #9032 movk x3, #0xf1db, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] 0.09 → blr x3 1fb0: mov x16, #0x26b5 // #9909 movk x16, #0x3b5e, lsl #16 movk x16, #0x703b, lsl #32 movk x16, #0xd2e7, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 ↓ b.eq 1fd0 bl ffffffffff2ec890 ,bool)[OptimizedTier1]+0xffffffffff2ec810> 1fd0: sub sp, x29, #0x1b0 ldp x29, x30, [sp, #432] ldp x27, x28, [sp, #416] ldp x25, x26, [sp, #400] ldp x23, x24, [sp, #384] ldp x21, x22, [sp, #368] ldp x19, x20, [sp, #352] add sp, sp, #0x1c0 ← ret 1ff4: mov w0, w2 mov x1, #0x7eb8 // #32440 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2010: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 2020: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7ed0 // #32464 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb1e0 // #45536 movk x0, #0xf137, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2ec910 ,bool)[OptimizedTier1]+0xffffffffff2ec890> mov x26, x0 ↑ b 13c 2058: mov x0, x26 mov x1, #0xde30 // #56880 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xde30 // #56880 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, 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, #0x7f90 // #32656 movk x5, #0xf1f5, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 20bc: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 2300 add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 22f4 ldr x26, [x0, #8] mov x0, #0x8bb0 // #35760 movk x0, #0xf204, lsl #16 movk x0, #0xf490, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xf127, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0xf004, lsl #16 movk x0, #0xf490, lsl #32 ldrb w0, [x0] ↓ cbz w0, 211c bl fffffffffff82e10 ,bool)[OptimizedTier1]+0xfffffffffff82d90> asr w21, w0, #0 ↓ b 2190 211c: mov x0, #0x8c00 // #35840 movk x0, #0xf204, lsl #16 movk x0, #0xf490, lsl #32 mov x1, #0x7fa8 // #32680 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0x8c00 // #35840 movk x0, #0xf204, lsl #16 movk x0, #0xf490, lsl #32 mov x1, #0x7fa8 // #32680 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 218c mov x0, #0x7fc0 // #32704 movk x0, #0xf1f5, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2190 218c: asr w21, w23, #16 2190: mov x0, #0x8a08 // #35336 movk x0, #0xf204, lsl #16 movk x0, #0xf490, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xf127, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0xf004, lsl #16 movk x0, #0xf490, lsl #32 ldr w0, [x0] ↓ cbz w0, 243c udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 2268 21d4: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 2444 add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0x7fd8 // #32728 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, 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 2234 add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 2234: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0xf127, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 2278 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 2264 mov w21, wzr 2264: add w23, w23, #0x1 2268: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 21d4 ↓ b 2280 2278: mov x26, x28 ↓ b 2284 2280: mov x26, xzr 2284: ↓ cbz x26, 22f4 ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xde30 // #56880 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde30 // #56880 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, 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, #0x7f90 // #32656 movk x5, #0xf1f5, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 22f4: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 2324 2300: mov w0, w23 mov x1, #0x4c40 // #19520 movk x1, #0x3cc0, lsl #16 movk x1, #0xf491, lsl #32 mov x2, #0x5e90 // #24208 movk x2, #0xf18b, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 2324: cmp w23, #0x800 ↓ b.ge 2348 sxtw x1, w23 mov x0, #0xb1e0 // #45536 movk x0, #0xf137, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2ec910 ,bool)[OptimizedTier1]+0xffffffffff2ec890> mov x26, x0 ↓ b 2368 2348: mov w0, w23 mov w1, wzr mov x2, #0x7e28 // #32296 movk x2, #0xf1ca, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 2368: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xde30 // #56880 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde30 // #56880 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, 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, #0x7f90 // #32656 movk x5, #0xf1f5, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde30 // #56880 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, 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, #0xc000 // #49152 movk x6, #0xf1f5, lsl #16 movk x6, #0xf490, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 2430: mov x21, xzr mov w22, wzr ↑ b 148 243c: bl ffffffffff29c280 ,bool)[OptimizedTier1]+0xffffffffff29c200> brk #0xf000 2444: bl ffffffffff29c268 ,bool)[OptimizedTier1]+0xffffffffff29c1e8> brk #0xf000 sub sp, sp, #0x60 stp x19, x20, [sp] stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] stp x29, x30, [sp, #80] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] ↓ cbz x1, 24c8 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0xf127, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x3dc0, lsl #16 movk x0, #0xf481, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x2348 // #9032 movk x3, #0xf1db, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 24c8: 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.): 5009009004, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-40450-32813.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, #0x2f0 stp x29, x30, [sp] mov x29, sp movi v16.16b, #0x0 add x9, x29, #0xc8 add x10, x29, #0x2b0 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 0.10 38: dc zva, x9 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x19, x0 mov x0, #0xa008 // #40968 movk x0, #0xf138, lsl #16 movk x0, #0xf490, lsl #32 mov x1, #0x67d8 // #26584 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 16e4 80: ldr x2, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xf1a0, lsl #16 movk x1, #0xf490, lsl #32 cmp x2, x1 ↓ b.ne 17d8 ldrb w2, [x21, #43] ↓ cbz w2, 1720 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, 173c str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 180c ↓ tbnz w22, #31, 1824 ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 1874 ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 18dc e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 1904 f4: ldr x22, [x20, #16] ↓ cbz x22, 190c ldr x0, [x22, #16] ↓ cbz x0, 1978 104: ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xf1a0, lsl #16 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 1998 ldrb w20, [x21, #41] 120: ↓ cbz w20, 19b4 add x14, x22, #0x10 mov x15, x21 bl fffffffffe054a54 ldr x20, [x22, #24] ↓ cbz x20, 1a04 ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 1a3c ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 2900 add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0xf127, lsl #16 movk x2, #0xf490, 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 1a4c 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1a68 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 1a88 1dc: add x20, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x20] 0.10 ↓ cbz x0, 228 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 1aa8 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 2900 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 2988 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 2988 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, #0x3cc1, lsl #16 movk x20, #0xf491, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] cmp w2, w3 ↓ b.ge 1ac4 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #728] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0x3dc0, lsl #16 movk x2, #0xf481, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0x73e8 // #29672 movk x3, #0xf1d9, lsl #16 movk x3, #0xf490, lsl #32 cmp x2, x3 ↓ b.ne 1aec ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7d08 // #32008 movk x3, #0xf1d7, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #728] cmn w4, #0x1 ↓ b.ne 1b08 ldr w0, [x22, #124] ↓ tbz w0, #1, 1b30 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1bb4 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 1bdc 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 1bfc 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 2900 add x24, x24, x2 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 1c18 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2988 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 2900 mov w5, w2 add x23, x24, x5 sub w3, w25, w2 str x20, [x29, #720] mov x2, x20 str x23, [x29, #712] str x2, [x29, #704] str x23, [x29, #696] mov x0, x20 mov x2, x23 add x5, x29, #0x2b8 add x4, x29, #0x2c0 mov w1, #0x7 // #7 mov x6, #0x78e8 // #30952 movk x6, #0xf127, lsl #16 movk x6, #0xf490, lsl #32 ldr x6, [x6] → blr x6 ldr w1, [x29, #696] sub w1, w1, w23 str xzr, [x29, #720] str xzr, [x29, #712] 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 2988 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 2988 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 2988 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 1164 494: dup v16.16b, w4 and x0, x2, #0xffffffffffffffe0 mov x3, xzr cmp x2, #0x20 ↓ b.cc 4c0 4a8: str q16, [x1, x3] add x4, x3, #0x10 str q16, [x1, x4] add x3, x3, #0x20 cmp x3, x0 ↑ b.cc 4a8 4c0: ↓ tbnz w2, #4, 1ce8 4c4: sub x0, x2, #0x10 str q16, [x1, x0] ↓ b f14 4d0: ldrb w24, [x22, #56] ldrb w0, [x22, #58] cmp w24, #0x10 ccmp w24, w0, #0x4, ne // ne = any ↓ b.eq 4fc mov x0, x22 mov x1, #0xc660 // #50784 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 4fc: add x24, x22, #0x50 ldr w0, [x24, #16] cmp w0, #0x40 ↓ b.ge 1cf0 ldr x0, [x24, #8] lsl x0, x0, #1 orr x0, x0, #0x1 str x0, [x24, #8] 51c: ldr w0, [x24, #16] add w0, w0, #0x1 str w0, [x24, #16] mov w0, #0x5 // #5 strb w0, [x22, #56] mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6aa8 // #27304 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↓ b 1290 550: mov x1, x28 ldr w2, [x29, #644] mov x0, x22 mov x4, #0xcac8 // #51912 movk x4, #0xf1d7, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 ↓ b a34 0.29 574: ldapur x5, [x5, #24] 0.10 ↓ cbz x5, 2384 0.10 ldr w2, [x29, #364] ↓ b bd8 584: ldr x7, [x29, #96] 588: ldapur x5, [x5, #24] ↓ cbz x5, 2404 ldr w2, [x29, #364] 594: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 584 str x5, [x29, #32] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xf175, lsl #16 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 238c ldr x4, [x29, #40] ↓ cbz x6, 23c4 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xf004, lsl #16 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 23d0 ldr x7, [x29, #96] cmp x7, x6 cset x8, eq // eq = none 5ec: ↓ cbz w8, 23fc ↓ b c18 0.10 5f4: ldr x28, [x29, #528] ↓ cbz x28, 2890 ldr x1, [x28] mov x0, #0x7ac0 // #31424 movk x0, #0xf128, lsl #16 movk x0, #0xf490, lsl #32 0.19 cmp x1, x0 ↓ b.eq 638 mov x1, x28 mov x0, #0x7ac0 // #31424 movk x0, #0xf128, lsl #16 movk x0, #0xf490, lsl #32 mov x2, #0x58c0 // #22720 movk x2, #0xf127, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 638: ldr w0, [x28, #8] str w0, [x29, #344] 0.10 ldrb w0, [x26, #278] 0.10 ↓ cbnz w0, 2510 movi v16.16b, #0x0 str xzr, [x29, #184] stp q16, q16, [x29, #192] stp q16, q16, [x29, #224] stp q16, q16, [x29, #256] stp q16, q16, [x29, #288] str q16, [x29, #320] str xzr, [x29, #336] str x26, [x29, #288] ldr x0, [x26, #208] str x0, [x29, #280] 0.39 ldr x0, [x29, #280] 0.29 ldr x0, [x0, #200] 0.29 str x0, [x29, #328] strb wzr, [x29, #262] 0.10 strb wzr, [x29, #263] ldr x2, [x26, #184] str x2, [x29, #24] 0.10 ldr w0, [x2, #140] 0.10 ↓ cbnz w0, 252c 698: ldr x0, [x26, #344] 0.10 ldr x3, [x26, #184] 0.10 add x2, x29, #0x158 add x4, x29, #0xb8 mov x1, x22 mov x5, #0x6ad8 // #27352 movk x5, #0xf1e4, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] 0.10 ldr wzr, [x0] → blr x5 ↓ b 73c 6c8: add x0, x29, #0x170 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, #472] ldr x0, [x26, #208] str x0, [x29, #464] ldr x0, [x29, #464] ldr x0, [x0, #200] str x0, [x29, #512] strb wzr, [x29, #446] strb wzr, [x29, #447] ldr x0, [x26, #184] ldr w1, [x0, #140] ↓ cbnz w1, 2590 710: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x210 add x4, x29, #0x170 mov x1, x22 mov x5, #0xfd80 // #64896 movk x5, #0xf1de, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 73c: mov x0, x22 mov x1, #0x68c8 // #26824 0.10 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] 0.39 → blr x1 0.10 mov w26, w27 0.10 758: ldr w1, [x25, #68] 0.48 cmp w24, w1 ↓ b.ne 2918 0.48 ldr w1, [x25, #56] 0.29 cmp w26, w1 ↓ b.cs 1054 0.19 770: ldr x1, [x25, #16] 0.19 add w2, w26, #0x1 asr w27, w2, #0 0.19 ldr w2, [x1, #8] 0.87 cmp w26, w2 ↓ b.cs 2988 0.68 mov w2, #0x18 // #24 mov x0, #0x10 // #16 umaddl x2, w26, w2, x0 add x1, x1, x2 0.10 ldr w2, [x1, #20] 0.29 cmn w2, #0x1 ↓ b.lt 25b0 0.29 ldp x2, x26, [x1] 0.29 ↓ cbz x2, 2804 0.10 add x28, x2, #0xc ldr w3, [x2, #8] 1.45 str w3, [x29, #644] 0.10 mov w1, #0x21aa // #8618 0.10 movk w1, #0x9ef, lsl #16 0.10 cmp w3, w1 ↓ b.gt 2828 add x1, x22, #0x70 ldr x0, [x1] 0.10 ↓ cbz w3, 1ef0 0.19 str x28, [x29, #632] mov x1, x28 ↓ cbnz x0, 7f0 mov x0, #0x2e08 // #11784 movk x0, #0x3dc0, lsl #16 movk x0, #0xf481, lsl #32 ldr x0, [x0] 0.10 7f0: ldr x2, [x0] 0.29 mov x4, #0x73e8 // #29672 0.48 movk x4, #0xf1d9, lsl #16 0.10 movk x4, #0xf490, lsl #32 cmp x2, x4 0.10 ↓ b.ne 1f00 0.48 ldr x0, [x0, #8] ldrsb wzr, [x0] 0.87 mov w2, w3 0.19 mov x4, #0x7d08 // #32008 movk x4, #0xf1d7, lsl #16 0.10 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 0.19 asr w3, w0, #0 82c: str xzr, [x29, #632] cmn w3, #0x1 ↑ b.ne 550 ldr w0, [x22, #124] 0.58 ↓ tbz w0, #1, 1f1c 0.29 840: ldr w0, [x22, #124] 0.29 ↓ tbnz w0, #0, 1f50 0.19 mov w0, #0x3 // #3 ldr w2, [x29, #644] mul w0, w2, w0 add w0, w0, #0x4 0.10 ldr w1, [x22, #76] 0.10 ldr w3, [x22, #52] 0.19 sub w1, w1, w3 0.19 cmp w1, w0 ↓ b.ge 8d8 0.68 ldr w1, [x22, #76] ↓ cbnz w1, 2080 0.19 cmp w0, #0x100 ↓ b.gt 1f74 mov w1, #0x100 // #256 0.10 880: ldr x0, [x22, #16] 0.10 ↓ cbz x0, 2030 ldr x3, [x22, #24] 0.10 str x3, [x29, #120] ldrsb wzr, [x3] 0.29 ldr x0, [x3, #8] 0.10 ldr w0, [x0, #8] 1.36 ldr w4, [x3, #16] 0.10 sub w0, w0, w4 cmp w0, w1 0.10 ↓ b.lt 1f7c 0.58 8ac: ldr x15, [x3, #8] 0.10 ldr w0, [x3, #16] ↓ cbz x15, 201c 0.10 ldr w14, [x15, #8] 0.19 cmp w14, w0 ↓ b.cc 2900 0.19 ldr w14, [x15, #8] 0.19 sub w1, w14, w0 8cc: add x14, x22, #0x40 bl fffffffffe054a54 0.10 stp w0, w1, [x22, #72] 0.29 8d8: add x1, x22, #0x40 0.10 str x1, [x29, #104] 0.10 mov x3, xzr 0.10 mov w4, wzr 0.10 ldr x0, [x1] 0.19 ↓ cbz x0, 92c ldr x3, [x0] ldr w4, [x3] 0.68 tst w4, #0x80000000 0.29 ↓ b.eq 2184 0.87 add x3, x0, #0x10 ldr w4, [x0, #8] 908: ldr x1, [x29, #104] 0.10 ldp w5, w1, [x1, #8] and w5, w5, #0x7fffffff 0.10 mov w5, w5 add x0, x5, w1, uxtw cmp x0, w4, uxtw ↓ b.hi 2900 0.97 add x3, x3, x5 0.10 asr w4, w1, #0 0.19 92c: ldr w5, [x22, #40] 0.19 ↓ tbz w5, #31, 950 ldr w6, [x22, #52] add w5, w6, #0x1 0.10 str w5, [x22, #52] cmp w6, w4 0.10 ↓ b.cs 2988 0.10 mov w5, #0x2c // #44 strb w5, [x3, w6, uxtw #0] 0.10 950: ldr w6, [x22, #52] 0.10 add w5, w6, #0x1 str w5, [x22, #52] 0.10 cmp w6, w4 ↓ b.cs 2988 0.10 mov w5, #0x22 // #34 strb w5, [x3, w6, uxtw #0] 0.10 ldr w5, [x22, #52] 0.39 cmp w5, w4 0.10 ↓ b.hi 2900 0.29 mov w1, w5 str x3, [x29, #112] add x6, x3, x1 0.10 str w4, [x29, #572] sub w7, w4, w5 0.19 str x28, [x29, #560] 0.19 mov x5, x28 0.19 str x6, [x29, #552] 0.10 str x6, [x29, #128] 0.10 str x5, [x29, #544] 0.10 str x6, [x29, #536] 0.10 ldr w2, [x29, #644] 0.10 ↓ cbz w2, 9dc 0.19 mov x0, x28 mov x2, x6 add x5, x29, #0x218 add x4, x29, #0x220 ldr w1, [x29, #644] 0.10 mov w3, w7 mov x7, #0x78e8 // #30952 movk x7, #0xf127, lsl #16 0.10 movk x7, #0xf490, lsl #32 0.10 ldr x7, [x7] 0.29 → blr x7 0.10 ldr x6, [x29, #128] 0.78 9dc: ldr w1, [x29, #536] 0.29 sub w1, w1, w6 0.19 str xzr, [x29, #560] 0.19 str xzr, [x29, #552] 0.10 ldr w2, [x22, #52] add w6, w2, w1 0.10 str w6, [x22, #52] 0.10 add w1, w6, #0x1 0.10 str w1, [x22, #52] ldr w4, [x29, #572] 0.29 cmp w6, w4 0.10 ↓ b.cs 2988 0.78 mov w1, #0x22 // #34 ldr x3, [x29, #112] strb w1, [x3, w6, uxtw #0] 0.10 ldr w6, [x22, #52] 1.94 add w1, w6, #0x1 0.19 str w1, [x22, #52] 0.10 cmp w6, w4 0.10 ↓ b.cs 2988 0.29 mov w1, #0x3a // #58 0.19 strb w1, [x3, w6, uxtw #0] a34: ldr w0, [x22, #40] 0.19 and w0, w0, #0x7fffffff 0.10 str w0, [x22, #40] mov w0, #0x500 // #1280 sturh w0, [x22, #57] str x26, [x29, #528] 0.10 mov x0, #0x33d8 // #13272 0.10 movk x0, #0x3dc0, lsl #16 0.10 movk x0, #0xf481, lsl #32 0.19 ldr x26, [x0] 0.19 ↓ cbz x26, 21b0 0.19 a60: ldapurb w0, [x26, #159] 0.87 ↓ cbz w0, 21dc 0.39 a68: ldr x1, [x26, #24] 0.19 ↓ cbz x1, 21f8 0.19 a70: mov x26, x1 ↓ cbz x26, a90 mov x0, #0x5440 // #21568 0.10 movk x0, #0xf1dc, lsl #16 movk x0, #0xf490, lsl #32 0.19 ldr x2, [x26] 1.45 cmp x2, x0 ↓ b.ne 2240 0.19 a90: ldrb w0, [x26, #278] 0.97 ↓ cbnz w0, 2258 0.29 ldr x0, [x26, #200] 0.29 ldrb w0, [x0, #18] 1.94 ↑ cbz w0, 6c8 0.29 ldr x0, [x29, #528] 0.10 ↑ cbz x0, 6c8 ldr x28, [x26, #184] ldr x0, [x29, #528] 0.10 ldrsb wzr, [x28] 0.19 mov x1, #0x6670 // #26224 movk x1, #0xf158, lsl #16 0.10 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 0.19 mov x1, x0 str x1, [x29, #96] 0.39 mov x0, #0x25a8 // #9640 movk x0, #0x3cc0, lsl #16 0.10 movk x0, #0xf491, lsl #32 0.19 cmp x1, x0 ↑ b.eq 6c8 0.19 ldapur x26, [x28, #16] ↓ cbz x26, b00 0.19 ldr x0, [x26, #192] 0.19 cmp x0, x1 0.10 ldr x1, [x29, #96] 1.16 ↓ b.eq c68 0.39 b00: mov x26, xzr ldapurb w0, [x28, #158] ↓ cbz w0, c58 0.10 ldr x26, [x28, #8] 0.10 ↓ cbz x26, 2274 b14: ldr x2, [x26, #8] 0.10 str x2, [x29, #88] 0.10 mov x0, #0x3428 // #13352 0.10 movk x0, #0x3dc0, lsl #16 0.10 movk x0, #0xf481, lsl #32 0.10 ldr x3, [x0] ↓ cbz x3, 2298 0.10 b30: ldr x2, [x29, #88] 0.58 str x2, [x29, #56] mov x4, x1 0.10 stp x3, x4, [x29, #64] 0.19 ldrsb wzr, [x2] 0.97 ldapur x5, [x2, #8] 0.29 str x5, [x29, #48] 0.19 ldr x0, [x5, #8] 2.23 ldrb w6, [x2, #25] ↓ cbz w6, 2308 0.29 mov x0, x4 0.10 bl ffffffffff2e68e0 ↓ cbz w0, 2328 0.39 b64: asr w2, w0, #0 b68: str w2, [x29, #364] ldr x3, [x29, #48] 0.10 ldr x4, [x3, #8] 0.78 str x4, [x29, #40] 0.10 ldr x0, [x3, #16] 0.39 ldr x1, [x3, #40] 0.10 mov w5, w2 mul x1, x1, x5 0.10 lsr x1, x1, #32 add x1, x1, #0x1 0.19 ldr w5, [x0, #8] 0.68 mul x1, x1, x5 0.19 lsr x1, x1, #32 0.10 ldr w5, [x0, #8] 0.19 cmp w1, w5 ↓ b.cs 2988 2.52 ubfiz x1, x1, #3, #32 0.19 add x1, x1, #0x10 add x0, x0, x1 ldapr x5, [x0] 2.81 ↓ cbz x5, 234c 0.29 ↑ cbz x4, 594 0.10 ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0xf175, lsl #16 movk x1, #0xf490, lsl #32 0.10 cmp x0, x1 ↑ b.ne 594 0.10 bd8: ldr w0, [x5, #32] 4.85 cmp w2, w0 0.29 ↑ b.ne 574 0.68 str x5, [x29, #32] ldr x6, [x5, #8] 0.29 ↓ cbz x6, 2344 0.10 ldr x0, [x6] 0.97 mov x1, #0xa290 // #41616 0.39 movk x1, #0xf004, lsl #16 movk x1, #0xf490, lsl #32 0.29 cmp x0, x1 ↓ b.ne 2354 0.58 ldr x7, [x29, #96] cmp x7, x6 0.10 cset x8, eq // eq = none c14: ↓ cbz w8, 237c c18: ldr x5, [x29, #32] ldr x1, [x5, #16] 0.10 str x1, [x29, #352] 0.29 c24: ldr x2, [x29, #352] 1.45 str xzr, [x29, #352] 0.10 ldrb w0, [x2, #32] 5.04 ↓ cbz w0, 2464 0.78 ldr x0, [x2, #16] 0.19 ↓ cbnz x0, 2878 0.19 ldr x26, [x2, #8] 0.19 c40: ↓ cbz x26, 24cc 0.10 add x0, x26, #0x119 ldaprb w0, [x0] 1.07 cmp w0, #0x2 ↓ b.ne 248c 1.07 mov x1, x7 c58: ↓ cbz x26, 24ac 0.10 add x14, x28, #0x10 mov x15, x26 bl fffffffffe054a54 0.19 c68: add x0, x26, #0x11a 0.10 ldaprb w0, [x0] 0.10 ↓ cbz w0, 24d4 c74: ldr x0, [x26, #248] ↓ cbnz x0, 2508 0.10 c7c: ldr x0, [x26] mov x1, #0xc6a8 // #50856 movk x1, #0xf1e2, lsl #16 0.10 movk x1, #0xf490, lsl #32 0.10 cmp x0, x1 ↑ b.eq 5f4 0.10 mov x0, x26 mov x1, x22 ldr x2, [x29, #528] 0.10 ldr x3, [x26] 0.10 ldr x3, [x3, #64] 2.52 ldr x3, [x3, #56] 2.23 → blr x3 0.19 mov w26, w27 ↑ b 758 cb8: ldr w0, [x22, #76] ↓ cbnz w0, 1df8 ldr x0, [x22, #16] ↓ cbz x0, 1dac 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 1d10 ce4: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1d98 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2900 ldr w14, [x15, #8] sub w11, w14, w0 d04: add x14, x22, #0x40 bl fffffffffe054a54 stp w0, w11, [x22, #72] ↓ b 1204 d14: ldr w0, [x22, #124] ↑ tbz w0, #0, 4d0 ldr w0, [x22, #124] ↓ tbnz w0, #1, d84 ldrb w24, [x22, #56] ldrb w0, [x22, #58] cmp w24, #0x10 ccmp w24, w0, #0x4, ne // ne = any ↓ b.eq d50 mov x0, x22 mov x1, #0xc660 // #50784 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 d50: add x24, x22, #0x50 ldr w0, [x24, #16] cmp w0, #0x40 ↓ b.ge 1cac ldr x0, [x24, #8] lsl x0, x0, #1 orr x0, x0, #0x1 str x0, [x24, #8] d70: ldr w0, [x24, #16] add w0, w0, #0x1 str w0, [x24, #16] mov w0, #0x5 // #5 strb w0, [x22, #56] d84: ldp w0, w1, [x22, #40] and w0, w0, #0x7fffffff mul w24, w0, w1 add w1, w24, #0x4 ldr w0, [x22, #76] ldr w2, [x22, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.ge dc0 mov x0, x22 mov x2, #0x6af0 // #27376 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 dc0: add x26, x22, #0x40 mov x27, xzr mov w28, wzr ldr x0, [x26] ↓ cbz x0, e0c ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 1ccc add x27, x0, #0x10 ldr w28, [x0, #8] dec: ldp w0, w1, [x26, #8] and w0, w0, #0x7fffffff mov w0, w0 add x2, x0, w1, uxtw cmp x2, w28, uxtw ↓ b.hi 2900 add x27, x27, x0 asr w28, w1, #0 e0c: ldr w0, [x22, #40] ↓ tbz w0, #31, e30 ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w28 ↓ b.cs 2988 mov w1, #0x2c // #44 strb w1, [x27, w0, uxtw #0] e30: ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.eq e40 ↓ cbnz w0, e48 e40: ldrb w0, [x22, #57] ↓ cbz w0, f20 e48: ldr w0, [x22, #48] cmp w0, #0x2 ↓ b.ne e70 ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w28 ↓ b.cs 2988 mov w1, #0xd // #13 strb w1, [x27, w0, uxtw #0] e70: ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w28 ↓ b.cs 2988 mov w1, #0xa // #10 strb w1, [x27, w0, uxtw #0] ldr w0, [x22, #52] cmp w0, w28 ↓ b.hi 2900 mov w1, w0 add x1, x27, x1 sub w0, w28, w0 mov x2, x1 asr w3, w0, #0 ldrb w4, [x22, #60] cmp w24, #0x8 ↓ b.ge f40 mov w0, wzr cmp w24, #0x1 ↓ b.le efc ec4: add w1, w0, #0x1 cmp w0, w3 ↓ b.cs 2988 strb w4, [x2, w0, uxtw #0] asr w0, w1, #0 add w1, w0, #0x1 cmp w0, w3 ↓ b.cs 2988 strb w4, [x2, w0, uxtw #0] add w0, w1, #0x1 cmp w0, w24 ↓ b.ge f00 mov w0, w1 ↑ b ec4 efc: mov w1, w0 f00: cmp w1, w24 ↓ b.ge f14 cmp w1, w3 ↓ b.cs 2988 strb w4, [x2, w1, uxtw #0] f14: ldr w0, [x22, #52] add w0, w0, w24 str w0, [x22, #52] f20: ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w28 ↓ b.cs 2988 mov w1, #0x7b // #123 strb w1, [x27, w0, uxtw #0] ↓ b 1290 f40: cmp w24, w0 ↓ b.hi 2900 mov x0, x1 mov w2, w24 cmp x2, #0x10 ↑ b.cs 494 mov x1, xzr cmp x2, #0x8 ↓ b.cc fb0 and x3, x2, #0xfffffffffffffff8 f68: strb w4, [x0, x1, lsl #0] add x5, x1, #0x1 strb w4, [x0, x5, lsl #0] add x5, x1, #0x2 strb w4, [x0, x5, lsl #0] add x5, x1, #0x3 strb w4, [x0, x5, lsl #0] add x5, x1, #0x4 strb w4, [x0, x5, lsl #0] add x5, x1, #0x5 strb w4, [x0, x5, lsl #0] add x5, x1, #0x6 strb w4, [x0, x5, lsl #0] add x5, x1, #0x7 strb w4, [x0, x5, lsl #0] add x1, x1, #0x8 cmp x1, x3 ↑ b.cc f68 fb0: ↓ tbz w2, #2, fd4 strb w4, [x0, x1, lsl #0] add x3, x1, #0x1 strb w4, [x0, x3, lsl #0] add x3, x1, #0x2 strb w4, [x0, x3, lsl #0] add x3, x1, #0x3 strb w4, [x0, x3, lsl #0] add x1, x1, #0x4 fd4: ↓ tbz w2, #1, fe8 strb w4, [x0, x1, lsl #0] add x3, x1, #0x1 strb w4, [x0, x3, lsl #0] add x1, x1, #0x2 fe8: ↑ tbz w2, #0, f14 strb w4, [x0, x1, lsl #0] ↑ b f14 ff4: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↓ b 11a0 0.29 1004: ldr x0, [x24] 2.33 mov x1, #0xea30 // #59952 0.19 movk x1, #0xf12a, lsl #16 0.10 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 11a8 ldr w0, [x24, #8] 1.16 ↓ cbz w0, 1164 ldr w0, [x22, #124] ↓ tbz w0, #1, 1c58 102c: add x1, x24, #0xc ldr w2, [x24, #8] 0.10 mov x0, x22 mov w3, wzr mov x4, #0x7ea0 // #32416 movk x4, #0xf1d7, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] 0.19 → blr x4 ↓ b 1164 0.10 1054: ldr w0, [x22, #124] 0.10 and w0, w0, #0x3 0.10 cmp w0, #0x2 ↓ b.ne 12b8 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 0.10 cmp w0, #0x0 ↓ b.gt 10d0 0.29 ldr w0, [x22, #76] ↓ cbnz w0, 26ec ldr x0, [x22, #16] 0.10 ↓ cbz x0, 26a8 0.10 ldr x24, [x22, #24] ldr x0, [x24, #8] 0.58 ldr w0, [x0, #8] 0.39 ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 0.10 ↓ b.lt 25fc 0.58 10a4: ldr x15, [x24, #8] ldr w0, [x24, #16] 0.10 ↓ cbz x15, 2694 0.10 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2900 0.19 ldr w14, [x15, #8] sub w11, w14, w0 10c4: add x14, x22, #0x40 bl fffffffffe054a54 stp w0, w11, [x22, #72] 10d0: add x24, x22, #0x40 mov x25, xzr mov w1, wzr 0.10 ldr x0, [x24] 0.10 ↓ cbz x0, 111c 0.10 ldr x1, [x0] 0.10 ldr w1, [x1] 0.48 tst w1, #0x80000000 ↓ b.eq 27b8 0.78 add x25, x0, #0x10 ldr w1, [x0, #8] 0.10 10fc: ldp w0, w2, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 0.10 add x3, x0, w2, uxtw cmp x3, w1, uxtw ↓ b.hi 2900 0.29 add x25, x25, x0 0.10 asr w1, w2, #0 111c: ldr w0, [x22, #52] add w2, w0, #0x1 0.10 str w2, [x22, #52] 0.10 cmp w0, w1 ↓ b.cs 2988 mov w1, #0x7d // #125 strb w1, [x25, w0, uxtw #0] 0.10 1138: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] 0.19 ldr w0, [x22, #40] 0.19 tst w0, #0x7fffffff 0.10 ↓ b.eq 115c 0.10 ldr w0, [x22, #40] 0.19 sub w0, w0, #0x1 str w0, [x22, #40] 115c: mov w0, #0x2 // #2 strb w0, [x22, #58] 1164: ldr w0, [x19, #20] 0.19 cmp w20, w0 0.10 ↓ b.ne 2918 ldr w0, [x19, #16] cmp w23, w0 ↑ b.cs ff4 ldr x0, [x19, #8] ldr w1, [x0, #8] cmp w23, w1 ↓ b.cs 2988 add x0, x0, #0x10 0.10 ldr x1, [x0, w23, uxtw #3] 0.58 mov x24, x1 add w23, w23, #0x1 mov w0, #0x1 // #1 0.10 11a0: ↓ cbz w0, 1588 ↑ cbnz x24, 1004 0.29 11a8: mov x25, x24 ↓ cbz x25, 11c8 0.29 mov x0, #0xbe58 // #48728 movk x0, #0xf12b, lsl #16 movk x0, #0xf490, lsl #32 ldr x1, [x25] cmp x1, x0 ↓ b.ne 1c38 11c8: ↑ cbz x25, 1164 0.10 ldr w0, [x22, #40] 0.10 and w0, w0, #0x7fffffff ldr w1, [x22, #120] 0.10 cmp w0, w1 ↓ b.ge 1c90 11e0: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↑ b.ne d14 ldr w0, [x22, #76] 0.10 ldr w1, [x22, #52] sub w0, w0, w1 0.10 cmp w0, #0x2 ↑ b.lt cb8 1204: add x24, x22, #0x40 mov x1, xzr mov w2, wzr 0.10 ldr x0, [x24] ↓ cbz x0, 1250 ldr x1, [x0] 0.19 ldr w2, [x1] 0.10 tst w2, #0x80000000 ↓ b.eq 1ed4 0.29 add x1, x0, #0x10 ldr w2, [x0, #8] 1230: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2900 add x1, x1, x0 0.10 asr w2, w3, #0 1250: ldr w0, [x22, #40] ↓ tbz w0, #31, 1274 ldr w0, [x22, #52] 0.19 add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2988 0.10 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 0.19 1274: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2988 mov w2, #0x7b // #123 0.10 strb w2, [x1, w0, uxtw #0] 1290: ldr w1, [x22, #40] and w1, w1, #0x7fffffff str w1, [x22, #40] add w1, w1, #0x1 str w1, [x22, #40] mov w1, #0x1 // #1 strb w1, [x22, #58] 0.10 ldr w24, [x25, #68] 0.29 mov w26, wzr ↑ b 758 12b8: ldr w0, [x22, #124] ↓ tbz w0, #0, 154c ldr w0, [x22, #124] ↓ tbnz w0, #1, 12e4 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc678 // #50808 movk x2, #0xf1f5, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 12e4: ldrb w0, [x22, #58] cmp w0, #0x1 ↓ b.eq 14b0 ldrb w0, [x22, #58] cmp w0, #0x3 ↓ b.eq 14b0 ldp w0, w1, [x22, #40] and w0, w0, #0x7fffffff mul w24, w0, w1 ↓ cbz w24, 1314 ldr w0, [x22, #44] sub w24, w24, w0 1314: add w1, w24, #0x3 ldr w0, [x22, #76] ldr w2, [x22, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.ge 1344 mov x0, x22 mov x2, #0x6af0 // #27376 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 1344: add x25, x22, #0x40 mov x26, xzr mov w27, wzr ldr x0, [x25] ↓ cbz x0, 1390 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 25e0 add x26, x0, #0x10 ldr w27, [x0, #8] 1370: ldp w1, w0, [x25, #8] and w1, w1, #0x7fffffff mov w1, w1 add x2, x1, w0, uxtw cmp x2, w27, uxtw ↓ b.hi 2900 add x26, x26, x1 asr w27, w0, #0 1390: ldr w1, [x22, #48] cmp w1, #0x2 ↓ b.ne 13b8 ldr w1, [x22, #52] add w0, w1, #0x1 str w0, [x22, #52] cmp w1, w27 ↓ b.cs 2988 mov w0, #0xd // #13 strb w0, [x26, w1, uxtw #0] 13b8: ldr w1, [x22, #52] add w0, w1, #0x1 str w0, [x22, #52] cmp w1, w27 ↓ b.cs 2988 mov w0, #0xa // #10 strb w0, [x26, w1, uxtw #0] ldr w1, [x22, #52] cmp w1, w27 ↓ b.hi 2900 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 1460 mov w1, wzr cmp w24, #0x1 ↓ b.le 1444 140c: add w0, w1, #0x1 cmp w1, w3 ↓ b.cs 2988 strb w4, [x2, w1, uxtw #0] asr w1, w0, #0 add w0, w1, #0x1 cmp w1, w3 ↓ b.cs 2988 strb w4, [x2, w1, uxtw #0] add w1, w0, #0x1 cmp w1, w24 ↓ b.ge 1448 mov w1, w0 ↑ b 140c 1444: mov w0, w1 1448: cmp w0, w24 ↓ b.ge 1484 cmp w0, w3 ↓ b.cs 2988 strb w4, [x2, w0, uxtw #0] ↓ b 1484 1460: cmp w24, w1 ↓ b.hi 2900 mov w1, w24 mov w2, w4 mov x3, #0xc378 // #50040 movk x3, #0xf1f5, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 1484: 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 2988 mov w1, #0x7d // #125 strb w1, [x26, w0, uxtw #0] ↑ b 1138 14b0: ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 14e0 mov x0, x22 mov w1, #0x1 // #1 mov x2, #0x6af0 // #27376 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 14e0: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 152c ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 25c4 add x1, x0, #0x10 ldr w2, [x0, #8] 150c: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2900 add x1, x1, x0 asr w2, w3, #0 152c: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2988 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b 1138 154c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc678 // #50808 movk x2, #0xf1f5, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c40 // #27712 movk x2, #0xf1eb, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1138 1588: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 16a4 mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6c40 // #27712 movk x2, #0xf1eb, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 15b4: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 15d8 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 15d8: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 16c4 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c40 // #27712 movk x2, #0xf1eb, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 160c: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 1630 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 1630: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x68c8 // #26824 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0xf1a0, lsl #16 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 2930 mov x0, x21 mov x1, #0xbf30 // #48944 movk x1, #0xf1a0, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 1680: ↓ cbz x0, 2948 ldp x29, x30, [sp] add sp, sp, #0x2f0 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 16a4: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6c28 // #27688 movk x2, #0xf1eb, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b 15b4 16c4: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c28 // #27688 movk x2, #0xf1eb, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b 160c 16e4: mov x0, #0xbe58 // #48728 movk x0, #0xf1a0, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc558 // #50520 movk x2, #0xf1b9, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe054a54 ↑ b 80 1720: mov x0, xzr mov x1, #0x71f8 // #29176 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 173c: mov x0, #0x7ac0 // #31424 movk x0, #0xf128, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x20, x0 mov x0, #0xc168 // #49512 movk x0, #0xf1f5, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 mov x19, x0 mov w0, #0xffc7 // #65479 movk w0, #0x7fff, lsl #16 str w0, [x20, #8] mov x0, #0x4f00 // #20224 movk x0, #0xf136, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc180 // #49536 movk x2, #0xf1f5, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1a68 // #6760 movk x1, #0x3cc0, lsl #16 movk x1, #0xf491, lsl #32 mov x3, #0xea78 // #60024 movk x3, #0xf146, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e67b0 brk #0xf000 17d8: 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 180c: mov x0, #0x7210 // #29200 movk x0, #0xf1f5, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1824: mov x0, #0xe570 // #58736 movk x0, #0xf14e, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x21, x0 mov x0, #0x7228 // #29224 movk x0, #0xf1f5, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc918 // #51480 movk x2, #0xf1ca, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e67b0 brk #0xf000 1874: 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 1894 ldr w1, [x21, #36] lsl w1, w1, #1 1894: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 18c0 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 18c0: mov x0, x21 mov x2, #0xc088 // #49288 movk x2, #0xf1a0, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 18dc: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcf78 // #53112 movk x3, #0xf15e, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 1904: str w22, [x21, #28] ↑ b f4 190c: add x0, x29, #0x2e0 stp xzr, xzr, [x0] add x0, x29, #0x2e0 mov w1, #0x1 // #1 mov x2, #0x67f0 // #26608 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xb5e8 // #46568 movk x0, #0xf1a0, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x22, x0 ldr x2, [x29, #736] ldr x3, [x29, #744] mov x0, x22 mov x1, x21 mov x4, #0x6808 // #26632 movk x4, #0xf1d7, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe054a54 ↑ b 1a4 1978: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6dc0 // #28096 movk x0, #0xf1e4, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1998: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 19b4: mov x0, #0xe2b0 // #58032 movk x0, #0xf12b, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x21, x0 mov x0, #0x6928 // #26920 movk x0, #0xf1d7, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8a0 // #51360 movk x2, #0xf146, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e67b0 brk #0xf000 1a04: mov x0, #0x1b00 // #6912 movk x0, #0xf1d9, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x20, x0 mov x1, #0x6958 // #26968 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe054a54 ↑ b 174 1a3c: ↓ cbnz w0, 2900 mov x2, xzr mov w0, wzr ↑ b 154 1a4c: mov x0, x22 mov x1, #0x6a60 // #27232 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 1a68: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6a90 // #27280 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 1a88: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6af0 // #27376 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 1aa8: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 1ac4: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6ce8 // #27880 movk x4, #0xf1d7, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 1aec: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 1b08: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6d78 // #28024 movk x5, #0xf1d7, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 1b30: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1b48 ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 1b60 1b48: mov x0, x22 mov x1, #0x7df8 // #32248 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 1b60: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 1b80 ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 1b9c 1b80: mov x0, x23 mov w1, wzr mov x2, #0xc9c0 // #51648 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 1b9c: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 1bb4: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7db0 // #32176 movk x4, #0xf1d7, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 1bdc: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6af0 // #27376 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1bfc: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 1c18: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2988 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 1c38: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0xf127, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b 11c8 1c58: mov x0, x22 mov x1, #0xc228 // #49704 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 102c mov x0, x22 mov x1, #0xc240 // #49728 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 102c 1c90: mov x0, x22 mov x1, #0x6a60 // #27232 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 11e0 1cac: mov x0, x24 mov w1, #0x1 // #1 mov x2, #0xc9c0 // #51648 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b d70 1ccc: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x27, x0 mov w28, w1 ↑ b dec 1ce8: str q16, [x1, x3] ↑ b 4c4 1cf0: mov x0, x24 mov w1, #0x1 // #1 mov x2, #0xc9c0 // #51648 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b 51c 1d10: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1d28 asr w1, w0, #0 ↓ b 1d2c 1d28: mov w1, #0x100 // #256 1d2c: asr w2, w1, #0 ↓ cbnz w0, 1d38 asr w2, w1, #0 1d38: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1d7c 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 27d0 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1d7c: add x0, x24, #0x8 mov x2, #0x6c40 // #27712 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b ce4 1d98: ↓ cbnz w0, 2900 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b d04 1dac: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 str x0, [x29, #664] str x1, [x29, #672] add x14, x22, #0x40 ldr x15, [x29, #664] bl fffffffffe054a54 ldr w0, [x29, #672] ldr w1, [x29, #676] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 1204 ↓ b 28e8 1df8: ldr x0, [x22, #16] ↓ cbz x0, 1e58 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 27e8 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x1b98 // #7064 movk x2, #0xf1d9, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 str x0, [x29, #648] str x1, [x29, #656] ldr x15, [x29, #648] mov x14, x24 bl fffffffffe054a54 ldr w0, [x29, #656] ldr w1, [x29, #660] stp w0, w1, [x24, #8] ↑ b 1204 1e58: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0xf005, lsl #16 movk x11, #0xf490, 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, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 str x0, [x29, #680] str x1, [x29, #688] add x14, x22, #0x40 ldr x15, [x29, #680] bl fffffffffe054a54 ldr w0, [x29, #688] ldr w1, [x29, #692] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 1204 ↓ b 28e8 1ed4: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 1230 1ef0: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b 82c 1f00: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b 82c 1f1c: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1f34 ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne 840 1f34: mov x0, x22 mov x1, #0x7df8 // #32248 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 840 1f50: mov x1, x28 ldr w2, [x29, #644] mov x0, x22 mov x3, #0xcb28 // #52008 movk x3, #0xf1d7, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 ↑ b a34 1f74: asr w1, w0, #0 ↑ b 880 1f7c: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1f94 asr w4, w0, #0 ↓ b 1f98 1f94: asr w4, w1, #0 1f98: asr w5, w4, #0 ↓ cbnz w0, 1fb4 cmp w4, #0x100 ↓ b.ge 1fb0 mov w5, #0x100 // #256 ↓ b 1fb4 1fb0: asr w5, w4, #0 1fb4: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1ff8 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 2844 mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1ff8: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6c40 // #27712 movk x4, #0xf1d7, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #120] ↑ b 8ac 201c: ↓ cbnz w0, 2900 mov x15, xzr mov w0, wzr mov w1, wzr ↑ b 8cc 2030: ldr x0, [x22, #8] str w1, [x29, #596] mov x11, #0x2848 // #10312 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #600] str x1, [x29, #608] add x14, x22, #0x40 ldr x15, [x29, #600] bl fffffffffe054a54 ldr w0, [x29, #608] ldr w1, [x29, #612] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #596] cmp w0, w1 ↑ b.ge 8d8 ↓ b 28e8 2080: cmp w0, #0x1, lsl #12 ↓ b.le 2090 str w0, [x29, #592] ↓ b 2098 2090: mov w3, #0x1000 // #4096 str w3, [x29, #592] 2098: ldr x0, [x22, #16] ↓ cbz x0, 2104 ldr w0, [x22, #52] ldr w3, [x29, #592] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 285c add x3, x22, #0x40 str x3, [x29, #16] ldr x0, [x22, #24] mov x4, #0x1b98 // #7064 movk x4, #0xf1d9, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] ldr wzr, [x0] → blr x4 str x0, [x29, #576] str x1, [x29, #584] ldr x15, [x29, #576] ldr x14, [x29, #16] bl fffffffffe054a54 ldr w0, [x29, #584] ldr w1, [x29, #588] ldr x14, [x29, #16] stp w0, w1, [x14, #8] ↑ b 8d8 2104: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0xf005, lsl #16 movk x11, #0xf490, 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, #592] mov x11, #0x2840 // #10304 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #616] str x1, [x29, #624] add x14, x22, #0x40 ldr x15, [x29, #616] bl fffffffffe054a54 ldr w0, [x29, #624] ldr w1, [x29, #628] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #592] cmp w0, w1 ↑ b.ge 8d8 ↓ b 28e8 2184: 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 908 21b0: mov x0, #0x33d8 // #13272 movk x0, #0x3dc0, lsl #16 movk x0, #0xf481, lsl #32 mov w1, wzr mov x2, #0xd3b0 // #54192 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b a60 21dc: mov x0, x26 mov x1, #0xd908 // #55560 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b a68 21f8: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x25a8 // #9640 movk x1, #0x3cc0, lsl #16 movk x1, #0xf491, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xda28 // #55848 movk x6, #0xf1d7, lsl #16 movk x6, #0xf490, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe054a54 ↑ b a70 2240: mov x2, #0x63b8 // #25528 movk x2, #0xf127, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 2258: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #528] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 73c 2274: mov x0, x28 mov x2, #0xdae8 // #56040 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #96] ↑ b b14 2298: mov x0, #0xcb20 // #52000 movk x0, #0xf1dc, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x3, x0 str x3, [x29, #80] mov x0, x3 mov x1, xzr mov x2, #0xa0d0 // #41168 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0xf004, lsl #16 movk x3, #0xf490, lsl #32 mov x4, #0x7c48 // #31816 movk x4, #0xf127, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 mov x14, #0x3428 // #13352 movk x14, #0x3dc0, lsl #16 movk x14, #0xf481, lsl #32 ldr x15, [x29, #80] bl fffffffffe054a54 ldr x3, [x29, #80] mov x1, x3 ldr x1, [x29, #96] ↑ b b30 2308: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b b68 2328: ldr x0, [x29, #72] mov x1, #0xc6f0 // #50928 movk x1, #0xf146, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b b64 2344: ldr x5, [x29, #32] ↑ b 574 234c: ldr x7, [x29, #96] ↓ b 2404 2354: ldr x7, [x29, #96] mov x0, x6 mov x1, x7 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w8, w0, #0 ldr x7, [x29, #96] ↑ b c14 237c: ldr x5, [x29, #32] ↑ b 574 2384: ldr x7, [x29, #96] ↓ b 2404 238c: ldr x4, [x29, #40] ldr x7, [x29, #96] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #40] ldr x7, [x29, #96] ↑ b 5ec 23c4: ldr x5, [x29, #32] ldr x7, [x29, #96] ↑ b 588 23d0: ldr x7, [x29, #96] mov x0, x6 mov x1, x7 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w8, w0, #0 ldr x4, [x29, #40] ldr x7, [x29, #96] ↑ b 5ec 23fc: ldr x5, [x29, #32] ↑ b 588 2404: str xzr, [x29, #352] mov x1, x7 mov x2, x26 ldr x4, [x29, #64] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #364] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x160 ldr x1, [x29, #48] ldr x2, [x29, #96] ldr x0, [x29, #56] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0xf171, lsl #16 movk x8, #0xf490, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #96] ↑ b c24 2464: mov x0, x26 mov x1, x7 mov x3, #0xe088 // #57480 movk x3, #0xf1d7, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #96] ↑ b c40 248c: mov x0, x26 mov x1, #0xf0c0 // #61632 movk x1, #0xf1de, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ldr x1, [x29, #96] ↑ b c58 24ac: ldr x1, [x28, #32] ldr x0, [x29, #96] mov x2, #0xdad0 // #56016 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 24cc: mov x1, x7 ↑ b c58 24d4: mov x0, x26 mov x1, #0x42a0 // #17056 movk x1, #0xf1e4, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054a54 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b c74 2508: mov x26, x0 ↑ b c7c 2510: ldr x3, [x26, #328] mov x1, x22 ldr w2, [x29, #344] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 73c 252c: ldr x0, [x2, #56] mov w1, #0x1 // #1 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 str x0, [x29, #216] ldr x0, [x29, #24] ldr w0, [x0, #140] cmp w0, #0x2 ↑ b.ne 698 ldr x0, [x26, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 698 ldr x0, [x29, #216] mov x1, x28 ldr x2, [x29, #216] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 698 2590: ldr x0, [x0, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #400] ↑ b 710 25b0: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 770 ↑ b 1054 25c4: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 150c 25e0: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x26, x0 mov w27, w1 ↑ b 1370 25fc: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 2614 asr w1, w0, #0 ↓ b 2618 2614: mov w1, #0x100 // #256 2618: asr w2, w1, #0 ↓ cbnz w0, 2634 cmp w1, #0x100 ↓ b.ge 2630 mov w2, #0x100 // #256 ↓ b 2634 2630: asr w2, w1, #0 2634: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 2678 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 28b4 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 2678: add x0, x24, #0x8 mov x2, #0x6c40 // #27712 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ b 10a4 2694: ↓ cbnz w0, 2900 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 10c4 26a8: ldr x0, [x22, #8] mov x11, #0x2870 // #10352 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #152] add x14, x22, #0x40 ldr x15, [x29, #152] bl fffffffffe054a54 ldp w0, w1, [x29, #160] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 10d0 ↓ b 28e8 26ec: ldr x0, [x22, #16] ↓ cbz x0, 2744 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 28cc add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x1b98 // #7064 movk x2, #0xf1d9, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #136] ldr x15, [x29, #136] mov x14, x24 bl fffffffffe054a54 ldp w0, w1, [x29, #144] stp w0, w1, [x24, #8] ↑ b 10d0 2744: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2860 // #10336 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w11, [x22, #52] add x0, x0, w11, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov x11, #0x2868 // #10344 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #168] add x14, x22, #0x40 ldr x15, [x29, #168] bl fffffffffe054a54 ldp w0, w1, [x29, #176] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 10d0 ↓ b 28e8 27b8: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 ↑ b 10fc 27d0: mov x1, #0x6c88 // #27784 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27e8: mov w0, w1 mov x1, #0xca38 // #51768 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2804: mov x0, #0xcbe0 // #52192 movk x0, #0x3cc1, lsl #16 movk x0, #0xf491, lsl #32 mov x1, #0x76a8 // #30376 movk x1, #0xf1a5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2828: mov w0, w3 mov x1, #0xcaf8 // #51960 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2844: mov x1, #0x6c88 // #27784 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 285c: mov w0, w1 mov x1, #0xca38 // #51768 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2878: mov x1, #0xf090 // #61584 movk x1, #0xf1de, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2890: mov x0, #0x4328 // #17192 movk x0, #0x3cc0, lsl #16 movk x0, #0xf491, lsl #32 mov x1, #0x6aa8 // #27304 movk x1, #0xf1e4, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28b4: mov x1, #0x6c88 // #27784 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28cc: mov w0, w1 mov x1, #0xca38 // #51768 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28e8: mov x0, #0x6be0 // #27616 movk x0, #0xf1d7, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2900: mov x0, #0xdb00 // #56064 movk x0, #0xf146, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2918: mov x0, #0xec40 // #60480 movk x0, #0xf146, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2930: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 1680 2948: mov x0, #0xe88 // #3720 movk x0, #0xf12b, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2e6790 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0x3cc1, lsl #16 movk x1, #0xf491, lsl #32 mov x2, #0xf7b0 // #63408 movk x2, #0xf15e, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e67b0 brk #0xf000 2988: bl ffffffffff2961a8 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5009009004, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-40450-32644.so 0.50 stp x29, x30, [sp, #-64]! 0.50 stp x19, x20, [sp, #16] 0.50 stp x21, x22, [sp, #32] stp x23, x24, [sp, #48] mov x29, sp mov x19, x0 ldr x20, [x19, #16] 0.50 ↓ cbz x20, 1a4 0.99 20: stp xzr, xzr, [x19, #64] ↓ cbz x20, 39c 0.99 ldr w1, [x19, #52] 0.50 ↓ cbz w1, 174 1.98 ldr x0, [x19, #24] mov x2, x0 0.50 ldrsb wzr, [x2] 6.93 ↓ tbnz w1, #31, 1c4 0.99 ldr w3, [x2, #16] 1.98 ldr x4, [x2, #8] 1.49 ldr w4, [x4, #8] 7.43 sub w4, w4, w1 3.47 cmp w3, w4 ↓ b.gt 208 5.45 add w21, w3, w1 0.99 str w21, [x2, #16] str wzr, [x19, #52] ldr x0, [x0, #8] 0.50 ↓ cbz x0, 228 ldr w1, [x0, #8] 0.50 cmp w1, w21 ↓ b.cc 364 1.49 add x22, x0, #0x10 0.99 7c: ldr x0, [x20] mov x1, #0xbe58 // #48728 movk x1, #0xf1a0, lsl #16 0.99 movk x1, #0xf490, lsl #32 cmp x0, x1 0.99 ↓ b.ne 334 0.50 ldrb w0, [x20, #43] ↓ cbz w0, 238 0.50 ldrb w0, [x20, #41] ↓ cbz w0, 254 ldr w0, [x20, #28] 0.50 add w23, w0, w21 ↓ tbnz w23, #31, 26c 1.98 ldr w1, [x20, #32] cmp w23, w1 ↓ b.le d8 0.99 cmp w0, w1 cset x24, gt 0.50 ldr w0, [x20, #36] 0.50 cmp w23, w0 ↓ b.gt 2bc 0.50 d0: ↓ cbnz w24, 2e0 0.50 d4: str w23, [x20, #32] 0.50 d8: ldr x2, [x20, #16] 0.50 ldr w0, [x20, #28] 1.49 ↓ cbz x2, 308 0.99 mov w1, w0 add x1, x1, w21, uxtw ldr w3, [x2, #8] 0.50 cmp x1, x3 ↓ b.hi 364 0.99 add x2, x2, #0x10 mov w0, w0 add x0, x2, x0 asr w2, w21, #0 108: cmp w21, w2 ↓ b.gt 31c mov w2, w21 1.49 mov x1, x22 mov x3, #0x5848 // #22600 0.50 movk x3, #0xf127, lsl #16 0.50 movk x3, #0xf490, lsl #32 ldr x3, [x3] 2.48 → blr x3 0.50 str w23, [x20, #28] 130: ldp x20, x0, [x19, #24] 0.99 ldr w1, [x20, #16] 3.47 add x0, x0, w1, sxtw 0.99 str x0, [x19, #32] ldr x0, [x20, #8] 0.50 ↓ cbz x0, 354 0.50 ldr w2, [x0, #8] 9.90 cmp w2, w1 ↓ b.cc 364 5.45 add x0, x0, #0x10 0.99 158: mov w1, w1 0.99 mov x2, #0x5818 // #22552 movk x2, #0xf127, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 1.49 str wzr, [x20, #16] 174: ldr x0, [x19, #16] 3.96 ldr x1, [x0] 4.46 mov x2, #0xbe58 // #48728 4.95 movk x2, #0xf1a0, lsl #16 0.50 movk x2, #0xf490, lsl #32 cmp x1, x2 ↓ b.ne 37c 2.48 190: ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 0.50 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x6dc0 // #28096 movk x0, #0xf1e4, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xe2b0 // #58032 movk x0, #0xf12b, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2f7ee0 mov x19, x0 mov x1, xzr mov x2, #0x2820 // #10272 movk x2, #0x3cc0, lsl #16 movk x2, #0xf491, lsl #32 mov x3, #0xc450 // #50256 movk x3, #0xf15e, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2f7f00 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x6dd8 // #28120 movk x1, #0xf1e4, lsl #16 movk x1, #0xf490, 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, #0x71f8 // #29176 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x7210 // #29200 movk x0, #0xf1f5, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xe570 // #58736 movk x0, #0xf14e, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2f7ee0 mov x22, x0 mov x0, #0x7228 // #29224 movk x0, #0xf1f5, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc918 // #51480 movk x2, #0xf1ca, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2f7f00 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc5b8 // #50616 movk x2, #0xf1b9, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, d4 ↑ b d0 2e0: ldr w2, [x20, #32] sub w2, w23, w2 ldr w1, [x20, #32] ldr x0, [x20, #16] mov x3, #0xcf78 // #53112 movk x3, #0xf15e, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 ↑ b d4 308: orr w2, w0, w21 ↓ cbnz w2, 364 mov x0, xzr mov w2, wzr ↑ b 108 31c: mov x0, #0x4c60 // #19552 movk x0, #0xf17b, lsl #16 movk x0, #0xf490, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 334: mov x1, x22 mov w2, w21 mov x0, x20 ldr x3, [x20] ldr x3, [x3, #104] ldr x3, [x3, #48] → blr x3 ↑ b 130 354: ↓ cbnz w1, 364 mov x0, xzr mov w1, wzr ↑ b 158 364: mov x0, #0xdb00 // #56064 movk x0, #0xf146, lsl #16 movk x0, #0xf490, 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, #0xf005, lsl #16 movk x11, #0xf490, 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.): 5009009004, [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-40450-32664.so Percent stp x29, x30, [sp, #-112]! 1.60 stp x19, x20, [sp, #40] stp x21, x22, [sp, #56] 0.53 stp x23, x24, [sp, #72] 0.53 stp x25, x26, [sp, #88] 0.53 str x27, [sp, #104] 0.53 mov x29, sp 0.53 stp xzr, xzr, [x29, #24] str x4, [x29, #16] 2.14 mov x20, x0 mov x19, x1 mov x21, x2 0.53 mov x22, x3 ldr w0, [x19, #40] 2.67 and w23, w0, #0x7fffffff ldr w0, [x22, #136] 0.53 cmp w23, w0 ↓ b.ge 47c 1.07 ldrb w0, [x20, #24] ↓ cbnz w0, 58 0.53 ldr x0, [x21] ↓ cbz x0, 498 1.07 58: ldrb w0, [x20, #16] cmp w0, #0x2 1.60 ↓ b.ne 644 ldr x0, [x29, #16] ldrb w1, [x0, #144] 1.07 ↓ cbnz w1, 4b4 70: ldr x2, [x21] 1.07 ldr x1, [x20] mov x3, #0xaf50 // #44880 movk x3, #0xf1df, lsl #16 movk x3, #0xf490, lsl #32 cmp x1, x3 ↓ b.ne 458 ↓ cbz x2, 500 add x22, x2, #0x10 ldr w21, [x2, #8] ldr w1, [x19, #124] ↓ tbz w1, #1, 520 a0: ldr x0, [x29, #16] ldr w1, [x19, #124] 1.07 ↓ tbnz w1, #0, 558 mov w1, #0xfffd // #65533 movk w1, #0x5fff, lsl #16 cmp w21, w1 ↓ b.gt 580 add w1, w21, #0x2 mov w2, #0xaaab // #43691 movk w2, #0xaaaa, lsl #16 umull x1, w1, w2 lsr x1, x1, #33 lsl w24, w1, #2 add w1, w24, #0x3 ldr w2, [x19, #76] ldr w3, [x19, #52] sub w2, w2, w3 cmp w2, w1 ↓ b.lt 59c 0.53 ec: add x25, x19, #0x40 mov x26, xzr mov w27, wzr ldr x1, [x25] ↓ cbz x1, 138 ldr x2, [x1] ldr w2, [x2] tst w2, #0x80000000 ↓ b.eq 5bc add x26, x1, #0x10 ldr w27, [x1, #8] 118: ldp w1, w2, [x25, #8] and w1, w1, #0x7fffffff mov w1, w1 0.53 add x3, x1, w2, uxtw cmp x3, w27, uxtw ↓ b.hi 600 add x26, x26, x1 asr w27, w2, #0 138: ldr w1, [x19, #40] ↓ tbnz w1, #31, 5e0 140: ldr w1, [x19, #52] add w2, w1, #0x1 str w2, [x19, #52] 1.07 cmp w1, w27 ↓ b.cs 76c mov w2, #0x22 // #34 strb w2, [x26, w1, uxtw #0] ldr w1, [x19, #52] 1.07 cmp w1, w27 ↓ b.hi 600 1.07 mov w2, w1 add x2, x26, x2 sub w1, w27, w1 ↓ cbz w21, 3fc stp x2, x22, [x29, #24] 0.53 cmp w24, w1 ↓ b.gt 618 0.53 asr w3, w21, #0 188: mov x1, x22 mov x4, x2 add x5, x1, w21, uxtw add x6, x1, w3, uxtw cmp w3, #0x10 ↓ b.lt 2e4 sub x3, x6, #0x30 1.07 cmp x3, x1 ↓ b.cc 25c 0.53 mov x1, x22 mov x4, x2 1.07 1b4: ld3 {v16.16b-v18.16b}, [x1] 8.02 ushr v19.16b, v16.16b, #2 ushr v20.16b, v17.16b, #4 ldr q21, 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&)[OptimizedT ldr q22, 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&)[OptimizedT 0.53 ldr q23, 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&)[OptimizedT ldr q24, 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&)[OptimizedT 2.67 tbl v19.16b, {v21.16b-v24.16b}, v19.16b 1.07 sli v20.16b, v16.16b, #4 1.07 movi v16.16b, #0x3f and v16.16b, v20.16b, v16.16b ldr q20, 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&)[OptimizedT ldr q21, 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&)[OptimizedT ldr q22, 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&)[OptimizedT 1.07 ldr q23, 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&)[OptimizedT tbl v16.16b, {v20.16b-v23.16b}, v16.16b 1.07 ushr v20.16b, v18.16b, #6 sli v20.16b, v17.16b, #2 movi v17.16b, #0x3f and v17.16b, v20.16b, v17.16b ldr q20, 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&)[OptimizedT 1.07 ldr q21, 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&)[OptimizedT ldr q22, 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&)[OptimizedT ldr q23, 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&)[OptimizedT 0.53 tbl v17.16b, {v20.16b-v23.16b}, v17.16b movi v20.16b, #0x3f and v18.16b, v18.16b, v20.16b ldr q20, 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&)[OptimizedT 0.53 ldr q21, 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&)[OptimizedT 0.53 ldr q22, 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&)[OptimizedT 1.60 ldr q23, 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&)[OptimizedT 1.07 tbl v18.16b, {v20.16b-v23.16b}, v18.16b 2.14 mov v20.16b, v16.16b 0.53 mov v21.16b, v17.16b mov v22.16b, v18.16b st4 {v19.16b-v22.16b}, [x4] 5.35 add x1, x1, #0x30 add x4, x4, #0x40 1.07 cmp x1, x3 ↑ b.ls 1b4 0.53 cmp x1, x5 ↓ b.eq 3f4 0.53 25c: sub x3, x6, #0x10 0.53 cmp x3, x1 ↓ b.cc 2e4 movi v16.16b, #0x8f 26c: ldr q17, [x1] ldr q18, 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&)[OptimizedT tbl v17.16b, {v17.16b}, v18.16b ldr q18, 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&)[OptimizedT and v18.16b, v17.16b, v18.16b uzp1 v19.8h, v18.8h, v18.8h ushr v19.8h, v19.8h, #10 uzp2 v18.8h, v18.8h, v18.8h ushr v18.8h, v18.8h, #6 zip1 v18.8h, v19.8h, v18.8h ldr q19, 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&)[OptimizedT and v17.16b, v17.16b, v19.16b ldr q19, 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&)[OptimizedT mul v17.8h, v17.8h, v19.8h orr v17.16b, v18.16b, v17.16b movi v18.16b, #0x33 uqsub v18.16b, v17.16b, v18.16b movi v19.16b, #0x19 cmgt v19.16b, v17.16b, v19.16b sub v18.16b, v18.16b, v19.16b and v18.16b, v18.16b, v16.16b ldr q19, 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&)[OptimizedT tbl v18.16b, {v19.16b}, v18.16b add v17.16b, v17.16b, v18.16b str q17, [x4], #16 add x1, x1, #0xc cmp x1, x3 ↑ b.ls 26c cmp x1, x5 ↓ b.eq 3f4 2e4: mov x3, #0xf528 // #62760 movk x3, #0xf019, lsl #16 movk x3, #0xf490, lsl #32 1.07 sub x6, x6, #0x2 0.53 cmp x1, x6 ↓ b.cs 358 3.21 2fc: ldrb w7, [x1] 2.14 lsl w7, w7, #16 0.53 ldrb w8, [x1, #1] orr w7, w7, w8, lsl #8 0.53 ldrb w8, [x1, #2] 1.07 orr w7, w7, w8 lsr w8, w7, #18 ldrb w8, [x3, w8, uxtw #0] 10.70 lsr w9, w7, #12 and w9, w9, #0x3f 0.53 ldrb w9, [x3, w9, uxtw #0] orr w8, w8, w9, lsl #8 lsr w9, w7, #6 0.53 and w9, w9, #0x3f 0.53 ldrb w9, [x3, w9, uxtw #0] 0.53 orr w8, w8, w9, lsl #16 and w7, w7, #0x3f 0.53 ldrb w7, [x3, w7, uxtw #0] orr w7, w8, w7, lsl #24 0.53 str w7, [x4], #4 0.53 add x1, x1, #0x3 cmp x1, x6 ↑ b.cc 2fc 358: add x6, x6, #0x2 0.53 cmp x6, x5 ↓ b.ne 3f4 add x6, x1, #0x1 1.60 cmp x6, x5 ↓ b.eq 3c4 add x6, x1, #0x2 cmp x6, x5 ↓ b.ne 3f4 ldrb w5, [x1] lsl w5, w5, #16 ldrb w1, [x1, #1] orr w1, w5, w1, lsl #8 lsr w5, w1, #18 ldrb w5, [x3, w5, uxtw #0] lsr w6, w1, #12 and w6, w6, #0x3f ldrb w6, [x3, w6, uxtw #0] orr w5, w5, w6, lsl #8 lsr w1, w1, #6 and w1, w1, #0x3f ldrb w3, [x3, w1, uxtw #0] orr w1, w5, w3, lsl #16 mov w3, #0x3d000000 // #1023410176 orr w1, w1, w3 str w1, [x4] ↓ b 3f0 0.53 3c4: ldrb w1, [x1] lsl w1, w1, #8 lsr w5, w1, #10 ldrb w5, [x3, w5, uxtw #0] lsr w1, w1, #4 1.60 and w1, w1, #0x3f 0.53 ldrb w1, [x3, w1, uxtw #0] orr w1, w5, w1, lsl #8 mov w3, #0x3d3d0000 // #1027407872 orr w1, w1, w3 str w1, [x4] 3f0: add x4, x4, #0x4 3f4: sub w1, w4, w2 ↓ b 400 3fc: mov w1, wzr 400: stp xzr, xzr, [x29, #24] ldr w2, [x19, #52] add w1, w2, w1 str w1, [x19, #52] add w2, w1, #0x1 0.53 str w2, [x19, #52] 0.53 cmp w1, w27 ↓ b.cs 76c 0.53 mov w2, #0x22 // #34 strb w2, [x26, w1, uxtw #0] 428: ldr w1, [x19, #40] orr w1, w1, #0x80000000 str w1, [x19, #40] mov w1, #0x7 // #7 strb w1, [x19, #58] 43c: ldr w1, [x19, #40] 2.14 and w1, w1, #0x7fffffff cmp w23, w1 ↓ b.ne 628 3.21 44c: ldr x0, [x29, #16] 0.53 mov w5, #0x1 // #1 ↓ b 808 458: mov x0, x20 0.53 mov x1, x19 mov x3, x22 ldr x4, [x20] ldr x4, [x4, #96] 0.53 ldr x4, [x4, #48] 0.53 → blr x4 1.07 ldr x0, [x29, #16] 0.53 ↑ b 43c 47c: ldr w0, [x22, #136] mov x1, #0x6c10 // #27664 movk x1, #0xf1e4, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 498: mov x0, x19 mov x1, #0x6058 // #24664 movk x1, #0xf1eb, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 44c 4b4: ldrb w1, [x20, #27] ↑ cbz w1, 70 ldr x21, [x21] add x0, x0, #0x90 mov x1, #0x6c28 // #27688 movk x1, #0xf1e4, lsl #16 movk x1, #0xf490, 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 ldr x0, [x29, #16] ↑ b 43c 500: mov x0, x19 mov x1, #0x6058 // #24664 movk x1, #0xf1eb, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x29, #16] ↑ b 43c 520: mov x0, x19 mov x1, #0xc228 // #49704 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, a0 mov x0, x19 mov x1, #0xc240 // #49728 movk x1, #0xf1f5, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b a0 558: mov x1, x22 mov w2, w21 mov x0, x19 mov x3, #0x6b80 // #27520 movk x3, #0xf1eb, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 ldr x0, [x29, #16] ↑ b 428 580: mov w0, w21 mov x1, #0x7eb8 // #32440 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 59c: mov x0, x19 mov x2, #0x6af0 // #27376 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 ldr x0, [x29, #16] ↑ b ec 5bc: mov x0, x1 ldr x1, [x1] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x26, x0 mov w27, w1 ldr x0, [x29, #16] ↑ b 118 5e0: ldr w1, [x19, #52] add w2, w1, #0x1 str w2, [x19, #52] cmp w1, w27 ↓ b.cs 76c mov w2, #0x2c // #44 strb w2, [x26, w1, uxtw #0] ↑ b 140 600: mov x1, #0xdb00 // #56064 movk x1, #0xf146, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 618: asr w3, w1, #2 mov w1, #0x3 // #3 mul w3, w3, w1 ↑ b 188 628: mov x0, x20 mov x1, #0x6d30 // #27952 movk x1, #0xf1e4, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 644: ldr x0, [x29, #16] ldr w1, [x0, #68] cmp w1, #0x0 cset x23, ne // ne = any ldr x1, [x21] ↓ cbz x1, 774 ldrb w1, [x0, #142] cmp w1, #0x1 ↓ b.eq 774 mov x1, #0x6088 // #24712 movk x1, #0xf1eb, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 mov x2, x0 ldrb w1, [x20, #18] ↓ cbnz w1, 698 ldr x1, [x2, #160] cmp x1, #0x0 cset x1, ne // ne = any ↓ cbz w1, 6c4 698: ldr x1, [x21] mov x0, x20 mov x3, x22 ldr x4, [x29, #16] mov x5, #0x60b8 // #24760 movk x5, #0xf1eb, lsl #16 movk x5, #0xf490, lsl #32 ldr x5, [x5] → blr x5 mov x24, x0 ↓ b 6c8 6c4: mov x24, xzr 6c8: ↓ cbnz w23, 704 ldr w2, [x22, #140] ↓ cbz w2, 704 ldr x2, [x21] mov x0, x20 mov x1, x19 mov x3, x22 mov x4, x24 ldr x5, [x29, #16] mov x6, #0x60d0 // #24784 movk x6, #0xf1eb, lsl #16 movk x6, #0xf490, lsl #32 ldr x6, [x6] → blr x6 ↑ cbnz w0, 44c 704: ↓ cbz x24, 774 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, 800 ldrb w0, [x4, #143] ↓ cbz w0, 800 ldr x0, [x4, #32] ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #56] → blr x1 ↓ b 7f8 76c: bl ffffffffff2a5be8 ↓ cbz w0, 4c0 154: asr w28, w0, #0 158: ldp x26, x0, [x27, #8] ldr x1, [x27, #40] mov w2, w28 mul x1, x1, x2 lsr x1, x1, #32 add x1, x1, #0x1 ldr w2, [x0, #8] mov w3, w2 mul x1, x1, x3 lsr x1, x1, #32 cmp w1, w2 ↓ b.cs 6d4 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x2, [x0] ↓ cbz x2, 56c ↓ cbz x26, 2c0 ldr x0, [x26] mov x1, #0xba48 // #47688 movk x1, #0xf175, lsl #16 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 2c0 1b8: ldr w0, [x2, #32] cmp w28, w0 ↓ b.ne 2b4 str x2, [x29, #24] ldr x3, [x2, #8] ↓ cbz x3, 4dc ldr x0, [x3] mov x1, #0xa290 // #41616 movk x1, #0xf004, lsl #16 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 4e4 cmp x23, x3 cset x4, eq // eq = none 1f0: ↓ cbz w4, 504 1f4: ldr x2, [x29, #24] ldr x1, [x2, #16] str x1, [x29, #40] 200: ldr x2, [x29, #40] str xzr, [x29, #40] ldrb w0, [x2, #32] ↓ cbz w0, 5dc ldr x0, [x2, #16] ↓ cbnz x0, 5c4 ldr x21, [x2, #8] 21c: ↓ cbz x21, 230 add x0, x21, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 600 230: ↓ cbz x21, 61c add x14, x22, #0x10 mov x15, x21 bl fffffffffe064c34 240: add x0, x21, #0x11a ldaprb w0, [x0] ↓ cbz w0, 63c 24c: ldr x0, [x21, #248] cmp x0, #0x0 csel x21, x21, x0, eq // eq = none ldr x3, [x21] mov x0, #0xc6a8 // #50856 movk x0, #0xf1e2, lsl #16 movk x0, #0xf490, lsl #32 cmp x3, x0 ↓ b.eq 318 mov x0, x21 mov x1, x20 ldr x2, [x29, #208] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↓ b 3ec 28c: mov x1, #0xbee0 // #48864 movk x1, #0xf1e9, lsl #16 movk x1, #0xf490, lsl #32 mov x2, #0x71e0 // #29152 movk x2, #0xf146, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 ↑ b 60 2b4: ldapur x2, [x2, #24] ↑ cbnz x2, 1b8 ↓ b 56c 2c0: ldr w0, [x2, #32] cmp w28, w0 ↓ b.ne 538 str x2, [x29, #24] ldr x3, [x2, #8] ldr x0, [x26] mov x1, #0xba48 // #47688 movk x1, #0xf175, lsl #16 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 50c ↓ cbz x3, 534 ldr x0, [x3] mov x1, #0xa290 // #41616 movk x1, #0xf004, lsl #16 movk x1, #0xf490, lsl #32 cmp x0, x1 ↓ b.ne 544 cmp x23, x3 cset x4, eq // eq = none 310: ↓ cbz w4, 564 ↑ b 1f4 318: ldr x22, [x29, #208] mov x0, x22 mov x1, #0x6a60 // #27232 movk x1, #0xf1e4, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 str w0, [x29, #32] add x2, x29, #0x20 mov x0, x21 mov x1, x20 mov x3, x22 mov x4, #0x6a90 // #27280 movk x4, #0xf1e4, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 ↓ b 3ec 360: movi v16.16b, #0x0 stp q16, q16, [x29, #48] stp q16, q16, [x29, #80] stp q16, q16, [x29, #112] stp q16, q16, [x29, #144] 8.76 stp q16, q16, [x29, #176] 0.73 str x19, [x29, #152] 0.73 ldr x0, [x19, #208] str x0, [x29, #144] 0.73 ldr x0, [x29, #144] 5.84 ldr x0, [x0, #200] 8.03 str x0, [x29, #192] strb wzr, [x29, #126] strb wzr, [x29, #127] 1.46 ldr x22, [x19, #184] 0.73 ldr w0, [x22, #140] ↓ cbnz w0, 670 0.73 3a4: ldr x0, [x19, #344] ldr x3, [x19, #184] add x2, x29, #0xd0 add x4, x29, #0x30 mov x1, x20 0.73 mov x5, #0xfd80 // #64896 1.46 movk x5, #0xf1de, lsl #16 movk x5, #0xf490, lsl #32 0.73 ldr x5, [x5] ldr wzr, [x0] → blr x5 1.46 3d0: mov x0, x20 mov x1, #0x68c8 // #26824 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] 0.73 ldr wzr, [x0] 3.65 → blr x1 1.46 3ec: ldp x27, x28, [sp, #288] 1.46 ldp x25, x26, [sp, #272] 0.73 ldp x23, x24, [sp, #256] ldp x21, x22, [sp, #240] 0.73 ldp x19, x20, [sp, #224] 1.46 ldp x29, x30, [sp], #304 ← ret 408: ldr x3, [x19, #328] mov x1, x20 ldr x2, [x29, #208] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 3d0 424: mov x0, x22 mov x1, #0xdae8 // #56040 movk x1, #0xf1d7, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 mov x21, x0 ↑ b 118 444: mov x0, #0xcb20 // #52000 movk x0, #0xf1dc, lsl #16 movk x0, #0xf490, lsl #32 bl ffffffffff2f6970 mov x25, x0 mov x1, xzr mov x2, #0xa0d0 // #41168 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0xf004, lsl #16 movk x3, #0xf490, lsl #32 mov x4, #0x7c48 // #31816 movk x4, #0xf127, lsl #16 movk x4, #0xf490, lsl #32 ldr x4, [x4] → blr x4 mov x14, #0x3428 // #13352 movk x14, #0x3dc0, lsl #16 movk x14, #0xf481, lsl #32 mov x15, x25 bl fffffffffe064c34 ↑ b 130 4a0: mov x1, x26 mov x11, #0x27b0 // #10160 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 ldr x16, [x11] → blr x16 asr w28, w0, #0 ↑ b 158 4c0: mov x0, x26 mov x1, #0xc6f0 // #50928 movk x1, #0xf146, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 154 4dc: ldr x2, [x29, #24] ↑ b 2b4 4e4: mov x0, x3 mov x1, x23 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #16] → blr x3 asr w4, w0, #0 ↑ b 1f0 504: ldr x2, [x29, #24] ↑ b 2b4 50c: mov x0, x26 mov x2, x23 mov x1, x3 mov x11, #0x27b8 // #10168 movk x11, #0xf005, lsl #16 movk x11, #0xf490, lsl #32 ldr x16, [x11] → blr x16 asr w4, w0, #0 ↑ b 310 534: ldr x2, [x29, #24] 538: ldapur x2, [x2, #24] ↑ cbnz x2, 2c0 ↓ b 56c 544: mov x0, x3 mov x1, x23 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #16] → blr x3 asr w4, w0, #0 ↑ b 310 564: ldr x2, [x29, #24] ↑ b 538 56c: str xzr, [x29, #40] mov x1, x23 mov x2, x21 ldr x0, [x25, #8] ldr x3, [x25, #24] → blr x3 mov x4, x0 mov w3, w28 lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x28 mov x1, x27 mov x2, x23 mov x0, x24 mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0xf171, lsl #16 movk x8, #0xf490, lsl #32 ldr x8, [x8] → blr x8 ↑ b 200 5c4: mov x1, #0xf090 // #61584 movk x1, #0xf1de, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 5dc: mov x0, x21 mov x1, x23 mov x3, #0xe088 // #57480 movk x3, #0xf1d7, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 mov x21, x0 ↑ b 21c 600: mov x0, x21 mov x1, #0xf0c0 // #61632 movk x1, #0xf1de, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 ↑ b 230 61c: ldr x1, [x22, #32] mov x0, x23 mov x2, #0xdad0 // #56016 movk x2, #0xf1d7, lsl #16 movk x2, #0xf490, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 63c: mov x0, x21 mov x1, #0x42a0 // #17056 movk x1, #0xf1e4, lsl #16 movk x1, #0xf490, lsl #32 ldr x1, [x1] → blr x1 add x14, x21, #0xf8 mov x15, x0 bl fffffffffe064c34 add x0, x21, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 24c 670: ldr x0, [x22, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #80] ldr w0, [x22, #140] cmp w0, #0x2 ↑ b.ne 3a4 ↑ cbz x21, 3a4 ldr x0, [x19, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 3a4 ldr x0, [x29, #80] mov x1, x21 ldr x2, [x29, #80] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 3a4 6d4: bl ffffffffff2a6388 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5009009004, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-40450-32581.so 1.61 stp x29, x30, [sp, #-64]! 3.23 stp x19, x20, [sp, #32] 0.81 stp x21, x22, [sp, #48] mov x29, sp 0.81 str xzr, [x29, #24] 0.81 mov x19, x0 1.61 mov x21, x1 mov w20, w2 mov w22, wzr 1.61 cmp w20, #0x8 ↓ b.ge b0 1.61 2c: mov x0, xzr cmp w20, #0x0 csel x0, x0, x21, eq // eq = none 1.61 str x0, [x29, #24] 0.81 mov w1, w20 mov w2, w22 0.81 cmp x2, x1 ↓ b.cs 90 0.81 ldrsb wzr, [x19] 0.81 sub x3, x1, x2 0.81 cmp x3, #0x8 ↓ b.cs 154 0.81 5c: cmp x2, x1 ↓ b.cs 90 4.84 64: add x3, x19, #0x420 4.84 ldrh w4, [x0, x2, lsl #1] 2.42 lsr w5, w4, #5 6.45 ldr w3, [x3, w5, uxtw #2] 14.52 mov w5, #0x1 // #1 9.68 lsl w4, w5, w4 4.03 tst w3, w4 0.81 ↓ b.eq 90 16.94 add x2, x2, #0x1 4.84 cmp x2, x1 ↑ b.cc 64 0.81 90: mov w0, #0xffffffff // #-1 cmp w2, w1 0.81 csel w2, w2, w0, ne // ne = any mov w0, w2 0.81 ldp x21, x22, [sp, #48] 0.81 ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 0.81 ← ret b0: ldr x0, [x19, #24] ↓ cbz x0, 10c ldr x2, [x0] 4.03 mov x1, #0x8140 // #33088 movk x1, #0xf15f, lsl #16 0.81 movk x1, #0xf490, lsl #32 cmp x2, x1 ↓ b.ne 128 0.81 add x2, x0, #0x8 mov x0, x21 mov w1, w20 mov x3, #0x6c58 // #27736 movk x3, #0xf1eb, lsl #16 0.81 movk x3, #0xf490, lsl #32 ldr x3, [x3] → blr x3 0.81 f0: asr w22, w0, #0 cmp w22, w20 ↓ b.cc 144 0.81 fc: ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb38 // #60216 movk x1, #0xf146, lsl #16 movk x1, #0xf490, 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.): 5009009004, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-40450-32592.so 5.93 stp x29, x30, [sp, #-16]! 1.69 mov x29, sp 0.85 sub x3, x0, x1 sub x4, x1, x0 cmp x3, x2 0.85 ccmp x4, x2, #0x0, cs // cs = hs, nlast 1.69 ↓ b.cc 124 1.69 add x3, x1, x2 add x4, x0, x2 1.69 cmp x2, #0x10 ↓ b.ls d4 0.85 cmp x2, #0x40 ↓ b.ls 98 cmp x2, #0x100 ↓ b.cc 68 mov x5, x0 and x5, x5, #0x3f neg x5, x5 add x5, x5, #0x40 ldp q16, q17, [x1] stp q16, q17, [x0] 0.85 ldp q16, q17, [x1, #32] 0.85 stp q16, q17, [x0, #32] add x1, x1, x5 0.85 add x0, x0, x5 0.85 sub x2, x2, x5 68: lsr x5, x2, #6 3.39 6c: ldp q16, q17, [x1] 23.73 stp q16, q17, [x0] 3.39 ldp q16, q17, [x1, #32] 34.75 stp q16, q17, [x0, #32] 4.24 add x0, x0, #0x40 2.54 add x1, x1, #0x40 sub x5, x5, #0x1 ↑ cbnz x5, 6c 0.85 and x2, x2, #0x3f cmp x2, #0x10 ↓ b.ls a8 98: ldr q16, [x1] 1.69 str q16, [x0] cmp x2, #0x20 ↓ b.hi b8 0.85 a8: ldur q16, [x3, #-16] 1.69 stur q16, [x4, #-16] 0.85 b0: ldp x29, x30, [sp], #16 2.54 ← ret b8: ldr q16, [x1, #16] str q16, [x0, #16] cmp x2, #0x30 ↑ b.ls a8 ldr q16, [x1, #32] 0.85 str q16, [x0, #32] ↑ b a8 d4: tst w2, #0x18 ↓ b.eq f0 ldr x2, [x1] str x2, [x0] ldur x1, [x3, #-8] stur x1, [x4, #-8] ↑ b b0 f0: ↓ tbz w2, #2, 108 ldr w1, [x1] str w1, [x0] ldur w0, [x3, #-4] stur w0, [x4, #-4] ↑ b b0 108: ↑ cbz x2, b0 ldrb w1, [x1] strb w1, [x0] ↑ tbz w2, #1, b0 ldursh w0, [x3, #-2] sturh w0, [x4, #-2] ↑ b b0 124: cmp x0, x1 ↓ b.ne 134 ldrsb wzr, [x1] ↑ b b0 134: ldrsb wzr, [x0] ldrsb wzr, [x1] mov x3, #0x7030 // #28720 movk x3, #0xf1f5, lsl #16 movk x3, #0xf490, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3