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

65 lines
2.8 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400e851c FUN_1400e851c
* Pseudocode, not original source. */
undefined8 FUN_1400e851c(void *param_1,void *param_2)
{
void *_Src;
undefined8 *_Dst;
undefined8 uVar1;
longlong lVar2;
if (((param_2 == (void *)0x0) || (param_1 == (void *)0x0)) ||
(_Src = *(void **)((longlong)param_2 + 0x28), _Src == (void *)0x0)) {
uVar1 = 0xfffffffe;
}
else {
memcpy(param_1,param_2,0x58);
_Dst = (undefined8 *)
(**(code **)((longlong)param_1 + 0x30))
(*(undefined8 *)((longlong)param_1 + 0x40),1,0x1718);
if (_Dst != (undefined8 *)0x0) {
*(undefined8 **)((longlong)param_1 + 0x28) = _Dst;
memcpy(_Dst,_Src,0x1718);
*_Dst = param_1;
uVar1 = (**(code **)((longlong)param_1 + 0x30))
(*(undefined8 *)((longlong)param_1 + 0x40),
*(undefined4 *)((longlong)_Dst + 0x44),2);
_Dst[10] = uVar1;
uVar1 = (**(code **)((longlong)param_1 + 0x30))
(*(undefined8 *)((longlong)param_1 + 0x40),
*(undefined4 *)((longlong)_Dst + 0x44),2);
_Dst[0xc] = uVar1;
uVar1 = (**(code **)((longlong)param_1 + 0x30))
(*(undefined8 *)((longlong)param_1 + 0x40),
*(undefined4 *)((longlong)_Dst + 0x74),2);
_Dst[0xd] = uVar1;
lVar2 = (**(code **)((longlong)param_1 + 0x30))
(*(undefined8 *)((longlong)param_1 + 0x40),*(undefined4 *)(_Dst + 0x2de),4);
_Dst[2] = lVar2;
if ((((void *)_Dst[10] != (void *)0x0) && (_Dst[0xc] != 0)) &&
((_Dst[0xd] != 0 && (lVar2 != 0)))) {
memcpy((void *)_Dst[10],*(void **)((longlong)_Src + 0x50),
(ulonglong)(uint)(*(int *)((longlong)_Dst + 0x44) * 2));
memcpy((void *)_Dst[0xc],*(void **)((longlong)_Src + 0x60),
(ulonglong)*(uint *)((longlong)_Dst + 0x44) * 2);
memcpy((void *)_Dst[0xd],*(void **)((longlong)_Src + 0x68),
(ulonglong)*(uint *)((longlong)_Dst + 0x74) * 2);
memcpy((void *)_Dst[2],*(void **)((longlong)_Src + 0x10),(ulonglong)*(uint *)(_Dst + 3));
_Dst[4] = (*(longlong *)((longlong)_Src + 0x20) - *(longlong *)((longlong)_Src + 0x10)) +
_Dst[2];
_Dst[0x2df] = lVar2 + ((ulonglong)*(uint *)(_Dst + 0x2de) & 0xfffffffffffffffe);
_Dst[0x168] = (longlong)_Dst + 0xbc;
_Dst[0x2dd] = _Dst[2] + (ulonglong)*(uint *)(_Dst + 0x2de) * 3;
_Dst[0x16b] = _Dst + 0x136;
_Dst[0x16e] = (longlong)_Dst + 0xaa4;
return 0;
}
FUN_1400e843c((longlong)param_1);
}
uVar1 = 0xfffffffc;
}
return uVar1;
}