Last active
September 1, 2020 08:08
-
-
Save madordie/2078e41ec87d0943364e23b61abdc28c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void __cdecl -[UIWindow sendEvent:](UIWindow *self, SEL a2, id a3) | |
{ | |
void *v3; // r13 | |
__int64 v4; // rax | |
void *v5; // rax | |
__int64 v6; // rax | |
char v7; // r15 | |
char v8; // r12 | |
char v9; // r14 | |
char v10; // bl | |
void *v11; // rax | |
void *v12; // rax | |
void *v13; // rdi | |
void *v14; // rax | |
void *v15; // rax | |
void *v16; // rdi | |
void *v17; // rax | |
void *v18; // rax | |
void *v19; // rdi | |
__m128d v20; // xmm0 | |
void *v21; // rax | |
char *v22; // r13 | |
__int64 v23; // rbx | |
void *v24; // r14 | |
char *v25; // rbx | |
__m128d v26; // xmm1 | |
__m128d v27; // xmm1 | |
void *v28; // rax | |
void *v29; // rax | |
void *v30; // rdi | |
__int64 v31; // rax | |
__int64 v32; // rax | |
void *v33; // rbx | |
void *v34; // rax | |
char *v35; // rax | |
char *v36; // r14 | |
void *v37; // rax | |
__int64 v38; // rax | |
__int64 v39; // rax | |
void *v40; // rax | |
void *v41; // r14 | |
void *v42; // rax | |
__int64 v43; // rax | |
void *v44; // r13 | |
char *v45; // rdi | |
void *v46; // r14 | |
unsigned __int64 v47; // r14 | |
__int64 v48; // r15 | |
void *v49; // r15 | |
void *v50; // rax | |
__int64 v51; // r15 | |
void *v52; // rax | |
void *v53; // r15 | |
void *v54; // rax | |
__int64 v55; // rax | |
void *v56; // rax | |
void *v57; // r12 | |
void *v58; // rax | |
__int64 v59; // rbx | |
void *v60; // rax | |
void *v61; // rax | |
void *v62; // rbx | |
void *v63; // rax | |
void *v64; // r12 | |
void *v65; // rax | |
void *v66; // rbx | |
__int64 v67; // r15 | |
unsigned __int64 v68; // r13 | |
void *v69; // rdi | |
void *v70; // rdi | |
void *v71; // rdi | |
void *v72; // r15 | |
void *v73; // rbx | |
void *v74; // rax | |
char *v75; // rbx | |
__int64 v76; // r14 | |
void *v77; // rax | |
void *v78; // rbx | |
void *v79; // r15 | |
__int64 v80; // rax | |
__int64 v81; // rax | |
void *v82; // r15 | |
void *v83; // rax | |
void *v84; // rax | |
__int64 v85; // rbx | |
void *v86; // rax | |
void *v87; // r12 | |
void *v88; // r14 | |
void *v89; // rax | |
__int64 v90; // rax | |
__int64 v91; // rax | |
void *v92; // rax | |
void *v93; // rbx | |
void *v94; // r14 | |
char *v95; // r15 | |
void *v96; // rax | |
void *v97; // rbx | |
void *v98; // rax | |
UIResponder *v99; // rax | |
void *v100; // rbx | |
void *v101; // rax | |
void *v102; // rax | |
void *v103; // rax | |
void *v104; // rax | |
void *v105; // rax | |
void *v106; // rax | |
__int64 v107; // rdi | |
struct objc_object *v108; // rax | |
__int64 v109; // r14 | |
struct objc_object *v110; // rax | |
__int64 v111; // rbx | |
__int128 v112; // [rsp+0h] [rbp-530h] | |
__int128 v113; // [rsp+10h] [rbp-520h] | |
__int128 v114; // [rsp+20h] [rbp-510h] | |
__int128 v115; // [rsp+30h] [rbp-500h] | |
__int128 v116; // [rsp+40h] [rbp-4F0h] | |
__int128 v117; // [rsp+50h] [rbp-4E0h] | |
__int128 v118; // [rsp+60h] [rbp-4D0h] | |
__int128 v119; // [rsp+70h] [rbp-4C0h] | |
void **v120; // [rsp+88h] [rbp-4A8h] | |
__int64 v121; // [rsp+90h] [rbp-4A0h] | |
__int64 (__fastcall *v122)(); // [rsp+98h] [rbp-498h] | |
void *v123; // [rsp+A0h] [rbp-490h] | |
__int64 v124; // [rsp+A8h] [rbp-488h] | |
__int64 v125; // [rsp+B0h] [rbp-480h] | |
__int64 v126; // [rsp+B8h] [rbp-478h] | |
__int64 v127; // [rsp+C0h] [rbp-470h] | |
__int64 v128; // [rsp+C8h] [rbp-468h] | |
__int64 v129; // [rsp+D0h] [rbp-460h] | |
__int64 v130; // [rsp+D8h] [rbp-458h] | |
__int128 v131; // [rsp+E0h] [rbp-450h] | |
__int128 v132; // [rsp+F0h] [rbp-440h] | |
__int128 v133; // [rsp+100h] [rbp-430h] | |
__int128 v134; // [rsp+110h] [rbp-420h] | |
__int64 v135; // [rsp+120h] [rbp-410h] | |
__int64 v136; // [rsp+128h] [rbp-408h] | |
__int64 v137; // [rsp+130h] [rbp-400h] | |
__int64 v138; // [rsp+138h] [rbp-3F8h] | |
__int64 v139; // [rsp+140h] [rbp-3F0h] | |
__int64 v140; // [rsp+148h] [rbp-3E8h] | |
__int64 v141; // [rsp+150h] [rbp-3E0h] | |
__int64 v142; // [rsp+158h] [rbp-3D8h] | |
__int64 v143; // [rsp+160h] [rbp-3D0h] | |
__int64 v144; // [rsp+168h] [rbp-3C8h] | |
void **v145; // [rsp+170h] [rbp-3C0h] | |
__int64 v146; // [rsp+178h] [rbp-3B8h] | |
__int64 (__fastcall *v147)(); // [rsp+180h] [rbp-3B0h] | |
void *v148; // [rsp+188h] [rbp-3A8h] | |
__int64 v149; // [rsp+190h] [rbp-3A0h] | |
void **v150; // [rsp+198h] [rbp-398h] | |
__int64 v151; // [rsp+1A0h] [rbp-390h] | |
__int64 (__fastcall *v152)(); // [rsp+1A8h] [rbp-388h] | |
void *v153; // [rsp+1B0h] [rbp-380h] | |
__int64 v154; // [rsp+1B8h] [rbp-378h] | |
void **v155; // [rsp+1C0h] [rbp-370h] | |
__int64 v156; // [rsp+1C8h] [rbp-368h] | |
__int64 (__fastcall *v157)(); // [rsp+1D0h] [rbp-360h] | |
void *v158; // [rsp+1D8h] [rbp-358h] | |
void *v159; // [rsp+1E0h] [rbp-350h] | |
__int64 v160; // [rsp+1E8h] [rbp-348h] | |
char *v161; // [rsp+1F0h] [rbp-340h] | |
void *v162; // [rsp+1F8h] [rbp-338h] | |
__int64 v163; // [rsp+200h] [rbp-330h] | |
__int64 v164; // [rsp+208h] [rbp-328h] | |
char *v165; // [rsp+210h] [rbp-320h] | |
char *v166; // [rsp+218h] [rbp-318h] | |
char *v167; // [rsp+220h] [rbp-310h] | |
char *v168; // [rsp+228h] [rbp-308h] | |
char *v169; // [rsp+230h] [rbp-300h] | |
char *v170; // [rsp+238h] [rbp-2F8h] | |
char *v171; // [rsp+240h] [rbp-2F0h] | |
char *v172; // [rsp+248h] [rbp-2E8h] | |
char *v173; // [rsp+250h] [rbp-2E0h] | |
char *v174; // [rsp+258h] [rbp-2D8h] | |
char *v175; // [rsp+260h] [rbp-2D0h] | |
char *v176; // [rsp+268h] [rbp-2C8h] | |
char *v177; // [rsp+270h] [rbp-2C0h] | |
char *v178; // [rsp+278h] [rbp-2B8h] | |
char *v179; // [rsp+280h] [rbp-2B0h] | |
char *v180; // [rsp+288h] [rbp-2A8h] | |
char *v181; // [rsp+290h] [rbp-2A0h] | |
char *v182; // [rsp+298h] [rbp-298h] | |
char *v183; // [rsp+2A0h] [rbp-290h] | |
__int64 v184; // [rsp+2A8h] [rbp-288h] | |
void *v185; // [rsp+2B0h] [rbp-280h] | |
__int64 v186; // [rsp+2B8h] [rbp-278h] | |
__int64 v187; // [rsp+2C0h] [rbp-270h] | |
__int64 v188; // [rsp+2C8h] [rbp-268h] | |
__int64 v189; // [rsp+2D0h] [rbp-260h] | |
__int64 v190; // [rsp+2D8h] [rbp-258h] | |
__int64 v191; // [rsp+2E0h] [rbp-250h] | |
char *v192; // [rsp+2E8h] [rbp-248h] | |
char *v193; // [rsp+2F0h] [rbp-240h] | |
char *v194; // [rsp+2F8h] [rbp-238h] | |
char *v195; // [rsp+300h] [rbp-230h] | |
char *v196; // [rsp+308h] [rbp-228h] | |
const char *v197; // [rsp+310h] [rbp-220h] | |
char *v198; // [rsp+318h] [rbp-218h] | |
char *v199; // [rsp+320h] [rbp-210h] | |
char *v200; // [rsp+328h] [rbp-208h] | |
char *v201; // [rsp+330h] [rbp-200h] | |
char *v202; // [rsp+338h] [rbp-1F8h] | |
char *v203; // [rsp+340h] [rbp-1F0h] | |
void *v204; // [rsp+348h] [rbp-1E8h] | |
void *v205; // [rsp+350h] [rbp-1E0h] | |
void *v206; // [rsp+358h] [rbp-1D8h] | |
char *v207; // [rsp+360h] [rbp-1D0h] | |
char *v208; // [rsp+368h] [rbp-1C8h] | |
void *v209; // [rsp+370h] [rbp-1C0h] | |
void *v210; // [rsp+378h] [rbp-1B8h] | |
char v211; // [rsp+380h] [rbp-1B0h] | |
char v212; // [rsp+400h] [rbp-130h] | |
__int64 v213; // [rsp+408h] [rbp-128h] | |
__int128 v214; // [rsp+410h] [rbp-120h] | |
__int128 v215; // [rsp+420h] [rbp-110h] | |
__int128 v216; // [rsp+430h] [rbp-100h] | |
char v217; // [rsp+480h] [rbp-B0h] | |
v3 = (void *)objc_retain(a3); | |
v4 = _UISetCurrentFallbackEnvironment(self, a2); | |
v184 = objc_unsafeClaimAutoreleasedReturnValue(v4); | |
v5 = objc_msgSend(&OBJC_CLASS___UITouchesEvent, "class"); | |
if ( !(unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v5) ) | |
{ | |
v60 = objc_msgSend(&OBJC_CLASS___UIPressesEvent, "class"); | |
if ( (unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v60) ) | |
{ | |
if ( (unsigned __int8)-[UIView isUserInteractionEnabled](self, "isUserInteractionEnabled") ) | |
{ | |
v61 = objc_msgSend(UIApp, "_gestureEnvironment"); | |
v62 = (void *)objc_retainAutoreleasedReturnValue(v61); | |
objc_msgSend(v62, "_updateForEvent:window:", v3, self); | |
objc_release(v62); | |
-[UIWindow _sendButtonsForEvent:](self, "_sendButtonsForEvent:", v3); | |
} | |
goto LABEL_71; | |
} | |
v98 = objc_msgSend(&OBJC_CLASS___UIMoveEvent, "class"); | |
if ( (unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v98) ) | |
{ | |
v99 = -[UIWindow _focusResponder](self, "_focusResponder"); | |
v100 = (void *)objc_retainAutoreleasedReturnValue(v99); | |
objc_msgSend(v3, "_sendEventToResponder:", v100); | |
} | |
else | |
{ | |
v101 = objc_msgSend(&OBJC_CLASS___UIDragEvent, "class"); | |
if ( !(unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v101) ) | |
{ | |
v102 = objc_msgSend(&OBJC_CLASS___UIScrollEvent, "class"); | |
if ( !(unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v102) ) | |
{ | |
v103 = objc_msgSend(&OBJC_CLASS___UITransformEvent, "class"); | |
if ( !(unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v103) ) | |
{ | |
v104 = objc_msgSend(&OBJC_CLASS___UILookupEvent, "class"); | |
if ( !(unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v104) ) | |
{ | |
v105 = objc_msgSend(&OBJC_CLASS___UIHoverEvent, "class"); | |
if ( !(unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v105) ) | |
{ | |
v108 = -[UIWindow firstResponder](self, "firstResponder"); | |
v109 = objc_retainAutoreleasedReturnValue(v108); | |
if ( !v109 ) | |
{ | |
v110 = -[UIWindow _deepestUnambiguousResponder](self, "_deepestUnambiguousResponder"); | |
v111 = objc_retainAutoreleasedReturnValue(v110); | |
objc_release(0LL); | |
v109 = v111; | |
} | |
objc_msgSend(v3, "_sendEventToResponder:", v109); | |
v107 = v109; | |
goto LABEL_82; | |
} | |
objc_msgSend(v3, "setNeedsUpdateForWindow:", self); | |
} | |
} | |
} | |
} | |
v106 = objc_msgSend(UIApp, "_gestureEnvironment"); | |
v100 = (void *)objc_retainAutoreleasedReturnValue(v106); | |
objc_msgSend(v100, "_updateForEvent:window:", v3, self); | |
} | |
v107 = (__int64)v100; | |
LABEL_82: | |
objc_release(v107); | |
goto LABEL_71; | |
} | |
v185 = v3; | |
v6 = objc_retain(v3); | |
v206 = (void *)objc_retain(v6); | |
v209 = (void *)objc_retain(self); | |
v7 = _UIInternalPreferenceUsesDefault_28( | |
&_UIInternalPreference_ShowTouches, | |
CFSTR("ShowTouches"), | |
&_UIInternalPreferenceUpdateBool); | |
v8 = byte_171C344; | |
v9 = _UIInternalPreferenceUsesDefault_28( | |
&_UIInternalPreference_ShowTouchesForAllProcesses, | |
CFSTR("ShowTouchesForAllProcesses"), | |
&_UIInternalPreferenceUpdateBool); | |
v10 = byte_171C34C; | |
if ( __updateTouchVisualisation_onceToken != -1 ) | |
dispatch_once(&__updateTouchVisualisation_onceToken, &__block_literal_global_2418); | |
if ( v7 || !v8 ) | |
{ | |
if ( __updateTouchVisualisation_touchViewsInUse ) | |
{ | |
v216 = 0LL; | |
v215 = 0LL; | |
v214 = 0LL; | |
*(_OWORD *)&v212 = 0LL; | |
v63 = (void *)objc_retain(__updateTouchVisualisation_touchViewsInUse); | |
v64 = v63; | |
v65 = objc_msgSend(v63, "countByEnumeratingWithState:objects:count:", &v212, &v217, 16LL); | |
if ( v65 ) | |
{ | |
v66 = v65; | |
v67 = *(_QWORD *)v214; | |
do | |
{ | |
v68 = 0LL; | |
do | |
{ | |
if ( *(_QWORD *)v214 != v67 ) | |
objc_enumerationMutation(v64); | |
objc_msgSend(*(void **)(v213 + 8 * v68++), "removeFromSuperview"); | |
} | |
while ( v68 < (unsigned __int64)v66 ); | |
v66 = objc_msgSend(v64, "countByEnumeratingWithState:objects:count:", &v212, &v217, 16LL); | |
} | |
while ( v66 ); | |
} | |
objc_release(v64); | |
v69 = __updateTouchVisualisation_touchViewsMapTable; | |
__updateTouchVisualisation_touchViewsMapTable = 0LL; | |
objc_release(v69); | |
v70 = __updateTouchVisualisation_touchViewReusePool; | |
__updateTouchVisualisation_touchViewReusePool = 0LL; | |
objc_release(v70); | |
v71 = __updateTouchVisualisation_touchViewsInUse; | |
__updateTouchVisualisation_touchViewsInUse = 0LL; | |
objc_release(v71); | |
} | |
} | |
else if ( v10 != 0 && v9 == 0 || !__updateTouchVisualisation_shouldExcludeProcess ) | |
{ | |
if ( !__updateTouchVisualisation_touchViewsMapTable ) | |
{ | |
v11 = objc_msgSend(&OBJC_CLASS___NSMapTable, "weakToStrongObjectsMapTable"); | |
v12 = (void *)objc_retainAutoreleasedReturnValue(v11); | |
v13 = __updateTouchVisualisation_touchViewsMapTable; | |
__updateTouchVisualisation_touchViewsMapTable = v12; | |
objc_release(v13); | |
v14 = objc_msgSend(&OBJC_CLASS___NSMutableSet, "set"); | |
v15 = (void *)objc_retainAutoreleasedReturnValue(v14); | |
v16 = __updateTouchVisualisation_touchViewReusePool; | |
__updateTouchVisualisation_touchViewReusePool = v15; | |
objc_release(v16); | |
v17 = objc_msgSend(&OBJC_CLASS___NSMutableSet, "set"); | |
v18 = (void *)objc_retainAutoreleasedReturnValue(v17); | |
v19 = __updateTouchVisualisation_touchViewsInUse; | |
__updateTouchVisualisation_touchViewsInUse = v18; | |
objc_release(v19); | |
} | |
v20 = 0LL; | |
v115 = 0LL; | |
v114 = 0LL; | |
v113 = 0LL; | |
v112 = 0LL; | |
v21 = objc_msgSend(v206, "allTouches", 0LL); | |
v204 = (void *)objc_retainAutoreleasedReturnValue(v21); | |
v202 = (char *)objc_msgSend(v204, "countByEnumeratingWithState:objects:count:", &v112, &v217, 16LL); | |
if ( v202 ) | |
{ | |
v199 = *(char **)v113; | |
do | |
{ | |
v22 = "phase"; | |
v198 = "force"; | |
v203 = "locationInView:"; | |
v200 = "objectForKey:"; | |
v192 = "setTransform:"; | |
v193 = "setPosition:"; | |
v165 = "superview"; | |
v195 = "addSubview:"; | |
v166 = "animateWithDuration:delay:options:animations:completion:"; | |
v194 = "removeObject:"; | |
v167 = "removeObjectForKey:"; | |
v168 = "objectEnumerator"; | |
v169 = "nextObject"; | |
v175 = "count"; | |
v170 = "anyObject"; | |
v176 = "initWithFrame:"; | |
v177 = "setUserInteractionEnabled:"; | |
v196 = "colorWithWhite:alpha:"; | |
v178 = "setBackgroundColor:"; | |
v179 = "layer"; | |
v180 = "CGColor"; | |
v181 = "setBorderColor:"; | |
v182 = "setBorderWidth:"; | |
v183 = "setCornerRadius:"; | |
v171 = "setAlpha:"; | |
v172 = "setObject:forKey:"; | |
v173 = "addObject:"; | |
v174 = "animateWithDuration:animations:"; | |
v23 = 0LL; | |
v207 = "phase"; | |
do | |
{ | |
if ( *(char **)v113 != v199 ) | |
objc_enumerationMutation(v204); | |
v197 = (const char *)v23; | |
v24 = *(void **)(*((_QWORD *)&v112 + 1) + 8 * v23); | |
v25 = (char *)objc_msgSend(*(void **)(*((_QWORD *)&v112 + 1) + 8 * v23), v22); | |
objc_msgSend(v24, v198); | |
v26.m128d_f64[0] = 0.0; | |
v27 = _mm_cmplt_sd(v26, v20); | |
v20.m128d_f64[0] = v20.m128d_f64[0] * 0.6 + 0.4; | |
v20 = _mm_or_pd(_mm_andn_pd(v27, (__m128d)0x3FF0000000000000uLL), _mm_and_pd(v20, v27)); | |
CGAffineTransformMakeScale(&v186); | |
objc_msgSend(v24, v203, v209, v20.m128d_f64[0]); | |
v208 = *(char **)&v20.m128d_f64[0]; | |
v210 = *(void **)&v20.m128d_f64[0]; | |
if ( v25 ) | |
{ | |
v28 = objc_msgSend(__updateTouchVisualisation_touchViewsMapTable, v200, v24); | |
v29 = (void *)objc_retainAutoreleasedReturnValue(v28); | |
if ( !v29 ) | |
goto LABEL_24; | |
v30 = v29; | |
if ( (unsigned __int64)(v25 - 3) <= 1 ) | |
{ | |
v210 = &OBJC_CLASS___UIView; | |
v145 = _NSConcreteStackBlock; | |
v146 = 3254779904LL; | |
v147 = ____updateTouchVisualisation_block_invoke_2; | |
v148 = &__block_descriptor_40_e8_32s_e5_v8__0l; | |
v31 = objc_retain(v29); | |
v149 = v31; | |
v150 = _NSConcreteStackBlock; | |
v151 = 3254779904LL; | |
v152 = ____updateTouchVisualisation_block_invoke_3; | |
v153 = &__block_descriptor_40_e8_32s_e8_v12__0c8l; | |
v32 = objc_retain(v31); | |
v33 = (void *)v32; | |
v154 = v32; | |
v20 = (__m128d)0x3FBEB851EB851EB8uLL; | |
objc_msgSend(v210, v166, 4LL, &v145, &v150, 0.12, 0.0); | |
v205 = v33; | |
objc_msgSend(__updateTouchVisualisation_touchViewsInUse, v194, v33); | |
objc_msgSend(__updateTouchVisualisation_touchViewsMapTable, v167, v24); | |
v34 = objc_msgSend(__updateTouchVisualisation_touchViewsMapTable, v168); | |
v35 = (char *)objc_retainAutoreleasedReturnValue(v34); | |
v36 = v35; | |
v37 = objc_msgSend(v35, v169); | |
v38 = objc_retainAutoreleasedReturnValue(v37); | |
if ( v38 ) | |
{ | |
objc_release(v38); | |
goto LABEL_20; | |
} | |
v45 = v36; | |
v46 = objc_msgSend(__updateTouchVisualisation_touchViewsInUse, v175); | |
objc_release(v45); | |
v22 = v207; | |
if ( v46 ) | |
{ | |
v20 = 0LL; | |
v134 = 0LL; | |
v133 = 0LL; | |
v132 = 0LL; | |
v131 = 0LL; | |
v36 = (char *)objc_retain(__updateTouchVisualisation_touchViewsInUse); | |
v210 = objc_msgSend(v36, "countByEnumeratingWithState:objects:count:", &v131, &v212, 16LL); | |
if ( v210 ) | |
{ | |
v208 = *(char **)v132; | |
v201 = v36; | |
do | |
{ | |
v47 = 0LL; | |
do | |
{ | |
if ( *(char **)v132 != v208 ) | |
objc_enumerationMutation(v201); | |
v48 = *(_QWORD *)(*((_QWORD *)&v131 + 1) + 8 * v47); | |
objc_msgSend(*(void **)(*((_QWORD *)&v131 + 1) + 8 * v47), "removeFromSuperview"); | |
objc_msgSend(__updateTouchVisualisation_touchViewReusePool, "addObject:", v48); | |
++v47; | |
} | |
while ( v47 < (unsigned __int64)v210 ); | |
v36 = v201; | |
v210 = objc_msgSend(v201, "countByEnumeratingWithState:objects:count:", &v131, &v212, 16LL); | |
} | |
while ( v210 ); | |
LABEL_20: | |
v22 = v207; | |
} | |
objc_release(v36); | |
} | |
objc_release(v154); | |
objc_release(v149); | |
v30 = v205; | |
goto LABEL_41; | |
} | |
objc_msgSend(v29, v192, v186, v187, v188, v189, v190, v191); | |
v20 = (__m128d)(unsigned __int64)v208; | |
objc_msgSend(v30, v193, *(double *)&v208, *(double *)&v210); | |
v40 = objc_msgSend(v30, v165); | |
v41 = (void *)objc_retainAutoreleasedReturnValue(v40); | |
objc_release(v41); | |
if ( v41 != v209 ) | |
objc_msgSend(v209, v195, v30); | |
} | |
else | |
{ | |
v39 = NSClassFromString(CFSTR("_UIRootWindow")); | |
if ( (unsigned __int8)objc_msgSend(v209, "isKindOfClass:", v39) ) | |
{ | |
LABEL_24: | |
v30 = 0LL; | |
goto LABEL_41; | |
} | |
v42 = objc_msgSend(__updateTouchVisualisation_touchViewReusePool, v170); | |
v43 = objc_retainAutoreleasedReturnValue(v42); | |
if ( v43 ) | |
{ | |
v44 = (void *)v43; | |
objc_msgSend(__updateTouchVisualisation_touchViewReusePool, v194, v43); | |
} | |
else | |
{ | |
v49 = (void *)objc_alloc(&OBJC_CLASS___UIView); | |
v161 = v208; | |
v162 = v210; | |
v163 = 0LL; | |
v164 = 0LL; | |
CGRectInset(&v141); | |
v44 = objc_msgSend(v49, v176, -22.0, -22.0, v141, v142, v143, v144); | |
objc_msgSend(v44, v177, 0LL); | |
v50 = objc_msgSend(&OBJC_CLASS___UIColor, v196, 1.0, 0.6); | |
v51 = objc_retainAutoreleasedReturnValue(v50); | |
objc_msgSend(v44, v178, v51); | |
objc_release(v51); | |
v52 = objc_msgSend(v44, v179); | |
v53 = (void *)objc_retainAutoreleasedReturnValue(v52); | |
v54 = objc_msgSend(&OBJC_CLASS___UIColor, v196, 0.0, 0.6); | |
v55 = objc_retainAutoreleasedReturnValue(v54); | |
v56 = (void *)objc_retainAutorelease(v55); | |
v57 = v56; | |
v58 = objc_msgSend(v56, v180); | |
objc_msgSend(v53, v181, v58); | |
objc_release(v57); | |
objc_msgSend(v53, v182, 2.0); | |
objc_msgSend(v53, v183, 22.0); | |
objc_release(v53); | |
} | |
CGAffineTransformMakeScale(&v135); | |
objc_msgSend(v44, v192, 0.001, 0.001, v135, v136, v137, v138, v139, v140); | |
objc_msgSend(v44, v171, 0.0); | |
objc_msgSend(v44, v193, *(double *)&v208, *(double *)&v210); | |
objc_msgSend(v209, v195, v44); | |
objc_msgSend(__updateTouchVisualisation_touchViewsMapTable, v172, v44, v24); | |
objc_msgSend(__updateTouchVisualisation_touchViewsInUse, v173, v44); | |
v120 = _NSConcreteStackBlock; | |
v121 = 3254779904LL; | |
v122 = ____updateTouchVisualisation_block_invoke_2452; | |
v123 = &__block_descriptor_88_e8_32s_e5_v8__0l; | |
v59 = objc_retain(v44); | |
v124 = v59; | |
v125 = v186; | |
v126 = v187; | |
v127 = v188; | |
v128 = v189; | |
v129 = v190; | |
v130 = v191; | |
v20 = (__m128d)0x3FBEB851EB851EB8uLL; | |
objc_msgSend(&OBJC_CLASS___UIView, v174, &v120, 0.12); | |
objc_release(v124); | |
v30 = (void *)v59; | |
v22 = v207; | |
} | |
LABEL_41: | |
objc_release(v30); | |
v23 = (__int64)(v197 + 1); | |
} | |
while ( v197 + 1 < v202 ); | |
v202 = (char *)objc_msgSend(v204, "countByEnumeratingWithState:objects:count:", &v112, &v217, 16LL); | |
} | |
while ( v202 ); | |
} | |
objc_release(v204); | |
} | |
v72 = v209; | |
objc_release(v209); | |
v73 = v206; | |
objc_release(v206); | |
v116 = 0LL; | |
v117 = 0LL; | |
v118 = 0LL; | |
v119 = 0LL; | |
v74 = objc_msgSend(v73, "_viewsForWindow:", v72); | |
v205 = (void *)objc_retainAutoreleasedReturnValue(v74); | |
v203 = (char *)objc_msgSend(v205, "countByEnumeratingWithState:objects:count:", &v116, &v211, 16LL); | |
if ( v203 ) | |
{ | |
v204 = *(void **)v117; | |
do | |
{ | |
v199 = "_touchesForView:withPhase:"; | |
v200 = "count"; | |
v207 = "_fadeCalloutBarIfNeededForTouchInView:"; | |
v75 = 0LL; | |
v202 = "layer"; | |
do | |
{ | |
if ( *(void **)v117 != v204 ) | |
objc_enumerationMutation(v205); | |
v198 = v75; | |
v76 = *(_QWORD *)(*((_QWORD *)&v116 + 1) + 8LL * (_QWORD)v75); | |
v77 = objc_msgSend(v206, v199, *(_QWORD *)(*((_QWORD *)&v116 + 1) + 8LL * (_QWORD)v75), 0LL); | |
v78 = (void *)objc_retainAutoreleasedReturnValue(v77); | |
v79 = objc_msgSend(v78, v200); | |
objc_release(v78); | |
if ( v79 ) | |
{ | |
objc_msgSend(v209, v207, v76); | |
v80 = objc_retainAutorelease(v76); | |
v81 = objc_retain(v80); | |
if ( v81 ) | |
{ | |
v82 = (void *)v81; | |
v208 = "animationKeys"; | |
v201 = "enumerateObjectsUsingBlock:"; | |
v197 = "superview"; | |
do | |
{ | |
v83 = objc_msgSend(v82, v202); | |
v84 = (void *)objc_retainAutoreleasedReturnValue(v83); | |
v85 = (__int64)v84; | |
v86 = objc_msgSend(v84, v208); | |
v87 = (void *)objc_retainAutoreleasedReturnValue(v86); | |
v155 = _NSConcreteStackBlock; | |
v156 = 3254779904LL; | |
v157 = __22__UIWindow_sendEvent___block_invoke; | |
v158 = &__block_descriptor_48_e8_32s40s_e25_v32__0__NSString_8Q16_c24l; | |
v159 = v82; | |
v88 = (void *)objc_retain(v82); | |
v160 = v85; | |
v210 = (void *)objc_retain(v85); | |
objc_msgSend(v87, v201, &v155); | |
objc_release(v87); | |
v89 = objc_msgSend(v88, v197); | |
v90 = objc_retainAutoreleasedReturnValue(v89); | |
v91 = objc_autorelease(v90); | |
v82 = (void *)objc_retain(v91); | |
objc_release(v88); | |
objc_release(v160); | |
objc_release(v159); | |
objc_release(v210); | |
} | |
while ( v82 ); | |
} | |
} | |
v75 = v198 + 1; | |
} | |
while ( v198 + 1 < v203 ); | |
v203 = (char *)objc_msgSend(v205, "countByEnumeratingWithState:objects:count:", &v116, &v211, 16LL); | |
} | |
while ( v203 ); | |
} | |
objc_release(v205); | |
v92 = objc_msgSend(UIApp, "_gestureEnvironment"); | |
v93 = (void *)objc_retainAutoreleasedReturnValue(v92); | |
v94 = v206; | |
v95 = (char *)v209; | |
objc_msgSend(v93, "_updateForEvent:window:", v206, v209); | |
objc_release(v93); | |
v96 = objc_msgSend(v94, "_buttonMask"); | |
if ( !v96 || (unsigned __int8)v96 & 1 ) | |
objc_msgSend(v95, "_sendTouchesForEvent:", v206); | |
v97 = v206; | |
objc_msgSend(v206, "timestamp"); | |
*(_QWORD *)(v95 + 604) = 0LL; | |
objc_release(v97); | |
v3 = v185; | |
LABEL_71: | |
_UIRestorePreviousFallbackEnvironment(v184); | |
objc_release(v3); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment