Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- +(void)load {
- var_C = lr;
- *((sp - 0x14) + 0xfffffffffffffffc) = r8;
- sp = (sp - 0x14) + 0xfffffffffffffffc - 0xc;
- if (_objc_autoreleasePoolPush == 0x0) {
- _dyld_register_func_for_add_image(0xc82d);
- }
- r5 = objc_getClass("NSArray");
- if (class_respondsToSelector(r5, @selector(objectAtIndexedSubscript:)) == 0x0) {
- protocol_getMethodDescription(sp + 0x4, @protocol(__ARCLiteIndexedSubscripting__), @selector(objectAtIndexedSubscript:), 0x1);
- asm { ldrd r1, r3, [sp, #0x18 + var_14] };
- class_addMethod(r5, r1, 0xca9f, r3);
- }
- r6 = objc_getClass("NSMutableArray");
- if (class_respondsToSelector(r6, @selector(setObject:atIndexedSubscript:)) == 0x0) {
- protocol_getMethodDescription(sp + 0x4, @protocol(__ARCLiteIndexedSubscripting__), @selector(setObject:atIndexedSubscript:), 0x1);
- asm { ldrd r1, r3, [sp, #0x18 + var_14] };
- class_addMethod(r6, r1, 0xcab5, r3);
- }
- r6 = objc_getClass("NSDictionary");
- if (class_respondsToSelector(r6, @selector(objectForKeyedSubscript:)) == 0x0) {
- protocol_getMethodDescription(sp + 0x4, @protocol(__ARCLiteKeyedSubscripting__), @selector(objectForKeyedSubscript:), 0x1);
- asm { ldrd r1, r3, [sp, #0x18 + var_14] };
- class_addMethod(r6, r1, 0xcb03, r3);
- }
- r0 = objc_getClass("NSOrderedSet");
- r6 = r0;
- if (class_respondsToSelector(r0, @selector(objectAtIndexedSubscript:)) == 0x0) {
- protocol_getMethodDescription(sp + 0x4, @protocol(__ARCLiteIndexedSubscripting__), @selector(objectAtIndexedSubscript:), 0x1);
- asm { ldrd r1, r3, [sp, #0x18 + var_14] };
- class_addMethod(r6, r1, 0xcb19, r3);
- }
- r0 = objc_getClass("NSMutableOrderedSet");
- r4 = r0;
- if (class_respondsToSelector(r0, @selector(setObject:atIndexedSubscript:)) == 0x0) {
- protocol_getMethodDescription(sp + 0x4, @protocol(__ARCLiteIndexedSubscripting__), @selector(setObject:atIndexedSubscript:), 0x1);
- asm { ldrd r1, r3, [sp, #0x18 + var_14] };
- class_addMethod(r4, r1, 0xcb2f, r3);
- }
- asm { vcmpe.f64 d17, d16 };
- if (!COND) {
- r4 = objc_getClass("NSMutableDictionary");
- protocol_getMethodDescription(sp + 0x4, @protocol(__ARCLiteKeyedSubscripting__), @selector(setObject:forKeyedSubscript:), 0x1);
- asm { ldrd r1, r3, [sp, #0x18 + var_14] };
- class_replaceMethod(r4, r1, 0xcb45, r3);
- }
- if (_objc_retain == 0x0) {
- _dyld_register_func_for_add_image(0xcb71);
- }
- if (_objc_readClassPair == 0x0) {
- _dyld_register_func_for_add_image(0xcfef);
- r4 = objc_getClass("NSUndoManagerProxy");
- if (r4 != 0x0) {
- r0 = class_getInstanceVariable(r4, "_targetClass");
- *0x11318 = r0;
- if (r0 != 0x0) {
- class_addMethod(r4, @selector(isKindOfClass:), 0xd237, "@:#");
- }
- }
- r4 = objc_getClass("NSManagedObject");
- if (r4 != 0x0) {
- r5 = object_getClass(r4);
- replaceMethod(r4, @selector(init), 0xd287, 0x1131c);
- replaceMethod(r5, @selector(allocWithEntity:), 0xd29f, 0x11320);
- replaceMethod(r5, @selector(allocBatch:withEntity:count:), 0xd2b7, 0x11324);
- }
- *0x11328 = objc_getClass("NSMutableDictionary");
- *0x1132c = objc_getClass("NSConstantString");
- *0x11330 = objc_getClass("NSString");
- r4 = objc_getClass("NSKnownKeysMappingStrategy1");
- if (r4 != 0x0) {
- replaceMethod(r4, @selector(fastIndexForKnownKey:), 0xd2eb, 0x11334);
- replaceMethod(r4, @selector(indexForKey:), 0xd335, 0x11338);
- }
- r4 = objc_getClass("NSKnownKeysDictionary1");
- if (r4 != 0x0) {
- replaceMethod(r4, @selector(objectForKey:), 0xd37f, 0x1133c);
- replaceMethod(r4, @selector(removeObjectForKey:), 0xd3c9, 0x11340);
- replaceMethod(r4, @selector(setObject:forKey:), 0xd40f, 0x11344);
- replaceMethod(r4, @selector(addEntriesFromDictionary:), 0xd459, 0x11348);
- }
- }
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement