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

40 lines
1.2 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400f6ef0 Catch@1400f6ef0
* Pseudocode, not original source. */
undefined8
Catch_1400f6ef0(undefined8 param_1,longlong param_2,undefined8 param_3,undefined8 param_4)
{
longlong *plVar1;
longlong lVar2;
longlong *plVar3;
undefined8 uVar4;
plVar3 = FUN_14003d880(*(longlong *)(param_2 + 0x40),(undefined8 *)(param_2 + 0x30),param_3,
param_4);
uVar4 = 0;
if ((undefined8 *)*plVar3 != (undefined8 *)0x0) {
uVar4 = *(undefined8 *)*plVar3;
}
FUN_1400800f0(*(longlong *)(param_2 + 0x28),*(wchar_t **)(param_2 + 0x20),0x140114020,uVar4);
plVar3 = *(longlong **)(param_2 + 0x30);
if (plVar3 != (longlong *)0x0) {
LOCK();
plVar1 = plVar3 + 2;
lVar2 = *plVar1;
*(int *)plVar1 = (int)*plVar1 + -1;
UNLOCK();
if (((int)lVar2 == 1) && (plVar3 != (longlong *)0x0)) {
if (*plVar3 != 0) {
Ordinal_6();
}
if ((void *)plVar3[1] != (void *)0x0) {
operator_delete__((void *)plVar3[1]);
}
operator_delete(plVar3);
}
}
return 0x140083086;
}