; ; cocos2d::extension::CCScrollView::visit from 0x180013810 to 0x180013980 (368 bytes) ; ; 6 xrefs: ; > @ 0x180028608 ; > @ 0x180028b80 ; > @ 0x18002ea78 ; > @ 0x18002eaac ; > @ 0x18002fdf8 ; > @ 0x18004a53c ; ; 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, 0x180013810 sub rsp, 30h ; +0x2, 0x180013812 mov rax, [rcx] ; +0x6, 0x180013816 mov rdi, rcx ; +0x9, 0x180013819 call qword ptr [rax+148h] ; +0xc, 0x18001381c test al, al ; +0x12, 0x180013822 jz loc_18001397A ; +0x14, 0x180013824 mov [rsp+38h+arg_8], rsi ; +0x1a, 0x18001382a call cs:kmGLPushMatrix ; +0x1f, 0x18001382f mov rcx, [rdi+0C8h] ; +0x25, 0x180013835 test rcx, rcx ; +0x2c, 0x18001383c jz short loc_180013856 ; +0x2f, 0x18001383f cmp byte ptr [rcx+38h], 0 ; +0x31, 0x180013841 jz short loc_180013856 ; +0x35, 0x180013845 call cs:?beforeDraw@CCGridBase@cocos2d@@QEAAXXZ; cocos2d::CCGridBase::beforeDraw(void) ; +0x37, 0x180013847 mov rcx, rdi ; +0x3d, 0x18001384d call cs:?transformAncestors@CCNode@cocos2d@@QEAAXXZ; cocos2d::CCNode::transformAncestors(void) ; +0x40, 0x180013850 mov rcx, rdi ; +0x46, 0x180013856 mov [rsp+38h+arg_0], rbx ; +0x49, 0x180013859 call cs:?transform@CCNode@cocos2d@@QEAAXXZ; cocos2d::CCNode::transform(void) ; +0x4e, 0x18001385e mov rcx, rdi; this ; +0x54, 0x180013864 call ?beforeDraw@CCScrollView@extension@cocos2d@@AEAAXXZ; cocos2d::extension::CCScrollView::beforeDraw(void) ; +0x57, 0x180013867 mov rsi, [rdi+0D0h] ; +0x5c, 0x18001386c test rsi, rsi ; +0x63, 0x180013873 jz short loc_1800138E9 ; +0x66, 0x180013876 mov rsi, [rsi+38h] ; +0x68, 0x180013878 xor ebx, ebx ; +0x6c, 0x18001387c cmp [rsi], ebx ; +0x6e, 0x18001387e jbe short loc_1800138BC ; +0x70, 0x180013880 mov [rsp+38h+arg_10], r14 ; +0x72, 0x180013882 nop word ptr [rax+rax+00000000h] ; +0x77, 0x180013887 mov rax, [rsi+10h] ; +0x80, 0x180013890 mov r14, [rax+rbx*8] ; +0x84, 0x180013894 mov rcx, r14 ; +0x88, 0x180013898 mov rax, [r14] ; +0x8b, 0x18001389b call qword ptr [rax+60h] ; +0x8e, 0x18001389e test eax, eax ; +0x91, 0x1800138a1 jns short loc_1800138B7 ; +0x93, 0x1800138a3 mov rax, [r14] ; +0x95, 0x1800138a5 mov rcx, r14 ; +0x98, 0x1800138a8 call qword ptr [rax+2D8h] ; +0x9b, 0x1800138ab inc ebx ; +0xa1, 0x1800138b1 cmp ebx, [rsi] ; +0xa3, 0x1800138b3 jb short loc_180013890 ; +0xa5, 0x1800138b5 mov r14, [rsp+38h+arg_10] ; +0xa7, 0x1800138b7 mov rax, [rdi] ; +0xac, 0x1800138bc mov rcx, rdi ; +0xaf, 0x1800138bf call qword ptr [rax+2D0h] ; +0xb2, 0x1800138c2 cmp ebx, [rsi] ; +0xb8, 0x1800138c8 jnb short loc_1800138F5 ; +0xba, 0x1800138ca nop dword ptr [rax+00h] ; +0xbc, 0x1800138cc mov rax, [rsi+10h] ; +0xc0, 0x1800138d0 mov rcx, [rax+rbx*8] ; +0xc4, 0x1800138d4 mov rax, [rcx] ; +0xc8, 0x1800138d8 call qword ptr [rax+2D8h] ; +0xcb, 0x1800138db inc ebx ; +0xd1, 0x1800138e1 cmp ebx, [rsi] ; +0xd3, 0x1800138e3 jb short loc_1800138D0 ; +0xd5, 0x1800138e5 jmp short loc_1800138F5 ; +0xd7, 0x1800138e7 mov rax, [rdi] ; +0xd9, 0x1800138e9 mov rcx, rdi ; +0xdc, 0x1800138ec call qword ptr [rax+2D0h] ; +0xdf, 0x1800138ef cmp byte ptr [rdi+1DDh], 0 ; +0xe5, 0x1800138f5 mov rsi, [rsp+38h+arg_8] ; +0xec, 0x1800138fc mov rbx, [rsp+38h+arg_0] ; +0xf1, 0x180013901 jz short loc_180013953 ; +0xf6, 0x180013906 cmp byte ptr [rdi+220h], 0 ; +0xf8, 0x180013908 jz short loc_180013948 ; +0xff, 0x18001390f call cs:?sharedOpenGLView@CCEGLView@cocos2d@@SAPEAV12@XZ; cocos2d::CCEGLView::sharedOpenGLView(void) ; +0x101, 0x180013911 movss xmm0, dword ptr [rdi+21Ch] ; +0x107, 0x180013917 mov rcx, rax ; +0x10f, 0x18001391f movss xmm3, dword ptr [rdi+218h] ; +0x112, 0x180013922 movss xmm2, dword ptr [rdi+214h] ; +0x11a, 0x18001392a mov rdx, [rax] ; +0x122, 0x180013932 movss xmm1, dword ptr [rdi+210h] ; +0x125, 0x180013935 movss [rsp+38h+var_18], xmm0 ; +0x12d, 0x18001393d call qword ptr [rdx+68h] ; +0x133, 0x180013943 jmp short loc_180013953 ; +0x136, 0x180013946 mov ecx, 0C11h; cap ; +0x138, 0x180013948 call cs:glDisable ; +0x13d, 0x18001394d mov rcx, [rdi+0C8h] ; +0x143, 0x180013953 test rcx, rcx ; +0x14a, 0x18001395a jz short loc_18001396E ; +0x14d, 0x18001395d cmp byte ptr [rcx+38h], 0 ; +0x14f, 0x18001395f jz short loc_18001396E ; +0x153, 0x180013963 mov rdx, rdi ; +0x155, 0x180013965 call cs:?afterDraw@CCGridBase@cocos2d@@QEAAXPEAVCCNode@2@@Z; cocos2d::CCGridBase::afterDraw(cocos2d::CCNode *) ; +0x158, 0x180013968 add rsp, 30h ; +0x15e, 0x18001396e pop rdi ; +0x162, 0x180013972 jmp cs:kmGLPopMatrix ; +0x163, 0x180013973 add rsp, 30h ; +0x16a, 0x18001397a pop rdi ; +0x16e, 0x18001397e retn ; +0x16f, 0x18001397f