/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400ac260 FUN_1400ac260 * Pseudocode, not original source. */ void FUN_1400ac260(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_140037ab0(DVar2,"PNCliWorker"); DVar2 = GetCurrentThreadId(); *(DWORD *)(param_1 + 0x284) = DVar2; if (DAT_140155147 != '\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_14015c2d0 != '\0') break; pIVar3 = (IMAGE_DOS_HEADER *)(ulonglong)DAT_140155074; FUN_1400abf80(param_1,DAT_140155074,param_3,param_4); if (*(char *)(param_1 + 0x280) != '\0') { *(undefined1 *)(param_1 + 0x280) = 0; FUN_14002e6e0((int *)(param_1 + 0x88)); dVar4 = FUN_14003a420((char *)(param_1 + 0x48)); *(double *)(param_1 + 0xc0) = dVar4; dVar4 = FUN_14003a480((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_14002e770(param_1 + 0x88); FUN_1400ac0f0(param_1,pIVar3,param_3,(undefined ***)param_4); if (*(uint ********)(param_1 + 0x2b0) != (uint *******)0x0) { FUN_1400b28b0(*(uint ********)(param_1 + 0x2b0),(uint ****)pIVar3,param_3,param_4); } } cVar1 = *(char *)(param_1 + 0x80); } return; }