{"type": "func", "start": 6442533760, "end": 6442533826, "name": "cocos2d::extension::CCScrollView::getScriptHandler", "pseudocode": "// \n// cocos2d::extension::CCScrollView::getScriptHandler from 0x180014380 to 0x1800143c2 (66 bytes)\n// \n// 1 xrefs:\n// > <???> @ 0x18002fdf8\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__int64 __fastcall cocos2d::extension::CCScrollView::getScriptHandler(cocos2d::extension::CCScrollView *this, int a2)\n{\n  __int64 *v2; // r8\n  __int64 *v3; // rcx\n  __int64 *v4; // rax\n\n  v2 = *((__int64 **)this + 69);\n  v3 = v2;\n  v4 = (__int64 *)v2[1];\n  while ( !*((_BYTE *)v4 + 25) )\n  {\n    if ( *((_DWORD *)v4 + 7) >= a2 )\n    {\n      v3 = v4;\n      v4 = (__int64 *)*v4;\n    }\n    else\n    {\n      v4 = (__int64 *)v4[2];\n    }\n  }\n  if ( *((_BYTE *)v3 + 25) || a2 < *((_DWORD *)v3 + 7) || v2 == v3 )\n    return 0;\n  else\n    return *((unsigned int *)v3 + 8);\n}", "assembly": "; \n; cocos2d::extension::CCScrollView::getScriptHandler from 0x180014380 to 0x1800143c2 (66 bytes)\n; \n; 1 xrefs:\n; > <???> @ 0x18002fdf8\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     r8, [rcx+228h]                                                 ; +0x0, 0x180014380\nmov     rcx, r8                                                        ; +0x7, 0x180014387\nmov     rax, [r8+8]                                                    ; +0xa, 0x18001438a\ncmp     byte ptr [rax+19h], 0                                          ; +0xe, 0x18001438e\njnz     short loc_1800143AB                                            ; +0x12, 0x180014392\ncmp     [rax+1Ch], edx                                                 ; +0x14, 0x180014394\njge     short loc_18001439F                                            ; +0x17, 0x180014397\nmov     rax, [rax+10h]                                                 ; +0x19, 0x180014399\njmp     short loc_1800143A5                                            ; +0x1d, 0x18001439d\nmov     rcx, rax                                                       ; +0x1f, 0x18001439f\nmov     rax, [rax]                                                     ; +0x22, 0x1800143a2\ncmp     byte ptr [rax+19h], 0                                          ; +0x25, 0x1800143a5\njz      short loc_180014394                                            ; +0x29, 0x1800143a9\ncmp     byte ptr [rcx+19h], 0                                          ; +0x2b, 0x1800143ab\njnz     short loc_1800143BF                                            ; +0x2f, 0x1800143af\ncmp     edx, [rcx+1Ch]                                                 ; +0x31, 0x1800143b1\njl      short loc_1800143BF                                            ; +0x34, 0x1800143b4\ncmp     r8, rcx                                                        ; +0x36, 0x1800143b6\njz      short loc_1800143BF                                            ; +0x39, 0x1800143b9\nmov     eax, [rcx+20h]                                                 ; +0x3b, 0x1800143bb\nretn                                                                   ; +0x3e, 0x1800143be\nxor     eax, eax                                                       ; +0x3f, 0x1800143bf\nretn                                                                   ; +0x41, 0x1800143c1", "xrefs": ["<???> @ 0x18002fdf8"], "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"}