// // 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 // __int64 __fastcall sub_18000C4D0(__int64 a1) { cocos2d::CCGLProgram *v2; // rax cocos2d::CCGLProgram *v3; // rax unsigned int v4; // edx unsigned int v5; // r8d cocos2d::CCGLProgram *v6; // rax __int64 v7; // rax unsigned int v8; // eax unsigned int v9; // r8d unsigned int v10; // eax unsigned int v11; // r8d cocos2d::ccGLEnable(*(unsigned int *)(a1 + 248)); (*(void (__fastcall **)(__int64))(*(_QWORD *)a1 + 632LL))(a1); v2 = (cocos2d::CCGLProgram *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)a1 + 632LL))(a1); cocos2d::CCGLProgram::use(v2); v3 = (cocos2d::CCGLProgram *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)a1 + 632LL))(a1); cocos2d::CCGLProgram::setUniformsForBuiltins(v3); cocos2d::ccGLEnableVertexAttribs((cocos2d *)7, v4); cocos2d::ccGLBlendFunc((cocos2d *)0x302, 0x303u, v5); v6 = (cocos2d::CCGLProgram *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)a1 + 632LL))(a1); cocos2d::CCGLProgram::setUniformsForBuiltins(v6); _glewActiveTexture(33984); v7 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)(a1 + 344) + 16LL))(a1 + 344); v8 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v7 + 96LL))(v7); cocos2d::ccGLBindTexture2DN(nullptr, v8, v9); _glewUniform1i(*(unsigned int *)(a1 + 632), 0); _glewActiveTexture(33985); v10 = (*(__int64 (__fastcall **)(_QWORD))(**(_QWORD **)(a1 + 624) + 96LL))(*(_QWORD *)(a1 + 624)); cocos2d::ccGLBindTexture2DN((cocos2d *)1, v10, v11); _glewUniform1i(*(unsigned int *)(a1 + 636), 1); _glewVertexAttribPointer(0, 3, 5126); _glewVertexAttribPointer(2, 2, 5126); _glewVertexAttribPointer(1, 4, 5121); glDrawArrays(5u, 0, 4); return _glewActiveTexture(33984); }