// // cocos2d::extension::CCControlButton::getTitleForState from 0x1800063f0 to 0x1800064cb (219 bytes) // // 5 xrefs: // > @ 0x180024198 // > @ 0x180027fe0 // > @ 0x18002fdf8 // > @ 0x180049624 // > @ 0x180049630 // // 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 // // Hidden C++ exception states: #wind=1 struct cocos2d::CCString *__fastcall cocos2d::extension::CCControlButton::getTitleForState( cocos2d::extension::CCControlButton *this, unsigned int a2) { cocos2d::CCDictionary *v3; // rcx struct cocos2d::CCString *result; // rax __int64 v5; // rbx void *v6; // rcx void *Block[2]; // [rsp+20h] [rbp-38h] BYREF __int64 v8; // [rsp+30h] [rbp-28h] unsigned __int64 v9; // [rsp+38h] [rbp-20h] v3 = *((cocos2d::CCDictionary **)this + 66); if ( v3 ) { result = cocos2d::CCDictionary::objectForKey(v3, a2); if ( !result ) return cocos2d::CCDictionary::objectForKey(*((cocos2d::CCDictionary **)this + 66), 1); } else { *(_OWORD *)Block = 0; v8 = 0; v9 = 15; LOBYTE(Block[0]) = 0; v5 = cocos2d::CCString::create(Block); if ( v9 > 0xF ) { v6 = Block[0]; if ( v9 + 1 >= 0x1000 ) { v6 = *((void **)Block[0] - 1); if ( (unsigned __int64)((char *)Block[0] - (char *)v6 - 8) > 0x1F ) invalid_parameter_noinfo_noreturn(); } j_j_free(v6); } return (struct cocos2d::CCString *)v5; } return result; }