Skip to content

Instantly share code, notes, and snippets.

@samdmarshall
Created April 1, 2015 13:53
Show Gist options
  • Save samdmarshall/20c044f4a56a26e23355 to your computer and use it in GitHub Desktop.
Save samdmarshall/20c044f4a56a26e23355 to your computer and use it in GitHub Desktop.
int methImpl__UIQueuingScrollView__replaceViews_updatingContents_adjustContentInsets_animated_(int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) {
eax = *__stack_chk_guard;
var_AC = eax;
var_10 = *eax;
eax = [arg_8 count];
edi = arg_0;
if (eax != 0x3) {
ebx = [(null) currentHandler];
eax = [(null) stringWithUTF8String:"/SourceCache/UIKit_Sim/UIKit-2935.98/_UIQueuingScrollView.m"];
eax = [ebx handleFailureInMethod:arg_4 object:edi file:eax lineNumber:0x17f description:@"Invalid parameter not satisfying: %s"];
}
var_7C = edi;
var_84 = esi;
xmm0 = intrinsic_xorps(xmm0, xmm0);
var_28 = intrinsic_movaps(var_28, xmm0);
var_38 = intrinsic_movaps(var_38, xmm0);
eax = *_OBJC_IVAR_$__UIQueuingScrollView._views;
var_A4 = eax;
eax = *(edi + eax);
var_80 = eax;
var_A8 = @selector(countByEnumeratingWithState:objects:count:);
esi = [eax countByEnumeratingWithState:var_38 objects:var_78 count:0x10];
if (esi != 0x0) {
var_88 = *var_30;
var_8C = *(var_84 + 0x4ef507);
var_90 = *(var_84 + 0x4dfca3);
var_94 = *(var_84 + 0x4df517);
var_98 = *(var_84 + 0x4df4f3);
var_9C = *(var_84 + 0x4df373);
var_A0 = sign_extend_32(arg_14);
do {
edi = 0x0;
do {
if (*var_30 != var_88) {
eax = objc_enumerationMutation(var_80);
}
ebx = *(var_34 + edi * 0x4);
eax = *(var_84 + 0x4f1f5b);
eax = objc_msgSend(eax, var_9C);
eax = objc_msgSend(ebx, var_98, eax);
if (LOBYTE(eax) != 0x0) {
eax = objc_msgSend(ebx, var_94);
eax = objc_msgSend(arg_8, var_90, ebx);
if (LOBYTE(eax) == 0x0) {
eax = objc_msgSend(var_7C, var_8C, ebx, var_A0);
}
}
edi = edi + 0x1;
} while (edi < esi);
esi = [var_80 countByEnumeratingWithState:var_38 objects:var_78 count:0x10];
} while (esi != 0x0);
}
edi = 0x0;
var_80 = *(var_84 + 0x4ef50b);
var_88 = *(var_84 + 0x4dfca3);
var_8C = *(var_84 + 0x4df4f3);
var_90 = *(var_84 + 0x4df373);
var_94 = *(var_84 + 0x4df453);
ebx = var_84;
do {
esi = objc_msgSend(arg_8, var_94, edi);
eax = *(ebx + 0x4f1f5b);
eax = objc_msgSend(eax, var_90);
eax = objc_msgSend(esi, var_8C, eax);
if (LOBYTE(eax) != 0x0) {
if (arg_C == 0x0) {
eax = *(var_7C + var_A4);
eax = objc_msgSend(eax, var_88, esi);
if (LOBYTE(eax) != 0x0) {
eax = objc_msgSend(var_7C, var_80, edi, esi);
}
}
else {
eax = objc_msgSend(var_7C, var_80, edi, esi);
}
}
edi = edi + 0x1;
} while (edi != 0x3);
esi = var_7C;
eax = *(esi + var_A4);
eax = objc_msgSend(eax, *(ebx + 0x4df31f));
*(esi + var_A4) = objc_msgSend(arg_8, *(ebx + 0x4df323));
if (arg_10 != 0x0) {
eax = *(ebx + 0x4ef4f3);
eax = objc_msgSend(esi, eax);
}
eax = *var_AC;
if (eax == var_10) {
esp = esp + 0xcc;
esi = STK31;
edi = STK30;
ebx = STK29;
ebp = STK28;
return eax;
}
else {
eax = __stack_chk_fail();
}
return eax;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment