@@ -61,15 +61,17 @@ add eax, offset _GLOBAL_OFFSET_TABLE_ lea eax, [eax+\not_found@GOTOFF] jmp eax .Ltagged_pointer_\name: - and dl, 0xE - movzx edx, dl - call get_eip add eax, offset _GLOBAL_OFFSET_TABLE_ + + lea ecx, [eax+objc_tagged_pointer_secret@GOTOFF] + xor edx, [ecx] + and dl, 0xE + movzx edx, dl lea eax, [eax+objc_tagged_pointer_classes@GOTOFF] mov edx, [eax+edx*2] mov edx, [edx+32]