// // sub_180017490 from 0x180017490 to 0x18001755c (204 bytes) // // 3 xrefs: // > cocos2d::extension::CCHttpClient::~CCHttpClient @ 0x18001772b // > cocos2d::extension::CCHttpClient::~CCHttpClient @ 0x18001773c // > @ 0x18004aa40 // // 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 // int __fastcall sub_180017490(__int64 a1) { int result; // eax _Thrd_t *v3; // rbx _Thrd_t *i; // rdi _Thrd_t v5; // [rsp+20h] [rbp-18h] BYREF if ( Mtx_lock((_Mtx_t)(a1 + 64)) ) { LABEL_12: std::_Throw_Cpp_error(5); JUMPOUT(0x18001755BLL); } if ( *(_DWORD *)(a1 + 140) == 0x7FFFFFFF ) { *(_DWORD *)(a1 + 140) = 2147483646; std::_Throw_Cpp_error(6); __debugbreak(); } *(_BYTE *)(a1 + 216) = 1; Mtx_unlock((_Mtx_t)(a1 + 64)); result = Cnd_broadcast((_Cnd_t)(a1 + 144)); v3 = *(_Thrd_t **)a1; for ( i = *(_Thrd_t **)(a1 + 8); v3 != i; ++v3 ) { if ( v3->_Id ) { if ( v3->_Id == Thrd_id() ) goto LABEL_12; v5 = *v3; result = Thrd_join(&v5, nullptr); if ( result ) { std::_Throw_Cpp_error(2); __debugbreak(); } *v3 = 0; } } return result; }