{"type": "func", "start": 6442546960, "end": 6442547141, "name": "cocos2d::extension::CCHttpClient::~CCHttpClient", "pseudocode": "// \n// cocos2d::extension::CCHttpClient::~CCHttpClient from 0x180017710 to 0x1800177c5 (181 bytes)\n// \n// 4 xrefs:\n// > sub_180019270 @ 0x1800192d2\n// > sub_180019270 @ 0x18001928c\n// > <???> @ 0x18002fdf8\n// > <???> @ 0x18004aa58\n// \n// This function is hookable on this platform!\n// \n// Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA\n// Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings\n// \n\n// Hidden C++ exception states: #wind=1\nvoid __fastcall cocos2d::extension::CCHttpClient::~CCHttpClient(cocos2d::extension::CCHttpClient *this)\n{\n  __int64 v2; // rdx\n  __int64 v3; // rcx\n  __int64 v4; // rdi\n  __int64 v5; // rax\n  __int64 v6; // rax\n\n  *(_QWORD *)this = &cocos2d::extension::CCHttpClient::`vftable';\n  sub_180017490(*((_QWORD *)this + 7));\n  v4 = *((_QWORD *)this + 7);\n  if ( v4 )\n  {\n    sub_180017490(*((_QWORD *)this + 7));\n    _Cnd_destroy_in_situ((_Cnd_t)(v4 + 144));\n    _Mtx_destroy_in_situ((_Mtx_t)(v4 + 64));\n    sub_180018310(v4 + 24);\n    sub_180018420(v4);\n    j_j_free((void *)v4);\n  }\n  v5 = cocos2d::CCDirector::sharedDirector(v3, v2);\n  v6 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v5 + 112LL))(v5);\n  cocos2d::CCScheduler::unscheduleSelector(v6, cocos2d::extension::CCHttpClient::dispatchResponseCallbacks, this);\n  if ( qword_1800486C8 )\n    cocos2d::CCObject::release((cocos2d::CCObject *)qword_1800486C8);\n  curl_global_cleanup();\n  cocos2d::CCObject::~CCObject(this);\n}", "assembly": "; \n; cocos2d::extension::CCHttpClient::~CCHttpClient from 0x180017710 to 0x1800177c5 (181 bytes)\n; \n; 4 xrefs:\n; > sub_180019270 @ 0x1800192d2\n; > sub_180019270 @ 0x18001928c\n; > <???> @ 0x18002fdf8\n; > <???> @ 0x18004aa58\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\nmov     [rsp+arg_0], rbx                                               ; +0x0, 0x180017710\npush    rdi                                                            ; +0x5, 0x180017715\nsub     rsp, 20h                                                       ; +0x6, 0x180017716\nmov     rbx, rcx                                                       ; +0xa, 0x18001771a\nlea     rax, ??_7CCHttpClient@extension@cocos2d@@6B@; const cocos2d::extension::CCHttpClient::`vftable' ; +0xd, 0x18001771d\nmov     [rcx], rax                                                     ; +0x14, 0x180017724\nmov     rcx, [rcx+38h]                                                 ; +0x17, 0x180017727\ncall    sub_180017490                                                  ; +0x1b, 0x18001772b\nmov     rdi, [rbx+38h]                                                 ; +0x20, 0x180017730\ntest    rdi, rdi                                                       ; +0x24, 0x180017734\njz      short loc_180017777                                            ; +0x27, 0x180017737\nmov     rcx, rdi                                                       ; +0x29, 0x180017739\ncall    sub_180017490                                                  ; +0x2c, 0x18001773c\nlea     rcx, [rdi+90h]; _Cnd_t                                         ; +0x31, 0x180017741\ncall    cs:__imp__Cnd_destroy_in_situ                                  ; +0x38, 0x180017748\nlea     rcx, [rdi+40h]; _Mtx_t                                         ; +0x3e, 0x18001774e\ncall    cs:__imp__Mtx_destroy_in_situ                                  ; +0x42, 0x180017752\nlea     rcx, [rdi+18h]                                                 ; +0x48, 0x180017758\ncall    sub_180018310                                                  ; +0x4c, 0x18001775c\nmov     rcx, rdi                                                       ; +0x51, 0x180017761\ncall    sub_180018420                                                  ; +0x54, 0x180017764\nnop                                                                    ; +0x59, 0x180017769\nmov     edx, 0E8h                                                      ; +0x5a, 0x18001776a\nmov     rcx, rdi; Block                                                ; +0x5f, 0x18001776f\ncall    j_j_free                                                       ; +0x62, 0x180017772\ncall    cs:?sharedDirector@CCDirector@cocos2d@@SAPEAV12@XZ; cocos2d::CCDirector::sharedDirector(void) ; +0x67, 0x180017777\nmov     rdx, [rax]                                                     ; +0x6d, 0x18001777d\nmov     rcx, rax                                                       ; +0x70, 0x180017780\ncall    qword ptr [rdx+70h]                                            ; +0x73, 0x180017783\nmov     rcx, rax                                                       ; +0x76, 0x180017786\nmov     r8, rbx                                                        ; +0x79, 0x180017789\nlea     rdx, ?dispatchResponseCallbacks@CCHttpClient@extension@cocos2d@@QEAAXM@Z; cocos2d::extension::CCHttpClient::dispatchResponseCallbacks(float) ; +0x7c, 0x18001778c\ncall    cs:?unscheduleSelector@CCScheduler@cocos2d@@QEAAXP8CCObject@2@EAAXM@ZPEAV32@@Z; cocos2d::CCScheduler::unscheduleSelector(void (cocos2d::CCObject::*)(float),cocos2d::CCObject *) ; +0x83, 0x180017793\nmov     rcx, cs:qword_1800486C8                                        ; +0x89, 0x180017799\ntest    rcx, rcx                                                       ; +0x90, 0x1800177a0\njz      short loc_1800177AB                                            ; +0x93, 0x1800177a3\ncall    cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x95, 0x1800177a5\ncall    cs:curl_global_cleanup                                         ; +0x9b, 0x1800177ab\nmov     rcx, rbx                                                       ; +0xa1, 0x1800177b1\nmov     rbx, [rsp+28h+arg_0]                                           ; +0xa4, 0x1800177b4\nadd     rsp, 20h                                                       ; +0xa9, 0x1800177b9\npop     rdi                                                            ; +0xad, 0x1800177bd\njmp     cs:__imp_??1CCObject@cocos2d@@UEAA@XZ; cocos2d::CCObject::~CCObject(void) ; +0xae, 0x1800177be", "xrefs": ["sub_180019270 @ 0x1800192d2", "sub_180019270 @ 0x18001928c", "<???> @ 0x18002fdf8", "<???> @ 0x18004aa58"], "is_objc": false, "is_arm32": false, "is_arm64": false, "bida_info": "8.0.0 @ https://github.com/Stazzical/BromaIDA", "bindings_info": "commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings"}