Created
November 28, 2017 19:32
-
-
Save acefsm/9744b304280d35720a3b6b400ed28772 to your computer and use it in GitHub Desktop.
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
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