server-re/decomp/AgentManager_Release_x64/full/functions/0x1400c0aa0.c
2026-10-15 09:58:24 -04:00

97 lines
4.1 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400c0aa0 FUN_1400c0aa0
* Pseudocode, not original source. */
void FUN_1400c0aa0(longlong param_1,longlong *param_2,wchar_t *param_3,longlong **param_4)
{
longlong *plVar1;
int *piVar2;
longlong *plVar3;
int *piVar4;
int *piVar5;
longlong *plVar6;
longlong lVar7;
double dVar8;
undefined8 uVar9;
longlong *local_res8;
piVar4 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))();
FUN_14003d040(piVar4);
lVar7 = *(longlong *)(param_1 + 0x108);
if (0.0 < *(double *)(lVar7 + 0x1648)) {
dVar8 = (double)(**(code **)(*(longlong *)(lVar7 + 0x70) + 0x1c0))();
if (10.0 < dVar8 - *(double *)(lVar7 + 0x1648)) {
if ((*(char *)(lVar7 + 0x1790) != '\0') || (*(int *)(lVar7 + 0x6c8) != 0)) {
param_3 =
L"**WARNING** CNetClient.FrameMove is not called in ten seconds. Is this your intention?";
param_2 = (longlong *)0x0;
FUN_1400a9f70(lVar7,0,
L"**WARNING** CNetClient.FrameMove is not called in ten seconds. Is this your intention?"
,param_4);
}
*(undefined8 *)(*(longlong *)(param_1 + 0x108) + 0x1648) = 0xbff0000000000000;
}
}
lVar7 = *(longlong *)(param_1 + 0x108);
plVar6 = (longlong *)(lVar7 + 0x70);
dVar8 = (double)(**(code **)(*plVar6 + 0x1c0))();
dVar8 = dVar8 - *(double *)(*(longlong *)(param_1 + 0x108) + 0x18c0);
if (((*(double *)(lVar7 + 0x6a8) <= dVar8 && dVar8 != *(double *)(lVar7 + 0x6a8)) &&
(*(longlong **)(lVar7 + 0x5d0) != (longlong *)0x0)) && (**(longlong **)(lVar7 + 0x5d0) != 0))
{
if ((*(char *)(lVar7 + 0x1790) != '\0') || (*(int *)(lVar7 + 0x6c8) != 0)) {
plVar6 = *(longlong **)(param_1 + 0x108);
param_4 = (longlong **)plVar6[0xd5];
param_3 = (wchar_t *)&DAT_140123750;
param_2 = (longlong *)0x0;
FUN_1400a9f70((longlong)plVar6,0,
L"default timeouttime:%lf,Client %d: 오랫동안 TCP 수신이 없어서 연결해제 모드로 전환합니다."
,param_4);
}
FUN_14003e7c0(plVar6,param_2,param_3,param_4);
local_res8 = (longlong *)PTR_DAT_14016f010;
param_4 = &local_res8;
param_2 = (longlong *)0xc;
param_3 = (wchar_t *)0x7;
plVar6 = *(longlong **)(param_1 + 0x108);
FUN_1400b4a80(plVar6,0xc,(undefined *)0x7,param_4);
plVar3 = local_res8;
if (((local_res8 != (longlong *)0x0) && (local_res8 != (longlong *)PTR_DAT_14016f010)) &&
(plVar1 = local_res8 + -1, plVar1 != (longlong *)0x0)) {
piVar5 = (int *)FUN_14003e7c0(plVar6,param_2,param_3,param_4);
FUN_14003d040(piVar5);
piVar2 = (int *)((longlong)plVar3 + -4);
*piVar2 = *piVar2 + -1;
if (*piVar2 == 0) {
FUN_14003e8b0(plVar1);
}
FUN_14003d0d0((longlong)piVar5);
}
local_res8 = (longlong *)PTR_DAT_14016f010;
plVar6 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x5d0);
lVar7 = 0;
if (plVar6 != (longlong *)0x0) {
lVar7 = *plVar6;
}
if (*(int *)(lVar7 + 0x100) < 4) {
*(undefined4 *)(lVar7 + 0x40) = 0;
*(undefined4 *)(lVar7 + 0x100) = 4;
uVar9 = (**(code **)(*(longlong *)(*(longlong *)(lVar7 + 0x108) + 0x70) + 0x1c0))();
*(undefined8 *)(lVar7 + 0x80) = uVar9;
*(undefined1 *)(lVar7 + 0xc0) = 0;
}
}
FUN_1400bfed0(param_1,param_2,(undefined **)param_3,(double *)param_4);
FUN_1400abad0(*(longlong **)(param_1 + 0x108),param_2,(SIZE_T)param_3,param_4);
FUN_1400a60e0(*(longlong *)(param_1 + 0x108),param_2,(SIZE_T)param_3,param_4);
FUN_1400a63d0(*(longlong *)(param_1 + 0x108),param_2,(SIZE_T)param_3,param_4);
FUN_1400a6630(*(longlong *)(param_1 + 0x108),param_2,(undefined8 *)param_3,param_4);
FUN_1400b6c70(*(longlong **)(param_1 + 0x108),param_2,(SIZE_T)param_3,(undefined *)param_4);
FUN_14009e320(*(longlong *)(param_1 + 0x108));
FUN_14009e480(*(longlong **)(param_1 + 0x108));
FUN_1400ac480(*(longlong **)(param_1 + 0x108),param_2,param_3,param_4);
FUN_14003d0d0((longlong)piVar4);
return;
}