server-re/decomp/MessageServer_Release_x64/full/functions/0x1400fde60.c

33 lines
1.1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400fde60 FUN_1400fde60
* Pseudocode, not original source. */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void FUN_1400fde60(longlong *param_1,undefined8 param_2,ulonglong param_3,undefined8 param_4)
{
double dVar1;
longlong lVar2;
double dVar3;
dVar3 = (double)(**(code **)(**(longlong **)*param_1 + 0x18))();
if ((double)param_1[0x16] == 0.0) {
param_1[0x16] = (longlong)dVar3;
}
dVar1 = (double)param_1[0x16];
if (_DAT_1401ae2a8 < dVar3 - dVar1) {
lVar2 = param_1[0x15];
param_1[0x16] = (longlong)dVar3;
*(undefined4 *)(param_1 + 0x15) = 0;
*(int *)(param_1 + 0x17) =
(int)(((double)(int)lVar2 - (double)(int)param_1[0x17]) * (0.1 / (dVar3 - dVar1)) +
(double)(int)param_1[0x17]);
}
if (DAT_1401ae2b8 * 0.2 < dVar3 - (double)param_1[1]) {
FUN_1400fdb30(param_1,param_2,param_3,param_4);
param_1[1] = (longlong)dVar3;
}
return;
}