CNetPropManager::GetEntityPropInfo
0x0074f350 · 8038 bytes · __cdecl
_ZN15CNetPropManager17GetEntityPropInfoEP11CBaseEntityPKci
Decompiled
undefined (3 params)
/* CNetPropManager::GetEntityPropInfo(CBaseEntity*, char const*, int) */
CBaseEntity * CNetPropManager::GetEntityPropInfo(CBaseEntity *param_1,char *param_2,int param_3)
{
char *__s;
int *piVar1;
int *piVar2;
int *piVar3;
int *piVar4;
int *piVar5;
int *piVar6;
int *piVar7;
int *piVar8;
CUtlDict<CNetPropManager::PropInfo_t,int> *this;
datamap_t *pdVar9;
CUtlRBTree<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int,CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int>,int>>
*this_00;
char cVar10;
undefined4 *puVar11;
int *piVar12;
int iVar13;
int iVar14;
int iVar15;
char *pcVar16;
char *pcVar17;
int *piVar18;
char *pcVar19;
int iVar20;
int in_GS_OFFSET;
char *in_stack_00000010;
int in_stack_00000014;
int local_1d4;
int local_1d0;
int local_1cc;
int local_1c8;
int local_1c4;
int local_1c0;
char *local_1bc;
int local_1b8;
int local_1b4;
int local_1b0;
int local_1a8;
int local_19c;
int local_198;
int local_194;
int local_188;
int local_184;
int *local_180;
int local_17c;
int *local_178;
char *local_170;
undefined4 *local_16c;
undefined4 local_168;
undefined4 local_164;
int local_160;
undefined4 *local_15c;
char *local_158;
undefined4 *local_154;
int local_150;
int local_14c;
int local_148;
char *local_144;
int local_140;
int local_13c;
int local_138;
undefined4 *local_134;
undefined4 local_130;
uint local_12c;
undefined4 *local_128;
char local_120 [256];
int local_20;
local_20 = *(int *)(in_GS_OFFSET + 0x14);
puVar11 = (undefined4 *)(**(code **)(*(int *)param_3 + 0x28))(param_3);
__s = (char *)*puVar11;
piVar1 = (int *)puVar11[1];
piVar12 = (int *)(**(code **)(*(int *)param_3 + 0x30))(param_3);
if ((__s != (char *)0x0) &&
(local_188 = *(int *)(param_2 + 0x10), local_144 = __s, local_188 != -1)) {
iVar20 = *(int *)(param_2 + 4);
do {
iVar13 = local_188 * 0x18;
cVar10 = (**(code **)param_2)((Node_t *)&local_144,iVar20 + 0x10 + iVar13);
if (cVar10 == '\0') {
cVar10 = (**(code **)param_2)(*(int *)(param_2 + 4) + iVar13 + 0x10,(Node_t *)&local_144);
if (cVar10 == '\0') {
if (((local_188 < 0) || (*(int *)(param_2 + 8) <= local_188)) ||
(*(int *)(param_2 + 0x1c) < local_188)) goto LAB_0074f42e;
if ((CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel == '\0') &&
(iVar20 = __cxa_guard_acquire(&CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel), iVar20 != 0)) {
CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel = 0xffffffff;
DAT_00f438a4 = 0xffffffff;
DAT_00f438a8 = 0xffffffff;
__cxa_guard_release(&CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel);
}
if (*(int *)(*(int *)(param_2 + 4) + iVar13) == local_188) goto LAB_0074f42e;
this_00 = *(CUtlRBTree<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int,CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int>,int>>
**)(*(int *)(param_2 + 4) + 0x14 + iVar13);
iVar20 = -1;
if (in_stack_00000010 != (char *)0x0) {
local_144 = in_stack_00000010;
iVar20 = CUtlRBTree<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int,CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int>,int>>
::Find(this_00,(Node_t *)&local_144);
}
if (0 < in_stack_00000014) {
V_snprintf(local_120,0x100,"%s%d",in_stack_00000010,in_stack_00000014);
local_144 = local_120;
iVar20 = CUtlRBTree<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int,CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int>,int>>
::Find(this_00,(Node_t *)&local_144);
}
if (((iVar20 < 0) || (*(int *)(this_00 + 8) <= iVar20)) ||
(*(int *)(this_00 + 0x1c) < iVar20)) goto LAB_0074f42e;
if ((CUtlRBTree<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int,CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel == '\0') &&
(iVar13 = __cxa_guard_acquire(&CUtlRBTree<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int,CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel), iVar13 != 0)) {
CUtlRBTree<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int,CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel = 0xffffffff;
DAT_00f43894 = 0xffffffff;
DAT_00f43898 = 0xffffffff;
__cxa_guard_release(&CUtlRBTree<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int,CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CNetPropManager::PropInfo_t,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel);
}
piVar18 = (int *)(iVar20 * 0x34 + *(int *)(this_00 + 4));
if (iVar20 == *piVar18) goto LAB_0074f42e;
*(int *)param_1 = piVar18[5];
*(int *)(param_1 + 4) = piVar18[6];
*(int *)(param_1 + 8) = piVar18[7];
*(int *)(param_1 + 0xc) = piVar18[8];
*(int *)(param_1 + 0x10) = piVar18[9];
*(int *)(param_1 + 0x14) = piVar18[10];
*(int *)(param_1 + 0x18) = piVar18[0xb];
*(int *)(param_1 + 0x1c) = piVar18[0xc];
goto LAB_00750e4a;
}
if ((CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel == '\0') &&
(iVar20 = __cxa_guard_acquire(&CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel), iVar20 != 0)) {
CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel = 0xffffffff;
DAT_00f438a4 = 0xffffffff;
DAT_00f438a8 = 0xffffffff;
__cxa_guard_release(&CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel);
}
iVar20 = *(int *)(param_2 + 4);
local_188 = *(int *)(iVar20 + 4 + iVar13);
}
else {
if ((CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel == '\0') &&
(iVar20 = __cxa_guard_acquire(&CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel), iVar20 != 0)) {
CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel = 0xffffffff;
DAT_00f438a4 = 0xffffffff;
DAT_00f438a8 = 0xffffffff;
__cxa_guard_release(&CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel);
}
iVar20 = *(int *)(param_2 + 4);
local_188 = *(int *)(iVar20 + local_188 * 0x18);
}
} while (local_188 != -1);
}
local_188 = -1;
LAB_0074f42e:
local_16c = (undefined4 *)0x0;
local_168 = 0;
local_164 = 0;
local_160 = 0;
local_15c = (undefined4 *)0x0;
/* try { // try from 0074f47b to 00750a15 has its CatchHandler @ 00750edd */
V_SplitString(in_stack_00000010,".",(CUtlVector *)&local_16c);
iVar20 = local_160;
if (local_160 == 0) {
iVar13 = 0;
}
else {
iVar13 = local_160;
if (0 < local_160) {
local_1d4 = 0;
local_194 = 0;
local_1bc = (char *)0x0;
do {
pcVar16 = (char *)local_16c[local_194];
if (piVar1[1] < 1) {
LAB_00750016:
local_170 = (char *)*local_16c;
iVar13 = local_160;
if (piVar12 == (int *)0x0) goto LAB_00750c12;
local_1d0 = 0;
local_1a8 = 0;
local_1d4 = 0;
local_178 = piVar12;
goto LAB_00750056;
}
local_198 = 0;
do {
pcVar19 = (char *)(local_198 * 0x54 + *piVar1);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16), iVar13 == 0))
goto LAB_0074f828;
piVar18 = *(int **)(pcVar19 + 0x48);
if ((piVar18 != (int *)0x0) && (local_19c = 0, 0 < piVar18[1])) {
do {
pcVar19 = (char *)(local_19c * 0x54 + *piVar18);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16), iVar13 == 0))
goto LAB_0074f828;
piVar2 = *(int **)(pcVar19 + 0x48);
if ((piVar2 != (int *)0x0) && (local_1a8 = 0, 0 < piVar2[1])) {
do {
pcVar19 = (char *)(local_1a8 * 0x54 + *piVar2);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16), iVar13 == 0))
goto LAB_0074f828;
piVar3 = *(int **)(pcVar19 + 0x48);
if ((piVar3 != (int *)0x0) && (local_1b0 = 0, 0 < piVar3[1])) {
do {
pcVar19 = (char *)(local_1b0 * 0x54 + *piVar3);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16), iVar13 == 0))
goto LAB_0074f828;
piVar4 = *(int **)(pcVar19 + 0x48);
if ((piVar4 != (int *)0x0) && (local_1b4 = 0, 0 < piVar4[1])) {
do {
pcVar19 = (char *)(local_1b4 * 0x54 + *piVar4);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16), iVar13 == 0))
goto LAB_0074f828;
piVar5 = *(int **)(pcVar19 + 0x48);
if ((piVar5 != (int *)0x0) && (local_1b8 = 0, 0 < piVar5[1])) {
do {
pcVar19 = (char *)(local_1b8 * 0x54 + *piVar5);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16),
iVar13 == 0)) goto LAB_0074f828;
piVar6 = *(int **)(pcVar19 + 0x48);
if ((piVar6 != (int *)0x0) && (local_180 = (int *)0x0, 0 < piVar6[1]))
{
do {
pcVar19 = (char *)((int)local_180 * 0x54 + *piVar6);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16),
iVar13 == 0)) goto LAB_0074f828;
piVar7 = *(int **)(pcVar19 + 0x48);
if ((piVar7 != (int *)0x0) &&
(local_178 = (int *)0x0, 0 < piVar7[1])) {
do {
pcVar19 = (char *)((int)local_178 * 0x54 + *piVar7);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16),
iVar13 == 0)) goto LAB_0074f828;
piVar8 = *(int **)(pcVar19 + 0x48);
if ((piVar8 != (int *)0x0) && (iVar13 = 0, 0 < piVar8[1])) {
do {
pcVar19 = (char *)(iVar13 * 0x54 + *piVar8);
if (((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar14 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar16
), iVar14 == 0)) ||
((*(SendTable **)(pcVar19 + 0x48) != (SendTable *)0x0
&& (pcVar19 = (char *)SearchSendTable((CNetPropManager
*)param_2,
*(SendTable **)
(pcVar19 + 0x48
),pcVar16),
pcVar19 != (char *)0x0)))) goto LAB_0074f828;
iVar13 = iVar13 + 1;
} while (iVar13 < piVar8[1]);
}
local_178 = (int *)((int)local_178 + 1);
} while ((int)local_178 < piVar7[1]);
}
local_180 = (int *)((int)local_180 + 1);
} while ((int)local_180 < piVar6[1]);
}
local_1b8 = local_1b8 + 1;
} while (local_1b8 < piVar5[1]);
}
local_1b4 = local_1b4 + 1;
} while (local_1b4 < piVar4[1]);
}
local_1b0 = local_1b0 + 1;
} while (local_1b0 < piVar3[1]);
}
local_1a8 = local_1a8 + 1;
} while (local_1a8 < piVar2[1]);
}
local_19c = local_19c + 1;
} while (local_19c < piVar18[1]);
}
local_198 = local_198 + 1;
} while (local_198 < piVar1[1]);
pcVar17 = in_stack_00000010 + local_1d4;
if (piVar1[1] < 1) goto LAB_00750016;
local_184 = 0;
while( true ) {
pcVar19 = (char *)(local_184 * 0x54 + *piVar1);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17), iVar13 == 0)) break;
piVar18 = *(int **)(pcVar19 + 0x48);
if ((piVar18 != (int *)0x0) && (local_194 = 0, 0 < piVar18[1])) {
do {
pcVar19 = (char *)(local_194 * 0x54 + *piVar18);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17), iVar13 == 0))
goto LAB_0074feee;
piVar2 = *(int **)(pcVar19 + 0x48);
if ((piVar2 != (int *)0x0) && (local_198 = 0, 0 < piVar2[1])) {
do {
pcVar19 = (char *)(local_198 * 0x54 + *piVar2);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17), iVar13 == 0))
goto LAB_0074feee;
piVar3 = *(int **)(pcVar19 + 0x48);
if ((piVar3 != (int *)0x0) && (local_19c = 0, 0 < piVar3[1])) {
do {
pcVar19 = (char *)(local_19c * 0x54 + *piVar3);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17), iVar13 == 0))
goto LAB_0074feee;
piVar4 = *(int **)(pcVar19 + 0x48);
if ((piVar4 != (int *)0x0) && (local_1a8 = 0, 0 < piVar4[1])) {
do {
pcVar19 = (char *)(local_1a8 * 0x54 + *piVar4);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17), iVar13 == 0))
goto LAB_0074feee;
piVar5 = *(int **)(pcVar19 + 0x48);
if ((piVar5 != (int *)0x0) && (local_1b0 = 0, 0 < piVar5[1])) {
do {
pcVar19 = (char *)(local_1b0 * 0x54 + *piVar5);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17),
iVar13 == 0)) goto LAB_0074feee;
piVar6 = *(int **)(pcVar19 + 0x48);
if ((piVar6 != (int *)0x0) && (local_1b4 = 0, 0 < piVar6[1])) {
do {
pcVar19 = (char *)(local_1b4 * 0x54 + *piVar6);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17),
iVar13 == 0)) goto LAB_0074feee;
piVar7 = *(int **)(pcVar19 + 0x48);
if ((piVar7 != (int *)0x0) && (local_17c = 0, 0 < piVar7[1])) {
do {
pcVar19 = (char *)(local_17c * 0x54 + *piVar7);
if ((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar13 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17),
iVar13 == 0)) goto LAB_0074feee;
piVar8 = *(int **)(pcVar19 + 0x48);
if ((piVar8 != (int *)0x0) && (iVar13 = 0, 0 < piVar8[1])) {
do {
pcVar19 = (char *)(iVar13 * 0x54 + *piVar8);
if (((*(char **)(pcVar19 + 0x30) != (char *)0x0) &&
(iVar14 = _V_strcmp(*(char **)(pcVar19 + 0x30),pcVar17
), iVar14 == 0)) ||
((*(SendTable **)(pcVar19 + 0x48) != (SendTable *)0x0
&& (pcVar19 = (char *)SearchSendTable((CNetPropManager
*)param_2,
*(SendTable **)
(pcVar19 + 0x48
),pcVar17),
pcVar19 != (char *)0x0)))) goto LAB_0074feee;
iVar13 = iVar13 + 1;
} while (iVar13 < piVar8[1]);
}
local_17c = local_17c + 1;
} while (local_17c < piVar7[1]);
}
local_1b4 = local_1b4 + 1;
} while (local_1b4 < piVar6[1]);
}
local_1b0 = local_1b0 + 1;
} while (local_1b0 < piVar5[1]);
}
local_1a8 = local_1a8 + 1;
} while (local_1a8 < piVar4[1]);
}
local_19c = local_19c + 1;
} while (local_19c < piVar3[1]);
}
local_198 = local_198 + 1;
} while (local_198 < piVar2[1]);
}
local_194 = local_194 + 1;
} while (local_194 < piVar18[1]);
}
local_184 = local_184 + 1;
if (piVar1[1] <= local_184) goto LAB_00750016;
}
LAB_0074feee:
local_194 = iVar20;
LAB_0074f828:
local_194 = local_194 + 1;
local_1bc = local_1bc + *(int *)(pcVar19 + 0x4c);
iVar13 = _V_strlen(pcVar16);
local_1d4 = local_1d4 + iVar13 + local_194;
} while (local_194 < iVar20);
if (in_stack_00000014 < 0) goto LAB_00750db7;
local_128 = (undefined4 *)0x0;
local_138 = *(int *)(pcVar19 + 8);
local_144 = local_1bc;
if (local_138 == 6) {
piVar1 = *(int **)(pcVar19 + 0x48);
local_158 = (char *)*piVar1;
local_154 = (undefined4 *)piVar1[1];
local_150 = piVar1[2];
local_14c = piVar1[3];
local_148 = piVar1[4];
local_128 = local_154;
if ((int)local_154 <= in_stack_00000014) {
local_130._0_2_ = (ushort)(byte)local_130;
local_138 = 8;
*(char **)param_1 = local_1bc;
*(int *)(param_1 + 4) = local_140;
*(undefined4 *)(param_1 + 0xc) = 8;
*(undefined4 **)(param_1 + 0x1c) = local_154;
*(int *)(param_1 + 8) = local_13c;
*(undefined4 **)(param_1 + 0x10) = local_134;
*(int *)(param_1 + 0x14) = local_130;
*(uint *)(param_1 + 0x18) = local_12c;
SendTable::~SendTable((SendTable *)&local_158);
iVar13 = local_160;
goto LAB_0074fa34;
}
pcVar19 = local_158 + in_stack_00000014 * 0x54;
local_144 = local_1bc + *(int *)(pcVar19 + 0x4c);
SendTable::~SendTable((SendTable *)&local_158);
local_138 = *(int *)(pcVar19 + 8);
}
if ((local_138 == 4) && (local_138 = 7, *(int *)(pcVar19 + 0x40) == 0)) {
local_138 = 4;
local_140 = *(int *)(pcVar19 + 0xc);
local_134 = *(undefined4 **)(pcVar19 + 0x20);
local_13c = *(int *)(pcVar19 + 0x3c);
local_130 = CONCAT22(local_130._2_2_,0x101);
local_12c = 0x200;
}
else {
local_140 = *(int *)(pcVar19 + 0xc);
local_134 = *(undefined4 **)(pcVar19 + 0x20);
local_13c = *(int *)(pcVar19 + 0x3c);
local_130 = CONCAT22(local_130._2_2_,0x101);
}
goto LAB_0074f8c5;
}
}
goto LAB_00750c12;
LAB_00750056:
do {
local_1b0 = 0;
if (0 < local_178[1]) {
do {
iVar13 = local_1b0 * 0x40;
pcVar16 = *(char **)(*local_178 + 4 + iVar13);
if (pcVar16 != (char *)0x0) {
iVar14 = _V_strcmp(local_170,pcVar16);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *local_178);
if (puVar11 != (undefined4 *)0x0) goto LAB_0075048a;
goto LAB_0075065c;
}
for (piVar1 = *(int **)(*local_178 + 0x20 + iVar13); piVar1 != (int *)0x0;
piVar1 = (int *)piVar1[3]) {
local_1b4 = 0;
if (0 < piVar1[1]) {
do {
iVar13 = local_1b4 * 0x40;
pcVar16 = *(char **)(*piVar1 + 4 + iVar13);
if (pcVar16 != (char *)0x0) {
iVar14 = _V_strcmp(local_170,pcVar16);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar1);
if (puVar11 != (undefined4 *)0x0) goto LAB_0075048a;
goto LAB_00750629;
}
for (piVar18 = *(int **)(*piVar1 + 0x20 + iVar13); piVar18 != (int *)0x0;
piVar18 = (int *)piVar18[3]) {
local_1b8 = 0;
if (0 < piVar18[1]) {
do {
iVar13 = local_1b8 * 0x40;
pcVar16 = *(char **)(*piVar18 + 4 + iVar13);
if (pcVar16 != (char *)0x0) {
iVar14 = _V_strcmp(local_170,pcVar16);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar18);
if (puVar11 != (undefined4 *)0x0) goto LAB_0075048a;
goto LAB_007505ec;
}
for (piVar2 = *(int **)(*piVar18 + 0x20 + iVar13); piVar2 != (int *)0x0;
piVar2 = (int *)piVar2[3]) {
local_1bc = (char *)0x0;
if (0 < piVar2[1]) {
do {
iVar13 = (int)local_1bc * 0x40;
pcVar16 = *(char **)(*piVar2 + 4 + iVar13);
if (pcVar16 != (char *)0x0) {
iVar14 = _V_strcmp(local_170,pcVar16);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar2);
if (puVar11 != (undefined4 *)0x0) goto LAB_0075048a;
goto LAB_007505af;
}
for (piVar3 = *(int **)(*piVar2 + 0x20 + iVar13);
piVar3 != (int *)0x0; piVar3 = (int *)piVar3[3]) {
local_1c0 = 0;
if (0 < piVar3[1]) {
do {
iVar13 = local_1c0 * 0x40;
pcVar16 = *(char **)(*piVar3 + 4 + iVar13);
if (pcVar16 != (char *)0x0) {
iVar14 = _V_strcmp(local_170,pcVar16);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar3);
if (puVar11 != (undefined4 *)0x0) goto LAB_0075048a;
goto LAB_00750572;
}
for (piVar4 = *(int **)(*piVar3 + 0x20 + iVar13);
piVar4 != (int *)0x0; piVar4 = (int *)piVar4[3]) {
local_1c4 = 0;
if (0 < piVar4[1]) {
do {
iVar13 = local_1c4 * 0x40;
pcVar16 = *(char **)(*piVar4 + 4 + iVar13);
if (pcVar16 != (char *)0x0) {
iVar14 = _V_strcmp(local_170,pcVar16);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar4);
if (puVar11 != (undefined4 *)0x0)
goto LAB_0075048a;
goto LAB_00750535;
}
for (piVar5 = *(int **)(*piVar4 + 0x20 + iVar13);
piVar5 != (int *)0x0;
piVar5 = (int *)piVar5[3]) {
local_1c8 = 0;
if (0 < piVar5[1]) {
do {
iVar13 = local_1c8 * 0x40;
pcVar16 = *(char **)(*piVar5 + 4 + iVar13);
if (pcVar16 != (char *)0x0) {
iVar14 = _V_strcmp(local_170,pcVar16);
if (iVar14 == 0) {
puVar11 = (undefined4 *)
(iVar13 + *piVar5);
if (puVar11 != (undefined4 *)0x0)
goto LAB_0075048a;
goto LAB_007504f8;
}
for (piVar6 = *(int **)(*piVar5 + 0x20 +
iVar13);
piVar6 != (int *)0x0;
piVar6 = (int *)piVar6[3]) {
local_1cc = 0;
if (0 < piVar6[1]) {
do {
iVar13 = local_1cc * 0x40;
pcVar16 = *(char **)(*piVar6 + 4 +
iVar13);
if (pcVar16 != (char *)0x0) {
iVar14 = _V_strcmp(local_170,
pcVar16);
if (iVar14 == 0) {
puVar11 = (undefined4 *)
(iVar13 + *piVar6);
if (puVar11 == (undefined4 *)0x0
) goto LAB_0075044d;
goto LAB_0075048a;
}
for (piVar7 = *(int **)(*piVar6 +
0x20 + iVar13); piVar7 != (int *)0x0;
piVar7 = (int *)piVar7[3]) {
iVar13 = 0;
if (0 < piVar7[1]) {
do {
iVar14 = iVar13 * 0x40;
pcVar16 = *(char **)(*piVar7 + 4 + iVar14);
if (pcVar16 != (char *)0x0) {
iVar15 = _V_strcmp(local_170,pcVar16);
if (iVar15 == 0) {
puVar11 = (undefined4 *)
(iVar14 + *piVar7);
if (puVar11 == (undefined4 *)0x0)
goto LAB_0075041a;
goto LAB_0075048a;
}
pdVar9 = *(datamap_t **)
(*piVar7 + 0x20 + iVar14);
if ((pdVar9 != (datamap_t *)0x0) &&
(puVar11 = (undefined4 *)
SearchDataMap((
CNetPropManager *)param_2,pdVar9,local_170),
puVar11 != (undefined4 *)0x0)) goto LAB_0075048a;
}
iVar13 = iVar13 + 1;
} while (iVar13 < piVar7[1]);
}
}
}
LAB_0075041a:
local_1cc = local_1cc + 1;
} while (local_1cc < piVar6[1]);
}
}
}
LAB_0075044d:
local_1c8 = local_1c8 + 1;
} while (local_1c8 < piVar5[1]);
}
}
}
LAB_007504f8:
local_1c4 = local_1c4 + 1;
} while (local_1c4 < piVar4[1]);
}
}
}
LAB_00750535:
local_1c0 = local_1c0 + 1;
} while (local_1c0 < piVar3[1]);
}
}
}
LAB_00750572:
local_1bc = (char *)((int)local_1bc + 1);
} while ((int)local_1bc < piVar2[1]);
}
}
}
LAB_007505af:
local_1b8 = local_1b8 + 1;
} while (local_1b8 < piVar18[1]);
}
}
}
LAB_007505ec:
local_1b4 = local_1b4 + 1;
} while (local_1b4 < piVar1[1]);
}
}
}
LAB_00750629:
local_1b0 = local_1b0 + 1;
} while (local_1b0 < local_178[1]);
}
piVar1 = local_178 + 3;
local_178 = (int *)*piVar1;
} while ((int *)*piVar1 != (int *)0x0);
LAB_0075065c:
pcVar16 = in_stack_00000010 + local_1d4;
local_180 = piVar12;
do {
local_19c = 0;
if (0 < local_180[1]) {
do {
iVar13 = local_19c * 0x40;
pcVar19 = *(char **)(*local_180 + 4 + iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *local_180);
iVar13 = local_160;
if (puVar11 == (undefined4 *)0x0) goto LAB_00750c12;
LAB_00750a97:
local_1a8 = iVar20;
goto LAB_0075048a;
}
for (piVar1 = *(int **)(*local_180 + 0x20 + iVar13); piVar1 != (int *)0x0;
piVar1 = (int *)piVar1[3]) {
local_1a8 = 0;
if (0 < piVar1[1]) {
do {
iVar13 = local_1a8 * 0x40;
pcVar19 = *(char **)(*piVar1 + 4 + iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar1);
if (puVar11 != (undefined4 *)0x0) goto LAB_00750a97;
goto LAB_00750bd9;
}
for (piVar18 = *(int **)(*piVar1 + 0x20 + iVar13); piVar18 != (int *)0x0;
piVar18 = (int *)piVar18[3]) {
local_1b0 = 0;
if (0 < piVar18[1]) {
do {
iVar13 = local_1b0 * 0x40;
pcVar19 = *(char **)(*piVar18 + 4 + iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar18);
if (puVar11 != (undefined4 *)0x0) goto LAB_00750a97;
goto LAB_00750b9c;
}
for (piVar2 = *(int **)(*piVar18 + 0x20 + iVar13); piVar2 != (int *)0x0;
piVar2 = (int *)piVar2[3]) {
local_1b4 = 0;
if (0 < piVar2[1]) {
do {
iVar13 = local_1b4 * 0x40;
pcVar19 = *(char **)(*piVar2 + 4 + iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar2);
if (puVar11 != (undefined4 *)0x0) goto LAB_00750a97;
goto LAB_00750b5f;
}
for (piVar3 = *(int **)(*piVar2 + 0x20 + iVar13);
piVar3 != (int *)0x0; piVar3 = (int *)piVar3[3]) {
local_1b8 = 0;
if (0 < piVar3[1]) {
do {
iVar13 = local_1b8 * 0x40;
pcVar19 = *(char **)(*piVar3 + 4 + iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar3);
if (puVar11 != (undefined4 *)0x0) goto LAB_00750a97;
goto LAB_00750b22;
}
for (piVar4 = *(int **)(*piVar3 + 0x20 + iVar13);
piVar4 != (int *)0x0; piVar4 = (int *)piVar4[3]) {
local_1bc = (char *)0x0;
if (0 < piVar4[1]) {
do {
iVar13 = (int)local_1bc * 0x40;
pcVar19 = *(char **)(*piVar4 + 4 + iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19);
if (iVar14 == 0) {
puVar11 = (undefined4 *)(iVar13 + *piVar4);
if (puVar11 != (undefined4 *)0x0)
goto LAB_00750a97;
goto LAB_00750ae5;
}
for (piVar5 = *(int **)(*piVar4 + 0x20 + iVar13);
piVar5 != (int *)0x0;
piVar5 = (int *)piVar5[3]) {
local_1c0 = 0;
if (0 < piVar5[1]) {
do {
iVar13 = local_1c0 * 0x40;
pcVar19 = *(char **)(*piVar5 + 4 + iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19);
if (iVar14 == 0) {
puVar11 = (undefined4 *)
(iVar13 + *piVar5);
if (puVar11 != (undefined4 *)0x0)
goto LAB_00750a97;
goto LAB_00750aac;
}
for (piVar6 = *(int **)(*piVar5 + 0x20 +
iVar13);
piVar6 != (int *)0x0;
piVar6 = (int *)piVar6[3]) {
local_1c4 = 0;
if (0 < piVar6[1]) {
do {
iVar13 = local_1c4 * 0x40;
pcVar19 = *(char **)(*piVar6 + 4 +
iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19
);
if (iVar14 == 0) {
puVar11 = (undefined4 *)
(iVar13 + *piVar6);
if (puVar11 != (undefined4 *)0x0
) goto LAB_00750a97;
goto LAB_00750a72;
}
for (piVar7 = *(int **)(*piVar6 +
0x20 + iVar13); piVar7 != (int *)0x0;
piVar7 = (int *)piVar7[3]) {
local_1c8 = 0;
if (0 < piVar7[1]) {
do {
iVar13 = local_1c8 * 0x40;
pcVar19 = *(char **)(*piVar7 + 4 + iVar13);
if (pcVar19 != (char *)0x0) {
iVar14 = _V_strcmp(pcVar16,pcVar19);
if (iVar14 == 0) {
puVar11 = (undefined4 *)
(iVar13 + *piVar7);
if (puVar11 == (undefined4 *)0x0)
goto LAB_00750a37;
goto LAB_00750a97;
}
pdVar9 = *(datamap_t **)
(*piVar7 + 0x20 + iVar13);
if ((pdVar9 != (datamap_t *)0x0) &&
(puVar11 = (undefined4 *)
SearchDataMap((
CNetPropManager *)param_2,pdVar9,pcVar16),
puVar11 != (undefined4 *)0x0)) goto LAB_00750a97;
}
local_1c8 = local_1c8 + 1;
} while (local_1c8 < piVar7[1]);
}
}
}
LAB_00750a37:
local_1c4 = local_1c4 + 1;
} while (local_1c4 < piVar6[1]);
}
}
}
LAB_00750a72:
local_1c0 = local_1c0 + 1;
} while (local_1c0 < piVar5[1]);
}
}
}
LAB_00750aac:
local_1bc = (char *)((int)local_1bc + 1);
} while ((int)local_1bc < piVar4[1]);
}
}
}
LAB_00750ae5:
local_1b8 = local_1b8 + 1;
} while (local_1b8 < piVar3[1]);
}
}
}
LAB_00750b22:
local_1b4 = local_1b4 + 1;
} while (local_1b4 < piVar2[1]);
}
}
}
LAB_00750b5f:
local_1b0 = local_1b0 + 1;
} while (local_1b0 < piVar18[1]);
}
}
}
LAB_00750b9c:
local_1a8 = local_1a8 + 1;
} while (local_1a8 < piVar1[1]);
}
}
}
LAB_00750bd9:
local_19c = local_19c + 1;
} while (local_19c < local_180[1]);
}
local_180 = (int *)local_180[3];
iVar13 = local_160;
} while (local_180 != (int *)0x0);
goto LAB_00750c12;
LAB_0075048a:
local_1a8 = local_1a8 + 1;
local_1d0 = local_1d0 + puVar11[2];
iVar13 = _V_strlen(local_170);
local_1d4 = local_1d4 + iVar13 + local_1a8;
if (local_1a8 < iVar20) {
local_170 = (char *)local_16c[local_1a8];
local_178 = piVar12;
goto LAB_00750056;
}
iVar13 = local_160;
if (0 < (int)puVar11[9]) {
if ((in_stack_00000014 < 0) || ((int)(uint)*(ushort *)(puVar11 + 3) <= in_stack_00000014)) {
LAB_00750db7:
local_138 = 8;
local_130._0_2_ = (ushort)(byte)local_130;
*(undefined4 *)(param_1 + 0xc) = 8;
*(char **)param_1 = local_144;
*(int *)(param_1 + 4) = local_140;
*(int *)(param_1 + 8) = local_13c;
}
else {
local_130 = CONCAT22(local_130._2_2_,0x100);
local_134 = (undefined4 *)(uint)*(ushort *)(puVar11 + 3);
local_144 = (char *)(((int)puVar11[9] / (int)local_134) * in_stack_00000014 + local_1d0);
local_13c = (int)*(short *)((int)puVar11 + 0xe);
switch(*puVar11) {
default:
local_130 = (uint)local_130._2_2_ << 0x10;
local_138 = 8;
break;
case 1:
case 0x10:
local_140 = 0x20;
local_138 = 1;
break;
case 2:
case 0x12:
case 0x13:
local_140 = 4;
local_138 = 7;
break;
case 3:
case 0xf:
local_140 = 0xc;
local_138 = 2;
break;
case 5:
case 9:
case 0xd:
case 0x11:
case 0x1a:
case 0x1b:
local_140 = 0x20;
local_138 = 0;
break;
case 6:
local_140 = 1;
local_138 = 0;
break;
case 7:
local_140 = 0x10;
local_138 = 0;
break;
case 8:
if (*(ushort *)(puVar11 + 3) == 1) {
local_140 = 8;
local_138 = 0;
}
else {
local_138 = 4;
local_140 = (uint)*(ushort *)(puVar11 + 3) << 3;
}
}
local_12c = (uint)*(ushort *)(puVar11 + 3);
local_128 = local_134;
LAB_0074f8c5:
if (((local_188 < 0) || (*(int *)(param_2 + 8) <= local_188)) ||
(*(int *)(param_2 + 0x1c) < local_188)) {
LAB_0074f8f5:
puVar11 = ::operator_new(0x24);
puVar11[1] = 0;
puVar11[2] = 0;
puVar11[3] = 0;
puVar11[4] = 0xffffffff;
puVar11[5] = 0;
puVar11[6] = 0xffffffff;
puVar11[7] = 0xffffffff;
puVar11[8] = 0;
*puVar11 = CaselessStringLessThan;
local_158 = strdup(__s);
local_154 = puVar11;
local_188 = CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Insert((CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
*)param_2,(Node_t *)&local_158);
}
else {
if ((CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel == '\0') &&
(iVar20 = __cxa_guard_acquire(&CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel), iVar20 != 0)) {
CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel = 0xffffffff;
DAT_00f438a4 = 0xffffffff;
DAT_00f438a8 = 0xffffffff;
__cxa_guard_release(&CUtlRBTree<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int,CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,CUtlDict<CNetPropManager::PropInfo_t,int>*,int>::Node_t,int>,int>>
::Links(int)::s_Sentinel);
}
if (*(int *)(local_188 * 0x18 + *(int *)(param_2 + 4)) == local_188) goto LAB_0074f8f5;
}
this = *(CUtlDict<CNetPropManager::PropInfo_t,int> **)
(local_188 * 0x18 + *(int *)(param_2 + 4) + 0x14);
if (in_stack_00000014 < 1) {
CUtlDict<CNetPropManager::PropInfo_t,int>::Insert
(this,in_stack_00000010,(PropInfo_t *)&local_144);
}
else {
V_snprintf(local_120,0x100,"%s%d",in_stack_00000010,in_stack_00000014);
CUtlDict<CNetPropManager::PropInfo_t,int>::Insert(this,local_120,(PropInfo_t *)&local_144);
}
*(char **)param_1 = local_144;
*(int *)(param_1 + 4) = local_140;
*(int *)(param_1 + 8) = local_13c;
*(int *)(param_1 + 0xc) = local_138;
}
*(undefined4 **)(param_1 + 0x10) = local_134;
*(int *)(param_1 + 0x14) = local_130;
*(uint *)(param_1 + 0x18) = local_12c;
*(undefined4 **)(param_1 + 0x1c) = local_128;
iVar13 = local_160;
goto LAB_0074fa34;
}
LAB_00750c12:
local_130._0_2_ = (ushort)(byte)local_130;
local_138 = 8;
*(undefined4 *)(param_1 + 0xc) = 8;
*(char **)param_1 = local_144;
*(int *)(param_1 + 4) = local_140;
*(int *)(param_1 + 8) = local_13c;
*(undefined4 **)(param_1 + 0x10) = local_134;
*(int *)(param_1 + 0x14) = local_130;
*(uint *)(param_1 + 0x18) = local_12c;
*(undefined4 **)(param_1 + 0x1c) = local_128;
LAB_0074fa34:
iVar20 = 0;
if (0 < iVar13) {
do {
if ((void *)local_16c[iVar20] != (void *)0x0) {
operator_delete__((void *)local_16c[iVar20]);
}
iVar20 = iVar20 + 1;
} while (iVar20 < local_160);
}
local_160 = 0;
CUtlMemory<char*,int>::Purge((CUtlMemory<char*,int> *)&local_16c);
local_15c = local_16c;
if (0 < local_160) {
iVar20 = 0;
do {
puVar11 = local_16c + iVar20;
iVar20 = iVar20 + 1;
operator_delete((void *)*puVar11);
} while (iVar20 < local_160);
}
local_160 = 0;
CUtlMemory<char*,int>::Purge((CUtlMemory<char*,int> *)&local_16c);
local_160 = 0;
local_15c = local_16c;
CUtlMemory<char*,int>::Purge((CUtlMemory<char*,int> *)&local_16c);
local_15c = local_16c;
CUtlMemory<char*,int>::Purge((CUtlMemory<char*,int> *)&local_16c);
LAB_00750e4a:
if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
/* WARNING: Subroutine does not return */
__stack_chk_fail();
}
return param_1;
}
SourceMod gamedata
paste intoaddons/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.
Signatures + Functions block. The plugin uses
DHookCreateFromConf - DHooks reads return type, this-type,
calling convention, and argument types straight from the gamedata. Less
boilerplate in the plugin, types travel with the gamedata.
Gamedata KeyValues
DHooks plugin example
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.