/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400d1840 FUN_1400d1840 * Pseudocode, not original source. */ undefined2 * FUN_1400d1840(undefined8 param_1,undefined8 param_2,SIZE_T param_3) { undefined8 *puVar1; undefined2 *puVar2; undefined2 *puVar3; FUN_14006b350((int *)&DAT_1401b6510); puVar3 = DAT_1401b6548; if (DAT_1401b6548 == (undefined2 *)0x0) { puVar2 = (undefined2 *)FUN_14006cbf0(0x40); puVar3 = (undefined2 *)0x0; if (puVar2 != (undefined2 *)0x0) { *(undefined8 *)(puVar2 + 8) = 0; *(undefined8 *)(puVar2 + 0xc) = 0; *(undefined8 *)(puVar2 + 0x10) = 0; *(undefined8 *)(puVar2 + 0x14) = 0; *(undefined ***)(puVar2 + 4) = Proud::ByteArray::vftable; *(undefined8 *)(puVar2 + 0x18) = 0; *puVar2 = 0x1de6; *(undefined8 *)(puVar2 + 0x1c) = 0; puVar3 = puVar2; } } else { puVar1 = (undefined8 *)(DAT_1401b6548 + 0x1c); DAT_1401b6548 = *(undefined2 **)(DAT_1401b6548 + 0x1c); *puVar1 = 0; } FUN_1400146f0((longlong)(puVar3 + 4),0,param_3); FUN_14006b3e0(0x1401b6510); return puVar3 + 4; }