Skip to content

Instantly share code, notes, and snippets.

@acefsm
Created November 28, 2017 19:32
Show Gist options
  • Save acefsm/9744b304280d35720a3b6b400ed28772 to your computer and use it in GitHub Desktop.
Save acefsm/9744b304280d35720a3b6b400ed28772 to your computer and use it in GitHub Desktop.
UITableViewController *__cdecl -[UITableViewController init](UITableViewController *self, SEL a2)
{
return (UITableViewController *)-[UITableViewController initWithStyle:](self, "initWithStyle:", 0);
}
UITableViewController *__cdecl -[UITableViewController initWithNibName:bundle:](UITableViewController *self, SEL a2, id a3, id a4)
{
int v4; // edi
UITableViewController *v5; // esi
UITableViewController *v7; // [esp+10h] [ebp-18h]
__objc2_class *v8; // [esp+14h] [ebp-14h]
v4 = objc_retain(a3);
v7 = self;
v8 = &OBJC_CLASS___UITableViewController;
v5 = (UITableViewController *)objc_msgSendSuper2(
&v7,
"initWithNibName:bundle:",
v4,
a4,
self,
&OBJC_CLASS___UITableViewController);
objc_release(v4);
if ( v5 )
_UITableViewControllerCommonInit((int)v5);
return v5;
}
UITableViewController *__cdecl -[UITableViewController initWithCoder:](UITableViewController *self, SEL a2, id a3)
{
int v3; // eax
void *v4; // esi
char *v5; // eax
char *v6; // edi
void *v7; // eax
int v8; // eax
int v9; // edx
UITableViewController *v11; // [esp+10h] [ebp-18h]
__objc2_class *v12; // [esp+14h] [ebp-14h]
v3 = objc_retain(a3);
v4 = (void *)v3;
v11 = self;
v12 = &OBJC_CLASS___UITableViewController;
v5 = (char *)objc_msgSendSuper2(&v11, "initWithCoder:", v3);
v6 = v5;
if ( v5 )
{
_UITableViewControllerCommonInit((int)v5);
if ( (unsigned __int8)objc_msgSend(v4, "containsValueForKey:", CFSTR("UIClearsSelectionOnViewWillAppear")) )
v6[406] = (unsigned int)objc_msgSend(v4, "decodeBoolForKey:", CFSTR("UIClearsSelectionOnViewWillAppear")) & 1 | v6[406] & 0xFE;
v7 = objc_msgSend(v4, "decodeObjectForKey:", CFSTR("UITableViewControllerStaticDataSource"));
v8 = objc_retainAutoreleasedReturnValue(v7);
v9 = *(_DWORD *)(v6 + 402);
*(_DWORD *)(v6 + 402) = v8;
objc_release(v9);
}
objc_release(v4);
return (UITableViewController *)v6;
}
UITableViewController *__cdecl -[UITableViewController initWithStyle:](UITableViewController *self, SEL a2, int a3)
{
char v3; // al
char *v4; // eax
UITableViewController *v5; // esi
int v7; // [esp+8h] [ebp-20h]
int v8; // [esp+Ch] [ebp-1Ch]
UITableViewController *v9; // [esp+10h] [ebp-18h]
__objc2_class *v10; // [esp+14h] [ebp-14h]
UITableViewController *v11; // [esp+18h] [ebp-10h]
__objc2_class *v12; // [esp+1Ch] [ebp-Ch]
if ( _UIApplicationLinkedOnVersion )
v3 = _UIApplicationLinkedOnVersion > 0x8FFFFu;
else
v3 = __UIApplicationLinkedOnOrAfter(589824);
if ( v3 )
{
v11 = self;
v12 = &OBJC_CLASS___UITableViewController;
v4 = (char *)objc_msgSendSuper2(
&v11,
"initWithNibName:bundle:",
0,
0,
v9,
v10,
self,
&OBJC_CLASS___UITableViewController);
}
else
{
v9 = self;
v10 = &OBJC_CLASS___UITableViewController;
v4 = (char *)objc_msgSendSuper2(&v9, "init", v7, v8, self, &OBJC_CLASS___UITableViewController, v11, v12);
}
v5 = (UITableViewController *)v4;
if ( v4 )
{
*(_DWORD *)(v4 + 394) = a3;
_UITableViewControllerCommonInit((int)v4);
}
return v5;
}
void __cdecl -[UITableViewController dealloc](UITableViewController *self, SEL a2)
{
struct objc_object *v2; // eax
void *v3; // eax
void *v4; // esi
void *v5; // eax
UITableViewController *v6; // edi
void *v7; // eax
UITableViewController *v8; // edi
void *v9; // eax
int v10; // edi
int v11; // ST1C_4
void *v12; // eax
void *v13; // edi
UITableViewController *v14; // [esp+20h] [ebp-18h]
int v15; // [esp+24h] [ebp-14h]
v2 = -[UITableViewController _existingTableView](self, "_existingTableView");
v3 = (void *)objc_retainAutoreleasedReturnValue(v2);
v4 = v3;
v5 = objc_msgSend(v3, "delegate");
v6 = (UITableViewController *)objc_retainAutoreleasedReturnValue(v5);
objc_release(v6);
if ( v6 == self )
{
objc_msgSend(v4, "setDelegate:", 0);
v7 = objc_msgSend(v4, "dataSource");
v8 = (UITableViewController *)objc_retainAutoreleasedReturnValue(v7);
objc_release(v8);
if ( v8 == self )
objc_msgSend(v4, "setDataSource:", 0);
}
v9 = objc_msgSend(v4, "dataSource");
v10 = objc_retainAutoreleasedReturnValue(v9);
v11 = *(int *)((char *)&self->_tableViewControllerFlags + 2);
objc_release(v10);
if ( v10 == v11 )
objc_msgSend(v4, "setDataSource:", 0);
if ( *(int *)((char *)&self->_tableViewStyle + 2) )
{
v12 = objc_msgSend(&OBJC_CLASS___NSNotificationCenter, *((const char **)&loc_9D2698 + 1202409));
v13 = (void *)objc_retainAutoreleasedReturnValue(v12);
objc_msgSend(v13, "removeObserver:", *(int *)((char *)&self->_tableViewStyle + 2));
objc_release(v13);
}
objc_release(v4);
v14 = self;
v15 = *((_DWORD *)&loc_9EF78C + 1202409);
objc_msgSendSuper2(&v14, *((const char **)&loc_9D27E8 + 1202409));
}
void __cdecl -[UITableViewController loadView](UITableViewController *self, SEL a2)
{
NSString *v2; // eax
struct objc_object *v3; // eax
UITableView *v4; // edi
struct objc_object *v5; // eax
int v6; // eax
UIStoryboard *v7; // eax
void *v8; // eax
void *v9; // eax
int v10; // eax
int v11; // ebx
int v12; // eax
struct objc_object *v13; // eax
const char *v14; // eax
const char *v15; // ebx
UITableView *v16; // eax
const char *v17; // ST04_4
UITableViewController *v18; // ebx
const char *v19; // eax
void *v20; // eax
int v21; // ST28_4
UITableViewDelegate *v22; // eax
int v23; // ebx
UITableViewDataSource *v24; // eax
int v25; // ebx
bool v26; // zf
char v27; // al
void *v28; // [esp+20h] [ebp-38h]
void *v29; // [esp+28h] [ebp-30h]
UITableView *v30; // [esp+28h] [ebp-30h]
int v31; // [esp+2Ch] [ebp-2Ch]
__int128 v32; // [esp+30h] [ebp-28h]
UITableViewController *v33; // [esp+40h] [ebp-18h]
__objc2_class *v34; // [esp+44h] [ebp-14h]
v2 = -[UIViewController nibName](self, "nibName");
v31 = objc_retainAutoreleasedReturnValue(v2);
if ( !v31 )
{
v30 = objc_msgSend(&OBJC_CLASS___UITableView, "alloc");
v13 = -[UIViewController _screen](self, "_screen");
v14 = (const char *)objc_retainAutoreleasedReturnValue(v13);
v15 = v14;
if ( v14 )
objc_msgSend_stret(&v32, v14, "_applicationFrame");
else
v32 = 0LL;
v16 = -[UITableView initWithFrame:style:](
v30,
"initWithFrame:style:",
(_QWORD)v32,
*((_QWORD *)&v32 + 1),
*(_DWORD *)((char *)&self->super.__embeddedViewFrame.var1.var1 + 2));
v17 = v15;
v18 = self;
v4 = v16;
objc_release(v17);
-[UIView setAutoresizingMask:](v4, "setAutoresizingMask:", 18);
-[UITableViewController _applyDefaultDataSourceToTable:](self, "_applyDefaultDataSourceToTable:", v4);
-[UITableView setDelegate:](v4, "setDelegate:", self);
v19 = "setView:";
goto LABEL_18;
}
v33 = self;
v34 = &OBJC_CLASS___UITableViewController;
objc_msgSendSuper2(&v33, "loadView");
v3 = -[UITableViewController _existingTableView](self, "_existingTableView");
v4 = (UITableView *)objc_retainAutoreleasedReturnValue(v3);
if ( !v4 )
{
v5 = -[UIViewController storyboardIdentifier](self, "storyboardIdentifier");
v6 = objc_retainAutoreleasedReturnValue(v5);
if ( v6 )
{
v29 = (void *)v6;
v7 = -[UIViewController storyboard](self, "storyboard");
v8 = (void *)objc_retainAutoreleasedReturnValue(v7);
v28 = v8;
v9 = objc_msgSend(v8, "name");
v10 = objc_retainAutoreleasedReturnValue(v9);
v11 = v10;
if ( v10 )
{
v12 = objc_retain(v10);
}
else
{
v20 = objc_msgSend(v28, "description");
v12 = objc_retainAutoreleasedReturnValue(v20);
}
v21 = v12;
objc_release(v11);
objc_msgSend(
&OBJC_CLASS___NSException,
"raise:format:",
NSInternalInconsistencyException,
CFSTR("%s instantiated view controller with identifier \"%@\" from storyboard \"%@\", but didn't get a UITableView."),
"-[UITableViewController loadView]",
v29,
v21);
objc_release(v21);
objc_release(v28);
}
else
{
v29 = 0;
objc_msgSend(
&OBJC_CLASS___NSException,
"raise:format:",
NSInternalInconsistencyException,
CFSTR("%s loaded the \"%@\" nib but didn't get a UITableView."),
"-[UITableViewController loadView]",
v31);
}
objc_release(v29);
}
v22 = -[UITableView delegate](v4, "delegate");
v23 = objc_retainAutoreleasedReturnValue(v22);
objc_release(v23);
if ( !v23 )
-[UITableView setDelegate:](v4, "setDelegate:", self);
v24 = -[UITableView dataSource](v4, "dataSource");
v25 = objc_retainAutoreleasedReturnValue(v24);
objc_release(v25);
v26 = v25 == 0;
v18 = self;
if ( v26 )
{
v19 = "_applyDefaultDataSourceToTable:";
LABEL_18:
objc_msgSend(v18, v19, v4);
}
v27 = (unsigned int)-[UIViewController isEditing](v18, "isEditing");
-[UITableView setEditing:](v4, "setEditing:", v27);
objc_release(v31);
objc_release(v4);
}
void *__cdecl __40__UITableViewController_viewWillAppear___block_invoke(int a1, void *a2)
{
void *result; // eax
void *v3; // eax
void *v4; // esi
result = objc_msgSend(a2, "isCancelled");
if ( !(_BYTE)result )
{
v3 = objc_msgSend(*(void **)(a1 + 20), "tableView");
v4 = (void *)objc_retainAutoreleasedReturnValue(v3);
objc_msgSend(v4, "_deselectAllNonMultiSelectRowsAnimated:notifyDelegate:", *(char *)(a1 + 24), 0);
result = (void *)objc_release(v4);
}
return result;
}
void __cdecl -[UITableViewController viewWillAppear:](UITableViewController *self, SEL a2, char a3)
{
long double v3; // fst7
UITableViewController *v4; // edi
UITableView *v5; // eax
void *v6; // ebx
struct objc_object *v7; // eax
void *v8; // ebx
UITableView *v9; // eax
void *v10; // edi
char v11; // al
UIAutoRespondingScrollViewControllerKeyboardSupport *v12; // eax
UIAutoRespondingScrollViewControllerKeyboardSupport *v13; // eax
int v14; // edx
void *v15; // eax
void *v16; // ST34_4
struct objc_object *v17; // eax
int v18; // ST28_4
void *v19; // ST24_4
struct objc_object *v20; // eax
UITableViewController *v21; // ebx
int v22; // edi
UITableView *v23; // eax
void *v24; // edi
void *v25; // [esp+38h] [ebp-40h]
float v26; // [esp+3Ch] [ebp-3Ch]
void **v27; // [esp+40h] [ebp-38h]
int v28; // [esp+44h] [ebp-34h]
int v29; // [esp+48h] [ebp-30h]
int (__cdecl *v30)(int, void *); // [esp+4Ch] [ebp-2Ch]
void *v31; // [esp+50h] [ebp-28h]
int v32; // [esp+54h] [ebp-24h]
char v33; // [esp+58h] [ebp-20h]
UITableViewController *v34; // [esp+60h] [ebp-18h]
__objc2_class *v35; // [esp+64h] [ebp-14h]
v4 = self;
v34 = self;
v35 = &OBJC_CLASS___UITableViewController;
objc_msgSendSuper2(&v34, "viewWillAppear:", a3);
v5 = -[UITableViewController tableView](self, "tableView");
v6 = (void *)objc_retainAutoreleasedReturnValue(v5);
if ( objc_msgSend(v6, "numberOfSections") )
{
v25 = v6;
if ( BYTE2(self->_staticDataSource) & 1 )
{
v7 = -[UIViewController transitionCoordinator](self, "transitionCoordinator");
v8 = (void *)objc_retainAutoreleasedReturnValue(v7);
if ( v8 && (unsigned __int8)objc_msgSend(v8, "initiallyInteractive") )
{
v27 = _NSConcreteStackBlock;
v28 = -1040187392;
v29 = 0;
v30 = __40__UITableViewController_viewWillAppear___block_invoke;
v31 = &__block_descriptor_tmp_101;
v32 = objc_retain(self);
v33 = a3;
objc_msgSend(v8, "notifyWhenInteractionEndsUsingBlock:", &v27);
objc_release(v32);
}
else
{
v9 = -[UITableViewController tableView](self, "tableView");
v10 = (void *)objc_retainAutoreleasedReturnValue(v9);
objc_msgSend(v10, "_deselectAllNonMultiSelectRowsAnimated:notifyDelegate:", a3, 0);
objc_release(v10);
}
objc_release(v8);
v4 = self;
}
}
else
{
v25 = v6;
objc_msgSend(v6, "reloadData");
}
if ( _UIApplicationLinkedOnVersion )
v11 = _UIApplicationLinkedOnVersion > 0x201FFu;
else
v11 = __UIApplicationLinkedOnOrAfter(131584);
if ( v11 )
{
if ( !*(int *)((char *)&v4->_tableViewStyle + 2) )
{
v12 = objc_msgSend(&OBJC_CLASS___UIAutoRespondingScrollViewControllerKeyboardSupport, "alloc");
v13 = -[UIAutoRespondingScrollViewControllerKeyboardSupport initWithViewController:](
v12,
"initWithViewController:",
v4);
v14 = *(int *)((char *)&v4->_tableViewStyle + 2);
*(int *)((char *)&v4->_tableViewStyle + 2) = (int)v13;
objc_release(v14);
}
if ( !(unsigned __int8)objc_msgSend(*(void **)((char *)&v4->_tableViewStyle + 2), "registeredForNotifications") )
{
v15 = objc_msgSend(&OBJC_CLASS___NSNotificationCenter, "defaultCenter");
v16 = (void *)objc_retainAutoreleasedReturnValue(v15);
v17 = -[UIViewController _screen](v4, "_screen");
v18 = objc_retainAutoreleasedReturnValue(v17);
objc_msgSend(
v16,
"addObserver:selector:name:object:",
*(int *)((char *)&self->_tableViewStyle + 2),
"_keyboardWillShow:",
UIKeyboardPrivateWillShowNotification[0],
v18);
v19 = *(void **)((char *)&self->_tableViewStyle + 2);
objc_msgSend(
v16,
"addObserver:selector:name:object:",
v19,
"_keyboardWillHide:",
UIKeyboardPrivateWillHideNotification[0],
v18);
objc_msgSend(
v16,
"addObserver:selector:name:object:",
v19,
"_keyboardDidShow:",
UIKeyboardPrivateDidShowNotification[0],
v18);
objc_msgSend(
v16,
"addObserver:selector:name:object:",
v19,
"_keyboardDidHide:",
UIKeyboardPrivateDidHideNotification[0],
v18);
objc_msgSend(
v16,
"addObserver:selector:name:object:",
v19,
"_keyboardDidChangeFrame:",
UIKeyboardPrivateDidChangeFrameNotification[0],
v18);
v4 = self;
objc_msgSend(v19, "setRegisteredForNotifications:", 1);
objc_release(v18);
objc_release(v16);
}
objc_msgSend(*(void **)((char *)&v4->_tableViewStyle + 2), "setViewIsDisappearing:", 0);
v20 = -[UIViewController _popoverController](v4, "_popoverController");
v21 = v4;
v22 = objc_retainAutoreleasedReturnValue(v20);
objc_release(v22);
if ( !v22 )
{
objc_msgSend_fpret(*(void **)((char *)&v21->_tableViewStyle + 2), "adjustmentForKeyboard");
v26 = v3;
v23 = -[UITableViewController tableView](v21, "tableView");
v24 = (void *)objc_retainAutoreleasedReturnValue(v23);
objc_msgSend(v24, "_adjustForAutomaticKeyboardInfo:animated:lastAdjustment:", 0, 0, &v26);
objc_release(v24);
objc_msgSend(*(void **)((char *)&v21->_tableViewStyle + 2), "setAdjustmentForKeyboard:", v26);
}
}
objc_release(v25);
}
void __cdecl -[UITableViewController viewWillDisappear:](UITableViewController *self, SEL a2, char a3)
{
char v3; // cl
UITableViewController *v4; // esi
void *v5; // eax
void *v6; // esi
void *v7; // ST04_4
UITableViewController *v8; // [esp+10h] [ebp-18h]
__objc2_class *v9; // [esp+14h] [ebp-14h]
v3 = a3;
v4 = self;
if ( *(int *)((char *)&self->_tableViewStyle + 2) )
{
v5 = objc_msgSend(&OBJC_CLASS___NSNotificationCenter, "defaultCenter");
v6 = (void *)objc_retainAutoreleasedReturnValue(v5);
objc_msgSend(v6, "removeObserver:", *(int *)((char *)&self->_tableViewStyle + 2));
v7 = v6;
v4 = self;
objc_release(v7);
objc_msgSend(*(void **)((char *)&self->_tableViewStyle + 2), "setViewIsDisappearing:", 1);
objc_msgSend(*(void **)((char *)&self->_tableViewStyle + 2), "setRegisteredForNotifications:", 0);
v3 = a3;
}
v8 = v4;
v9 = &OBJC_CLASS___UITableViewController;
objc_msgSendSuper2(&v8, "viewWillDisappear:", v3);
}
void __cdecl -[UITableViewController viewDidAppear:](UITableViewController *self, SEL a2, char a3)
{
struct objc_object *v3; // eax
void *v4; // esi
char *v5; // edi
UITableView *v6; // eax
void *v7; // esi
UITableViewController *v8; // [esp+10h] [ebp-18h]
__objc2_class *v9; // [esp+14h] [ebp-14h]
v8 = self;
v9 = &OBJC_CLASS___UITableViewController;
objc_msgSendSuper2(&v8, "viewDidAppear:", a3);
v3 = +[UIDevice currentDevice](&OBJC_CLASS___UIDevice, "currentDevice");
v4 = (void *)objc_retainAutoreleasedReturnValue(v3);
v5 = (char *)objc_msgSend(v4, "userInterfaceIdiom");
objc_release(v4);
if ( v5 != (_BYTE *)&dword_0 + 2 )
{
v6 = -[UITableViewController tableView](self, "tableView");
v7 = (void *)objc_retainAutoreleasedReturnValue(v6);
objc_msgSend(v7, "flashScrollIndicators");
objc_release(v7);
}
}
void __cdecl -[UITableViewController setTableView:](UITableViewController *self, SEL a2, id a3)
{
int v3; // esi
struct objc_object *v4; // eax
void *v5; // ebx
void *v6; // eax
UITableViewController *v7; // esi
UITableViewController *v8; // ecx
UITableViewController *v9; // esi
void *v10; // eax
void *v11; // edi
int v12; // ebx
void *v13; // eax
int v14; // ebx
int v15; // edi
void *v16; // eax
int v17; // ebx
void *v18; // eax
int v19; // ebx
UITableViewController *v20; // [esp+1Ch] [ebp-1Ch]
void *v21; // [esp+20h] [ebp-18h]
void *v22; // [esp+24h] [ebp-14h]
v3 = objc_retain(a3);
v4 = -[UITableViewController _existingTableView](self, "_existingTableView");
v5 = (void *)objc_retainAutoreleasedReturnValue(v4);
if ( v5 != (void *)v3 )
{
v22 = (void *)v3;
v6 = objc_msgSend(v5, "dataSource");
v7 = (UITableViewController *)objc_retainAutoreleasedReturnValue(v6);
v8 = self;
if ( v7 == self || v7 == *(UITableViewController **)((char *)&self->_tableViewControllerFlags + 2) )
{
objc_msgSend(v5, "setDataSource:", 0);
v8 = self;
}
v20 = v7;
v9 = v8;
v10 = objc_msgSend(v5, "delegate");
v11 = v5;
v12 = objc_retainAutoreleasedReturnValue(v10);
objc_release(v12);
if ( (UITableViewController *)v12 == v9 )
objc_msgSend(v11, "setDelegate:", 0);
v21 = v11;
v13 = objc_msgSend(v11, "_refreshControl");
v14 = objc_retainAutoreleasedReturnValue(v13);
v3 = (int)v22;
-[UIViewController setView:](self, "setView:", v22);
v15 = v14;
objc_msgSend(v22, "_setRefreshControl:", v14);
v16 = objc_msgSend(v22, "dataSource");
v17 = objc_retainAutoreleasedReturnValue(v16);
objc_release(v17);
if ( !v17 )
-[UITableViewController _applyDefaultDataSourceToTable:](self, "_applyDefaultDataSourceToTable:", v22);
v18 = objc_msgSend(v22, "delegate");
v19 = objc_retainAutoreleasedReturnValue(v18);
objc_release(v19);
if ( !v19 )
objc_msgSend(v22, "setDelegate:", self);
objc_release(v15);
objc_release(v20);
v5 = v21;
}
objc_release(v5);
objc_release(v3);
}
UITableView *__cdecl -[UITableViewController tableView](UITableViewController *self, SEL a2)
{
UIView *v2; // eax
void *v3; // esi
void *v4; // eax
int v5; // eax
UIView *v6; // eax
void *v7; // edi
void *v8; // ST0C_4
int v9; // esi
v2 = -[UIViewController view](self, "view");
v3 = (void *)objc_retainAutoreleasedReturnValue(v2);
v4 = objc_msgSend(&OBJC_CLASS___UITableView, "class");
if ( (unsigned __int8)objc_msgSend(v3, "isKindOfClass:", v4) )
{
v5 = objc_retain(v3);
}
else
{
v6 = -[UIViewController _embeddedView](self, "_embeddedView");
v7 = (void *)objc_retainAutoreleasedReturnValue(v6);
objc_release(v3);
v8 = objc_msgSend(&OBJC_CLASS___UITableView, "class");
if ( !(unsigned __int8)objc_msgSend(v7, "isKindOfClass:", v8) )
{
v9 = 0;
goto LABEL_6;
}
v5 = objc_retain(v7);
}
v9 = v5;
v7 = (void *)v5;
LABEL_6:
objc_release(v7);
return (UITableView *)objc_autoreleaseReturnValue(v9);
}
int __cdecl -[UITableViewController _resolvedDataSourceFilterTypeForScreen:](UITableViewController *self, SEL a2, id a3)
{
void *v3; // esi
int v4; // eax
bool v5; // bl
bool v6; // al
bool v7; // bl
v3 = (void *)objc_retain(a3);
v4 = *(int *)((char *)&self->_filteredDataSource + 2);
if ( v4 )
{
v5 = 0;
}
else
{
v5 = (unsigned __int8)objc_msgSend(v3, "_areListsLimited") != 0;
v4 = *(int *)((char *)&self->_filteredDataSource + 2);
}
if ( v4 == 1 )
v6 = (unsigned __int8)objc_msgSend(v3, "_areMusicListsLimited") != 0;
else
v6 = 0;
v7 = v6 || v5;
objc_release(v3);
return v7;
}
void __cdecl -[UITableViewController setEditing:animated:](UITableViewController *self, SEL a2, char a3, char a4)
{
UITableView *v4; // eax
void *v5; // esi
UITableViewController *v6; // [esp+20h] [ebp-18h]
__objc2_class *v7; // [esp+24h] [ebp-14h]
v6 = self;
v7 = &OBJC_CLASS___UITableViewController;
objc_msgSendSuper2(&v6, "setEditing:animated:", a3, a4);
v4 = -[UITableViewController tableView](self, "tableView");
v5 = (void *)objc_retainAutoreleasedReturnValue(v4);
objc_msgSend(v5, "setEditing:animated:", a3, a4);
objc_release(v5);
}
char __cdecl -[UITableViewController _viewControllerWasSelected](UITableViewController *self, SEL a2)
{
UITableView *v2; // eax
void *v3; // esi
char v4; // bl
v2 = -[UITableViewController tableView](self, "tableView");
v3 = (void *)objc_retainAutoreleasedReturnValue(v2);
v4 = (unsigned int)objc_msgSend(v3, "_highlightFirstVisibleRowIfAppropriate");
objc_release(v3);
return v4;
}
void __cdecl -[UITableViewController setRefreshControl:](UITableViewController *self, SEL a2, id a3)
{
int v3; // esi
UITableView *v4; // eax
void *v5; // edi
v3 = objc_retain(a3);
v4 = -[UITableViewController tableView](self, "tableView");
v5 = (void *)objc_retainAutoreleasedReturnValue(v4);
objc_msgSend(v5, "_setRefreshControl:", v3);
objc_release(v3);
objc_release(v5);
}
UIRefreshControl *__cdecl -[UITableViewController refreshControl](UITableViewController *self, SEL a2)
{
UITableView *v2; // eax
void *v3; // eax
void *v4; // esi
void *v5; // eax
int v6; // edi
v2 = -[UITableViewController tableView](self, "tableView");
v3 = (void *)objc_retainAutoreleasedReturnValue(v2);
v4 = v3;
v5 = objc_msgSend(v3, "_refreshControl");
v6 = objc_retainAutoreleasedReturnValue(v5);
objc_release(v4);
return (UIRefreshControl *)objc_autoreleaseReturnValue(v6);
}
void __cdecl -[UITableViewController _applyDefaultDataSourceToTable:](UITableViewController *self, SEL a2, id a3)
{
void *v3; // ebx
int v4; // ST1C_4
int v5; // esi
v3 = *(void **)((char *)&self->_tableViewControllerFlags + 2);
if ( v3 )
{
v4 = objc_retain(a3);
objc_msgSend(v3, "setTableDataSource:", self);
objc_msgSend(a3, "setDataSource:", *(_DWORD *)((char *)&self->_tableViewControllerFlags + 2));
objc_release(v4);
}
else
{
v5 = objc_retain(a3);
objc_msgSend(a3, "setDataSource:", self);
objc_release(v5);
}
}
int __cdecl -[UITableViewController _resolvedDataSourceFilterTypeForScreen:](UITableViewController *self, SEL a2, id a3)
{
void *v3; // esi
int v4; // eax
bool v5; // bl
bool v6; // al
bool v7; // bl
v3 = (void *)objc_retain(a3);
v4 = *(int *)((char *)&self->_filteredDataSource + 2);
if ( v4 )
{
v5 = 0;
}
else
{
v5 = (unsigned __int8)objc_msgSend(v3, "_areListsLimited") != 0;
v4 = *(int *)((char *)&self->_filteredDataSource + 2);
}
if ( v4 == 1 )
v6 = (unsigned __int8)objc_msgSend(v3, "_areMusicListsLimited") != 0;
else
v6 = 0;
v7 = v6 || v5;
objc_release(v3);
return v7;
}
char __cdecl -[UITableViewController _viewControllerWasSelected](UITableViewController *self, SEL a2)
{
UITableView *v2; // eax
void *v3; // esi
char v4; // bl
v2 = -[UITableViewController tableView](self, "tableView");
v3 = (void *)objc_retainAutoreleasedReturnValue(v2);
v4 = (unsigned int)objc_msgSend(v3, "_highlightFirstVisibleRowIfAppropriate");
objc_release(v3);
return v4;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment