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

42 lines
1.1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x140076b20 FUN_140076b20
* Pseudocode, not original source. */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
undefined *
FUN_140076b20(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
bool bVar1;
bool bVar2;
ulonglong uVar3;
undefined7 uVar4;
uVar4 = (undefined7)((ulonglong)param_3 >> 8);
bVar1 = false;
bVar2 = FUN_14006b3f0((int *)&DAT_1401b5aa0);
if (bVar2) {
if (DAT_1401ac500 == '\0') {
bVar1 = false;
}
else {
bVar1 = true;
FUN_14006b350((int *)&DAT_1401b5aa0);
}
}
if ((DAT_1401b5a98 & 1) == 0) {
DAT_1401b5a98 = DAT_1401b5a98 | 1;
_DAT_1401b5080 = Proud::CRandom::vftable;
uVar3 = FUN_140079250();
FUN_14006b270((undefined4 *)&DAT_1401b5a60,uVar3 & 0xffffffff,CONCAT71(uVar4,1),param_4);
_DAT_1401b5a58 = 0xfffffffe;
atexit((_func_5014 *)&LAB_14012f630);
}
DAT_1401ac500 = 0;
if (bVar1) {
FUN_14006b3e0(0x1401b5aa0);
}
return &DAT_1401b5080;
}