69 lines
2.4 KiB
C
69 lines
2.4 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400c2a10 FUN_1400c2a10
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400c2a10(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_1400f8570(local_res8);
|
|
cVar2 = *(char *)(param_1 + 0x140);
|
|
while (cVar2 == '\0') {
|
|
pwVar7 = (wchar_t *)0x64;
|
|
FUN_140076c10((undefined8 *)(param_1 + 0x150),100);
|
|
dVar10 = FUN_140076fb0((char *)(*(longlong *)(param_1 + 0x148) + 0x760));
|
|
*(double *)(*(longlong *)(param_1 + 0x148) + 0x1c0) = dVar10;
|
|
dVar10 = FUN_140076f50((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_1400c18f0(param_1,pwVar7,param_3,param_4);
|
|
cVar2 = *(char *)(param_1 + 0x140);
|
|
}
|
|
lVar6 = *(longlong *)(param_1 + 0x148);
|
|
FUN_140088ec0(lVar6,pwVar7,param_3,param_4);
|
|
if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0) != 0) {
|
|
FUN_14006cb70(lVar6,pwVar7,param_3,param_4);
|
|
local_res10 = (short *)PTR_DAT_1401ac010;
|
|
FUN_140053d20((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_1401ac010;
|
|
}
|
|
uVar8 = 0;
|
|
lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x148) + 0x17f0);
|
|
FUN_1400cb700(lVar6,0,psVar9,param_4);
|
|
if (((psVar3 != (short *)0x0) && (psVar3 != (short *)PTR_DAT_1401ac010)) &&
|
|
(psVar3 + -4 != (short *)0x0)) {
|
|
piVar5 = (int *)FUN_14006cb70(lVar6,uVar8,psVar9,param_4);
|
|
FUN_14006b350(piVar5);
|
|
piVar1 = (int *)(psVar3 + -2);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_14006cc60(psVar3 + -4);
|
|
}
|
|
FUN_14006b3e0((longlong)piVar5);
|
|
}
|
|
}
|
|
FUN_1400f85a0(local_res8);
|
|
return;
|
|
}
|
|
|