server-re/decomp/Agent_Release_x64/full/functions/0x1400036c0.c
2026-10-14 16:45:19 -04:00

48 lines
1.2 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x1400036c0 FUN_1400036c0
* Pseudocode, not original source. */
void FUN_1400036c0(longlong param_1)
{
FILE *_File;
undefined8 *puVar1;
longlong lVar2;
puVar1 = *(undefined8 **)(param_1 + 0x50);
if (puVar1 != (undefined8 *)0x0) {
(**(code **)*puVar1)(puVar1,1);
}
puVar1 = DAT_140162d50;
*(undefined8 *)(param_1 + 0x50) = 0;
if (puVar1 != (undefined8 *)0x0) {
(**(code **)*puVar1)(puVar1,1);
}
if (DAT_140162d70 != (undefined8 *)0x0) {
(**(code **)*DAT_140162d70)(DAT_140162d70,1);
}
puVar1 = DAT_1401626e8;
EnterCriticalSection(DAT_140162d80);
_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_140162d80);
if (DAT_1401626e8 != (undefined8 *)0x0) {
(**(code **)*DAT_1401626e8)(DAT_1401626e8,1);
}
if (DAT_140162d78 != (undefined8 *)0x0) {
(**(code **)*DAT_140162d78)(DAT_140162d78,1);
}
return;
}