{"type": "func", "start": 6442539632, "end": 6442539807, "name": "cocos2d::extension::CCTableView::_offsetFromIndex", "pseudocode": "// \n// cocos2d::extension::CCTableView::_offsetFromIndex from 0x180015a70 to 0x180015b1f (175 bytes)\n// \n// 2 xrefs:\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004a848\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\nfloat *__fastcall cocos2d::extension::CCTableView::_offsetFromIndex(__int64 a1, float *a2, unsigned int a3)\n{\n  __int64 v4; // rsi\n  __int64 v6; // rcx\n  float v7; // xmm2_4\n  float v8; // xmm1_4\n  __int64 v9; // rax\n  __int64 v10; // rax\n  char v12; // [rsp+40h] [rbp+8h] BYREF\n  float v13; // [rsp+44h] [rbp+Ch]\n  char v14; // [rsp+48h] [rbp+10h] BYREF\n  char v15; // [rsp+58h] [rbp+20h] BYREF\n\n  v4 = a3;\n  cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)a2);\n  cocos2d::CCSize::CCSize((cocos2d::CCSize *)&v14);\n  v6 = *(_QWORD *)(a1 + 600);\n  if ( *(_DWORD *)(a1 + 432) )\n  {\n    v7 = *(float *)(v6 + 4 * v4);\n    v8 = 0.0;\n  }\n  else\n  {\n    v8 = *(float *)(v6 + 4 * v4);\n    v7 = 0.0;\n  }\n  cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v15, v8, v7);\n  cocos2d::CCPoint::operator=(a2, v9);\n  (*(void (__fastcall **)(_QWORD, char *, __int64, _QWORD))(**(_QWORD **)(a1 + 640) + 8LL))(\n    *(_QWORD *)(a1 + 640),\n    &v12,\n    a1,\n    (unsigned int)v4);\n  if ( !*(_DWORD *)(a1 + 584) )\n  {\n    v10 = (*(__int64 (__fastcall **)(_QWORD))(**(_QWORD **)(a1 + 448) + 304LL))(*(_QWORD *)(a1 + 448));\n    a2[1] = (float)(*(float *)(v10 + 4) - a2[1]) - v13;\n  }\n  return a2;\n}", "assembly": "; \n; cocos2d::extension::CCTableView::_offsetFromIndex from 0x180015a70 to 0x180015b1f (175 bytes)\n; \n; 2 xrefs:\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004a848\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, 0x180015a70\npush    rsi                                                            ; +0x2, 0x180015a72\npush    rdi                                                            ; +0x3, 0x180015a73\nsub     rsp, 20h                                                       ; +0x4, 0x180015a74\nmov     rdi, rcx                                                       ; +0x8, 0x180015a78\nmov     esi, r8d                                                       ; +0xb, 0x180015a7b\nmov     rcx, rdx                                                       ; +0xe, 0x180015a7e\nmov     rbx, rdx                                                       ; +0x11, 0x180015a81\ncall    cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x14, 0x180015a84\nlea     rcx, [rsp+38h+arg_8]                                           ; +0x1a, 0x180015a8a\ncall    cs:??0CCSize@cocos2d@@QEAA@XZ; cocos2d::CCSize::CCSize(void)   ; +0x1f, 0x180015a8f\ncmp     dword ptr [rdi+1B0h], 0                                        ; +0x25, 0x180015a95\nmov     rcx, [rdi+258h]                                                ; +0x2c, 0x180015a9c\njz      short loc_180015AAF                                            ; +0x33, 0x180015aa3\nmovss   xmm2, dword ptr [rcx+rsi*4]                                    ; +0x35, 0x180015aa5\nxorps   xmm1, xmm1                                                     ; +0x3a, 0x180015aaa\njmp     short loc_180015AB7                                            ; +0x3d, 0x180015aad\nmovss   xmm1, dword ptr [rcx+rsi*4]                                    ; +0x3f, 0x180015aaf\nxorps   xmm2, xmm2                                                     ; +0x44, 0x180015ab4\nlea     rcx, [rsp+38h+arg_18]                                          ; +0x47, 0x180015ab7\ncall    cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x4c, 0x180015abc\nmov     rdx, rax                                                       ; +0x52, 0x180015ac2\nmov     rcx, rbx                                                       ; +0x55, 0x180015ac5\ncall    cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x58, 0x180015ac8\nmov     rcx, [rdi+280h]                                                ; +0x5e, 0x180015ace\nlea     rdx, [rsp+38h+arg_0]                                           ; +0x65, 0x180015ad5\nmov     r9d, esi                                                       ; +0x6a, 0x180015ada\nmov     r8, rdi                                                        ; +0x6d, 0x180015add\nmov     rax, [rcx]                                                     ; +0x70, 0x180015ae0\ncall    qword ptr [rax+8]                                              ; +0x73, 0x180015ae3\ncmp     dword ptr [rdi+248h], 0                                        ; +0x76, 0x180015ae6\njnz     short loc_180015B14                                            ; +0x7d, 0x180015aed\nmov     rcx, [rdi+1C0h]                                                ; +0x7f, 0x180015aef\nmov     rax, [rcx]                                                     ; +0x86, 0x180015af6\ncall    qword ptr [rax+130h]                                           ; +0x89, 0x180015af9\nmovss   xmm0, dword ptr [rax+4]                                        ; +0x8f, 0x180015aff\nsubss   xmm0, dword ptr [rbx+4]                                        ; +0x94, 0x180015b04\nsubss   xmm0, [rsp+38h+arg_4]                                          ; +0x99, 0x180015b09\nmovss   dword ptr [rbx+4], xmm0                                        ; +0x9f, 0x180015b0f\nmov     rax, rbx                                                       ; +0xa4, 0x180015b14\nadd     rsp, 20h                                                       ; +0xa7, 0x180015b17\npop     rdi                                                            ; +0xab, 0x180015b1b\npop     rsi                                                            ; +0xac, 0x180015b1c\npop     rbx                                                            ; +0xad, 0x180015b1d\nretn                                                                   ; +0xae, 0x180015b1e", "xrefs": ["<???> @ 0x18002fdf8", "<???> @ 0x18004a848"], "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"}