{"type": "func", "start": 6442562336, "end": 6442562712, "name": "cocos2d::extension::CCControlButton::CCControlButton", "pseudocode": "// \n// cocos2d::extension::CCControlButton::CCControlButton from 0x18001b320 to 0x18001b498 (376 bytes)\n// \n// 3 xrefs:\n// > cocos2d::extension::CCEditBox::CCEditBox @ 0x18001cc4a\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004adc4\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=1\ncocos2d::extension::CCControlButton *__fastcall cocos2d::extension::CCControlButton::CCControlButton(\n        cocos2d::extension::CCControlButton *this,\n        const struct cocos2d::extension::CCControlButton *a2)\n{\n  cocos2d::extension::CCControl::CCControl(this, a2);\n  *(_QWORD *)this = &cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCNode'};\n  *((_QWORD *)this + 40) = &cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCTouchDelegate'};\n  *((_QWORD *)this + 41) = &cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCAccelerometerDelegate'};\n  *((_QWORD *)this + 42) = &cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCKeypadDelegate'};\n  *((_QWORD *)this + 43) = &cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCKeyboardDelegate'};\n  *((_QWORD *)this + 44) = &cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCMouseDelegate'};\n  *((_QWORD *)this + 51) = &cocos2d::extension::CCControlButton::`vftable';\n  *((_QWORD *)this + 59) = *((_QWORD *)a2 + 59);\n  *((_WORD *)this + 240) = *((_WORD *)a2 + 240);\n  *((_BYTE *)this + 482) = *((_BYTE *)a2 + 482);\n  *((_BYTE *)this + 483) = *((_BYTE *)a2 + 483);\n  *((_QWORD *)this + 61) = *((_QWORD *)a2 + 61);\n  *((_QWORD *)this + 62) = *((_QWORD *)a2 + 62);\n  cocos2d::CCSize::CCSize(\n    (cocos2d::extension::CCControlButton *)((char *)this + 504),\n    (const struct cocos2d::extension::CCControlButton *)((char *)a2 + 504));\n  *((_BYTE *)this + 512) = *((_BYTE *)a2 + 512);\n  cocos2d::CCPoint::CCPoint(\n    (cocos2d::extension::CCControlButton *)((char *)this + 516),\n    (const struct cocos2d::extension::CCControlButton *)((char *)a2 + 516));\n  *((_BYTE *)this + 524) = *((_BYTE *)a2 + 524);\n  *((_BYTE *)this + 525) = *((_BYTE *)a2 + 525);\n  *((_QWORD *)this + 66) = *((_QWORD *)a2 + 66);\n  *((_QWORD *)this + 67) = *((_QWORD *)a2 + 67);\n  *((_QWORD *)this + 68) = *((_QWORD *)a2 + 68);\n  *((_QWORD *)this + 69) = *((_QWORD *)a2 + 69);\n  *((_DWORD *)this + 140) = *((_DWORD *)a2 + 140);\n  *((_DWORD *)this + 141) = *((_DWORD *)a2 + 141);\n  return this;\n}", "assembly": "; \n; cocos2d::extension::CCControlButton::CCControlButton from 0x18001b320 to 0x18001b498 (376 bytes)\n; \n; 3 xrefs:\n; > cocos2d::extension::CCEditBox::CCEditBox @ 0x18001cc4a\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004adc4\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, 0x18001b320\nmov     [rsp+arg_0], rcx                                               ; +0x5, 0x18001b325\npush    rdi                                                            ; +0xa, 0x18001b32a\nsub     rsp, 20h                                                       ; +0xb, 0x18001b32b\nmov     rbx, rdx                                                       ; +0xf, 0x18001b32f\nmov     rdi, rcx                                                       ; +0x12, 0x18001b332\ncall    ??0CCControl@extension@cocos2d@@QEAA@AEBV012@@Z; cocos2d::extension::CCControl::CCControl(cocos2d::extension::CCControl const &) ; +0x15, 0x18001b335\nnop                                                                    ; +0x1a, 0x18001b33a\nlea     rax, ??_7CCControlButton@extension@cocos2d@@6BCCNode@2@@; const cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCNode'} ; +0x1b, 0x18001b33b\nmov     [rdi], rax                                                     ; +0x22, 0x18001b342\nlea     rax, ??_7CCControlButton@extension@cocos2d@@6BCCTouchDelegate@2@@; const cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCTouchDelegate'} ; +0x25, 0x18001b345\nmov     [rdi+140h], rax                                                ; +0x2c, 0x18001b34c\nlea     rax, ??_7CCControlButton@extension@cocos2d@@6BCCAccelerometerDelegate@2@@; const cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCAccelerometerDelegate'} ; +0x33, 0x18001b353\nmov     [rdi+148h], rax                                                ; +0x3a, 0x18001b35a\nlea     rax, ??_7CCControlButton@extension@cocos2d@@6BCCKeypadDelegate@2@@; const cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCKeypadDelegate'} ; +0x41, 0x18001b361\nmov     [rdi+150h], rax                                                ; +0x48, 0x18001b368\nlea     rax, ??_7CCControlButton@extension@cocos2d@@6BCCKeyboardDelegate@2@@; const cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCKeyboardDelegate'} ; +0x4f, 0x18001b36f\nmov     [rdi+158h], rax                                                ; +0x56, 0x18001b376\nlea     rax, ??_7CCControlButton@extension@cocos2d@@6BCCMouseDelegate@2@@; const cocos2d::extension::CCControlButton::`vftable'{for `cocos2d::CCMouseDelegate'} ; +0x5d, 0x18001b37d\nmov     [rdi+160h], rax                                                ; +0x64, 0x18001b384\nlea     rax, ??_7CCControlButton@extension@cocos2d@@6B@; const cocos2d::extension::CCControlButton::`vftable' ; +0x6b, 0x18001b38b\nmov     [rdi+198h], rax                                                ; +0x72, 0x18001b392\nmov     rax, [rbx+1D8h]                                                ; +0x79, 0x18001b399\nmov     [rdi+1D8h], rax                                                ; +0x80, 0x18001b3a0\nmovzx   eax, word ptr [rbx+1E0h]                                       ; +0x87, 0x18001b3a7\nmov     [rdi+1E0h], ax                                                 ; +0x8e, 0x18001b3ae\nmovzx   eax, byte ptr [rbx+1E2h]                                       ; +0x95, 0x18001b3b5\nmov     [rdi+1E2h], al                                                 ; +0x9c, 0x18001b3bc\nmovzx   eax, byte ptr [rbx+1E3h]                                       ; +0xa2, 0x18001b3c2\nmov     [rdi+1E3h], al                                                 ; +0xa9, 0x18001b3c9\nmov     rax, [rbx+1E8h]                                                ; +0xaf, 0x18001b3cf\nmov     [rdi+1E8h], rax                                                ; +0xb6, 0x18001b3d6\nmov     rax, [rbx+1F0h]                                                ; +0xbd, 0x18001b3dd\nmov     [rdi+1F0h], rax                                                ; +0xc4, 0x18001b3e4\nlea     rdx, [rbx+1F8h]                                                ; +0xcb, 0x18001b3eb\nlea     rcx, [rdi+1F8h]                                                ; +0xd2, 0x18001b3f2\ncall    cs:??0CCSize@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCSize::CCSize(cocos2d::CCSize const &) ; +0xd9, 0x18001b3f9\nmovzx   eax, byte ptr [rbx+200h]                                       ; +0xdf, 0x18001b3ff\nmov     [rdi+200h], al                                                 ; +0xe6, 0x18001b406\nlea     rdx, [rbx+204h]                                                ; +0xec, 0x18001b40c\nlea     rcx, [rdi+204h]                                                ; +0xf3, 0x18001b413\ncall    cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0xfa, 0x18001b41a\nmovzx   eax, byte ptr [rbx+20Ch]                                       ; +0x100, 0x18001b420\nmov     [rdi+20Ch], al                                                 ; +0x107, 0x18001b427\nmovzx   eax, byte ptr [rbx+20Dh]                                       ; +0x10d, 0x18001b42d\nmov     [rdi+20Dh], al                                                 ; +0x114, 0x18001b434\nmov     rax, [rbx+210h]                                                ; +0x11a, 0x18001b43a\nmov     [rdi+210h], rax                                                ; +0x121, 0x18001b441\nmov     rax, [rbx+218h]                                                ; +0x128, 0x18001b448\nmov     [rdi+218h], rax                                                ; +0x12f, 0x18001b44f\nmov     rax, [rbx+220h]                                                ; +0x136, 0x18001b456\nmov     [rdi+220h], rax                                                ; +0x13d, 0x18001b45d\nmov     rax, [rbx+228h]                                                ; +0x144, 0x18001b464\nmov     [rdi+228h], rax                                                ; +0x14b, 0x18001b46b\nmov     eax, [rbx+230h]                                                ; +0x152, 0x18001b472\nmov     [rdi+230h], eax                                                ; +0x158, 0x18001b478\nmov     eax, [rbx+234h]                                                ; +0x15e, 0x18001b47e\nmov     [rdi+234h], eax                                                ; +0x164, 0x18001b484\nmov     rax, rdi                                                       ; +0x16a, 0x18001b48a\nmov     rbx, [rsp+28h+arg_8]                                           ; +0x16d, 0x18001b48d\nadd     rsp, 20h                                                       ; +0x172, 0x18001b492\npop     rdi                                                            ; +0x176, 0x18001b496\nretn                                                                   ; +0x177, 0x18001b497", "xrefs": ["cocos2d::extension::CCEditBox::CCEditBox @ 0x18001cc4a", "<???> @ 0x18002fdf8", "<???> @ 0x18004adc4"], "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"}