Created
September 30, 2024 08:12
-
-
Save madordie/5a43400ddfd3d8a5fcd7578d24927343 to your computer and use it in GitHub Desktop.
iOS18
This file contains hidden or 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
__int64 __fastcall _engineVar_rawRemove(__int64 a1, _QWORD *a2) | |
{ | |
_QWORD *v2; // x20 | |
__int64 v3; // x19 | |
const char *v4; // x1 | |
__int64 v5; // ST10_8 | |
__int64 v6; // x22 | |
__int64 v7; // x21 | |
__int64 v8; // x21 | |
unsigned __int64 v9; // x8 | |
signed __int64 v10; // x22 | |
void *v12; // x21 | |
const char *v13; // x1 | |
void *v14; // x22 | |
__int64 v15; // x0 | |
const char *v16; // x1 | |
void *v17; // x21 | |
const char *v18; // x1 | |
void *v19; // x0 | |
const char *v20; // x1 | |
v2 = a2; | |
v3 = a1; | |
if ( (unsigned int)_NSConstraintBasedLayoutDebug() ) | |
{ | |
objc_retainAutoreleaseReturnValue(*v2); | |
v5 = *((unsigned int *)v2 + 4); | |
NSLog(&stru_46A50); | |
} | |
if ( v2[3] & 1 || (v6 = v2[1], v7 = NSBitSetCount(v6 + 8), NSBitSetCount(v6 + 24) + v7) ) | |
{ | |
v12 = objc_msgSend_currentHandler(off_50000, v4); | |
v14 = objc_msgSend_stringWithUTF8String_(off_50018, v13, "void _engineVar_rawRemove(NSISEngineVar)"); | |
v15 = _engineVar_description(v3, v2); | |
objc_msgSend_handleFailureInFunction_file_lineNumber_description_( | |
v12, | |
v16, | |
v14, | |
&stru_46830, | |
181LL, | |
&stru_46A70, | |
v15, | |
v3); | |
} | |
if ( v2[3] & 1 ) | |
{ | |
v17 = objc_msgSend_currentHandler(off_50000, v4); | |
v19 = objc_msgSend_stringWithUTF8String_(off_50018, v18, "NSISCol _engineVar_col(NSISEngineVar)"); | |
objc_msgSend_handleFailureInFunction_file_lineNumber_description_( | |
v17, | |
v20, | |
v19, | |
&stru_46830, | |
121LL, | |
&stru_46850, | |
*v2); | |
} | |
v8 = v2[1]; | |
NSBitSetReset(v8 + 8); | |
NSBitSetReset(v8 + 24); | |
v9 = *(unsigned int *)(*(_QWORD *)v8 + 20LL); | |
v10 = v3 + 40 * ((v9 >> 30) & 1); | |
NSBitSetAddIndex(v10 + 336, v9 & 0xFFFFFFFFBFFFFFFFLL); | |
_table_removeStorageBlockIfPossible(*(_QWORD *)(v10 + 312), v10 + 320, 25LL, v10 + 336); | |
NSISVariableRemoveEngine(*v2, v3); | |
objc_release(*v2); | |
*v2 = 0LL; | |
v2[1] = 0LL; | |
NSBitSetAddIndex(v3 + 216, *((unsigned int *)v2 + 4)); | |
return _table_removeStorageBlockIfPossible(*(_QWORD *)(v3 + 192), v3 + 200, 64LL, v3 + 216); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment