/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400c1ca0 FUN_1400c1ca0 * Pseudocode, not original source. */ void FUN_1400c1ca0(longlong param_1,uint *param_2,longlong param_3,undefined8 param_4) { int *piVar1; undefined8 uVar2; int *piVar3; longlong lVar4; longlong lVar5; longlong lVar6; undefined8 local_res18; longlong local_res20; undefined **local_50; undefined4 local_48; undefined2 local_44; int *local_40; undefined1 local_38; int *local_30; undefined1 local_28; if ((param_3 != 0) && (uVar2 = FUN_1400bc930(param_2,&local_res18,8), (char)uVar2 != '\0')) { piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))(); local_40 = piVar3; FUN_14006b350(piVar3); local_38 = 1; if (DAT_1401b42cf != '\0') { (**(code **)(**(longlong **)(param_1 + 0x148) + 200)) (*(longlong **)(param_1 + 0x148), L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ReplyReceiveSpeedAtReceiverSide_NoBypass" ); } lVar6 = 0; if ((*(longlong **)(param_3 + 0x740) == (longlong *)0x0) || (lVar4 = **(longlong **)(param_3 + 0x740), lVar5 = lVar4 + 0x40, lVar4 == 0)) { lVar5 = lVar6; } FUN_1400d8980(&local_res20,lVar5); lVar4 = lVar6; if (*(longlong **)(param_3 + 0x740) != (longlong *)0x0) { lVar4 = **(longlong **)(param_3 + 0x740); } piVar1 = (int *)(lVar4 + 0xa8); local_30 = piVar1; FUN_14006b350(piVar1); local_28 = 1; local_50 = Proud::AddrPort::vftable; local_48 = *(undefined4 *)(param_3 + 0x710); local_44 = *(undefined2 *)(param_3 + 0x714); if (*(longlong **)(param_3 + 0x740) != (longlong *)0x0) { lVar6 = **(longlong **)(param_3 + 0x740); } FUN_1400d40e0(*(longlong *)(lVar6 + 0x168),(longlong)&local_50,local_res18); FUN_14006b3e0((longlong)piVar1); FUN_1400d8990(&local_res20); FUN_14006b3e0((longlong)piVar3); } return; }