66 lines
2 KiB
C
66 lines
2 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14000f130 FUN_14000f130
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
/* WARNING: Type propagation algorithm not settling */
|
|
|
|
longlong * FUN_14000f130(longlong *param_1,longlong *param_2)
|
|
|
|
{
|
|
char *pcVar1;
|
|
char *pcVar2;
|
|
longlong *plVar3;
|
|
undefined1 auStack_88 [32];
|
|
undefined4 local_68;
|
|
undefined8 local_60;
|
|
longlong *local_58;
|
|
ulonglong local_50 [2];
|
|
longlong local_40;
|
|
ulonglong local_38;
|
|
ulonglong local_28;
|
|
|
|
local_60 = 0xfffffffffffffffe;
|
|
local_28 = DAT_14016f5a0 ^ (ulonglong)auStack_88;
|
|
plVar3 = (longlong *)0x0;
|
|
local_68 = 0;
|
|
local_38 = 0xf;
|
|
local_40 = 0;
|
|
local_50[0]._0_1_ = '\0';
|
|
local_58 = param_2;
|
|
FUN_14000c9e0(local_50,&DAT_140130778,4);
|
|
if (param_2[4] != 0) {
|
|
pcVar2 = (char *)local_50;
|
|
if (0xf < local_38) {
|
|
pcVar2 = (char *)CONCAT71(local_50[0]._1_7_,(char)local_50[0]);
|
|
}
|
|
pcVar1 = (char *)local_50;
|
|
if (0xf < local_38) {
|
|
pcVar1 = (char *)CONCAT71(local_50[0]._1_7_,(char)local_50[0]);
|
|
}
|
|
for (; pcVar1 != pcVar2 + local_40; pcVar1 = pcVar1 + 1) {
|
|
plVar3 = (longlong *)
|
|
((ulonglong)plVar3 ^
|
|
(longlong)*pcVar1 + ((ulonglong)plVar3 >> 2) + (longlong)plVar3 * 0x40 + 0x9e3779b9);
|
|
}
|
|
plVar3 = FUN_140010640((longlong *)(*param_2 + ((ulonglong)plVar3 % (ulonglong)param_2[1]) * 8),
|
|
local_50);
|
|
}
|
|
if (0xf < local_38) {
|
|
operator_delete((void *)CONCAT71(local_50[0]._1_7_,(char)local_50[0]));
|
|
}
|
|
local_38 = 0xf;
|
|
local_40 = 0;
|
|
local_50[0]._0_1_ = '\0';
|
|
param_1[3] = 0xf;
|
|
param_1[2] = 0;
|
|
*(undefined1 *)param_1 = 0;
|
|
if (plVar3 != (longlong *)0x0) {
|
|
FUN_14000c660(param_1,plVar3 + 6,0,0xffffffffffffffff);
|
|
}
|
|
if (*param_2 != 0) {
|
|
FUN_140010570(param_2);
|
|
}
|
|
return param_1;
|
|
}
|
|
|