; ; cocos2d::extension::CCScrollView::relocateContainer from 0x180012dc0 to 0x180012ecc (268 bytes) ; ; 3 xrefs: ; > cocos2d::extension::CCScrollView::deaccelerateScrolling @ 0x1800132a1 ; > @ 0x18002fdf8 ; > @ 0x18004a44c ; ; 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], rbx ; +0x0, 0x180012dc0 push rdi ; +0x5, 0x180012dc5 sub rsp, 30h ; +0x6, 0x180012dc6 mov rbx, rcx ; +0xa, 0x180012dca movzx edi, dl ; +0xd, 0x180012dcd lea rcx, [rsp+38h+arg_0] ; +0x10, 0x180012dd0 call cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x15, 0x180012dd5 lea rcx, [rsp+38h+arg_18] ; +0x1b, 0x180012ddb call cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x20, 0x180012de0 lea rcx, [rsp+38h+arg_10] ; +0x26, 0x180012de6 call cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x2b, 0x180012deb lea rdx, [rsp+38h+var_18] ; +0x31, 0x180012df1 mov rcx, rbx ; +0x36, 0x180012df6 call ?minContainerOffset@CCScrollView@extension@cocos2d@@QEAA?AVCCPoint@3@XZ; cocos2d::extension::CCScrollView::minContainerOffset(void) ; +0x39, 0x180012df9 mov rdx, rax ; +0x3e, 0x180012dfe lea rcx, [rsp+38h+arg_18] ; +0x41, 0x180012e01 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x46, 0x180012e06 xorps xmm2, xmm2 ; +0x4c, 0x180012e0c lea rcx, [rsp+38h+var_18] ; +0x4f, 0x180012e0f xorps xmm1, xmm1 ; +0x54, 0x180012e14 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x57, 0x180012e17 lea rdx, [rsp+38h+var_18] ; +0x5d, 0x180012e1d lea rcx, [rsp+38h+arg_10] ; +0x62, 0x180012e22 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x67, 0x180012e27 mov rcx, [rbx+1C0h] ; +0x6d, 0x180012e2d mov rax, [rcx] ; +0x74, 0x180012e34 call qword ptr [rax+0C8h] ; +0x77, 0x180012e37 mov rdx, rax ; +0x7d, 0x180012e3d lea rcx, [rsp+38h+arg_0] ; +0x80, 0x180012e40 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x85, 0x180012e45 movss xmm1, [rsp+38h+arg_0] ; +0x8b, 0x180012e4b movss xmm2, [rsp+38h+arg_4] ; +0x91, 0x180012e51 movaps xmm4, xmm1 ; +0x97, 0x180012e57 mov eax, [rbx+1B0h] ; +0x9a, 0x180012e5a movaps xmm3, xmm2 ; +0xa0, 0x180012e60 test eax, 0FFFFFFFDh ; +0xa3, 0x180012e63 jnz short loc_180012E7E ; +0xa8, 0x180012e68 movss xmm0, [rsp+38h+arg_18] ; +0xaa, 0x180012e6a movss xmm1, [rsp+38h+arg_10] ; +0xb0, 0x180012e70 maxss xmm0, xmm4 ; +0xb6, 0x180012e76 minss xmm1, xmm0 ; +0xba, 0x180012e7a dec eax ; +0xbe, 0x180012e7e cmp eax, 1 ; +0xc0, 0x180012e80 ja short loc_180012E99 ; +0xc3, 0x180012e83 movss xmm0, [rsp+38h+arg_14] ; +0xc5, 0x180012e85 movss xmm2, [rsp+38h+arg_1C] ; +0xcb, 0x180012e8b minss xmm0, xmm3 ; +0xd1, 0x180012e91 maxss xmm2, xmm0 ; +0xd5, 0x180012e95 ucomiss xmm2, xmm3 ; +0xd9, 0x180012e99 jp short loc_180012EA7 ; +0xdc, 0x180012e9c jnz short loc_180012EA7 ; +0xde, 0x180012e9e ucomiss xmm1, xmm4 ; +0xe0, 0x180012ea0 jp short loc_180012EA7 ; +0xe3, 0x180012ea3 jz short loc_180012EC1 ; +0xe5, 0x180012ea5 lea rcx, [rsp+38h+var_18] ; +0xe7, 0x180012ea7 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0xec, 0x180012eac movzx r8d, dil ; +0xf2, 0x180012eb2 mov rcx, rbx ; +0xf6, 0x180012eb6 mov rdx, rax ; +0xf9, 0x180012eb9 call ?setContentOffset@CCScrollView@extension@cocos2d@@QEAAXVCCPoint@3@_N@Z; cocos2d::extension::CCScrollView::setContentOffset(cocos2d::CCPoint,bool) ; +0xfc, 0x180012ebc mov rbx, [rsp+38h+arg_8] ; +0x101, 0x180012ec1 add rsp, 30h ; +0x106, 0x180012ec6 pop rdi ; +0x10a, 0x180012eca retn ; +0x10b, 0x180012ecb