{"type": "func", "start": 6442568000, "end": 6442568378, "name": "cocos2d::extension::CCTableView::CCTableView", "pseudocode": "// \n// cocos2d::extension::CCTableView::CCTableView from 0x18001c940 to 0x18001caba (378 bytes)\n// \n// 2 xrefs:\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004af2c\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\n// Hidden C++ exception states: #wind=2\ncocos2d::extension::CCTableView *__fastcall cocos2d::extension::CCTableView::CCTableView(\n        cocos2d::extension::CCTableView *this,\n        const struct cocos2d::extension::CCTableView *a2)\n{\n  void **v4; // r14\n  unsigned __int64 v5; // rdx\n  char *v6; // rdi\n  const void *v7; // rdx\n  signed __int64 v8; // rbx\n\n  cocos2d::extension::CCScrollView::CCScrollView(this, a2);\n  *(_QWORD *)this = &cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCNode'};\n  *((_QWORD *)this + 40) = &cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCTouchDelegate'};\n  *((_QWORD *)this + 41) = &cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCAccelerometerDelegate'};\n  *((_QWORD *)this + 42) = &cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCKeypadDelegate'};\n  *((_QWORD *)this + 43) = &cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCKeyboardDelegate'};\n  *((_QWORD *)this + 44) = &cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCMouseDelegate'};\n  *((_QWORD *)this + 71) = &cocos2d::extension::CCTableView::`vftable';\n  *((_QWORD *)this + 72) = *((_QWORD *)a2 + 72);\n  *((_DWORD *)this + 146) = *((_DWORD *)a2 + 146);\n  *((_QWORD *)this + 74) = *((_QWORD *)a2 + 74);\n  v4 = (void **)((char *)this + 600);\n  *((_QWORD *)this + 75) = 0;\n  *((_QWORD *)this + 76) = 0;\n  *((_QWORD *)this + 77) = 0;\n  v5 = (__int64)(*((_QWORD *)a2 + 76) - *((_QWORD *)a2 + 75)) >> 2;\n  if ( v5 )\n  {\n    if ( v5 > 0x3FFFFFFFFFFFFFFFLL )\n      sub_180003530();\n    sub_18001DE50((char *)this + 600);\n    v6 = (char *)*v4;\n    v7 = *((const void **)a2 + 75);\n    v8 = *((_QWORD *)a2 + 76) - (_QWORD)v7;\n    memmove(*v4, v7, v8);\n    *((_QWORD *)this + 76) = &v6[4 * (v8 >> 2)];\n  }\n  *((_QWORD *)this + 78) = *((_QWORD *)a2 + 78);\n  *((_QWORD *)this + 79) = *((_QWORD *)a2 + 79);\n  *((_QWORD *)this + 80) = *((_QWORD *)a2 + 80);\n  *((_QWORD *)this + 81) = *((_QWORD *)a2 + 81);\n  *((_DWORD *)this + 164) = *((_DWORD *)a2 + 164);\n  return this;\n}", "assembly": "; \n; cocos2d::extension::CCTableView::CCTableView from 0x18001c940 to 0x18001caba (378 bytes)\n; \n; 2 xrefs:\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004af2c\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\nmov     [rsp+arg_8], rbx                                               ; +0x0, 0x18001c940\nmov     [rsp+arg_10], rbp                                              ; +0x5, 0x18001c945\nmov     [rsp+arg_0], rcx                                               ; +0xa, 0x18001c94a\npush    rsi                                                            ; +0xf, 0x18001c94f\npush    rdi                                                            ; +0x10, 0x18001c950\npush    r14                                                            ; +0x11, 0x18001c951\nsub     rsp, 20h                                                       ; +0x13, 0x18001c953\nmov     rbp, rdx                                                       ; +0x17, 0x18001c957\nmov     rsi, rcx                                                       ; +0x1a, 0x18001c95a\ncall    ??0CCScrollView@extension@cocos2d@@QEAA@AEBV012@@Z; cocos2d::extension::CCScrollView::CCScrollView(cocos2d::extension::CCScrollView const &) ; +0x1d, 0x18001c95d\nnop                                                                    ; +0x22, 0x18001c962\nlea     rax, ??_7CCTableView@extension@cocos2d@@6BCCNode@2@@; const cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCNode'} ; +0x23, 0x18001c963\nmov     [rsi], rax                                                     ; +0x2a, 0x18001c96a\nlea     rax, ??_7CCTableView@extension@cocos2d@@6BCCTouchDelegate@2@@; const cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCTouchDelegate'} ; +0x2d, 0x18001c96d\nmov     [rsi+140h], rax                                                ; +0x34, 0x18001c974\nlea     rax, ??_7CCTableView@extension@cocos2d@@6BCCAccelerometerDelegate@2@@; const cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCAccelerometerDelegate'} ; +0x3b, 0x18001c97b\nmov     [rsi+148h], rax                                                ; +0x42, 0x18001c982\nlea     rax, ??_7CCTableView@extension@cocos2d@@6BCCKeypadDelegate@2@@; const cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCKeypadDelegate'} ; +0x49, 0x18001c989\nmov     [rsi+150h], rax                                                ; +0x50, 0x18001c990\nlea     rax, ??_7CCTableView@extension@cocos2d@@6BCCKeyboardDelegate@2@@; const cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCKeyboardDelegate'} ; +0x57, 0x18001c997\nmov     [rsi+158h], rax                                                ; +0x5e, 0x18001c99e\nlea     rax, ??_7CCTableView@extension@cocos2d@@6BCCMouseDelegate@2@@; const cocos2d::extension::CCTableView::`vftable'{for `cocos2d::CCMouseDelegate'} ; +0x65, 0x18001c9a5\nmov     [rsi+160h], rax                                                ; +0x6c, 0x18001c9ac\nlea     rax, ??_7CCTableView@extension@cocos2d@@6B@; const cocos2d::extension::CCTableView::`vftable' ; +0x73, 0x18001c9b3\nmov     [rsi+238h], rax                                                ; +0x7a, 0x18001c9ba\nmov     rax, [rbp+240h]                                                ; +0x81, 0x18001c9c1\nmov     [rsi+240h], rax                                                ; +0x88, 0x18001c9c8\nmov     eax, [rbp+248h]                                                ; +0x8f, 0x18001c9cf\nmov     [rsi+248h], eax                                                ; +0x95, 0x18001c9d5\nmov     rax, [rbp+250h]                                                ; +0x9b, 0x18001c9db\nmov     [rsi+250h], rax                                                ; +0xa2, 0x18001c9e2\nlea     r14, [rsi+258h]                                                ; +0xa9, 0x18001c9e9\nxor     eax, eax                                                       ; +0xb0, 0x18001c9f0\nmov     [r14], rax                                                     ; +0xb2, 0x18001c9f2\nmov     [r14+8], rax                                                   ; +0xb5, 0x18001c9f5\nmov     [r14+10h], rax                                                 ; +0xb9, 0x18001c9f9\nmov     rdx, [rbp+260h]                                                ; +0xbd, 0x18001c9fd\nsub     rdx, [rbp+258h]                                                ; +0xc4, 0x18001ca04\nsar     rdx, 2                                                         ; +0xcb, 0x18001ca0b\ntest    rdx, rdx                                                       ; +0xcf, 0x18001ca0f\njz      short loc_18001CA5A                                            ; +0xd2, 0x18001ca12\nmov     rax, 3FFFFFFFFFFFFFFFh                                         ; +0xd4, 0x18001ca14\ncmp     rdx, rax                                                       ; +0xde, 0x18001ca1e\nja      loc_18001CAB4                                                  ; +0xe1, 0x18001ca21\nmov     rcx, r14                                                       ; +0xe7, 0x18001ca27\ncall    sub_18001DE50                                                  ; +0xea, 0x18001ca2a\nmov     rdi, [r14]                                                     ; +0xef, 0x18001ca2f\nmov     rbx, [rbp+260h]                                                ; +0xf2, 0x18001ca32\nmov     rdx, [rbp+258h]; Src                                           ; +0xf9, 0x18001ca39\nsub     rbx, rdx                                                       ; +0x100, 0x18001ca40\nmov     r8, rbx; Size                                                  ; +0x103, 0x18001ca43\nmov     rcx, rdi; void *                                               ; +0x106, 0x18001ca46\ncall    memmove                                                        ; +0x109, 0x18001ca49\nsar     rbx, 2                                                         ; +0x10e, 0x18001ca4e\nlea     rax, [rdi+rbx*4]                                               ; +0x112, 0x18001ca52\nmov     [r14+8], rax                                                   ; +0x116, 0x18001ca56\nmov     rax, [rbp+270h]                                                ; +0x11a, 0x18001ca5a\nmov     [rsi+270h], rax                                                ; +0x121, 0x18001ca61\nmov     rax, [rbp+278h]                                                ; +0x128, 0x18001ca68\nmov     [rsi+278h], rax                                                ; +0x12f, 0x18001ca6f\nmov     rax, [rbp+280h]                                                ; +0x136, 0x18001ca76\nmov     [rsi+280h], rax                                                ; +0x13d, 0x18001ca7d\nmov     rax, [rbp+288h]                                                ; +0x144, 0x18001ca84\nmov     [rsi+288h], rax                                                ; +0x14b, 0x18001ca8b\nmov     eax, [rbp+290h]                                                ; +0x152, 0x18001ca92\nmov     [rsi+290h], eax                                                ; +0x158, 0x18001ca98\nmov     rax, rsi                                                       ; +0x15e, 0x18001ca9e\nmov     rbx, [rsp+38h+arg_8]                                           ; +0x161, 0x18001caa1\nmov     rbp, [rsp+38h+arg_10]                                          ; +0x166, 0x18001caa6\nadd     rsp, 20h                                                       ; +0x16b, 0x18001caab\npop     r14                                                            ; +0x16f, 0x18001caaf\npop     rdi                                                            ; +0x171, 0x18001cab1\npop     rsi                                                            ; +0x172, 0x18001cab2\nretn                                                                   ; +0x173, 0x18001cab3\ncall    sub_180003530                                                  ; +0x174, 0x18001cab4\nalign 2                                                                ; +0x179, 0x18001cab9", "xrefs": ["<???> @ 0x18002fdf8", "<???> @ 0x18004af2c"], "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"}