/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400fc930 FUN_1400fc930 * Pseudocode, not original source. */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1400fc930(longlong param_1,undefined8 param_2,undefined **param_3,undefined8 param_4) { int *piVar1; bool bVar2; double dVar3; undefined8 uVar4; piVar1 = (int *)(param_1 + 0x310); FUN_14006b350(piVar1); bVar2 = true; if (*(char *)(param_1 + 0x30) != '\0') { *(int *)(param_1 + 0x34) = *(int *)(param_1 + 0x34) + 1; if (*(int *)(param_1 + 0x34) == 1) { FUN_1400fc860(param_1); FUN_1400fc8d0(param_1,param_2,param_3,param_4); } else { dVar3 = FUN_140076f50((char *)(param_1 + 0x388)); if ((_DAT_1401ac160 < dVar3 - *(double *)(param_1 + 0x28)) || (*(char *)(param_1 + 0x48) != '\0')) { uVar4 = FUN_1400fc740(param_1); *(undefined8 *)(param_1 + 0x40) = uVar4; *(undefined1 *)(param_1 + 0x48) = 0; *(undefined1 *)(param_1 + 0x30) = 0; FUN_14006b3e0((longlong)piVar1); bVar2 = false; (**(code **)(**(longlong **)(param_1 + 0x3b0) + 0x10)) (*(longlong **)(param_1 + 0x3b0),uVar4); } } } if (bVar2) { FUN_14006b3e0((longlong)piVar1); } return; }