; ; cocos2d::extension::CCControlSaturationBrightnessPicker::updateSliderPosition from 0x180009e50 to 0x18000a0f1 (673 bytes) ; ; 6 xrefs: ; > cocos2d::extension::CCControlSaturationBrightnessPicker::updateDraggerWithHSV @ 0x180009e43 ; > cocos2d::extension::CCControlSaturationBrightnessPicker::checkSliderPosition @ 0x18000a1e6 ; > @ 0x18002dcf0 ; > @ 0x18002dda4 ; > @ 0x18002fdf8 ; > @ 0x180049a8c ; ; 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 rax, rsp ; +0x0, 0x180009e50 push rbx ; +0x3, 0x180009e53 push r14 ; +0x4, 0x180009e54 push r15 ; +0x6, 0x180009e56 sub rsp, 0A0h ; +0x8, 0x180009e58 mov [rax+10h], rsi ; +0xf, 0x180009e5f mov rbx, rcx ; +0x13, 0x180009e63 mov rcx, [rcx+1E0h] ; +0x16, 0x180009e66 mov [rax+18h], rdi ; +0x1d, 0x180009e6d mov rdi, rdx ; +0x21, 0x180009e71 mov [rax-20h], r12 ; +0x24, 0x180009e74 lea rdx, [rsp+0B8h+var_98] ; +0x28, 0x180009e78 mov [rax-28h], r13 ; +0x2d, 0x180009e7d movaps xmmword ptr [rax-38h], xmm6 ; +0x31, 0x180009e81 movaps xmmword ptr [rax-48h], xmm8 ; +0x35, 0x180009e85 movaps xmmword ptr [rax-58h], xmm9 ; +0x3a, 0x180009e8a movaps xmmword ptr [rax-68h], xmm10 ; +0x3f, 0x180009e8f movaps xmmword ptr [rax-78h], xmm11 ; +0x44, 0x180009e94 movaps [rsp+0B8h+var_88], xmm12 ; +0x49, 0x180009e99 call cs:?boundingBox@CCNode@cocos2d@@QEAA?AVCCRect@2@XZ; cocos2d::CCNode::boundingBox(void) ; +0x4f, 0x180009e9f mov rcx, [rbx+1E0h] ; +0x55, 0x180009ea5 lea rdx, [rsp+0B8h+var_98] ; +0x5c, 0x180009eac movss xmm11, dword ptr [rax+8] ; +0x61, 0x180009eb1 mulss xmm11, cs:dword_180029510 ; +0x67, 0x180009eb7 addss xmm11, dword ptr [rbx+200h] ; +0x70, 0x180009ec0 call cs:?boundingBox@CCNode@cocos2d@@QEAA?AVCCRect@2@XZ; cocos2d::CCNode::boundingBox(void) ; +0x79, 0x180009ec9 movss xmm6, dword ptr [rdi] ; +0x7f, 0x180009ecf movss xmm8, dword ptr [rdi+4] ; +0x83, 0x180009ed3 subss xmm6, xmm11 ; +0x89, 0x180009ed9 movss xmm12, dword ptr [rax+0Ch] ; +0x8e, 0x180009ede mulss xmm12, cs:dword_180029510 ; +0x94, 0x180009ee4 movaps xmm1, xmm6; X ; +0x9d, 0x180009eed addss xmm12, dword ptr [rbx+204h] ; +0xa0, 0x180009ef0 subss xmm8, xmm12 ; +0xa9, 0x180009ef9 movaps xmm0, xmm8; Y ; +0xae, 0x180009efe call atan2f ; +0xb2, 0x180009f02 mov rcx, [rbx+1E0h] ; +0xb7, 0x180009f07 lea rdx, [rsp+0B8h+var_98] ; +0xbe, 0x180009f0e movaps xmm10, xmm0 ; +0xc3, 0x180009f13 call cs:?boundingBox@CCNode@cocos2d@@QEAA?AVCCRect@2@XZ; cocos2d::CCNode::boundingBox(void) ; +0xc7, 0x180009f17 mulss xmm6, xmm6 ; +0xcd, 0x180009f1d xorps xmm0, xmm0 ; +0xd1, 0x180009f21 mulss xmm8, xmm8 ; +0xd4, 0x180009f24 movss xmm9, dword ptr [rax+8] ; +0xd9, 0x180009f29 mulss xmm9, cs:dword_180029510 ; +0xdf, 0x180009f2f addss xmm8, xmm6 ; +0xe8, 0x180009f38 movaps xmm6, [rsp+0B8h+var_38] ; +0xed, 0x180009f3d ucomiss xmm0, xmm8 ; +0xf5, 0x180009f45 ja short loc_180009F55 ; +0xf9, 0x180009f49 xorps xmm0, xmm0 ; +0xfb, 0x180009f4b sqrtss xmm0, xmm8 ; +0xfe, 0x180009f4e jmp short loc_180009F5E ; +0x103, 0x180009f53 movaps xmm0, xmm8; X ; +0x105, 0x180009f55 call sqrtf ; +0x109, 0x180009f59 comiss xmm0, xmm9 ; +0x10e, 0x180009f5e mov [rsp+0B8h+arg_0], rbp ; +0x112, 0x180009f62 movaps xmm8, [rsp+0B8h+var_48] ; +0x11a, 0x180009f6a jbe short loc_180009FA1 ; +0x120, 0x180009f70 movaps xmm0, xmm10; X ; +0x122, 0x180009f72 call cosf ; +0x126, 0x180009f76 mulss xmm0, xmm9 ; +0x12b, 0x180009f7b addss xmm0, xmm11 ; +0x130, 0x180009f80 movss dword ptr [rdi], xmm0 ; +0x135, 0x180009f85 movaps xmm0, xmm10; X ; +0x139, 0x180009f89 call sinf ; +0x13d, 0x180009f8d mulss xmm0, xmm9 ; +0x142, 0x180009f92 addss xmm0, xmm12 ; +0x147, 0x180009f97 movss dword ptr [rdi+4], xmm0 ; +0x14c, 0x180009f9c mov rcx, [rbx+1F8h] ; +0x151, 0x180009fa1 lea r15, [rbx+204h] ; +0x158, 0x180009fa8 mov rdx, rdi ; +0x15f, 0x180009faf lea r14, [rbx+200h] ; +0x162, 0x180009fb2 lea rbp, [rdi+4] ; +0x169, 0x180009fb9 mov rax, [rcx] ; +0x16d, 0x180009fbd call qword ptr [rax+0B8h] ; +0x170, 0x180009fc0 movd xmm1, dword ptr [rbx+208h] ; +0x176, 0x180009fc6 lea rcx, [rdi+4] ; +0x17e, 0x180009fce movss xmm4, dword ptr [rdi] ; +0x182, 0x180009fd2 lea rax, [rbx+20Ch] ; +0x186, 0x180009fd6 movss xmm5, cs:dword_180029518 ; +0x18d, 0x180009fdd movaps xmm12, [rsp+0B8h+var_88] ; +0x195, 0x180009fe5 movaps xmm11, [rsp+0B8h+var_78] ; +0x19b, 0x180009feb movaps xmm10, [rsp+0B8h+var_68] ; +0x1a1, 0x180009ff1 movaps xmm9, [rsp+0B8h+var_58] ; +0x1a7, 0x180009ff7 mov r12, [rsp+0B8h+var_20] ; +0x1ad, 0x180009ffd cvtdq2ps xmm1, xmm1 ; +0x1b5, 0x18000a005 addss xmm1, dword ptr [rbx+200h] ; +0x1b8, 0x18000a008 comiss xmm1, xmm4 ; +0x1c0, 0x18000a010 jbe short loc_18000A01E ; +0x1c3, 0x18000a013 movss dword ptr [rdi], xmm1 ; +0x1c5, 0x18000a015 movaps xmm4, xmm1 ; +0x1c9, 0x18000a019 jmp short loc_18000A03C ; +0x1cc, 0x18000a01c movd xmm0, dword ptr [rax] ; +0x1ce, 0x18000a01e cvtdq2ps xmm0, xmm0 ; +0x1d2, 0x18000a022 addss xmm0, xmm1 ; +0x1d5, 0x18000a025 subss xmm0, xmm5 ; +0x1d9, 0x18000a029 comiss xmm4, xmm0 ; +0x1dd, 0x18000a02d jbe short loc_18000A03C ; +0x1e0, 0x18000a030 movss dword ptr [rdi], xmm0 ; +0x1e2, 0x18000a032 movaps xmm4, xmm0 ; +0x1e6, 0x18000a036 mov rcx, rbp ; +0x1e9, 0x18000a039 movss xmm2, dword ptr [rdi+4] ; +0x1ec, 0x18000a03c movd xmm0, dword ptr [rbx+208h] ; +0x1f1, 0x18000a041 mov r13, [rsp+0B8h+var_28] ; +0x1f9, 0x18000a049 mov rdi, [rsp+0B8h+arg_10] ; +0x201, 0x18000a051 mov rsi, [rsp+0B8h+arg_8] ; +0x209, 0x18000a059 mov rbp, [rsp+0B8h+arg_0] ; +0x211, 0x18000a061 cvtdq2ps xmm0, xmm0 ; +0x219, 0x18000a069 addss xmm0, dword ptr [rbx+204h] ; +0x21c, 0x18000a06c comiss xmm0, xmm2 ; +0x224, 0x18000a074 jbe short loc_18000A07F ; +0x227, 0x18000a077 movss dword ptr [rcx], xmm0 ; +0x229, 0x18000a079 jmp short loc_18000A093 ; +0x22d, 0x18000a07d movd xmm1, dword ptr [rax] ; +0x22f, 0x18000a07f cvtdq2ps xmm1, xmm1 ; +0x233, 0x18000a083 addss xmm1, xmm0 ; +0x236, 0x18000a086 comiss xmm2, xmm1 ; +0x23a, 0x18000a08a jbe short loc_18000A093 ; +0x23d, 0x18000a08d movss dword ptr [rcx], xmm1 ; +0x23f, 0x18000a08f xorps xmm3, xmm3 ; +0x243, 0x18000a093 xorps xmm2, xmm2 ; +0x246, 0x18000a096 cvtsi2ss xmm3, dword ptr [rbx+208h] ; +0x249, 0x18000a099 cvtsi2ss xmm2, dword ptr [rax] ; +0x251, 0x18000a0a1 movaps xmm0, xmm3 ; +0x255, 0x18000a0a5 addss xmm0, dword ptr [r14] ; +0x258, 0x18000a0a8 addss xmm3, dword ptr [r15] ; +0x25d, 0x18000a0ad subss xmm0, xmm4 ; +0x262, 0x18000a0b2 divss xmm0, xmm2 ; +0x266, 0x18000a0b6 andps xmm0, cs:xmmword_180029600 ; +0x26a, 0x18000a0ba subss xmm5, xmm0 ; +0x271, 0x18000a0c1 movss dword ptr [rbx+1D8h], xmm5 ; +0x275, 0x18000a0c5 subss xmm3, dword ptr [rcx] ; +0x27d, 0x18000a0cd divss xmm3, xmm2 ; +0x281, 0x18000a0d1 andps xmm3, cs:xmmword_180029600 ; +0x285, 0x18000a0d5 movss dword ptr [rbx+1DCh], xmm3 ; +0x28c, 0x18000a0dc add rsp, 0A0h ; +0x294, 0x18000a0e4 pop r15 ; +0x29b, 0x18000a0eb pop r14 ; +0x29d, 0x18000a0ed pop rbx ; +0x29f, 0x18000a0ef retn ; +0x2a0, 0x18000a0f0