; ; cocos2d::extension::CCScrollView::deaccelerateScrolling from 0x180012fd0 to 0x1800132b7 (743 bytes) ; ; 7 xrefs: ; > cocos2d::extension::CCScrollView::deaccelerateScrolling @ 0x180012fe2 ; > cocos2d::extension::CCScrollView::deaccelerateScrolling @ 0x18001328c ; > cocos2d::extension::CCScrollView::ccTouchEnded @ 0x180013fd5 ; > @ 0x18002e998 ; > @ 0x18002e9b0 ; > @ 0x18002fdf8 ; > @ 0x18004a470 ; ; 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, 0x180012fd0 sub rsp, 60h ; +0x2, 0x180012fd2 cmp byte ptr [rcx+1B4h], 0 ; +0x6, 0x180012fd6 mov rbx, rcx ; +0xd, 0x180012fdd jz short loc_180012FF5 ; +0x10, 0x180012fe0 lea rdx, ?deaccelerateScrolling@CCScrollView@extension@cocos2d@@AEAAXM@Z; cocos2d::extension::CCScrollView::deaccelerateScrolling(float) ; +0x12, 0x180012fe2 call cs:?unschedule@CCNode@cocos2d@@QEAAXP8CCObject@2@EAAXM@Z@Z; cocos2d::CCNode::unschedule(void (cocos2d::CCObject::*)(float)) ; +0x19, 0x180012fe9 add rsp, 60h ; +0x1f, 0x180012fef pop rbx ; +0x23, 0x180012ff3 retn ; +0x24, 0x180012ff4 mov [rsp+68h+arg_8], rdi ; +0x25, 0x180012ff5 lea rcx, [rsp+68h+arg_0] ; +0x2a, 0x180012ffa movaps [rsp+68h+var_18], xmm6 ; +0x2f, 0x180012fff movaps [rsp+68h+var_28], xmm7 ; +0x34, 0x180013004 movaps [rsp+68h+var_38], xmm8 ; +0x39, 0x180013009 call cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x3f, 0x18001300f lea rcx, [rsp+68h+arg_10] ; +0x45, 0x180013015 call cs:??0CCPoint@cocos2d@@QEAA@XZ; cocos2d::CCPoint::CCPoint(void) ; +0x4d, 0x18001301d mov rcx, [rbx+1C0h] ; +0x53, 0x180013023 mov rax, [rcx] ; +0x5a, 0x18001302a call qword ptr [rax+0C8h] ; +0x5d, 0x18001302d lea rdi, [rbx+1E0h] ; +0x63, 0x180013033 mov rcx, rax ; +0x6a, 0x18001303a mov r8, rdi ; +0x6d, 0x18001303d lea rdx, [rsp+68h+arg_18] ; +0x70, 0x180013040 call cs:??HCCPoint@cocos2d@@QEBA?AV01@AEBV01@@Z; cocos2d::CCPoint::operator+(cocos2d::CCPoint const &) ; +0x78, 0x180013048 mov rcx, [rbx+1C0h] ; +0x7e, 0x18001304e lea rdx, [rsp+68h+arg_18] ; +0x85, 0x180013055 mov rax, [rcx] ; +0x8d, 0x18001305d call qword ptr [rax+0B8h] ; +0x90, 0x180013060 cmp byte ptr [rbx+1DCh], 0 ; +0x96, 0x180013066 jz short loc_18001308A ; +0x9d, 0x18001306d lea rdx, [rbx+1CCh] ; +0x9f, 0x18001306f lea rcx, [rsp+68h+arg_0] ; +0xa6, 0x180013076 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0xab, 0x18001307b lea rdx, [rbx+1D4h] ; +0xb1, 0x180013081 jmp short loc_1800130C4 ; +0xb8, 0x180013088 xorps xmm2, xmm2 ; +0xba, 0x18001308a lea rcx, [rsp+68h+arg_18] ; +0xbd, 0x18001308d xorps xmm1, xmm1 ; +0xc5, 0x180013095 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0xc8, 0x180013098 lea rdx, [rsp+68h+arg_18] ; +0xce, 0x18001309e lea rcx, [rsp+68h+arg_0] ; +0xd6, 0x1800130a6 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0xdb, 0x1800130ab lea rdx, [rsp+68h+arg_18] ; +0xe1, 0x1800130b1 mov rcx, rbx ; +0xe9, 0x1800130b9 call ?minContainerOffset@CCScrollView@extension@cocos2d@@QEAA?AVCCPoint@3@XZ; cocos2d::extension::CCScrollView::minContainerOffset(void) ; +0xec, 0x1800130bc mov rdx, rax ; +0xf1, 0x1800130c1 lea rcx, [rsp+68h+arg_10] ; +0xf4, 0x1800130c4 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0xfc, 0x1800130cc mov rcx, [rbx+1C0h] ; +0x102, 0x1800130d2 mov rax, [rcx] ; +0x109, 0x1800130d9 call qword ptr [rax+0C8h] ; +0x10c, 0x1800130dc movss xmm0, [rsp+68h+arg_0] ; +0x112, 0x1800130e2 comiss xmm0, dword ptr [rax] ; +0x118, 0x1800130e8 jbe short loc_1800130FD ; +0x11b, 0x1800130eb mov rcx, [rbx+1C0h] ; +0x11d, 0x1800130ed mov rax, [rcx] ; +0x124, 0x1800130f4 call qword ptr [rax+0C8h] ; +0x127, 0x1800130f7 mov rcx, [rbx+1C0h] ; +0x12d, 0x1800130fd mov rax, [rcx] ; +0x134, 0x180013104 call qword ptr [rax+0C8h] ; +0x137, 0x180013107 movss xmm0, [rsp+68h+arg_4] ; +0x13d, 0x18001310d comiss xmm0, dword ptr [rax+4] ; +0x143, 0x180013113 jbe short loc_180013129 ; +0x147, 0x180013117 mov rcx, [rbx+1C0h] ; +0x149, 0x180013119 mov rax, [rcx] ; +0x150, 0x180013120 call qword ptr [rax+0C8h] ; +0x153, 0x180013123 mov rcx, [rbx+1C0h] ; +0x159, 0x180013129 mov rax, [rcx] ; +0x160, 0x180013130 call qword ptr [rax+0C8h] ; +0x163, 0x180013133 mov rcx, [rbx+1C0h] ; +0x169, 0x180013139 movss xmm8, dword ptr [rax] ; +0x170, 0x180013140 mov rax, [rcx] ; +0x175, 0x180013145 call qword ptr [rax+0C8h] ; +0x178, 0x180013148 mov rcx, [rbx+1C0h] ; +0x17e, 0x18001314e movss xmm7, dword ptr [rax+4] ; +0x185, 0x180013155 mov rax, [rcx] ; +0x18a, 0x18001315a call qword ptr [rax+0C8h] ; +0x18d, 0x18001315d mov rcx, [rbx+1C0h] ; +0x193, 0x180013163 movss xmm6, dword ptr [rax+4] ; +0x19a, 0x18001316a mov rax, [rcx] ; +0x19f, 0x18001316f call qword ptr [rax+0C8h] ; +0x1a2, 0x180013172 movaps xmm2, xmm7 ; +0x1a8, 0x180013178 lea rcx, [rsp+68h+var_48] ; +0x1ab, 0x18001317b movaps xmm1, xmm8 ; +0x1b0, 0x180013180 subss xmm2, xmm6 ; +0x1b4, 0x180013184 subss xmm1, dword ptr [rax] ; +0x1b8, 0x180013188 call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x1bc, 0x18001318c lea rdx, [rsp+68h+arg_18] ; +0x1c2, 0x180013192 mov rcx, rdi ; +0x1ca, 0x18001319a mov r8, rax ; +0x1cd, 0x18001319d call cs:??GCCPoint@cocos2d@@QEBA?AV01@AEBV01@@Z; cocos2d::CCPoint::operator-(cocos2d::CCPoint const &) ; +0x1d0, 0x1800131a0 lea rdx, [rsp+68h+arg_18] ; +0x1d6, 0x1800131a6 mov rcx, rdi ; +0x1de, 0x1800131ae call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x1e1, 0x1800131b1 movss xmm2, cs:dword_180029514 ; +0x1e7, 0x1800131b7 lea rdx, [rsp+68h+arg_18] ; +0x1ef, 0x1800131bf mov rcx, rdi ; +0x1f7, 0x1800131c7 call cs:??DCCPoint@cocos2d@@QEBA?AV01@M@Z; cocos2d::CCPoint::operator*(float) ; +0x1fa, 0x1800131ca lea rdx, [rsp+68h+arg_18] ; +0x200, 0x1800131d0 mov rcx, rdi ; +0x208, 0x1800131d8 call cs:??4CCPoint@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCPoint::operator=(cocos2d::CCPoint const &) ; +0x20b, 0x1800131db movaps xmm2, xmm7 ; +0x211, 0x1800131e1 lea rcx, [rsp+68h+arg_18] ; +0x214, 0x1800131e4 movaps xmm1, xmm8 ; +0x21c, 0x1800131ec call cs:??0CCPoint@cocos2d@@QEAA@MM@Z; cocos2d::CCPoint::CCPoint(float,float) ; +0x220, 0x1800131f0 xor r8d, r8d ; +0x226, 0x1800131f6 mov rcx, rbx ; +0x229, 0x1800131f9 mov rdx, rax ; +0x22c, 0x1800131fc call ?setContentOffset@CCScrollView@extension@cocos2d@@QEAAXVCCPoint@3@_N@Z; cocos2d::extension::CCScrollView::setContentOffset(cocos2d::CCPoint,bool) ; +0x22f, 0x1800131ff movss xmm0, dword ptr [rdi] ; +0x234, 0x180013204 movss xmm1, dword ptr cs:xmmword_180029600 ; +0x238, 0x180013208 movss xmm2, cs:dword_180029518 ; +0x240, 0x180013210 andps xmm0, xmm1 ; +0x248, 0x180013218 comiss xmm2, xmm0 ; +0x24b, 0x18001321b mov rdi, [rsp+68h+arg_8] ; +0x24e, 0x18001321e movaps xmm6, [rsp+68h+var_18] ; +0x253, 0x180013223 jb short loc_18001323A ; +0x258, 0x180013228 movss xmm0, dword ptr [rbx+1E4h] ; +0x25a, 0x18001322a andps xmm0, xmm1 ; +0x262, 0x180013232 comiss xmm2, xmm0 ; +0x265, 0x180013235 jnb short loc_18001328C ; +0x268, 0x180013238 movss xmm0, [rsp+68h+arg_4] ; +0x26a, 0x18001323a comiss xmm7, xmm0 ; +0x270, 0x180013240 ja short loc_18001328C ; +0x273, 0x180013243 movss xmm1, [rsp+68h+arg_14] ; +0x275, 0x180013245 comiss xmm1, xmm7 ; +0x27e, 0x18001324e ja short loc_18001328C ; +0x281, 0x180013251 movss xmm2, [rsp+68h+arg_0] ; +0x283, 0x180013253 comiss xmm8, xmm2 ; +0x289, 0x180013259 ja short loc_18001328C ; +0x28d, 0x18001325d movss xmm3, [rsp+68h+arg_10] ; +0x28f, 0x18001325f comiss xmm3, xmm8 ; +0x298, 0x180013268 ja short loc_18001328C ; +0x29c, 0x18001326c ucomiss xmm8, xmm2 ; +0x29e, 0x18001326e jp short loc_180013276 ; +0x2a2, 0x180013272 jz short loc_18001328C ; +0x2a4, 0x180013274 ucomiss xmm8, xmm3 ; +0x2a6, 0x180013276 jp short loc_18001327E ; +0x2aa, 0x18001327a jz short loc_18001328C ; +0x2ac, 0x18001327c ucomiss xmm7, xmm0 ; +0x2ae, 0x18001327e jp short loc_180013285 ; +0x2b1, 0x180013281 jz short loc_18001328C ; +0x2b3, 0x180013283 ucomiss xmm7, xmm1 ; +0x2b5, 0x180013285 jp short loc_1800132A6 ; +0x2b8, 0x180013288 jnz short loc_1800132A6 ; +0x2ba, 0x18001328a lea rdx, ?deaccelerateScrolling@CCScrollView@extension@cocos2d@@AEAAXM@Z; cocos2d::extension::CCScrollView::deaccelerateScrolling(float) ; +0x2bc, 0x18001328c mov rcx, rbx ; +0x2c3, 0x180013293 call cs:?unschedule@CCNode@cocos2d@@QEAAXP8CCObject@2@EAAXM@Z@Z; cocos2d::CCNode::unschedule(void (cocos2d::CCObject::*)(float)) ; +0x2c6, 0x180013296 mov dl, 1; bool ; +0x2cc, 0x18001329c mov rcx, rbx; this ; +0x2ce, 0x18001329e call ?relocateContainer@CCScrollView@extension@cocos2d@@AEAAX_N@Z; cocos2d::extension::CCScrollView::relocateContainer(bool) ; +0x2d1, 0x1800132a1 movaps xmm7, [rsp+68h+var_28] ; +0x2d6, 0x1800132a6 movaps xmm8, [rsp+68h+var_38] ; +0x2db, 0x1800132ab add rsp, 60h ; +0x2e1, 0x1800132b1 pop rbx ; +0x2e5, 0x1800132b5 retn ; +0x2e6, 0x1800132b6