Skip to content

Instantly share code, notes, and snippets.

@acefsm
Created November 28, 2017 19:19
Show Gist options
  • Save acefsm/14c3d0f82b22367dafd3ee3b2c5d168b to your computer and use it in GitHub Desktop.
Save acefsm/14c3d0f82b22367dafd3ee3b2c5d168b to your computer and use it in GitHub Desktop.
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);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment