Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save madordie/018118515979a383662a109f718b8f26 to your computer and use it in GitHub Desktop.

Select an option

Save madordie/018118515979a383662a109f718b8f26 to your computer and use it in GitHub Desktop.
[iOS18] _UIParallaxOverlayView
bool __fastcall +[UIView _fluidParallaxTransitionsEnabledWithTraitCollection:](__int64 a1)
{
__int64 v1; // x20
void *v2; // x19
char *v3; // x0
const char *v4; // x1
_BOOL8 v5; // x20
v1 = a1;
v2 = (void *)objc_retain_x1();
v3 = (char *)objc_opt_self(v1);
if ( qword_2245D98 != -1 )
v3 = (char *)dispatch_once(&qword_2245D98, &__block_literal_global_10_8);
if ( byte_2245D7B == 1 )
{
v3 = (char *)objc_msgSend_userInterfaceIdiom(v2, v4);
v5 = v3 != (_BYTE *)&dword_0 + 3;
}
else
{
v5 = 0LL;
}
objc_release_x19(v3);
return v5;
}
__int64 __fastcall __80__UIView_FluidTransitions___fluidParallaxTransitionsEnabledWithTraitCollection___block_invoke(__int64 a1, const char *a2)
{
__int64 result; // x0
if ( (unsigned __int64)objc_msgSend__isOnFluidParallaxDenyList(OBJC_CLASS___UIView_ptr, a2) & 1 )
{
result = 0LL;
}
else
{
result = dyld_program_sdk_at_least(5066549580791810LL);
if ( (_DWORD)result )
result = _os_feature_enabled_impl("UIKit", "fluid_parallax_transitions");
}
byte_2245D7B = result;
return result;
}
__int64 __fastcall -[_UINavigationParallaxTransition _animateOrCreatePropertyAnimatorForTransition:](__int64 a1)
{
__int64 v1; // x20
__int64 v2; // x0
__int64 v3; // x0
__int64 v4; // x20
void *v5; // x21
const char *v6; // x1
const char *v7; // x1
void *v8; // x0
void *v9; // x22
const char *v10; // x1
void *v11; // x0
void *v12; // x23
const char *v13; // x1
void *v14; // x0
void *v15; // x0
const char *v16; // x1
void *v17; // x0
__int64 v18; // x0
int v19; // w19
__int64 v20; // x0
const char *v21; // x1
void *v22; // x0
void *v23; // x0
const char *v24; // x1
void *v25; // x0
void *v26; // x27
const char *v27; // x1
void *v28; // x0
void *v29; // x0
const char *v30; // x1
void *v31; // x0
void *v32; // x21
const char *v33; // x1
void *v34; // x0
__int64 v35; // x0
__int64 v36; // x0
__int64 v37; // x8
__int64 v38; // x0
__int64 v39; // x8
__int64 v40; // x0
__int64 v41; // x8
__int64 v42; // ST38_8
__int64 v43; // x8
const char *v44; // x1
__int64 v45; // x19
const char *v46; // x1
void *v47; // x0
__int64 v48; // x0
__int64 v49; // x24
__int64 v50; // x0
__int64 v51; // x25
void *v52; // x19
__int64 v53; // x0
__int64 v54; // x25
void *v55; // x24
const char *v56; // x1
void *v57; // x0
__int64 v58; // ST38_8
const char *v59; // x1
void *v60; // x0
__int64 v61; // ST30_8
void *v62; // x0
__int64 v63; // x0
const char *v64; // x1
__int64 v65; // x0
void *v66; // x0
const char *v67; // x1
void *v68; // x0
__int64 v69; // x0
const char *v70; // x1
__int64 v71; // x0
void *v72; // x0
const char *v73; // x1
void *v74; // x0
const char *v75; // x1
char v76; // w25
const char *v77; // x1
const char *v78; // x1
void *v79; // x0
const char *v80; // x1
void *v81; // x0
void *v82; // x0
const char *v83; // x1
void *v84; // x0
__int64 v85; // x0
__int64 v86; // x0
__int64 v87; // x0
__int64 v88; // x0
__int64 v89; // x26
void *v90; // x25
const char *v91; // x1
const char *v92; // x1
signed __int64 v93; // x19
void *v94; // x0
void *v95; // x0
const char *v96; // x1
void *v97; // x0
__int64 v98; // x0
const char *v99; // x1
int v100; // w28
__int64 v101; // x0
const char *v102; // x1
void *v103; // x0
void *v104; // x0
const char *v105; // x1
void *v106; // x0
__int64 v107; // x0
int v108; // w27
__int64 v109; // x0
const char *v110; // x1
const char *v111; // x1
void *v112; // x0
__int64 v113; // x28
signed __int64 v114; // x19
const char *v115; // x1
signed __int64 v116; // x28
const char *v117; // x1
const char *v118; // x1
char v119; // w25
void *v120; // x0
const char *v121; // x1
void *v122; // x0
const char *v123; // x1
void *v124; // x0
__int64 v125; // x0
signed __int64 v126; // x8
const char *v127; // x1
void *v128; // x0
__int64 v129; // x9
__int64 v130; // x0
const char *v131; // x1
void *v132; // x0
const char *v133; // x1
const char *v134; // x1
void *v135; // x23
const char *v136; // x1
const char *v137; // x1
void *v138; // x19
const char *v139; // x1
void *v140; // x0
const char *v141; // x1
const char *v142; // x1
const char *v143; // x1
const char *v144; // x1
const char *v145; // x1
void *v146; // x0
const char *v147; // x1
void *v148; // x0
__int64 v149; // x23
__int64 v150; // x0
__int64 v151; // x0
__int64 v152; // x0
const char *v153; // x1
const char *v154; // x1
void *v155; // x0
void *v156; // x19
const char *v157; // x1
void *v158; // x0
const char *v159; // x1
void *v160; // x23
const char *v161; // x1
void *v162; // x0
__int64 v163; // x0
const char *v164; // x1
void *v165; // x0
const char *v166; // x1
void *v167; // x0
void *v168; // x0
const char *v169; // x1
void *v170; // x0
__int64 v171; // x0
const char *v172; // x1
void *v173; // x0
const char *v174; // x1
void *v175; // x0
__int64 v176; // x27
__int64 v177; // x0
__int64 v178; // x0
__int64 v179; // x0
__int64 v180; // x0
__int64 v181; // x0
__int64 v182; // x0
__int64 v183; // x0
__int64 v184; // x0
void *v185; // x0
__int64 v186; // x8
__int64 v187; // x0
__int64 v188; // x0
__int64 v189; // x0
__int64 v190; // x0
__int64 v191; // x0
__int64 v192; // x0
__int64 v193; // x0
__int64 v194; // x0
__int64 v195; // x0
__int64 v196; // x0
__int64 v197; // x0
__int64 v198; // x0
__int64 v199; // x0
__int64 v200; // x0
__int64 v201; // x0
__int64 v202; // x0
__int64 v203; // x0
__int64 v204; // x0
__int64 v205; // x0
__int64 v206; // x0
__int64 v207; // x0
__int64 v208; // x0
__int64 v209; // x0
__int64 v210; // x0
__int64 v211; // x0
__int64 v212; // x0
__int64 v213; // x0
__int64 v214; // x0
__int64 v215; // x0
__int64 v216; // x0
void *v218; // [xsp+0h] [xbp-6B0h]
void *v219; // [xsp+48h] [xbp-668h]
__int64 v220; // [xsp+50h] [xbp-660h]
__int64 (__fastcall *v221)(__int64); // [xsp+58h] [xbp-658h]
void *v222; // [xsp+60h] [xbp-650h]
__int64 v223; // [xsp+68h] [xbp-648h]
__int64 v224; // [xsp+70h] [xbp-640h]
void *v225; // [xsp+78h] [xbp-638h]
__int64 v226; // [xsp+80h] [xbp-630h]
__int64 (__fastcall *v227)(__int64); // [xsp+88h] [xbp-628h]
void *v228; // [xsp+90h] [xbp-620h]
__int64 v229; // [xsp+98h] [xbp-618h]
__int64 v230; // [xsp+A0h] [xbp-610h]
__int64 v231; // [xsp+A8h] [xbp-608h]
void *v232; // [xsp+B0h] [xbp-600h]
__int64 v233; // [xsp+B8h] [xbp-5F8h]
__int64 (__fastcall *v234)(__int64); // [xsp+C0h] [xbp-5F0h]
void *v235; // [xsp+C8h] [xbp-5E8h]
__int64 v236; // [xsp+D0h] [xbp-5E0h]
void *v237; // [xsp+D8h] [xbp-5D8h]
__int64 v238; // [xsp+E0h] [xbp-5D0h]
__int64 (__fastcall *v239)(__int64, const char *); // [xsp+E8h] [xbp-5C8h]
void *v240; // [xsp+F0h] [xbp-5C0h]
__int64 v241; // [xsp+F8h] [xbp-5B8h]
__int64 v242; // [xsp+100h] [xbp-5B0h]
void *v243; // [xsp+108h] [xbp-5A8h]
__int64 v244; // [xsp+110h] [xbp-5A0h]
__int64 (__fastcall *v245)(); // [xsp+118h] [xbp-598h]
void *v246; // [xsp+120h] [xbp-590h]
__int64 v247; // [xsp+128h] [xbp-588h]
void *v248; // [xsp+130h] [xbp-580h]
__int64 v249; // [xsp+138h] [xbp-578h]
void *(__fastcall *v250)(__int64, double); // [xsp+140h] [xbp-570h]
void *v251; // [xsp+148h] [xbp-568h]
__int64 v252; // [xsp+150h] [xbp-560h]
__int64 *v253; // [xsp+158h] [xbp-558h]
__int64 *v254; // [xsp+160h] [xbp-550h]
__int64 *v255; // [xsp+168h] [xbp-548h]
__int64 *v256; // [xsp+170h] [xbp-540h]
__int64 *v257; // [xsp+178h] [xbp-538h]
__int64 *v258; // [xsp+180h] [xbp-530h]
__int64 *v259; // [xsp+188h] [xbp-528h]
__int64 *v260; // [xsp+190h] [xbp-520h]
__int64 *v261; // [xsp+198h] [xbp-518h]
__int64 *v262; // [xsp+1A0h] [xbp-510h]
void *v263; // [xsp+1A8h] [xbp-508h]
__int64 v264; // [xsp+1B0h] [xbp-500h]
__int64 (__fastcall *v265)(); // [xsp+1B8h] [xbp-4F8h]
void *v266; // [xsp+1C0h] [xbp-4F0h]
void *v267; // [xsp+1C8h] [xbp-4E8h]
__int64 v268; // [xsp+1D0h] [xbp-4E0h]
__int64 v269; // [xsp+1D8h] [xbp-4D8h]
__int64 v270; // [xsp+1E0h] [xbp-4D0h]
__int64 v271; // [xsp+1E8h] [xbp-4C8h]
__int64 v272; // [xsp+1F0h] [xbp-4C0h]
__int64 v273; // [xsp+1F8h] [xbp-4B8h]
__int64 *v274; // [xsp+200h] [xbp-4B0h]
__int64 *v275; // [xsp+208h] [xbp-4A8h]
void *v276; // [xsp+210h] [xbp-4A0h]
__int64 v277; // [xsp+218h] [xbp-498h]
__int64 (__fastcall *v278)(__int64); // [xsp+220h] [xbp-490h]
void *v279; // [xsp+228h] [xbp-488h]
__int64 v280; // [xsp+230h] [xbp-480h]
__int64 v281; // [xsp+238h] [xbp-478h]
__int64 *v282; // [xsp+240h] [xbp-470h]
__int64 *v283; // [xsp+248h] [xbp-468h]
__int64 *v284; // [xsp+250h] [xbp-460h]
void *v285; // [xsp+258h] [xbp-458h]
__int64 v286; // [xsp+260h] [xbp-450h]
__int64 (__fastcall *v287)(__int64); // [xsp+268h] [xbp-448h]
void *v288; // [xsp+270h] [xbp-440h]
__int64 v289; // [xsp+278h] [xbp-438h]
__int64 v290; // [xsp+280h] [xbp-430h]
__int64 v291; // [xsp+288h] [xbp-428h]
__int64 v292; // [xsp+290h] [xbp-420h]
__int64 v293; // [xsp+298h] [xbp-418h]
void *v294; // [xsp+2A0h] [xbp-410h]
__int64 v295; // [xsp+2A8h] [xbp-408h]
__int64 v296; // [xsp+2B0h] [xbp-400h]
__int64 v297; // [xsp+2B8h] [xbp-3F8h]
__int64 v298; // [xsp+2C0h] [xbp-3F0h]
__int64 *v299; // [xsp+2C8h] [xbp-3E8h]
__int64 *v300; // [xsp+2D0h] [xbp-3E0h]
__int64 *v301; // [xsp+2D8h] [xbp-3D8h]
__int64 *v302; // [xsp+2E0h] [xbp-3D0h]
__int64 *v303; // [xsp+2E8h] [xbp-3C8h]
__int64 *v304; // [xsp+2F0h] [xbp-3C0h]
__int64 *v305; // [xsp+2F8h] [xbp-3B8h]
__int64 *v306; // [xsp+300h] [xbp-3B0h]
__int64 *v307; // [xsp+308h] [xbp-3A8h]
__int64 *v308; // [xsp+310h] [xbp-3A0h]
__int64 *v309; // [xsp+318h] [xbp-398h]
__int64 *v310; // [xsp+320h] [xbp-390h]
__int64 *v311; // [xsp+328h] [xbp-388h]
__int64 *v312; // [xsp+330h] [xbp-380h]
__int64 *v313; // [xsp+338h] [xbp-378h]
char v314; // [xsp+340h] [xbp-370h]
char v315; // [xsp+341h] [xbp-36Fh]
__int64 v316; // [xsp+348h] [xbp-368h]
__int64 *v317; // [xsp+350h] [xbp-360h]
__int64 v318; // [xsp+358h] [xbp-358h]
__int64 v319; // [xsp+360h] [xbp-350h]
__int64 v320; // [xsp+368h] [xbp-348h]
__int64 *v321; // [xsp+370h] [xbp-340h]
__int64 v322; // [xsp+378h] [xbp-338h]
__int64 v323; // [xsp+380h] [xbp-330h]
__int64 v324; // [xsp+388h] [xbp-328h]
__int64 *v325; // [xsp+390h] [xbp-320h]
__int64 v326; // [xsp+398h] [xbp-318h]
__int64 v327; // [xsp+3A0h] [xbp-310h]
__int64 v328; // [xsp+3A8h] [xbp-308h]
__int64 *v329; // [xsp+3B0h] [xbp-300h]
__int64 v330; // [xsp+3B8h] [xbp-2F8h]
__int64 v331; // [xsp+3C0h] [xbp-2F0h]
__int64 v332; // [xsp+3C8h] [xbp-2E8h]
__int64 *v333; // [xsp+3D0h] [xbp-2E0h]
__int64 v334; // [xsp+3D8h] [xbp-2D8h]
void *v335; // [xsp+3E0h] [xbp-2D0h]
__int128 v336; // [xsp+3E8h] [xbp-2C8h]
__int128 v337; // [xsp+3F8h] [xbp-2B8h]
__int64 v338; // [xsp+408h] [xbp-2A8h]
__int64 *v339; // [xsp+410h] [xbp-2A0h]
__int64 v340; // [xsp+418h] [xbp-298h]
void *v341; // [xsp+420h] [xbp-290h]
__int128 v342; // [xsp+428h] [xbp-288h]
__int128 v343; // [xsp+438h] [xbp-278h]
__int64 v344; // [xsp+448h] [xbp-268h]
__int64 *v345; // [xsp+450h] [xbp-260h]
__int64 v346; // [xsp+458h] [xbp-258h]
__int64 v347; // [xsp+460h] [xbp-250h]
__int64 v348; // [xsp+468h] [xbp-248h]
__int64 *v349; // [xsp+470h] [xbp-240h]
__int64 v350; // [xsp+478h] [xbp-238h]
void *v351; // [xsp+480h] [xbp-230h]
__int128 v352; // [xsp+488h] [xbp-228h]
__int128 v353; // [xsp+498h] [xbp-218h]
__int64 v354; // [xsp+4A8h] [xbp-208h]
__int64 *v355; // [xsp+4B0h] [xbp-200h]
__int64 v356; // [xsp+4B8h] [xbp-1F8h]
void *v357; // [xsp+4C0h] [xbp-1F0h]
__int128 v358; // [xsp+4C8h] [xbp-1E8h]
__int128 v359; // [xsp+4D8h] [xbp-1D8h]
__int64 v360; // [xsp+4E8h] [xbp-1C8h]
__int64 *v361; // [xsp+4F0h] [xbp-1C0h]
__int64 v362; // [xsp+4F8h] [xbp-1B8h]
void *v363; // [xsp+500h] [xbp-1B0h]
__int128 v364; // [xsp+508h] [xbp-1A8h]
__int128 v365; // [xsp+518h] [xbp-198h]
__int64 v366; // [xsp+528h] [xbp-188h]
__int64 *v367; // [xsp+530h] [xbp-180h]
__int64 v368; // [xsp+538h] [xbp-178h]
void *v369; // [xsp+540h] [xbp-170h]
__int128 v370; // [xsp+548h] [xbp-168h]
__int128 v371; // [xsp+558h] [xbp-158h]
__int64 v372; // [xsp+568h] [xbp-148h]
__int64 *v373; // [xsp+570h] [xbp-140h]
__int64 v374; // [xsp+578h] [xbp-138h]
void *v375; // [xsp+580h] [xbp-130h]
__int128 v376; // [xsp+588h] [xbp-128h]
__int128 v377; // [xsp+598h] [xbp-118h]
__int64 v378; // [xsp+5A8h] [xbp-108h]
__int64 *v379; // [xsp+5B0h] [xbp-100h]
__int64 v380; // [xsp+5B8h] [xbp-F8h]
void *v381; // [xsp+5C0h] [xbp-F0h]
__int128 v382; // [xsp+5C8h] [xbp-E8h]
__int128 v383; // [xsp+5D8h] [xbp-D8h]
__int64 v384; // [xsp+5E8h] [xbp-C8h]
__int64 *v385; // [xsp+5F0h] [xbp-C0h]
__int64 v386; // [xsp+5F8h] [xbp-B8h]
__int64 (__fastcall *v387)(__int64, __int64); // [xsp+600h] [xbp-B0h]
__int64 (__fastcall *v388)(); // [xsp+608h] [xbp-A8h]
__int64 v389; // [xsp+610h] [xbp-A0h]
__int64 v390; // [xsp+618h] [xbp-98h]
__int64 *v391; // [xsp+620h] [xbp-90h]
__int64 v392; // [xsp+628h] [xbp-88h]
__int64 (__fastcall *v393)(__int64, __int64); // [xsp+630h] [xbp-80h]
__int64 (__fastcall *v394)(); // [xsp+638h] [xbp-78h]
__int64 v395; // [xsp+640h] [xbp-70h]
v1 = a1;
v2 = objc_retain_x2();
if ( *(_QWORD *)(v1 + 8) )
{
v3 = objc_retain_x8(v2);
v4 = v3;
}
else
{
v5 = (void *)objc_retain_x19(v2);
objc_msgSend_setTransitionContext_((void *)v1, v6, v5);
v8 = objc_msgSend_viewControllerForKey_(*(void **)(v1 + 56), v7, 4503599658928832LL);
v9 = (void *)objc_claimAutoreleasedReturnValue(v8);
v11 = objc_msgSend_viewControllerForKey_(*(void **)(v1 + 56), v10, 4503599658928864LL);
v12 = (void *)objc_claimAutoreleasedReturnValue(v11);
v14 = objc_msgSend_containerView(v5, v13);
v15 = (void *)objc_claimAutoreleasedReturnValue(v14);
v17 = objc_msgSend_traitCollection(v15, v16);
v18 = objc_claimAutoreleasedReturnValue(v17);
v19 = +[UIView _fluidParallaxTransitionsEnabledWithTraitCollection:](OBJC_CLASS___UIView_ptr, v18);
v20 = ((__int64 (*)(void))objc_release_x25)();
objc_release_x24(v20);
if ( v19 )
{
v22 = objc_msgSend_preemptionHandoffData((void *)v1, v21);
v23 = (void *)objc_claimAutoreleasedReturnValue(v22);
v25 = objc_msgSend_handoffDataForViewController_(v23, v24, v9);
v26 = (void *)objc_claimAutoreleasedReturnValue(v25);
objc_release_x19(v26);
v28 = objc_msgSend_preemptionHandoffData((void *)v1, v27);
v29 = (void *)objc_claimAutoreleasedReturnValue(v28);
v31 = objc_msgSend_handoffDataForViewController_(v29, v30, v12);
v32 = (void *)objc_claimAutoreleasedReturnValue(v31);
objc_release_x19(v32);
v34 = objc_msgSend_containerView(v26, v33);
if ( objc_claimAutoreleasedReturnValue(v34) )
v35 = ((__int64 (*)(void))objc_retain_x24)();
else
v35 = objc_alloc_init(&OBJC_CLASS____UIParallaxTransitionCardView);
v45 = v35;
objc_release_x24(v35);
v47 = objc_msgSend_containerView(v32, v46);
if ( objc_claimAutoreleasedReturnValue(v47) )
v48 = objc_retain_x25();
else
v48 = objc_alloc_init(&OBJC_CLASS____UIParallaxTransitionCardView);
v49 = v48;
v50 = ((__int64 (*)(void))objc_release_x25)();
v51 = *(_QWORD *)(v1 + 88);
*(_QWORD *)(v1 + 88) = v45;
v52 = (void *)objc_retain_x19(v50);
v53 = ((__int64 (*)(void))objc_release_x25)();
v54 = *(_QWORD *)(v1 + 96);
*(_QWORD *)(v1 + 96) = v49;
v55 = (void *)objc_retain_x24(v53);
((void (*)(void))objc_release_x25)();
v57 = objc_msgSend_contentView(v52, v56);
v58 = objc_claimAutoreleasedReturnValue(v57);
objc_release_x19(v58);
v60 = objc_msgSend_contentView(v55, v59);
v61 = objc_claimAutoreleasedReturnValue(v60);
objc_release_x24(v61);
}
else
{
v36 = objc_alloc_init(OBJC_CLASS___UIView_ptr);
v37 = *(_QWORD *)(v1 + 88);
*(_QWORD *)(v1 + 88) = v36;
objc_release_x8(v36);
v38 = objc_alloc_init(OBJC_CLASS___UIView_ptr);
v39 = *(_QWORD *)(v1 + 96);
*(_QWORD *)(v1 + 96) = v38;
v40 = objc_release_x8(v38);
v41 = *(_QWORD *)(v1 + 88);
v42 = objc_retain_x8(v40);
v43 = *(_QWORD *)(v1 + 96);
objc_retain_x8(v42);
}
v62 = objc_msgSend_viewForKey_(*(void **)(v1 + 56), v44, 18014398541040416LL);
v63 = objc_claimAutoreleasedReturnValue(v62);
if ( v63 )
{
v65 = objc_retain_x19(v63);
}
else
{
v66 = objc_msgSend_view(v12, v64);
v65 = objc_claimAutoreleasedReturnValue(v66);
}
objc_release_x19(v65);
v68 = objc_msgSend_viewForKey_(*(void **)(v1 + 56), v67, 4503599658928896LL);
v69 = objc_claimAutoreleasedReturnValue(v68);
if ( v69 )
{
v71 = objc_retain_x24(v69);
}
else
{
v72 = objc_msgSend_view(v9, v70);
v71 = objc_claimAutoreleasedReturnValue(v72);
}
objc_release_x24(v71);
v390 = 0LL;
v391 = &v390;
v392 = 206997291008LL;
v393 = __Block_byref_object_copy__64;
v394 = __Block_byref_object_dispose__64;
v395 = 0LL;
v384 = 0LL;
v385 = &v384;
v386 = 206997291008LL;
v387 = __Block_byref_object_copy__64;
v388 = __Block_byref_object_dispose__64;
v389 = 0LL;
v74 = objc_msgSend_containerView(*(void **)(v1 + 56), v73);
objc_claimAutoreleasedReturnValue(v74);
v378 = 0LL;
v379 = &v378;
v380 = 275146342400LL;
v381 = &unk_18226D6;
v382 = 0u;
v383 = 0u;
v372 = 0LL;
v373 = &v372;
v374 = 275146342400LL;
v375 = &unk_18226D6;
v376 = 0u;
v377 = 0u;
v366 = 0LL;
v367 = &v366;
v368 = 275146342400LL;
v369 = &unk_18226D6;
v370 = 0u;
v371 = 0u;
v360 = 0LL;
v361 = &v360;
v362 = 275146342400LL;
v363 = &unk_18226D6;
v364 = 0u;
v365 = 0u;
v354 = 0LL;
v355 = &v354;
v356 = 275146342400LL;
v357 = &unk_18226D6;
v358 = 0u;
v359 = 0u;
v348 = 0LL;
v349 = &v348;
v350 = 275146342400LL;
v351 = &unk_18226D6;
v352 = 0u;
v353 = 0u;
v344 = 0LL;
v345 = &v344;
v346 = 137975824384LL;
v347 = 0LL;
v338 = 0LL;
v339 = &v338;
v340 = 275146342400LL;
v341 = &unk_18226D6;
v342 = 0u;
v343 = 0u;
v332 = 0LL;
v333 = &v332;
v334 = 275146342400LL;
v335 = &unk_18226D6;
v336 = 0u;
v337 = 0u;
v328 = 0LL;
v329 = &v328;
v330 = 137975824384LL;
v331 = 0LL;
v324 = 0LL;
v325 = &v324;
v326 = 137975824384LL;
v327 = 0LL;
v320 = 0LL;
v321 = &v320;
v322 = 137975824384LL;
v323 = 0LL;
v316 = 0LL;
v317 = &v316;
v318 = 137975824384LL;
v319 = 0LL;
v76 = (unsigned __int64)objc_msgSend__shouldReverseLayoutDirection((void *)v1, v75);
objc_msgSend_setBackgroundColor_(*(void **)(v1 + 96), v77, 0LL);
v79 = objc_msgSend_setBackgroundColor_(*(void **)(v1 + 88), v78, 0LL);
v285 = _NSConcreteStackBlock_ptr;
v286 = 3221225472LL;
v287 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke;
v288 = &unk_1DB3898;
v289 = objc_retain_x22(v79);
v290 = ((__int64 (*)(void))objc_retain_x23)();
v291 = v1;
v299 = &v338;
v292 = objc_retain_x19(v290);
v300 = &v332;
v293 = objc_retain_x28();
v301 = &v366;
v294 = (void *)objc_retain_x26();
v302 = &v372;
v314 = v76;
v303 = &v344;
v304 = &v360;
v305 = &v378;
v295 = objc_retain_x21();
v296 = objc_retain_x8(v295);
v306 = &v328;
v307 = &v324;
v308 = &v320;
v309 = &v316;
v310 = &v390;
v311 = &v384;
v297 = objc_retain_x8(v296);
v315 = 0;
v298 = objc_retain_x8(v297);
v312 = &v354;
v313 = &v348;
v81 = objc_msgSend__window(v294, v80);
v82 = (void *)objc_claimAutoreleasedReturnValue(v81);
v84 = objc_msgSend_windowScene(v82, v83);
v85 = objc_claimAutoreleasedReturnValue(v84);
v86 = +[UIView _performBlockDelayingTriggeringResponderEvents:forScene:](OBJC_CLASS___UIView_ptr, &v285, v85);
v87 = objc_release_x26(v86);
v88 = objc_release_x25(v87);
v276 = _NSConcreteStackBlock_ptr;
v277 = 3221225472LL;
v278 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke_3;
v279 = &unk_1DB38C0;
v280 = v1;
v282 = &v372;
v283 = &v360;
v284 = &v348;
v281 = objc_retain_x27(v88);
v89 = objc_retainBlock(&v276);
v263 = _NSConcreteStackBlock_ptr;
v264 = 3221225472LL;
v265 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke_5;
v266 = &unk_1DB38E8;
v90 = (void *)objc_retain_x8(v89);
v267 = v90;
v268 = ((__int64 (*)(void))objc_retain_x23)();
v274 = &v338;
v269 = objc_retain_x28();
v275 = &v332;
v270 = objc_retain_x22(v269);
v271 = objc_retain_x24(v270);
v272 = objc_retain_x19(v271);
v273 = v1;
objc_retainBlock(&v263);
if ( (unsigned __int64)objc_msgSend_isInteractive(v90, v91) & 1 )
v93 = 3LL;
else
v93 = (signed __int64)objc_msgSend__completionCurve(v90, v92);
v94 = objc_msgSend_containerView(v90, v92);
v95 = (void *)objc_claimAutoreleasedReturnValue(v94);
v97 = objc_msgSend_traitCollection(v95, v96);
v98 = objc_claimAutoreleasedReturnValue(v97);
v100 = (unsigned __int64)objc_msgSend__shouldUseInterruptibleAnimatorWithTraitCollection_((void *)v1, v99, v98);
v101 = ((__int64 (*)(void))objc_release_x27)();
objc_release_x23(v101);
if ( v100 )
{
v103 = objc_msgSend_containerView(v90, v102);
v104 = (void *)objc_claimAutoreleasedReturnValue(v103);
v106 = objc_msgSend_traitCollection(v104, v105);
v107 = objc_claimAutoreleasedReturnValue(v106);
v108 = +[UIView _fluidParallaxTransitionsEnabledWithTraitCollection:](OBJC_CLASS___UIView_ptr, v107);
v109 = ((__int64 (*)(void))objc_release_x28)();
objc_release_x23(v109);
if ( v108 )
{
if ( (unsigned int)objc_msgSend_isPush(*(void **)(v1 + 136), v110) && *(_QWORD *)(v1 + 48) == 2LL )
{
v112 = objc_msgSend_progressValue(*(void **)(v1 + 136), v111);
v113 = objc_claimAutoreleasedReturnValue(v112);
v114 = 1LL;
}
else
{
v113 = 0LL;
v114 = 0LL;
}
objc_msgSend_transitionDuration_((void *)v1, v111, v90);
v155 = objc_msgSend__makeHybridPropertyAnimatorWithDuration_progressValue_progressValueReversed_progressValueUpdateReason_springAnimationBehavior_(
OBJC_CLASS___UIView_ptr,
v154,
v113,
v114,
1048616LL,
0LL);
v156 = (void *)objc_claimAutoreleasedReturnValue(v155);
v248 = _NSConcreteStackBlock_ptr;
v249 = 3221225472LL;
v250 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke_7;
v251 = &unk_1DB3938;
v252 = v1;
v253 = &v378;
v254 = &v372;
v255 = &v366;
v256 = &v360;
v257 = &v354;
v258 = &v348;
v259 = &v328;
v260 = &v324;
v261 = &v320;
v262 = &v316;
objc_msgSend_addInProcessProgressAnimations_(v156, v157, &v248);
v158 = (void *)objc_alloc(OBJC_CLASS___UIView_ptr);
v160 = objc_msgSend_initWithFrame_(v158, v159, 0.0, 0.0, 1.0, 1.0);
v162 = objc_msgSend_clearColor(OBJC_CLASS___UIColor_ptr, v161);
v163 = objc_claimAutoreleasedReturnValue(v162);
v165 = objc_msgSend_setBackgroundColor_(v160, v164, v163);
objc_release_x27(v165);
v167 = objc_msgSend_containerView(v90, v166);
v168 = (void *)objc_claimAutoreleasedReturnValue(v167);
v170 = objc_msgSend_insertSubview_atIndex_(v168, v169, v160, 0LL);
v171 = objc_release_x27(v170);
v243 = _NSConcreteStackBlock_ptr;
v244 = 3221225472LL;
v245 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke_9;
v246 = &unk_1D9DA48;
v247 = objc_retain_x23(v171);
v173 = objc_msgSend_addAnimations_(v156, v172, &v243);
v237 = _NSConcreteStackBlock_ptr;
v238 = 3221225472LL;
v239 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke_11;
v240 = &unk_1DB3960;
v241 = objc_retain_x23(v173);
v242 = objc_retain_x24(v241);
v175 = objc_msgSend_addCompletion_(v156, v174, &v237);
v176 = *(_QWORD *)(v1 + 8);
*(_QWORD *)(v1 + 8) = v156;
v177 = objc_retain_x19(v175);
v178 = objc_release_x27(v177);
v179 = objc_release_x8(v178);
v180 = objc_release_x8(v179);
v181 = objc_release_x8(v180);
v182 = objc_release_x23(v181);
v183 = objc_release_x19(v182);
objc_release_x28(v183);
}
else
{
v135 = (void *)objc_alloc(OBJC_CLASS___UIViewPropertyAnimator_ptr);
objc_msgSend_transitionDuration_((void *)v1, v136, v90);
v138 = objc_msgSend_initWithDuration_curve_animations_(v135, v137, v93, 0LL);
v140 = objc_msgSend__allowUserInteraction(v90, v139);
objc_msgSend_setUserInteractionEnabled_(v138, v141, v140);
objc_msgSend_setScrubsLinearly_(v138, v142, 0LL);
objc_msgSend__setShouldLayoutSubviews_(v138, v143, 0LL);
objc_msgSend__setShouldBeginFromCurrentState_(v138, v144, 0LL);
v146 = objc_msgSend_addAnimations_(v138, v145, v89);
v232 = _NSConcreteStackBlock_ptr;
v233 = 3221225472LL;
v234 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke_12;
v235 = &unk_1DADDE0;
v236 = objc_retain_x24(v146);
v148 = objc_msgSend_addCompletion_(v138, v147, &v232);
v149 = *(_QWORD *)(v1 + 8);
*(_QWORD *)(v1 + 8) = v138;
v150 = objc_retain_x19(v148);
v151 = objc_release_x23(v150);
v152 = objc_release_x8(v151);
objc_release_x19(v152);
}
}
else
{
if ( (unsigned int)objc_msgSend__allowUserInteraction(v90, v102, v90) )
v116 = (v93 << 16) | 2;
else
v116 = v93 << 16;
if ( (unsigned int)objc_msgSend__canEnableTrackingAnimationsWithAnimators(
OBJC_CLASS___UIViewPropertyAnimator_ptr,
v115) )
{
v119 = (unsigned __int64)objc_msgSend__trackingAnimationsCurrentlyEnabled(
OBJC_CLASS___UIViewPropertyAnimator_ptr,
v117);
if ( !(v119 & 1) )
{
v120 = objc_msgSend__startTrackingAnimations(OBJC_CLASS___UIViewPropertyAnimator_ptr, v118);
objc_unsafeClaimAutoreleasedReturnValue(v120);
v122 = objc_msgSend__allowUserInteraction(v218, v121);
objc_msgSend__setTrackedAnimationsUserInteractionEnabled_(OBJC_CLASS___UIViewPropertyAnimator_ptr, v123, v122);
}
v124 = objc_msgSend__currentTrackedAnimationsUUID(OBJC_CLASS___UIViewPropertyAnimator_ptr, v118);
v125 = objc_claimAutoreleasedReturnValue(v124);
v126 = 24LL;
}
else
{
v119 = (unsigned __int64)objc_msgSend__isAnimationTracking(OBJC_CLASS___UIView_ptr, v117);
v128 = objc_msgSend__startAnimationTracking(OBJC_CLASS___UIView_ptr, v127);
v125 = objc_claimAutoreleasedReturnValue(v128);
v126 = 16LL;
}
v129 = *(_QWORD *)(v1 + v126);
*(_QWORD *)(v1 + v126) = v125;
v130 = objc_release_x9(v125);
v225 = _NSConcreteStackBlock_ptr;
v226 = 3221225472LL;
v227 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke_13;
v228 = &unk_1DB3988;
v229 = v1;
v230 = objc_retain_x8(v130);
v231 = v116;
v219 = _NSConcreteStackBlock_ptr;
v220 = 3221225472LL;
v221 = __81___UINavigationParallaxTransition__animateOrCreatePropertyAnimatorForTransition___block_invoke_15;
v222 = &unk_1DAC2C8;
v223 = v1;
v224 = objc_retain_x24(v230);
v132 = objc_msgSend_conditionallyAnimate_withAnimation_layout_completion_(
OBJC_CLASS___UIView_ptr,
v131,
1LL,
&v225,
v89,
&v219);
if ( !(v119 & 1) )
{
if ( (unsigned int)objc_msgSend__trackingAnimationsCurrentlyEnabled(
OBJC_CLASS___UIViewPropertyAnimator_ptr,
v133) )
v132 = objc_msgSend__finishTrackingAnimations(OBJC_CLASS___UIViewPropertyAnimator_ptr, v134);
else
v132 = objc_msgSend__finishAnimationTracking(OBJC_CLASS___UIView_ptr, v134);
}
v184 = objc_release_x8(v132);
objc_release_x8(v184);
v90 = v218;
}
v185 = objc_msgSend_animatePreemptionSnapshotsWithContext_((void *)v1, v153, v90);
v186 = *(_QWORD *)(v1 + 8);
v187 = objc_retain_x8(v185);
v4 = v187;
v188 = objc_release_x24(v187);
v189 = objc_release_x8(v188);
v190 = objc_release_x8(v189);
v191 = objc_release_x8(v190);
v192 = objc_release_x8(v191);
v193 = objc_release_x8(v192);
v194 = objc_release_x8(v193);
v195 = objc_release_x26(v194);
v196 = objc_release_x8(v195);
v197 = objc_release_x8(v196);
v198 = objc_release_x8(v197);
v199 = objc_release_x8(v198);
v200 = objc_release_x8(v199);
v201 = objc_release_x8(v200);
v202 = objc_release_x8(v201);
v203 = objc_release_x8(v202);
v204 = objc_release_x8(v203);
objc_release_x8(v204);
_Block_object_dispose(&v316, 8);
_Block_object_dispose(&v320, 8);
_Block_object_dispose(&v324, 8);
_Block_object_dispose(&v328, 8);
_Block_object_dispose(&v332, 8);
_Block_object_dispose(&v338, 8);
_Block_object_dispose(&v344, 8);
_Block_object_dispose(&v348, 8);
_Block_object_dispose(&v354, 8);
_Block_object_dispose(&v360, 8);
_Block_object_dispose(&v366, 8);
_Block_object_dispose(&v372, 8);
_Block_object_dispose(&v378, 8);
objc_release_x22(v205);
_Block_object_dispose(&v384, 8);
objc_release_x8(v206);
_Block_object_dispose(&v390, 8);
v208 = objc_release_x8(v207);
v209 = objc_release_x8(v208);
v210 = objc_release_x21(v209);
v211 = objc_release_x8(v210);
v212 = objc_release_x8(v211);
v213 = objc_release_x8(v212);
v214 = objc_release_x8(v213);
v215 = objc_release_x8(v214);
v216 = objc_release_x8(v215);
v3 = objc_release_x25(v216);
}
objc_release_x19(v3);
return objc_autoreleaseReturnValue(v4);
}
_QWORD *__fastcall -[_UINavigationParallaxTransition initWithCurrentOperation:](__int64 a1, __int64 a2, __int64 a3)
{
__int64 v3; // x20
_QWORD *v4; // x0
const char *v5; // x1
_QWORD *v6; // x19
__int64 v7; // x0
__int64 v8; // x8
__int64 v9; // x0
__int64 v10; // x8
__int64 v12; // [xsp+0h] [xbp-20h]
void *v13; // [xsp+8h] [xbp-18h]
v3 = a3;
v12 = a1;
v13 = off_2158810;
v4 = objc_msgSendSuper2(&v12, (const char *)off_210B660, a1, off_2158810);
v6 = v4;
if ( v4 )
{
v4[6] = v3;
*((_BYTE *)v4 + 41) = objc_msgSend_userInterfaceLayoutDirection((void *)UIApp, v5) == (char *)&dword_0 + 1;
v7 = objc_alloc_init(&OBJC_CLASS____UIParallaxOverlayView);
v8 = v6[18];
v6[18] = v7;
objc_release_x8();
v9 = objc_alloc_init(&OBJC_CLASS____UIParallaxOverlayView);
v10 = v6[19];
v6[19] = v9;
objc_release_x8();
}
return v6;
}
__int64 __fastcall -[_UIParallaxOverlayView hitTest:withEvent:](__int64 a1)
{
__int64 v1; // x20
void *v2; // x0
__int64 v3; // x20
__int64 v5; // [xsp+0h] [xbp-20h]
void *v6; // [xsp+8h] [xbp-18h]
v1 = a1;
v5 = a1;
v6 = off_2158818;
v2 = objc_msgSendSuper2(&v5, (const char *)off_210A188, a1, off_2158818);
if ( objc_claimAutoreleasedReturnValue(v2) == v1 )
v3 = 0LL;
else
v3 = objc_retain_x19();
objc_release_x19();
return objc_autoreleaseReturnValue(v3);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment