/* 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; }