server-re/decomp/DBCServer_Release_x64/full/functions/0x1401a3b90.c

62 lines
2 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401a3b90 FUN_1401a3b90
* Pseudocode, not original source. */
void FUN_1401a3b90(longlong param_1,undefined8 param_2,longlong param_3,undefined8 param_4)
{
char cVar1;
undefined8 uVar2;
longlong lVar3;
longlong lVar4;
longlong lVar5;
undefined8 local_res18;
undefined1 local_res20 [8];
undefined **local_50;
undefined4 local_48;
undefined2 local_44;
undefined8 local_40;
undefined1 local_38;
longlong local_30;
undefined1 local_28;
if ((param_3 != 0) &&
(cVar1 = FUN_14016b370(param_2,&local_res18,8,param_4,0xfffffffffffffffe), cVar1 != '\0')) {
uVar2 = (**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))();
local_40 = uVar2;
FUN_14016db50(uVar2);
local_38 = 1;
if (DAT_14034c86f != '\0') {
(**(code **)(**(longlong **)(param_1 + 0x148) + 200))
(*(longlong **)(param_1 + 0x148),
L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_ReplyReceiveSpeedAtReceiverSide_NoBypass"
);
}
lVar5 = 0;
if ((*(longlong **)(param_3 + 0x740) == (longlong *)0x0) ||
(lVar3 = **(longlong **)(param_3 + 0x740), lVar4 = lVar3 + 0x40, lVar3 == 0)) {
lVar4 = lVar5;
}
FUN_1401baa30(local_res20,lVar4);
lVar3 = lVar5;
if (*(longlong **)(param_3 + 0x740) != (longlong *)0x0) {
lVar3 = **(longlong **)(param_3 + 0x740);
}
lVar3 = lVar3 + 0xa8;
local_30 = lVar3;
FUN_14016db50(lVar3);
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) {
lVar5 = **(longlong **)(param_3 + 0x740);
}
FUN_1401b61e0(*(undefined8 *)(lVar5 + 0x168),&local_50,local_res18);
FUN_14016dbe0(lVar3);
FUN_1401baa40(local_res20);
FUN_14016dbe0(uVar2);
}
return;
}