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