rendered paste bodyVOID HookClientFunctions(VOID){ DWORD eac_patch; DWORD eac_base; DWORD dwOldProtect = 0; DWORD dwOldProtect_2 = 0; memcpy(&gClient, (VOID*)g_dwExportTablePtr, sizeof(ClientExportStruct)); BYTE* sig = (BYTE*)"\x55\x8B\xEC\x8B\x00\x00\x3B\x00\x00\x00\x00\x00\x76\x00\x3B\x00\x00\x00\x00\x00\x73"; char* mask = "xxxx??x?????x?x?????x"; __asm { mov ecx,g_dwExportTablePtr// mov edx,[ecx+0x1c]// and edx,0xFFFF0000 // mov dx,0x5230 mov eax,[ecx+0x0c] mov eac_base,eax// mov [ecx+0x0c],edx }eac_patch = dwFindPattern(eac_base, 0x10000, sig, mask);VirtualProtect((LPVOID)eac_patch, 4, 0x40, &dwOldProtect_2);eac_base = (eac_patch+0x0C);__asm{mov eax,eac_basecmp byte ptr [eax],0x76jne endthismov word ptr [eax],0x9090mov word ptr [eax+8],0x9090endthis:} *(DWORD*)(g_dwExportTablePtr + 0xC) = (DWORD)HUD_Redraw; *(DWORD*)(g_dwExportTablePtr + 0x38) = (DWORD)CL_CreateMove; if(!VirtualProtect((LPVOID)g_dwExportTablePtr, sizeof(ClientExportStruct), dwOldProtect, &dwOldProtect)) return;}