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

33 lines
1.1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400e2d60 FUN_1400e2d60
* Pseudocode, not original source. */
undefined8 *
FUN_1400e2d60(longlong *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4)
{
longlong *plVar1;
undefined8 *puVar2;
plVar1 = (longlong *)*param_1;
if (plVar1 == (longlong *)0x0) {
puVar2 = (undefined8 *)FUN_14006cbf0(0x58);
}
else {
puVar2 = (undefined8 *)
(**(code **)(*plVar1 + 8))(plVar1,0x58,param_3,param_4,0xfffffffffffffffe);
}
if (puVar2 != (undefined8 *)0x0) {
FUN_1400bca30((undefined4 *)(puVar2 + 2),param_2);
*(undefined4 *)(puVar2 + 7) = param_2[10];
puVar2[8] = Proud::AddrPort::vftable;
*(undefined4 *)(puVar2 + 9) = param_2[0xe];
*(undefined2 *)((longlong)puVar2 + 0x4c) = *(undefined2 *)(param_2 + 0xf);
*(undefined1 *)(puVar2 + 10) = *(undefined1 *)(param_2 + 0x10);
}
puVar2[1] = param_3;
*puVar2 = param_4;
param_1[3] = param_1[3] + 1;
return puVar2;
}