; ; cocos2d::extension::CCTableView::insertCellAtIndex from 0x180015390 to 0x180015556 (454 bytes) ; ; 4 xrefs: ; > @ 0x18002edec ; > @ 0x18002ee2c ; > @ 0x18002fdf8 ; > @ 0x18004a788 ; ; 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 ; cmp edx, 0FFFFFFFFh ; +0x0, 0x180015390 jz locret_180015555 ; +0x3, 0x180015393 push rdi ; +0x9, 0x180015399 push r12 ; +0xa, 0x18001539a sub rsp, 48h ; +0xc, 0x18001539c mov rdi, rcx ; +0x10, 0x1800153a0 mov r12d, edx ; +0x13, 0x1800153a3 mov rcx, [rcx+280h] ; +0x16, 0x1800153a6 mov rdx, rdi ; +0x1d, 0x1800153ad mov rax, [rcx] ; +0x20, 0x1800153b0 call qword ptr [rax+20h] ; +0x23, 0x1800153b3 test eax, eax ; +0x26, 0x1800153b6 jz loc_18001554E ; +0x28, 0x1800153b8 dec eax ; +0x2e, 0x1800153be cmp r12d, eax ; +0x30, 0x1800153c0 ja loc_18001554E ; +0x33, 0x1800153c3 mov rcx, [rdi+270h]; this ; +0x39, 0x1800153c9 mov edx, r12d; unsigned int ; +0x40, 0x1800153d0 mov [rsp+58h+arg_0], rbx ; +0x43, 0x1800153d3 mov [rsp+58h+var_18], r13 ; +0x48, 0x1800153d8 call ?objectWithObjectID@CCArrayForObjectSorting@extension@cocos2d@@QEAAPEAVCCSortableObject@23@I@Z; cocos2d::extension::CCArrayForObjectSorting::objectWithObjectID(uint) ; +0x4d, 0x1800153dd xor r13d, r13d ; +0x52, 0x1800153e2 test rax, rax ; +0x55, 0x1800153e5 lea rcx, [rax-140h] ; +0x58, 0x1800153e8 cmovz rcx, r13 ; +0x5f, 0x1800153ef test rcx, rcx ; +0x63, 0x1800153f3 jz loc_180015505 ; +0x66, 0x1800153f6 mov [rsp+58h+arg_10], rsi ; +0x6c, 0x1800153fc mov ebx, r13d ; +0x71, 0x180015401 mov rsi, [rdi+270h] ; +0x74, 0x180015404 mov [rsp+58h+arg_8], rbp ; +0x7b, 0x18001540b mov [rsp+58h+var_20], r14 ; +0x80, 0x180015410 mov [rsp+58h+var_28], r15 ; +0x85, 0x180015415 add rcx, 140h ; +0x8a, 0x18001541a jz short loc_180015498 ; +0x91, 0x180015421 mov rax, [rcx] ; +0x93, 0x180015423 mov r14d, r13d ; +0x96, 0x180015426 call qword ptr [rax+10h] ; +0x99, 0x180015429 mov ebp, eax ; +0x9c, 0x18001542c test rsi, rsi ; +0x9e, 0x18001542e jz short loc_18001549D ; +0xa1, 0x180015431 mov rsi, [rsi+38h] ; +0xa3, 0x180015433 mov eax, [rsi] ; +0xa7, 0x180015437 test eax, eax ; +0xa9, 0x180015439 jz short loc_18001549D ; +0xab, 0x18001543b mov rsi, [rsi+10h] ; +0xad, 0x18001543d lea r15, [rax-1] ; +0xb1, 0x180015441 lea r15, [rsi+r15*8] ; +0xb5, 0x180015445 cmp rsi, r15 ; +0xb9, 0x180015449 ja short loc_18001549D ; +0xbc, 0x18001544c xchg ax, ax ; +0xbe, 0x18001544e mov rcx, [rsi] ; +0xc0, 0x180015450 test rcx, rcx ; +0xc3, 0x180015453 jz short loc_18001549D ; +0xc6, 0x180015456 lea r9, ??_R0?AVCCSortableObject@extension@cocos2d@@@8; cocos2d::extension::CCSortableObject `RTTI Type Descriptor' ; +0xc8, 0x180015458 mov [rsp+58h+var_38], r13d ; +0xcf, 0x18001545f lea r8, ??_R0?AVCCObject@cocos2d@@@8; cocos2d::CCObject `RTTI Type Descriptor' ; +0xd4, 0x180015464 xor edx, edx ; +0xdb, 0x18001546b call __RTDynamicCast ; +0xdd, 0x18001546d mov rcx, rax ; +0xe2, 0x180015472 mov rdx, [rax] ; +0xe5, 0x180015475 call qword ptr [rdx+10h] ; +0xe8, 0x180015478 cmp ebp, eax ; +0xeb, 0x18001547b jz short loc_18001549D ; +0xed, 0x18001547d cmp ebp, r14d ; +0xef, 0x18001547f jb short loc_180015488 ; +0xf2, 0x180015482 cmp ebp, eax ; +0xf4, 0x180015484 jb short loc_18001549D ; +0xf6, 0x180015486 inc ebx ; +0xf8, 0x180015488 add rsi, 8 ; +0xfa, 0x18001548a mov r14d, eax ; +0xfe, 0x18001548e cmp rsi, r15 ; +0x101, 0x180015491 jbe short loc_180015450 ; +0x104, 0x180015494 jmp short loc_18001549D ; +0x106, 0x180015496 mov ebx, 0FFFFFFFFh ; +0x108, 0x180015498 mov rcx, [rdi+270h] ; +0x10d, 0x18001549d call cs:?count@CCArray@cocos2d@@QEBAIXZ; cocos2d::CCArray::count(void) ; +0x114, 0x1800154a4 mov r15, [rsp+58h+var_28] ; +0x11a, 0x1800154aa mov r14, [rsp+58h+var_20] ; +0x11f, 0x1800154af mov rsi, [rsp+58h+arg_10] ; +0x124, 0x1800154b4 mov rbp, [rsp+58h+arg_8] ; +0x129, 0x1800154b9 cmp ebx, eax ; +0x12e, 0x1800154be jnb short loc_180015505 ; +0x130, 0x1800154c0 nop dword ptr [rax+00h] ; +0x132, 0x1800154c2 nop word ptr [rax+rax+00000000h] ; +0x136, 0x1800154c6 mov rcx, [rdi+270h] ; +0x140, 0x1800154d0 mov edx, ebx ; +0x147, 0x1800154d7 call cs:?objectAtIndex@CCArray@cocos2d@@QEAAPEAVCCObject@2@I@Z; cocos2d::CCArray::objectAtIndex(uint) ; +0x149, 0x1800154d9 mov r8, rax; struct cocos2d::extension::CCTableViewCell * ; +0x14f, 0x1800154df mov rcx, rdi; this ; +0x152, 0x1800154e2 mov edx, [rax+148h] ; +0x155, 0x1800154e5 inc edx; unsigned int ; +0x15b, 0x1800154eb call ?_setIndexForCell@CCTableView@extension@cocos2d@@IEAAXIPEAVCCTableViewCell@23@@Z; cocos2d::extension::CCTableView::_setIndexForCell(uint,cocos2d::extension::CCTableViewCell *) ; +0x15d, 0x1800154ed mov rcx, [rdi+270h] ; +0x162, 0x1800154f2 inc ebx ; +0x169, 0x1800154f9 call cs:?count@CCArray@cocos2d@@QEBAIXZ; cocos2d::CCArray::count(void) ; +0x16b, 0x1800154fb cmp ebx, eax ; +0x171, 0x180015501 jb short loc_1800154D0 ; +0x173, 0x180015503 mov rcx, [rdi+280h] ; +0x175, 0x180015505 mov r8d, r12d ; +0x17c, 0x18001550c mov rdx, rdi ; +0x17f, 0x18001550f mov rax, [rcx] ; +0x182, 0x180015512 call qword ptr [rax+18h] ; +0x185, 0x180015515 mov edx, r12d; unsigned int ; +0x188, 0x180015518 mov rcx, rdi; this ; +0x18b, 0x18001551b mov r8, rax; struct cocos2d::extension::CCTableViewCell * ; +0x18e, 0x18001551e mov rbx, rax ; +0x191, 0x180015521 call ?_setIndexForCell@CCTableView@extension@cocos2d@@IEAAXIPEAVCCTableViewCell@23@@Z; cocos2d::extension::CCTableView::_setIndexForCell(uint,cocos2d::extension::CCTableViewCell *) ; +0x194, 0x180015524 mov rdx, rbx; struct cocos2d::extension::CCTableViewCell * ; +0x199, 0x180015529 mov rcx, rdi; this ; +0x19c, 0x18001552c call ?_addCellIfNecessary@CCTableView@extension@cocos2d@@IEAAXPEAVCCTableViewCell@23@@Z; cocos2d::extension::CCTableView::_addCellIfNecessary(cocos2d::extension::CCTableViewCell *) ; +0x19f, 0x18001552f mov rcx, rdi; this ; +0x1a4, 0x180015534 call ?_updateCellPositions@CCTableView@extension@cocos2d@@IEAAXXZ; cocos2d::extension::CCTableView::_updateCellPositions(void) ; +0x1a7, 0x180015537 mov rcx, rdi; this ; +0x1ac, 0x18001553c call ?_updateContentSize@CCTableView@extension@cocos2d@@QEAAXXZ; cocos2d::extension::CCTableView::_updateContentSize(void) ; +0x1af, 0x18001553f mov r13, [rsp+58h+var_18] ; +0x1b4, 0x180015544 mov rbx, [rsp+58h+arg_0] ; +0x1b9, 0x180015549 add rsp, 48h ; +0x1be, 0x18001554e pop r12 ; +0x1c2, 0x180015552 pop rdi ; +0x1c4, 0x180015554 retn ; +0x1c5, 0x180015555