public class cg_t
{
int ServerTime;
int PlayerState;
int StaminaTimer;
ushort PlayerStance;
char[] _0x000E = new char[0x2];
public int IsIngame;
char [] _0x00D6 = new char[0x4];
int iVelocity;
public Vector3 Origin;
public Vector3 Velocity;
char[] _0x0034 = new char[0x2C];
float RefViewAngleY;
float RefViewAngleX;
char[] _0x0068 = new char[0xE8];
int ClientNum;
char[] _0x0154 = new char[0x4];
float ViewAngleY;
float ViewAngleX;
char[] _0x0160 = new char[0x3C];
int Health;
char[] _0x01A0 = new char[0x1C];
int MaxEntities;
char[] _0x01C0 = new char[0x44];
int AdvancedUAV;
char[] _0x0208 = new char[0x38];
int NextAttack;
char[] _0x0244 = new char[0x12C];
int WeaponID;
ushort EquipmentState;
ushort WeaponSwapState;
float WeaponZoom;
float MovementSpreadMultiplier;
char[] _0x0380 = new char[0x16C];
byte PerkSlot3;
char[] _0x04ED = new char[0x6ACFF];
int Seed;
char[] _0x6B1F0 = new char[0x20];
refdef_t RefDef;
char[] _0x6FD80 = new char[0x8D958];
client_t[] Client = new client_t[18];
char[] _0x1037E0 = new char[0x1148];
float SpreadMultiplier;
char[] _0x10492C = new char[0x4CDC];
entity_t[] Entity = new entity_t[2048];
}
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool ReadProcessMemory(IntPtr hProcess,IntPtr lpBaseAddress, byte[] lpBuffer,int dwSize, out int lpNumberOfBytesRead);

unsafe void ReadGame() {
fixed (byte* pBuffer = ReadBytes(OFFSET_CG, Marshal.SizeOf(CG))) {
CG = *(Cg_1*) pBuffer;
}
}


[DllImport("kernel32.dll", SetLastError = true)]
static extern bool ReadProcessMemory(IntPtr hProcess,IntPtr lpBaseAddress, object lpBuffer,int dwSize, out int lpNumberOfBytesRead);