53 lines
1.6 KiB
C
53 lines
1.6 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x1400dc520 FUN_1400dc520
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400dc520(longlong param_1)
|
|
|
|
{
|
|
double dVar1;
|
|
double *pdVar2;
|
|
longlong lVar3;
|
|
undefined8 *puVar4;
|
|
double dVar5;
|
|
double dVar6;
|
|
|
|
dVar1 = 0.0;
|
|
if (*(longlong **)(param_1 + 0x10) == (longlong *)0x0) {
|
|
dVar5 = 0.0;
|
|
}
|
|
else {
|
|
dVar5 = (double)(**(code **)(**(longlong **)(param_1 + 0x10) + 8))();
|
|
}
|
|
dVar6 = dVar5 - *(double *)(param_1 + 0x38);
|
|
if (*(double *)(param_1 + 0x90) <= dVar6 && dVar6 != *(double *)(param_1 + 0x90)) {
|
|
dVar6 = *(double *)(*(longlong *)(param_1 + 0x58) + -8);
|
|
}
|
|
*(double *)(param_1 + 0x38) = dVar5;
|
|
FUN_1400dc3d0(param_1,dVar6);
|
|
pdVar2 = *(double **)(param_1 + 0x50);
|
|
if (pdVar2 != *(double **)(param_1 + 0x58)) {
|
|
dVar1 = 0.0;
|
|
do {
|
|
dVar1 = dVar1 + *pdVar2;
|
|
pdVar2 = pdVar2 + 1;
|
|
} while (pdVar2 != *(double **)(param_1 + 0x58));
|
|
}
|
|
lVar3 = *(longlong *)(param_1 + 0x58) - *(longlong *)(param_1 + 0x50) >> 3;
|
|
dVar5 = (double)lVar3;
|
|
if (lVar3 < 0) {
|
|
dVar5 = dVar5 + 1.8446744073709552e+19;
|
|
}
|
|
puVar4 = *(undefined8 **)(param_1 + 0x70);
|
|
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
|
*(double *)(param_1 + 0x20) = dVar1 / dVar5;
|
|
*(double *)(param_1 + 0x18) = dVar1 / dVar5 + *(double *)(param_1 + 0x18);
|
|
if (puVar4 != *(undefined8 **)(param_1 + 0x78)) {
|
|
do {
|
|
(**(code **)(*(longlong *)*puVar4 + 8))();
|
|
puVar4 = puVar4 + 1;
|
|
} while (puVar4 != *(undefined8 **)(param_1 + 0x78));
|
|
}
|
|
return;
|
|
}
|
|
|