decomp DBCServer_Release and inspect/document database

This commit is contained in:
Benjamin Palko 2026-10-14 23:22:03 -04:00
parent 4b267cbe05
commit 7834b98bf0
28222 changed files with 843300 additions and 144 deletions

View file

@ -0,0 +1,82 @@
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401aaf60 FUN_1401aaf60
* Pseudocode, not original source. */
void FUN_1401aaf60(longlong param_1,int *param_2,byte param_3,longlong param_4,undefined1 param_5)
{
int iVar1;
longlong lVar2;
byte bVar3;
int iVar4;
undefined8 uVar5;
longlong *plVar6;
longlong lVar7;
undefined1 local_68 [8];
undefined1 local_60 [8];
longlong local_58;
int local_4c;
int local_40;
undefined **local_38;
int local_30;
undefined2 local_2c;
byte local_28;
iVar1 = *param_2;
FUN_1401b1b20(param_4 + 0xc0);
uVar5 = (**(code **)(**(longlong **)(param_1 + 0x148) + 0x58))();
FUN_14016db50(uVar5);
if (DAT_14034c86f != '\0') {
(**(code **)(**(longlong **)(param_1 + 0x148) + 200))
(*(longlong **)(param_1 + 0x148),
L"Proud::CNetThreads_S::NetWorkerThread_ProcessMessage_Rmi");
}
plVar6 = (longlong *)(*(longlong *)(param_1 + 0x148) + 0x480);
bVar3 = (**(code **)(*plVar6 + 0x10))(plVar6,param_2,*(undefined8 *)(param_4 + 0x30));
if ((param_3 | bVar3) == 0) {
FUN_14016b040(param_2,(int)((iVar1 >> 0x1f & 7U) + iVar1) >> 3);
FUN_14016b440(local_68);
local_38 = Proud::AddrPort::vftable;
local_40 = 0;
local_30 = DAT_140344450;
local_2c = DAT_140344454;
local_28 = param_3 | bVar3;
FUN_14016abe0(local_68);
if (*(longlong *)(param_2 + 2) == 0) {
if (*(longlong *)(param_2 + 4) == 0) {
/* WARNING: Subroutine does not return */
FUN_14016d1e0();
}
iVar1 = param_2[6];
}
else {
iVar1 = *(int *)(*(longlong *)(param_2 + 2) + 0x18);
}
iVar4 = (int)(*param_2 + (*param_2 >> 0x1f & 7U)) >> 3;
lVar7 = *(longlong *)(param_2 + 4);
if (lVar7 == 0) {
lVar2 = *(longlong *)(param_2 + 2);
if (lVar2 == 0) {
/* WARNING: Subroutine does not return */
FUN_14016d1e0();
}
if (*(int *)(lVar2 + 0x18) != 0) {
lVar7 = *(longlong *)(lVar2 + 0x10);
}
}
FUN_14016b9e0(local_68,iVar4 + lVar7,iVar1 - iVar4);
local_28 = (byte)param_2[0x10];
local_30 = param_2[0xe];
local_2c = (undefined2)param_2[0xf];
local_40 = param_2[10];
FUN_1401aae30(param_1,param_4,local_68,1,param_5);
FUN_14016d0e0(local_60);
if ((local_58 != 0) && (local_4c < 0)) {
/* WARNING: Subroutine does not return */
FUN_14016d6b0();
}
}
FUN_14016dbe0(uVar5);
return;
}