libobjc.A.dylib`objc_retain:
0x7fffb03faf10 <+0>: pushq %rbp
0x7fffb03faf11 <+1>: movq %rsp, %rbp
0x7fffb03faf14 <+4>: xorl êx, êx
0x7fffb03faf16 <+6>: testq %rdi, %rdi
0x7fffb03faf19 <+9>: je 0x7fffb03faf64 ; <+84>
0x7fffb03faf1b <+11>: testb $0x1, %dil
0x7fffb03faf1f <+15>: jne 0x7fffb03faf61 ; <+81>
0x7fffb03faf21 <+17>: movq (%rdi), %rax
0x7fffb03faf24 <+20>: movabsq $0x7ffffffffff8, %rcx ; imm = 0x7FFFFFFFFFF8
0x7fffb03faf2e <+30>: andq %rax, %rcx
-> 0x7fffb03faf31 <+33>: testb $0x2, 0x20(%rcx)
0x7fffb03faf35 <+37>: je 0x7fffb03faf66 ; <+86>
0x7fffb03faf37 <+39>: testb $0x1, %al
0x7fffb03faf39 <+41>: je 0x7fffb03faf5b ; <+75>
0x7fffb03faf3b <+43>: movabsq $0x100000000000000, %rcx ; imm = 0x100000000000000
0x7fffb03faf45 <+53>: movq %rax, %rdx
0x7fffb03faf48 <+56>: addq %rcx, %rdx
0x7fffb03faf4b <+59>: jb 0x7fffb03faf76 ; <+102>
0x7fffb03faf4d <+61>: lock
0x7fffb03faf4e <+62>: cmpxchgq %rdx, (%rdi)
0x7fffb03faf52 <+66>: je 0x7fffb03faf61 ; <+81>
0x7fffb03faf54 <+68>: movq (%rdi), %rax
0x7fffb03faf57 <+71>: testb $0x1, %al
0x7fffb03faf59 <+73>: jne 0x7fffb03faf45 ; <+53>
0x7fffb03faf5b <+75>: popq %rbp
0x7fffb03faf5c <+76>: jmp 0x7fffb0403118 ; objc_object::sidetable_retain()
0x7fffb03faf61 <+81>: movq %rdi, %rax
0x7fffb03faf64 <+84>: popq %rbp
0x7fffb03faf65 <+85>: retq
0x7fffb03faf66 <+86>: leaq 0x97555fb(%rip), %rax ; SEL_retain
0x7fffb03faf6d <+93>: movq (%rax), %rsi
0x7fffb03faf70 <+96>: popq %rbp
0x7fffb03faf71 <+97>: jmp 0x7fffb03fb040 ; objc_msgSend
0x7fffb03faf76 <+102>: xorl %esi, %esi
0x7fffb03faf78 <+104>: popq %rbp
0x7fffb03faf79 <+105>: jmp 0x7fffb04028ac ; objc_object::rootRetain_overflow(bool)
0x7fffb03faf7e <+110>: nop
0x7fffb03faf7f <+111>: nop