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,99 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400ec540 FUN_1400ec540
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400ec540(undefined8 param_1,longlong *param_2,longlong *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
char *pcVar2;
|
||||
undefined8 *puVar3;
|
||||
uint uVar4;
|
||||
undefined4 uVar5;
|
||||
undefined8 *puVar6;
|
||||
undefined8 uVar7;
|
||||
undefined8 **ppuVar8;
|
||||
undefined8 *puVar9;
|
||||
undefined8 *local_res10;
|
||||
longlong local_res18 [2];
|
||||
longlong local_38 [2];
|
||||
|
||||
local_38[1] = 0xfffffffffffffffe;
|
||||
local_res10 = (undefined8 *)FUN_14006cbf0(0x400);
|
||||
puVar9 = (undefined8 *)0x0;
|
||||
puVar6 = puVar9;
|
||||
if (local_res10 != (undefined8 *)0x0) {
|
||||
param_3 = param_2;
|
||||
puVar6 = FUN_1400724c0(local_res10,1,param_2,param_4);
|
||||
}
|
||||
if (puVar6 == (undefined8 *)0x0) {
|
||||
local_res10 = (undefined8 *)0x0;
|
||||
}
|
||||
else {
|
||||
local_res10 = (undefined8 *)FUN_14006cbf0(0x10);
|
||||
local_res10[1] = 1;
|
||||
*local_res10 = puVar6;
|
||||
}
|
||||
puVar6 = local_res10;
|
||||
ppuVar8 = &local_res10;
|
||||
FUN_14006e8a0(param_2 + 2,(longlong *)ppuVar8);
|
||||
puVar3 = local_res10;
|
||||
if (puVar6 != (undefined8 *)0x0) {
|
||||
plVar1 = puVar6 + 1;
|
||||
*plVar1 = *plVar1 + -1;
|
||||
if (*plVar1 == 0) {
|
||||
plVar1 = (longlong *)*local_res10;
|
||||
if (plVar1 != (longlong *)0x0) {
|
||||
FUN_140072370(plVar1,ppuVar8,param_3,param_4);
|
||||
FUN_14006cc60(plVar1);
|
||||
}
|
||||
FUN_14006cc60(puVar3);
|
||||
}
|
||||
}
|
||||
puVar6 = puVar9;
|
||||
if ((undefined8 *)param_2[2] != (undefined8 *)0x0) {
|
||||
puVar6 = *(undefined8 **)param_2[2];
|
||||
}
|
||||
uVar4 = FUN_140073740((longlong)puVar6,'\x01');
|
||||
if (uVar4 == 0) {
|
||||
pcVar2 = (char *)param_2[1];
|
||||
if (((pcVar2 == (char *)0x0) || (pcVar2 == PTR_DAT_1401ac008)) || (*(int *)(pcVar2 + -8) < 1)) {
|
||||
puVar6 = puVar9;
|
||||
if ((undefined8 *)param_2[2] != (undefined8 *)0x0) {
|
||||
puVar6 = *(undefined8 **)param_2[2];
|
||||
}
|
||||
uVar5 = FUN_140074040((longlong)puVar6,pcVar2,param_3,param_4);
|
||||
if ((char)uVar5 == '\0') {
|
||||
local_38[0] = 0;
|
||||
FUN_14006e8a0(param_2 + 2,local_38);
|
||||
*(undefined4 *)(param_2 + 3) = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
puVar6 = puVar9;
|
||||
if ((undefined8 *)param_2[2] != (undefined8 *)0x0) {
|
||||
puVar6 = *(undefined8 **)param_2[2];
|
||||
}
|
||||
uVar7 = FUN_140073b00((longlong)puVar6,pcVar2,0,param_4);
|
||||
if ((char)uVar7 == '\0') {
|
||||
local_res18[1] = 0;
|
||||
FUN_14006e8a0(param_2 + 2,local_res18 + 1);
|
||||
*(undefined4 *)(param_2 + 3) = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ((undefined8 *)param_2[2] != (undefined8 *)0x0) {
|
||||
puVar9 = *(undefined8 **)param_2[2];
|
||||
}
|
||||
FUN_1400717a0((longlong)puVar9,'\0');
|
||||
FUN_1400ebe10(param_1,(longlong)param_2);
|
||||
}
|
||||
else {
|
||||
local_res18[0] = 0;
|
||||
FUN_14006e8a0(param_2 + 2,local_res18);
|
||||
*(undefined4 *)(param_2 + 3) = 3;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue