; ; sub_18001DA20 from 0x18001da20 to 0x18001db69 (329 bytes) ; ; 4 xrefs: ; > cocos2d::extension::CCTableView::operator= @ 0x18001cb1e ; > @ 0x18002f994 ; > @ 0x18002f9a4 ; > @ 0x18004b070 ; ; 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_8], rbx ; +0x0, 0x18001da20 mov [rsp+arg_10], rbp ; +0x5, 0x18001da25 push rdi ; +0xa, 0x18001da2a push r14 ; +0xb, 0x18001da2b push r15 ; +0xd, 0x18001da2d sub rsp, 20h ; +0xf, 0x18001da2f mov rdi, [rcx] ; +0x13, 0x18001da33 mov r14, rcx ; +0x16, 0x18001da36 mov rcx, [rcx+10h] ; +0x19, 0x18001da39 mov rbp, r8 ; +0x1d, 0x18001da3d sub rcx, rdi ; +0x20, 0x18001da40 mov r15, rdx ; +0x23, 0x18001da43 sar rcx, 2 ; +0x26, 0x18001da46 cmp r8, rcx ; +0x2a, 0x18001da4a jbe loc_18001DAF2 ; +0x2d, 0x18001da4d mov rbx, 3FFFFFFFFFFFFFFFh ; +0x33, 0x18001da53 cmp r8, rbx ; +0x3d, 0x18001da5d ja loc_18001DB63 ; +0x40, 0x18001da60 mov rdx, rcx ; +0x46, 0x18001da66 mov rax, rbx ; +0x49, 0x18001da69 shr rdx, 1 ; +0x4c, 0x18001da6c sub rax, rdx ; +0x4f, 0x18001da6f cmp rcx, rax ; +0x52, 0x18001da72 ja short loc_18001DA82 ; +0x55, 0x18001da75 lea rbx, [rdx+rcx] ; +0x57, 0x18001da77 cmp rbx, r8 ; +0x5b, 0x18001da7b cmovb rbx, r8 ; +0x5e, 0x18001da7e test rdi, rdi ; +0x62, 0x18001da82 jz short loc_18001DAC5 ; +0x65, 0x18001da85 lea rdx, ds:0[rcx*4] ; +0x67, 0x18001da87 cmp rdx, 1000h ; +0x6f, 0x18001da8f jb short loc_18001DAB0 ; +0x76, 0x18001da96 mov rcx, [rdi-8] ; +0x78, 0x18001da98 add rdx, 27h ; ''' ; +0x7c, 0x18001da9c sub rdi, rcx ; +0x80, 0x18001daa0 lea rax, [rdi-8] ; +0x83, 0x18001daa3 cmp rax, 1Fh ; +0x87, 0x18001daa7 ja short loc_18001DAEB ; +0x8b, 0x18001daab mov rdi, rcx ; +0x8d, 0x18001daad mov rcx, rdi; Block ; +0x90, 0x18001dab0 call j_j_free ; +0x93, 0x18001dab3 xor eax, eax ; +0x98, 0x18001dab8 mov [r14], rax ; +0x9a, 0x18001daba mov [r14+8], rax ; +0x9d, 0x18001dabd mov [r14+10h], rax ; +0xa1, 0x18001dac1 mov rdx, rbx ; +0xa5, 0x18001dac5 mov rcx, r14 ; +0xa8, 0x18001dac8 call sub_18001DE50 ; +0xab, 0x18001dacb mov rdi, [r14] ; +0xb0, 0x18001dad0 lea rbx, ds:0[rbp*4] ; +0xb3, 0x18001dad3 mov r8, rbx; Size ; +0xbb, 0x18001dadb mov rcx, rdi; void * ; +0xbe, 0x18001dade mov rdx, r15; Src ; +0xc1, 0x18001dae1 call memmove ; +0xc4, 0x18001dae4 jmp short loc_18001DB47 ; +0xc9, 0x18001dae9 call cs:_invalid_parameter_noinfo_noreturn ; +0xcb, 0x18001daeb align 2 ; +0xd1, 0x18001daf1 mov [rsp+38h+arg_0], rsi ; +0xd2, 0x18001daf2 mov rcx, rdi; void * ; +0xd7, 0x18001daf7 mov rsi, [r14+8] ; +0xda, 0x18001dafa sub rsi, rdi ; +0xde, 0x18001dafe sar rsi, 2 ; +0xe1, 0x18001db01 cmp rbp, rsi ; +0xe5, 0x18001db05 jbe short loc_18001DB32 ; +0xe8, 0x18001db08 lea rbx, ds:0[rsi*4] ; +0xea, 0x18001db0a mov r8, rbx; Size ; +0xf2, 0x18001db12 call memmove ; +0xf5, 0x18001db15 mov rdi, [r14+8] ; +0xfa, 0x18001db1a lea rdx, [rbx+r15]; Src ; +0xfe, 0x18001db1e sub rbp, rsi ; +0x102, 0x18001db22 mov rcx, rdi ; +0x105, 0x18001db25 lea rbx, ds:0[rbp*4] ; +0x108, 0x18001db28 jmp short loc_18001DB3A ; +0x110, 0x18001db30 lea rbx, ds:0[r8*4] ; +0x112, 0x18001db32 mov r8, rbx; Size ; +0x11a, 0x18001db3a call memmove ; +0x11d, 0x18001db3d mov rsi, [rsp+38h+arg_0] ; +0x122, 0x18001db42 mov rbp, [rsp+38h+arg_10] ; +0x127, 0x18001db47 lea rax, [rbx+rdi] ; +0x12c, 0x18001db4c mov rbx, [rsp+38h+arg_8] ; +0x130, 0x18001db50 mov [r14+8], rax ; +0x135, 0x18001db55 add rsp, 20h ; +0x139, 0x18001db59 pop r15 ; +0x13d, 0x18001db5d pop r14 ; +0x13f, 0x18001db5f pop rdi ; +0x141, 0x18001db61 retn ; +0x142, 0x18001db62 call sub_180003530 ; +0x143, 0x18001db63 db 0CCh ; +0x148, 0x18001db68