decomp DBCServer_Release and inspect/document database
This commit is contained in:
parent
4b267cbe05
commit
7834b98bf0
28222 changed files with 843300 additions and 144 deletions
|
|
@ -0,0 +1,91 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400c8ae0 FUN_1400c8ae0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400c8ae0(longlong param_1,int *param_2,byte param_3,longlong param_4,char param_5)
|
||||
|
||||
{
|
||||
uint uVar1;
|
||||
longlong lVar2;
|
||||
byte bVar3;
|
||||
int iVar4;
|
||||
int *piVar5;
|
||||
longlong *plVar6;
|
||||
undefined4 *puVar7;
|
||||
longlong lVar8;
|
||||
ulonglong uVar9;
|
||||
SIZE_T SVar10;
|
||||
longlong lVar11;
|
||||
undefined4 local_68 [2];
|
||||
longlong local_60;
|
||||
longlong local_58;
|
||||
int local_4c;
|
||||
int local_40;
|
||||
undefined **local_38;
|
||||
int local_30;
|
||||
undefined2 local_2c;
|
||||
byte local_28;
|
||||
|
||||
iVar4 = *param_2;
|
||||
FUN_1400cf890();
|
||||
lVar11 = **(longlong **)(param_1 + 0x148);
|
||||
piVar5 = (int *)(**(code **)(lVar11 + 0x58))();
|
||||
FUN_14006b350(piVar5);
|
||||
if (DAT_1401b42cf != '\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);
|
||||
SVar10 = *(SIZE_T *)(param_4 + 0x30);
|
||||
bVar3 = (**(code **)(*plVar6 + 0x10))(plVar6,param_2);
|
||||
if ((param_3 | bVar3) == 0) {
|
||||
uVar9 = (ulonglong)(uint)((int)((iVar4 >> 0x1f & 7U) + iVar4) >> 3);
|
||||
FUN_1400bc600(param_2,uVar9,SVar10,lVar11);
|
||||
FUN_1400bca00(local_68);
|
||||
local_38 = Proud::AddrPort::vftable;
|
||||
local_40 = 0;
|
||||
local_30 = DAT_1401ac3d0;
|
||||
local_2c = DAT_1401ac3d4;
|
||||
puVar7 = local_68;
|
||||
local_28 = param_3 | bVar3;
|
||||
FUN_1400bc4d0((longlong)puVar7,uVar9,SVar10,lVar11);
|
||||
if (*(longlong *)(param_2 + 2) == 0) {
|
||||
if (*(longlong *)(param_2 + 4) == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_1400d1900(puVar7,uVar9,SVar10,lVar11);
|
||||
}
|
||||
uVar1 = param_2[6];
|
||||
}
|
||||
else {
|
||||
uVar1 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18);
|
||||
}
|
||||
iVar4 = (int)(*param_2 + (*param_2 >> 0x1f & 7U)) >> 3;
|
||||
lVar8 = *(longlong *)(param_2 + 4);
|
||||
if (lVar8 == 0) {
|
||||
lVar2 = *(longlong *)(param_2 + 2);
|
||||
if (lVar2 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_1400d1900(0,(longlong)iVar4,(ulonglong)uVar1,lVar11);
|
||||
}
|
||||
if (*(int *)(lVar2 + 0x18) != 0) {
|
||||
lVar8 = *(longlong *)(lVar2 + 0x10);
|
||||
}
|
||||
}
|
||||
FUN_1400bcfa0((longlong)local_68,(undefined8 *)(iVar4 + lVar8),(ulonglong)(uVar1 - iVar4),lVar11
|
||||
);
|
||||
local_28 = (byte)param_2[0x10];
|
||||
local_30 = param_2[0xe];
|
||||
local_2c = (undefined2)param_2[0xf];
|
||||
local_40 = param_2[10];
|
||||
FUN_1400c89b0(param_1,param_4,local_68,1,param_5);
|
||||
FUN_1400d1800(&local_60);
|
||||
if ((local_58 != 0) && (local_4c < 0)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14006be00();
|
||||
}
|
||||
}
|
||||
FUN_14006b3e0((longlong)piVar5);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue