// // cocos2d::extension::CCHttpRequest::~CCHttpRequest from 0x18001d050 to 0x18001d17f (303 bytes) // // 4 xrefs: // > sub_18001D630 @ 0x18001d68e // > sub_18001D630 @ 0x18001d64c // > @ 0x18002fdf8 // > @ 0x18004af74 // // 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::CCHttpRequest::~CCHttpRequest(cocos2d::extension::CCHttpRequest *this) { cocos2d::CCObject *v2; // rcx unsigned __int64 v3; // rdx _QWORD *v4; // rcx _QWORD *v5; // rcx unsigned __int64 v6; // rdx void *v7; // rcx *(_QWORD *)this = &cocos2d::extension::CCHttpRequest::`vftable'; v2 = *((cocos2d::CCObject **)this + 19); if ( v2 ) cocos2d::CCObject::release(v2); sub_180003630((_QWORD *)this + 22); v3 = *((_QWORD *)this + 18); if ( v3 > 0xF ) { v4 = *((_QWORD **)this + 15); if ( v3 + 1 >= 0x1000 ) { if ( (unsigned __int64)v4 - *(v4 - 1) - 8 > 0x1F ) goto LABEL_19; v4 = (_QWORD *)*(v4 - 1); } j_j_free(v4); } *((_QWORD *)this + 17) = 0; *((_QWORD *)this + 18) = 15; *((_BYTE *)this + 120) = 0; v5 = *((_QWORD **)this + 12); if ( v5 ) { if ( *((_QWORD *)this + 14) - (_QWORD)v5 >= 0x1000u ) { if ( (unsigned __int64)v5 - *(v5 - 1) - 8 > 0x1F ) goto LABEL_19; v5 = (_QWORD *)*(v5 - 1); } j_j_free(v5); *((_QWORD *)this + 12) = 0; *((_QWORD *)this + 13) = 0; *((_QWORD *)this + 14) = 0; } v6 = *((_QWORD *)this + 11); if ( v6 > 0xF ) { v7 = *((void **)this + 8); if ( v6 + 1 < 0x1000 ) { LABEL_17: j_j_free(v7); goto LABEL_18; } if ( (unsigned __int64)v7 - *((_QWORD *)v7 - 1) - 8 <= 0x1F ) { v7 = *((void **)v7 - 1); goto LABEL_17; } LABEL_19: invalid_parameter_noinfo_noreturn(); } LABEL_18: *((_QWORD *)this + 10) = 0; *((_QWORD *)this + 11) = 15; *((_BYTE *)this + 64) = 0; cocos2d::CCObject::~CCObject(this); }