Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-40368-32788.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, #0x380 stp x29, x30, [sp] mov x29, sp movi v16.16b, #0x0 add x9, x29, #0x118 add x10, x29, #0x340 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 38: dc zva, x9 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x19, x0 mov x0, #0xa008 // #40968 movk x0, #0x1138, lsl #16 movk x0, #0xe168, lsl #32 0.18 mov x1, #0x67f0 // #26608 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 1468 80: ldr x2, [x21] mov x1, #0xbe58 // #48728 movk x1, #0x11a0, lsl #16 movk x1, #0xe168, lsl #32 cmp x2, x1 ↓ b.ne 155c ldrb w2, [x21, #43] ↓ cbz w2, 14a4 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, 14c0 str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 1590 ↓ tbnz w22, #31, 15a8 ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 15f8 ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 1660 e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 1688 f4: ldr x22, [x20, #16] ↓ cbz x22, 1690 ldr x0, [x22, #16] ↓ cbz x0, 16fc 104: ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0x11a0, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 171c ldrb w20, [x21, #41] 120: ↓ cbz w20, 1738 add x14, x22, #0x10 mov x15, x21 bl fffffffffe054994 ldr x20, [x22, #24] ↓ cbz x20, 1788 ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 17c0 ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 2ae8 add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0x1127, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 str wzr, [x20, #16] 174: str xzr, [x22, #8] 0.09 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 17d0 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 17ec ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 180c 1dc: add x20, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x20] ↓ cbz x0, 228 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 182c 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 2ae8 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 2b78 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 2b78 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 w3, #0x1 // #1 strb w3, [x22, #58] mov x20, #0xcb44 // #52036 movk x20, #0x621, lsl #16 movk x20, #0xe168, lsl #32 and w3, w2, #0x7fffffff ldr w0, [x22, #120] cmp w3, w0 ↓ b.ge 1848 2a0: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #872] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0x5dc0, lsl #16 movk x2, #0xe158, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0x73e8 // #29672 movk x3, #0x11d9, lsl #16 movk x3, #0xe168, lsl #32 cmp x2, x3 ↓ b.ne 186c ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7d20 // #32032 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 304: str xzr, [x29, #872] cmn w4, #0x1 ↓ b.ne 1888 ldr w0, [x22, #124] ↓ tbz w0, #1, 18b0 318: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1934 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 195c 334: add x23, x22, #0x40 mov x24, xzr mov w25, wzr ldr x0, [x23] ↓ cbz x0, 380 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 197c add x24, x0, #0x10 ldr w25, [x0, #8] 360: ldp w2, w5, [x23, #8] and w2, w2, #0x7fffffff mov w2, w2 add x4, x2, w5, uxtw cmp x4, w25, uxtw 0.09 ↓ b.hi 2ae8 add x24, x24, x2 asr w25, w5, #0 380: ldr w2, [x22, #40] ↓ tbnz w2, #31, 1998 388: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2b78 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 2ae8 mov w5, w2 add x23, x24, x5 sub w3, w25, w2 str x20, [x29, #864] mov x2, x20 str x23, [x29, #856] str x2, [x29, #848] str x23, [x29, #840] mov x0, x20 mov x2, x23 add x5, x29, #0x348 add x4, x29, #0x350 mov w1, #0x7 // #7 mov x6, #0x78e8 // #30952 movk x6, #0x1127, lsl #16 movk x6, #0xe168, lsl #32 ldr x6, [x6] → blr x6 ldr w1, [x29, #840] sub w1, w1, w23 str xzr, [x29, #864] str xzr, [x29, #856] 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 2b78 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 2b78 0.09 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 2b78 mov w1, #0x5b // #91 strb w1, [x24, w23, uxtw #0] 464: 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 1314 490: ldr x7, [x29, #176] 494: ldapur x5, [x5, #24] ↓ cbz x5, 2120 ldr w2, [x29, #508] 4a0: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 490 str x5, [x29, #120] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0x1175, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 20a8 ldr x4, [x29, #128] ↓ cbz x6, 20e0 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x1004, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 20ec ldr x7, [x29, #176] cmp x7, x6 cset x8, eq // eq = none 4f8: ↓ cbz w8, 2118 ↓ b e0c 500: ldr w0, [x22, #124] ↓ tbz w0, #0, 54c ldr w0, [x22, #124] ↓ tbnz w0, #1, 52c mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc498 // #50328 movk x2, #0x11f6, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 52c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc4b0 // #50352 movk x2, #0x11f6, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↓ b 12e8 54c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc498 // #50328 movk x2, #0x11f6, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d48 // #27976 movk x2, #0x11ec, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↓ b 12e8 588: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 28b4 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 604 ldr w0, [x22, #76] ↓ cbnz w0, 29cc ldr x0, [x22, #16] ↓ cbz x0, 2988 ldr x19, [x22, #24] ldr x0, [x19, #8] ldr w0, [x0, #8] ldr w1, [x19, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 28d4 5d8: ldr x15, [x19, #8] ldr w0, [x19, #16] ↓ cbz x15, 2974 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2ae8 ldr w14, [x15, #8] sub w11, w14, w0 5f8: add x14, x22, #0x40 bl fffffffffe054994 stp w0, w11, [x22, #72] 604: add x19, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x19] ↓ cbz x0, 650 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 2acc add x1, x0, #0x10 ldr w2, [x0, #8] 630: ldp w0, w3, [x19, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2ae8 add x1, x1, x0 asr w2, w3, #0 650: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b78 mov w2, #0x5d // #93 strb w2, [x1, w0, uxtw #0] 66c: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 690 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 690: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 2b00 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d48 // #27976 movk x2, #0x11ec, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 6c4: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 6e8 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 6e8: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x68e0 // #26848 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0xbe58 // #48728 movk x1, #0x11a0, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 2b20 mov x0, x21 mov x1, #0xbf30 // #48944 movk x1, #0x11a0, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 738: ↓ cbz x0, 2b38 ldp x29, x30, [sp] add sp, sp, #0x380 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 0.09 75c: mov x0, x26 0.09 mov x1, x22 0.18 ldr x2, [x29, #672] ldr x3, [x26] 0.09 ldr x3, [x3, #64] 1.43 ldr x3, [x3, #56] 2.68 → blr x3 0.27 mov w26, w27 ↓ b 94c 780: ldapur x5, [x5, #24] ↓ cbz x5, 2374 ldr w2, [x29, #324] ↓ b 1004 790: ldr x7, [x29, #104] 794: ldapur x5, [x5, #24] ↓ cbz x5, 23f4 ldr w2, [x29, #324] 7a0: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 790 str x5, [x29, #24] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0x1175, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 237c ldr x4, [x29, #32] ↓ cbz x6, 23b4 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x1004, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 23c0 ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 7f8: ↓ cbz w8, 23ec ↓ b 1044 800: mov x0, x26 mov x1, x22 ldr x2, [x29, #488] ldr x3, [x26] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↓ b 8b0 0.18 820: movi v16.16b, #0x0 str xzr, [x29, #328] stp q16, q16, [x29, #336] stp q16, q16, [x29, #368] 0.09 stp q16, q16, [x29, #400] 0.09 stp q16, q16, [x29, #432] str q16, [x29, #464] str xzr, [x29, #480] str x28, [x29, #432] 0.09 ldr x0, [x28, #208] 0.09 str x0, [x29, #424] 0.09 ldr x0, [x29, #424] 0.18 ldr x0, [x0, #200] 0.27 str x0, [x29, #472] strb wzr, [x29, #406] strb wzr, [x29, #407] ldr x26, [x28, #184] ldr w0, [x26, #140] 0.09 ↓ cbnz w0, 2510 0.09 86c: ldr x0, [x28, #344] 0.09 ldr x3, [x28, #184] add x2, x29, #0x1e8 0.09 add x4, x29, #0x148 0.18 mov x1, x22 mov x5, #0xfe88 // #65160 movk x5, #0x11e0, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] 0.09 ldr wzr, [x0] → blr x5 0.27 898: mov x0, x22 mov x1, #0x68e0 // #26848 0.09 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 0.09 ldr x1, [x1] 0.09 → blr x1 8b0: str xzr, [x29, #488] 0.09 mov w26, w27 0.09 ↓ b 94c 8bc: add x0, x29, #0x200 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, #616] ldr x0, [x26, #208] str x0, [x29, #608] ldr x0, [x29, #608] ldr x0, [x0, #200] str x0, [x29, #656] strb wzr, [x29, #590] strb wzr, [x29, #591] ldr x0, [x26, #184] ldr w1, [x0, #140] ↓ cbnz w1, 2578 904: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x2a0 add x4, x29, #0x200 mov x1, x22 mov x5, #0xfe88 // #65160 movk x5, #0x11e0, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 930: mov x0, x22 mov x1, #0x68e0 // #26848 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 mov w26, w27 94c: ldr w1, [x25, #68] 0.18 cmp w24, w1 ↓ b.ne 289c 0.36 ldr w1, [x25, #56] cmp w26, w1 ↓ b.cs 1204 0.18 964: ldr x1, [x25, #16] add w2, w26, #0x1 asr w27, w2, #0 ldr w2, [x1, #8] 1.69 cmp w26, w2 ↓ b.cs 2b78 0.45 mov w2, #0x18 // #24 0.09 mov x0, #0x10 // #16 0.09 umaddl x2, w26, w2, x0 add x1, x1, x2 0.18 ldr w2, [x1, #20] 0.36 cmn w2, #0x1 ↓ b.lt 2598 0.09 ldp x2, x26, [x1] 0.36 ↓ cbz x2, 27c4 0.09 add x28, x2, #0xc 0.18 ldr w3, [x2, #8] 1.69 str w3, [x29, #788] mov w1, #0x21aa // #8618 0.18 movk w1, #0x9ef, lsl #16 0.09 cmp w3, w1 ↓ b.gt 27e8 0.27 add x1, x22, #0x70 0.09 ldr x0, [x1] 0.09 ↓ cbz w3, 1c2c 0.18 str x28, [x29, #776] mov x1, x28 0.09 ↓ cbnz x0, 9e4 0.18 mov x0, #0x2e08 // #11784 movk x0, #0x5dc0, lsl #16 movk x0, #0xe158, lsl #32 ldr x0, [x0] 0.18 9e4: ldr x2, [x0] 0.45 mov x4, #0x73e8 // #29672 0.18 movk x4, #0x11d9, lsl #16 0.18 movk x4, #0xe168, lsl #32 0.18 cmp x2, x4 0.18 ↓ b.ne 1c3c 0.36 ldr x0, [x0, #8] 0.09 ldrsb wzr, [x0] 0.71 mov w2, w3 0.18 mov x4, #0x7d20 // #32032 0.09 movk x4, #0x11d7, lsl #16 0.09 movk x4, #0xe168, lsl #32 ldr x4, [x4] 0.18 → blr x4 0.09 asr w3, w0, #0 0.09 a20: str xzr, [x29, #776] 0.18 cmn w3, #0x1 ↓ b.ne 11d0 ldr w0, [x22, #124] ↓ tbz w0, #1, 1c58 a34: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1c8c mov w0, #0x3 // #3 0.18 ldr w2, [x29, #788] mul w0, w2, w0 0.18 add w0, w0, #0x4 0.09 ldr w1, [x22, #76] ldr w3, [x22, #52] 0.09 sub w1, w1, w3 0.18 cmp w1, w0 ↓ b.ge acc 0.71 ldr w1, [x22, #76] 0.18 ↓ cbnz w1, 1dbc cmp w0, #0x100 ↓ b.gt 1cb0 0.09 mov w1, #0x100 // #256 a74: ldr x0, [x22, #16] 0.09 ↓ cbz x0, 1d6c 0.18 ldr x3, [x22, #24] 0.18 str x3, [x29, #200] ldrsb wzr, [x3] 0.18 ldr x0, [x3, #8] ldr w0, [x0, #8] 1.34 ldr w4, [x3, #16] sub w0, w0, w4 cmp w0, w1 ↓ b.lt 1cb8 0.80 aa0: ldr x15, [x3, #8] ldr w0, [x3, #16] ↓ cbz x15, 1d58 0.18 ldr w14, [x15, #8] 0.27 cmp w14, w0 ↓ b.cc 2ae8 ldr w14, [x15, #8] sub w1, w14, w0 ac0: add x14, x22, #0x40 0.09 bl fffffffffe054994 0.09 stp w0, w1, [x22, #72] 0.09 acc: add x1, x22, #0x40 0.18 str x1, [x29, #184] 0.09 mov x3, xzr 0.18 mov w4, wzr ldr x0, [x1] ↓ cbz x0, b20 ldr x3, [x0] 0.27 ldr w4, [x3] 0.54 tst w4, #0x80000000 0.09 ↓ b.eq 1ec0 0.62 add x3, x0, #0x10 0.09 ldr w4, [x0, #8] afc: ldr x1, [x29, #184] ldp w5, w1, [x1, #8] 0.09 and w5, w5, #0x7fffffff 0.18 mov w5, w5 0.09 add x0, x5, w1, uxtw 0.27 cmp x0, w4, uxtw ↓ b.hi 2ae8 1.52 add x3, x3, x5 0.18 asr w4, w1, #0 0.18 b20: ldr w5, [x22, #40] 0.09 ↓ tbz w5, #31, b44 ldr w6, [x22, #52] 0.18 add w5, w6, #0x1 str w5, [x22, #52] 0.09 cmp w6, w4 0.09 ↓ b.cs 2b78 mov w5, #0x2c // #44 strb w5, [x3, w6, uxtw #0] 0.27 b44: ldr w6, [x22, #52] 0.18 add w5, w6, #0x1 0.18 str w5, [x22, #52] 0.09 cmp w6, w4 ↓ b.cs 2b78 mov w5, #0x22 // #34 0.09 strb w5, [x3, w6, uxtw #0] 0.09 ldr w5, [x22, #52] 0.98 cmp w5, w4 ↓ b.hi 2ae8 0.80 mov w1, w5 str x3, [x29, #192] 0.09 add x6, x3, x1 0.09 str w4, [x29, #716] sub w7, w4, w5 str x28, [x29, #704] 0.09 mov x5, x28 str x6, [x29, #696] str x6, [x29, #208] 0.09 str x5, [x29, #688] str x6, [x29, #680] ldr w2, [x29, #788] 0.09 ↓ cbz w2, bd0 mov x0, x28 mov x2, x6 0.09 add x5, x29, #0x2a8 add x4, x29, #0x2b0 0.09 ldr w1, [x29, #788] 0.09 mov w3, w7 0.18 mov x7, #0x78e8 // #30952 0.09 movk x7, #0x1127, lsl #16 movk x7, #0xe168, lsl #32 0.09 ldr x7, [x7] 0.18 → blr x7 0.27 ldr x6, [x29, #208] 0.71 bd0: ldr w1, [x29, #680] sub w1, w1, w6 0.18 str xzr, [x29, #704] str xzr, [x29, #696] 0.09 ldr w2, [x22, #52] 0.09 add w6, w2, w1 0.27 str w6, [x22, #52] add w1, w6, #0x1 str w1, [x22, #52] 0.36 ldr w4, [x29, #716] 0.27 cmp w6, w4 0.09 ↓ b.cs 2b78 0.71 mov w1, #0x22 // #34 ldr x3, [x29, #192] 0.09 strb w1, [x3, w6, uxtw #0] 0.18 ldr w6, [x22, #52] 1.25 add w1, w6, #0x1 0.71 str w1, [x22, #52] cmp w6, w4 ↓ b.cs 2b78 0.36 mov w1, #0x3a // #58 strb w1, [x3, w6, uxtw #0] 0.18 c28: ldr w0, [x22, #40] and w0, w0, #0x7fffffff 0.18 str w0, [x22, #40] 0.09 mov w0, #0x500 // #1280 0.09 sturh w0, [x22, #57] str x26, [x29, #672] 0.27 mov x0, #0x33d8 // #13272 0.09 movk x0, #0x5dc0, lsl #16 0.27 movk x0, #0xe158, lsl #32 0.09 ldr x26, [x0] 0.27 ↓ cbz x26, 1eec c54: ldapurb w0, [x26, #159] 0.54 ↓ cbz w0, 1f18 0.18 c5c: ldr x1, [x26, #24] 0.36 ↓ cbz x1, 1f34 0.18 c64: mov x26, x1 ↓ cbz x26, c84 0.18 mov x0, #0x2258 // #8792 0.18 movk x0, #0x11dd, lsl #16 0.09 movk x0, #0xe168, lsl #32 0.09 ldr x2, [x26] 1.96 cmp x2, x0 ↓ b.ne 1f7c 1.25 c84: ldrb w0, [x26, #278] 0.27 ↓ cbnz w0, 1f94 0.18 ldr x0, [x26, #200] 0.09 ldrb w0, [x0, #18] 1.87 ↑ cbz w0, 8bc 0.80 ldr x0, [x29, #672] 0.27 ↑ cbz x0, 8bc 0.09 ldr x28, [x26, #184] 0.09 ldr x0, [x29, #672] ldrsb wzr, [x28] 0.27 mov x1, #0x6670 // #26224 movk x1, #0x1158, lsl #16 0.09 movk x1, #0xe168, lsl #32 ldr x1, [x1] 0.18 → blr x1 mov x1, x0 0.18 str x1, [x29, #176] 0.09 mov x0, #0x25a8 // #9640 0.09 movk x0, #0x620, lsl #16 0.18 movk x0, #0xe168, lsl #32 cmp x1, x0 ↑ b.eq 8bc 0.09 ldapur x26, [x28, #16] ↓ cbz x26, cf4 0.09 ldr x0, [x26, #192] 0.09 cmp x0, x1 0.09 ldr x1, [x29, #176] 1.52 ↓ b.eq e58 0.18 cf4: mov x26, xzr ldapurb w0, [x28, #158] ↓ cbz w0, 203c 0.18 ldr x26, [x28, #8] ↓ cbz x26, 1fb0 d08: ldr x2, [x26, #8] 0.09 str x2, [x29, #168] mov x0, #0x3428 // #13352 movk x0, #0x5dc0, lsl #16 0.09 movk x0, #0xe158, lsl #32 ldr x3, [x0] 0.09 ↓ cbz x3, 1fd4 0.36 d24: ldr x2, [x29, #168] 0.18 str x2, [x29, #144] 0.18 mov x4, x1 0.09 stp x3, x4, [x29, #152] 0.09 ldrsb wzr, [x2] 0.80 ldapur x5, [x2, #8] 0.27 str x5, [x29, #136] 0.09 ldr x0, [x5, #8] 1.78 ldrb w6, [x2, #25] ↓ cbz w6, 201c mov x0, x4 bl ffffffffff2e6820 ↓ cbz w0, 2044 0.18 d58: asr w2, w0, #0 0.36 d5c: str w2, [x29, #508] 0.18 ldr x3, [x29, #136] 0.09 ldr x4, [x3, #8] 0.36 str x4, [x29, #128] 0.18 ldr x0, [x3, #16] 0.18 ldr x1, [x3, #40] 0.27 mov w5, w2 0.18 mul x1, x1, x5 lsr x1, x1, #32 0.09 add x1, x1, #0x1 ldr w5, [x0, #8] 0.71 mul x1, x1, x5 0.54 lsr x1, x1, #32 0.09 ldr w5, [x0, #8] 0.18 cmp w1, w5 ↓ b.cs 2b78 1.87 ubfiz x1, x1, #3, #32 0.09 add x1, x1, #0x10 add x0, x0, x1 0.09 ldapr x5, [x0] 3.03 ↓ cbz x5, 2068 0.09 ↑ cbz x4, 4a0 0.09 ldr x0, [x4] 0.18 mov x1, #0xba48 // #47688 0.09 movk x1, #0x1175, lsl #16 0.18 movk x1, #0xe168, lsl #32 cmp x0, x1 ↑ b.ne 4a0 0.18 dcc: ldr w0, [x5, #32] 3.66 cmp w2, w0 ↓ b.ne 11f4 0.89 str x5, [x29, #120] ldr x6, [x5, #8] 0.36 ↓ cbz x6, 2060 0.18 ldr x0, [x6] 1.61 mov x1, #0xa290 // #41616 0.62 movk x1, #0x1004, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 2070 0.80 ldr x7, [x29, #176] cmp x7, x6 cset x8, eq // eq = none 0.09 e08: ↓ cbz w8, 2098 0.27 e0c: ldr x5, [x29, #120] ldr x1, [x5, #16] 0.18 str x1, [x29, #496] 0.36 e18: ldr x2, [x29, #496] 1.25 str xzr, [x29, #496] ldrb w0, [x2, #32] 3.84 ↓ cbz w0, 2180 0.71 ldr x0, [x2, #16] ↓ cbnz x0, 2838 0.27 ldr x26, [x2, #8] e34: ↓ cbz x26, e48 0.18 add x0, x26, #0x119 ldaprb w0, [x0] 2.32 cmp w0, #0x2 0.09 ↓ b.ne 21a8 1.25 e48: ↓ cbz x26, 21c8 0.18 add x14, x28, #0x10 0.09 mov x15, x26 bl fffffffffe054994 0.18 e58: add x0, x26, #0x11a 0.09 ldaprb w0, [x0] ↓ cbz w0, 21e8 e64: ldr x0, [x26, #248] 0.18 ↓ cbnz x0, 221c e6c: ldr x0, [x26] 0.09 mov x1, #0xca40 // #51776 0.09 movk x1, #0x11e9, lsl #16 movk x1, #0xe168, lsl #32 0.09 cmp x0, x1 ↑ b.ne 75c mov x28, x26 0.09 ldr x1, [x29, #672] str x1, [x29, #112] 0.09 mov x0, x1 ↓ cbz x0, eb0 mov x2, #0xea30 // #59952 0.09 movk x2, #0x112a, lsl #16 movk x2, #0xe168, lsl #32 ldr x3, [x0] cmp x3, x2 ↓ b.ne 2224 eb0: str x0, [x29, #488] 0.09 ldrb w0, [x28, #278] ↓ cbnz w0, 2244 ldr x0, [x28, #200] 0.18 ldrb w0, [x0, #18] 0.09 ↑ cbz w0, 820 ldr x0, [x29, #488] ↑ cbz x0, 820 ldr x26, [x28, #184] ldr x0, [x29, #488] ldrsb wzr, [x26] mov x2, #0x6670 // #26224 movk x2, #0x1158, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x1, x0 str x1, [x29, #104] mov x0, #0x25a8 // #9640 movk x0, #0x620, lsl #16 movk x0, #0xe168, lsl #32 cmp x1, x0 ↓ b.eq 2504 ldapur x2, [x26, #16] ↓ cbz x2, f28 ldr x0, [x2, #192] cmp x0, x1 mov x1, x2 ↓ b.eq 1098 ldr x1, [x29, #104] f28: mov x2, xzr ldapurb w0, [x26, #158] ↓ cbz w0, 1084 ldr x2, [x26, #8] ↓ cbz x2, 2260 f3c: str x2, [x29, #88] ldr x3, [x2, #8] str x3, [x29, #80] mov x0, #0x3428 // #13352 movk x0, #0x5dc0, lsl #16 movk x0, #0xe158, lsl #32 ldr x4, [x0] ↓ cbz x4, 2288 f5c: ldr x3, [x29, #80] str x3, [x29, #48] mov x5, x1 stp x4, x5, [x29, #56] ldrsb wzr, [x3] ldapur x6, [x3, #8] str x6, [x29, #40] ldr x0, [x6, #8] ldrb w7, [x3, #25] ↓ cbz w7, 22f8 mov x0, x5 bl ffffffffff2e6820 ↓ cbz w0, 2318 f90: asr w2, w0, #0 f94: str w2, [x29, #324] ldr x3, [x29, #40] ldr x4, [x3, #8] str x4, [x29, #32] ldr x0, [x3, #16] ldr x1, [x3, #40] mov w5, w2 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 ldr w5, [x0, #8] mul x1, x1, x5 lsr x1, x1, #32 ldr w5, [x0, #8] cmp w1, w5 ↓ b.cs 2b78 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x5, [x0] ↓ cbz x5, 233c ↑ cbz x4, 7a0 ldr x0, [x4] mov x1, #0xba48 // #47688 movk x1, #0x1175, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↑ b.ne 7a0 1004: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 780 str x5, [x29, #24] ldr x6, [x5, #8] ↓ cbz x6, 2334 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x1004, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 2344 ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 1040: ↓ cbz w8, 236c 1044: ldr x5, [x29, #24] ldr x1, [x5, #16] str x1, [x29, #312] 1050: ldr x2, [x29, #312] str xzr, [x29, #312] ldrb w0, [x2, #32] ↓ cbz w0, 2454 ldr x0, [x2, #16] ↓ cbnz x0, 2850 ldr x2, [x2, #8] 106c: ↓ cbz x2, 24c0 add x0, x2, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 247c mov x1, x7 1084: ↓ cbz x2, 24a0 mov x1, x2 add x14, x26, #0x10 mov x15, x1 bl fffffffffe054994 1098: mov x26, x1 add x0, x26, #0x11a ldaprb w0, [x0] ↓ cbz w0, 24c8 10a8: ldr x0, [x26, #248] ↓ cbnz x0, 24fc 10b0: mov w0, #0x1 // #1 10b4: ↑ cbz w0, 820 ldr x0, [x26] mov x1, #0xca40 // #51776 movk x1, #0x11e9, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↑ b.ne 800 mov x0, x26 mov x1, x22 ldr x2, [x29, #488] mov x3, #0x818 // #2072 movk x3, #0x11dd, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 ↑ b 8b0 10f4: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↓ b 1350 1104: ldr x0, [x24] 2.32 mov x1, #0xea30 // #59952 0.62 movk x1, #0x112a, lsl #16 movk x1, #0xe168, lsl #32 cmp x0, x1 ↓ b.ne 1358 0.09 ldr w0, [x24, #8] 0.80 ↓ cbz w0, 1314 0.18 ldr w0, [x22, #124] ↓ tbz w0, #1, 19d8 0.18 112c: add x1, x24, #0xc ldr w2, [x24, #8] mov x0, x22 mov w3, wzr mov x4, #0x7eb8 // #32440 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 0.09 ldr x4, [x4] 0.36 → blr x4 ↓ b 1314 1154: ldr w0, [x22, #76] ↓ cbnz w0, 1b14 ldr x0, [x22, #16] ↓ cbz x0, 1ac8 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 1a2c 1180: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1ab4 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2ae8 ldr w14, [x15, #8] sub w11, w14, w0 11a0: add x14, x22, #0x40 bl fffffffffe054994 stp w0, w11, [x22, #72] ↓ b 13b4 11b0: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6aa8 // #27304 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↓ b 1440 11d0: mov x1, x28 ldr w2, [x29, #788] mov x0, x22 mov x4, #0xcbd0 // #52176 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 ↑ b c28 0.27 11f4: ldapur x5, [x5, #24] 0.09 ↓ cbz x5, 20a0 ldr w2, [x29, #508] ↑ b dcc 1204: ldr w0, [x22, #124] 0.27 and w0, w0, #0x3 cmp w0, #0x2 ↑ b.ne 500 0.45 ldr w0, [x22, #76] ldr w1, [x22, #52] 0.09 sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 1280 ldr w0, [x22, #76] ↓ cbnz w0, 26a0 ldr x0, [x22, #16] 0.09 ↓ cbz x0, 2658 ldr x24, [x22, #24] ldr x0, [x24, #8] 0.27 ldr w0, [x0, #8] 0.45 ldr w1, [x24, #16] 0.09 sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 25ac 0.18 1254: ldr x15, [x24, #8] 0.09 ldr w0, [x24, #16] ↓ cbz x15, 2644 ldr w14, [x15, #8] 0.18 cmp w14, w0 ↓ b.cc 2ae8 ldr w14, [x15, #8] 0.09 sub w11, w14, w0 0.09 1274: add x14, x22, #0x40 bl fffffffffe054994 stp w0, w11, [x22, #72] 0.18 1280: add x24, x22, #0x40 mov x1, xzr mov w2, wzr 0.09 ldr x0, [x24] 0.09 ↓ cbz x0, 12cc ldr x1, [x0] 0.27 ldr w2, [x1] 0.45 tst w2, #0x80000000 ↓ b.eq 2774 0.36 add x1, x0, #0x10 ldr w2, [x0, #8] 0.09 12ac: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw 0.09 ↓ b.hi 2ae8 0.36 add x1, x1, x0 asr w2, w3, #0 12cc: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b78 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] 0.09 12e8: ldr w0, [x22, #40] orr w0, w0, #0x80000000 0.09 str w0, [x22, #40] 0.18 ldr w0, [x22, #40] 0.27 tst w0, #0x7fffffff ↓ b.eq 130c 0.45 ldr w0, [x22, #40] 0.09 sub w0, w0, #0x1 str w0, [x22, #40] 130c: mov w0, #0x2 // #2 0.09 strb w0, [x22, #58] 1314: ldr w0, [x19, #20] 0.09 cmp w20, w0 ↓ b.ne 289c ldr w0, [x19, #16] cmp w23, w0 ↑ b.cs 10f4 ldr x0, [x19, #8] ldr w1, [x0, #8] 0.18 cmp w23, w1 ↓ b.cs 2b78 0.09 add x0, x0, #0x10 0.09 ldr x1, [x0, w23, uxtw #3] 0.62 mov x24, x1 add w23, w23, #0x1 0.09 mov w0, #0x1 // #1 1350: ↑ cbz w0, 588 ↑ cbnz x24, 1104 0.18 1358: mov x25, x24 ↓ cbz x25, 1378 mov x0, #0xbe58 // #48728 0.18 movk x0, #0x112b, lsl #16 0.09 movk x0, #0xe168, lsl #32 ldr x1, [x25] 0.09 cmp x1, x0 ↓ b.ne 19b8 0.18 1378: ↑ cbz x25, 1314 ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1a10 1390: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↑ b.ne 11b0 ldr w0, [x22, #76] ldr w1, [x22, #52] 0.09 sub w0, w0, w1 0.18 cmp w0, #0x2 ↑ b.lt 1154 0.09 13b4: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] 0.09 ↓ cbz x0, 1400 ldr x1, [x0] ldr w2, [x1] 0.27 tst w2, #0x80000000 0.09 ↓ b.eq 1c10 0.18 add x1, x0, #0x10 0.09 ldr w2, [x0, #8] 13e0: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw 0.09 cmp x4, w2, uxtw 0.09 ↓ b.hi 2ae8 add x1, x1, x0 0.09 asr w2, w3, #0 1400: ldr w0, [x22, #40] ↓ tbz w0, #31, 1424 ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] 0.09 cmp w0, w2 ↓ b.cs 2b78 mov w3, #0x2c // #44 0.09 strb w3, [x1, w0, uxtw #0] 1424: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b78 0.18 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] 1440: ldr w1, [x22, #40] and w1, w1, #0x7fffffff str w1, [x22, #40] add w1, w1, #0x1 0.09 str w1, [x22, #40] mov w1, #0x1 // #1 strb w1, [x22, #58] ldr w24, [x25, #68] 0.36 mov w26, wzr ↑ b 94c 1468: mov x0, #0xbe58 // #48728 movk x0, #0x11a0, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc588 // #50568 movk x2, #0x11b9, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe054994 ↑ b 80 14a4: mov x0, xzr mov x1, #0x70c0 // #28864 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 14c0: mov x0, #0x7ac0 // #31424 movk x0, #0x1128, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x20, x0 mov x0, #0xc270 // #49776 movk x0, #0x11f6, lsl #16 movk x0, #0xe168, 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, #0x1136, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc288 // #49800 movk x2, #0x11f6, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1a68 // #6760 movk x1, #0x620, lsl #16 movk x1, #0xe168, lsl #32 mov x3, #0xea78 // #60024 movk x3, #0x1146, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e66f0 brk #0xf000 155c: 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 1590: mov x0, #0x70d8 // #28888 movk x0, #0x11f6, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 15a8: mov x0, #0xe570 // #58736 movk x0, #0x114e, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x21, x0 mov x0, #0x70f0 // #28912 movk x0, #0x11f6, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc948 // #51528 movk x2, #0x11ca, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e66f0 brk #0xf000 15f8: 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 1618 ldr w1, [x21, #36] lsl w1, w1, #1 1618: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 1644 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 1644: mov x0, x21 mov x2, #0xc088 // #49288 movk x2, #0x11a0, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 1660: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcf78 // #53112 movk x3, #0x115e, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 1688: str w22, [x21, #28] ↑ b f4 1690: add x0, x29, #0x370 stp xzr, xzr, [x0] add x0, x29, #0x370 mov w1, #0x1 // #1 mov x2, #0x6808 // #26632 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xb5e8 // #46568 movk x0, #0x11a0, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x22, x0 ldr x2, [x29, #880] ldr x3, [x29, #888] mov x0, x22 mov x1, x21 mov x4, #0x6820 // #26656 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe054994 ↑ b 1a4 16fc: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6ec8 // #28360 movk x0, #0x11e5, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 171c: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 1738: mov x0, #0xe2b0 // #58032 movk x0, #0x112b, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x21, x0 mov x0, #0x6940 // #26944 movk x0, #0x11d7, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8a0 // #51360 movk x2, #0x1146, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e66f0 brk #0xf000 1788: mov x0, #0x1b00 // #6912 movk x0, #0x11d9, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x20, x0 mov x1, #0x6970 // #26992 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe054994 ↑ b 174 17c0: ↓ cbnz w0, 2ae8 mov x2, xzr mov w0, wzr ↑ b 154 17d0: mov x0, x22 mov x1, #0x6a78 // #27256 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 17ec: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6aa8 // #27304 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 180c: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6b08 // #27400 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 182c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 1848: ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6d00 // #27904 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a0 186c: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 304 1888: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6d90 // #28048 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 ↑ b 464 18b0: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 18c8 ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 18e0 18c8: mov x0, x22 mov x1, #0x7e10 // #32272 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 18e0: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 1900 ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 191c 1900: mov x0, x23 mov w1, wzr mov x2, #0xcac8 // #51912 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 191c: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 318 1934: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7dc8 // #32200 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 ↑ b 464 195c: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6b08 // #27400 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 334 197c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 360 1998: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2b78 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 388 19b8: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0x1127, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b 1378 19d8: mov x0, x22 mov x1, #0xc2a0 // #49824 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 112c mov x0, x22 mov x1, #0xc2b8 // #49848 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b 112c 1a10: mov x0, x22 mov x1, #0x6a78 // #27256 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1390 1a2c: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1a44 asr w1, w0, #0 ↓ b 1a48 1a44: mov w1, #0x100 // #256 1a48: asr w2, w1, #0 ↓ cbnz w0, 1a54 asr w2, w1, #0 1a54: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1a98 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 2790 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1a98: add x0, x24, #0x8 mov x2, #0x6c58 // #27736 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1180 1ab4: ↓ cbnz w0, 2ae8 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 11a0 1ac8: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 str x0, [x29, #808] str x1, [x29, #816] add x14, x22, #0x40 ldr x15, [x29, #808] bl fffffffffe054994 ldr w0, [x29, #816] ldr w1, [x29, #820] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 13b4 ↓ b 2ab4 1b14: ldr x0, [x22, #16] ↓ cbz x0, 1b94 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 27a8 ldr x24, [x22, #24] ldrsb wzr, [x24] mov x0, x24 mov x2, #0x6c40 // #27712 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 add x26, x22, #0x40 ldr x0, [x24, #8] ldr w1, [x24, #16] mov x2, #0x6c10 // #27664 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #792] str x1, [x29, #800] ldr x15, [x29, #792] mov x14, x26 bl fffffffffe054994 ldr w0, [x29, #800] ldr w1, [x29, #804] stp w0, w1, [x26, #8] ↑ b 13b4 1b94: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0x1005, lsl #16 movk x11, #0xe168, 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, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 str x0, [x29, #824] str x1, [x29, #832] add x14, x22, #0x40 ldr x15, [x29, #824] bl fffffffffe054994 ldr w0, [x29, #832] ldr w1, [x29, #836] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 13b4 ↓ b 2ab4 1c10: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 13e0 1c2c: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b a20 1c3c: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b a20 1c58: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1c70 ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne a34 1c70: mov x0, x22 mov x1, #0x7e10 // #32272 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b a34 1c8c: mov x1, x28 ldr w2, [x29, #788] mov x0, x22 mov x3, #0xcc30 // #52272 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 ↑ b c28 1cb0: asr w1, w0, #0 ↑ b a74 1cb8: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1cd0 asr w4, w0, #0 ↓ b 1cd4 1cd0: asr w4, w1, #0 1cd4: asr w5, w4, #0 ↓ cbnz w0, 1cf0 cmp w4, #0x100 ↓ b.ge 1cec mov w5, #0x100 // #256 ↓ b 1cf0 1cec: asr w5, w4, #0 1cf0: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1d34 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 2804 mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1d34: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6c58 // #27736 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #200] ↑ b aa0 1d58: ↓ cbnz w0, 2ae8 mov x15, xzr mov w0, wzr mov w1, wzr ↑ b ac0 1d6c: ldr x0, [x22, #8] str w1, [x29, #740] mov x11, #0x2848 // #10312 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #744] str x1, [x29, #752] add x14, x22, #0x40 ldr x15, [x29, #744] bl fffffffffe054994 ldr w0, [x29, #752] ldr w1, [x29, #756] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #740] cmp w0, w1 ↑ b.ge acc ↓ b 2ab4 1dbc: cmp w0, #0x1, lsl #12 ↓ b.le 1dcc str w0, [x29, #736] ↓ b 1dd4 1dcc: mov w3, #0x1000 // #4096 str w3, [x29, #736] 1dd4: ldr x0, [x22, #16] ↓ cbz x0, 1e40 ldr w0, [x22, #52] ldr w3, [x29, #736] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 281c add x3, x22, #0x40 str x3, [x29, #16] ldr x0, [x22, #24] mov x4, #0x1b98 // #7064 movk x4, #0x11d9, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] ldr wzr, [x0] → blr x4 str x0, [x29, #720] str x1, [x29, #728] ldr x15, [x29, #720] ldr x14, [x29, #16] bl fffffffffe054994 ldr w0, [x29, #728] ldr w1, [x29, #732] ldr x14, [x29, #16] stp w0, w1, [x14, #8] ↑ b acc 1e40: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0x1005, lsl #16 movk x11, #0xe168, 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, #736] mov x11, #0x2840 // #10304 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #760] str x1, [x29, #768] add x14, x22, #0x40 ldr x15, [x29, #760] bl fffffffffe054994 ldr w0, [x29, #768] ldr w1, [x29, #772] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #736] cmp w0, w1 ↑ b.ge acc ↓ b 2ab4 1ec0: 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 afc 1eec: mov x0, #0x33d8 // #13272 movk x0, #0x5dc0, lsl #16 movk x0, #0xe158, lsl #32 mov w1, wzr mov x2, #0xd4b8 // #54456 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b c54 1f18: mov x0, x26 mov x1, #0xda10 // #55824 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b c5c 1f34: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x25a8 // #9640 movk x1, #0x620, lsl #16 movk x1, #0xe168, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xdb30 // #56112 movk x6, #0x11d7, lsl #16 movk x6, #0xe168, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe054994 ↑ b c64 1f7c: mov x2, #0x63b8 // #25528 movk x2, #0x1127, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 1f94: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #672] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 930 1fb0: mov x0, x28 mov x2, #0xdbf0 // #56304 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #176] ↑ b d08 1fd4: mov x0, #0x9938 // #39224 movk x0, #0x11dd, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x3, x0 add x14, x3, #0x8 mov x15, x3 bl fffffffffe054994 ldr q16, instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x2b80 stur q16, [x3, #24] mov x14, #0x3428 // #13352 movk x14, #0x5dc0, lsl #16 movk x14, #0xe158, lsl #32 mov x15, x3 bl fffffffffe054994 mov x1, x3 ldr x1, [x29, #176] ↑ b d24 201c: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b d5c 203c: mov x7, x1 ↑ b e48 2044: ldr x0, [x29, #160] mov x1, #0xc6f0 // #50928 movk x1, #0x1146, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b d58 2060: ldr x5, [x29, #120] ↑ b 11f4 2068: ldr x7, [x29, #176] ↓ b 2120 2070: ldr x7, [x29, #176] mov x0, x6 mov x1, x7 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w8, w0, #0 ldr x7, [x29, #176] ↑ b e08 2098: ldr x5, [x29, #120] ↑ b 11f4 20a0: ldr x7, [x29, #176] ↓ b 2120 20a8: ldr x4, [x29, #128] ldr x7, [x29, #176] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #128] ldr x7, [x29, #176] ↑ b 4f8 20e0: ldr x5, [x29, #120] ldr x7, [x29, #176] ↑ b 494 20ec: ldr x7, [x29, #176] mov x0, x6 mov x1, x7 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w8, w0, #0 ldr x4, [x29, #128] ldr x7, [x29, #176] ↑ b 4f8 2118: ldr x5, [x29, #120] ↑ b 494 2120: str xzr, [x29, #496] mov x1, x7 mov x2, x26 ldr x4, [x29, #152] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #508] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x1f0 ldr x1, [x29, #136] ldr x2, [x29, #176] ldr x0, [x29, #144] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0x1171, lsl #16 movk x8, #0xe168, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #176] ↑ b e18 2180: mov x0, x26 mov x1, x7 mov x3, #0xe190 // #57744 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #176] ↑ b e34 21a8: mov x0, x26 mov x1, #0xf1c8 // #61896 movk x1, #0x11e0, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ldr x7, [x29, #176] ↑ b e48 21c8: ldr x1, [x28, #32] mov x0, x7 mov x2, #0xdbd8 // #56280 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 21e8: mov x0, x26 mov x1, #0x43a8 // #17320 movk x1, #0x11e5, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054994 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b e64 221c: mov x26, x0 ↑ b e6c 2224: ldr x1, [x29, #112] mov x0, x2 mov x2, #0x63b8 // #25528 movk x2, #0x1127, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 2244: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #488] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 898 2260: mov x0, x26 mov x2, #0xdbf0 // #56304 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x1, x0 mov x2, x1 ldr x1, [x29, #104] ↑ b f3c 2288: mov x0, #0x9938 // #39224 movk x0, #0x11dd, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x4, x0 str x4, [x29, #72] mov x0, x4 mov x1, xzr mov x2, #0xa1d8 // #41432 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0x1004, lsl #16 movk x3, #0xe168, lsl #32 mov x5, #0x7c48 // #31816 movk x5, #0x1127, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 mov x14, #0x3428 // #13352 movk x14, #0x5dc0, lsl #16 movk x14, #0xe158, lsl #32 ldr x15, [x29, #72] bl fffffffffe054994 ldr x4, [x29, #72] mov x1, x4 ldr x1, [x29, #104] ↑ b f5c 22f8: mov x1, x5 mov x11, #0x2860 // #10336 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b f94 2318: ldr x0, [x29, #64] mov x1, #0xc6f0 // #50928 movk x1, #0x1146, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b f90 2334: ldr x5, [x29, #24] ↑ b 780 233c: ldr x7, [x29, #104] ↓ b 23f4 2344: ldr x7, [x29, #104] mov x0, x6 mov x1, x7 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w8, w0, #0 ldr x7, [x29, #104] ↑ b 1040 236c: ldr x5, [x29, #24] ↑ b 780 2374: ldr x7, [x29, #104] ↓ b 23f4 237c: ldr x4, [x29, #32] ldr x7, [x29, #104] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2868 // #10344 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #32] ldr x7, [x29, #104] ↑ b 7f8 23b4: ldr x5, [x29, #24] ldr x7, [x29, #104] ↑ b 794 23c0: ldr x7, [x29, #104] mov x0, x6 mov x1, x7 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w8, w0, #0 ldr x4, [x29, #32] ldr x7, [x29, #104] ↑ b 7f8 23ec: ldr x5, [x29, #24] ↑ b 794 23f4: str xzr, [x29, #312] mov x1, x7 ldr x2, [x29, #88] ldr x4, [x29, #56] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #324] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x138 ldr x1, [x29, #40] ldr x2, [x29, #104] ldr x0, [x29, #48] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce58 // #52824 movk x8, #0x1171, lsl #16 movk x8, #0xe168, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #104] ↑ b 1050 2454: ldr x0, [x29, #88] mov x1, x7 mov x3, #0xe190 // #57744 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 mov x2, x0 ldr x7, [x29, #104] ↑ b 106c 247c: str x2, [x29, #96] mov x0, x2 mov x1, #0xf1c8 // #61896 movk x1, #0x11e0, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ldp x2, x1, [x29, #96] ↑ b 1084 24a0: ldr x1, [x26, #32] ldr x0, [x29, #104] mov x2, #0xdbd8 // #56280 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 24c0: mov x1, x7 ↑ b 1084 24c8: mov x0, x26 mov x1, #0x43a8 // #17320 movk x1, #0x11e5, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054994 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 10a8 24fc: mov x26, x0 ↑ b 10b0 2504: mov x26, xzr mov w0, wzr ↑ b 10b4 2510: ldr x0, [x26, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #360] ldr w0, [x26, #140] cmp w0, #0x2 ↑ b.ne 86c ldr x26, [x29, #112] ↑ cbz x26, 86c ldr x0, [x28, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 86c ldr x0, [x29, #360] mov x1, x26 ldr x2, [x29, #360] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 86c 2578: ldr x0, [x0, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #544] ↑ b 904 2598: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 964 ↑ b 1204 25ac: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 25c4 asr w1, w0, #0 ↓ b 25c8 25c4: mov w1, #0x100 // #256 25c8: asr w2, w1, #0 ↓ cbnz w0, 25e4 cmp w1, #0x100 ↓ b.ge 25e0 mov w2, #0x100 // #256 ↓ b 25e4 25e0: asr w2, w1, #0 25e4: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 2628 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 2868 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 2628: add x0, x24, #0x8 mov x2, #0x6c58 // #27736 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1254 2644: ↓ cbnz w0, 2ae8 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 1274 2658: ldr x0, [x22, #8] mov x11, #0x2880 // #10368 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #280] add x14, x22, #0x40 ldr x15, [x29, #280] bl fffffffffe054994 ldr w0, [x29, #288] ldr w1, [x29, #292] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 1280 ↓ b 2ab4 26a0: ldr x0, [x22, #16] ↓ cbz x0, 26fc ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2880 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x1b98 // #7064 movk x2, #0x11d9, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #264] ldr x15, [x29, #264] mov x14, x24 bl fffffffffe054994 ldr w0, [x29, #272] ldr w1, [x29, #276] stp w0, w1, [x24, #8] ↑ b 1280 26fc: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2870 // #10352 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w11, [x22, #52] add x0, x0, w11, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov x11, #0x2878 // #10360 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #296] add x14, x22, #0x40 ldr x15, [x29, #296] bl fffffffffe054994 ldr w0, [x29, #304] ldr w1, [x29, #308] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 1280 ↓ b 2ab4 2774: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 12ac 2790: mov x1, #0x6ca0 // #27808 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27a8: mov w0, w1 mov x1, #0xcb40 // #52032 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27c4: mov x0, #0xcbe0 // #52192 movk x0, #0x621, lsl #16 movk x0, #0xe168, lsl #32 mov x1, #0x76a8 // #30376 movk x1, #0x11a5, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27e8: mov w0, w3 mov x1, #0xcc00 // #52224 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2804: mov x1, #0x6ca0 // #27808 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 281c: mov w0, w1 mov x1, #0xcb40 // #52032 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2838: mov x1, #0xf198 // #61848 movk x1, #0x11e0, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2850: mov x1, #0xf198 // #61848 movk x1, #0x11e0, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2868: mov x1, #0x6ca0 // #27808 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2880: mov w0, w1 mov x1, #0xcb40 // #52032 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 289c: mov x0, #0xec40 // #60480 movk x0, #0x1146, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 28b4: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6d30 // #27952 movk x2, #0x11ec, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 66c 28d4: ldr x0, [x19, #8] ldr w0, [x0, #8] mov w1, #0x100 // #256 cmp w0, #0x100 csel w1, w1, w0, le asr w2, w1, #0 ↓ cbnz w0, 28fc mov w2, #0x100 // #256 cmp w1, #0x100 csel w2, w1, w2, ge // ge = tcont 28fc: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 2958 ldr x1, [x19, #8] ldr w1, [x1, #8] ldr w2, [x19, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, #0x100 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.ls 2950 mov x1, #0x6ca0 // #27808 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2950: mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 2958: add x0, x19, #0x8 mov x2, #0x6c58 // #27736 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 5d8 2974: ↓ cbnz w0, 2ae8 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 5f8 2988: ldr x0, [x22, #8] mov x11, #0x2898 // #10392 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #232] add x14, x22, #0x40 ldr x15, [x29, #232] bl fffffffffe054994 ldp w0, w1, [x29, #240] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 604 ↓ b 2ab4 29cc: ldr x0, [x22, #16] ↓ cbz x0, 2a40 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.ls 2a04 mov w0, w1 mov x1, #0xcb40 // #52032 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2a04: add x19, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x1b98 // #7064 movk x2, #0x11d9, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #216] ldr x15, [x29, #216] mov x14, x19 bl fffffffffe054994 ldp w0, w1, [x29, #224] stp w0, w1, [x19, #8] ↑ b 604 2a40: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2888 // #10376 movk x11, #0x1005, lsl #16 movk x11, #0xe168, 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, #0x2890 // #10384 movk x11, #0x1005, lsl #16 movk x11, #0xe168, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #248] add x14, x22, #0x40 ldr x15, [x29, #248] bl fffffffffe054994 ldr w0, [x29, #256] ldr w1, [x29, #260] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 604 2ab4: mov x0, #0x6bf8 // #27640 movk x0, #0x11d7, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2acc: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 630 2ae8: mov x0, #0xdb00 // #56064 movk x0, #0x1146, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2b00: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d30 // #27952 movk x2, #0x11ec, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 6c4 2b20: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 738 2b38: mov x0, #0xe88 // #3720 movk x0, #0x112b, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2e66d0 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0x621, lsl #16 movk x1, #0xe168, lsl #32 mov x2, #0xf7b0 // #63408 movk x2, #0x115e, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e66f0 brk #0xf000 2b78: bl ffffffffff2960e8 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-40368-32510.so 0.48 stp x29, x30, [sp, #-80]! 0.38 stp x19, x20, [sp, #16] 0.10 stp x21, x22, [sp, #32] 0.10 stp x23, x24, [sp, #48] 0.10 stp x25, x26, [sp, #64] mov x29, sp mov x19, x0 0.29 ldr w20, [x19, #32] asr w21, w20, #0 0.19 ldp x23, x22, [x19] 0.38 ldrb w24, [x19, #40] 0.19 ldrb w25, [x19, #44] 0.38 ldrb w0, [x19, #68] 0.95 ↓ cbnz w0, 298 0.10 38: ldr w0, [x19, #88] 0.29 ↓ cbz w0, 320 0.48 uxtb w0, w1 0.19 cmp w0, #0x2c 0.10 ↓ b.ne 248 0.38 add w0, w20, #0x1 0.29 str w0, [x19, #32] 0.57 ldr x0, [x19, #8] 0.10 add x0, x0, #0x1 0.19 str x0, [x19, #8] 0.38 ldr w0, [x19, #32] 0.76 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.29 ↓ b.le 378 3.04 add x20, x19, #0x30 0.10 mov x1, x20 0.19 ldr w2, [x1, #8] 0.10 cmp w0, w2 ↓ b.cs 73c 0.19 ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] 1.90 cmp w1, #0x20 ↓ b.le 3d8 1.52 94: ldrsw x0, [x19, #32] 0.10 str x0, [x19, #24] 0.19 ldrb w0, [x19, #68] 0.38 cmp w0, #0x2 ↓ b.eq 46c 0.29 a8: ldrb w0, [x19, #38] 0.29 ↓ cbz w0, 680 0.19 cmp w1, #0x22 ↓ b.ne 49c 0.29 strb wzr, [x19, #44] 0.10 ldr w0, [x19, #32] 0.29 add w0, w0, #0x1 0.19 ldr w1, [x20, #8] 0.57 cmp w0, w1 ↓ b.hi 504 0.29 ldr x2, [x20] mov w3, w0 0.48 add x20, x2, x3 0.10 sub w26, w1, w0 0.29 cmp w26, #0x10 ↓ b.lt 224 0.29 ldr q16, [x20] 2.76 movi v17.16b, #0x20 0.10 cmhi v17.16b, v17.16b, v16.16b 0.10 movi v18.16b, #0x22 0.29 cmeq v18.16b, v16.16b, v18.16b 0.29 orr v17.16b, v17.16b, v18.16b 0.10 movi v18.16b, #0x5c 0.48 cmeq v16.16b, v16.16b, v18.16b 0.19 orr v16.16b, v17.16b, v16.16b 0.10 shrn v16.8b, v16.8h, #4 0.10 mov x0, v16.d[0] 0.38 ↓ cbz x0, 1f8 23.38 rbit x0, x0 clz x0, x0 0.19 asr w3, w0, #2 0.29 124: ↓ tbnz w3, #31, 544 11.79 cmp w3, w26 ↓ b.cs 73c 0.76 ldrb w1, [x20, w3, uxtw #0] 5.13 cmp w1, #0x22 ↓ b.ne 51c 2.76 ldr x1, [x19, #8] 0.29 add w2, w3, #0x2 0.38 add x1, x1, w2, sxtw 0.48 str x1, [x19, #8] 0.29 cmp w3, w26 ↓ b.hi 504 0.29 str x20, [x19, #152] 0.10 str w3, [x19, #160] 0.48 strb wzr, [x19, #46] 0.67 mov w1, #0x7 // #7 0.48 strb w1, [x19, #40] 0.48 ldr w1, [x19, #32] add w1, w1, w3 add w1, w1, #0x2 0.10 str w1, [x19, #32] 0.95 178: ldr w0, [x19, #32] 3.71 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.95 ↓ b.le 59c 8.75 add x20, x19, #0x30 mov x1, x20 0.38 ldr w2, [x1, #8] 0.10 cmp w0, w2 ↓ b.cs 73c 0.10 ldr x1, [x1] ldrb w2, [x1, w0, uxtw #0] 1.43 cmp w2, #0x20 ↓ b.le 5bc 1.62 1ac: cmp w2, #0x3a ↓ b.ne 658 0.29 ldr w3, [x19, #32] 0.38 add w3, w3, #0x1 0.67 str w3, [x19, #32] 0.10 ldr x3, [x19, #8] add x3, x3, #0x1 0.19 str x3, [x19, #8] 0.10 mov w3, #0x5 // #5 0.38 strb w3, [x19, #40] 0.38 1d4: mov w20, wzr 1d8: ↓ cbnz w20, 708 0.29 mov w0, #0x1 // #1 0.38 ldp x25, x26, [sp, #64] 0.29 ldp x23, x24, [sp, #48] 0.67 ldp x21, x22, [sp, #32] 0.76 ldp x19, x20, [sp, #16] 0.57 ldp x29, x30, [sp], #80 0.19 ← ret 3.42 1f8: add x0, x20, #0x10 sub w1, w26, #0x10 0.19 mov x2, #0xc7e0 // #51168 movk x2, #0x11d7, lsl #16 0.10 movk x2, #0xe168, lsl #32 0.10 ldr x2, [x2] → blr x2 add w1, w0, #0x10 cmp w0, #0x0 csel w3, w1, w0, ge // ge = tcont ↑ b 124 224: mov x0, x20 mov w1, w26 mov x2, #0xc7e0 // #51168 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 124 0.10 248: uxtb w0, w1 cmp w0, #0x7d ↓ b.ne 270 254: mov x0, x19 0.10 mov x1, #0xc570 // #50544 0.10 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 0.10 ldr x1, [x1] → blr x1 0.10 ↑ b 1d4 270: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 6dc 27c: mov x0, x19 mov x1, #0xc5a0 // #50592 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] 0.10 → blr x1 ↑ b 1d4 298: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 2fc uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 2d0 mov x0, x19 mov x1, #0xc8a0 // #51360 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 1d4 ↓ b 62c 2d0: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xc8e8 // #51432 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 1d8 2fc: uxtb w1, w1 mov x0, x19 mov x2, #0xc900 // #51456 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 1d8 320: ldrb w0, [x19, #70] ↓ cbz w0, 34c uxtb w1, w1 mov x0, x19 mov x2, #0xc5d0 // #50640 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 1d4 ↓ b 62c 34c: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 378: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c ldr w3, [x19, #32] sub w3, w3, #0x1 str w3, [x19, #32] ldr x3, [x19, #8] sub x3, x3, #0x1 str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 3d8: mov x0, x19 mov x1, #0xc540 // #50496 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 448 mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 448: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 73c ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 46c: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xc8a0 // #51360 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 1d4 ↓ b 62c 49c: cmp w1, #0x7d ↓ b.ne 4d8 ldrb w3, [x19, #69] ↑ cbnz w3, 254 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 4d8: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 504: mov x0, #0xdb00 // #56064 movk x0, #0x1146, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 51c: mov x1, x20 mov w2, w26 mov x0, x19 mov x4, #0xc6f0 // #50928 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 178 ↓ b 62c 544: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c ldr x3, [x19, #8] add w4, w26, #0x1 add x3, x3, w4, sxtw str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 59c: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c ↓ b 600 5bc: mov x0, x19 mov x1, #0xc540 // #50496 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 634 mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 62c 600: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 62c: mov w20, #0x1 // #1 ↑ b 1d8 634: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 73c ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 1ac 658: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 680: cmp w1, #0x5d ↓ b.ne 6bc ldrb w3, [x19, #69] ↑ cbnz w3, 27c mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 6bc: mov x0, x19 mov x2, #0xc5b8 // #50616 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 1d4 ↑ b 62c 6dc: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 708: cmp w20, #0x1 ↓ b.ne 720 str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 720: mov w0, wzr ldp x25, x26, [sp, #64] ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #80 ← ret 73c: bl ffffffffff2b1fb0 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-40368-32753.so 0.19 sub sp, sp, #0x1b0 stp x19, x20, [sp, #336] stp x21, x22, [sp, #352] 0.10 stp x23, x24, [sp, #368] stp x25, x26, [sp, #384] stp x27, x28, [sp, #400] stp x29, x30, [sp, #416] add x29, sp, #0x1a0 movi v16.16b, #0x0 0.10 sub x9, x29, #0x148 0.10 sub x10, x29, #0xa8 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 0.29 38: dc zva, x9 add x9, x9, #0x40 0.10 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x4, #0xfe24 // #65060 movk x4, #0x6e, lsl #16 movk x4, #0x585a, lsl #32 movk x4, #0x23ff, lsl #48 0.10 stur x4, [x29, #-88] 0.10 stur x1, [x29, #-104] stur x2, [x29, #-96] 0.10 mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 cmp w2, w0 ↓ b.gt 1f74 0.19 mov x17, #0xfffffffffffffe68 // #-408 str xzr, [x29, x17] cmp w2, #0x55 0.10 ↓ b.le 1f90 mov w0, #0x5555 // #21845 movk w0, #0x1555, lsl #16 cmp w2, w0 ↓ b.gt 1fa0 0.38 mov x0, #0x3338 // #13112 0.10 movk x0, #0x5dc0, lsl #16 movk x0, #0xe158, lsl #32 ldr x21, [x0] 0.19 mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdb8 // #3512 0.19 movk x0, #0x5dc0, lsl #16 movk x0, #0xe158, lsl #32 ldr x24, [x0] 1.24 sub w0, w23, #0x1 orr w0, w0, #0xf 0.10 clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x2398 // #9112 movk x0, #0x11db, lsl #16 movk x0, #0xe168, lsl #32 mov x1, #0x67f0 // #26608 0.10 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 0.10 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 1.24 ↓ cbz x0, 203c ldr w1, [x0, #8] 0.86 cmp w1, w25 ↓ b.ls 203c 0.10 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] ↓ cbz x26, 203c 0.10 str xzr, [x0, x1] ldrb w0, [x24, #157] ↓ cbnz w0, 1fd8 134: mov x17, #0xfffffffffffffe68 // #-408 str x26, [x29, x17] 13c: ↓ cbz x26, 23b0 add x21, x26, #0x10 ldr w22, [x26, #8] 0.10 148: mov x17, #0xfffffffffffffe60 // #-416 str x21, [x29, x17] mov x17, #0xfffffffffffffe74 // #-396 str w22, [x29, x17] ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, x21 0.10 mov w3, w22 mov x4, #0x7f48 // #32584 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 cmp w0, w22 ↓ b.hi 1eb0 0.10 mov x17, #0xfffffffffffffe60 // #-416 0.10 str x21, [x29, x17] mov x17, #0xfffffffffffffe74 // #-396 str w0, [x29, x17] stur x21, [x29, #-120] stur w0, [x29, #-112] 0.10 ldur w21, [x29, #-112] ↓ cbz w21, cb0 tst w20, #0xff 0.10 ↓ b.ne ce8 ldur x1, [x29, #-120] ldur w2, [x29, #-112] mov x17, #0xfffffffffffffe90 // #-368 str xzr, [x29, x17] mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] 0.10 mov x17, #0xfffffffffffffea0 // #-352 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] 0.10 mov x17, #0xfffffffffffffea5 // #-347 strb wzr, [x29, x17] 0.10 mov x17, #0xfffffffffffffea8 // #-344 str xzr, [x29, x17] sub x0, x29, #0x150 stp xzr, xzr, [x0] str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x170 mov w3, #0x1 // #1 mov x5, #0xc378 // #50040 0.10 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] 0.29 → blr x5 0.10 ↓ b 258 1.05 22c: sub x0, x29, #0x138 0.19 mov w1, w2 0.38 mov x2, #0xc558 // #50520 0.10 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 0.38 ldr x2, [x2] 0.38 → blr x2 0.86 asr w20, w0, #0 0.67 24c: ↓ cbz w20, be4 0.57 250: tst w20, #0xff ↓ b.eq c00 0.86 258: mov x17, #0xfffffffffffffef3 // #-269 1.05 ldrb w0, [x29, x17] 2.00 ↓ cbnz w0, 1a80 0.86 mov w20, wzr 0.48 stp xzr, xzr, [x29, #-160] 0.48 mov x17, #0xfffffffffffffef6 // #-266 0.76 strb wzr, [x29, x17] 0.57 mov x17, #0xfffffffffffffee8 // #-280 1.33 ldr w0, [x29, x17] 0.67 sxtw x1, w0 1.24 ldur w2, [x29, #-256] 0.48 cmp x1, w2, uxtw 0.76 ↓ b.ge b88 9.33 cmp w0, w2 ↓ b.cs 1ec8 0.29 mov x17, #0xfffffffffffffef8 // #-264 0.76 ldr x1, [x29, x17] 0.86 ldrb w2, [x1, w0, uxtw #0] 1.05 cmp w2, #0x20 ↓ b.le d04 2.76 2a8: mov x17, #0xfffffffffffffee8 // #-280 1.24 ldrsw x0, [x29, x17] 0.38 mov x17, #0xfffffffffffffee0 // #-288 0.57 str x0, [x29, x17] 0.95 mov x17, #0xfffffffffffffef0 // #-272 0.29 ldrb w0, [x29, x17] 0.86 ↓ cbz w0, b64 0.67 cmp w2, #0x2f ↑ b.eq 22c 1.43 cmp w0, #0x1 ↓ b.eq 97c 0.38 cmp w0, #0x3 ↓ b.eq 698 0.48 cmp w0, #0x5 0.19 ↑ b.ne 22c 0.57 mov x17, #0xfffffffffffffef4 // #-268 0.19 strb wzr, [x29, x17] 0.38 cmp w2, #0x22 ↓ b.eq 564 0.19 2f4: cmp w2, #0x7b ↓ b.eq 4b4 0.38 cmp w2, #0x5b 0.10 ↓ b.eq 404 0.57 sub w0, w2, #0x30 mov w1, #0x2d // #45 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore 0.19 ↓ b.eq 145c 3.62 cmp w2, #0x66 ↓ b.ne 3c8 0.10 mov x17, #0xfffffffffffffee8 // #-280 0.10 ldr w0, [x29, x17] ldur w20, [x29, #-256] 0.10 cmp w0, w20 0.10 ↓ b.hi 1eb0 mov x17, #0xfffffffffffffef8 // #-264 0.19 ldr x1, [x29, x17] mov w2, w0 0.29 add x22, x1, x2 0.10 sub w20, w20, w0 mov x0, x22 mov w1, w20 mov x2, #0x5666 // #22118 0.10 movk x2, #0x49c, lsl #16 0.10 movk x2, #0xe168, lsl #32 0.19 mov w3, #0x5 // #5 mov x4, #0xca50 // #51792 movk x4, #0x11d7, lsl #16 0.19 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 0.10 ↓ cbz w0, 1998 0.19 cmp w20, #0x5 ↓ b.cc 1eb0 0.19 stur x22, [x29, #-160] 0.10 mov w1, #0x5 // #5 stur w1, [x29, #-152] mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] 0.10 mov x17, #0xfffffffffffffee8 // #-280 0.19 ldr w1, [x29, x17] add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] 0.48 mov x17, #0xfffffffffffffed0 // #-304 0.10 ldr x1, [x29, x17] 0.29 add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 0.10 str x1, [x29, x17] 0.10 mov w20, #0x1 // #1 0.10 3c4: ↓ b 644 0.29 3c8: cmp w2, #0x74 ↓ b.ne 12dc 0.38 mov x1, #0x56ca // #22218 movk x1, #0x49c, lsl #16 movk x1, #0xe168, lsl #32 0.10 mov w2, #0x4 // #4 0.10 sub x0, x29, #0x138 0.19 mov w3, #0x9 // #9 mov x4, #0xc858 // #51288 movk x4, #0x11d7, lsl #16 0.10 movk x4, #0xe168, lsl #32 0.10 ldr x4, [x4] 0.10 → blr x4 0.19 asr w20, w0, #0 0.19 ↓ b 644 0.10 404: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c18 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 143c ldur x0, [x29, #-232] lsl x0, x0, #1 0.10 stur x0, [x29, #-232] 0.10 42c: ldur w0, [x29, #-224] add w0, w0, #0x1 0.10 stur w0, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] mov w1, w0 add x1, x1, #0x1 ldur w2, [x29, #-256] cmp x1, x2 ↓ b.hi 1eb0 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] 0.10 mov w0, w0 0.10 add x0, x1, x0 0.10 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 0.10 ldr x0, [x29, x17] add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x3 // #3 0.10 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb wzr, [x29, x17] 4ac: mov w20, #0x1 // #1 ↓ b 644 4b4: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1bec ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 141c ldur x0, [x29, #-232] lsl x0, x0, #1 orr x0, x0, #0x1 stur x0, [x29, #-232] 4e0: ldur w0, [x29, #-224] add w0, w0, #0x1 stur w0, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] mov w1, w0 add x1, x1, #0x1 ldur w2, [x29, #-256] cmp x1, x2 ↓ b.hi 1eb0 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w0, w0 add x0, x1, x0 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x1 // #1 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb w0, [x29, x17] ↑ b 4ac 0.29 564: mov x17, #0xfffffffffffffee8 // #-280 0.10 ldr w0, [x29, x17] add w0, w0, #0x1 0.10 ldur w1, [x29, #-256] 0.10 cmp w0, w1 ↓ b.hi 1eb0 0.19 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w3, w0 0.10 add x20, x2, x3 0.29 sub w22, w1, w0 cmp w22, #0x10 ↓ b.lt 674 0.10 ldr q16, [x20] 0.48 movi v17.16b, #0x20 cmhi v17.16b, v17.16b, v16.16b 0.19 movi v18.16b, #0x22 0.10 cmeq v18.16b, v16.16b, v18.16b orr v17.16b, v17.16b, v18.16b 0.10 movi v18.16b, #0x5c cmeq v16.16b, v16.16b, v18.16b 0.29 orr v16.16b, v17.16b, v16.16b 0.19 shrn v16.8b, v16.8h, #4 0.10 mov x0, v16.d[0] 0.19 ↓ cbz x0, 648 10.95 rbit x0, x0 0.10 clz x0, x0 0.10 asr w3, w0, #2 0.29 5d4: ↓ tbnz w3, #31, 13f8 2.29 cmp w3, w22 ↓ b.cs 1ec8 0.19 ldrb w1, [x20, w3, uxtw #0] 2.57 cmp w1, #0x22 0.19 ↓ b.ne 13d0 0.76 mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add w2, w3, #0x2 0.10 add x1, x1, w2, sxtw mov x17, #0xfffffffffffffed0 // #-304 0.29 str x1, [x29, x17] 0.19 cmp w3, w22 ↓ b.hi 1eb0 stur x20, [x29, #-160] 0.10 stur w3, [x29, #-152] 0.10 mov x17, #0xfffffffffffffef6 // #-266 0.19 strb wzr, [x29, x17] 0.29 mov w1, #0x7 // #7 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] 0.19 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, w3 add w1, w1, #0x2 mov x17, #0xfffffffffffffee8 // #-280 0.10 str w1, [x29, x17] 0.38 mov w20, #0x1 // #1 0.19 644: ↑ b 24c 648: add x0, x20, #0x10 sub w1, w22, #0x10 mov x2, #0xc7e0 // #51168 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, 13cc add w3, w3, #0x10 ↑ b 5d4 674: mov x0, x20 mov w1, w22 mov x2, #0xc7e0 // #51168 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 5d4 0.10 698: cmp w2, #0x5d ↓ b.eq f8c 6a0: mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] 0.10 cmp w2, #0x22 ↓ b.eq 868 cmp w2, #0x7b ↓ b.eq 84c cmp w2, #0x5b ↓ b.eq 82c sub w0, w2, #0x30 mov w1, #0x2d // #45 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore ↓ b.eq 11a8 cmp w2, #0x66 ↓ b.ne 788 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1eb0 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w3, w1 add x2, x2, x3 ldur w3, [x29, #-256] sub w3, w3, w1 cmp w3, #0x5 ↓ b.lt 11c8 mov x1, x2 mov x4, #0x5666 // #22118 movk x4, #0x49c, lsl #16 movk x4, #0xe168, lsl #32 ldr w0, [x1] ldur w1, [x1, #1] ldr w5, [x4] ldur w4, [x4, #1] cmp w0, w5 ccmp w1, w4, #0x0, eq // eq = none cset x1, eq // eq = none ↓ cbz w1, 11c8 stur x2, [x29, #-160] mov w1, #0x5 // #5 stur w1, [x29, #-152] mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x5 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w20, #0x1 // #1 784: ↓ b 94c 788: cmp w2, #0x74 ↓ b.ne fa8 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1eb0 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w3, w1 add x2, x2, x3 ldur w3, [x29, #-256] sub w3, w3, w1 cmp w3, #0x4 ↓ b.lt 1200 mov x1, #0x56ca // #22218 movk x1, #0x49c, lsl #16 movk x1, #0xe168, lsl #32 ldr w4, [x2] ldr w1, [x1] cmp w4, w1 cset x1, eq // eq = none ↓ cbz w1, 1200 stur x2, [x29, #-160] mov w1, #0x4 // #4 stur w1, [x29, #-152] mov w1, #0x9 // #9 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x4 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x4 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w20, #0x1 // #1 828: ↓ b 94c 82c: sub x0, x29, #0x138 mov x1, #0xc810 // #51216 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 844: mov w20, #0x1 // #1 ↓ b 94c 84c: sub x0, x29, #0x138 mov x1, #0xc7f8 // #51192 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b 844 868: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1eb0 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w2, w0 add x20, x1, x2 ldur w1, [x29, #-256] sub w23, w1, w0 cmp w23, #0x10 ↓ b.lt 10e8 ldr q16, [x20] movi v17.16b, #0x20 cmhi v17.16b, v17.16b, v16.16b movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b orr v17.16b, v17.16b, v18.16b movi v18.16b, #0x5c cmeq v16.16b, v16.16b, v18.16b orr v16.16b, v17.16b, v16.16b shrn v16.8b, v16.8h, #4 mov x0, v16.d[0] ↓ cbz x0, 950 rbit x0, x0 clz x0, x0 asr w3, w0, #2 8dc: ↓ tbnz w3, #31, 1138 cmp w3, w23 ↓ b.cs 1ec8 ldrb w1, [x20, w3, uxtw #0] cmp w1, #0x22 ↓ b.ne 1110 mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add w2, w3, #0x2 add x1, x1, w2, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] cmp w3, w23 ↓ b.hi 1eb0 stur x20, [x29, #-160] stur w3, [x29, #-152] mov x17, #0xfffffffffffffef6 // #-266 strb wzr, [x29, x17] mov w1, #0x7 // #7 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, w3 add w1, w1, #0x2 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov w20, #0x1 // #1 94c: ↑ b 24c 950: add x0, x20, #0x10 sub w1, w23, #0x10 mov x2, #0xc7e0 // #51168 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, 110c add w3, w3, #0x10 ↑ b 8dc 97c: cmp w2, #0x7d ↓ b.eq dbc 0.10 cmp w2, #0x22 ↓ b.ne 1b04 mov x17, #0xfffffffffffffee8 // #-280 ldr w22, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x23, [x29, x17] mov x17, #0xfffffffffffffec8 // #-312 ldr x24, [x29, x17] 0.10 mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.10 ldr w0, [x29, x17] add w0, w0, #0x1 ldur w1, [x29, #-256] cmp w0, w1 ↓ b.hi 1eb0 0.10 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] 0.10 mov w2, w0 add x20, x1, x2 ldur w1, [x29, #-256] sub w25, w1, w0 cmp w25, #0x10 ↓ b.lt b40 0.19 ldr q16, [x20] 0.86 movi v17.16b, #0x20 cmhi v17.16b, v17.16b, v16.16b 0.10 movi v18.16b, #0x22 cmeq v18.16b, v16.16b, v18.16b orr v17.16b, v17.16b, v18.16b 0.10 movi v18.16b, #0x5c cmeq v16.16b, v16.16b, v18.16b orr v16.16b, v17.16b, v16.16b shrn v16.8b, v16.8h, #4 0.10 mov x0, v16.d[0] ↓ cbz x0, b14 3.62 rbit x0, x0 clz x0, x0 asr w3, w0, #2 0.10 a20: ↓ tbnz w3, #31, e04 0.29 cmp w3, w25 ↓ b.cs 1ec8 0.38 ldrb w1, [x20, w3, uxtw #0] 0.67 cmp w1, #0x22 0.10 ↓ b.ne ddc mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add w2, w3, #0x2 add x1, x1, w2, sxtw 0.10 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] 0.19 cmp w3, w25 ↓ b.hi 1eb0 0.10 stur x20, [x29, #-160] stur w3, [x29, #-152] mov x17, #0xfffffffffffffef6 // #-266 0.10 strb wzr, [x29, x17] mov w1, #0x7 // #7 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, w3 add w1, w1, #0x2 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] a8c: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] 0.19 ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge e6c 0.29 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffef8 // #-264 0.19 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] 0.10 cmp w2, #0x20 ↓ b.le ebc 0.38 ac8: cmp w2, #0x3a ↓ b.ne 1b2c 0.10 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 0.10 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 0.10 ldr x0, [x29, x17] 0.10 add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x5 // #5 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] 0.10 mov w0, #0x1 // #1 b08: asr w20, w0, #0 ↑ cbnz w0, 24c ↓ b f64 b14: add x0, x20, #0x10 sub w1, w25, #0x10 mov x2, #0xc7e0 // #51168 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↓ tbnz w3, #31, dd8 add w3, w3, #0x10 ↑ b a20 b40: mov x0, x20 mov w1, w25 mov x2, #0xc7e0 // #51168 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b a20 b64: sub x0, x29, #0x138 mov w1, w2 mov x2, #0xc5d0 // #50640 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] 0.10 → blr x2 0.10 asr w20, w0, #0 ↑ b 24c b88: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbnz w0, cf4 0.10 bac: ldur w0, [x29, #-224] ↓ cbnz w0, 1aac 0.10 ldurb w0, [x29, #-244] mov x17, #0xfffffffffffffef0 // #-272 0.10 ldrb w1, [x29, x17] cmp w0, #0x2 ccmp w1, #0x6, #0x0, eq // eq = none ↑ b.eq 24c 0.10 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] cmp w0, #0x4 0.10 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 24c ↓ b 1e14 be4: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] 0.10 ↑ cbz w0, 250 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] ↑ cbnz w0, 250 ↓ b 1aa0 c00: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] 0.10 strb w0, [x19, #58] c0c: add w1, w21, #0x1 ldr w0, [x19, #76] ldr w2, [x19, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.lt 1e94 0.19 c24: add x0, x19, #0x40 0.10 mov x1, #0x6b20 // #27424 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] 0.19 → blr x1 ldr w2, [x19, #40] ↓ tbz w2, #31, c60 ldr w2, [x19, #52] 0.10 add w3, w2, #0x1 0.10 str w3, [x19, #52] cmp w2, w1 ↓ b.cs 1ec8 mov w3, #0x2c // #44 strb w3, [x0, w2, uxtw #0] 0.10 c60: ldr w2, [x19, #52] 0.38 cmp w2, w1 ↓ b.hi 1eb0 0.10 mov w3, w2 0.10 add x0, x0, x3 sub w2, w1, w2 mov x1, x0 sub x0, x29, #0x78 mov x3, #0xc330 // #49968 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] 0.10 → blr x3 0.10 ldr w1, [x19, #52] 0.10 add w1, w1, w21 str w1, [x19, #52] ldr w1, [x19, #40] orr w1, w1, #0x80000000 str w1, [x19, #40] ↓ b 1ed0 cb0: mov x0, #0x640 // #1600 movk x0, #0x622, lsl #16 movk x0, #0xe168, lsl #32 mov x1, #0xc438 // #50232 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 mov x1, #0xc2d0 // #49872 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 ce8: mov w0, #0x7 // #7 strb w0, [x19, #58] ↑ b c0c cf4: mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↑ cbz w0, 24c ↑ b bac d04: sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt d98 mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↑ cbz w0, 24c mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, d60 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↑ cbz w0, 24c d60: ldur w0, [x29, #-224] ↓ cbnz w0, 1ad8 ldurb w0, [x29, #-244] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x2 ccmp w1, #0x6, #0x0, eq // eq = none ↑ b.eq 24c mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] cmp w0, #0x4 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 24c ↓ b 1e14 d98: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] ↑ b 2a8 dbc: sub x0, x29, #0x138 mov x1, #0xc570 // #50544 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ b 1a78 dd8: ↑ b a20 ddc: mov x1, x20 mov w2, w25 sub x0, x29, #0x138 mov x4, #0xc6f0 // #50928 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, a8c ↓ b f38 e04: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f38 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, e28 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f38 e28: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add w3, w25, #0x1 add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 e6c: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f38 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, e90 mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f38 e90: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 ebc: sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.lt f40 mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, f38 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, f0c mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, f38 f0c: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 f38: mov w0, wzr ↑ b b08 f40: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] ↑ b ac8 f64: mov x17, #0xfffffffffffffee8 // #-280 str w22, [x29, x17] mov w0, #0x1 // #1 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 str x23, [x29, x17] mov x17, #0xfffffffffffffec8 // #-312 str x24, [x29, x17] ↑ b 24c f8c: sub x0, x29, #0x138 mov x1, #0xc5a0 // #50592 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ b 1a78 fa8: cmp w2, #0x6e ↓ b.eq 1238 ldurb w0, [x29, #-244] ↓ cbz w0, 1b80 cmp w0, #0x2 ↓ b.eq 126c cmp w2, #0x2f ↓ b.ne 1b80 sub x0, x29, #0x138 mov x1, #0xc8b8 // #51384 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1094 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge 1294 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] cmp w2, #0x20 ↓ b.gt 10d4 sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x1, [x29, x17] ldur w2, [x29, #-256] cmp x1, x2 ↓ b.lt 10b4 mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbz w0, 1094 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1094 ldur w0, [x29, #-224] ↓ cbnz w0, 1b54 ldurb w0, [x29, #-244] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x2 ccmp w1, #0x6, #0x0, eq // eq = none ↓ b.ne 109c 1094: mov w20, wzr ↑ b 94c 109c: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] cmp w0, #0x4 ccmp w0, #0x2, #0x4, ne // ne = any ↑ b.eq 1094 ↓ b 1e14 10b4: mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] ldur w2, [x29, #-256] cmp w1, w2 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] ldrb w2, [x2, w1, uxtw #0] 10d4: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x1, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 str x1, [x29, x17] ↑ b 6a0 10e8: mov x0, x20 mov w1, w23 mov x2, #0xc7e0 // #51168 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 asr w3, w0, #0 ↑ b 8dc 110c: ↑ b 8dc 1110: mov x1, x20 mov w2, w23 sub x0, x29, #0x138 mov x4, #0xc6f0 // #50928 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 94c 1138: mov x17, #0xfffffffffffffeec // #-276 ldrb w0, [x29, x17] ↓ cbz w0, 11a0 mov x17, #0xfffffffffffffef3 // #-269 ldrb w0, [x29, x17] ↓ cbz w0, 115c mov x17, #0xfffffffffffffef2 // #-270 ldrb w0, [x29, x17] ↓ cbz w0, 11a0 115c: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add w3, w23, #0x1 add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 11a0: mov w20, wzr ↑ b 94c 11a8: sub x0, x29, #0x138 mov x1, #0xc828 // #51240 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 94c 11c8: mov x1, x2 mov w2, w3 mov x3, #0x5666 // #22118 movk x3, #0x49c, lsl #16 movk x3, #0xe168, lsl #32 mov w4, #0x5 // #5 sub x0, x29, #0x138 mov x5, #0xca68 // #51816 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 784 1200: mov x1, x2 mov w2, w3 mov x3, #0x56ca // #22218 movk x3, #0x49c, lsl #16 movk x3, #0xe168, lsl #32 mov w4, #0x4 // #4 sub x0, x29, #0x138 mov x5, #0xca68 // #51816 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 828 1238: mov x1, #0x5661 // #22113 movk x1, #0x49c, lsl #16 movk x1, #0xe168, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 mov w3, #0xb // #11 mov x4, #0xc858 // #51288 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 94c 126c: cmp w2, #0x2f ↓ b.ne 1b80 sub x0, x29, #0x138 mov x1, #0xc8a0 // #51360 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 94c 1294: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↑ cbz w0, 1094 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ cbz w0, 1094 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x4 ccmp w1, #0x2, #0x4, ne // ne = any ↑ b.eq 1094 ↓ b 1e14 12dc: cmp w2, #0x6e ↓ b.eq 19d0 ldurb w0, [x29, #-244] ↓ cbz w0, 1e40 cmp w0, #0x2 ↓ b.eq 1a04 cmp w2, #0x2f ↓ b.ne 1e40 sub x0, x29, #0x138 mov x1, #0xc8b8 // #51384 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a70 mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] ldur w1, [x29, #-256] cmp x0, x1 ↓ b.ge 1a2c mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] cmp w2, #0x20 ↓ b.gt 13a8 sub x0, x29, #0x138 mov x1, #0xc540 // #50496 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 sub x0, x29, #0x138 mov x1, #0xc528 // #50472 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a70 mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w1, [x29, #-256] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] 13a8: mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] mov x17, #0xfffffffffffffee0 // #-288 str x0, [x29, x17] mov x17, #0xfffffffffffffef4 // #-268 strb wzr, [x29, x17] cmp w2, #0x22 ↑ b.ne 2f4 ↑ b 564 13cc: ↑ b 5d4 13d0: mov x1, x20 mov w2, w22 sub x0, x29, #0x138 mov x4, #0xc6f0 // #50928 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 644 13f8: sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1ba8 mov w20, wzr ↑ b 644 141c: sub x0, x29, #0xf0 mov w1, #0x1 // #1 mov x2, #0xcac8 // #51912 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 4e0 143c: sub x0, x29, #0xf0 mov w1, wzr mov x2, #0xcac8 // #51912 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b 42c 0.19 145c: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] ldur w20, [x29, #-256] cmp w0, w20 ↓ b.hi 1eb0 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w2, w0 add x1, x1, x2 sub w0, w20, w0 mov x17, #0xfffffffffffffe78 // #-392 str x1, [x29, x17] 0.10 mov x17, #0xfffffffffffffe80 // #-384 0.10 str w0, [x29, x17] 0.38 mov x17, #0xfffffffffffffe88 // #-376 str wzr, [x29, x17] 0.19 mov x17, #0xfffffffffffffe88 // #-376 0.10 ldr w0, [x29, x17] 0.29 mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ec8 0.10 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] ldrb w0, [x1, w0, uxtw #0] 0.19 cmp w0, #0x2d ↓ b.ne 1548 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.lt 1518 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 1c44 1510: mov w20, wzr ↓ b 1994 1518: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] ldrb w2, [x1, w0, uxtw #0] sub w0, w2, #0x30 cmp w0, #0x9 ↓ b.hi 1c8c 0.10 1548: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 0.10 ldr w1, [x29, x17] 0.10 cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffe78 // #-392 0.10 ldr x0, [x29, x17] 0.29 mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w0, [x0, w1, uxtw #0] cmp w0, #0x30 ↓ b.ne 15d8 sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xc948 // #51528 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1510 ↓ cbz w0, 190c mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w2, [x0, w1, uxtw #0] ↓ b 180c 0.10 15d8: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 0.10 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] 0.48 mov w0, wzr mov x17, #0xfffffffffffffe88 // #-376 0.10 ldr w1, [x29, x17] 0.29 mov x17, #0xfffffffffffffe80 // #-384 0.10 ldr w2, [x29, x17] cmp w1, w2 ↓ b.ge 1664 0.10 1608: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] 0.10 cmp w0, w1 ↓ b.cs 1ec8 0.48 mov x17, #0xfffffffffffffe78 // #-392 0.10 ldr x1, [x29, x17] ldrb w0, [x1, w0, uxtw #0] 0.10 sub w1, w0, #0x30 0.29 cmp w1, #0x9 ↓ b.hi 1664 0.10 mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] add w1, w1, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w1, [x29, x17] 0.19 mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] 0.10 mov x17, #0xfffffffffffffe80 // #-384 ldr w2, [x29, x17] cmp w1, w2 0.10 ↑ b.lt 1608 0.19 1664: mov x17, #0xfffffffffffffe88 // #-376 0.19 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w2, [x29, x17] cmp w1, w2 ↓ b.lt 16a0 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz w0, 17b8 mov w20, #0x2 // #2 ↓ b 17bc 16a0: mov x1, #0x5619 // #22041 movk x1, #0x49c, lsl #16 movk x1, #0xe168, lsl #32 0.10 mov w2, #0x8 // #8 mov x3, xzr 16b4: sub w2, w2, #0x8 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x1 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x2 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x3 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x4 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x5 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x6 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x7 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x3, x3, #0x8 cmp w2, #0x8 ↑ b.ge 16b4 cmp w2, #0x4 ↓ b.lt 17a8 sub w2, w2, #0x4 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x1 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x2 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x4, x3, #0x3 ldrb w4, [x1, x4, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x3, x3, #0x4 cmp w2, #0x0 ↓ b.le 17b0 1794: sub w2, w2, #0x1 ldrb w4, [x1, x3, lsl #0] cmp w4, w0 ↓ b.eq 17b8 add x3, x3, #0x1 17a8: cmp w2, #0x0 ↑ b.gt 1794 17b0: mov w20, #0x1 // #1 ↓ b 17bc 17b8: mov w20, wzr 17bc: cmp w20, #0x2 ↑ b.eq 1510 ↓ cbz w20, 190c mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w2, [x0, w1, uxtw #0] mov w0, #0x45 // #69 mov w1, #0x65 // #101 cmp w2, #0x2e ccmp w2, w0, #0x4, ne // ne = any ccmp w2, w1, #0x4, ne // ne = any ↓ b.ne 1cd0 180c: cmp w2, #0x2e ↓ b.ne 1890 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xc978 // #51576 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1510 ↓ cbz w0, 190c mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w1, [x29, x17] ldrb w2, [x0, w1, uxtw #0] mov w0, #0x65 // #101 cmp w2, #0x45 ccmp w2, w0, #0x4, ne // ne = any ↓ b.ne 1d14 1890: mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xc990 // #51600 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1510 mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffe88 // #-376 str w0, [x29, x17] sub x0, x29, #0x138 sub x1, x29, #0x188 sub x2, x29, #0x178 mov x3, #0xc960 // #51552 movk x3, #0x11d7, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 cmp w0, #0x2 ↑ b.eq 1510 ↓ cbnz w0, 1d58 190c: mov x17, #0xfffffffffffffe88 // #-376 0.10 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w1, [x29, x17] cmp w0, w1 ↓ b.hi 1eb0 0.19 mov x17, #0xfffffffffffffe78 // #-392 ldr x1, [x29, x17] 0.10 stur x1, [x29, #-160] stur w0, [x29, #-152] mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov w1, #0x8 // #8 0.10 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.10 ldr w1, [x29, x17] add w1, w1, w0 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] 0.10 mov x17, #0xfffffffffffffed0 // #-304 0.10 ldr x1, [x29, x17] add x0, x1, w0, sxtw 0.10 mov x17, #0xfffffffffffffed0 // #-304 0.19 str x0, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 ldrsw x0, [x29, x17] 0.10 ldur w1, [x29, #-256] cmp x0, x1 0.10 ↓ b.lt 1990 mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbnz w0, 1dc8 0.19 1990: mov w20, #0x1 // #1 1994: ↑ b 644 1998: mov x1, x22 mov w2, w20 mov x3, #0x5666 // #22118 movk x3, #0x49c, lsl #16 movk x3, #0xe168, lsl #32 mov w4, #0x5 // #5 sub x0, x29, #0x138 mov x5, #0xca68 // #51816 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 asr w20, w0, #0 ↑ b 3c4 19d0: mov x1, #0x5661 // #22113 movk x1, #0x49c, lsl #16 movk x1, #0xe168, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 mov w3, #0xb // #11 mov x4, #0xc858 // #51288 movk x4, #0x11d7, lsl #16 movk x4, #0xe168, lsl #32 ldr x4, [x4] → blr x4 asr w20, w0, #0 ↑ b 644 1a04: cmp w2, #0x2f ↓ b.ne 1e40 sub x0, x29, #0x138 mov x1, #0xc8a0 // #51360 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 644 1a2c: mov x17, #0xfffffffffffffeef // #-273 ldrb w0, [x29, x17] ↓ cbz w0, 1a70 sub x0, x29, #0x138 mov x1, #0xc5e8 // #50664 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 1a70 mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] mov x17, #0xfffffffffffffef0 // #-272 ldrb w1, [x29, x17] cmp w0, #0x4 ccmp w1, #0x2, #0x4, ne // ne = any ↓ b.ne 1e14 1a70: mov w20, wzr ↑ b 644 1a78: mov w20, #0x1 // #1 ↑ b 24c 1a80: sub x0, x29, #0x138 mov x1, #0xc4e0 // #50400 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 24c 1aa0: ldurb w0, [x29, #-242] ↑ cbnz w0, 250 ↓ b 1e68 1aac: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ad8: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b04: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xc // #12 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b2c: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xb // #11 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b54: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x19 // #25 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1b80: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xf // #15 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1ba8: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add w3, w22, #0x1 add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1bec: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x18 // #24 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c18: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, wzr mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c44: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x5 // #5 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1c8c: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x4 // #4 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1cd0: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x7 // #7 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d14: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x9 // #9 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1d58: mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] add x0, x0, w3, sxtw mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w0, [x29, x17] mov x17, #0xfffffffffffffe80 // #-384 ldr w3, [x29, x17] cmp w0, w3 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffe78 // #-392 ldr x0, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 ldr w3, [x29, x17] ldrb w2, [x0, w3, uxtw #0] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x7 // #7 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1dc8: mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] sub w0, w0, #0x1 ldur w3, [x29, #-256] cmp w0, w3 ↓ b.cs 1ec8 mov x17, #0xfffffffffffffef8 // #-264 ldr x3, [x29, x17] ldrb w2, [x3, w0, uxtw #0] sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x7 // #7 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e14: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x16 // #22 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e40: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0xf // #15 mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e68: sub x0, x29, #0x138 mov x3, xzr mov w4, wzr mov w1, #0x20 // #32 mov w2, wzr mov x5, #0xc510 // #50448 movk x5, #0x11d7, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 1e94: mov x0, x19 mov x2, #0x6b08 // #27400 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 ↑ b c24 1eb0: mov x0, #0xdb00 // #56064 movk x0, #0x1146, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1ec8: bl ffffffffff29c1c8 ,bool)[OptimizedTier1]+0xffffffffff29c148> brk #0xf000 0.10 1ed0: mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] 0.10 ↓ cbz x1, 1f30 0.10 mov x17, #0xfffffffffffffe74 // #-396 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe60 // #-416 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 0.10 movk x2, #0x1127, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x5dc0, lsl #16 movk x0, #0xe158, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x2368 // #9064 movk x3, #0x11db, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 1f30: mov x16, #0xfe24 // #65060 movk x16, #0x6e, lsl #16 movk x16, #0x585a, lsl #32 0.10 movk x16, #0x23ff, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 0.10 ↓ b.eq 1f50 bl ffffffffff2ec7f0 ,bool)[OptimizedTier1]+0xffffffffff2ec770> 1f50: sub sp, x29, #0x1a0 ldp x29, x30, [sp, #416] 0.10 ldp x27, x28, [sp, #400] ldp x25, x26, [sp, #384] ldp x23, x24, [sp, #368] ldp x21, x22, [sp, #352] ldp x19, x20, [sp, #336] add sp, sp, #0x1b0 ← ret 1f74: mov w0, w2 mov x1, #0x7ed0 // #32464 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 1f90: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 1fa0: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7ee8 // #32488 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb1e0 // #45536 movk x0, #0x1137, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2ec870 ,bool)[OptimizedTier1]+0xffffffffff2ec7f0> mov x26, x0 ↑ b 13c 1fd8: mov x0, x26 mov x1, #0xdf38 // #57144 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xdf38 // #57144 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w22 mov w2, w23 mov x0, x24 mov w4, w25 mov x5, #0xc018 // #49176 movk x5, #0x11f6, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 203c: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 2280 add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 2274 ldr x26, [x0, #8] mov x0, #0x8560 // #34144 movk x0, #0x1204, lsl #16 movk x0, #0xe168, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x1127, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0x1004, lsl #16 movk x0, #0xe168, lsl #32 ldrb w0, [x0] ↓ cbz w0, 209c bl fffffffffff92e60 ,bool)[OptimizedTier1]+0xfffffffffff92de0> asr w21, w0, #0 ↓ b 2110 209c: mov x0, #0x85b0 // #34224 movk x0, #0x1204, lsl #16 movk x0, #0xe168, lsl #32 mov x1, #0xc030 // #49200 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0x85b0 // #34224 movk x0, #0x1204, lsl #16 movk x0, #0xe168, lsl #32 mov x1, #0xc030 // #49200 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 210c mov x0, #0xc048 // #49224 movk x0, #0x11f6, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2110 210c: asr w21, w23, #16 2110: mov x0, #0x83b8 // #33720 movk x0, #0x1204, lsl #16 movk x0, #0xe168, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x1127, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0x1004, lsl #16 movk x0, #0xe168, lsl #32 ldr w0, [x0] ↓ cbz w0, 23bc udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 21e8 2154: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 23c4 add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0xc060 // #49248 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, 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 21b4 add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 21b4: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0x1127, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 21f8 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 21e4 mov w21, wzr 21e4: add w23, w23, #0x1 21e8: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 2154 ↓ b 2200 21f8: mov x26, x28 ↓ b 2204 2200: mov x26, xzr 2204: ↓ cbz x26, 2274 ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xdf38 // #57144 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf38 // #57144 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w21 mov w2, w23 mov x0, x24 mov w4, w25 mov x5, #0xc018 // #49176 movk x5, #0x11f6, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 2274: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 22a4 2280: mov w0, w23 mov x1, #0x4c40 // #19520 movk x1, #0x620, lsl #16 movk x1, #0xe168, lsl #32 mov x2, #0x5e90 // #24208 movk x2, #0x118b, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 22a4: cmp w23, #0x800 ↓ b.ge 22c8 sxtw x1, w23 mov x0, #0xb1e0 // #45536 movk x0, #0x1137, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2ec870 ,bool)[OptimizedTier1]+0xffffffffff2ec7f0> mov x26, x0 ↓ b 22e8 22c8: mov w0, w23 mov w1, wzr mov x2, #0x7e58 // #32344 movk x2, #0x11ca, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 22e8: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xdf38 // #57144 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf38 // #57144 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w21 mov w2, w23 mov x0, x24 mov w4, #0xffffffff // #-1 mov x5, #0xc018 // #49176 movk x5, #0x11f6, lsl #16 movk x5, #0xe168, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf38 // #57144 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 ldr x0, [x22, #16] ldr w0, [x0, #8] mov w1, #0x1 // #1 cmp w0, w25 cinc w5, w1, gt mov x0, x24 mov w1, w21 mov w2, w23 mov w4, #0xffffffff // #-1 mov x6, #0xc078 // #49272 movk x6, #0x11f6, lsl #16 movk x6, #0xe168, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 23b0: mov x21, xzr mov w22, wzr ↑ b 148 23bc: bl ffffffffff29c1e0 ,bool)[OptimizedTier1]+0xffffffffff29c160> brk #0xf000 23c4: bl ffffffffff29c1c8 ,bool)[OptimizedTier1]+0xffffffffff29c148> brk #0xf000 sub sp, sp, #0x60 stp x19, x20, [sp] stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] stp x29, x30, [sp, #80] mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] ↓ cbz x1, 2448 mov x17, #0xfffffffffffffe74 // #-396 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe60 // #-416 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0x1127, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x5dc0, lsl #16 movk x0, #0xe158, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe68 // #-408 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x2368 // #9064 movk x3, #0x11db, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 2448: 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.): 5007007002, [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-40368-32664.so Percent stp x29, x30, [sp, #-112]! 0.43 stp x19, x20, [sp, #40] stp x21, x22, [sp, #56] 0.43 stp x23, x24, [sp, #72] stp x25, x26, [sp, #88] 0.43 str x27, [sp, #104] mov x29, sp stp xzr, xzr, [x29, #24] 1.29 str x4, [x29, #16] 6.01 mov x20, x0 1.29 mov x19, x1 1.29 mov x21, x2 mov x22, x3 ldr w0, [x19, #40] 1.29 and w23, w0, #0x7fffffff ldr w0, [x22, #136] 0.86 cmp w23, w0 ↓ b.ge 47c 0.86 ldrb w0, [x20, #24] 0.43 ↓ cbnz w0, 58 0.43 ldr x0, [x21] 0.43 ↓ cbz x0, 498 0.86 58: ldrb w0, [x20, #16] cmp w0, #0x2 0.86 ↓ b.ne 644 0.43 ldr x0, [x29, #16] 2.58 ldrb w1, [x0, #144] 5.15 ↓ cbnz w1, 4b4 1.29 70: ldr x2, [x21] ldr x1, [x20] mov x3, #0x7808 // #30728 movk x3, #0x11e1, lsl #16 movk x3, #0xe168, lsl #32 0.43 cmp x1, x3 ↓ b.ne 458 ↓ cbz x2, 500 add x22, x2, #0x10 0.43 ldr w21, [x2, #8] ldr w1, [x19, #124] 0.43 ↓ tbz w1, #1, 520 a0: ldr x0, [x29, #16] 0.43 ldr w1, [x19, #124] ↓ 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 0.43 add w1, w24, #0x3 ldr w2, [x19, #76] ldr w3, [x19, #52] sub w2, w2, w3 cmp w2, w1 ↓ b.lt 59c 1.72 ec: add x25, x19, #0x40 0.43 mov x26, xzr 0.43 mov w27, wzr ldr x1, [x25] ↓ cbz x1, 138 ldr x2, [x1] 1.29 ldr w2, [x2] tst w2, #0x80000000 ↓ b.eq 5bc add x26, x1, #0x10 ldr w27, [x1, #8] 0.43 118: ldp w1, w2, [x25, #8] 0.43 and w1, w1, #0x7fffffff mov w1, w1 0.86 add x3, x1, w2, uxtw cmp x3, w27, uxtw 0.43 ↓ b.hi 600 add x26, x26, x1 0.43 asr w27, w2, #0 138: ldr w1, [x19, #40] ↓ tbnz w1, #31, 5e0 0.43 140: ldr w1, [x19, #52] add w2, w1, #0x1 str w2, [x19, #52] 1.72 cmp w1, w27 ↓ b.cs 76c 0.43 mov w2, #0x22 // #34 strb w2, [x26, w1, uxtw #0] 0.43 ldr w1, [x19, #52] 0.43 cmp w1, w27 ↓ b.hi 600 0.43 mov w2, w1 0.43 add x2, x26, x2 0.43 sub w1, w27, w1 0.43 ↓ cbz w21, 3fc stp x2, x22, [x29, #24] cmp w24, w1 ↓ b.gt 618 0.43 asr w3, w21, #0 188: mov x1, x22 0.43 mov x4, x2 0.43 add x5, x1, w21, uxtw add x6, x1, w3, uxtw cmp w3, #0x10 ↓ b.lt 2e4 sub x3, x6, #0x30 0.43 cmp x3, x1 ↓ b.cc 25c 0.43 mov x1, x22 mov x4, x2 0.43 1b4: ld3 {v16.16b-v18.16b}, [x1] 6.01 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 0.86 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.43 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 0.43 tbl v19.16b, {v21.16b-v24.16b}, v19.16b 0.86 sli v20.16b, v16.16b, #4 movi v16.16b, #0x3f and v16.16b, v20.16b, v16.16b 0.43 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 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 0.43 ushr v20.16b, v18.16b, #6 0.86 sli v20.16b, v17.16b, #2 movi v17.16b, #0x3f 0.43 and v17.16b, v20.16b, v17.16b 0.43 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.86 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.43 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.86 tbl v17.16b, {v20.16b-v23.16b}, v17.16b 1.29 movi v20.16b, #0x3f 0.43 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.86 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 1.72 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.86 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.86 tbl v18.16b, {v20.16b-v23.16b}, v18.16b 1.29 mov v20.16b, v16.16b 0.43 mov v21.16b, v17.16b mov v22.16b, v18.16b st4 {v19.16b-v22.16b}, [x4] 3.00 add x1, x1, #0x30 0.43 add x4, x4, #0x40 0.43 cmp x1, x3 ↑ b.ls 1b4 cmp x1, x5 ↓ b.eq 3f4 25c: sub x3, x6, #0x10 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 0.43 2e4: mov x3, #0xf528 // #62760 movk x3, #0x1019, lsl #16 movk x3, #0xe168, lsl #32 sub x6, x6, #0x2 cmp x1, x6 ↓ b.cs 358 1.29 2fc: ldrb w7, [x1] 3.43 lsl w7, w7, #16 ldrb w8, [x1, #1] 0.43 orr w7, w7, w8, lsl #8 ldrb w8, [x1, #2] 0.43 orr w7, w7, w8 lsr w8, w7, #18 0.43 ldrb w8, [x3, w8, uxtw #0] 6.44 lsr w9, w7, #12 0.43 and w9, w9, #0x3f ldrb w9, [x3, w9, uxtw #0] 0.43 orr w8, w8, w9, lsl #8 0.43 lsr w9, w7, #6 and w9, w9, #0x3f ldrb w9, [x3, w9, uxtw #0] orr w8, w8, w9, lsl #16 and w7, w7, #0x3f ldrb w7, [x3, w7, uxtw #0] orr w7, w8, w7, lsl #24 str w7, [x4], #4 add x1, x1, #0x3 cmp x1, x6 ↑ b.cc 2fc 0.43 358: add x6, x6, #0x2 cmp x6, x5 ↓ b.ne 3f4 add x6, x1, #0x1 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.43 3c4: ldrb w1, [x1] 0.43 lsl w1, w1, #8 lsr w5, w1, #10 ldrb w5, [x3, w5, uxtw #0] lsr w1, w1, #4 and w1, w1, #0x3f 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 0.86 ↓ 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 str w2, [x19, #52] 0.43 cmp w1, w27 ↓ b.cs 76c mov w2, #0x22 // #34 0.43 strb w2, [x26, w1, uxtw #0] 0.86 428: ldr w1, [x19, #40] orr w1, w1, #0x80000000 0.43 str w1, [x19, #40] mov w1, #0x7 // #7 strb w1, [x19, #58] 0.86 43c: ldr w1, [x19, #40] 3.86 and w1, w1, #0x7fffffff cmp w23, w1 0.43 ↓ b.ne 628 1.72 44c: ldr x0, [x29, #16] mov w5, #0x1 // #1 ↓ b 808 0.43 458: mov x0, x20 mov x1, x19 0.43 mov x3, x22 ldr x4, [x20] ldr x4, [x4, #96] ldr x4, [x4, #48] 0.86 → blr x4 ldr x0, [x29, #16] 0.43 ↑ b 43c 47c: ldr w0, [x22, #136] mov x1, #0x6d18 // #27928 movk x1, #0x11e5, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 498: mov x0, x19 mov x1, #0x6160 // #24928 movk x1, #0x11ec, lsl #16 movk x1, #0xe168, 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, #0x6d30 // #27952 movk x1, #0x11e5, lsl #16 movk x1, #0xe168, 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, #0x6160 // #24928 movk x1, #0x11ec, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x29, #16] ↑ b 43c 520: mov x0, x19 mov x1, #0xc2a0 // #49824 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, a0 mov x0, x19 mov x1, #0xc2b8 // #49848 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 ↑ b a0 558: mov x1, x22 mov w2, w21 mov x0, x19 mov x3, #0x6c88 // #27784 movk x3, #0x11ec, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 ldr x0, [x29, #16] ↑ b 428 580: mov w0, w21 mov x1, #0x7ed0 // #32464 movk x1, #0x11d7, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 59c: mov x0, x19 mov x2, #0x6b08 // #27400 movk x2, #0x11d7, lsl #16 movk x2, #0xe168, 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, #0x1146, lsl #16 movk x1, #0xe168, 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, #0x6e38 // #28216 movk x1, #0x11e5, lsl #16 movk x1, #0xe168, 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, #0x6190 // #24976 movk x1, #0x11ec, lsl #16 movk x1, #0xe168, 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, #0x61c0 // #25024 movk x5, #0x11ec, lsl #16 movk x5, #0xe168, 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, #0x61d8 // #25048 movk x6, #0x11ec, lsl #16 movk x6, #0xe168, 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 ffffffffff2a5ea8 mov x19, x0 mov x1, xzr mov x2, #0x2820 // #10272 movk x2, #0x620, lsl #16 movk x2, #0xe168, lsl #32 mov x3, #0xc450 // #50256 movk x3, #0x115e, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2fc4e0 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x6ee0 // #28384 movk x1, #0x11e5, lsl #16 movk x1, #0xe168, 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, #0x70c0 // #28864 movk x1, #0x11f6, lsl #16 movk x1, #0xe168, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x70d8 // #28888 movk x0, #0x11f6, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xe570 // #58736 movk x0, #0x114e, lsl #16 movk x0, #0xe168, lsl #32 bl ffffffffff2fc4c0 mov x22, x0 mov x0, #0x70f0 // #28912 movk x0, #0x11f6, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc948 // #51528 movk x2, #0x11ca, lsl #16 movk x2, #0xe168, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2fc4e0 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc5e8 // #50664 movk x2, #0x11b9, lsl #16 movk x2, #0xe168, 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, #0x115e, lsl #16 movk x3, #0xe168, 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, #0x117b, lsl #16 movk x0, #0xe168, 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, #0x1146, lsl #16 movk x0, #0xe168, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 37c: ldr x1, [x0] ldr x1, [x1, #88] ldr x1, [x1] ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 → br x1 39c: ldr w1, [x19, #52] ↑ cbz w1, 190 ldr x0, [x19, #8] mov x11, #0x2718 // #10008 movk x11, #0x1005, lsl #16 movk x11, #0xe168, 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.): 5007007002, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-40368-32557.so 0.76 stp x29, x30, [sp, #-64]! stp x19, x20, [sp, #32] 0.76 stp x21, x22, [sp, #48] mov x29, sp 0.76 str xzr, [x29, #24] 0.76 mov x19, x0 2.29 mov x21, x1 1.53 mov w20, w2 mov w22, wzr 0.76 cmp w20, #0x8 0.76 ↓ b.ge b0 0.76 2c: mov x0, xzr cmp w20, #0x0 0.76 csel x0, x0, x21, eq // eq = none str x0, [x29, #24] 0.76 mov w1, w20 mov w2, w22 cmp x2, x1 ↓ b.cs 90 2.29 ldrsb wzr, [x19] 3.82 sub x3, x1, x2 2.29 cmp x3, #0x8 ↓ b.cs 154 0.76 5c: cmp x2, x1 ↓ b.cs 90 1.53 64: add x3, x19, #0x420 4.58 ldrh w4, [x0, x2, lsl #1] 1.53 lsr w5, w4, #5 4.58 ldr w3, [x3, w5, uxtw #2] 16.03 mov w5, #0x1 // #1 10.69 lsl w4, w5, w4 3.82 tst w3, w4 1.53 ↓ b.eq 90 19.08 add x2, x2, #0x1 3.05 cmp x2, x1 ↑ b.cc 64 2.29 90: mov w0, #0xffffffff // #-1 0.76 cmp w2, w1 0.76 csel w2, w2, w0, ne // ne = any 0.76 mov w0, w2 0.76 ldp x21, x22, [sp, #48] 0.76 ldp x19, x20, [sp, #32] 0.76 ldp x29, x30, [sp], #64 0.76 ← ret b0: ldr x0, [x19, #24] ↓ cbz x0, 10c ldr x2, [x0] 5.34 mov x1, #0x8140 // #33088 movk x1, #0x115f, lsl #16 movk x1, #0xe168, lsl #32 cmp x2, x1 ↓ b.ne 128 0.76 add x2, x0, #0x8 mov x0, x21 mov w1, w20 mov x3, #0x6d60 // #28000 movk x3, #0x11ec, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] → blr x3 f0: asr w22, w0, #0 cmp w22, w20 ↓ b.cc 144 fc: ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb38 // #60216 movk x1, #0x1146, lsl #16 movk x1, #0xe168, 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.): 5007007002, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-40368-32541.so 1.54 stp x29, x30, [sp, #-16]! mov x29, sp 3.08 sub x3, x0, x1 0.77 sub x4, x1, x0 0.77 cmp x3, x2 ccmp x4, x2, #0x0, cs // cs = hs, nlast ↓ b.cc 124 1.54 add x3, x1, x2 0.77 add x4, x0, x2 0.77 cmp x2, #0x10 ↓ b.ls d4 1.54 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.77 ldp q16, q17, [x1, #32] stp q16, q17, [x0, #32] 0.77 add x1, x1, x5 0.77 add x0, x0, x5 sub x2, x2, x5 68: lsr x5, x2, #6 1.54 6c: ldp q16, q17, [x1] 26.92 stp q16, q17, [x0] 3.08 ldp q16, q17, [x1, #32] 23.85 stp q16, q17, [x0, #32] 7.69 add x0, x0, #0x40 2.31 add x1, x1, #0x40 1.54 sub x5, x5, #0x1 3.85 ↑ cbnz x5, 6c 0.77 and x2, x2, #0x3f 0.77 cmp x2, #0x10 ↓ b.ls a8 0.77 98: ldr q16, [x1] 0.77 str q16, [x0] cmp x2, #0x20 ↓ b.hi b8 0.77 a8: ldur q16, [x3, #-16] 5.38 stur q16, [x4, #-16] 2.31 b0: ldp x29, x30, [sp], #16 2.31 ← ret b8: ldr q16, [x1, #16] str q16, [x0, #16] 0.77 cmp x2, #0x30 ↑ b.ls a8 ldr q16, [x1, #32] str q16, [x0, #32] ↑ b a8 d4: tst w2, #0x18 ↓ b.eq f0 ldr x2, [x1] str x2, [x0] 0.77 ldur x1, [x3, #-8] stur x1, [x4, #-8] 0.77 ↑ 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, #0x6bb0 // #27568 movk x3, #0x11f6, lsl #16 movk x3, #0xe168, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3