118 lines
3.3 KiB
C
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;
|
|
}
|
|
|