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