; ; sub_180018D70 from 0x180018d70 to 0x180018ea2 (306 bytes) ; ; 8 xrefs: ; > sub_180017BA0 @ 0x18001805e ; > sub_180017BA0 @ 0x180018075 ; > cocos2d::extension::CCHttpResponse::setResponseData @ 0x180018ce4 ; > cocos2d::extension::CCHttpResponse::setResponseHeader @ 0x180018eb4 ; > cocos2d::extension::CCHttpRequest::operator= @ 0x18001d567 ; > cocos2d::extension::CCHttpResponse::operator= @ 0x18001d80d ; > cocos2d::extension::CCHttpResponse::operator= @ 0x18001d81a ; > @ 0x18004ab9c ; ; 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, 0x180018d70 mov [rsp+arg_8], rbp ; +0x5, 0x180018d75 mov [rsp+arg_10], rsi ; +0xa, 0x180018d7a mov [rsp+arg_18], rdi ; +0xf, 0x180018d7f push r14 ; +0x14, 0x180018d84 sub rsp, 20h ; +0x16, 0x180018d86 mov rdi, rcx ; +0x1a, 0x180018d8a cmp rcx, rdx ; +0x1d, 0x180018d8d jz loc_180018E41 ; +0x20, 0x180018d90 mov r14, [rdx] ; +0x26, 0x180018d96 mov rsi, [rdx+8] ; +0x29, 0x180018d99 mov rdx, [rcx+10h] ; +0x2d, 0x180018d9d sub rsi, r14 ; +0x31, 0x180018da1 mov rbx, [rcx] ; +0x34, 0x180018da4 sub rdx, rbx ; +0x37, 0x180018da7 cmp rsi, rdx ; +0x3a, 0x180018daa jbe loc_180018E66 ; +0x3d, 0x180018dad mov rbp, 7FFFFFFFFFFFFFFFh ; +0x43, 0x180018db3 cmp rsi, rbp ; +0x4d, 0x180018dbd ja loc_180018E9C ; +0x50, 0x180018dc0 mov rcx, rdx ; +0x56, 0x180018dc6 mov rax, rbp ; +0x59, 0x180018dc9 shr rcx, 1 ; +0x5c, 0x180018dcc sub rax, rcx ; +0x5f, 0x180018dcf cmp rdx, rax ; +0x62, 0x180018dd2 ja short loc_180018DE2 ; +0x65, 0x180018dd5 lea rbp, [rcx+rdx] ; +0x67, 0x180018dd7 cmp rbp, rsi ; +0x6b, 0x180018ddb cmovb rbp, rsi ; +0x6e, 0x180018dde test rbx, rbx ; +0x72, 0x180018de2 jz short loc_180018E1D ; +0x75, 0x180018de5 cmp rdx, 1000h ; +0x77, 0x180018de7 jb short loc_180018E08 ; +0x7e, 0x180018dee mov rcx, [rbx-8] ; +0x80, 0x180018df0 add rdx, 27h ; ''' ; +0x84, 0x180018df4 sub rbx, rcx ; +0x88, 0x180018df8 lea rax, [rbx-8] ; +0x8b, 0x180018dfb cmp rax, 1Fh ; +0x8f, 0x180018dff ja short loc_180018E5F ; +0x93, 0x180018e03 mov rbx, rcx ; +0x95, 0x180018e05 mov rcx, rbx; Block ; +0x98, 0x180018e08 call j_j_free ; +0x9b, 0x180018e0b xor eax, eax ; +0xa0, 0x180018e10 mov [rdi], rax ; +0xa2, 0x180018e12 mov [rdi+8], rax ; +0xa5, 0x180018e15 mov [rdi+10h], rax ; +0xa9, 0x180018e19 mov rdx, rbp ; +0xad, 0x180018e1d mov rcx, rdi ; +0xb0, 0x180018e20 call sub_180018CF0 ; +0xb3, 0x180018e23 mov rbx, [rdi] ; +0xb8, 0x180018e28 mov r8, rsi; Size ; +0xbb, 0x180018e2b mov rdx, r14; Src ; +0xbe, 0x180018e2e mov rcx, rbx; void * ; +0xc1, 0x180018e31 call memmove ; +0xc4, 0x180018e34 lea rax, [rbx+rsi] ; +0xc9, 0x180018e39 mov [rdi+8], rax ; +0xcd, 0x180018e3d mov rbx, [rsp+28h+arg_0] ; +0xd1, 0x180018e41 mov rax, rdi ; +0xd6, 0x180018e46 mov rdi, [rsp+28h+arg_18] ; +0xd9, 0x180018e49 mov rbp, [rsp+28h+arg_8] ; +0xde, 0x180018e4e mov rsi, [rsp+28h+arg_10] ; +0xe3, 0x180018e53 add rsp, 20h ; +0xe8, 0x180018e58 pop r14 ; +0xec, 0x180018e5c retn ; +0xee, 0x180018e5e call cs:_invalid_parameter_noinfo_noreturn ; +0xef, 0x180018e5f align 2 ; +0xf5, 0x180018e65 mov rbp, [rcx+8] ; +0xf6, 0x180018e66 sub rbp, rbx ; +0xfa, 0x180018e6a cmp rsi, rbp ; +0xfd, 0x180018e6d jbe short loc_180018E2B ; +0x100, 0x180018e70 mov r8, rbp; Size ; +0x102, 0x180018e72 mov rdx, r14; Src ; +0x105, 0x180018e75 mov rcx, rbx; void * ; +0x108, 0x180018e78 call memmove ; +0x10b, 0x180018e7b mov rbx, [rdi+8] ; +0x110, 0x180018e80 lea rdx, [r14+rbp]; Src ; +0x114, 0x180018e84 sub rsi, rbp ; +0x118, 0x180018e88 mov rcx, rbx; void * ; +0x11b, 0x180018e8b mov r8, rsi; Size ; +0x11e, 0x180018e8e call memmove ; +0x121, 0x180018e91 lea rax, [rsi+rbx] ; +0x126, 0x180018e96 jmp short loc_180018E3D ; +0x12a, 0x180018e9a call sub_180003530 ; +0x12c, 0x180018e9c db 0CCh ; +0x131, 0x180018ea1