; ; cocos2d::extension::CCHttpClient::dispatchResponseCallbacks from 0x180018220 to 0x180018308 (232 bytes) ; ; 4 xrefs: ; > cocos2d::extension::CCHttpClient::CCHttpClient @ 0x1800176db ; > cocos2d::extension::CCHttpClient::~CCHttpClient @ 0x18001778c ; > @ 0x18002fdf8 ; > @ 0x18004aab8 ; ; 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 ; mov [rsp+arg_0], rbx ; +0x0, 0x180018220 mov [rsp+arg_8], rsi ; +0x5, 0x180018225 push rdi ; +0xa, 0x18001822a sub rsp, 20h ; +0xb, 0x18001822b mov rdi, rcx ; +0xf, 0x18001822f xor ebx, ebx ; +0x12, 0x180018232 lea rsi, unk_180048630 ; +0x14, 0x180018234 mov [rsp+28h+arg_10], rsi ; +0x1b, 0x18001823b mov rcx, rsi; _Mtx_t ; +0x20, 0x180018240 call cs:_Mtx_lock ; +0x23, 0x180018243 test eax, eax ; +0x29, 0x180018249 jz short loc_180018257 ; +0x2b, 0x18001824b lea ecx, [rbx+5] ; +0x2d, 0x18001824d call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) ; +0x30, 0x180018250 int 3; Trap to Debugger ; +0x36, 0x180018256 mov eax, cs:dword_18004867C ; +0x37, 0x180018257 cmp eax, 7FFFFFFFh ; +0x3d, 0x18001825d jnz short loc_180018278 ; +0x42, 0x180018262 dec eax ; +0x44, 0x180018264 mov cs:dword_18004867C, eax ; +0x46, 0x180018266 mov ecx, 6 ; +0x4c, 0x18001826c call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) ; +0x51, 0x180018271 nop ; +0x57, 0x180018277 mov rcx, cs:qword_1800486C8 ; +0x58, 0x180018278 call cs:?count@CCArray@cocos2d@@QEBAIXZ; cocos2d::CCArray::count(void) ; +0x5f, 0x18001827f test eax, eax ; +0x65, 0x180018285 jz short loc_1800182B7 ; +0x67, 0x180018287 xor edx, edx ; +0x69, 0x180018289 mov rcx, cs:qword_1800486C8 ; +0x6b, 0x18001828b call cs:?objectAtIndex@CCArray@cocos2d@@QEAAPEAVCCObject@2@I@Z; cocos2d::CCArray::objectAtIndex(uint) ; +0x72, 0x180018292 mov rbx, rax ; +0x78, 0x180018298 mov rcx, rax ; +0x7b, 0x18001829b call cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x7e, 0x18001829e mov r8b, 1 ; +0x84, 0x1800182a4 xor edx, edx ; +0x87, 0x1800182a7 mov rcx, cs:qword_1800486C8 ; +0x89, 0x1800182a9 call cs:?removeObjectAtIndex@CCArray@cocos2d@@QEAAXI_N@Z; cocos2d::CCArray::removeObjectAtIndex(uint,bool) ; +0x90, 0x1800182b0 nop ; +0x96, 0x1800182b6 mov rcx, rsi; _Mtx_t ; +0x97, 0x1800182b7 call cs:_Mtx_unlock ; +0x9a, 0x1800182ba test rbx, rbx ; +0xa0, 0x1800182c0 jz short loc_1800182F8 ; +0xa3, 0x1800182c3 mov rax, [rbx+38h] ; +0xa5, 0x1800182c5 test rax, rax ; +0xa9, 0x1800182c9 jz short loc_1800182EF ; +0xac, 0x1800182cc mov rcx, [rax+98h] ; +0xae, 0x1800182ce mov r9, [rax+0A0h] ; +0xb5, 0x1800182d5 test rcx, rcx ; +0xbc, 0x1800182dc jz short loc_1800182EF ; +0xbf, 0x1800182df test r9, r9 ; +0xc1, 0x1800182e1 jz short loc_1800182EF ; +0xc4, 0x1800182e4 mov r8, rbx ; +0xc6, 0x1800182e6 mov rdx, rdi ; +0xc9, 0x1800182e9 call r9 ; +0xcc, 0x1800182ec mov rcx, rbx ; +0xcf, 0x1800182ef call cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0xd2, 0x1800182f2 mov rbx, [rsp+28h+arg_0] ; +0xd8, 0x1800182f8 mov rsi, [rsp+28h+arg_8] ; +0xdd, 0x1800182fd add rsp, 20h ; +0xe2, 0x180018302 pop rdi ; +0xe6, 0x180018306 retn ; +0xe7, 0x180018307