; ; sub_180018730 from 0x180018730 to 0x1800189c8 (664 bytes) ; ; 2 xrefs: ; > cocos2d::extension::CCHttpClient::CCHttpClient @ 0x1800176ac ; > @ 0x18004ab48 ; ; 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_10], r8 ; +0x0, 0x180018730 push rbx ; +0x5, 0x180018735 push rsi ; +0x6, 0x180018736 push rdi ; +0x7, 0x180018737 push r12 ; +0x8, 0x180018738 push r13 ; +0xa, 0x18001873a push r14 ; +0xc, 0x18001873c push r15 ; +0xe, 0x18001873e sub rsp, 50h ; +0x10, 0x180018740 mov rbx, rdx ; +0x14, 0x180018744 mov rsi, rcx ; +0x17, 0x180018747 mov rdx, [rcx] ; +0x1a, 0x18001874a mov r15, rbx ; +0x1d, 0x18001874d sub r15, rdx ; +0x20, 0x180018750 mov rax, [rcx+8] ; +0x23, 0x180018753 sub rax, rdx ; +0x27, 0x180018757 sar rax, 4 ; +0x2a, 0x18001875a mov r8, 0FFFFFFFFFFFFFFFh ; +0x2e, 0x18001875e cmp rax, r8 ; +0x38, 0x180018768 jz loc_1800189C2 ; +0x3b, 0x18001876b lea r13, [rax+1] ; +0x41, 0x180018771 mov rcx, [rcx+10h] ; +0x45, 0x180018775 sub rcx, rdx ; +0x49, 0x180018779 sar rcx, 4 ; +0x4c, 0x18001877c mov rdx, rcx ; +0x50, 0x180018780 shr rdx, 1 ; +0x53, 0x180018783 mov rax, r8 ; +0x56, 0x180018786 sub rax, rdx ; +0x59, 0x180018789 cmp rcx, rax ; +0x5c, 0x18001878c ja loc_1800189BC ; +0x5f, 0x18001878f lea rax, [rdx+rcx] ; +0x65, 0x180018795 mov r14, r13 ; +0x69, 0x180018799 cmp rax, r13 ; +0x6c, 0x18001879c cmovnb r14, rax ; +0x6f, 0x18001879f cmp r14, r8 ; +0x73, 0x1800187a3 ja loc_1800189BC ; +0x76, 0x1800187a6 mov r12, r14 ; +0x7c, 0x1800187ac shl r12, 4 ; +0x7f, 0x1800187af mov [rsp+88h+arg_8], r14 ; +0x83, 0x1800187b3 cmp r12, 1000h ; +0x8b, 0x1800187bb jb short loc_1800187EE ; +0x92, 0x1800187c2 lea rcx, [r12+27h]; Size ; +0x94, 0x1800187c4 cmp rcx, r12 ; +0x99, 0x1800187c9 jbe loc_1800189BC ; +0x9c, 0x1800187cc call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0xa2, 0x1800187d2 test rax, rax ; +0xa7, 0x1800187d7 jz loc_1800189A2 ; +0xaa, 0x1800187da lea rdi, [rax+27h] ; +0xb0, 0x1800187e0 and rdi, 0FFFFFFFFFFFFFFE0h ; +0xb4, 0x1800187e4 mov [rdi-8], rax ; +0xb8, 0x1800187e8 jmp short loc_18001881A ; +0xbc, 0x1800187ec test r12, r12 ; +0xbe, 0x1800187ee jz short loc_180018810 ; +0xc1, 0x1800187f1 mov rcx, r12; Size ; +0xc3, 0x1800187f3 call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0xc6, 0x1800187f6 mov rdi, rax ; +0xcb, 0x1800187fb mov [rsp+88h+arg_18], rax ; +0xce, 0x1800187fe mov [rsp+88h+arg_8], r14 ; +0xd6, 0x180018806 jmp short loc_180018822 ; +0xde, 0x18001880e xor edi, edi ; +0xe0, 0x180018810 mov [rsp+88h+arg_8], r14 ; +0xe2, 0x180018812 mov [rsp+88h+arg_18], rdi ; +0xea, 0x18001881a and r15, 0FFFFFFFFFFFFFFF0h ; +0xf2, 0x180018822 add r15, rdi ; +0xf6, 0x180018826 mov [rsp+88h+var_58], r15 ; +0xf9, 0x180018829 lea r14, [r15+10h] ; +0xfe, 0x18001882e mov [rsp+88h+var_50], r14 ; +0x102, 0x180018832 mov [rsp+88h+arg_0], r14 ; +0x107, 0x180018837 mov ecx, 8; Size ; +0x10f, 0x18001883f call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0x114, 0x180018844 mov r9, rax; ArgList ; +0x119, 0x180018849 mov rax, [rsp+88h+arg_10] ; +0x11c, 0x18001884c mov rax, [rax] ; +0x124, 0x180018854 mov [r9], rax ; +0x127, 0x180018857 mov [rsp+88h+var_48], r9 ; +0x12a, 0x18001885a add r15, 8 ; +0x12f, 0x18001885f mov [rsp+88h+ThrdAddr], r15; ThrdAddr ; +0x133, 0x180018863 mov [rsp+88h+InitFlag], 0; InitFlag ; +0x138, 0x180018868 lea r8, StartAddress; StartAddress ; +0x140, 0x180018870 xor edx, edx; StackSize ; +0x147, 0x180018877 xor ecx, ecx; Security ; +0x149, 0x180018879 call cs:_beginthreadex ; +0x14b, 0x18001887b mov rcx, [rsp+88h+var_58] ; +0x151, 0x180018881 mov [rcx], rax ; +0x156, 0x180018886 test rax, rax ; +0x159, 0x180018889 jz loc_1800189A9 ; +0x15c, 0x18001888c mov [rsp+88h+arg_0], rcx ; +0x162, 0x180018892 mov rdx, [rsi+8] ; +0x16a, 0x18001889a mov rax, [rsi] ; +0x16e, 0x18001889e mov rcx, rdi ; +0x171, 0x1800188a1 cmp rbx, rdx ; +0x174, 0x1800188a4 jnz short loc_1800188CB ; +0x177, 0x1800188a7 cmp rax, rdx ; +0x179, 0x1800188a9 jz short loc_180018917 ; +0x17c, 0x1800188ac xchg ax, ax ; +0x17e, 0x1800188ae xorps xmm0, xmm0 ; +0x180, 0x1800188b0 movups xmm1, xmmword ptr [rax] ; +0x183, 0x1800188b3 movups xmmword ptr [rax], xmm0 ; +0x186, 0x1800188b6 movups xmmword ptr [rcx], xmm1 ; +0x189, 0x1800188b9 lea rcx, [rcx+10h] ; +0x18c, 0x1800188bc add rax, 10h ; +0x190, 0x1800188c0 cmp rax, rdx ; +0x194, 0x1800188c4 jnz short loc_1800188B0 ; +0x197, 0x1800188c7 jmp short loc_180018917 ; +0x199, 0x1800188c9 cmp rax, rbx ; +0x19b, 0x1800188cb jz short loc_1800188E9 ; +0x19e, 0x1800188ce xorps xmm0, xmm0 ; +0x1a0, 0x1800188d0 movups xmm1, xmmword ptr [rax] ; +0x1a3, 0x1800188d3 movups xmmword ptr [rax], xmm0 ; +0x1a6, 0x1800188d6 movups xmmword ptr [rcx], xmm1 ; +0x1a9, 0x1800188d9 lea rcx, [rcx+10h] ; +0x1ac, 0x1800188dc add rax, 10h ; +0x1b0, 0x1800188e0 cmp rax, rbx ; +0x1b4, 0x1800188e4 jnz short loc_1800188D0 ; +0x1b7, 0x1800188e7 mov [rsp+88h+arg_0], rdi ; +0x1b9, 0x1800188e9 mov rax, [rsi+8] ; +0x1c1, 0x1800188f1 cmp rbx, rax ; +0x1c5, 0x1800188f5 jz short loc_180018917 ; +0x1c8, 0x1800188f8 sub r14, rbx ; +0x1ca, 0x1800188fa nop dword ptr [rax] ; +0x1cd, 0x1800188fd xorps xmm0, xmm0 ; +0x1d0, 0x180018900 movups xmm1, xmmword ptr [rbx] ; +0x1d3, 0x180018903 movups xmmword ptr [rbx], xmm0 ; +0x1d6, 0x180018906 movups xmmword ptr [rbx+r14], xmm1 ; +0x1d9, 0x180018909 add rbx, 10h ; +0x1de, 0x18001890e cmp rbx, rax ; +0x1e2, 0x180018912 jnz short loc_180018900 ; +0x1e5, 0x180018915 mov rcx, [rsi] ; +0x1e7, 0x180018917 test rcx, rcx ; +0x1ea, 0x18001891a jz short loc_180018970 ; +0x1ed, 0x18001891d mov rdx, [rsi+8] ; +0x1ef, 0x18001891f mov rax, rcx ; +0x1f3, 0x180018923 cmp rcx, rdx ; +0x1f6, 0x180018926 jz short loc_18001893F ; +0x1f9, 0x180018929 nop dword ptr [rax+rax+00h] ; +0x1fb, 0x18001892b cmp dword ptr [rax+8], 0 ; +0x200, 0x180018930 jnz short loc_18001899B ; +0x204, 0x180018934 add rax, 10h ; +0x206, 0x180018936 cmp rax, rdx ; +0x20a, 0x18001893a jnz short loc_180018930 ; +0x20d, 0x18001893d mov rdx, [rsi+10h] ; +0x20f, 0x18001893f sub rdx, rcx ; +0x213, 0x180018943 and rdx, 0FFFFFFFFFFFFFFF0h ; +0x216, 0x180018946 cmp rdx, 1000h ; +0x21a, 0x18001894a jb short loc_18001896B ; +0x221, 0x180018951 add rdx, 27h ; ''' ; +0x223, 0x180018953 mov r8, [rcx-8] ; +0x227, 0x180018957 sub rcx, r8 ; +0x22b, 0x18001895b lea rax, [rcx-8] ; +0x22e, 0x18001895e cmp rax, 1Fh ; +0x232, 0x180018962 ja short loc_1800189A2 ; +0x236, 0x180018966 mov rcx, r8; Block ; +0x238, 0x180018968 call j_j_free ; +0x23b, 0x18001896b mov [rsi], rdi ; +0x240, 0x180018970 shl r13, 4 ; +0x243, 0x180018973 add r13, rdi ; +0x247, 0x180018977 mov [rsi+8], r13 ; +0x24a, 0x18001897a lea rcx, [r12+rdi] ; +0x24e, 0x18001897e mov [rsi+10h], rcx ; +0x252, 0x180018982 mov rax, [rsp+88h+var_58] ; +0x256, 0x180018986 add rsp, 50h ; +0x25b, 0x18001898b pop r15 ; +0x25f, 0x18001898f pop r14 ; +0x261, 0x180018991 pop r13 ; +0x263, 0x180018993 pop r12 ; +0x265, 0x180018995 pop rdi ; +0x267, 0x180018997 pop rsi ; +0x268, 0x180018998 pop rbx ; +0x269, 0x180018999 retn ; +0x26a, 0x18001899a call cs:__imp_terminate ; +0x26b, 0x18001899b align 2 ; +0x271, 0x1800189a1 call cs:_invalid_parameter_noinfo_noreturn ; +0x272, 0x1800189a2 db 90h ; +0x278, 0x1800189a8 mov dword ptr [r15], 0 ; +0x279, 0x1800189a9 mov ecx, 6 ; +0x280, 0x1800189b0 call cs:?_Throw_Cpp_error@std@@YAXH@Z; std::_Throw_Cpp_error(int) ; +0x285, 0x1800189b5 nop ; +0x28b, 0x1800189bb call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) ; +0x28c, 0x1800189bc align 2 ; +0x291, 0x1800189c1 call sub_180003530 ; +0x292, 0x1800189c2 db 0CCh ; +0x297, 0x1800189c7