server-re/decomp/AgentManager_Release_x64/full/functions/0x1400ed450.c
2026-10-15 09:58:24 -04:00

61 lines
1.6 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400ed450 FUN_1400ed450
* Pseudocode, not original source. */
undefined8 *
FUN_1400ed450(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
undefined8 *puVar1;
void *_Dst;
double *pdVar2;
longlong lVar3;
double dVar4;
double dVar5;
*param_1 = Clock::vftable;
param_1[1] = Clock::vftable;
param_1[2] = 0;
param_1[3] = 0;
param_1[4] = 0;
*(undefined4 *)(param_1 + 5) = 0;
param_1[6] = 0;
param_1[7] = 0;
param_1[10] = 0;
param_1[0xb] = 0;
param_1[0xc] = 0;
param_1[0xe] = 0;
param_1[0xf] = 0;
param_1[0x10] = 0;
param_1[0x12] = 0x3fc999999999999a;
puVar1 = (undefined8 *)param_1[2];
if (puVar1 != (undefined8 *)0x0) {
(**(code **)*puVar1)(puVar1,1,param_3,param_4,0xfffffffffffffffe);
}
param_1[2] = 0;
param_1[0x12] = 0x3fe0000000000000;
*(undefined4 *)(param_1 + 8) = 1;
param_1[9] = 0x3f9eb851eb851eb8;
_Dst = (void *)param_1[10];
if (_Dst != (void *)param_1[0xb]) {
memmove(_Dst,(void *)param_1[0xb],0);
param_1[0xb] = _Dst;
}
FUN_140023580(param_1 + 10,param_1 + 9);
dVar5 = 0.0;
pdVar2 = (double *)param_1[10];
if (pdVar2 != (double *)param_1[0xb]) {
do {
dVar5 = dVar5 + *pdVar2;
pdVar2 = pdVar2 + 1;
} while (pdVar2 != (double *)param_1[0xb]);
}
lVar3 = (longlong)(param_1[0xb] - param_1[10]) >> 3;
dVar4 = (double)lVar3;
if (lVar3 < 0) {
dVar4 = dVar4 + 1.8446744073709552e+19;
}
param_1[4] = dVar5 / dVar4;
return param_1;
}