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

69 lines
2.3 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14007b540 FUN_14007b540
* Pseudocode, not original source. */
void FUN_14007b540(longlong param_1,undefined8 param_2,SIZE_T *param_3,TypeDescriptor *param_4)
{
int *piVar1;
char cVar2;
short *psVar3;
HANDLE hThread;
__time64_t _Var4;
int *piVar5;
longlong lVar6;
wchar_t *pwVar7;
undefined8 uVar8;
short *psVar9;
double dVar10;
char local_res8 [8];
short *local_res10;
hThread = GetCurrentThread();
pwVar7 = (wchar_t *)0x0;
SetThreadPriorityBoost(hThread,0);
FUN_1400721c0(local_res8);
cVar2 = *(char *)(param_1 + 0x140);
while (cVar2 == '\0') {
pwVar7 = (wchar_t *)0x64;
FUN_140048620((undefined8 *)(param_1 + 0x150),100);
dVar10 = FUN_1400489c0((char *)(*(longlong *)(param_1 + 0x148) + 0x760));
*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0) = dVar10;
dVar10 = FUN_140048960((char *)(*(longlong *)(param_1 + 0x148) + 0x760));
*(double *)(*(longlong *)(param_1 + 0x148) + 0x200) = dVar10;
_Var4 = _time64((__time64_t *)0x0);
*(__time64_t *)(*(longlong *)(param_1 + 0x148) + 0x208) = _Var4;
FUN_140079fe0(param_1,pwVar7,param_3,param_4);
cVar2 = *(char *)(param_1 + 0x140);
}
lVar6 = *(longlong *)(param_1 + 0x148);
FUN_14005a330(lVar6,pwVar7,param_3,param_4);
if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0) {
FUN_14003e7c0(lVar6,pwVar7,param_3,param_4);
local_res10 = (short *)PTR_DAT_14016f010;
FUN_140029b80((longlong *)&local_res10,L"%s thread 종료",
L"Proud::CNetThreads_S::Heartbeat_Main",param_4);
psVar3 = local_res10;
psVar9 = local_res10;
if (local_res10 == (short *)0x0) {
psVar9 = (short *)PTR_DAT_14016f010;
}
uVar8 = 0;
lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0);
FUN_1400843d0(lVar6,0,psVar9,param_4);
if (((psVar3 != (short *)0x0) && (psVar3 != (short *)PTR_DAT_14016f010)) &&
(psVar3 + -4 != (short *)0x0)) {
piVar5 = (int *)FUN_14003e7c0(lVar6,uVar8,psVar9,param_4);
FUN_14003d040(piVar5);
piVar1 = (int *)(psVar3 + -2);
*piVar1 = *piVar1 + -1;
if (*piVar1 == 0) {
FUN_14003e8b0(psVar3 + -4);
}
FUN_14003d0d0((longlong)piVar5);
}
}
FUN_1400721f0(local_res8);
return;
}