server-re/decomp/MessageServer_Release_x64/full/functions/0x14007ee10.c

38 lines
1.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14007ee10 FUN_14007ee10
* Pseudocode, not original source. */
void FUN_14007ee10(longlong param_1,wchar_t *param_2,longlong param_3,undefined8 param_4)
{
undefined8 *puVar1;
int *piVar2;
undefined4 *puVar3;
piVar2 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8);
FUN_14006b350(piVar2);
if (DAT_1401b42cf != '\0') {
param_3 = *(longlong *)(param_1 + -0xa8);
param_2 = L"Proud::CNetServerImpl::DisableLog";
(**(code **)(param_3 + 200))(param_1 + -0xa8);
}
puVar1 = *(undefined8 **)(param_1 + 0x1748);
if (puVar1 != (undefined8 *)0x0) {
FUN_1400cc6a0(puVar1,(longlong *)param_2,param_3,param_4);
operator_delete(puVar1);
}
puVar3 = (undefined4 *)0x0;
*(undefined8 *)(param_1 + 0x1748) = 0;
if (*(longlong *)(param_1 + 0xbf0) != 0) {
puVar3 = *(undefined4 **)(param_1 + 0xbe0);
}
for (; puVar3 != (undefined4 *)0x0; puVar3 = *(undefined4 **)(puVar3 + 4)) {
if (*(longlong *)(*(longlong *)(puVar3 + 2) + 0x228) == 0) {
(**(code **)(*(longlong *)(param_1 + 0x400) + 0xc0))
((longlong *)(param_1 + 0x400),*puVar3,&DAT_1401b6110);
}
}
FUN_14006b3e0((longlong)piVar2);
return;
}