L L4D2node

GetScriptDesc<CBaseEntity>

0x00611410 · 7899 bytes · __cdecl

_Z13GetScriptDescI11CBaseEntityEP17ScriptClassDesc_tPT_.part.344

Decompiled

ScriptClassDesc_t * (1 param)

/* ScriptClassDesc_t* GetScriptDesc<CBaseEntity>(CBaseEntity*) [clone .part.344] */

ScriptClassDesc_t * GetScriptDesc<CBaseEntity>(CBaseEntity *param_1)

{
  CUtlVector<int,CUtlMemory<int,int>> *pCVar1;
  undefined4 uVar2;
  int iVar3;
  void *pvVar4;
  ScriptClassDesc_t *pSVar5;
  undefined4 *puVar6;
  int local_20 [4];
  
  GetScriptDesc<CBaseEntity>(CBaseEntity*)::bInitialized = 1;
  g_CBaseEntity_ScriptDesc._8_4_ = s_Root_class_of_all_server_side_en_00c5dfc4;
  g_CBaseEntity_ScriptDesc._0_4_ = s_CBaseEntity_00c5c304;
  g_CBaseEntity_ScriptDesc._4_4_ = s_CBaseEntity_00c5c304;
  g_CBaseEntity_ScriptDesc._12_4_ = 0;
  g_CBaseEntity_ScriptDesc._44_4_ = &g_BaseEntityScriptInstanceHelper;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = 
  "Adds an I/O connection that will call the named function when the specified output fires";
  *puVar6 = "ConnectOutput";
  puVar6[1] = "ConnectOutputToScript";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 2) {
    puVar6[5] = 2;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(8);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],8);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding2<CBaseEntity*,void(CBaseEntity::*)(char_const*,char_const*),void,char_const*,char_const*>
              ::Call;
  puVar6[10] = CBaseEntity::ConnectOutputToScript;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Removes a connected script function from an I/O event.";
  *puVar6 = "DisconnectOutput";
  puVar6[1] = "DisconnectOutputFromScript";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 2) {
    puVar6[5] = 2;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(8);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],8);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding2<CBaseEntity*,void(CBaseEntity::*)(char_const*,char_const*),void,char_const*,char_const*>
              ::Call;
  puVar6[10] = CBaseEntity::DisconnectOutputFromScript;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetHealth";
  puVar6[1] = "GetHealth";
  puVar6[3] = 5;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,int(CBaseEntity::*)(),int>::Call;
  puVar6[10] = CBaseEntity::GetHealth;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "SetHealth";
  puVar6[1] = "SetHealth";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 5;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(int),void,int>::Call;
  puVar6[10] = CBaseEntity::SetHealth;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetMaxHealth";
  puVar6[1] = "GetMaxHealth";
  puVar6[3] = 5;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,int(CBaseEntity::*)(),int>::Call;
  puVar6[10] = 0x1fd;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "SetMaxHealth";
  puVar6[1] = "SetMaxHealth";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 5;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(int),void,int>::Call;
  puVar6[10] = CBaseEntity::SetMaxHealth;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "(flDamage, nDamageType, hAttacker)";
  *puVar6 = "TakeDamage";
  puVar6[1] = "ScriptTakeDamage";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 3) {
    puVar6[5] = 3;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(0xc);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],0xc);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  pCVar1 = (CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4);
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 5;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 0x20;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding3<CBaseEntity*,void(CBaseEntity::*)(float,int,HSCRIPT__*),void,float,int,HSCRIPT__*>
              ::Call;
  puVar6[10] = CBaseEntity::ScriptTakeDamage;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = 
  "(hInflictor, hAttacker, hWeapon, vecDamageForce, vecDamagePosition, flDamage, nDamageType)";
  *puVar6 = "TakeDamageEx";
  puVar6[1] = "ScriptTakeDamageEx";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 7) {
    puVar6[5] = 7;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(0x1c);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],0x1c);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  pCVar1 = (CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4);
  local_20[0] = 0x20;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 0x20;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 0x20;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 5;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding7<CBaseEntity*,void(CBaseEntity::*)(HSCRIPT__*,HSCRIPT__*,HSCRIPT__*,Vector,Vector,float,int),void,HSCRIPT__*,HSCRIPT__*,HSCRIPT__*,Vector,Vector,float,int>
              ::Call;
  puVar6[10] = CBaseEntity::ScriptTakeDamageEx;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetModelName";
  puVar6[1] = "ScriptGetModelName";
  puVar6[3] = 0x1f;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,char_const*(CBaseEntity::*)(),char_const*>::Call;
  puVar6[10] = 0x39;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Set a model for this entity";
  *puVar6 = "SetModel";
  puVar6[1] = "SetModel";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(char_const*),void,char_const*>
              ::Call;
  puVar6[10] = 0x71;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "IsPlayer";
  puVar6[1] = "IsPlayer";
  puVar6[3] = 6;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,bool(CBaseEntity::*)(),bool>::Call;
  puVar6[10] = 0x16d;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetEntityIndex";
  puVar6[1] = "entindex";
  puVar6[3] = 5;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,int(CBaseEntity::*)(),int>::Call;
  puVar6[10] = CBaseEntity::entindex;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "PrecacheModel";
  puVar6[1] = "ScriptPrecacheModel";
  puVar6[3] = 5;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,int(CBaseEntity::*)(char_const*),int,char_const*>::
              Call;
  puVar6[10] = CBaseEntity::ScriptPrecacheModel;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "PrecacheScriptSound";
  puVar6[1] = "Script_PrecacheScriptSound";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(char_const*),void,char_const*>
              ::Call;
  puVar6[10] = CBaseEntity::Script_PrecacheScriptSound;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "Kill";
  puVar6[1] = "ScriptInputKill";
  puVar6[3] = 0;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,void(CBaseEntity::*)(),void>::Call;
  puVar6[10] = CBaseEntity::ScriptInputKill;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetClassname";
  puVar6[1] = "GetClassname";
  puVar6[3] = 0x1f;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,char_const*(CBaseEntity::*)(),char_const*>::Call;
  puVar6[10] = CBaseEntity::GetClassname;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetName";
  puVar6[1] = "GetEntityNameAsCStr";
  puVar6[3] = 0x1f;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,char_const*(CBaseEntity::*)(),char_const*>::Call;
  puVar6[10] = CBaseEntity::GetEntityNameAsCStr;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Get the entity name stripped of template unique decoration";
  *puVar6 = "GetPreTemplateName";
  puVar6[1] = "GetPreTemplateName";
  puVar6[3] = 0x1f;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,char_const*(CBaseEntity::*)(),char_const*>::Call;
  puVar6[10] = CBaseEntity::GetPreTemplateName;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Get the entity as an EHANDLE";
  *puVar6 = "GetEntityHandle";
  puVar6[1] = "ScriptGetEHandle";
  puVar6[3] = 0x1e;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,CHandle<CBaseEntity>(CBaseEntity::*)(),CHandle<CBaseEntity>>
              ::Call;
  puVar6[10] = CBaseEntity::ScriptGetEHandle;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetOrigin";
  puVar6[1] = "GetAbsOrigin";
  puVar6[3] = 3;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,Vector_const&(CBaseEntity::*)(),Vector_const&>::
              Call;
  puVar6[10] = CBaseEntity::GetAbsOrigin;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "SetOrigin";
  puVar6[1] = "ScriptSetOrigin";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(Vector_const&),void,Vector_const&>
              ::Call;
  puVar6[10] = CBaseEntity::ScriptSetOrigin;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Get the forward vector of the entity";
  *puVar6 = "GetForwardVector";
  puVar6[1] = "ScriptGetForward";
  puVar6[3] = 3;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,Vector_const&(CBaseEntity::*)(),Vector_const&>::
              Call;
  puVar6[10] = CBaseEntity::ScriptGetForward;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Set the orientation of the entity to have this forward vector";
  *puVar6 = "SetForwardVector";
  puVar6[1] = "ScriptSetForward";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(Vector_const&),void,Vector_const&>
              ::Call;
  puVar6[10] = CBaseEntity::ScriptSetForward;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Get world space center of object - absolute coords";
  *puVar6 = "GetCenter";
  puVar6[1] = "ScriptGetWorldSpaceCenter";
  puVar6[3] = 3;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,Vector(CBaseEntity::*)(),Vector>::Call;
  puVar6[10] = CBaseEntity::ScriptGetWorldSpaceCenter;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetVelocity";
  puVar6[1] = "GetAbsVelocity";
  puVar6[3] = 3;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,Vector_const&(CBaseEntity::*)(),Vector_const&>::
              Call;
  puVar6[10] = CBaseEntity::GetAbsVelocity;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "SetVelocity";
  puVar6[1] = "SetAbsVelocity";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(Vector_const&),void,Vector_const&>
              ::Call;
  puVar6[10] = CBaseEntity::SetAbsVelocity;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Get Entity relative velocity";
  *puVar6 = "GetLocalVelocity";
  puVar6[1] = "GetLocalVelocity";
  puVar6[3] = 3;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,Vector_const&(CBaseEntity::*)(),Vector_const&>::
              Call;
  puVar6[10] = CBaseEntity::GetLocalVelocity;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Get Base? velocity";
  *puVar6 = "GetBaseVelocity";
  puVar6[1] = "GetBaseVelocity";
  puVar6[3] = 3;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,Vector_const&(CBaseEntity::*)(),Vector_const&>::
              Call;
  puVar6[10] = CBaseEntity::GetBaseVelocity;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Maybe local angvel";
  *puVar6 = "GetLocalAngularVelocity";
  puVar6[1] = "GetLocalAngularVelocity";
  puVar6[3] = 0x28;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,QAngle_const&(CBaseEntity::*)(),QAngle_const&>::
              Call;
  puVar6[10] = CBaseEntity::GetLocalAngularVelocity;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Apply a Velocity Impulse";
  *puVar6 = "ApplyAbsVelocityImpulse";
  puVar6[1] = "ApplyAbsVelocityImpulse";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(Vector_const&),void,Vector_const&>
              ::Call;
  puVar6[10] = CBaseEntity::ApplyAbsVelocityImpulse;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Apply an Ang Velocity Impulse";
  *puVar6 = "ApplyLocalAngularVelocityImpulse";
  puVar6[1] = "ApplyLocalAngularVelocityImpulse";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(Vector_const&),void,Vector_const&>
              ::Call;
  puVar6[10] = CBaseEntity::ApplyLocalAngularVelocityImpulse;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Set PLAYER friction, ignored for objects";
  *puVar6 = "SetFriction";
  puVar6[1] = "SetFriction";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(float),void,float>::Call;
  puVar6[10] = CBaseEntity::SetFriction;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Set PLAYER gravity, ignored for objects";
  *puVar6 = "SetGravity";
  puVar6[1] = "SetGravity";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(float),void,float>::Call;
  puVar6[10] = CBaseEntity::SetGravity;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Takes duration, value for a temporary override";
  *puVar6 = "OverrideFriction";
  puVar6[1] = "OverrideFriction";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 2) {
    puVar6[5] = 2;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(8);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],8);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding2<CBaseEntity*,void(CBaseEntity::*)(float,float),void,float,float>
              ::Call;
  puVar6[10] = CBaseEntity::OverrideFriction;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetAngles";
  puVar6[1] = "GetAbsAngles";
  puVar6[3] = 0x28;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,QAngle_const&(CBaseEntity::*)(),QAngle_const&>::
              Call;
  puVar6[10] = CBaseEntity::GetAbsAngles;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "SetAngles";
  puVar6[1] = "SetAbsAngles";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x28;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(QAngle_const&),void,QAngle_const&>
              ::Call;
  puVar6[10] = CBaseEntity::SetAbsAngles;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetLocalOrigin";
  puVar6[1] = "GetLocalOrigin";
  puVar6[3] = 3;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,Vector_const&(CBaseEntity::*)(),Vector_const&>::
              Call;
  puVar6[10] = CBaseEntity::GetLocalOrigin;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "GetLocalAngles";
  puVar6[1] = "GetLocalAngles";
  puVar6[3] = 0x28;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,QAngle_const&(CBaseEntity::*)(),QAngle_const&>::
              Call;
  puVar6[10] = CBaseEntity::GetLocalAngles;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "SetLocalOrigin";
  puVar6[1] = "SetLocalOrigin";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(Vector_const&),void,Vector_const&>
              ::Call;
  puVar6[10] = CBaseEntity::SetLocalOrigin;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "SetLocalAngles";
  puVar6[1] = "SetLocalAngles";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x28;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,void(CBaseEntity::*)(QAngle_const&),void,QAngle_const&>
              ::Call;
  puVar6[10] = CBaseEntity::SetLocalAngles;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = 
  "SetContext( name , value, duration ): store any key/value pair in this entity\'s dialog contexts. Value must be a string. Will last for duration (set -1 to mean \'forever\')."
  ;
  *puVar6 = "SetContext";
  puVar6[1] = "AddContextForScript";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 3) {
    puVar6[5] = 3;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(0xc);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],0xc);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  pCVar1 = (CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4);
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding3<CBaseEntity*,void(CBaseEntity::*)(char_const*,char_const*,float),void,char_const*,char_const*,float>
              ::Call;
  puVar6[10] = CBaseEntity::AddContextForScript;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = 
  "SetContext( name , value, duration ): store any key/value pair in this entity\'s dialog contexts. Value must be a number (int or float). Will last for duration (set -1 to mean \'forever\')."
  ;
  *puVar6 = "SetContextNum";
  puVar6[1] = "AddContextForScriptNumeric";
  puVar6[3] = 0;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 3) {
    puVar6[5] = 3;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(0xc);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],0xc);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  pCVar1 = (CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4);
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore(pCVar1,puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding3<CBaseEntity*,void(CBaseEntity::*)(char_const*,float,float),void,char_const*,float,float>
              ::Call;
  puVar6[10] = CBaseEntity::AddContextForScriptNumeric;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = 
  "GetContext( name ): looks up a context and returns it if available. May return string, float, or null (if the context isn\'t found)"
  ;
  *puVar6 = "GetContext";
  puVar6[1] = "GetContextForScript";
  puVar6[3] = 0x21;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 1) {
    puVar6[5] = 1;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(4);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],4);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding1<CBaseEntity*,CVariantBase<CVariantDefaultAllocator>(CBaseEntity::*)(char_const*),CVariantBase<CVariantDefaultAllocator>,char_const*>
              ::Call;
  puVar6[10] = CBaseEntity::GetContextForScript;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "If in hierarchy, retrieves the entity\'s parent";
  *puVar6 = "GetMoveParent";
  puVar6[1] = "ScriptGetMoveParent";
  puVar6[3] = 0x20;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,HSCRIPT__*(CBaseEntity::*)(),HSCRIPT__*>::Call;
  puVar6[10] = CBaseEntity::ScriptGetMoveParent;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "If in hierarchy, walks up the hierarchy to find the root parent";
  *puVar6 = "GetRootMoveParent";
  puVar6[1] = "ScriptGetRootMoveParent";
  puVar6[3] = 0x20;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,HSCRIPT__*(CBaseEntity::*)(),HSCRIPT__*>::Call;
  puVar6[10] = CBaseEntity::ScriptGetRootMoveParent;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "FirstMoveChild";
  puVar6[1] = "ScriptFirstMoveChild";
  puVar6[3] = 0x20;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,HSCRIPT__*(CBaseEntity::*)(),HSCRIPT__*>::Call;
  puVar6[10] = CBaseEntity::ScriptFirstMoveChild;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00d539c2;
  *puVar6 = "NextMovePeer";
  puVar6[1] = "ScriptNextMovePeer";
  puVar6[3] = 0x20;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,HSCRIPT__*(CBaseEntity::*)(),HSCRIPT__*>::Call;
  puVar6[10] = CBaseEntity::ScriptNextMovePeer;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Get the owner entity, if there is one";
  *puVar6 = "GetOwnerEntity";
  puVar6[1] = "ScriptGetOwnerEntity";
  puVar6[3] = 0x20;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,HSCRIPT__*(CBaseEntity::*)(),HSCRIPT__*>::Call;
  puVar6[10] = CBaseEntity::ScriptGetOwnerEntity;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00c5cb2f;
  *puVar6 = "__KeyValueFromString";
  puVar6[1] = "KeyValueFromString";
  puVar6[3] = 6;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 2) {
    puVar6[5] = 2;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(8);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],8);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding2<CBaseEntity*,bool(CBaseEntity::*)(char_const*,char_const*),bool,char_const*,char_const*>
              ::Call;
  puVar6[10] = CBaseEntity::KeyValueFromString;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00c5cb2f;
  *puVar6 = "__KeyValueFromInt";
  puVar6[1] = "KeyValueFromInt";
  puVar6[3] = 6;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 2) {
    puVar6[5] = 2;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(8);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],8);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  local_20[0] = 1;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding2<CBaseEntity*,bool(CBaseEntity::*)(char_const*,float),bool,char_const*,float>
              ::Call;
  puVar6[10] = CBaseEntity::KeyValueFromInt;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = &DAT_00c5cb2f;
  *puVar6 = "__KeyValueFromVector";
  puVar6[1] = "KeyValueFromVector";
  puVar6[3] = 6;
  puVar6[6] = 1;
  if ((int)puVar6[5] < 2) {
    puVar6[5] = 2;
    if ((void *)puVar6[4] == (void *)0x0) {
      pvVar4 = malloc(8);
      puVar6[4] = pvVar4;
    }
    else {
      pvVar4 = realloc((void *)puVar6[4],8);
      puVar6[4] = pvVar4;
    }
  }
  else {
    pvVar4 = (void *)puVar6[4];
  }
  puVar6[8] = pvVar4;
  local_20[0] = 0x1f;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  local_20[0] = 3;
  CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
            ((CUtlVector<int,CUtlMemory<int,int>> *)(puVar6 + 4),puVar6[7],local_20);
  uVar2 = g_CBaseEntity_ScriptDesc._28_4_;
  puVar6[9] = CMemberScriptBinding2<CBaseEntity*,bool(CBaseEntity::*)(char_const*,Vector_const&),bool,char_const*,Vector_const&>
              ::Call;
  puVar6[10] = CBaseEntity::KeyValueFromVector;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),uVar2);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Ensure that an entity\'s script scope has been created";
  *puVar6 = "ValidateScriptScope";
  puVar6[1] = "ValidateScriptScope";
  puVar6[3] = 6;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,bool(CBaseEntity::*)(),bool>::Call;
  puVar6[10] = CBaseEntity::ValidateScriptScope;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  puVar6 = (undefined4 *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  puVar6[2] = "Retrieve the script-side data associated with an entity";
  *puVar6 = "GetScriptScope";
  puVar6[1] = "GetScriptScope";
  puVar6[3] = 0x20;
  puVar6[9] = CMemberScriptBinding0<CBaseEntity*,HSCRIPT__*(CBaseEntity::*)(),HSCRIPT__*>::Call;
  puVar6[10] = CBaseEntity::GetScriptScope;
  puVar6[0xb] = 1;
  iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::InsertBefore
                    ((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>> *)
                     (g_CBaseEntity_ScriptDesc + 0x10),g_CBaseEntity_ScriptDesc._28_4_);
  pSVar5 = (ScriptClassDesc_t *)(iVar3 * 0x30 + g_CBaseEntity_ScriptDesc._16_4_);
  *(char **)(pSVar5 + 8) =
       "Retrieve the unique identifier used to refer to the entity within the scripting system";
  *(char **)pSVar5 = "GetScriptId";
  *(char **)(pSVar5 + 4) = "GetScriptId";
  *(undefined4 *)(pSVar5 + 0xc) = 0x1f;
  *(code **)(pSVar5 + 0x24) =
       CMemberScriptBinding0<CBaseEntity*,char_const*(CBaseEntity::*)(),char_const*>::Call;
  *(code **)(pSVar5 + 0x28) = CBaseEntity::GetScriptId;
  *(undefined4 *)(pSVar5 + 0x2c) = 1;
  return pSVar5;
}

SourceMod gamedata

paste into addons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)

Just a Signatures{} block, ready to drop into a gamedata file. Wire it up in your plugin however you like - SDKCall, DHooks, raw memory ops, or anything else.



        

        

          

Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.

Return-type handling cheatsheet (DHookReturn)