49 lines
1.6 KiB
C
49 lines
1.6 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x1400dc3d0 FUN_1400dc3d0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400dc3d0(longlong param_1,double param_2)
|
|
|
|
{
|
|
ulonglong *puVar1;
|
|
double *pdVar2;
|
|
double *pdVar3;
|
|
void *_Dst;
|
|
double dVar4;
|
|
double local_res10;
|
|
|
|
local_res10 = param_2;
|
|
if (param_2 < 0.0) {
|
|
local_res10 = 0.05;
|
|
}
|
|
dVar4 = local_res10;
|
|
pdVar2 = *(double **)(param_1 + 0x58);
|
|
puVar1 = (ulonglong *)(param_1 + 0x50);
|
|
if ((&local_res10 < pdVar2) && (pdVar3 = (double *)*puVar1, pdVar3 <= &local_res10)) {
|
|
if (pdVar2 == *(double **)(param_1 + 0x60)) {
|
|
FUN_140001e70((longlong *)puVar1);
|
|
}
|
|
if (*(undefined8 **)(param_1 + 0x58) != (undefined8 *)0x0) {
|
|
**(undefined8 **)(param_1 + 0x58) =
|
|
*(undefined8 *)(*puVar1 + ((longlong)&local_res10 - (longlong)pdVar3 >> 3) * 8);
|
|
}
|
|
}
|
|
else {
|
|
if (pdVar2 == *(double **)(param_1 + 0x60)) {
|
|
FUN_140001e70((longlong *)puVar1);
|
|
}
|
|
if (*(double **)(param_1 + 0x58) != (double *)0x0) {
|
|
**(double **)(param_1 + 0x58) = dVar4;
|
|
}
|
|
}
|
|
*(longlong *)(param_1 + 0x58) = *(longlong *)(param_1 + 0x58) + 8;
|
|
_Dst = (void *)*puVar1;
|
|
if ((ulonglong)*(uint *)(param_1 + 0x40) <
|
|
(ulonglong)(*(longlong *)(param_1 + 0x58) - (longlong)_Dst >> 3)) {
|
|
memmove(_Dst,(void *)((longlong)_Dst + 8),
|
|
*(longlong *)(param_1 + 0x58) - ((longlong)_Dst + 8) & 0xfffffffffffffff8);
|
|
*(longlong *)(param_1 + 0x58) = *(longlong *)(param_1 + 0x58) + -8;
|
|
}
|
|
return;
|
|
}
|
|
|