; ; cocos2d::extension::CCControl::removeTargetWithActionForControlEvent from 0x180004800 to 0x1800048ed (237 bytes) ; ; 2 xrefs: ; > @ 0x18002fdf8 ; > @ 0x180049420 ; ; 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, 0x180004800 mov [rsp+arg_8], rbp ; +0x5, 0x180004805 mov [rsp+arg_10], rsi ; +0xa, 0x18000480a mov [rsp+arg_18], rdi ; +0xf, 0x18000480f push r14 ; +0x14, 0x180004814 sub rsp, 20h ; +0x16, 0x180004816 mov rsi, rdx ; +0x1a, 0x18000481a mov ebx, r9d ; +0x1d, 0x18000481d mov r14, rcx ; +0x20, 0x180004820 movsxd rdx, r9d ; +0x23, 0x180004823 mov rcx, [rcx+1C0h] ; +0x26, 0x180004826 mov rdi, r8 ; +0x2d, 0x18000482d call cs:?objectForKey@CCDictionary@cocos2d@@QEAAPEAVCCObject@2@_J@Z; cocos2d::CCDictionary::objectForKey(__int64) ; +0x30, 0x180004830 mov rbp, rax ; +0x36, 0x180004836 test rax, rax ; +0x39, 0x180004839 jnz short loc_18000485D ; +0x3c, 0x18000483c lea ecx, [rax+1] ; +0x3e, 0x18000483e call cs:?createWithCapacity@CCArray@cocos2d@@SAPEAV12@I@Z; cocos2d::CCArray::createWithCapacity(uint) ; +0x41, 0x180004841 mov rcx, [r14+1C0h] ; +0x47, 0x180004847 mov r8d, ebx ; +0x4e, 0x18000484e mov rdx, rax ; +0x51, 0x180004851 mov rbp, rax ; +0x54, 0x180004854 call cs:?setObject@CCDictionary@cocos2d@@QEAAXPEAVCCObject@2@_J@Z; cocos2d::CCDictionary::setObject(cocos2d::CCObject *,__int64) ; +0x57, 0x180004857 test rsi, rsi ; +0x5d, 0x18000485d jnz short loc_180004872 ; +0x60, 0x180004860 test rdi, rdi ; +0x62, 0x180004862 jnz short loc_180004872 ; +0x65, 0x180004865 mov rcx, rbp ; +0x67, 0x180004867 call cs:?removeAllObjects@CCArray@cocos2d@@QEAAXXZ; cocos2d::CCArray::removeAllObjects(void) ; +0x6a, 0x18000486a jmp short loc_1800048D2 ; +0x70, 0x180004870 test rbp, rbp ; +0x72, 0x180004872 jz short loc_1800048D2 ; +0x75, 0x180004875 mov rbx, [rbp+38h] ; +0x77, 0x180004877 mov eax, [rbx] ; +0x7b, 0x18000487b test eax, eax ; +0x7d, 0x18000487d jz short loc_1800048D2 ; +0x7f, 0x18000487f mov rbx, [rbx+10h] ; +0x81, 0x180004881 lea r14, [rax-1] ; +0x85, 0x180004885 lea r14, [rbx+r14*8] ; +0x89, 0x180004889 cmp rbx, r14 ; +0x8d, 0x18000488d ja short loc_1800048D2 ; +0x90, 0x180004890 mov rdx, [rbx] ; +0x92, 0x180004892 test rdx, rdx ; +0x95, 0x180004895 jz short loc_1800048D2 ; +0x98, 0x180004898 mov al, 1 ; +0x9a, 0x18000489a test rsi, rsi ; +0x9c, 0x18000489c jz short loc_1800048A8 ; +0x9f, 0x18000489f cmp rsi, [rdx+40h] ; +0xa1, 0x1800048a1 setz al ; +0xa5, 0x1800048a5 test rdi, rdi ; +0xa8, 0x1800048a8 jz short loc_1800048B9 ; +0xab, 0x1800048ab test al, al ; +0xad, 0x1800048ad jz short loc_1800048C9 ; +0xaf, 0x1800048af cmp rdi, [rdx+38h] ; +0xb1, 0x1800048b1 jnz short loc_1800048C9 ; +0xb5, 0x1800048b5 jmp short loc_1800048BD ; +0xb7, 0x1800048b7 test al, al ; +0xb9, 0x1800048b9 jz short loc_1800048C9 ; +0xbb, 0x1800048bb mov r8b, 1 ; +0xbd, 0x1800048bd mov rcx, rbp ; +0xc0, 0x1800048c0 call cs:?removeObject@CCArray@cocos2d@@QEAAXPEAVCCObject@2@_N@Z; cocos2d::CCArray::removeObject(cocos2d::CCObject *,bool) ; +0xc3, 0x1800048c3 add rbx, 8 ; +0xc9, 0x1800048c9 cmp rbx, r14 ; +0xcd, 0x1800048cd jbe short loc_180004892 ; +0xd0, 0x1800048d0 mov rbx, [rsp+28h+arg_0] ; +0xd2, 0x1800048d2 mov rbp, [rsp+28h+arg_8] ; +0xd7, 0x1800048d7 mov rsi, [rsp+28h+arg_10] ; +0xdc, 0x1800048dc mov rdi, [rsp+28h+arg_18] ; +0xe1, 0x1800048e1 add rsp, 20h ; +0xe6, 0x1800048e6 pop r14 ; +0xea, 0x1800048ea retn ; +0xec, 0x1800048ec