{"type": "func", "start": 6442481168, "end": 6442481270, "name": "cocos2d::extension::CCControlButton::setOpacity", "pseudocode": "// \n// cocos2d::extension::CCControlButton::setOpacity from 0x180007610 to 0x180007676 (102 bytes)\n// \n// 4 xrefs:\n// > <???> @ 0x180023be0\n// > <???> @ 0x180027a28\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004975c\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::CCControlButton::setOpacity(\n        cocos2d::extension::CCControlButton *this,\n        unsigned __int8 a2)\n{\n  __int64 v4; // rax\n  __int64 v5; // rax\n  __int64 i; // rbx\n\n  cocos2d::CCLayerRGBA::setOpacity(this, a2);\n  v4 = *((_QWORD *)this + 18);\n  if ( v4 )\n  {\n    v5 = *(_QWORD *)(v4 + 56);\n    if ( v5 )\n    {\n      for ( i = *(_QWORD *)(v5 + 288); ; i = *(_QWORD *)(i + 288) )\n      {\n        (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)(*(_QWORD *)(v5 + 264) + 320LL) + 40LL))(\n          *(_QWORD *)(v5 + 264) + 320LL,\n          a2);\n        v5 = i;\n        if ( !i )\n          break;\n      }\n    }\n  }\n}", "assembly": "; \n; cocos2d::extension::CCControlButton::setOpacity from 0x180007610 to 0x180007676 (102 bytes)\n; \n; 4 xrefs:\n; > <???> @ 0x180023be0\n; > <???> @ 0x180027a28\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004975c\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_0], rbx                                               ; +0x0, 0x180007610\npush    rdi                                                            ; +0x5, 0x180007615\nsub     rsp, 20h                                                       ; +0x6, 0x180007616\nmovzx   edi, dl                                                        ; +0xa, 0x18000761a\nmov     rbx, rcx                                                       ; +0xd, 0x18000761d\ncall    cs:__imp_?setOpacity@CCLayerRGBA@cocos2d@@UEAAXE@Z; cocos2d::CCLayerRGBA::setOpacity(uchar) ; +0x10, 0x180007620\nmov     rax, [rbx+90h]                                                 ; +0x16, 0x180007626\ntest    rax, rax                                                       ; +0x1d, 0x18000762d\njz      short loc_18000766B                                            ; +0x20, 0x180007630\nmov     rax, [rax+38h]                                                 ; +0x22, 0x180007632\ntest    rax, rax                                                       ; +0x26, 0x180007636\njz      short loc_18000766B                                            ; +0x29, 0x180007639\nmov     rbx, [rax+120h]                                                ; +0x2b, 0x18000763b\nmov     rcx, [rax+108h]                                                ; +0x32, 0x180007642\nmovzx   edx, dil                                                       ; +0x39, 0x180007649\nadd     rcx, 140h                                                      ; +0x3d, 0x18000764d\nmov     rax, [rcx]                                                     ; +0x44, 0x180007654\ncall    qword ptr [rax+28h]                                            ; +0x47, 0x180007657\nmov     rax, rbx                                                       ; +0x4a, 0x18000765a\ntest    rbx, rbx                                                       ; +0x4d, 0x18000765d\njz      short loc_18000766B                                            ; +0x50, 0x180007660\nmov     rbx, [rbx+120h]                                                ; +0x52, 0x180007662\njmp     short loc_180007642                                            ; +0x59, 0x180007669\nmov     rbx, [rsp+28h+arg_0]                                           ; +0x5b, 0x18000766b\nadd     rsp, 20h                                                       ; +0x60, 0x180007670\npop     rdi                                                            ; +0x64, 0x180007674\nretn                                                                   ; +0x65, 0x180007675", "xrefs": ["<???> @ 0x180023be0", "<???> @ 0x180027a28", "<???> @ 0x18002fdf8", "<???> @ 0x18004975c"], "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"}