// callconv: x0 arm64 (x0, x1, x2, x3, x4, x5, x6, x7, stack); void sym.func.10004b594 (int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4) { if (!w2) goto 0x10004b650 // likely goto loc_0x10004b598; loc_0x10004b650: w17 = 0 goto 0x10004b65c loc_0x10004b65c: // CODE XREFS from sym.func.10004b594 @ 0x10004b604(x), 0x10004b654(x) [x3] = w17 // arg4 return x0; loc_0x10004b598: // orphan w16 = 0 w4 = 0 w15 = 0 w8 = w2 // arg3 w9 = 2 w10 = 6 w11 = 0x9e x12 = 0x1008ae000 x12 += 0x6f4 w13 = 0x34 // '4' x14 = 0x100766000 x14 += 0x40 loc_0x10004b658: // orphan x17 = x4 goto loc_0x10004b5d4; loc_0x10004b5d4: // orphan v = w15 - 2 if (v >= 0) loc_0x10004b608: // orphan w15 = w2 & 0x3f w17 = w10 - w9 w15 = w15 >> w17 w15 = w16 | w15 x15 &= 0xff x15 ^= x11 w15 = (byte) [x12 + x15] w15 ^= w13 w17 = w4 + 1 strb w15, [x1, w4, sxtw] // arg2 v = w9 - 5 if (v > 0) loc_0x10004b644: // orphan w15 = 0 w9 = 2 loc_0x10004b5f8: // orphan // CODE XREF from sym.func.10004b594 @ 0x10004b64c(x) x4 = x17 x8 -= 1 if (v) loc_0x10004b5c8: // orphan w17 = (byte) [x0] + 1 // arg1 w2 = w17 - 0x3c if (((unsigned) v) < 0) goto loc_0x10004b604; loc_0x10004b638: // orphan w15 = 0 w9 += 2 loc_0x10004b5e0: // orphan // CODE XREF from sym.func.10004b594 @ 0x10004b640(x) w16 = w2 << w9 add x2, x14, w9, sxtw w2 = (byte) [x2 -2] w16 = w2 & w16 w15 -= w9 w15 += 8 goto loc_0x10004b5dc; loc_0x10004b5dc: // orphan x17 = x4 }