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

110 lines
4 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x14000bb00 FUN_14000bb00
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
undefined8
FUN_14000bb00(longlong param_1,undefined8 param_2,undefined8 param_3,int *param_4,
undefined8 *param_5,longlong *param_6)
{
errno_t eVar1;
int iVar2;
undefined4 extraout_var;
undefined8 uVar3;
undefined8 *puVar4;
longlong lVar5;
undefined8 extraout_RAX;
undefined4 extraout_var_00;
undefined1 auStack_d8 [32];
undefined8 *local_b8;
undefined8 *local_b0;
__time64_t local_a8;
tm *local_a0;
undefined4 local_98;
undefined8 local_90;
undefined8 local_88;
undefined2 local_80;
undefined2 local_7e;
undefined2 local_7c;
undefined2 local_7a;
tm local_78;
undefined8 local_50;
undefined8 local_48;
undefined8 local_40;
undefined8 local_38;
ulonglong local_30;
local_90 = 0xfffffffffffffffe;
local_30 = DAT_1401555a0 ^ (ulonglong)auStack_d8;
if (*(longlong *)(DAT_140162d60 + 0x58) != 0) {
for (puVar4 = *(undefined8 **)
(*(longlong *)(DAT_140162d60 + 0x38) +
((ulonglong)(longlong)*param_4 % *(ulonglong *)(DAT_140162d60 + 0x40)) * 8);
puVar4 != (undefined8 *)0x0; puVar4 = (undefined8 *)*puVar4) {
if (*param_4 == *(int *)(puVar4 + 1)) {
if ((puVar4 != (undefined8 *)0x0) && (lVar5 = puVar4[2], lVar5 != 0)) {
*(undefined8 *)(lVar5 + 0xb8) = *param_5;
*(undefined8 *)(lVar5 + 0xc0) = param_5[1];
*(undefined8 *)(lVar5 + 200) = param_5[2];
*(undefined8 *)(lVar5 + 0xd0) = param_5[3];
FUN_14000bfb0((longlong *)(lVar5 + 0xd8),param_6);
*(undefined4 *)(lVar5 + 0xc4) = 3;
local_a8 = _time64((__time64_t *)0x0);
local_a0 = (tm *)0x0;
local_98 = 0;
eVar1 = _localtime64_s(&local_78,&local_a8);
uVar3 = CONCAT44(extraout_var,eVar1);
if (eVar1 == 0) {
local_88 = (undefined8 *)
CONCAT26((undefined2)local_78.tm_mday,
CONCAT24((undefined2)local_78.tm_wday,
CONCAT22((short)local_78.tm_mon + 1,
(short)local_78.tm_year + 0x76c)));
local_80 = (undefined2)local_78.tm_hour;
local_7e = (undefined2)local_78.tm_min;
local_7c = (undefined2)local_78.tm_sec;
local_7a = 0;
uVar3 = Ordinal_184(&local_88,&local_a0);
local_50 = 0;
local_48 = 0;
if ((int)uVar3 != 0) {
uVar3 = Ordinal_185(local_a0,&local_50);
}
}
*(tm **)(lVar5 + 200) = local_a0;
if (*(longlong *)(param_1 + 0x40) != 0) {
local_a0 = &local_78;
puVar4 = FUN_140004d60((undefined8 *)&local_78,param_6);
local_50 = *(undefined8 *)(lVar5 + 0xb8);
local_48 = *(undefined8 *)(lVar5 + 0xc0);
local_40 = *(undefined8 *)(lVar5 + 200);
local_38 = *(undefined8 *)(lVar5 + 0xd0);
local_a8 = CONCAT44(local_a8._4_4_,*param_4);
local_88 = puVar4;
lVar5 = FUN_140007fa0(*(longlong *)(param_1 + 0x40));
local_b8 = &local_50;
local_b0 = puVar4;
uVar3 = (**(code **)(*(longlong *)(lVar5 + 0x68) + 0x40))
((longlong *)(lVar5 + 0x68),1,&DAT_1401555d0,&local_a8);
if ((void *)*puVar4 != (void *)0x0) {
operator_delete((void *)*puVar4);
uVar3 = extraout_RAX;
}
*puVar4 = 0;
puVar4[1] = 0;
puVar4[2] = 0;
}
goto LAB_14000bd3c;
}
break;
}
}
}
iVar2 = printf("Error - NOT EXIST SERVER : %d \n");
uVar3 = CONCAT44(extraout_var_00,iVar2);
LAB_14000bd3c:
return CONCAT71((int7)((ulonglong)uVar3 >> 8),1);
}