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

47 lines
1.5 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400fc3d0 Catch@1400fc3d0
* Pseudocode, not original source. */
undefined *
Catch_1400fc3d0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4)
{
int *piVar1;
longlong lVar2;
undefined *puVar3;
int *piVar4;
longlong *plVar5;
undefined8 uVar6;
undefined8 uVar7;
longlong **pplVar8;
FUN_14003e7c0(param_1,param_2,param_3,param_4);
*(undefined **)(param_2 + 0xf0) = PTR_DAT_14016f010;
lVar2 = *(longlong *)(param_2 + 0x28);
pplVar8 = (longlong **)(param_2 + 0xf0);
uVar6 = 5;
uVar7 = 3;
plVar5 = *(longlong **)(lVar2 + 0x108);
FUN_1400b4a80(plVar5,5,(undefined *)0x3,pplVar8);
puVar3 = *(undefined **)(param_2 + 0xf0);
if (((puVar3 != (undefined *)0x0) && (puVar3 != PTR_DAT_14016f010)) &&
(puVar3 + -8 != (undefined *)0x0)) {
piVar4 = (int *)FUN_14003e7c0(plVar5,uVar6,uVar7,pplVar8);
*(int **)(param_2 + 0x1f8) = piVar4;
FUN_14003d040(piVar4);
*(undefined1 *)(param_2 + 0x200) = 1;
piVar1 = (int *)(puVar3 + -4);
*piVar1 = *piVar1 + -1;
if (*piVar1 == 0) {
FUN_14003e8b0(puVar3 + -8);
}
FUN_14003d0d0((longlong)piVar4);
}
if (*(longlong *)(*(longlong *)(lVar2 + 0x108) + 0x1580) != 0) {
plVar5 = *(longlong **)(*(longlong *)(lVar2 + 0x108) + 0x1580);
(**(code **)(*plVar5 + 0x20))(plVar5,*(undefined8 *)(param_2 + 0x1e0));
}
FUN_1400bf180(lVar2,4);
return &DAT_1400c302c;
}