; ; cocos2d::extension::CCControlSwitch::ccTouchEnded from 0x18000d1a0 to 0x18000d2e1 (321 bytes) ; ; 4 xrefs: ; > @ 0x180026660 ; > @ 0x180026668 ; > @ 0x18002fdf8 ; > @ 0x180049de0 ; ; 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, 0x18000d1a0 push rdi ; +0x5, 0x18000d1a5 sub rsp, 20h ; +0x6, 0x18000d1a6 mov rax, rdx ; +0xa, 0x18000d1aa mov rdi, rcx ; +0xd, 0x18000d1ad mov rcx, rax ; +0x10, 0x18000d1b0 lea rdx, [rsp+28h+arg_0] ; +0x13, 0x18000d1b3 call cs:?getLocation@CCTouch@cocos2d@@QEBA?AVCCPoint@2@XZ; cocos2d::CCTouch::getLocation(void) ; +0x18, 0x18000d1b8 lea rbx, [rdi-140h] ; +0x1e, 0x18000d1be mov rcx, rbx ; +0x25, 0x18000d1c5 lea r8, [rsp+28h+arg_0] ; +0x28, 0x18000d1c8 lea rdx, [rsp+28h+arg_18] ; +0x2d, 0x18000d1cd call cs:?convertToNodeSpace@CCNode@cocos2d@@QEAA?AVCCPoint@2@AEBV32@@Z; cocos2d::CCNode::convertToNodeSpace(cocos2d::CCPoint const &) ; +0x32, 0x18000d1d2 mov rdx, rax ; +0x38, 0x18000d1d8 lea rcx, [rsp+28h+arg_0] ; +0x3b, 0x18000d1db call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x40, 0x18000d1e0 mov rax, [rdi+98h] ; +0x46, 0x18000d1e6 lea rdx, unk_1800234B8 ; +0x4d, 0x18000d1ed mov rcx, [rax+290h] ; +0x54, 0x18000d1f4 add rcx, 140h ; +0x5b, 0x18000d1fb mov rax, [rcx] ; +0x62, 0x18000d202 call qword ptr [rax] ; +0x65, 0x18000d205 cmp byte ptr [rdi+0A4h], 0 ; +0x67, 0x18000d207 jz short loc_18000D269 ; +0x6e, 0x18000d20e mov rcx, [rdi+98h] ; +0x70, 0x18000d210 mov rax, [rcx] ; +0x77, 0x18000d217 call qword ptr [rax+130h] ; +0x7a, 0x18000d21a mov rcx, [rbx+1D8h] ; +0x80, 0x18000d220 movss xmm0, dword ptr [rax] ; +0x87, 0x18000d227 mulss xmm0, cs:dword_180029510 ; +0x8b, 0x18000d22b comiss xmm0, [rsp+28h+arg_0] ; +0x93, 0x18000d233 setbe al ; +0x98, 0x18000d238 mov [rbx+1E5h], al ; +0x9b, 0x18000d23b test al, al ; +0xa1, 0x18000d241 jz short loc_18000D257 ; +0xa3, 0x18000d243 movss xmm3, dword ptr [rcx+264h] ; +0xa5, 0x18000d245 movss xmm2, dword ptr [rcx+260h] ; +0xad, 0x18000d24d jmp short loc_18000D2A0 ; +0xb5, 0x18000d255 movss xmm3, dword ptr [rcx+268h] ; +0xb7, 0x18000d257 movss xmm2, dword ptr [rcx+260h] ; +0xbf, 0x18000d25f jmp short loc_18000D2A0 ; +0xc7, 0x18000d267 movzx ecx, byte ptr [rdi+0A5h] ; +0xc9, 0x18000d269 test cl, cl ; +0xd0, 0x18000d270 setz al ; +0xd2, 0x18000d272 mov [rbx+1E5h], al ; +0xd5, 0x18000d275 mov rax, [rbx+1D8h] ; +0xdb, 0x18000d27b test cl, cl ; +0xe2, 0x18000d282 jnz short loc_18000D290 ; +0xe4, 0x18000d284 movss xmm3, dword ptr [rax+264h] ; +0xe6, 0x18000d286 jmp short loc_18000D298 ; +0xee, 0x18000d28e movss xmm3, dword ptr [rax+268h] ; +0xf0, 0x18000d290 movss xmm2, dword ptr [rax+260h] ; +0xf8, 0x18000d298 movss xmm0, cs:dword_180029508 ; +0x100, 0x18000d2a0 lea rdx, aSliderxpositio; "sliderXPosition" ; +0x108, 0x18000d2a8 call cs:?create@CCActionTween@cocos2d@@SAPEAV12@MPEBDMM@Z; cocos2d::CCActionTween::create(float,char const *,float,float) ; +0x10f, 0x18000d2af mov rcx, [rbx+1D8h] ; +0x115, 0x18000d2b5 mov rdx, rax ; +0x11c, 0x18000d2bc call cs:?runAction@CCNode@cocos2d@@QEAAPEAVCCAction@2@PEAV32@@Z; cocos2d::CCNode::runAction(cocos2d::CCAction *) ; +0x11f, 0x18000d2bf mov rax, [rbx] ; +0x125, 0x18000d2c5 mov edx, 100h ; +0x128, 0x18000d2c8 mov rcx, rbx ; +0x12d, 0x18000d2cd call qword ptr [rax+430h] ; +0x130, 0x18000d2d0 mov rbx, [rsp+28h+arg_8] ; +0x136, 0x18000d2d6 add rsp, 20h ; +0x13b, 0x18000d2db pop rdi ; +0x13f, 0x18000d2df retn ; +0x140, 0x18000d2e0