; ; cocos2d::extension::CCHttpClient::send from 0x180017a10 to 0x180017b9b (395 bytes) ; ; 2 xrefs: ; > @ 0x18002fdf8 ; > @ 0x18004aa94 ; ; 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 ; test rdx, rdx ; +0x0, 0x180017a10 jz locret_180017B9A ; +0x3, 0x180017a13 mov [rsp+arg_10], rbx ; +0x9, 0x180017a19 push rbp ; +0xe, 0x180017a1e push rsi ; +0xf, 0x180017a1f push rdi ; +0x10, 0x180017a20 sub rsp, 90h ; +0x11, 0x180017a21 mov rax, cs:__security_cookie ; +0x18, 0x180017a28 xor rax, rsp ; +0x1f, 0x180017a2f mov [rsp+0A8h+var_28], rax ; +0x22, 0x180017a32 mov rbx, rdx ; +0x2a, 0x180017a3a mov rsi, rcx ; +0x2d, 0x180017a3d mov rcx, rdx ; +0x30, 0x180017a40 call cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x33, 0x180017a43 lea rax, ??_7?$_Func_impl_no_alloc@V_lambda_ad044ab4199c6678eabf6fbd29b3d029_@@X$$V@std@@6B@; const std::_Func_impl_no_alloc<_lambda_ad044ab4199c6678eabf6fbd29b3d029_,void,>::`vftable' ; +0x39, 0x180017a49 mov [rsp+0A8h+var_68], rax ; +0x40, 0x180017a50 mov [rsp+0A8h+var_60], rbx ; +0x45, 0x180017a55 lea rax, [rsp+0A8h+var_68] ; +0x4a, 0x180017a5a mov [rsp+0A8h+var_30], rax ; +0x4f, 0x180017a5f mov rsi, [rsi+38h] ; +0x54, 0x180017a64 lea rdi, [rsi+40h] ; +0x58, 0x180017a68 mov [rsp+0A8h+var_88], rdi ; +0x5c, 0x180017a6c mov [rsp+0A8h+var_80], 0 ; +0x61, 0x180017a71 mov rcx, rdi; _Mtx_t ; +0x66, 0x180017a76 call cs:_Mtx_lock ; +0x69, 0x180017a79 test eax, eax ; +0x6f, 0x180017a7f jz short loc_180017A8F ; +0x71, 0x180017a81 mov ecx, 5 ; +0x73, 0x180017a83 call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) ; +0x78, 0x180017a88 int 3; Trap to Debugger ; +0x7e, 0x180017a8e mov eax, [rdi+4Ch] ; +0x7f, 0x180017a8f cmp eax, 7FFFFFFFh ; +0x82, 0x180017a92 jnz short loc_180017AAA ; +0x87, 0x180017a97 dec eax ; +0x89, 0x180017a99 mov [rdi+4Ch], eax ; +0x8b, 0x180017a9b mov ecx, 6 ; +0x8e, 0x180017a9e call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) ; +0x93, 0x180017aa3 int 3; Trap to Debugger ; +0x99, 0x180017aa9 mov [rsp+0A8h+var_80], 1 ; +0x9a, 0x180017aaa cmp byte ptr [rsi+0D8h], 0 ; +0x9f, 0x180017aaf jz short loc_180017AC6 ; +0xa6, 0x180017ab6 mov rcx, rdi; _Mtx_t ; +0xa8, 0x180017ab8 call cs:_Mtx_unlock ; +0xab, 0x180017abb jmp loc_180017B5D ; +0xb1, 0x180017ac1 mov rax, [rsi+38h] ; +0xb6, 0x180017ac6 inc rax ; +0xba, 0x180017aca cmp [rsi+28h], rax ; +0xbd, 0x180017acd ja short loc_180017ADC ; +0xc1, 0x180017ad1 lea rcx, [rsi+18h] ; +0xc3, 0x180017ad3 call sub_180018530 ; +0xc7, 0x180017ad7 mov r8, [rsi+28h] ; +0xcc, 0x180017adc dec r8 ; +0xd0, 0x180017ae0 and [rsi+30h], r8 ; +0xd3, 0x180017ae3 mov rdx, [rsi+30h] ; +0xd7, 0x180017ae7 add rdx, [rsi+38h] ; +0xdb, 0x180017aeb and r8, rdx ; +0xdf, 0x180017aef lea rbp, ds:0[r8*8] ; +0xe2, 0x180017af2 mov rax, [rsi+20h] ; +0xea, 0x180017afa cmp qword ptr [rax+rbp], 0 ; +0xee, 0x180017afe jnz short loc_180017B17 ; +0xf3, 0x180017b03 mov ecx, 40h ; '@'; Size ; +0xf5, 0x180017b05 call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0xfa, 0x180017b0a mov rcx, [rsi+20h] ; +0xff, 0x180017b0f mov [rcx+rbp], rax ; +0x103, 0x180017b13 mov rax, [rsi+20h] ; +0x107, 0x180017b17 mov rbp, [rax+rbp] ; +0x10b, 0x180017b1b mov [rsp+0A8h+var_78], rbp ; +0x10f, 0x180017b1f mov qword ptr [rbp+38h], 0 ; +0x114, 0x180017b24 mov rcx, [rsp+0A8h+var_30] ; +0x11c, 0x180017b2c test rcx, rcx ; +0x121, 0x180017b31 jz short loc_180017B42 ; +0x124, 0x180017b34 mov rax, [rcx] ; +0x126, 0x180017b36 mov rdx, rbp ; +0x129, 0x180017b39 call qword ptr [rax] ; +0x12c, 0x180017b3c mov [rbp+38h], rax ; +0x12e, 0x180017b3e inc qword ptr [rsi+38h] ; +0x132, 0x180017b42 mov rcx, rdi; _Mtx_t ; +0x136, 0x180017b46 call cs:_Mtx_unlock ; +0x139, 0x180017b49 lea rcx, [rsi+90h]; _Cnd_t ; +0x13f, 0x180017b4f call cs:_Cnd_signal ; +0x146, 0x180017b56 nop ; +0x14c, 0x180017b5c mov rcx, [rsp+0A8h+var_30] ; +0x14d, 0x180017b5d test rcx, rcx ; +0x152, 0x180017b62 jz short loc_180017B78 ; +0x155, 0x180017b65 mov rax, [rcx] ; +0x157, 0x180017b67 lea rdx, [rsp+0A8h+var_68] ; +0x15a, 0x180017b6a cmp rcx, rdx ; +0x15f, 0x180017b6f setnz dl ; +0x162, 0x180017b72 call qword ptr [rax+20h] ; +0x165, 0x180017b75 mov rcx, [rsp+0A8h+var_28] ; +0x168, 0x180017b78 xor rcx, rsp; StackCookie ; +0x170, 0x180017b80 call __security_check_cookie ; +0x173, 0x180017b83 mov rbx, [rsp+0A8h+arg_10] ; +0x178, 0x180017b88 add rsp, 90h ; +0x180, 0x180017b90 pop rdi ; +0x187, 0x180017b97 pop rsi ; +0x188, 0x180017b98 pop rbp ; +0x189, 0x180017b99 retn ; +0x18a, 0x180017b9a