; ; sub_18000C670 from 0x18000c670 to 0x18000c9b3 (835 bytes) ; ; 7 xrefs: ; > sub_18000C110 @ 0x18000c439 ; > sub_18000C4A0 @ 0x18000c4c1 ; > cocos2d::extension::CCControlSwitch::setOn @ 0x18000cecd ; > cocos2d::extension::CCControlSwitch::setOn @ 0x18000cf8e ; > cocos2d::extension::CCControlSwitch::ccTouchBegan @ 0x18000d0bc ; > cocos2d::extension::CCControlSwitch::ccTouchMoved @ 0x18000d18e ; > @ 0x180049d5c ; ; 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, 0x18000c670 mov [rsp+arg_18], rsi ; +0x5, 0x18000c675 push rdi ; +0xa, 0x18000c67a sub rsp, 50h ; +0xb, 0x18000c67b movaps [rsp+58h+var_18], xmm6 ; +0xf, 0x18000c67f mov rsi, rcx ; +0x14, 0x18000c684 mov rcx, [rcx+280h] ; +0x17, 0x18000c687 movaps [rsp+58h+var_28], xmm7 ; +0x1e, 0x18000c68e movaps [rsp+58h+var_38], xmm8 ; +0x23, 0x18000c693 mov rbx, [rcx] ; +0x29, 0x18000c699 call qword ptr [rbx+130h] ; +0x2c, 0x18000c69c mov rcx, [rsi+280h] ; +0x32, 0x18000c6a2 movss xmm6, dword ptr [rax+4] ; +0x39, 0x18000c6a9 mov rax, [rcx] ; +0x3e, 0x18000c6ae call qword ptr [rax+130h] ; +0x41, 0x18000c6b1 movss xmm8, cs:dword_180029510 ; +0x47, 0x18000c6b7 lea rcx, [rsp+58h+arg_0] ; +0x50, 0x18000c6c0 mulss xmm6, xmm8 ; +0x55, 0x18000c6c5 movss xmm1, dword ptr [rax] ; +0x5a, 0x18000c6ca mulss xmm1, xmm8 ; +0x5e, 0x18000c6ce movaps xmm2, xmm6 ; +0x63, 0x18000c6d3 addss xmm1, dword ptr [rsi+260h] ; +0x66, 0x18000c6d6 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x6e, 0x18000c6de mov rcx, [rsi+280h] ; +0x74, 0x18000c6e4 mov rdx, rax ; +0x7b, 0x18000c6eb call qword ptr [rbx+0B8h] ; +0x7e, 0x18000c6ee mov rcx, [rsi+288h] ; +0x84, 0x18000c6f4 mov rbx, [rcx] ; +0x8b, 0x18000c6fb call qword ptr [rbx+130h] ; +0x8e, 0x18000c6fe mov rcx, [rsi+288h] ; +0x94, 0x18000c704 movss xmm7, dword ptr [rax+4] ; +0x9b, 0x18000c70b mov rax, [rcx] ; +0xa0, 0x18000c710 call qword ptr [rax+130h] ; +0xa3, 0x18000c713 mov rcx, [rsi+280h] ; +0xa9, 0x18000c719 movss xmm6, dword ptr [rax] ; +0xb0, 0x18000c720 mov rax, [rcx] ; +0xb4, 0x18000c724 call qword ptr [rax+130h] ; +0xb7, 0x18000c727 mulss xmm6, xmm8 ; +0xbd, 0x18000c72d lea rcx, [rsp+58h+arg_0] ; +0xc2, 0x18000c732 mulss xmm7, xmm8 ; +0xc7, 0x18000c737 addss xmm6, dword ptr [rax] ; +0xcc, 0x18000c73c movaps xmm2, xmm7 ; +0xd0, 0x18000c740 addss xmm6, dword ptr [rsi+260h] ; +0xd3, 0x18000c743 movaps xmm1, xmm6 ; +0xdb, 0x18000c74b call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0xde, 0x18000c74e mov rcx, [rsi+288h] ; +0xe4, 0x18000c754 mov rdx, rax ; +0xeb, 0x18000c75b call qword ptr [rbx+0B8h] ; +0xee, 0x18000c75e mov rax, [rsi+290h] ; +0xf4, 0x18000c764 lea rdx, [rsp+58h+arg_0] ; +0xfb, 0x18000c76b mov rcx, [rsi+270h] ; +0x100, 0x18000c770 mov rbx, [rax] ; +0x107, 0x18000c777 mov rax, [rcx] ; +0x10a, 0x18000c77a call qword ptr [rax+88h] ; +0x10d, 0x18000c77d mov rcx, [rsi+280h] ; +0x113, 0x18000c783 movss xmm6, dword ptr [rax+4] ; +0x11a, 0x18000c78a mov rax, [rcx] ; +0x11f, 0x18000c78f call qword ptr [rax+130h] ; +0x122, 0x18000c792 movss xmm1, dword ptr [rsi+260h] ; +0x128, 0x18000c798 lea rcx, [rsp+58h+arg_8] ; +0x130, 0x18000c7a0 mulss xmm6, xmm8 ; +0x135, 0x18000c7a5 addss xmm1, dword ptr [rax] ; +0x13a, 0x18000c7aa movaps xmm2, xmm6 ; +0x13e, 0x18000c7ae call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x141, 0x18000c7b1 mov rcx, [rsi+290h] ; +0x147, 0x18000c7b7 mov rdx, rax ; +0x14e, 0x18000c7be call qword ptr [rbx+0B8h] ; +0x151, 0x18000c7c1 mov rdi, [rsi+298h] ; +0x157, 0x18000c7c7 test rdi, rdi ; +0x15e, 0x18000c7ce jz short loc_18000C845 ; +0x161, 0x18000c7d1 mov rcx, [rsi+280h] ; +0x163, 0x18000c7d3 mov rdi, [rdi] ; +0x16a, 0x18000c7da mov rax, [rcx] ; +0x16d, 0x18000c7dd call qword ptr [rax+130h] ; +0x170, 0x18000c7e0 mov rcx, [rsi+280h] ; +0x176, 0x18000c7e6 movss xmm6, dword ptr [rax+4] ; +0x17d, 0x18000c7ed mov rax, [rcx] ; +0x182, 0x18000c7f2 call qword ptr [rax+0C8h] ; +0x185, 0x18000c7f5 mov rcx, [rsi+290h] ; +0x18b, 0x18000c7fb mov rbx, rax ; +0x192, 0x18000c802 mov rdx, [rcx] ; +0x195, 0x18000c805 call qword ptr [rdx+130h] ; +0x198, 0x18000c808 movss xmm1, dword ptr [rbx] ; +0x19e, 0x18000c80e lea rcx, [rsp+58h+arg_0] ; +0x1a2, 0x18000c812 mulss xmm6, xmm8 ; +0x1a7, 0x18000c817 movss xmm0, dword ptr [rax] ; +0x1ac, 0x18000c81c divss xmm0, cs:dword_180029584 ; +0x1b0, 0x18000c820 movaps xmm2, xmm6 ; +0x1b8, 0x18000c828 subss xmm1, xmm0 ; +0x1bb, 0x18000c82b call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x1bf, 0x18000c82f mov rcx, [rsi+298h] ; +0x1c5, 0x18000c835 mov rdx, rax ; +0x1cc, 0x18000c83c call qword ptr [rdi+0B8h] ; +0x1cf, 0x18000c83f mov rbx, [rsi+2A0h] ; +0x1d5, 0x18000c845 test rbx, rbx ; +0x1dc, 0x18000c84c jz short loc_18000C8BF ; +0x1df, 0x18000c84f mov rcx, [rsi+288h] ; +0x1e1, 0x18000c851 mov rbx, [rbx] ; +0x1e8, 0x18000c858 mov rax, [rcx] ; +0x1eb, 0x18000c85b call qword ptr [rax+130h] ; +0x1ee, 0x18000c85e mov rcx, [rsi+290h] ; +0x1f4, 0x18000c864 movss xmm7, dword ptr [rax+4] ; +0x1fb, 0x18000c86b mov rax, [rcx] ; +0x200, 0x18000c870 call qword ptr [rax+130h] ; +0x203, 0x18000c873 mov rcx, [rsi+288h] ; +0x209, 0x18000c879 movss xmm6, dword ptr [rax] ; +0x210, 0x18000c880 mov rax, [rcx] ; +0x214, 0x18000c884 call qword ptr [rax+0C8h] ; +0x217, 0x18000c887 divss xmm6, cs:dword_180029584 ; +0x21d, 0x18000c88d lea rcx, [rsp+58h+arg_0] ; +0x225, 0x18000c895 mulss xmm7, xmm8 ; +0x22a, 0x18000c89a addss xmm6, dword ptr [rax] ; +0x22f, 0x18000c89f movaps xmm2, xmm7 ; +0x233, 0x18000c8a3 movaps xmm1, xmm6 ; +0x236, 0x18000c8a6 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x239, 0x18000c8a9 mov rcx, [rsi+2A0h] ; +0x23f, 0x18000c8af mov rdx, rax ; +0x246, 0x18000c8b6 call qword ptr [rbx+0B8h] ; +0x249, 0x18000c8b9 mov rcx, [rsi+270h] ; +0x24f, 0x18000c8bf lea rdx, [rsp+58h+arg_0] ; +0x256, 0x18000c8c6 mov rax, [rcx] ; +0x25b, 0x18000c8cb call qword ptr [rax+88h] ; +0x25e, 0x18000c8ce mov rcx, [rsi+270h] ; +0x264, 0x18000c8d4 lea rdx, [rsp+58h+arg_8] ; +0x26b, 0x18000c8db movss xmm6, dword ptr [rax+4] ; +0x270, 0x18000c8e0 mov rax, [rcx] ; +0x275, 0x18000c8e5 call qword ptr [rax+88h] ; +0x278, 0x18000c8e8 cvttss2si edx, xmm6 ; +0x27e, 0x18000c8ee cvttss2si ecx, dword ptr [rax] ; +0x282, 0x18000c8f2 call cs:?create@CCRenderTexture@cocos2d@@SAPEAV12@HH@Z; cocos2d::CCRenderTexture::create(int,int) ; +0x286, 0x18000c8f6 mov rcx, rax ; +0x28c, 0x18000c8fc mov rbx, rax ; +0x28f, 0x18000c8ff call cs:?begin@CCRenderTexture@cocos2d@@QEAAXXZ; cocos2d::CCRenderTexture::begin(void) ; +0x292, 0x18000c902 mov rcx, [rsi+280h] ; +0x298, 0x18000c908 mov rdx, [rcx] ; +0x29f, 0x18000c90f call qword ptr [rdx+2D8h] ; +0x2a2, 0x18000c912 mov rcx, [rsi+288h] ; +0x2a8, 0x18000c918 mov rdx, [rcx] ; +0x2af, 0x18000c91f call qword ptr [rdx+2D8h] ; +0x2b2, 0x18000c922 mov rcx, [rsi+298h] ; +0x2b8, 0x18000c928 test rcx, rcx ; +0x2bf, 0x18000c92f jz short loc_18000C93D ; +0x2c2, 0x18000c932 mov rax, [rcx] ; +0x2c4, 0x18000c934 call qword ptr [rax+2D8h] ; +0x2c7, 0x18000c937 mov rcx, [rsi+2A0h] ; +0x2cd, 0x18000c93d test rcx, rcx ; +0x2d4, 0x18000c944 jz short loc_18000C952 ; +0x2d7, 0x18000c947 mov rax, [rcx] ; +0x2d9, 0x18000c949 call qword ptr [rax+2D8h] ; +0x2dc, 0x18000c94c mov rcx, rbx ; +0x2e2, 0x18000c952 call cs:?end@CCRenderTexture@cocos2d@@QEAAXXZ; cocos2d::CCRenderTexture::end(void) ; +0x2e5, 0x18000c955 mov rax, [rbx] ; +0x2eb, 0x18000c95b mov rcx, rbx ; +0x2ee, 0x18000c95e call qword ptr [rax+368h] ; +0x2f1, 0x18000c961 mov rdi, [rsi+158h] ; +0x2f7, 0x18000c967 lea rcx, [rax+158h] ; +0x2fe, 0x18000c96e mov rax, [rcx] ; +0x305, 0x18000c975 call qword ptr [rax+10h] ; +0x308, 0x18000c978 mov rdx, rax ; +0x30b, 0x18000c97b lea rcx, [rsi+158h] ; +0x30e, 0x18000c97e call qword ptr [rdi+18h] ; +0x315, 0x18000c985 mov dl, 1 ; +0x318, 0x18000c988 mov rcx, rsi ; +0x31a, 0x18000c98a mov rbx, [rsp+58h+arg_10] ; +0x31d, 0x18000c98d mov rsi, [rsp+58h+arg_18] ; +0x322, 0x18000c992 movaps xmm6, [rsp+58h+var_18] ; +0x327, 0x18000c997 movaps xmm7, [rsp+58h+var_28] ; +0x32c, 0x18000c99c movaps xmm8, [rsp+58h+var_38] ; +0x331, 0x18000c9a1 add rsp, 50h ; +0x337, 0x18000c9a7 pop rdi ; +0x33b, 0x18000c9ab jmp cs:?setFlipY@CCSprite@cocos2d@@QEAAX_N@Z; cocos2d::CCSprite::setFlipY(bool) ; +0x33c, 0x18000c9ac