/* 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; }