; ; cocos2d::extension::CCTableView::ccTouchBegan from 0x180016460 to 0x180016636 (470 bytes) ; ; 3 xrefs: ; > @ 0x180028850 ; > @ 0x18002fdf8 ; > @ 0x18004a908 ; ; 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], rbx ; +0x0, 0x180016460 push rbp ; +0x5, 0x180016465 push rsi ; +0x6, 0x180016466 push rdi ; +0x7, 0x180016467 sub rsp, 30h ; +0x8, 0x180016468 lea rsi, [rcx-140h] ; +0xc, 0x18001646c mov rdi, rcx ; +0x13, 0x180016473 mov rax, [rsi] ; +0x16, 0x180016476 mov rcx, rsi ; +0x19, 0x180016479 mov rbp, r8 ; +0x1c, 0x18001647c mov rbx, rdx ; +0x1f, 0x18001647f call qword ptr [rax+148h] ; +0x22, 0x180016482 test al, al ; +0x28, 0x180016488 jnz short loc_180016499 ; +0x2a, 0x18001648a mov rbx, [rsp+48h+arg_10] ; +0x2c, 0x18001648c add rsp, 30h ; +0x31, 0x180016491 pop rdi ; +0x35, 0x180016495 pop rsi ; +0x36, 0x180016496 pop rbp ; +0x37, 0x180016497 retn ; +0x38, 0x180016498 mov r8, rbp; struct cocos2d::CCEvent * ; +0x39, 0x180016499 mov [rsp+48h+arg_8], r14 ; +0x3c, 0x18001649c mov rdx, rbx; struct cocos2d::CCTouch * ; +0x41, 0x1800164a1 mov rcx, rdi; this ; +0x44, 0x1800164a4 call ?ccTouchBegan@CCScrollView@extension@cocos2d@@UEAA_NPEAVCCTouch@3@PEAVCCEvent@3@@Z; cocos2d::extension::CCScrollView::ccTouchBegan(cocos2d::CCTouch *,cocos2d::CCEvent *) ; +0x47, 0x1800164a7 mov rcx, [rdi+0B8h] ; +0x4c, 0x1800164ac movzx r14d, al ; +0x53, 0x1800164b3 call cs:?count@CCArray@cocos2d@@QEBAIXZ; cocos2d::CCArray::count(void) ; +0x57, 0x1800164b7 cmp eax, 1 ; +0x5d, 0x1800164bd jnz loc_1800165F6 ; +0x60, 0x1800164c0 lea rcx, [rsp+48h+arg_0] ; +0x66, 0x1800164c6 call cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x6b, 0x1800164cb mov rcx, [rdi+80h] ; +0x71, 0x1800164d1 lea rdx, [rsp+48h+arg_18] ; +0x78, 0x1800164d8 mov r8, rbx ; +0x7d, 0x1800164dd call cs:?convertTouchToNodeSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@PEAVCCTouch@2@@Z; cocos2d::CCNode::convertTouchToNodeSpace(cocos2d::CCTouch *) ; +0x80, 0x1800164e0 mov rdx, rax ; +0x86, 0x1800164e6 lea rcx, [rsp+48h+arg_0] ; +0x89, 0x1800164e9 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x8e, 0x1800164ee lea rdx, [rsp+48h+arg_0] ; +0x94, 0x1800164f4 lea rcx, [rsp+48h+arg_18] ; +0x99, 0x1800164f9 call cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0x9e, 0x1800164fe mov rcx, [rsi+280h] ; +0xa4, 0x180016504 mov rdx, rsi ; +0xab, 0x18001650b mov rbx, rax ; +0xae, 0x18001650e mov r8, [rcx] ; +0xb1, 0x180016511 call qword ptr [r8+20h] ; +0xb4, 0x180016514 cmp dword ptr [rsi+248h], 0 ; +0xb8, 0x180016518 lea ebp, [rax-1] ; +0xbf, 0x18001651f jnz short loc_180016543 ; +0xc2, 0x180016522 mov rcx, [rsi+1C0h] ; +0xc4, 0x180016524 mov rdx, [rcx] ; +0xcb, 0x18001652b call qword ptr [rdx+130h] ; +0xce, 0x18001652e movss xmm0, dword ptr [rax+4] ; +0xd4, 0x180016534 subss xmm0, dword ptr [rbx+4] ; +0xd9, 0x180016539 movss dword ptr [rbx+4], xmm0 ; +0xde, 0x18001653e mov rdx, rbx ; +0xe3, 0x180016543 lea rcx, [rsp+48h+var_28] ; +0xe6, 0x180016546 call cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0xeb, 0x18001654b mov rdx, rax ; +0xf1, 0x180016551 mov rcx, rsi ; +0xf4, 0x180016554 call ?__indexFromOffset@CCTableView@extension@cocos2d@@IEAAHVCCPoint@3@@Z; cocos2d::extension::CCTableView::__indexFromOffset(cocos2d::CCPoint) ; +0xf7, 0x180016557 xor ebx, ebx ; +0xfc, 0x18001655c mov edx, eax ; +0xfe, 0x18001655e cmp eax, 0FFFFFFFFh ; +0x100, 0x180016560 jz short loc_180016572 ; +0x103, 0x180016563 test eax, eax ; +0x105, 0x180016565 cmovs edx, ebx; unsigned int ; +0x107, 0x180016567 cmp edx, ebp ; +0x10a, 0x18001656a jg loc_180016619 ; +0x10c, 0x18001656c cmp edx, 0FFFFFFFFh ; +0x112, 0x180016572 jz loc_180016619 ; +0x115, 0x180016575 mov rax, [rdi+110h] ; +0x11b, 0x18001657b mov rax, [rax] ; +0x122, 0x180016582 mov r8, rax ; +0x125, 0x180016585 mov rcx, [rax+8] ; +0x128, 0x180016588 cmp [rcx+19h], bl ; +0x12c, 0x18001658c jnz short loc_1800165A7 ; +0x12f, 0x18001658f cmp [rcx+1Ch], edx ; +0x131, 0x180016591 jnb short loc_18001659C ; +0x134, 0x180016594 mov rcx, [rcx+10h] ; +0x136, 0x180016596 jmp short loc_1800165A2 ; +0x13a, 0x18001659a mov r8, rcx ; +0x13c, 0x18001659c mov rcx, [rcx] ; +0x13f, 0x18001659f cmp [rcx+19h], bl ; +0x142, 0x1800165a2 jz short loc_180016591 ; +0x145, 0x1800165a5 cmp [r8+19h], bl ; +0x147, 0x1800165a7 jnz short loc_1800165D0 ; +0x14b, 0x1800165ab cmp edx, [r8+1Ch] ; +0x14d, 0x1800165ad jb short loc_1800165D0 ; +0x151, 0x1800165b1 cmp r8, rax ; +0x153, 0x1800165b3 jz short loc_1800165D0 ; +0x156, 0x1800165b6 mov rcx, [rdi+130h]; this ; +0x158, 0x1800165b8 call ?objectWithObjectID@CCArrayForObjectSorting@extension@cocos2d@@QEAAPEAVCCSortableObject@23@I@Z; cocos2d::extension::CCArrayForObjectSorting::objectWithObjectID(uint) ; +0x15f, 0x1800165bf test rax, rax ; +0x164, 0x1800165c4 jz short loc_1800165D0 ; +0x167, 0x1800165c7 lea rbx, [rax-140h] ; +0x169, 0x1800165c9 mov [rdi+100h], rbx ; +0x170, 0x1800165d0 test rbx, rbx ; +0x177, 0x1800165d7 jz short loc_180016620 ; +0x17a, 0x1800165da mov rcx, [rdi+148h] ; +0x17c, 0x1800165dc test rcx, rcx ; +0x183, 0x1800165e3 jz short loc_180016620 ; +0x186, 0x1800165e6 mov rax, [rcx] ; +0x188, 0x1800165e8 mov r8, rbx ; +0x18b, 0x1800165eb mov rdx, rsi ; +0x18e, 0x1800165ee call qword ptr [rax+20h] ; +0x191, 0x1800165f1 jmp short loc_180016620 ; +0x194, 0x1800165f4 mov r8, [rdi+100h] ; +0x196, 0x1800165f6 test r8, r8 ; +0x19d, 0x1800165fd jz short loc_180016620 ; +0x1a0, 0x180016600 mov rcx, [rdi+148h] ; +0x1a2, 0x180016602 test rcx, rcx ; +0x1a9, 0x180016609 jz short loc_180016617 ; +0x1ac, 0x18001660c mov rax, [rcx] ; +0x1ae, 0x18001660e mov rdx, rsi ; +0x1b1, 0x180016611 call qword ptr [rax+28h] ; +0x1b4, 0x180016614 xor ebx, ebx ; +0x1b7, 0x180016617 mov [rdi+100h], rbx ; +0x1b9, 0x180016619 mov rbx, [rsp+48h+arg_10] ; +0x1c0, 0x180016620 movzx eax, r14b ; +0x1c5, 0x180016625 mov r14, [rsp+48h+arg_8] ; +0x1c9, 0x180016629 add rsp, 30h ; +0x1ce, 0x18001662e pop rdi ; +0x1d2, 0x180016632 pop rsi ; +0x1d3, 0x180016633 pop rbp ; +0x1d4, 0x180016634 retn ; +0x1d5, 0x180016635