server-re/decomp/Agent_Release_x64/full/functions/0x14002c560.c
2026-10-14 16:45:19 -04:00

118 lines
3.3 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x14002c560 FUN_14002c560
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_14002c560(longlong param_1)
{
double _X;
longlong lVar1;
undefined8 *puVar2;
double dVar3;
errno_t eVar4;
int iVar5;
undefined8 *puVar6;
double dVar7;
undefined1 auStack_d8 [32];
double local_b8;
undefined4 local_b0;
__time64_t local_a8;
undefined8 local_a0;
undefined8 local_98;
short local_90;
short local_8e;
undefined2 local_8c;
short local_8a;
short local_88;
short local_86;
ushort local_84;
undefined2 local_82;
tm local_80;
ulonglong local_58;
local_58 = DAT_1401555a0 ^ (ulonglong)auStack_d8;
local_a8 = _time64((__time64_t *)0x0);
local_b8 = 0.0;
local_b0 = 0;
eVar4 = _localtime64_s(&local_80,&local_a8);
if (eVar4 == 0) {
local_90 = (short)local_80.tm_year + 0x76c;
local_82 = 0;
local_8e = (short)local_80.tm_mon + 1;
local_8c = (undefined2)local_80.tm_wday;
local_8a = (short)local_80.tm_mday;
local_88 = (short)local_80.tm_hour;
local_86 = (short)local_80.tm_min;
local_84 = (ushort)local_80.tm_sec;
iVar5 = Ordinal_184(&local_90,&local_b8);
local_a0 = (undefined8 *)0x0;
local_98 = (undefined8 *)0x0;
if (((((iVar5 == 0) || (iVar5 = Ordinal_185(local_b8,&local_a0), iVar5 == 0)) ||
(local_90 != (short)local_a0)) ||
((local_8e != local_a0._2_2_ || (local_8a != local_a0._6_2_)))) ||
((local_88 != (short)local_98 || (local_86 != local_98._2_2_)))) goto LAB_14002c66f;
local_b0 = 0;
if (local_84 != local_98._4_2_) goto LAB_14002c66f;
}
else {
LAB_14002c66f:
local_b0 = 1;
}
if (*(longlong *)(param_1 + 0x58) == 0) {
local_a0 = (undefined8 *)0x0;
}
else {
local_a0 = *(undefined8 **)(param_1 + 0x68);
if (local_a0 != (undefined8 *)0x0) {
local_98 = (undefined8 *)*local_a0;
puVar6 = local_a0;
puVar2 = local_98;
goto joined_r0x00014002c6a8;
}
}
local_98 = (undefined8 *)0x0;
puVar6 = local_a0;
puVar2 = local_98;
joined_r0x00014002c6a8:
while (puVar2 != (undefined8 *)0x0) {
lVar1 = puVar2[2];
if (((lVar1 != 0) && (*(int *)(lVar1 + 0xc4) != 0)) && (*(int *)(lVar1 + 0xc4) != 1)) {
_X = *(double *)(lVar1 + 200);
if (_X <= -5.787037037037037e-06) {
dVar7 = ceil(_X);
_X = dVar7 - (_X - dVar7);
}
dVar3 = local_b8;
dVar7 = local_b8;
if (local_b8 <= -5.787037037037037e-06) {
dVar7 = ceil(local_b8);
dVar7 = dVar7 - (dVar3 - dVar7);
}
iVar5 = Ordinal_185(_X - dVar7,&local_a0);
if ((iVar5 == 0) || (local_98._4_2_ < 0x1e)) {
*(undefined4 *)(lVar1 + 0xc4) = 3;
}
else {
iVar5 = Ordinal_185(_X - dVar7,&local_90);
if ((iVar5 == 0) || (local_84 < 0xb4)) {
*(undefined4 *)(lVar1 + 0xc4) = 2;
}
else {
*(undefined4 *)(lVar1 + 0xc4) = 0;
}
}
}
for (puVar2 = (undefined8 *)*puVar2; puVar2 == (undefined8 *)0x0; puVar2 = (undefined8 *)*puVar2
) {
puVar2 = puVar6 + 1;
puVar6 = puVar6 + 1;
}
if (puVar6 == puVar2) {
puVar2 = (undefined8 *)0x0;
}
}
return;
}