// // cocos2d::extension::CCEditBox::~CCEditBox from 0x1800106d0 to 0x18001091d (589 bytes) // // 4 xrefs: // > sub_180011370 @ 0x1800113d2 // > sub_180011370 @ 0x18001138c // > @ 0x18002fdf8 // > @ 0x18004a164 // // This function is hookable on this platform! // // Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA // Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings // void __fastcall cocos2d::extension::CCEditBox::~CCEditBox(cocos2d::extension::CCEditBox *this) { void (__fastcall ***v2)(_QWORD, __int64); // rcx _QWORD *v3; // rax unsigned __int64 v4; // rdx _QWORD *v5; // rcx unsigned __int64 v6; // rdx _QWORD *v7; // rcx unsigned __int64 v8; // rdx _QWORD *v9; // rcx unsigned __int64 v10; // rdx void *v11; // rcx *(_QWORD *)this = &cocos2d::extension::CCEditBox::`vftable'{for `cocos2d::CCNode'}; *((_QWORD *)this + 40) = &cocos2d::extension::CCEditBox::`vftable'{for `cocos2d::CCTouchDelegate'}; *((_QWORD *)this + 41) = &cocos2d::extension::CCEditBox::`vftable'{for `cocos2d::CCAccelerometerDelegate'}; *((_QWORD *)this + 42) = &cocos2d::extension::CCEditBox::`vftable'{for `cocos2d::CCKeypadDelegate'}; *((_QWORD *)this + 43) = &cocos2d::extension::CCEditBox::`vftable'{for `cocos2d::CCKeyboardDelegate'}; *((_QWORD *)this + 44) = &cocos2d::extension::CCEditBox::`vftable'{for `cocos2d::CCMouseDelegate'}; *((_QWORD *)this + 51) = &cocos2d::extension::CCEditBox::`vftable'{for `cocos2d::extension::CCControlButton'}; *((_QWORD *)this + 71) = &cocos2d::extension::CCEditBox::`vftable'{for `cocos2d::CCIMEDelegate'}; v2 = *((void (__fastcall ****)(_QWORD, __int64))this + 72); if ( v2 ) { (**v2)(v2, 1); *((_QWORD *)this + 72) = 0; } if ( *((_DWORD *)this + 190) ) { v3 = (_QWORD *)cocos2d::CCScriptEngineManager::sharedManager(); (*(void (__fastcall **)(_QWORD, _QWORD))(*(_QWORD *)*v3 + 24LL))(*v3, *((unsigned int *)this + 190)); *((_DWORD *)this + 190) = 0; } v4 = *((_QWORD *)this + 91); if ( v4 > 0xF ) { v5 = *((_QWORD **)this + 88); if ( v4 + 1 >= 0x1000 ) { if ( (unsigned __int64)v5 - *(v5 - 1) - 8 > 0x1F ) goto LABEL_26; v5 = (_QWORD *)*(v5 - 1); } j_j_free(v5); } *((_QWORD *)this + 90) = 0; *((_QWORD *)this + 91) = 15; *((_BYTE *)this + 704) = 0; v6 = *((_QWORD *)this + 87); if ( v6 > 0xF ) { v7 = *((_QWORD **)this + 84); if ( v6 + 1 >= 0x1000 ) { if ( (unsigned __int64)v7 - *(v7 - 1) - 8 > 0x1F ) goto LABEL_26; v7 = (_QWORD *)*(v7 - 1); } j_j_free(v7); } *((_QWORD *)this + 86) = 0; *((_QWORD *)this + 87) = 15; *((_BYTE *)this + 672) = 0; v8 = *((_QWORD *)this + 83); if ( v8 > 0xF ) { v9 = *((_QWORD **)this + 80); if ( v8 + 1 >= 0x1000 ) { if ( (unsigned __int64)v9 - *(v9 - 1) - 8 > 0x1F ) goto LABEL_26; v9 = (_QWORD *)*(v9 - 1); } j_j_free(v9); } *((_QWORD *)this + 82) = 0; *((_QWORD *)this + 83) = 15; *((_BYTE *)this + 640) = 0; v10 = *((_QWORD *)this + 79); if ( v10 > 0xF ) { v11 = *((void **)this + 76); if ( v10 + 1 < 0x1000 ) { LABEL_24: j_j_free(v11); goto LABEL_25; } if ( (unsigned __int64)v11 - *((_QWORD *)v11 - 1) - 8 <= 0x1F ) { v11 = *((void **)v11 - 1); goto LABEL_24; } LABEL_26: invalid_parameter_noinfo_noreturn(); } LABEL_25: *((_QWORD *)this + 78) = 0; *((_QWORD *)this + 79) = 15; *((_BYTE *)this + 608) = 0; cocos2d::CCIMEDelegate::~CCIMEDelegate((cocos2d::extension::CCEditBox *)((char *)this + 568)); cocos2d::extension::CCControlButton::~CCControlButton(this); }