server-re/decomp/MessageServer_Release_x64/full/functions/0x1400e8980.c

53 lines
1.8 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400e8980 FUN_1400e8980
* Pseudocode, not original source. */
void FUN_1400e8980(longlong param_1,undefined8 param_2,undefined **param_3,uint ******param_4)
{
char cVar1;
DWORD DVar2;
HANDLE hThread;
IMAGE_DOS_HEADER *pIVar3;
double dVar4;
DVar2 = GetCurrentThreadId();
FUN_1400745e0(DVar2,"PNCliWorker");
DVar2 = GetCurrentThreadId();
*(DWORD *)(param_1 + 0x284) = DVar2;
if (DAT_1401ac147 != '\0') {
hThread = GetCurrentThread();
SetThreadPriority(hThread,1);
}
*(undefined1 *)(param_1 + 0x28c) = 0;
cVar1 = *(char *)(param_1 + 0x80);
while( true ) {
if (cVar1 != '\0') {
*(undefined1 *)(param_1 + 0x28c) = 1;
return;
}
if (DAT_1401b45d0 != '\0') break;
pIVar3 = (IMAGE_DOS_HEADER *)(ulonglong)DAT_1401ac074;
FUN_1400e86a0(param_1,DAT_1401ac074,param_3,param_4);
if (*(char *)(param_1 + 0x280) != '\0') {
*(undefined1 *)(param_1 + 0x280) = 0;
FUN_14006b350((int *)(param_1 + 0x88));
dVar4 = FUN_140076f50((char *)(param_1 + 0x48));
*(double *)(param_1 + 0xc0) = dVar4;
dVar4 = FUN_140076fb0((char *)(param_1 + 0x48));
*(double *)(param_1 + 0x100) = dVar4;
*(double *)(param_1 + 0x180) =
(*(double *)(param_1 + 0x100) - *(double *)(param_1 + 0x180)) * 0.3 +
*(double *)(param_1 + 0x180);
*(undefined1 *)(param_1 + 0x1c0) = 1;
FUN_14006b3e0(param_1 + 0x88);
FUN_1400e8810(param_1,pIVar3,param_3,(undefined ***)param_4);
if (*(uint ********)(param_1 + 0x2b0) != (uint *******)0x0) {
FUN_1400ef320(*(uint ********)(param_1 + 0x2b0),(uint ****)pIVar3,param_3,param_4);
}
}
cVar1 = *(char *)(param_1 + 0x80);
}
return;
}