/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400da140 FUN_1400da140 * Pseudocode, not original source. */ void FUN_1400da140(char *param_1,uint param_2,longlong param_3,uint *param_4) { undefined1 uVar1; ushort uVar2; longlong lVar3; undefined **local_18; undefined4 local_10; undefined2 local_c; if (*param_1 != '\0') { local_18 = Proud::AddrPort::vftable; local_10 = *(undefined4 *)(param_1 + 0x10); local_c = *(undefined2 *)(param_1 + 0x14); if (*(longlong **)(param_1 + 0x40) == (longlong *)0x0) { lVar3 = 0; } else { lVar3 = **(longlong **)(param_1 + 0x40); } uVar1 = (**(code **)(**(longlong **)(param_1 + 0x38) + 0x10))(); uVar2 = FUN_1400d3400(1,uVar1); FUN_1400d8df0(lVar3,param_2,uVar2,(longlong)&local_18,param_3,param_4); return; } local_18 = *(undefined ***)(param_4 + 2); local_10 = CONCAT31(local_10._1_3_,(char)param_4[4]); FUN_1400d87b0(*(char **)(*(longlong *)(param_1 + 0x38) + 0x748),param_3,(SIZE_T *)&local_18, param_4); return; }