110 lines
4 KiB
C
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);
|
|
}
|
|
|