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

54 lines
1.4 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x140002670 FUN_140002670
* Pseudocode, not original source. */
void FUN_140002670(longlong param_1)
{
FILE *_File;
undefined8 *puVar1;
longlong lVar2;
puVar1 = *(undefined8 **)(param_1 + 0x49430);
if (puVar1 != (undefined8 *)0x0) {
(**(code **)*puVar1)(puVar1,1);
}
puVar1 = DAT_14017cf48;
*(undefined8 *)(param_1 + 0x49430) = 0;
if (puVar1 != (undefined8 *)0x0) {
(**(code **)*puVar1)(puVar1,1);
}
if (DAT_14017cf38 != (undefined8 *)0x0) {
(**(code **)*DAT_14017cf38)(DAT_14017cf38,1);
}
if (DAT_14017cf40 != (undefined8 *)0x0) {
(**(code **)*DAT_14017cf40)(DAT_14017cf40,1);
}
if (DAT_14017cf18 != (undefined8 *)0x0) {
(**(code **)*DAT_14017cf18)(DAT_14017cf18,1);
}
puVar1 = DAT_14017c8a8;
EnterCriticalSection(DAT_14017cf60);
_File = (FILE *)puVar1[0x17];
if (_File != (FILE *)0x0) {
fclose(_File);
}
puVar1 = puVar1 + 0x19;
lVar2 = 4;
do {
if ((FILE *)*puVar1 != (FILE *)0x0) {
fclose((FILE *)*puVar1);
}
puVar1 = puVar1 + 1;
lVar2 = lVar2 + -1;
} while (lVar2 != 0);
LeaveCriticalSection(DAT_14017cf60);
if (DAT_14017c8a8 != (undefined8 *)0x0) {
(**(code **)*DAT_14017c8a8)(DAT_14017c8a8,1);
}
if (DAT_14017cf30 != (undefined8 *)0x0) {
(**(code **)*DAT_14017cf30)(DAT_14017cf30,1);
}
return;
}