53 lines
1.8 KiB
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;
|
|
}
|
|
|