{"type": "func", "start": 6442539392, "end": 6442539617, "name": "cocos2d::extension::CCTableView::_updateContentSize", "pseudocode": "// \n// cocos2d::extension::CCTableView::_updateContentSize from 0x180015980 to 0x180015a61 (225 bytes)\n// \n// 5 xrefs:\n// > cocos2d::extension::CCTableView::create @ 0x180014cae\n// > cocos2d::extension::CCTableView::reloadData @ 0x1800151ec\n// > cocos2d::extension::CCTableView::insertCellAtIndex @ 0x18001553f\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004a83c\n// \n// This function is hookable on this platform!\n// \n// Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA\n// Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings\n// \n\nvoid __fastcall cocos2d::extension::CCTableView::_updateContentSize(cocos2d::extension::CCTableView *this)\n{\n  unsigned int v2; // eax\n  __int64 v3; // rdx\n  __int64 v4; // rax\n  float v5; // xmm1_4\n  float v6; // xmm2_4\n  __int64 v7; // rax\n  int v8; // eax\n  float v9; // xmm2_4\n  cocos2d::CCPoint *v10; // rcx\n  cocos2d::CCPoint *v11; // rax\n  float *v12; // rax\n  char v13; // [rsp+30h] [rbp+8h] BYREF\n  char v14; // [rsp+38h] [rbp+10h] BYREF\n  char v15; // [rsp+40h] [rbp+18h] BYREF\n\n  cocos2d::CCSize::CCSize((cocos2d::CCSize *)&v13, (const struct cocos2d::CCSize *)&unk_180048628);\n  v2 = (*(__int64 (__fastcall **)(_QWORD, cocos2d::extension::CCTableView *))(**((_QWORD **)this + 80) + 32LL))(\n         *((_QWORD *)this + 80),\n         this);\n  if ( v2 )\n  {\n    v3 = v2;\n    v4 = *((_QWORD *)this + 75);\n    v5 = *(float *)(v4 + 4 * v3);\n    if ( *((_DWORD *)this + 108) )\n    {\n      v6 = *(float *)(v4 + 4 * v3);\n      v5 = *((float *)this + 128);\n    }\n    else\n    {\n      v6 = *((float *)this + 129);\n    }\n    v7 = cocos2d::CCSize::CCSize((cocos2d::CCSize *)&v14, v5, v6);\n    cocos2d::CCSize::operator=(&v13, v7);\n  }\n  (*(void (__fastcall **)(cocos2d::extension::CCTableView *, char *))(*(_QWORD *)this + 296LL))(this, &v13);\n  v8 = *((_DWORD *)this + 108);\n  if ( *((_DWORD *)this + 164) != v8 )\n  {\n    if ( v8 )\n    {\n      v11 = cocos2d::extension::CCScrollView::minContainerOffset((__int64)this, (cocos2d::CCPoint *)&v14);\n      v10 = (cocos2d::CCPoint *)&v15;\n      v9 = *((float *)v11 + 1);\n    }\n    else\n    {\n      v9 = 0.0;\n      v10 = (cocos2d::CCPoint *)&v14;\n    }\n    cocos2d::CCPoint::CCPoint(v10, 0.0, v9);\n    cocos2d::extension::CCScrollView::setContentOffset((__int64)this, v12, 0);\n    *((_DWORD *)this + 164) = *((_DWORD *)this + 108);\n  }\n}", "assembly": "; \n; cocos2d::extension::CCTableView::_updateContentSize from 0x180015980 to 0x180015a61 (225 bytes)\n; \n; 5 xrefs:\n; > cocos2d::extension::CCTableView::create @ 0x180014cae\n; > cocos2d::extension::CCTableView::reloadData @ 0x1800151ec\n; > cocos2d::extension::CCTableView::insertCellAtIndex @ 0x18001553f\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004a83c\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\npush    rbx                                                            ; +0x0, 0x180015980\nsub     rsp, 20h                                                       ; +0x2, 0x180015982\nmov     rbx, rcx                                                       ; +0x6, 0x180015986\nlea     rdx, unk_180048628                                             ; +0x9, 0x180015989\nlea     rcx, [rsp+28h+arg_0]                                           ; +0x10, 0x180015990\ncall    cs:??0CCSize@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCSize::CCSize(cocos2d::CCSize const &) ; +0x15, 0x180015995\nmov     rcx, [rbx+280h]                                                ; +0x1b, 0x18001599b\nmov     rdx, rbx                                                       ; +0x22, 0x1800159a2\nmov     rax, [rcx]                                                     ; +0x25, 0x1800159a5\ncall    qword ptr [rax+20h]                                            ; +0x28, 0x1800159a8\ntest    eax, eax                                                       ; +0x2b, 0x1800159ab\njz      short loc_1800159F4                                            ; +0x2d, 0x1800159ad\ncmp     dword ptr [rbx+1B0h], 0                                        ; +0x2f, 0x1800159af\nlea     rcx, [rsp+28h+arg_8]                                           ; +0x36, 0x1800159b6\nmov     edx, eax                                                       ; +0x3b, 0x1800159bb\nmov     rax, [rbx+258h]                                                ; +0x3d, 0x1800159bd\nmovss   xmm1, dword ptr [rax+rdx*4]                                    ; +0x44, 0x1800159c4\njz      short loc_1800159D8                                            ; +0x49, 0x1800159c9\nmovaps  xmm2, xmm1                                                     ; +0x4b, 0x1800159cb\nmovss   xmm1, dword ptr [rbx+200h]                                     ; +0x4e, 0x1800159ce\njmp     short loc_1800159E0                                            ; +0x56, 0x1800159d6\nmovss   xmm2, dword ptr [rbx+204h]                                     ; +0x58, 0x1800159d8\ncall    cs:??0CCSize@cocos2d@@QEAA@MM@Z; cocos2d::CCSize::CCSize(float,float) ; +0x60, 0x1800159e0\nmov     rdx, rax                                                       ; +0x66, 0x1800159e6\nlea     rcx, [rsp+28h+arg_0]                                           ; +0x69, 0x1800159e9\ncall    cs:??4CCSize@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCSize::operator=(cocos2d::CCSize const &) ; +0x6e, 0x1800159ee\nmov     rax, [rbx]                                                     ; +0x74, 0x1800159f4\nlea     rdx, [rsp+28h+arg_0]                                           ; +0x77, 0x1800159f7\nmov     rcx, rbx                                                       ; +0x7c, 0x1800159fc\ncall    qword ptr [rax+128h]                                           ; +0x7f, 0x1800159ff\nmov     eax, [rbx+1B0h]                                                ; +0x85, 0x180015a05\ncmp     [rbx+290h], eax                                                ; +0x8b, 0x180015a0b\njz      short loc_180015A5B                                            ; +0x91, 0x180015a11\ntest    eax, eax                                                       ; +0x93, 0x180015a13\njnz     short loc_180015A21                                            ; +0x95, 0x180015a15\nxorps   xmm2, xmm2                                                     ; +0x97, 0x180015a17\nlea     rcx, [rsp+28h+arg_8]                                           ; +0x9a, 0x180015a1a\njmp     short loc_180015A38                                            ; +0x9f, 0x180015a1f\nlea     rdx, [rsp+28h+arg_8]                                           ; +0xa1, 0x180015a21\nmov     rcx, rbx                                                       ; +0xa6, 0x180015a26\ncall    ?minContainerOffset@CCScrollView@extension@cocos2d@@QEAA?AVCCPoint@3@XZ; cocos2d::extension::CCScrollView::minContainerOffset(void) ; +0xa9, 0x180015a29\nlea     rcx, [rsp+28h+arg_10]                                          ; +0xae, 0x180015a2e\nmovss   xmm2, dword ptr [rax+4]                                        ; +0xb3, 0x180015a33\nxorps   xmm1, xmm1                                                     ; +0xb8, 0x180015a38\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0xbb, 0x180015a3b\nxor     r8d, r8d                                                       ; +0xc1, 0x180015a41\nmov     rcx, rbx                                                       ; +0xc4, 0x180015a44\nmov     rdx, rax                                                       ; +0xc7, 0x180015a47\ncall    ?setContentOffset@CCScrollView@extension@cocos2d@@QEAAXVCCPoint@3@_N@Z; cocos2d::extension::CCScrollView::setContentOffset(cocos2d::CCPoint,bool) ; +0xca, 0x180015a4a\nmov     eax, [rbx+1B0h]                                                ; +0xcf, 0x180015a4f\nmov     [rbx+290h], eax                                                ; +0xd5, 0x180015a55\nadd     rsp, 20h                                                       ; +0xdb, 0x180015a5b\npop     rbx                                                            ; +0xdf, 0x180015a5f\nretn                                                                   ; +0xe0, 0x180015a60", "xrefs": ["cocos2d::extension::CCTableView::create @ 0x180014cae", "cocos2d::extension::CCTableView::reloadData @ 0x1800151ec", "cocos2d::extension::CCTableView::insertCellAtIndex @ 0x18001553f", "<???> @ 0x18002fdf8", "<???> @ 0x18004a83c"], "is_objc": false, "is_arm32": false, "is_arm64": false, "bida_info": "8.0.0 @ https://github.com/Stazzical/BromaIDA", "bindings_info": "commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings"}