; ; cocos2d::extension::CCControlStepper::initWithMinusSpriteAndPlusSprite from 0x18000b320 to 0x18000b7a4 (1156 bytes) ; ; 5 xrefs: ; > cocos2d::extension::CCControlStepper::create @ 0x18000b7ed ; > @ 0x18002debc ; > @ 0x18002def8 ; > @ 0x18002fdf8 ; > @ 0x180049c6c ; ; 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], rsi ; +0x0, 0x18000b320 mov [rsp+arg_10], rdi ; +0x5, 0x18000b325 push r14 ; +0xa, 0x18000b32a sub rsp, 80h ; +0xc, 0x18000b32c mov r14, r8 ; +0x13, 0x18000b333 mov rdi, rdx ; +0x16, 0x18000b336 mov rsi, rcx ; +0x19, 0x18000b339 call ?init@CCControl@extension@cocos2d@@UEAA_NXZ; cocos2d::extension::CCControl::init(void) ; +0x1c, 0x18000b33c test al, al ; +0x21, 0x18000b341 jz loc_18000B78C ; +0x23, 0x18000b343 mov rax, [rsi] ; +0x29, 0x18000b349 mov dl, 1 ; +0x2c, 0x18000b34c mov [rsp+88h+arg_0], rbx ; +0x2e, 0x18000b34e mov rcx, rsi ; +0x36, 0x18000b356 movaps [rsp+88h+var_18], xmm6 ; +0x39, 0x18000b359 movaps [rsp+88h+var_28], xmm7 ; +0x3e, 0x18000b35e movaps [rsp+88h+var_38], xmm8 ; +0x43, 0x18000b363 call qword ptr [rax+388h] ; +0x49, 0x18000b369 xor ecx, ecx ; +0x4f, 0x18000b36f mov word ptr [rsi+200h], 101h ; +0x51, 0x18000b371 mov rax, 4059000000000000h ; +0x5a, 0x18000b37a mov [rsi+208h], rcx ; +0x64, 0x18000b384 mov [rsi+210h], rax ; +0x6b, 0x18000b38b xor edx, edx ; +0x72, 0x18000b392 mov rax, 3FF0000000000000h ; +0x74, 0x18000b394 mov [rsi+1F8h], rcx ; +0x7e, 0x18000b39e mov [rsi+218h], rax ; +0x85, 0x18000b3a5 mov rax, [rsi] ; +0x8c, 0x18000b3ac mov [rsi+202h], cl ; +0x8f, 0x18000b3af mov rcx, rsi ; +0x95, 0x18000b3b5 call qword ptr [rax+1A0h] ; +0x98, 0x18000b3b8 mov rbx, [rsi+1D8h] ; +0x9e, 0x18000b3be cmp rbx, rdi ; +0xa5, 0x18000b3c5 jz short loc_18000B3F4 ; +0xa8, 0x18000b3c8 test rdi, rdi ; +0xaa, 0x18000b3ca jz short loc_18000B3D8 ; +0xad, 0x18000b3cd mov rcx, rdi ; +0xaf, 0x18000b3cf call cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0xb2, 0x18000b3d2 mov rcx, [rsi+1D8h] ; +0xb8, 0x18000b3d8 test rcx, rcx ; +0xbf, 0x18000b3df jz short loc_18000B3EA ; +0xc2, 0x18000b3e2 call cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0xc4, 0x18000b3e4 mov [rsi+1D8h], rdi ; +0xca, 0x18000b3ea mov rbx, rdi ; +0xd1, 0x18000b3f1 mov rax, [rdi] ; +0xd4, 0x18000b3f4 mov rcx, rdi ; +0xd7, 0x18000b3f7 mov rbx, [rbx] ; +0xda, 0x18000b3fa call qword ptr [rax+130h] ; +0xdd, 0x18000b3fd mov rcx, rdi ; +0xe3, 0x18000b403 movss xmm6, dword ptr [rax+4] ; +0xe6, 0x18000b406 mov rax, [rdi] ; +0xeb, 0x18000b40b call qword ptr [rax+130h] ; +0xee, 0x18000b40e movss xmm8, cs:dword_180029510 ; +0xf4, 0x18000b414 lea rcx, [rsp+88h+arg_18] ; +0xfd, 0x18000b41d mulss xmm6, xmm8 ; +0x105, 0x18000b425 movss xmm1, dword ptr [rax] ; +0x10a, 0x18000b42a mulss xmm1, xmm8 ; +0x10e, 0x18000b42e movaps xmm2, xmm6 ; +0x113, 0x18000b433 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x116, 0x18000b436 mov rcx, [rsi+1D8h] ; +0x11c, 0x18000b43c mov rdx, rax ; +0x123, 0x18000b443 call qword ptr [rbx+0B8h] ; +0x126, 0x18000b446 mov rax, [rsi] ; +0x12c, 0x18000b44c mov rcx, rsi ; +0x12f, 0x18000b44f mov rdx, [rsi+1D8h] ; +0x132, 0x18000b452 call qword ptr [rax+1C0h] ; +0x139, 0x18000b459 movss xmm2, cs:dword_1800295A8 ; +0x13f, 0x18000b45f lea rdx, aCouriernewpsmt; "CourierNewPSMT" ; +0x147, 0x18000b467 lea rcx, asc_180025F38; "-" ; +0x14e, 0x18000b46e call cs:?create@CCLabelTTF@cocos2d@@SAPEAV12@PEBD0M@Z; cocos2d::CCLabelTTF::create(char const *,char const *,float) ; +0x155, 0x18000b475 mov rcx, [rsi+1E8h] ; +0x15b, 0x18000b47b mov rbx, rax ; +0x162, 0x18000b482 cmp rcx, rax ; +0x165, 0x18000b485 jz short loc_18000B4B4 ; +0x168, 0x18000b488 test rax, rax ; +0x16a, 0x18000b48a jz short loc_18000B498 ; +0x16d, 0x18000b48d mov rcx, rax ; +0x16f, 0x18000b48f call cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x172, 0x18000b492 mov rcx, [rsi+1E8h] ; +0x178, 0x18000b498 test rcx, rcx ; +0x17f, 0x18000b49f jz short loc_18000B4AA ; +0x182, 0x18000b4a2 call cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x184, 0x18000b4a4 mov [rsi+1E8h], rbx ; +0x18a, 0x18000b4aa mov rcx, rbx ; +0x191, 0x18000b4b1 add rcx, 140h ; +0x194, 0x18000b4b4 mov [rsp+88h+arg_18], 9393h ; +0x19b, 0x18000b4bb mov [rsp+88h+arg_1A], 93h ; +0x1a5, 0x18000b4c5 lea rdx, [rsp+88h+arg_18] ; +0x1ad, 0x18000b4cd mov rax, [rcx] ; +0x1b5, 0x18000b4d5 call qword ptr [rax] ; +0x1b8, 0x18000b4d8 mov rax, [rsi+1E8h] ; +0x1ba, 0x18000b4da mov rcx, [rsi+1D8h] ; +0x1c1, 0x18000b4e1 mov rbx, [rax] ; +0x1c8, 0x18000b4e8 mov rax, [rcx] ; +0x1cb, 0x18000b4eb call qword ptr [rax+130h] ; +0x1ce, 0x18000b4ee mov rcx, [rsi+1D8h] ; +0x1d4, 0x18000b4f4 movss xmm6, dword ptr [rax+4] ; +0x1db, 0x18000b4fb mov rax, [rcx] ; +0x1e0, 0x18000b500 call qword ptr [rax+130h] ; +0x1e3, 0x18000b503 mulss xmm6, xmm8 ; +0x1e9, 0x18000b509 lea rcx, [rsp+88h+arg_18] ; +0x1ee, 0x18000b50e movss xmm1, dword ptr [rax] ; +0x1f6, 0x18000b516 mulss xmm1, xmm8 ; +0x1fa, 0x18000b51a movaps xmm2, xmm6 ; +0x1ff, 0x18000b51f call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x202, 0x18000b522 mov rcx, [rsi+1E8h] ; +0x208, 0x18000b528 mov rdx, rax ; +0x20f, 0x18000b52f call qword ptr [rbx+0B8h] ; +0x212, 0x18000b532 mov rcx, [rsi+1D8h] ; +0x218, 0x18000b538 mov rdx, [rsi+1E8h] ; +0x21f, 0x18000b53f mov rax, [rcx] ; +0x226, 0x18000b546 call qword ptr [rax+1C0h] ; +0x229, 0x18000b549 mov rbx, [rsi+1E0h] ; +0x22f, 0x18000b54f cmp rbx, r14 ; +0x236, 0x18000b556 jz short loc_18000B585 ; +0x239, 0x18000b559 test r14, r14 ; +0x23b, 0x18000b55b jz short loc_18000B569 ; +0x23e, 0x18000b55e mov rcx, r14 ; +0x240, 0x18000b560 call cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x243, 0x18000b563 mov rcx, [rsi+1E0h] ; +0x249, 0x18000b569 test rcx, rcx ; +0x250, 0x18000b570 jz short loc_18000B57B ; +0x253, 0x18000b573 call cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x255, 0x18000b575 mov [rsi+1E0h], r14 ; +0x25b, 0x18000b57b mov rbx, r14 ; +0x262, 0x18000b582 mov rax, [rdi] ; +0x265, 0x18000b585 mov rcx, rdi ; +0x268, 0x18000b588 mov rbx, [rbx] ; +0x26b, 0x18000b58b call qword ptr [rax+130h] ; +0x26e, 0x18000b58e mov rcx, r14 ; +0x274, 0x18000b594 movss xmm7, dword ptr [rax+4] ; +0x277, 0x18000b597 mov rax, [r14] ; +0x27c, 0x18000b59c call qword ptr [rax+130h] ; +0x27f, 0x18000b59f mov rcx, rdi ; +0x285, 0x18000b5a5 movss xmm6, dword ptr [rax] ; +0x288, 0x18000b5a8 mov rax, [rdi] ; +0x28c, 0x18000b5ac call qword ptr [rax+130h] ; +0x28f, 0x18000b5af mulss xmm6, xmm8 ; +0x295, 0x18000b5b5 lea rcx, [rsp+88h+arg_18] ; +0x29a, 0x18000b5ba mulss xmm7, xmm8 ; +0x2a2, 0x18000b5c2 addss xmm6, dword ptr [rax] ; +0x2a7, 0x18000b5c7 movaps xmm2, xmm7 ; +0x2ab, 0x18000b5cb movaps xmm1, xmm6 ; +0x2ae, 0x18000b5ce call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x2b1, 0x18000b5d1 mov rcx, [rsi+1E0h] ; +0x2b7, 0x18000b5d7 mov rdx, rax ; +0x2be, 0x18000b5de call qword ptr [rbx+0B8h] ; +0x2c1, 0x18000b5e1 mov rax, [rsi] ; +0x2c7, 0x18000b5e7 mov rcx, rsi ; +0x2ca, 0x18000b5ea mov rdx, [rsi+1E0h] ; +0x2cd, 0x18000b5ed call qword ptr [rax+1C0h] ; +0x2d4, 0x18000b5f4 movss xmm2, cs:dword_1800295A8 ; +0x2da, 0x18000b5fa lea rdx, aCouriernewpsmt; "CourierNewPSMT" ; +0x2e2, 0x18000b602 lea rcx, asc_180025F3C; "+" ; +0x2e9, 0x18000b609 call cs:?create@CCLabelTTF@cocos2d@@SAPEAV12@PEBD0M@Z; cocos2d::CCLabelTTF::create(char const *,char const *,float) ; +0x2f0, 0x18000b610 mov rcx, [rsi+1F0h] ; +0x2f6, 0x18000b616 mov rbx, rax ; +0x2fd, 0x18000b61d movaps xmm7, [rsp+88h+var_28] ; +0x300, 0x18000b620 cmp rcx, rax ; +0x305, 0x18000b625 jz short loc_18000B654 ; +0x308, 0x18000b628 test rax, rax ; +0x30a, 0x18000b62a jz short loc_18000B638 ; +0x30d, 0x18000b62d mov rcx, rax ; +0x30f, 0x18000b62f call cs:?retain@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::retain(void) ; +0x312, 0x18000b632 mov rcx, [rsi+1F0h] ; +0x318, 0x18000b638 test rcx, rcx ; +0x31f, 0x18000b63f jz short loc_18000B64A ; +0x322, 0x18000b642 call cs:?release@CCObject@cocos2d@@QEAAXXZ; cocos2d::CCObject::release(void) ; +0x324, 0x18000b644 mov [rsi+1F0h], rbx ; +0x32a, 0x18000b64a mov rcx, rbx ; +0x331, 0x18000b651 add rcx, 140h ; +0x334, 0x18000b654 mov [rsp+88h+arg_18], 3737h ; +0x33b, 0x18000b65b mov [rsp+88h+arg_1A], 37h ; '7' ; +0x345, 0x18000b665 lea rdx, [rsp+88h+arg_18] ; +0x34d, 0x18000b66d mov rax, [rcx] ; +0x355, 0x18000b675 call qword ptr [rax] ; +0x358, 0x18000b678 mov rax, [rsi+1F0h] ; +0x35a, 0x18000b67a mov rcx, [rsi+1E0h] ; +0x361, 0x18000b681 mov rbx, [rax] ; +0x368, 0x18000b688 mov rax, [rcx] ; +0x36b, 0x18000b68b call qword ptr [rax+130h] ; +0x36e, 0x18000b68e mov rcx, [rsi+1E0h] ; +0x374, 0x18000b694 movss xmm6, dword ptr [rax+4] ; +0x37b, 0x18000b69b mov rax, [rcx] ; +0x380, 0x18000b6a0 call qword ptr [rax+130h] ; +0x383, 0x18000b6a3 mulss xmm6, xmm8 ; +0x389, 0x18000b6a9 lea rcx, [rsp+88h+arg_18] ; +0x38e, 0x18000b6ae movss xmm1, dword ptr [rax] ; +0x396, 0x18000b6b6 mulss xmm1, xmm8 ; +0x39a, 0x18000b6ba movaps xmm2, xmm6 ; +0x39f, 0x18000b6bf call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x3a2, 0x18000b6c2 mov rcx, [rsi+1F0h] ; +0x3a8, 0x18000b6c8 mov rdx, rax ; +0x3af, 0x18000b6cf call qword ptr [rbx+0B8h] ; +0x3b2, 0x18000b6d2 mov rcx, [rsi+1E0h] ; +0x3b8, 0x18000b6d8 mov rdx, [rsi+1F0h] ; +0x3bf, 0x18000b6df mov rax, [rcx] ; +0x3c6, 0x18000b6e6 call qword ptr [rax+1C0h] ; +0x3c9, 0x18000b6e9 mov rcx, [rsi+1E0h] ; +0x3cf, 0x18000b6ef lea rdx, [rsp+88h+var_58] ; +0x3d6, 0x18000b6f6 call cs:?boundingBox@CCNode@cocos2d@@QEAA?AVCCRect@2@XZ; cocos2d::CCNode::boundingBox(void) ; +0x3db, 0x18000b6fb mov rcx, [rsi+1D8h] ; +0x3e1, 0x18000b701 lea rdx, [rsp+88h+var_48] ; +0x3e8, 0x18000b708 mov rbx, rax ; +0x3ed, 0x18000b70d call cs:?boundingBox@CCNode@cocos2d@@QEAA?AVCCRect@2@XZ; cocos2d::CCNode::boundingBox(void) ; +0x3f0, 0x18000b710 mov r8, rbx ; +0x3f6, 0x18000b716 lea rcx, [rsp+88h+var_68] ; +0x3f9, 0x18000b719 mov rdx, rax ; +0x3fe, 0x18000b71e call ?CCRectUnion@CCControlUtils@extension@cocos2d@@SA?AVCCRect@3@AEBV43@0@Z; cocos2d::extension::CCControlUtils::CCRectUnion(cocos2d::CCRect const &,cocos2d::CCRect const &) ; +0x401, 0x18000b721 mov rcx, [rsi+1E0h] ; +0x406, 0x18000b726 mov rdi, [rsi] ; +0x40d, 0x18000b72d mov rax, [rcx] ; +0x410, 0x18000b730 call qword ptr [rax+130h] ; +0x413, 0x18000b733 mov rcx, [rsi+1D8h] ; +0x419, 0x18000b739 mov rbx, rax ; +0x420, 0x18000b740 mov rdx, [rcx] ; +0x423, 0x18000b743 call qword ptr [rdx+130h] ; +0x426, 0x18000b746 movss xmm1, dword ptr [rbx+4] ; +0x42c, 0x18000b74c lea rcx, [rsp+88h+arg_18] ; +0x431, 0x18000b751 movss xmm2, [rsp+88h+var_5C] ; +0x439, 0x18000b759 addss xmm1, dword ptr [rax] ; +0x43f, 0x18000b75f call cs:??0CCSize@cocos2d@@QEAA@MM@Z; cocos2d::CCSize::CCSize(float,float) ; +0x443, 0x18000b763 mov rdx, rax ; +0x449, 0x18000b769 mov rcx, rsi ; +0x44c, 0x18000b76c call qword ptr [rdi+128h] ; +0x44f, 0x18000b76f movaps xmm8, [rsp+88h+var_38] ; +0x455, 0x18000b775 mov al, 1 ; +0x45b, 0x18000b77b movaps xmm6, [rsp+88h+var_18] ; +0x45d, 0x18000b77d mov rbx, [rsp+88h+arg_0] ; +0x462, 0x18000b782 jmp short loc_18000B78E ; +0x46a, 0x18000b78a xor al, al ; +0x46c, 0x18000b78c lea r11, [rsp+88h+var_8] ; +0x46e, 0x18000b78e mov rsi, [r11+18h] ; +0x476, 0x18000b796 mov rdi, [r11+20h] ; +0x47a, 0x18000b79a mov rsp, r11 ; +0x47e, 0x18000b79e pop r14 ; +0x481, 0x18000b7a1 retn ; +0x483, 0x18000b7a3