/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400ac7b0 FUN_1400ac7b0 * Pseudocode, not original source. */ void FUN_1400ac7b0(longlong *param_1,ulonglong param_2,longlong param_3,undefined8 *param_4) { longlong *plVar1; char cVar2; undefined1 uVar3; ushort uVar4; longlong lVar5; undefined8 *puVar6; double dVar7; undefined **local_38; undefined4 local_30; undefined2 local_2c; SIZE_T local_28; undefined1 local_20; puVar6 = param_4; (**(code **)(*(longlong *)(*param_1 + 0x78) + 0x10))(*param_1 + 0x78); if ((char)param_1[0x10] != '\0') { lVar5 = FUN_140064bc0(*param_1); cVar2 = (**(code **)(*(longlong *)(lVar5 + 0x40) + 0x10))(lVar5 + 0x40); if (cVar2 == '\0') { if (*(char *)(param_4 + 3) == '\0') { *(int *)(*param_1 + 0x508) = *(int *)(*param_1 + 0x508) + 1; } local_38 = Proud::AddrPort::vftable; local_30 = (undefined4)param_1[0x1a]; local_2c = *(undefined2 *)((longlong)param_1 + 0xd4); plVar1 = (longlong *)*param_1; dVar7 = (double)(**(code **)(plVar1[0xe] + 0x1c0))(); uVar3 = (**(code **)(*plVar1 + 0x30))(plVar1); uVar4 = FUN_140096e50(uVar3,1); lVar5 = FUN_140064bc0(*param_1); FUN_1400b7230(lVar5,param_2 & 0xffffffff,(ulonglong)uVar4,(longlong)&local_38,param_3,dVar7, param_4); return; } } local_28 = param_4[1]; local_20 = *(undefined1 *)(param_4 + 2); lVar5 = FUN_140064be0(*param_1); FUN_1400b2d20(lVar5,param_3,&local_28,puVar6); return; }