; ; sub_18000C4D0 from 0x18000c4d0 to 0x18000c668 (408 bytes) ; ; 2 xrefs: ; > @ 0x180026ee8 ; > @ 0x180049d50 ; ; 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, 0x18000c4d0 sub rsp, 30h ; +0x2, 0x18000c4d2 mov rbx, rcx ; +0x6, 0x18000c4d6 mov ecx, [rcx+0F8h] ; +0x9, 0x18000c4d9 call cs:?ccGLEnable@cocos2d@@YAXW4ccGLServerState@1@@Z; cocos2d::ccGLEnable(cocos2d::ccGLServerState) ; +0xf, 0x18000c4df mov rax, [rbx] ; +0x15, 0x18000c4e5 mov rcx, rbx ; +0x18, 0x18000c4e8 call qword ptr [rax+278h] ; +0x1b, 0x18000c4eb mov rax, [rbx] ; +0x21, 0x18000c4f1 mov rcx, rbx ; +0x24, 0x18000c4f4 call qword ptr [rax+278h] ; +0x27, 0x18000c4f7 mov rcx, rax ; +0x2d, 0x18000c4fd call cs:?use@CCGLProgram@cocos2d@@QEAAXXZ; cocos2d::CCGLProgram::use(void) ; +0x30, 0x18000c500 mov rax, [rbx] ; +0x36, 0x18000c506 mov rcx, rbx ; +0x39, 0x18000c509 call qword ptr [rax+278h] ; +0x3c, 0x18000c50c mov rcx, rax ; +0x42, 0x18000c512 call cs:?setUniformsForBuiltins@CCGLProgram@cocos2d@@QEAAXXZ; cocos2d::CCGLProgram::setUniformsForBuiltins(void) ; +0x45, 0x18000c515 mov ecx, 7 ; +0x4b, 0x18000c51b call cs:?ccGLEnableVertexAttribs@cocos2d@@YAXI@Z; cocos2d::ccGLEnableVertexAttribs(uint) ; +0x50, 0x18000c520 mov edx, 303h ; +0x56, 0x18000c526 lea ecx, [rdx-1] ; +0x5b, 0x18000c52b call cs:?ccGLBlendFunc@cocos2d@@YAXII@Z; cocos2d::ccGLBlendFunc(uint,uint) ; +0x5e, 0x18000c52e mov rax, [rbx] ; +0x64, 0x18000c534 mov rcx, rbx ; +0x67, 0x18000c537 call qword ptr [rax+278h] ; +0x6a, 0x18000c53a mov rcx, rax ; +0x70, 0x18000c540 call cs:?setUniformsForBuiltins@CCGLProgram@cocos2d@@QEAAXXZ; cocos2d::CCGLProgram::setUniformsForBuiltins(void) ; +0x73, 0x18000c543 mov rax, cs:__glewActiveTexture ; +0x79, 0x18000c549 mov ecx, 84C0h ; +0x80, 0x18000c550 call qword ptr [rax] ; +0x85, 0x18000c555 lea rcx, [rbx+158h] ; +0x87, 0x18000c557 mov rax, [rcx] ; +0x8e, 0x18000c55e call qword ptr [rax+10h] ; +0x91, 0x18000c561 mov rcx, rax ; +0x94, 0x18000c564 mov rdx, [rax] ; +0x97, 0x18000c567 call qword ptr [rdx+60h] ; +0x9a, 0x18000c56a mov edx, eax ; +0x9d, 0x18000c56d xor ecx, ecx ; +0x9f, 0x18000c56f call cs:?ccGLBindTexture2DN@cocos2d@@YAXII@Z; cocos2d::ccGLBindTexture2DN(uint,uint) ; +0xa1, 0x18000c571 mov rax, cs:__glewUniform1i ; +0xa7, 0x18000c577 xor edx, edx ; +0xae, 0x18000c57e mov ecx, [rbx+278h] ; +0xb0, 0x18000c580 call qword ptr [rax] ; +0xb6, 0x18000c586 mov rax, cs:__glewActiveTexture ; +0xb8, 0x18000c588 mov ecx, 84C1h ; +0xbf, 0x18000c58f call qword ptr [rax] ; +0xc4, 0x18000c594 mov rcx, [rbx+270h] ; +0xc6, 0x18000c596 mov rax, [rcx] ; +0xcd, 0x18000c59d call qword ptr [rax+60h] ; +0xd0, 0x18000c5a0 mov edx, eax ; +0xd3, 0x18000c5a3 mov ecx, 1 ; +0xd5, 0x18000c5a5 call cs:?ccGLBindTexture2DN@cocos2d@@YAXII@Z; cocos2d::ccGLBindTexture2DN(uint,uint) ; +0xda, 0x18000c5aa mov rax, cs:__glewUniform1i ; +0xe0, 0x18000c5b0 mov edx, 1 ; +0xe7, 0x18000c5b7 mov ecx, [rbx+27Ch] ; +0xec, 0x18000c5bc call qword ptr [rax] ; +0xf2, 0x18000c5c2 mov rax, cs:__glewVertexAttribPointer ; +0xf4, 0x18000c5c4 xor r9d, r9d ; +0xfb, 0x18000c5cb add rbx, 1CCh ; +0xfe, 0x18000c5ce xor ecx, ecx ; +0x105, 0x18000c5d5 mov [rsp+38h+var_10], rbx ; +0x107, 0x18000c5d7 mov r8d, 1406h ; +0x10c, 0x18000c5dc mov [rsp+38h+var_18], 18h ; +0x112, 0x18000c5e2 lea edx, [r9+3] ; +0x11a, 0x18000c5ea call qword ptr [rax] ; +0x11e, 0x18000c5ee lea rax, [rbx+10h] ; +0x120, 0x18000c5f0 mov edx, 2 ; +0x124, 0x18000c5f4 mov [rsp+38h+var_10], rax ; +0x129, 0x18000c5f9 xor r9d, r9d ; +0x12e, 0x18000c5fe mov rax, cs:__glewVertexAttribPointer ; +0x131, 0x18000c601 mov ecx, edx ; +0x138, 0x18000c608 mov r8d, 1406h ; +0x13a, 0x18000c60a mov [rsp+38h+var_18], 18h ; +0x140, 0x18000c610 call qword ptr [rax] ; +0x148, 0x18000c618 lea rax, [rbx+0Ch] ; +0x14a, 0x18000c61a mov edx, 4 ; +0x14e, 0x18000c61e mov [rsp+38h+var_10], rax ; +0x153, 0x18000c623 mov r9b, 1 ; +0x158, 0x18000c628 mov rax, cs:__glewVertexAttribPointer ; +0x15b, 0x18000c62b mov r8d, 1401h ; +0x162, 0x18000c632 mov [rsp+38h+var_18], 18h ; +0x168, 0x18000c638 lea ecx, [rdx-3] ; +0x170, 0x18000c640 call qword ptr [rax] ; +0x173, 0x18000c643 xor edx, edx; first ; +0x175, 0x18000c645 lea ecx, [rdx+5]; mode ; +0x177, 0x18000c647 lea r8d, [rdx+4]; count ; +0x17a, 0x18000c64a call cs:glDrawArrays ; +0x17e, 0x18000c64e mov rax, cs:__glewActiveTexture ; +0x184, 0x18000c654 mov ecx, 84C0h ; +0x18b, 0x18000c65b add rsp, 30h ; +0x190, 0x18000c660 pop rbx ; +0x194, 0x18000c664 jmp qword ptr [rax] ; +0x195, 0x18000c665