; ; cocos2d::extension::CCControlColourPicker::init from 0x180007b30 to 0x180007e6f (831 bytes) ; ; 5 xrefs: ; > @ 0x1800242a8 ; > @ 0x18002da00 ; > @ 0x18002da10 ; > @ 0x18002fdf8 ; > @ 0x1800497f8 ; ; 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 ; push rdi ; +0x0, 0x180007b30 sub rsp, 70h ; +0x2, 0x180007b32 mov rdi, rcx ; +0x6, 0x180007b36 call ?init@CCControl@extension@cocos2d@@UEAA_NXZ; cocos2d::extension::CCControl::init(void) ; +0x9, 0x180007b39 test al, al ; +0xe, 0x180007b3e jz loc_180007E67 ; +0x10, 0x180007b40 mov rax, [rdi] ; +0x16, 0x180007b46 mov dl, 1 ; +0x19, 0x180007b49 mov [rsp+78h+arg_0], rbx ; +0x1b, 0x180007b4b mov rcx, rdi ; +0x23, 0x180007b53 mov [rsp+78h+var_10], rbp ; +0x26, 0x180007b56 mov [rsp+78h+var_18], rsi ; +0x2b, 0x180007b5b mov [rsp+78h+var_20], r14 ; +0x30, 0x180007b60 mov [rsp+78h+var_28], r15 ; +0x35, 0x180007b65 movaps [rsp+78h+var_38], xmm6 ; +0x3a, 0x180007b6a movaps [rsp+78h+var_48], xmm7 ; +0x3f, 0x180007b6f call qword ptr [rax+388h] ; +0x44, 0x180007b74 lea rcx, aCccontrolcolou; "CCControlColourPickerSpriteSheet.png" ; +0x4a, 0x180007b7a call cs:?create@CCSpriteBatchNode@cocos2d@@SAPEAV12@PEBD@Z; cocos2d::CCSpriteBatchNode::create(char const *) ; +0x51, 0x180007b81 mov r8, [rdi] ; +0x57, 0x180007b87 mov rcx, rdi ; +0x5a, 0x180007b8a mov rdx, rax ; +0x5d, 0x180007b8d mov r14, rax ; +0x60, 0x180007b90 call qword ptr [r8+1C0h] ; +0x63, 0x180007b93 movss xmm7, cs:dword_180029510 ; +0x6a, 0x180007b9a lea rcx, [rsp+78h+var_58] ; +0x72, 0x180007ba2 xor esi, esi ; +0x77, 0x180007ba7 movaps xmm2, xmm7 ; +0x79, 0x180007ba9 movaps xmm1, xmm7 ; +0x7c, 0x180007bac mov [rdi+1E0h], rsi ; +0x7f, 0x180007baf mov [rdi+1E8h], rsi ; +0x86, 0x180007bb6 mov [rdi+1F0h], rsi ; +0x8d, 0x180007bbd call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x94, 0x180007bc4 lea rdx, unk_1800485F8 ; +0x9a, 0x180007bca mov rbp, rax ; +0xa1, 0x180007bd1 lea rcx, [rsp+78h+var_50] ; +0xa4, 0x180007bd4 call cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0xa9, 0x180007bd9 lea rcx, aMenucolourpane; "menuColourPanelBackground.png" ; +0xaf, 0x180007bdf mov r15, rax ; +0xb6, 0x180007be6 call cs:?createWithSpriteFrameName@CCSprite@cocos2d@@SAPEAV12@PEBD@Z; cocos2d::CCSprite::createWithSpriteFrameName(char const *) ; +0xb9, 0x180007be9 mov rbx, rax ; +0xbf, 0x180007bef test rax, rax ; +0xc2, 0x180007bf2 jz short loc_180007C27 ; +0xc5, 0x180007bf5 mov rax, [rax] ; +0xc7, 0x180007bf7 mov rdx, r15 ; +0xca, 0x180007bfa mov rcx, rbx ; +0xcd, 0x180007bfd call qword ptr [rax+0B8h] ; +0xd0, 0x180007c00 mov rax, [rbx] ; +0xd6, 0x180007c06 mov rdx, rbp ; +0xd9, 0x180007c09 mov rcx, rbx ; +0xdc, 0x180007c0c call qword ptr [rax+110h] ; +0xdf, 0x180007c0f mov rax, [r14] ; +0xe5, 0x180007c15 mov rdx, rbx ; +0xe8, 0x180007c18 mov rcx, r14 ; +0xeb, 0x180007c1b call qword ptr [rax+1C0h] ; +0xee, 0x180007c1e mov rsi, rbx ; +0xf4, 0x180007c24 mov dl, 1 ; +0xf7, 0x180007c27 mov [rdi+208h], rsi ; +0xf9, 0x180007c29 mov rcx, rsi ; +0x100, 0x180007c30 call cs:?setFlipX@CCSprite@cocos2d@@QEAAX_N@Z; cocos2d::CCSprite::setFlipX(bool) ; +0x103, 0x180007c33 mov rcx, [rdi+208h] ; +0x109, 0x180007c39 mov rax, [rcx] ; +0x110, 0x180007c40 call qword ptr [rax+130h] ; +0x113, 0x180007c43 mov rcx, [rdi+208h] ; +0x119, 0x180007c49 movss xmm6, dword ptr [rax+4] ; +0x120, 0x180007c50 mov rax, [rcx] ; +0x125, 0x180007c55 call qword ptr [rax+130h] ; +0x128, 0x180007c58 mulss xmm6, xmm7 ; +0x12e, 0x180007c5e lea rcx, [rsp+78h+var_50] ; +0x132, 0x180007c62 movss xmm1, dword ptr [rax] ; +0x137, 0x180007c67 mulss xmm1, xmm7 ; +0x13b, 0x180007c6b movaps xmm2, xmm6 ; +0x13f, 0x180007c6f call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x142, 0x180007c72 mov rcx, [rdi+208h] ; +0x148, 0x180007c78 mov rbx, rax ; +0x14f, 0x180007c7f mov rdx, [rcx] ; +0x152, 0x180007c82 call qword ptr [rdx+0C8h] ; +0x155, 0x180007c85 mov r8, rbx ; +0x15b, 0x180007c8b lea rdx, [rsp+78h+arg_8] ; +0x15e, 0x180007c8e mov rcx, rax ; +0x166, 0x180007c96 call cs:??GCCPoint@cocos2d@@QEBA?AV01@AEBV01@@Z; cocos2d::CCPoint::operator-(cocos2d::CCPoint const &) ; +0x169, 0x180007c99 movss xmm1, cs:dword_1800295D0 ; +0x16f, 0x180007c9f lea rcx, [rsp+78h+var_50] ; +0x177, 0x180007ca7 xorps xmm2, xmm2 ; +0x17c, 0x180007cac call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x17f, 0x180007caf mov rcx, [rdi+208h] ; +0x185, 0x180007cb5 mov rbx, rax ; +0x18c, 0x180007cbc mov rdx, [rcx] ; +0x18f, 0x180007cbf call qword ptr [rdx+0C8h] ; +0x192, 0x180007cc2 mov r8, rbx ; +0x198, 0x180007cc8 lea rdx, [rsp+78h+var_58] ; +0x19b, 0x180007ccb mov rcx, rax ; +0x1a0, 0x180007cd0 call cs:??HCCPoint@cocos2d@@QEBA?AV01@AEBV01@@Z; cocos2d::CCPoint::operator+(cocos2d::CCPoint const &) ; +0x1a3, 0x180007cd3 mov rcx, [rdi+208h] ; +0x1a9, 0x180007cd9 lea rdx, [rsp+78h+var_58] ; +0x1b0, 0x180007ce0 mov rax, [rcx] ; +0x1b5, 0x180007ce5 call qword ptr [rax+0B8h] ; +0x1b8, 0x180007ce8 movss xmm2, cs:dword_180029588 ; +0x1be, 0x180007cee lea rcx, [rsp+78h+arg_10] ; +0x1c6, 0x180007cf6 movss xmm1, cs:dword_180029594 ; +0x1ce, 0x180007cfe call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x1d6, 0x180007d06 movss xmm2, cs:dword_18002959C ; +0x1dc, 0x180007d0c lea rcx, [rsp+78h+arg_18] ; +0x1e4, 0x180007d14 movss xmm1, cs:dword_1800295A4 ; +0x1ec, 0x180007d1c call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x1f4, 0x180007d24 movss xmm2, [rsp+78h+arg_14] ; +0x1fa, 0x180007d2a lea rcx, [rsp+78h+var_50] ; +0x203, 0x180007d33 movss xmm1, [rsp+78h+arg_10] ; +0x208, 0x180007d38 addss xmm2, [rsp+78h+arg_C] ; +0x211, 0x180007d41 addss xmm1, [rsp+78h+arg_8] ; +0x21a, 0x180007d4a call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x223, 0x180007d53 mov rdx, rax ; +0x229, 0x180007d59 mov rcx, r14 ; +0x22c, 0x180007d5c call ?create@CCControlHuePicker@extension@cocos2d@@SAPEAV123@PEAVCCNode@3@VCCPoint@3@@Z; cocos2d::extension::CCControlHuePicker::create(cocos2d::CCNode *,cocos2d::CCPoint) ; +0x22f, 0x180007d5f movss xmm2, [rsp+78h+arg_1C] ; +0x234, 0x180007d64 lea rcx, [rsp+78h+var_50] ; +0x23d, 0x180007d6d movss xmm1, [rsp+78h+arg_18] ; +0x242, 0x180007d72 addss xmm2, [rsp+78h+arg_C] ; +0x24b, 0x180007d7b addss xmm1, [rsp+78h+arg_8] ; +0x254, 0x180007d84 mov [rdi+200h], rax ; +0x25d, 0x180007d8d call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x264, 0x180007d94 mov rdx, rax ; +0x26a, 0x180007d9a mov rcx, r14 ; +0x26d, 0x180007d9d call ?create@CCControlSaturationBrightnessPicker@extension@cocos2d@@SAPEAV123@PEAVCCNode@3@VCCPoint@3@@Z; cocos2d::extension::CCControlSaturationBrightnessPicker::create(cocos2d::CCNode *,cocos2d::CCPoint) ; +0x270, 0x180007da0 mov rcx, [rdi+200h] ; +0x275, 0x180007da5 lea r8, ?hueSliderValueChanged@CCControlColourPicker@extension@cocos2d@@QEAAXPEAVCCObject@3@I@Z; cocos2d::extension::CCControlColourPicker::hueSliderValueChanged(cocos2d::CCObject *,uint) ; +0x27c, 0x180007dac mov [rdi+1F8h], rax ; +0x283, 0x180007db3 mov r9d, 100h ; +0x28a, 0x180007dba mov rdx, rdi ; +0x290, 0x180007dc0 mov rax, [rcx] ; +0x293, 0x180007dc3 call qword ptr [rax+438h] ; +0x296, 0x180007dc6 mov rcx, [rdi+1F8h] ; +0x29c, 0x180007dcc lea r8, ?colourSliderValueChanged@CCControlColourPicker@extension@cocos2d@@QEAAXPEAVCCObject@3@I@Z; cocos2d::extension::CCControlColourPicker::colourSliderValueChanged(cocos2d::CCObject *,uint) ; +0x2a3, 0x180007dd3 mov r9d, 100h ; +0x2aa, 0x180007dda mov rdx, rdi ; +0x2b0, 0x180007de0 mov rax, [rcx] ; +0x2b3, 0x180007de3 call qword ptr [rax+438h] ; +0x2b6, 0x180007de6 mov rcx, rdi; this ; +0x2bc, 0x180007dec call ?updateHueAndControlPicker@CCControlColourPicker@extension@cocos2d@@IEAAXXZ; cocos2d::extension::CCControlColourPicker::updateHueAndControlPicker(void) ; +0x2bf, 0x180007def mov rax, [rdi] ; +0x2c4, 0x180007df4 mov rcx, rdi ; +0x2c7, 0x180007df7 mov rdx, [rdi+200h] ; +0x2ca, 0x180007dfa call qword ptr [rax+1C0h] ; +0x2d1, 0x180007e01 mov rax, [rdi] ; +0x2d7, 0x180007e07 mov rcx, rdi ; +0x2da, 0x180007e0a mov rdx, [rdi+1F8h] ; +0x2dd, 0x180007e0d call qword ptr [rax+1C0h] ; +0x2e4, 0x180007e14 mov rcx, [rdi+208h] ; +0x2ea, 0x180007e1a mov rbx, [rdi] ; +0x2f1, 0x180007e21 mov rax, [rcx] ; +0x2f4, 0x180007e24 call qword ptr [rax+130h] ; +0x2f7, 0x180007e27 mov rdx, rax ; +0x2fd, 0x180007e2d mov rcx, rdi ; +0x300, 0x180007e30 call qword ptr [rbx+128h] ; +0x303, 0x180007e33 movaps xmm7, [rsp+78h+var_48] ; +0x309, 0x180007e39 mov al, 1 ; +0x30e, 0x180007e3e movaps xmm6, [rsp+78h+var_38] ; +0x310, 0x180007e40 mov r15, [rsp+78h+var_28] ; +0x315, 0x180007e45 mov r14, [rsp+78h+var_20] ; +0x31a, 0x180007e4a mov rsi, [rsp+78h+var_18] ; +0x31f, 0x180007e4f mov rbp, [rsp+78h+var_10] ; +0x324, 0x180007e54 mov rbx, [rsp+78h+arg_0] ; +0x329, 0x180007e59 add rsp, 70h ; +0x331, 0x180007e61 pop rdi ; +0x335, 0x180007e65 retn ; +0x336, 0x180007e66 xor al, al ; +0x337, 0x180007e67 add rsp, 70h ; +0x339, 0x180007e69 pop rdi ; +0x33d, 0x180007e6d retn ; +0x33e, 0x180007e6e