/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14009aff0 FUN_14009aff0 * Pseudocode, not original source. */ ulonglong FUN_14009aff0(longlong param_1,uint param_2,SIZE_T param_3,undefined8 *param_4) { SIZE_T *pSVar1; undefined4 uVar2; int *piVar3; ulonglong uVar4; undefined **local_40 [5]; uVar4 = param_3 & 0xffffffff; pSVar1 = (SIZE_T *)(param_1 + -0xa8); piVar3 = (int *)(**(code **)(*pSVar1 + 0x58))(pSVar1); FUN_14006b350(piVar3); if (DAT_1401b42cf != '\0') { param_3 = *pSVar1; (**(code **)(param_3 + 200))(pSVar1,L"Proud::CNetServerImpl::JoinP2PGroup"); } *(int *)(param_1 + 0x16f0) = *(int *)(param_1 + 0x16f0) + 1; uVar2 = *(undefined4 *)(param_1 + 0x16f0); FUN_14007cf00(local_40,(longlong)param_4,param_3); local_40[0] = Proud::ByteArray::vftable; uVar4 = FUN_1400992f0((longlong)pSVar1,param_2,uVar4,local_40,uVar2); FUN_14006b3e0((longlong)piVar3); FUN_140078360(param_4); return uVar4 & 0xff; }