; ; sub_180018530 from 0x180018530 to 0x18001870a (474 bytes) ; ; 5 xrefs: ; > cocos2d::extension::CCHttpClient::send @ 0x180017ad7 ; > @ 0x18002f29c ; > @ 0x18002f2e0 ; > @ 0x18002f2f0 ; > @ 0x18004aaf4 ; ; 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 ; push rbx ; +0x0, 0x180018530 push rbp ; +0x2, 0x180018532 sub rsp, 28h ; +0x3, 0x180018533 mov rbp, rcx ; +0x7, 0x180018537 mov ebx, 1 ; +0xa, 0x18001853a mov rcx, [rcx+10h] ; +0xf, 0x18001853f mov rdx, 3FFFFFFFFFFFFFFh ; +0x13, 0x180018543 test rcx, rcx ; +0x1d, 0x18001854d cmovnz rbx, rcx ; +0x20, 0x180018550 mov rax, rbx ; +0x24, 0x180018554 sub rax, rcx ; +0x27, 0x180018557 cmp rax, 1 ; +0x2a, 0x18001855a jb short loc_180018566 ; +0x2e, 0x18001855e cmp rbx, 8 ; +0x30, 0x180018560 jnb short loc_18001857A ; +0x34, 0x180018564 mov rax, rdx ; +0x36, 0x180018566 sub rax, rbx ; +0x39, 0x180018569 cmp rax, rbx ; +0x3c, 0x18001856c jb loc_180018704 ; +0x3f, 0x18001856f add rbx, rbx ; +0x45, 0x180018575 jmp short loc_180018554 ; +0x48, 0x180018578 mov [rsp+38h+arg_10], r12 ; +0x4a, 0x18001857a mov rax, 1FFFFFFFFFFFFFFFh ; +0x4f, 0x18001857f mov r12, [rbp+18h] ; +0x59, 0x180018589 mov [rsp+38h+arg_18], r14 ; +0x5d, 0x18001858d cmp rbx, rax ; +0x62, 0x180018592 ja loc_1800186FE ; +0x65, 0x180018595 lea rcx, ds:0[rbx*8]; Size ; +0x6b, 0x18001859b cmp rcx, 1000h ; +0x73, 0x1800185a3 jb short loc_1800185D8 ; +0x7a, 0x1800185aa lea rax, [rcx+27h] ; +0x7c, 0x1800185ac cmp rax, rcx ; +0x80, 0x1800185b0 jbe loc_1800186FE ; +0x83, 0x1800185b3 mov rcx, rax; Size ; +0x89, 0x1800185b9 call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0x8c, 0x1800185bc test rax, rax ; +0x91, 0x1800185c1 jz loc_1800186F7 ; +0x94, 0x1800185c4 lea r14, [rax+27h] ; +0x9a, 0x1800185ca and r14, 0FFFFFFFFFFFFFFE0h ; +0x9e, 0x1800185ce mov [r14-8], rax ; +0xa2, 0x1800185d2 jmp short loc_1800185EA ; +0xa6, 0x1800185d6 test rcx, rcx ; +0xa8, 0x1800185d8 jz short loc_1800185E7 ; +0xab, 0x1800185db call ??2@YAPEAX_K@Z; operator new(unsigned __int64) ; +0xad, 0x1800185dd mov r14, rax ; +0xb2, 0x1800185e2 jmp short loc_1800185EA ; +0xb5, 0x1800185e5 xor r14d, r14d ; +0xb7, 0x1800185e7 mov rax, [rbp+8] ; +0xba, 0x1800185ea mov [rsp+38h+arg_0], rsi ; +0xbe, 0x1800185ee mov [rsp+38h+arg_8], rdi ; +0xc3, 0x1800185f3 mov rdi, [rbp+10h] ; +0xc8, 0x1800185f8 sub rbx, rdi ; +0xcc, 0x1800185fc mov [rsp+38h+var_18], r15 ; +0xcf, 0x1800185ff lea r15, ds:0[r12*8] ; +0xd4, 0x180018604 lea rdx, [rax+r15]; Src ; +0xdc, 0x18001860c lea rdi, ds:0[rdi*8] ; +0xe0, 0x180018610 sub rdi, rdx ; +0xe8, 0x180018618 lea rsi, [r15+r14] ; +0xeb, 0x18001861b add rdi, rax ; +0xef, 0x18001861f mov rcx, rsi; void * ; +0xf2, 0x180018622 mov r8, rdi; Size ; +0xf5, 0x180018625 call memmove ; +0xf8, 0x180018628 mov rdx, [rbp+8]; Src ; +0xfd, 0x18001862d add rdi, rsi ; +0x101, 0x180018631 mov rcx, rdi; void * ; +0x104, 0x180018634 cmp r12, rbx ; +0x107, 0x180018637 ja short loc_180018661 ; +0x10a, 0x18001863a mov r8, r15; Size ; +0x10c, 0x18001863c call memmove ; +0x10f, 0x18001863f mov r8, rbx ; +0x114, 0x180018644 lea rcx, [r15+rdi]; void * ; +0x117, 0x180018647 sub r8, r12 ; +0x11b, 0x18001864b xor edx, edx; Val ; +0x11e, 0x18001864e shl r8, 3; Size ; +0x120, 0x180018650 call memset ; +0x124, 0x180018654 mov r8, r15 ; +0x129, 0x180018659 mov rcx, r14 ; +0x12c, 0x18001865c jmp short loc_180018691 ; +0x12f, 0x18001865f lea rsi, ds:0[rbx*8] ; +0x131, 0x180018661 mov r8, rsi; Size ; +0x139, 0x180018669 call memmove ; +0x13c, 0x18001866c mov rdi, [rbp+8] ; +0x141, 0x180018671 mov rcx, r14; void * ; +0x145, 0x180018675 lea rdx, [rsi+rdi]; Src ; +0x148, 0x180018678 sub rdi, rdx ; +0x14c, 0x18001867c add rdi, r15 ; +0x14f, 0x18001867f mov r8, rdi; Size ; +0x152, 0x180018682 call memmove ; +0x155, 0x180018685 lea rcx, [rdi+r14]; void * ; +0x15a, 0x18001868a mov r8, rsi; Size ; +0x15e, 0x18001868e xor edx, edx; Val ; +0x161, 0x180018691 call memset ; +0x163, 0x180018693 mov rcx, [rbp+8] ; +0x168, 0x180018698 mov r15, [rsp+38h+var_18] ; +0x16c, 0x18001869c mov rdi, [rsp+38h+arg_8] ; +0x171, 0x1800186a1 mov rsi, [rsp+38h+arg_0] ; +0x176, 0x1800186a6 test rcx, rcx ; +0x17b, 0x1800186ab jz short loc_1800186DE ; +0x17e, 0x1800186ae mov rdx, [rbp+10h] ; +0x180, 0x1800186b0 shl rdx, 3 ; +0x184, 0x1800186b4 cmp rdx, 1000h ; +0x188, 0x1800186b8 jb short loc_1800186D9 ; +0x18f, 0x1800186bf mov r8, [rcx-8] ; +0x191, 0x1800186c1 add rdx, 27h ; ''' ; +0x195, 0x1800186c5 sub rcx, r8 ; +0x199, 0x1800186c9 lea rax, [rcx-8] ; +0x19c, 0x1800186cc cmp rax, 1Fh ; +0x1a0, 0x1800186d0 ja short loc_1800186F7 ; +0x1a4, 0x1800186d4 mov rcx, r8; Block ; +0x1a6, 0x1800186d6 call j_j_free ; +0x1a9, 0x1800186d9 add [rbp+10h], rbx ; +0x1ae, 0x1800186de mov r12, [rsp+38h+arg_10] ; +0x1b2, 0x1800186e2 mov [rbp+8], r14 ; +0x1b7, 0x1800186e7 mov r14, [rsp+38h+arg_18] ; +0x1bb, 0x1800186eb add rsp, 28h ; +0x1c0, 0x1800186f0 pop rbp ; +0x1c4, 0x1800186f4 pop rbx ; +0x1c5, 0x1800186f5 retn ; +0x1c6, 0x1800186f6 call cs:_invalid_parameter_noinfo_noreturn ; +0x1c7, 0x1800186f7 align 2 ; +0x1cd, 0x1800186fd call ?cancel_current_task@Concurrency@@YAXXZ; Concurrency::cancel_current_task(void) ; +0x1ce, 0x1800186fe align 4 ; +0x1d3, 0x180018703 call sub_180018710 ; +0x1d4, 0x180018704 db 0CCh ; +0x1d9, 0x180018709