{"type": "func", "start": 6442540592, "end": 6442540768, "name": "cocos2d::extension::CCTableView::_setIndexForCell", "pseudocode": "// \n// cocos2d::extension::CCTableView::_setIndexForCell from 0x180015e30 to 0x180015ee0 (176 bytes)\n// \n// 6 xrefs:\n// > cocos2d::extension::CCTableView::updateCellAtIndex @ 0x180015362\n// > cocos2d::extension::CCTableView::insertCellAtIndex @ 0x1800154ed\n// > cocos2d::extension::CCTableView::insertCellAtIndex @ 0x180015524\n// > cocos2d::extension::CCTableView::removeCellAtIndex @ 0x1800157ad\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004a884\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::_setIndexForCell(\n        cocos2d::extension::CCTableView *this,\n        unsigned int a2,\n        struct cocos2d::extension::CCTableViewCell *a3)\n{\n  __int64 v3; // rbx\n  __int64 v7; // rax\n  __int64 v8; // rax\n  char v9; // [rsp+40h] [rbp+8h] BYREF\n  float v10; // [rsp+44h] [rbp+Ch]\n  char v11; // [rsp+50h] [rbp+18h] BYREF\n  float v12; // [rsp+54h] [rbp+1Ch]\n\n  v3 = *(_QWORD *)a3;\n  cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v9, 0.0, 0.0);\n  (*(void (__fastcall **)(struct cocos2d::extension::CCTableViewCell *, __int64))(v3 + 272))(a3, v7);\n  cocos2d::extension::CCTableView::__offsetFromIndex((__int64)this, (cocos2d::CCPoint *)&v9, a2);\n  (*(void (__fastcall **)(_QWORD, char *, cocos2d::extension::CCTableView *, _QWORD))(**((_QWORD **)this + 80) + 8LL))(\n    *((_QWORD *)this + 80),\n    &v11,\n    this,\n    a2);\n  if ( !*((_DWORD *)this + 146) )\n  {\n    v8 = (*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 56) + 304LL))(*((_QWORD *)this + 56));\n    v10 = (float)(*(float *)(v8 + 4) - v10) - v12;\n  }\n  (*(void (__fastcall **)(struct cocos2d::extension::CCTableViewCell *, char *))(*(_QWORD *)a3 + 184LL))(a3, &v9);\n  *((_DWORD *)a3 + 82) = a2;\n}", "assembly": "; \n; cocos2d::extension::CCTableView::_setIndexForCell from 0x180015e30 to 0x180015ee0 (176 bytes)\n; \n; 6 xrefs:\n; > cocos2d::extension::CCTableView::updateCellAtIndex @ 0x180015362\n; > cocos2d::extension::CCTableView::insertCellAtIndex @ 0x1800154ed\n; > cocos2d::extension::CCTableView::insertCellAtIndex @ 0x180015524\n; > cocos2d::extension::CCTableView::removeCellAtIndex @ 0x1800157ad\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004a884\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, 0x180015e30\npush    rbp                                                            ; +0x5, 0x180015e35\npush    rsi                                                            ; +0x6, 0x180015e36\npush    rdi                                                            ; +0x7, 0x180015e37\nsub     rsp, 20h                                                       ; +0x8, 0x180015e38\nmov     rbx, [r8]                                                      ; +0xc, 0x180015e3c\nmov     rsi, rcx                                                       ; +0xf, 0x180015e3f\nlea     rcx, [rsp+38h+arg_0]                                           ; +0x12, 0x180015e42\nxorps   xmm2, xmm2                                                     ; +0x17, 0x180015e47\nxorps   xmm1, xmm1                                                     ; +0x1a, 0x180015e4a\nmov     rdi, r8                                                        ; +0x1d, 0x180015e4d\nmov     ebp, edx                                                       ; +0x20, 0x180015e50\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x22, 0x180015e52\nmov     rdx, rax                                                       ; +0x28, 0x180015e58\nmov     rcx, rdi                                                       ; +0x2b, 0x180015e5b\ncall    qword ptr [rbx+110h]                                           ; +0x2e, 0x180015e5e\nmov     r8d, ebp                                                       ; +0x34, 0x180015e64\nlea     rdx, [rsp+38h+arg_0]                                           ; +0x37, 0x180015e67\nmov     rcx, rsi                                                       ; +0x3c, 0x180015e6c\ncall    ?__offsetFromIndex@CCTableView@extension@cocos2d@@IEAA?AVCCPoint@3@I@Z; cocos2d::extension::CCTableView::__offsetFromIndex(uint) ; +0x3f, 0x180015e6f\nmov     rcx, [rsi+280h]                                                ; +0x44, 0x180015e74\nlea     rdx, [rsp+38h+arg_10]                                          ; +0x4b, 0x180015e7b\nmov     r9d, ebp                                                       ; +0x50, 0x180015e80\nmov     r8, rsi                                                        ; +0x53, 0x180015e83\nmov     rax, [rcx]                                                     ; +0x56, 0x180015e86\ncall    qword ptr [rax+8]                                              ; +0x59, 0x180015e89\ncmp     dword ptr [rsi+248h], 0                                        ; +0x5c, 0x180015e8c\njnz     short loc_180015EBC                                            ; +0x63, 0x180015e93\nmov     rcx, [rsi+1C0h]                                                ; +0x65, 0x180015e95\nmov     rax, [rcx]                                                     ; +0x6c, 0x180015e9c\ncall    qword ptr [rax+130h]                                           ; +0x6f, 0x180015e9f\nmovss   xmm0, dword ptr [rax+4]                                        ; +0x75, 0x180015ea5\nsubss   xmm0, [rsp+38h+arg_4]                                          ; +0x7a, 0x180015eaa\nsubss   xmm0, [rsp+38h+arg_14]                                         ; +0x80, 0x180015eb0\nmovss   [rsp+38h+arg_4], xmm0                                          ; +0x86, 0x180015eb6\nmov     rax, [rdi]                                                     ; +0x8c, 0x180015ebc\nlea     rdx, [rsp+38h+arg_0]                                           ; +0x8f, 0x180015ebf\nmov     rcx, rdi                                                       ; +0x94, 0x180015ec4\ncall    qword ptr [rax+0B8h]                                           ; +0x97, 0x180015ec7\nmov     rbx, [rsp+38h+arg_8]                                           ; +0x9d, 0x180015ecd\nmov     [rdi+148h], ebp                                                ; +0xa2, 0x180015ed2\nadd     rsp, 20h                                                       ; +0xa8, 0x180015ed8\npop     rdi                                                            ; +0xac, 0x180015edc\npop     rsi                                                            ; +0xad, 0x180015edd\npop     rbp                                                            ; +0xae, 0x180015ede\nretn                                                                   ; +0xaf, 0x180015edf", "xrefs": ["cocos2d::extension::CCTableView::updateCellAtIndex @ 0x180015362", "cocos2d::extension::CCTableView::insertCellAtIndex @ 0x1800154ed", "cocos2d::extension::CCTableView::insertCellAtIndex @ 0x180015524", "cocos2d::extension::CCTableView::removeCellAtIndex @ 0x1800157ad", "<???> @ 0x18002fdf8", "<???> @ 0x18004a884"], "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"}