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

41 lines
1.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400f8d70 FUN_1400f8d70
* Pseudocode, not original source. */
void FUN_1400f8d70(int *param_1,longlong param_2,undefined8 param_3,undefined8 param_4)
{
char cVar1;
longlong *plVar2;
FUN_14006b350(param_1);
if (*(int **)(param_2 + 8) != (int *)0x0) {
if (*(int **)(param_2 + 8) != param_1) {
/* WARNING: Subroutine does not return */
FUN_14006be00();
}
for (plVar2 = *(longlong **)(param_1 + 0xe); plVar2 != (longlong *)0x0;
plVar2 = (longlong *)plVar2[1]) {
if (plVar2[3] == param_2) {
*(undefined8 *)(param_2 + 8) = 0;
if ((longlong *)plVar2[2] != (longlong *)0x0) {
FUN_1400f89b0((longlong *)plVar2[2],plVar2,param_3,param_4);
}
FUN_14006b3e0((longlong)param_1);
cVar1 = (char)plVar2[8];
while (cVar1 != '\0') {
Sleep(10);
cVar1 = (char)plVar2[8];
}
if ((longlong *)plVar2[2] != (longlong *)0x0) {
FUN_1400f89b0((longlong *)plVar2[2],plVar2,param_3,param_4);
}
operator_delete(plVar2);
return;
}
}
}
FUN_14006b3e0((longlong)param_1);
return;
}