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,81 @@
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14020a350 FUN_14020a350
* Pseudocode, not original source. */
undefined8 FUN_14020a350(int *param_1,undefined8 param_2)
{
uint uVar1;
int iVar2;
undefined8 uVar3;
int iVar4;
longlong lVar5;
longlong lVar6;
longlong lVar7;
longlong lVar8;
uint *puVar9;
uint *puVar10;
ulonglong uVar11;
ulonglong uVar12;
longlong lVar13;
int iVar14;
longlong lVar15;
int local_48 [4];
longlong local_38;
lVar5 = (longlong)*param_1;
iVar2 = *param_1 * 2 + 1;
uVar3 = FUN_14020afd0(local_48,iVar2);
if ((int)uVar3 == 0) {
if (0 < lVar5) {
lVar6 = 0;
lVar8 = 1;
iVar14 = 1;
lVar7 = lVar6;
lVar15 = lVar5;
do {
uVar11 = (ulonglong)*(uint *)(lVar7 + *(longlong *)(param_1 + 4)) *
(ulonglong)*(uint *)(lVar7 + *(longlong *)(param_1 + 4)) +
(ulonglong)*(uint *)(local_38 + lVar6);
uVar12 = uVar11 >> 0x1c;
*(uint *)(local_38 + lVar6) = (uint)uVar11 & 0xfffffff;
uVar1 = *(uint *)(lVar7 + *(longlong *)(param_1 + 4));
puVar10 = (uint *)(local_38 + (longlong)iVar14 * 4);
if (lVar8 < lVar5) {
puVar9 = puVar10;
lVar13 = lVar8;
do {
lVar13 = lVar13 + 1;
puVar10 = puVar9 + 1;
uVar11 = (ulonglong)*puVar9 +
(ulonglong)*(uint *)(*(longlong *)(param_1 + 4) + -4 + lVar13 * 4) *
(ulonglong)uVar1 * 2 + (uVar12 & 0xffffffff);
uVar12 = uVar11 >> 0x1c & 0xffffffff;
*puVar9 = (uint)uVar11 & 0xfffffff;
puVar9 = puVar10;
} while (lVar13 < lVar5);
}
iVar4 = (int)uVar12;
while (iVar4 != 0) {
uVar11 = (ulonglong)*puVar10 + (uVar12 & 0xffffffff);
uVar12 = uVar11 >> 0x1c;
*puVar10 = (uint)uVar11 & 0xfffffff;
puVar10 = puVar10 + 1;
iVar4 = (int)uVar12;
}
iVar14 = iVar14 + 2;
lVar6 = lVar6 + 8;
lVar7 = lVar7 + 4;
lVar8 = lVar8 + 1;
lVar15 = lVar15 + -1;
} while (lVar15 != 0);
}
local_48[0] = iVar2;
FUN_140208e50(local_48);
FUN_14020ae90(local_48,param_2);
FUN_140200e50(local_48);
uVar3 = 0;
}
return uVar3;
}