server-re/decomp/AgentManager_Release_x64/full/functions/0x14000f130.c
2026-10-15 09:58:24 -04:00

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