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,80 @@
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14007ef00 FUN_14007ef00
* Pseudocode, not original source. */
void FUN_14007ef00(longlong param_1,undefined8 *param_2)
{
int *piVar1;
longlong lVar2;
longlong lVar3;
longlong lVar4;
undefined8 local_60;
undefined8 local_58;
undefined8 local_50;
undefined8 local_48;
undefined8 local_40;
undefined8 local_38;
undefined8 local_30;
undefined8 local_28;
undefined8 local_20;
undefined8 local_18;
undefined4 local_10;
piVar1 = (int *)(**(code **)(*(longlong *)(param_1 + -0xa8) + 0x58))(param_1 + -0xa8);
FUN_14006b350(piVar1);
if (DAT_1401b42cf != '\0') {
(**(code **)(*(longlong *)(param_1 + -0xa8) + 200))
(param_1 + -0xa8,L"Proud::CNetServerImpl::GetStats");
}
lVar4 = 0;
local_20 = 0;
local_58 = 0;
local_60 = 0;
local_48 = 0;
local_50 = 0;
local_28 = 0;
local_30 = 0;
local_38 = 0;
local_40 = 0;
local_18 = 0;
local_10 = 0;
memcpy(param_2,&local_60,0x58);
*param_2 = *(undefined8 *)(param_1 + 0x458);
param_2[1] = *(undefined8 *)(param_1 + 0x498);
param_2[2] = *(undefined8 *)(param_1 + 0x4d8);
param_2[3] = *(undefined8 *)(param_1 + 0x518);
param_2[6] = *(undefined8 *)(param_1 + 0x558);
param_2[7] = *(undefined8 *)(param_1 + 0x598);
param_2[4] = *(undefined8 *)(param_1 + 0x618);
param_2[5] = *(undefined8 *)(param_1 + 0x5d8);
*(int *)(param_2 + 9) = (int)*(undefined8 *)(param_1 + 0xbf0);
*(undefined4 *)((longlong)param_2 + 0x4c) = 0;
*(undefined4 *)(param_2 + 10) = *(undefined4 *)(param_1 + 0x638);
lVar2 = lVar4;
if (*(longlong *)(param_1 + 0xbf0) != 0) {
lVar2 = *(longlong *)(param_1 + 0xbe0);
}
for (; lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x10)) {
if (*(char *)(*(longlong *)(lVar2 + 8) + 0x700) != '\0') {
*(int *)((longlong)param_2 + 0x4c) = *(int *)((longlong)param_2 + 0x4c) + 1;
}
}
lVar2 = lVar4;
if (*(longlong *)(param_1 + 0x250) != 0) {
lVar2 = *(longlong *)(param_1 + 0x240);
}
for (; lVar2 != 0; lVar2 = *(longlong *)(lVar2 + 0x10)) {
lVar3 = lVar4;
if (*(longlong **)(lVar2 + 8) != (longlong *)0x0) {
lVar3 = **(longlong **)(lVar2 + 8);
}
if ((*(char *)(lVar3 + 0x110) != '\0') &&
(*(int *)(param_2 + 8) = *(int *)(param_2 + 8) + 1, *(char *)(lVar3 + 8) == '\0')) {
*(int *)((longlong)param_2 + 0x44) = *(int *)((longlong)param_2 + 0x44) + 1;
}
}
FUN_14006b3e0((longlong)piVar1);
return;
}