server-re/decomp/AgentManager_Release_x64/0x1400137f0.pseudo.c
2026-10-15 09:58:24 -04:00

156 lines
5.7 KiB
C

undefined8
FUN_1400137f0(longlong param_1,uint param_2,undefined8 param_3,int *param_4,undefined8 *param_5)
{
ulonglong *puVar1;
undefined8 *puVar2;
uint *puVar3;
LPVOID pvVar4;
int *piVar5;
undefined8 *puVar6;
ulonglong *puVar7;
undefined *puVar8;
ulonglong *local_d8;
ulonglong *local_d0;
undefined8 local_c8;
ulonglong *local_b8;
ulonglong *local_b0;
undefined8 local_a8;
ulonglong *local_98;
ulonglong *local_90;
undefined8 local_88;
undefined **local_78;
longlong *local_70;
LPVOID local_68;
ulonglong local_60;
undefined8 local_58;
ulonglong *local_50;
ulonglong *local_48;
undefined8 local_40;
undefined8 local_30;
local_30 = 0xfffffffffffffffe;
puVar6 = (undefined8 *)0x0;
if (*(longlong *)(DAT_14017cf20 + 0x58) != 0) {
for (puVar2 = *(undefined8 **)
(*(longlong *)(DAT_14017cf20 + 0x38) +
((ulonglong)(longlong)*param_4 % *(ulonglong *)(DAT_14017cf20 + 0x40)) * 8);
puVar2 != (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2) {
if (*param_4 == *(int *)(puVar2 + 1)) {
if ((puVar2 != (undefined8 *)0x0) &&
(puVar3 = (uint *)puVar2[2], puVar6 = puVar2, puVar3 != (uint *)0x0)) {
*(undefined8 *)(puVar3 + 0x28) = *param_5;
*(undefined8 *)(puVar3 + 0x2a) = param_5[1];
*(undefined8 *)(puVar3 + 0x2c) = param_5[2];
FUN_140011f00(*(longlong *)(param_1 + 0x70),*param_4,param_5);
if ((char)puVar3[3] == '\r') {
puVar3[0x28] = param_2;
puVar3[0x31] = 1;
local_98 = (ulonglong *)0x0;
local_90 = (ulonglong *)0x0;
local_88 = 0;
FUN_14003a0d0(DAT_14017cf20,(ulonglong *)&local_98,puVar3[2]);
local_b8 = (ulonglong *)0x0;
local_b0 = (ulonglong *)0x0;
local_a8 = 0;
FUN_140039cd0(DAT_14017cf20,(ulonglong *)&local_b8,'\x15');
piVar5 = (int *)FUN_14003b000(DAT_14017cf50,&local_50);
puVar8 = &DAT_14016f5d0;
(**(code **)(*(longlong *)(param_1 + 0x40) + 0x30))
((longlong *)(param_1 + 0x40),param_2,&DAT_14016f5d0,piVar5,&local_98,
&local_b8);
if (local_50 != (ulonglong *)0x0) {
if (local_50 != local_48) {
puVar7 = local_50 + 4;
do {
if (7 < *puVar7) {
operator_delete((void *)puVar7[-3]);
}
*puVar7 = 7;
puVar7[-1] = 0;
*(undefined2 *)(puVar7 + -3) = 0;
puVar1 = puVar7 + 2;
puVar7 = puVar7 + 6;
} while (puVar1 != local_48);
}
operator_delete(local_50);
}
local_50 = (ulonglong *)0x0;
local_48 = (ulonglong *)0x0;
local_40 = 0;
if (local_b8 != (ulonglong *)0x0) {
FUN_14000a5f0(local_b8,local_b0);
operator_delete(local_b8);
}
local_b8 = (ulonglong *)0x0;
local_b0 = (ulonglong *)0x0;
local_a8 = 0;
if (local_98 != (ulonglong *)0x0) {
FUN_14000a5f0(local_98,local_90);
operator_delete(local_98);
}
local_98 = (ulonglong *)0x0;
local_90 = (ulonglong *)0x0;
local_88 = 0;
}
else {
local_d8 = (ulonglong *)0x0;
local_d0 = (ulonglong *)0x0;
local_c8 = 0;
FUN_140039f50(DAT_14017cf20,(ulonglong *)&local_d8,*puVar3);
if (*(char *)(DAT_14017cf28 + 0x166) != '\0') {
FUN_140039cd0(DAT_14017cf20,(ulonglong *)&local_d8,'\b');
}
puVar8 = &DAT_14016f5d0;
piVar5 = param_4;
(**(code **)(*(longlong *)(param_1 + 0x40) + 0x40))
((longlong *)(param_1 + 0x40),param_2,&DAT_14016f5d0,param_4,&local_d8);
if (local_d8 != (ulonglong *)0x0) {
FUN_14000a5f0(local_d8,local_d0);
operator_delete(local_d8);
}
local_d8 = (ulonglong *)0x0;
local_d0 = (ulonglong *)0x0;
local_c8 = 0;
}
if (*(longlong *)(param_1 + 0x68) != 0) {
piVar5 = (int *)(ulonglong)(byte)puVar3[3];
puVar8 = (undefined *)(ulonglong)*puVar3;
FUN_14000ae50(*(longlong *)(param_1 + 0x68),1,*puVar3,piVar5,0x14012e3d0,0,*param_4);
}
local_78 = Proud::CFastArray<Proud::HostID,0>::vftable;
local_70 = (longlong *)0x0;
local_68 = (LPVOID)0x0;
local_60 = 0;
local_58 = 0;
puVar6 = (undefined8 *)
FUN_140039670(DAT_14017cf20,(longlong)&local_78,puVar8,(longlong)piVar5);
pvVar4 = local_68;
if ((int)local_60 == 0) {
if (local_68 == (LPVOID)0x0) break;
if (local_70 != (longlong *)0x0) {
puVar6 = (undefined8 *)(**(code **)(*local_70 + 0x18))(local_70,local_68);
break;
}
}
else {
puVar6 = (undefined8 *)
(**(code **)(*(longlong *)(param_1 + 0x40) + 0x68))
((longlong *)(param_1 + 0x40),local_68,local_60 & 0xffffffff,
&DAT_14016f5d0,param_4);
if (pvVar4 == (LPVOID)0x0) break;
if (local_70 != (longlong *)0x0) {
puVar6 = (undefined8 *)(**(code **)(*local_70 + 0x18))(local_70,pvVar4);
break;
}
}
puVar6 = (undefined8 *)FUN_14003e8b0(pvVar4);
}
break;
}
}
}
return CONCAT71((int7)((ulonglong)puVar6 >> 8),1);
}