; ; cocos2d::extension::CCControlSaturationBrightnessPicker::initWithTargetAndPos from 0x1800099c0 to 0x180009c3b (635 bytes) ; ; 5 xrefs: ; > @ 0x180025958 ; > @ 0x18002dc84 ; > @ 0x18002dc94 ; > @ 0x18002fdf8 ; > @ 0x180049a38 ; ; 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 rbx ; +0x0, 0x1800099c0 push rbp ; +0x2, 0x1800099c2 push r14 ; +0x3, 0x1800099c3 sub rsp, 40h ; +0x5, 0x1800099c5 mov rbp, r8 ; +0x9, 0x1800099c9 mov r14, rdx ; +0xc, 0x1800099cc mov rbx, rcx ; +0xf, 0x1800099cf call ?init@CCControl@extension@cocos2d@@UEAA_NXZ; cocos2d::extension::CCControl::init(void) ; +0x12, 0x1800099d2 test al, al ; +0x17, 0x1800099d7 jz loc_180009C30 ; +0x19, 0x1800099d9 mov rax, [rbx] ; +0x1f, 0x1800099df mov dl, 1 ; +0x22, 0x1800099e2 mov [rsp+58h+arg_0], rsi ; +0x24, 0x1800099e4 mov rcx, rbx ; +0x29, 0x1800099e9 mov [rsp+58h+arg_8], rdi ; +0x2c, 0x1800099ec mov [rsp+58h+var_20], r12 ; +0x31, 0x1800099f1 mov [rsp+58h+var_28], r15 ; +0x36, 0x1800099f6 call qword ptr [rax+388h] ; +0x3b, 0x1800099fb xorps xmm2, xmm2 ; +0x41, 0x180009a01 lea rcx, [rsp+58h+arg_18] ; +0x44, 0x180009a04 xorps xmm1, xmm1 ; +0x49, 0x180009a09 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x4c, 0x180009a0c mov rdx, rbp ; +0x52, 0x180009a12 lea rcx, [rsp+58h+var_38] ; +0x55, 0x180009a15 mov r15, rax ; +0x5a, 0x180009a1a call cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0x5d, 0x180009a1d lea rcx, aColourpickerba; "colourPickerBackground.png" ; +0x63, 0x180009a23 mov r12, rax ; +0x6a, 0x180009a2a call cs:?createWithSpriteFrameName@CCSprite@cocos2d@@SAPEAV12@PEBD@Z; cocos2d::CCSprite::createWithSpriteFrameName(char const *) ; +0x6d, 0x180009a2d xor esi, esi ; +0x73, 0x180009a33 mov rdi, rax ; +0x75, 0x180009a35 test rax, rax ; +0x78, 0x180009a38 jnz short loc_180009A41 ; +0x7b, 0x180009a3b mov edi, esi ; +0x7d, 0x180009a3d jmp short loc_180009A6E ; +0x7f, 0x180009a3f mov rax, [rax] ; +0x81, 0x180009a41 mov rdx, r12 ; +0x84, 0x180009a44 mov rcx, rdi ; +0x87, 0x180009a47 call qword ptr [rax+0B8h] ; +0x8a, 0x180009a4a mov rax, [rdi] ; +0x90, 0x180009a50 mov rdx, r15 ; +0x93, 0x180009a53 mov rcx, rdi ; +0x96, 0x180009a56 call qword ptr [rax+110h] ; +0x99, 0x180009a59 mov rax, [r14] ; +0x9f, 0x180009a5f mov rdx, rdi ; +0xa2, 0x180009a62 mov rcx, r14 ; +0xa5, 0x180009a65 call qword ptr [rax+1C0h] ; +0xa8, 0x180009a68 xorps xmm2, xmm2 ; +0xae, 0x180009a6e mov [rbx+1E0h], rdi ; +0xb1, 0x180009a71 xorps xmm1, xmm1 ; +0xb8, 0x180009a78 lea rcx, [rsp+58h+arg_18] ; +0xbb, 0x180009a7b call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0xc0, 0x180009a80 mov rdx, rbp ; +0xc6, 0x180009a86 lea rcx, [rsp+58h+var_38] ; +0xc9, 0x180009a89 mov r15, rax ; +0xce, 0x180009a8e call cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0xd1, 0x180009a91 lea rcx, aColourpickerov; "colourPickerOverlay.png" ; +0xd7, 0x180009a97 mov r12, rax ; +0xde, 0x180009a9e call cs:?createWithSpriteFrameName@CCSprite@cocos2d@@SAPEAV12@PEBD@Z; cocos2d::CCSprite::createWithSpriteFrameName(char const *) ; +0xe1, 0x180009aa1 mov rdi, rax ; +0xe7, 0x180009aa7 test rax, rax ; +0xea, 0x180009aaa jnz short loc_180009AB4 ; +0xed, 0x180009aad mov rdi, rsi ; +0xef, 0x180009aaf jmp short loc_180009AE1 ; +0xf2, 0x180009ab2 mov rax, [rax] ; +0xf4, 0x180009ab4 mov rdx, r12 ; +0xf7, 0x180009ab7 mov rcx, rdi ; +0xfa, 0x180009aba call qword ptr [rax+0B8h] ; +0xfd, 0x180009abd mov rax, [rdi] ; +0x103, 0x180009ac3 mov rdx, r15 ; +0x106, 0x180009ac6 mov rcx, rdi ; +0x109, 0x180009ac9 call qword ptr [rax+110h] ; +0x10c, 0x180009acc mov rax, [r14] ; +0x112, 0x180009ad2 mov rdx, rdi ; +0x115, 0x180009ad5 mov rcx, r14 ; +0x118, 0x180009ad8 call qword ptr [rax+1C0h] ; +0x11b, 0x180009adb xorps xmm2, xmm2 ; +0x121, 0x180009ae1 mov [rbx+1E8h], rdi ; +0x124, 0x180009ae4 xorps xmm1, xmm1 ; +0x12b, 0x180009aeb lea rcx, [rsp+58h+arg_18] ; +0x12e, 0x180009aee call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x133, 0x180009af3 mov rdx, rbp ; +0x139, 0x180009af9 lea rcx, [rsp+58h+var_38] ; +0x13c, 0x180009afc mov r15, rax ; +0x141, 0x180009b01 call cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0x144, 0x180009b04 lea rcx, aColourpickersh; "colourPickerShadow.png" ; +0x14a, 0x180009b0a mov r12, rax ; +0x151, 0x180009b11 call cs:?createWithSpriteFrameName@CCSprite@cocos2d@@SAPEAV12@PEBD@Z; cocos2d::CCSprite::createWithSpriteFrameName(char const *) ; +0x154, 0x180009b14 mov rdi, rax ; +0x15a, 0x180009b1a test rax, rax ; +0x15d, 0x180009b1d jnz short loc_180009B27 ; +0x160, 0x180009b20 mov rdi, rsi ; +0x162, 0x180009b22 jmp short loc_180009B54 ; +0x165, 0x180009b25 mov rax, [rax] ; +0x167, 0x180009b27 mov rdx, r12 ; +0x16a, 0x180009b2a mov rcx, rdi ; +0x16d, 0x180009b2d call qword ptr [rax+0B8h] ; +0x170, 0x180009b30 mov rax, [rdi] ; +0x176, 0x180009b36 mov rdx, r15 ; +0x179, 0x180009b39 mov rcx, rdi ; +0x17c, 0x180009b3c call qword ptr [rax+110h] ; +0x17f, 0x180009b3f mov rax, [r14] ; +0x185, 0x180009b45 mov rdx, rdi ; +0x188, 0x180009b48 mov rcx, r14 ; +0x18b, 0x180009b4b call qword ptr [rax+1C0h] ; +0x18e, 0x180009b4e movss xmm2, cs:dword_180029510 ; +0x194, 0x180009b54 lea rcx, [rsp+58h+arg_18] ; +0x19c, 0x180009b5c movaps xmm1, xmm2 ; +0x1a1, 0x180009b61 mov [rbx+1F0h], rdi ; +0x1a4, 0x180009b64 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x1ab, 0x180009b6b mov rdx, rbp ; +0x1b1, 0x180009b71 lea rcx, [rsp+58h+var_38] ; +0x1b4, 0x180009b74 mov r15, rax ; +0x1b9, 0x180009b79 call cs:??0CCPoint@cocos2d@@QEAA@AEBV01@@Z; cocos2d::CCPoint::CCPoint(cocos2d::CCPoint const &) ; +0x1bc, 0x180009b7c lea rcx, aColourpickerPn; "colourPicker.png" ; +0x1c2, 0x180009b82 mov r12, rax ; +0x1c9, 0x180009b89 call cs:?createWithSpriteFrameName@CCSprite@cocos2d@@SAPEAV12@PEBD@Z; cocos2d::CCSprite::createWithSpriteFrameName(char const *) ; +0x1cc, 0x180009b8c mov rdi, rax ; +0x1d2, 0x180009b92 test rax, rax ; +0x1d5, 0x180009b95 jz short loc_180009BCA ; +0x1d8, 0x180009b98 mov rax, [rax] ; +0x1da, 0x180009b9a mov rdx, r12 ; +0x1dd, 0x180009b9d mov rcx, rdi ; +0x1e0, 0x180009ba0 call qword ptr [rax+0B8h] ; +0x1e3, 0x180009ba3 mov rax, [rdi] ; +0x1e9, 0x180009ba9 mov rdx, r15 ; +0x1ec, 0x180009bac mov rcx, rdi ; +0x1ef, 0x180009baf call qword ptr [rax+110h] ; +0x1f2, 0x180009bb2 mov rax, [r14] ; +0x1f8, 0x180009bb8 mov rdx, rdi ; +0x1fb, 0x180009bbb mov rcx, r14 ; +0x1fe, 0x180009bbe call qword ptr [rax+1C0h] ; +0x201, 0x180009bc1 mov rsi, rdi ; +0x207, 0x180009bc7 lea rcx, [rbx+200h] ; +0x20a, 0x180009bca mov [rbx+1F8h], rsi ; +0x211, 0x180009bd1 mov rdx, rbp ; +0x218, 0x180009bd8 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x21b, 0x180009bdb mov rcx, [rbx+1E0h] ; +0x221, 0x180009be1 mov dword ptr [rbx+208h], 23h ; '#' ; +0x228, 0x180009be8 mov rax, [rcx] ; +0x232, 0x180009bf2 call qword ptr [rax+130h] ; +0x235, 0x180009bf5 mov r15, [rsp+58h+var_28] ; +0x23b, 0x180009bfb mov r12, [rsp+58h+var_20] ; +0x240, 0x180009c00 mov rdi, [rsp+58h+arg_8] ; +0x245, 0x180009c05 movss xmm0, dword ptr [rax] ; +0x24a, 0x180009c0a mulss xmm0, cs:dword_180029510 ; +0x24e, 0x180009c0e mov rsi, [rsp+58h+arg_0] ; +0x256, 0x180009c16 cvttss2si eax, xmm0 ; +0x25b, 0x180009c1b mov [rbx+20Ch], eax ; +0x25f, 0x180009c1f mov al, 1 ; +0x265, 0x180009c25 add rsp, 40h ; +0x267, 0x180009c27 pop r14 ; +0x26b, 0x180009c2b pop rbp ; +0x26d, 0x180009c2d pop rbx ; +0x26e, 0x180009c2e retn ; +0x26f, 0x180009c2f xor al, al ; +0x270, 0x180009c30 add rsp, 40h ; +0x272, 0x180009c32 pop r14 ; +0x276, 0x180009c36 pop rbp ; +0x278, 0x180009c38 pop rbx ; +0x279, 0x180009c39 retn ; +0x27a, 0x180009c3a