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

39 lines
1.4 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400e97cc FUN_1400e97cc
* Pseudocode, not original source. */
undefined4 FUN_1400e97cc(longlong *param_1,uint param_2,uint param_3)
{
longlong lVar1;
undefined4 uVar2;
ulonglong uVar3;
longlong lVar4;
if ((param_1 != (longlong *)0x0) && (lVar1 = param_1[5], lVar1 != 0)) {
if (param_2 == 0xffffffff) {
param_2 = 6;
}
if ((param_2 < 10) && (param_3 < 5)) {
lVar4 = (longlong)(int)param_2;
uVar2 = 0;
if (((&PTR_FUN_14012b718)[(longlong)*(int *)(lVar1 + 0xac) * 2] !=
(&PTR_FUN_14012b718)[lVar4 * 2]) && (uVar2 = 0, *(int *)((longlong)param_1 + 0xc) != 0))
{
uVar3 = FUN_1400e7bec(param_1,1);
uVar2 = (undefined4)uVar3;
}
if (*(uint *)(lVar1 + 0xac) != param_2) {
*(uint *)(lVar1 + 0xac) = param_2;
*(uint *)(lVar1 + 0xa8) = (uint)*(ushort *)(&DAT_14012b712 + lVar4 * 0x10);
*(uint *)(lVar1 + 0xb4) = (uint)*(ushort *)(&DAT_14012b710 + lVar4 * 0x10);
*(uint *)(lVar1 + 0xb8) = (uint)*(ushort *)(&DAT_14012b714 + lVar4 * 0x10);
*(uint *)(lVar1 + 0xa4) = (uint)*(ushort *)(&DAT_14012b716 + lVar4 * 0x10);
}
*(uint *)(lVar1 + 0xb0) = param_3;
return uVar2;
}
}
return 0xfffffffe;
}