︙ | | |
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movdqa %xmm0, -0x50(%rbp)
movdqa %xmm1, -0x60(%rbp)
movdqa %xmm2, -0x70(%rbp)
movdqa %xmm3, -0x80(%rbp)
movdqa %xmm4, -0x90(%rbp)
movdqa %xmm5, -0xA0(%rbp)
movdqa %xmm6, -0xB0(%rbp)
movdqa %xmm7, -0xC0(%rbp)
movaps %xmm0, -0x50(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x70(%rbp)
movaps %xmm3, -0x80(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0xA0(%rbp)
movaps %xmm6, -0xB0(%rbp)
movaps %xmm7, -0xC0(%rbp)
call _object_getClass
movq %rax, %rdi
movq sel_forwardingTargetForSelector_(%rip), %rsi
call _class_respondsToSelector
|
︙ | | |
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
jz 0f
cmpq -0x10(%rbp), %rax
je 0f
movq %rax, %rdi
/* Restore all arguments, except %rdi */
movdqa -0xC0(%rbp), %xmm7
movdqa -0xB0(%rbp), %xmm6
movdqa -0xA0(%rbp), %xmm5
movdqa -0x90(%rbp), %xmm4
movdqa -0x80(%rbp), %xmm3
movdqa -0x70(%rbp), %xmm2
movdqa -0x60(%rbp), %xmm1
movdqa -0x50(%rbp), %xmm0
movaps -0xC0(%rbp), %xmm7
movaps -0xB0(%rbp), %xmm6
movaps -0xA0(%rbp), %xmm5
movaps -0x90(%rbp), %xmm4
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x60(%rbp), %xmm1
movaps -0x50(%rbp), %xmm0
movq -0x38(%rbp), %r9
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rsi
movq -0x8(%rbp), %rax
|
︙ | | |
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movdqa %xmm0, -0x50(%rbp)
movdqa %xmm1, -0x60(%rbp)
movdqa %xmm2, -0x70(%rbp)
movdqa %xmm3, -0x80(%rbp)
movdqa %xmm4, -0x90(%rbp)
movdqa %xmm5, -0xA0(%rbp)
movdqa %xmm6, -0xB0(%rbp)
movdqa %xmm7, -0xC0(%rbp)
movaps %xmm0, -0x50(%rbp)
movaps %xmm1, -0x60(%rbp)
movaps %xmm2, -0x70(%rbp)
movaps %xmm3, -0x80(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0xA0(%rbp)
movaps %xmm6, -0xB0(%rbp)
movaps %xmm7, -0xC0(%rbp)
movq %rsi, %rdi
call _object_getClass
movq %rax, %rdi
movq sel_forwardingTargetForSelector_(%rip), %rsi
call _class_respondsToSelector
|
︙ | | |
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
jz 0f
cmpq -0x18(%rbp), %rax
je 0f
movq %rax, %rsi
/* Restore all arguments, except %rsi */
movdqa -0xC0(%rbp), %xmm7
movdqa -0xB0(%rbp), %xmm6
movdqa -0xA0(%rbp), %xmm5
movdqa -0x90(%rbp), %xmm4
movdqa -0x80(%rbp), %xmm3
movdqa -0x70(%rbp), %xmm2
movdqa -0x60(%rbp), %xmm1
movdqa -0x50(%rbp), %xmm0
movaps -0xC0(%rbp), %xmm7
movaps -0xB0(%rbp), %xmm6
movaps -0xA0(%rbp), %xmm5
movaps -0x90(%rbp), %xmm4
movaps -0x80(%rbp), %xmm3
movaps -0x70(%rbp), %xmm2
movaps -0x60(%rbp), %xmm1
movaps -0x50(%rbp), %xmm0
movq -0x38(%rbp), %r9
movq -0x30(%rbp), %r8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
|
︙ | | |