// // cocos2d::extension::CCScale9Sprite::updatePositions from 0x18000ee80 to 0x18000f3f7 (1399 bytes) // // 5 xrefs: // > cocos2d::extension::CCScale9Sprite::visit @ 0x180010172 // > @ 0x18002e2e4 // > @ 0x18002e2f4 // > @ 0x18002fdf8 // > @ 0x180049ec4 // // 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::CCScale9Sprite::updatePositions(cocos2d::extension::CCScale9Sprite *this) { float *v2; // rax float v3; // xmm12_4 float v4; // xmm12_4 __int64 v5; // rax float v6; // xmm11_4 float v7; // xmm11_4 float v8; // xmm12_4 float v9; // xmm11_4 float v10; // xmm7_4 float v11; // xmm8_4 float v12; // xmm10_4 float v13; // xmm9_4 __int64 v14; // rbx __int64 v15; // rax __int64 v16; // rbx __int64 v17; // rax __int64 v18; // rbx __int64 v19; // rax __int64 v20; // rbx __int64 v21; // rax __int64 v22; // rbx __int64 v23; // rax __int64 v24; // rbx __int64 v25; // rax __int64 v26; // rbx __int64 v27; // rax __int64 v28; // rbx __int64 v29; // rax __int64 v30; // rbx __int64 v31; // rax __int64 v32; // rbx __int64 v33; // rax __int64 v34; // rbx __int64 v35; // rax __int64 v36; // rbx __int64 v37; // rax __int64 v38; // rbx __int64 v39; // rax __int64 v40; // rbx __int64 v41; // rax __int64 v42; // rbx __int64 v43; // rax __int64 v44; // rbx __int64 v45; // rax __int64 v46; // rbx __int64 v47; // rax __int64 v48; // rbx __int64 v49; // rax float v50; // [rsp+A0h] [rbp+8h] BYREF float v51; // [rsp+A4h] [rbp+Ch] char v52; // [rsp+A8h] [rbp+10h] BYREF if ( *((_QWORD *)this + 56) && *((_QWORD *)this + 58) && *((_QWORD *)this + 64) && *((_QWORD *)this + 62) ) { if ( *((_QWORD *)this + 60) ) { cocos2d::CCSize::CCSize((cocos2d::CCSize *)&v50, (cocos2d::extension::CCScale9Sprite *)((char *)this + 108)); v2 = (float *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 56) + 304LL))(*((_QWORD *)this + 56)); v3 = v50 - *v2; v4 = v3 - *(float *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 58) + 304LL))(*((_QWORD *)this + 58)); v5 = (*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 56) + 304LL))(*((_QWORD *)this + 56)); v6 = v51 - *(float *)(v5 + 4); v7 = v6 - *(float *)((*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 64) + 304LL))(*((_QWORD *)this + 64)) + 4); v8 = v4 / *(float *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 60) + 304LL))(*((_QWORD *)this + 60)); v9 = v7 / *(float *)((*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 60) + 304LL))(*((_QWORD *)this + 60)) + 4); (*(void (__fastcall **)(_QWORD))(**((_QWORD **)this + 60) + 120LL))(*((_QWORD *)this + 60)); (*(void (__fastcall **)(_QWORD))(**((_QWORD **)this + 60) + 136LL))(*((_QWORD *)this + 60)); v10 = v8 * *(float *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 60) + 304LL))(*((_QWORD *)this + 60)); v11 = v9 * *(float *)((*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 60) + 304LL))(*((_QWORD *)this + 60)) + 4); v12 = *(float *)(*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 62) + 304LL))(*((_QWORD *)this + 62)); v13 = *(float *)((*(__int64 (__fastcall **)(_QWORD))(**((_QWORD **)this + 62) + 304LL))(*((_QWORD *)this + 62)) + 4); v14 = **((_QWORD **)this + 62); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v14 + 272))(*((_QWORD *)this + 62), v15); v16 = **((_QWORD **)this + 64); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v16 + 272))(*((_QWORD *)this + 64), v17); v18 = **((_QWORD **)this + 56); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v18 + 272))(*((_QWORD *)this + 56), v19); v20 = **((_QWORD **)this + 58); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v20 + 272))(*((_QWORD *)this + 58), v21); v22 = **((_QWORD **)this + 59); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v22 + 272))(*((_QWORD *)this + 59), v23); v24 = **((_QWORD **)this + 61); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v24 + 272))(*((_QWORD *)this + 61), v25); v26 = **((_QWORD **)this + 57); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v26 + 272))(*((_QWORD *)this + 57), v27); v28 = **((_QWORD **)this + 63); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v28 + 272))(*((_QWORD *)this + 63), v29); v30 = **((_QWORD **)this + 60); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v30 + 272))(*((_QWORD *)this + 60), v31); v32 = **((_QWORD **)this + 62); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v32 + 184))(*((_QWORD *)this + 62), v33); v34 = **((_QWORD **)this + 64); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, v12 + v10, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v34 + 184))(*((_QWORD *)this + 64), v35); v36 = **((_QWORD **)this + 56); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, v13 + v11); (*(void (__fastcall **)(_QWORD, __int64))(v36 + 184))(*((_QWORD *)this + 56), v37); v38 = **((_QWORD **)this + 58); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, v12 + v10, v13 + v11); (*(void (__fastcall **)(_QWORD, __int64))(v38 + 184))(*((_QWORD *)this + 58), v39); v40 = **((_QWORD **)this + 59); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, 0.0, v13); (*(void (__fastcall **)(_QWORD, __int64))(v40 + 184))(*((_QWORD *)this + 59), v41); (*(void (__fastcall **)(_QWORD))(**((_QWORD **)this + 59) + 136LL))(*((_QWORD *)this + 59)); v42 = **((_QWORD **)this + 61); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, v12 + v10, v13); (*(void (__fastcall **)(_QWORD, __int64))(v42 + 184))(*((_QWORD *)this + 61), v43); (*(void (__fastcall **)(_QWORD))(**((_QWORD **)this + 61) + 136LL))(*((_QWORD *)this + 61)); v44 = **((_QWORD **)this + 63); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, v12, 0.0); (*(void (__fastcall **)(_QWORD, __int64))(v44 + 184))(*((_QWORD *)this + 63), v45); (*(void (__fastcall **)(_QWORD))(**((_QWORD **)this + 63) + 120LL))(*((_QWORD *)this + 63)); v46 = **((_QWORD **)this + 57); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, v12, v13 + v11); (*(void (__fastcall **)(_QWORD, __int64))(v46 + 184))(*((_QWORD *)this + 57), v47); (*(void (__fastcall **)(_QWORD))(**((_QWORD **)this + 57) + 120LL))(*((_QWORD *)this + 57)); v48 = **((_QWORD **)this + 60); cocos2d::CCPoint::CCPoint((cocos2d::CCPoint *)&v52, v12, v13); (*(void (__fastcall **)(_QWORD, __int64))(v48 + 184))(*((_QWORD *)this + 60), v49); } } }