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

38 lines
1.2 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14003bfd0 FUN_14003bfd0
* Pseudocode, not original source. */
void FUN_14003bfd0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
undefined8 *puVar1;
puVar1 = *(undefined8 **)(param_1 + 8);
if (puVar1 != (undefined8 *)0x0) {
EnterCriticalSection((LPCRITICAL_SECTION)(puVar1 + 4));
if ((void *)*puVar1 != (void *)0x0) {
operator_delete__((void *)*puVar1);
*puVar1 = 0;
}
LeaveCriticalSection((LPCRITICAL_SECTION)(puVar1 + 4));
DeleteCriticalSection((LPCRITICAL_SECTION)(puVar1 + 4));
operator_delete(puVar1);
*(undefined8 *)(param_1 + 8) = 0;
}
if (*(void **)(param_1 + 0x10) != (void *)0x0) {
operator_delete__(*(void **)(param_1 + 0x10));
*(undefined8 *)(param_1 + 0x10) = 0;
}
puVar1 = *(undefined8 **)(param_1 + 0x58);
if (puVar1 != (undefined8 *)0x0) {
FUN_14003d110((undefined4 *)(puVar1 + 0xe),param_2,param_3,param_4);
if (puVar1[6] != 0) {
FUN_14003b510(puVar1 + 6);
}
FUN_14003c6e0(puVar1);
operator_delete(puVar1);
*(undefined8 *)(param_1 + 0x58) = 0;
}
return;
}