83 lines
2.2 KiB
C
83 lines
2.2 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14000efc0 FUN_14000efc0
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
/* WARNING: Type propagation algorithm not settling */
|
|
|
|
int FUN_14000efc0(longlong *param_1,char *param_2)
|
|
|
|
{
|
|
char cVar1;
|
|
int iVar2;
|
|
char *pcVar3;
|
|
longlong *plVar4;
|
|
ulonglong uVar5;
|
|
char *pcVar6;
|
|
longlong *_Str;
|
|
undefined1 auStack_68 [32];
|
|
undefined8 local_48;
|
|
longlong *local_40;
|
|
ulonglong local_38 [2];
|
|
longlong local_28;
|
|
ulonglong local_20;
|
|
ulonglong local_10;
|
|
|
|
local_48 = 0xfffffffffffffffe;
|
|
local_10 = DAT_14016f5a0 ^ (ulonglong)auStack_68;
|
|
local_20 = 0xf;
|
|
local_28 = 0;
|
|
local_38[0]._0_1_ = '\0';
|
|
uVar5 = 0xffffffffffffffff;
|
|
pcVar6 = param_2;
|
|
do {
|
|
if (uVar5 == 0) break;
|
|
uVar5 = uVar5 - 1;
|
|
cVar1 = *pcVar6;
|
|
pcVar6 = pcVar6 + 1;
|
|
} while (cVar1 != '\0');
|
|
local_40 = param_1;
|
|
FUN_14000c9e0(local_38,param_2,~uVar5 - 1);
|
|
if (param_1[4] == 0) {
|
|
plVar4 = (longlong *)0x0;
|
|
}
|
|
else {
|
|
pcVar6 = (char *)local_38;
|
|
if (0xf < local_20) {
|
|
pcVar6 = (char *)CONCAT71(local_38[0]._1_7_,(char)local_38[0]);
|
|
}
|
|
pcVar3 = (char *)local_38;
|
|
if (0xf < local_20) {
|
|
pcVar3 = (char *)CONCAT71(local_38[0]._1_7_,(char)local_38[0]);
|
|
}
|
|
uVar5 = 0;
|
|
for (; pcVar3 != pcVar6 + local_28; pcVar3 = pcVar3 + 1) {
|
|
uVar5 = uVar5 ^ (uVar5 >> 2) + uVar5 * 0x40 + 0x9e3779b9 + (longlong)*pcVar3;
|
|
}
|
|
plVar4 = FUN_140010640((longlong *)(*param_1 + (uVar5 % (ulonglong)param_1[1]) * 8),local_38);
|
|
}
|
|
if (0xf < local_20) {
|
|
operator_delete((void *)CONCAT71(local_38[0]._1_7_,(char)local_38[0]));
|
|
}
|
|
local_20 = 0xf;
|
|
local_28 = 0;
|
|
local_38[0]._0_1_ = '\0';
|
|
if (plVar4 == (longlong *)0x0) {
|
|
if (*param_1 != 0) {
|
|
FUN_140010570(param_1);
|
|
}
|
|
iVar2 = 0;
|
|
}
|
|
else {
|
|
_Str = plVar4 + 6;
|
|
if (0xf < (ulonglong)plVar4[9]) {
|
|
_Str = (longlong *)*_Str;
|
|
}
|
|
iVar2 = atoi((char *)_Str);
|
|
if (*param_1 != 0) {
|
|
FUN_140010570(param_1);
|
|
}
|
|
}
|
|
return iVar2;
|
|
}
|
|
|