54 lines
1.7 KiB
C
54 lines
1.7 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401a4750 FUN_1401a4750
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1401a4750(longlong param_1,longlong param_2)
|
|
|
|
{
|
|
longlong *plVar1;
|
|
char cVar2;
|
|
byte bVar3;
|
|
int iVar4;
|
|
int iVar5;
|
|
byte local_res20;
|
|
undefined4 local_a0 [2];
|
|
int *local_98;
|
|
int local_90;
|
|
undefined8 local_20;
|
|
|
|
local_20 = 0xfffffffffffffffe;
|
|
local_98 = (int *)(param_2 + 8);
|
|
iVar4 = (int)(*local_98 + (*local_98 >> 0x1f & 7U)) >> 3;
|
|
if (iVar4 != 0) {
|
|
FUN_140193740(*(undefined8 *)(param_1 + 0x148),0,
|
|
"Proud::CNetThreads_S::UserWorkerThread_FinalReceiveRmi",2);
|
|
}
|
|
local_res20 = 0;
|
|
iVar5 = 0;
|
|
local_a0[0] = 0;
|
|
cVar2 = FUN_14016bd20(local_98,local_a0);
|
|
if (cVar2 != '\0') {
|
|
local_90 = *(int *)(*(longlong *)(param_1 + 0x148) + 0x48);
|
|
for (; iVar5 < local_90; iVar5 = iVar5 + 1) {
|
|
if ((iVar5 < 0) || (*(int *)(*(longlong *)(param_1 + 0x148) + 0x48) <= iVar5)) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6e0();
|
|
}
|
|
plVar1 = *(longlong **)
|
|
(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x40) + (longlong)iVar5 * 8);
|
|
FUN_14016b040(local_98,iVar4);
|
|
bVar3 = (**(code **)(*plVar1 + 0x10))(plVar1,param_2 + 8);
|
|
local_res20 = local_res20 | bVar3;
|
|
}
|
|
if (local_res20 == 0) {
|
|
FUN_14016b040(local_98,iVar4);
|
|
if (*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x758) != 0) {
|
|
plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x148) + 0x758);
|
|
(**(code **)(*plVar1 + 0x28))(plVar1,local_a0[0]);
|
|
}
|
|
}
|
|
FUN_1401c2880(param_1 + 0x160,*(undefined4 *)(param_2 + 0x30),0);
|
|
}
|
|
return;
|
|
}
|
|
|