// callconv: x0 arm64 (x0, x1, x2, x3, x4, x5, x6, x7, stack); void sym.func.10003cd30 (int64_t arg1) { sp -= 0x70 [var_10h] = (x28, 2) [var_20h] = (x26, 2) [var_30h] = (x24, 2) [var_40h] = (x22, 2) [var_50h] = (x20, 2) [var_60h] = (x29, 2) x29 = sp + 0x60 x19 = x0 // arg1 x0 = [x0 + 8] // arg1 if (!x0) goto 0x10003ce8c // unlikely goto loc_0x10003cd5c; loc_0x10003ce8c: // CODE XREF from sym.func.10003cd30 @ 0x10003cda0(x) (x29, 2) = 3 // sp (x20, 2) = 3 (x22, 2) = 3 (x24, 2) = 3 (x26, 2) = 3 (x28, 2) = 3 sp += 0x70 return x0; loc_0x10003cd5c: // orphan w26 = 0x9680 w26 |= 0x98 << 16 x20 = x19 + 0x10 x21 = x19 + 0x100 // mach0_section___TEXT___stubs x22 = x19 + 0x140 w27 = 0x4240 // '@B' w27 |= 0xf << 16 w28 = 1 loc_0x10003cd8c: // orphan [var_8h] = x26 goto loc_0x10003cd7c; loc_0x10003cd7c: // orphan sym.func.100023438 () // sym.func.100023438(-1, 0x0, 0x0, 0x0) if (w0 == 0) goto loc_0x10003cda0; loc_0x10003cd84: // orphan w8 = [x19 + 0x1a0] // mach0_section___TEXT___objc_stubs if (!w8) loc_0x10003cda4: // orphan (x8, 2) = 3 x9 = [x19 + 0x30] x11 = x9 + x8 x2 = x10 - x11 v = x2 - 0x400 if (((unsigned) v) > 0) loc_0x10003cdd8: // orphan x0 = [x19 + 8] x1 = x8 + x9 sym.func.100023df8 () // sym.func.100023df8(-1, 0xfffffffffffffffe, 0x1, 0x0) x23 = x0 v = w23 - 1 if (v < 0) loc_0x10003cdfc: // orphan (x9, 2) = 3 v = x8 - x9 if (!v) loc_0x10003ce70: // orphan w8 = [x19 + 0x98] v = w8 - 0 if (v > 0) loc_0x10003ce84: // orphan [var_8h] = x27 loc_0x10003cd90: // orphan // CODE XREF from sym.func.10003cd30 @ 0x10003ce88(x) x0 = sp + 8 sym.imp.std::__1::this_thread::sleep_for_std::__1::chrono::duration_long_long__std::__1::ratio_1l__1000000000l____const_ () // std::__1::this_thread::sleep_for(std::__1::chrono::duration > const&) // sym.imp.std::__1::this_thread::sleep_for_std::__1::chrono::duration_long_long__std::__1::ratio_1l__1000000000l____const_(0x177f98, 0x0, 0x0, 0x0) x0 = [x19 + 8] if (x0) goto loc_0x10003ce7c; loc_0x10003ce7c: // orphan bic w8, w23, w23, asr 31 [x19 + 0x98] = w8 goto loc_0x10003ce08; loc_0x10003ce08: // orphan x0 = x19 sym.func.10003d7f8 () // sym.func.10003d7f8(0x0, 0xfffffffffffffffe, 0x1, 0x0) x24 = x0 if (w0 != 0x1f) loc_0x10003ce24: // orphan w8 = w24 + 6 v = w8 - 2 if (((unsigned) v) > 0) goto loc_0x10003ce30; try { // cleanup at 0x10003ceac loc_0x10003ce30: // orphan w0 = 0x28 // '(' sym.imp.operator_new_unsigned_long_ () // operator new(unsigned long) // sym.imp.operator_new_unsigned_long_(0x28, 0xfffffffffffffffe, 0x1, 0x0) x25 = x0 w1 = 0xfffe w1 |= 0x2fff << 16 x2 = x24 sym.func.100071afc () // try.623.10003cd30.to // sym.func.100071afc(0x28, 0x2ffffffe, 0x0, 0x0) [var_8h] = x25 x0 = x21 // mach0_section___TEXT___stubs class.std::__1::mutex () // class.std::__1::mutex(0x100, 0x2ffffffe, 0x0, 0x0) x1 = sp + 8 // "(" x0 = x22 sym.func.10003e64c () // sym.func.10003e64c(0x140, 0x177f98, 0x0, 0x0) x0 = x21 // mach0_section___TEXT___stubs method.std::__1::mutex.unlock__ () // method.std::__1::mutex.unlock__(0x100, 0x177f98, 0x0, 0x0) [x19 + 0x1a0] = w28 // mach0_section___TEXT___objc_stubs goto loc_0x10003ce18; } // end try loc_0x10003ce18: // orphan (x9, 2) = 3 v = x8 - x9 if (v) goto loc_0x10003cdf0; loc_0x10003cdf0: // orphan x1 = x23 & 0xffffffff x0 = x20 sym.func.10002dffc () // sym.func.10002dffc(0x10, -1, 0x1, 0x0) goto loc_0x10003cdbc; loc_0x10003cdbc: // orphan x0 = x20 w1 = 0x800 sym.func.100031b90 () // sym.func.100031b90(0x10, 0x800, 0x1, 0x0) x9 = [x19 + 0x30] (x8, 2) = 3 x11 = x9 + x8 x2 = x10 - x11 }