; ; cocos2d::extension::CCScrollView::beforeDraw from 0x180013600 to 0x180013797 (407 bytes) ; ; 5 xrefs: ; > cocos2d::extension::CCScrollView::visit @ 0x180013867 ; > @ 0x18002ea20 ; > @ 0x18002ea60 ; > @ 0x18002fdf8 ; > @ 0x18004a4f4 ; ; 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, 0x180013600 sub rsp, 90h ; +0x2, 0x180013602 cmp byte ptr [rcx+1DDh], 0 ; +0x9, 0x180013609 mov rbx, rcx ; +0x10, 0x180013610 jz loc_18001374D ; +0x13, 0x180013613 lea rdx, [rsp+98h+var_68] ; +0x19, 0x180013619 mov byte ptr [rcx+220h], 0 ; +0x1e, 0x18001361e call ?getViewRect@CCScrollView@extension@cocos2d@@IEAA?AVCCRect@3@XZ; cocos2d::extension::CCScrollView::getViewRect(void) ; +0x25, 0x180013625 call cs:?sharedOpenGLView@CCEGLView@cocos2d@@SAPEAV12@XZ; cocos2d::CCEGLView::sharedOpenGLView(void) ; +0x2a, 0x18001362a mov rcx, rax ; +0x30, 0x180013630 mov rdx, [rax] ; +0x33, 0x180013633 call qword ptr [rdx+70h] ; +0x36, 0x180013636 test al, al ; +0x39, 0x180013639 jz loc_180013756 ; +0x3b, 0x18001363b mov [rsp+98h+arg_0], rdi ; +0x41, 0x180013641 mov byte ptr [rbx+220h], 1 ; +0x49, 0x180013649 call cs:?sharedOpenGLView@CCEGLView@cocos2d@@SAPEAV12@XZ; cocos2d::CCEGLView::sharedOpenGLView(void) ; +0x50, 0x180013650 lea rdx, [rsp+98h+var_58] ; +0x56, 0x180013656 mov rcx, rax ; +0x5b, 0x18001365b mov r8, [rax] ; +0x5e, 0x18001365e call qword ptr [r8+78h] ; +0x61, 0x180013661 mov rdx, rax ; +0x65, 0x180013665 lea rcx, [rbx+210h] ; +0x68, 0x180013668 call cs:??4CCRect@cocos2d@@QEAAAEAV01@AEBV01@@Z; cocos2d::CCRect::operator=(cocos2d::CCRect const &) ; +0x6f, 0x18001366f lea rdx, [rbx+210h] ; +0x75, 0x180013675 lea rcx, [rsp+98h+var_68] ; +0x7c, 0x18001367c call cs:?intersectsRect@CCRect@cocos2d@@QEBA_NAEBV12@@Z; cocos2d::CCRect::intersectsRect(cocos2d::CCRect const &) ; +0x81, 0x180013681 test al, al ; +0x87, 0x180013687 jz loc_180013745 ; +0x89, 0x180013689 movss xmm0, [rsp+98h+var_68] ; +0x8f, 0x18001368f movss xmm1, [rsp+98h+var_64] ; +0x95, 0x180013695 movss xmm2, dword ptr [rbx+210h] ; +0x9b, 0x18001369b movss xmm4, dword ptr [rbx+214h] ; +0xa3, 0x1800136a3 movaps [rsp+98h+var_18], xmm6 ; +0xab, 0x1800136ab movss xmm6, [rsp+98h+var_5C] ; +0xb3, 0x1800136b3 movaps [rsp+98h+var_28], xmm7 ; +0xb9, 0x1800136b9 addss xmm6, xmm1 ; +0xbe, 0x1800136be movss xmm7, [rsp+98h+var_60] ; +0xc2, 0x1800136c2 movaps [rsp+98h+var_38], xmm8 ; +0xc8, 0x1800136c8 addss xmm7, xmm0 ; +0xce, 0x1800136ce movaps [rsp+98h+var_48], xmm9 ; +0xd2, 0x1800136d2 movaps xmm8, xmm1 ; +0xd8, 0x1800136d8 movaps xmm9, xmm0 ; +0xdc, 0x1800136dc maxss xmm8, xmm4 ; +0xe0, 0x1800136e0 addss xmm4, dword ptr [rbx+21Ch] ; +0xe5, 0x1800136e5 maxss xmm9, xmm2 ; +0xed, 0x1800136ed addss xmm2, dword ptr [rbx+218h] ; +0xf2, 0x1800136f2 minss xmm6, xmm4 ; +0xfa, 0x1800136fa minss xmm7, xmm2 ; +0xfe, 0x1800136fe call cs:?sharedOpenGLView@CCEGLView@cocos2d@@SAPEAV12@XZ; cocos2d::CCEGLView::sharedOpenGLView(void) ; +0x102, 0x180013702 subss xmm7, xmm9 ; +0x108, 0x180013708 movaps xmm2, xmm8 ; +0x10d, 0x18001370d subss xmm6, xmm8 ; +0x111, 0x180013711 movaps xmm1, xmm9 ; +0x116, 0x180013716 mov rcx, rax ; +0x11a, 0x18001371a mov rdx, [rax] ; +0x11d, 0x18001371d movaps xmm3, xmm7 ; +0x120, 0x180013720 movss [rsp+98h+var_78], xmm6 ; +0x123, 0x180013723 call qword ptr [rdx+68h] ; +0x129, 0x180013729 movaps xmm9, [rsp+98h+var_48] ; +0x12c, 0x18001372c movaps xmm8, [rsp+98h+var_38] ; +0x132, 0x180013732 movaps xmm7, [rsp+98h+var_28] ; +0x138, 0x180013738 movaps xmm6, [rsp+98h+var_18] ; +0x13d, 0x18001373d mov rdi, [rsp+98h+arg_0] ; +0x145, 0x180013745 add rsp, 90h ; +0x14d, 0x18001374d pop rbx ; +0x154, 0x180013754 retn ; +0x155, 0x180013755 mov ecx, 0C11h; cap ; +0x156, 0x180013756 call cs:glEnable ; +0x15b, 0x18001375b call cs:?sharedOpenGLView@CCEGLView@cocos2d@@SAPEAV12@XZ; cocos2d::CCEGLView::sharedOpenGLView(void) ; +0x161, 0x180013761 movss xmm0, [rsp+98h+var_5C] ; +0x167, 0x180013767 mov rcx, rax ; +0x16d, 0x18001376d movss xmm3, [rsp+98h+var_60] ; +0x170, 0x180013770 movss xmm2, [rsp+98h+var_64] ; +0x176, 0x180013776 mov rdx, [rax] ; +0x17c, 0x18001377c movss xmm1, [rsp+98h+var_68] ; +0x17f, 0x18001377f movss [rsp+98h+var_78], xmm0 ; +0x185, 0x180013785 call qword ptr [rdx+68h] ; +0x18b, 0x18001378b add rsp, 90h ; +0x18e, 0x18001378e pop rbx ; +0x195, 0x180013795 retn ; +0x196, 0x180013796