// // cocos2d::extension::CCControlStepper::ccTouchMoved from 0x18000bd40 to 0x18000be74 (308 bytes) // // 3 xrefs: // > @ 0x180026030 // > @ 0x18002fdf8 // > @ 0x180049d08 // // 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::CCControlStepper::ccTouchMoved( cocos2d::extension::CCControlStepper *this, struct cocos2d::CCTouch *a2, struct cocos2d::CCEvent *a3) { _DWORD *v3; // rdi float *v6; // rax __int64 v7; // r8 bool v8; // zf void (__fastcall ***v9)(_QWORD, void *); // rcx char v10; // [rsp+40h] [rbp+8h] BYREF char v11; // [rsp+58h] [rbp+20h] BYREF v3 = (_DWORD *)((char *)this - 320); if ( (*(unsigned __int8 (__fastcall **)(char *, struct cocos2d::CCTouch *, struct cocos2d::CCEvent *))(*((_QWORD *)this - 40) + 1104LL))( (char *)this - 320, a2, a3) ) { (*(void (__fastcall **)(_DWORD *, char *, struct cocos2d::CCTouch *))(*(_QWORD *)v3 + 1096LL))(v3, &v10, a2); v6 = (float *)cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v11, (const struct cocos2d::CCPoint *)&v10); cocos2d::extension::CCControlStepper::updateLayoutUsingTouchLocation((__int64)v3, v6); if ( !*((_BYTE *)this + 224) ) { v8 = *((_BYTE *)this + 193) == 0; *((_BYTE *)this + 224) = 1; if ( !v8 ) { v3[138] = -1; cocos2d::CCNode::schedule(v3, sub_18000BF64, v7, 4294967294LL, 1055286887); } } } else { v9 = (void (__fastcall ***)(_QWORD, void *))(*((_QWORD *)this + 19) + 320LL); *((_BYTE *)this + 224) = 0; *((_DWORD *)this + 57) = 2; (**v9)(v9, &unk_1800234B0); (**(void (__fastcall ***)(__int64, void *))(*((_QWORD *)this + 20) + 320LL))( *((_QWORD *)this + 20) + 320LL, &unk_1800234B0); if ( *((_BYTE *)this + 193) ) cocos2d::CCNode::unschedule(v3, sub_18000BF64); } }