/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401f32e0 FUN_1401f32e0 * Pseudocode, not original source. */ void FUN_1401f32e0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { char cVar1; DWORD DVar2; HANDLE hThread; undefined8 uVar3; uVar3 = 0xfffffffffffffffe; DVar2 = GetCurrentThreadId(); FUN_1401c3930(DVar2,"PNCliWorker",param_3,param_4,uVar3); DVar2 = GetCurrentThreadId(); *(DWORD *)(param_1 + 0x284) = DVar2; if (DAT_140344d77 != '\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_14034c8c0 != '\0') break; FUN_1401f3000(param_1,DAT_140344ca4); if (*(char *)(param_1 + 0x280) != '\0') { *(undefined1 *)(param_1 + 0x280) = 0; FUN_14016db50(); uVar3 = FUN_1401a1eb0(param_1 + 0x48); *(undefined8 *)(param_1 + 0xc0) = uVar3; uVar3 = FUN_1401a1f10(param_1 + 0x48); *(undefined8 *)(param_1 + 0x100) = uVar3; *(double *)(param_1 + 0x180) = (*(double *)(param_1 + 0x100) - *(double *)(param_1 + 0x180)) * 0.3 + *(double *)(param_1 + 0x180); *(undefined1 *)(param_1 + 0x1c0) = 1; FUN_14016dbe0(param_1 + 0x88); FUN_1401f3170(param_1); if (*(longlong *)(param_1 + 0x2b0) != 0) { FUN_1401f98c0(); } } cVar1 = *(char *)(param_1 + 0x80); } return; }