/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400c7f30 FUN_1400c7f30 * Pseudocode, not original source. */ undefined8 * FUN_1400c7f30(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; UINT uDelay; undefined8 *puVar2; MMRESULT MVar3; ulonglong uVar4; longlong *plVar5; undefined8 *puVar6; undefined8 **ppuVar7; longlong *plVar8; undefined8 uVar9; undefined8 *puVar10; double dVar11; undefined8 *local_res10; char *local_res18; *param_1 = Proud::CNetClientManager::vftable; param_1[1] = Proud::CNetClientManager::vftable; uVar4 = FUN_140094860(); uVar9 = CONCAT71((int7)((ulonglong)param_3 >> 8),1); FUN_14003cf60((undefined4 *)(param_1 + 2),uVar4 & 0xffffffff,uVar9,param_4); FUN_140048880((undefined2 *)(param_1 + 9)); plVar8 = (longlong *)0x0; param_1[0xf] = 0; uVar4 = FUN_140094860(); uVar9 = CONCAT71((int7)((ulonglong)uVar9 >> 8),1); FUN_14003cf60((undefined4 *)(param_1 + 0x11),uVar4 & 0xffffffff,uVar9,param_4); uVar4 = FUN_140094860(); uVar4 = uVar4 & 0xffffffff; puVar6 = param_1 + 0x39; uVar9 = CONCAT71((int7)((ulonglong)uVar9 >> 8),1); FUN_14003cf60((undefined4 *)puVar6,uVar4,uVar9,param_4); param_1[0x41] = 0; param_1[0x44] = 0; param_1[0x42] = 0; param_1[0x43] = 0; param_1[0x45] = 0; param_1[0x48] = 0; param_1[0x46] = 0; param_1[0x47] = 0; param_1[0x52] = 0; param_1[0x53] = 0; param_1[0x54] = 0; *(undefined4 *)(param_1 + 0x55) = 0; param_1[0x56] = 0; param_1[0x57] = 0; FUN_1400bf8b0(puVar6,uVar4,uVar9,param_4); *(undefined1 *)(param_1 + 0x38) = 0; FUN_1400488d0((char *)(param_1 + 9)); dVar11 = FUN_140048960((char *)(param_1 + 9)); param_1[0x18] = dVar11; param_1[0x20] = 0; param_1[0x30] = 0; *(undefined1 *)(param_1 + 0x38) = 1; param_1[0x4a] = 0; param_1[0x4b] = 0; param_1[0x40] = 0; param_1[0x49] = 0; local_res18 = operator_new(0xa8); plVar5 = plVar8; if (local_res18 != (char *)0x0) { plVar5 = (longlong *) FUN_140047bb0(local_res18,param_1,CONCAT71((int7)((ulonglong)uVar9 >> 8),1),param_4); } param_1[0x57] = plVar5; *(undefined1 *)(param_1 + 0x10) = 0; puVar6 = param_1 + 0x50; *(undefined1 *)puVar6 = 0; *(undefined8 *)((longlong)param_1 + 0x284) = 0; param_1[0xe] = 0; uDelay = 1; if (1 < DAT_14016f074) { uDelay = DAT_14016f074; } puVar10 = (undefined8 *)&LAB_1400bf1d0; MVar3 = timeSetEvent(uDelay,uDelay,&LAB_1400bf1d0,(DWORD_PTR)puVar6,1); *(MMRESULT *)(param_1 + 0x4c) = MVar3; local_res10 = operator_new(0x28); plVar5 = plVar8; if (local_res10 != (undefined8 *)0x0) { puVar10 = param_1; plVar5 = FUN_140045b20(local_res10,&LAB_1400c7f20,param_1); } if (plVar5 == (longlong *)0x0) { local_res10 = (undefined8 *)0x0; } else { local_res10 = (undefined8 *)FUN_14003e840(0x10); local_res10[1] = 1; *local_res10 = plVar5; } puVar1 = local_res10; ppuVar7 = &local_res10; FUN_14007b440(param_1 + 0xf,(longlong *)ppuVar7); puVar2 = local_res10; if (puVar1 != (undefined8 *)0x0) { plVar5 = puVar1 + 1; *plVar5 = *plVar5 + -1; if (*plVar5 == 0) { puVar1 = (undefined8 *)*local_res10; if (puVar1 != (undefined8 *)0x0) { FUN_140045c30(puVar1); operator_delete(puVar1); } FUN_14003e8b0(puVar2); } } if ((undefined8 *)param_1[0xf] != (undefined8 *)0x0) { plVar8 = *(longlong **)param_1[0xf]; } FUN_140045d20(plVar8,ppuVar7,puVar10,puVar6); return param_1; }