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,75 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x140108b50 FUN_140108b50
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
ulonglong FUN_140108b50(char *param_1,uint *param_2,int param_3,undefined4 param_4,
|
||||
undefined8 param_5)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
void *_Memory;
|
||||
ulonglong uVar2;
|
||||
undefined8 *puVar3;
|
||||
uint uVar4;
|
||||
ulonglong uVar5;
|
||||
undefined8 *puVar6;
|
||||
undefined8 uVar7;
|
||||
bool bVar8;
|
||||
|
||||
if ((param_1 == (char *)0x0) || (param_2 == (uint *)0x0)) {
|
||||
return 0x10;
|
||||
}
|
||||
uVar5 = 0;
|
||||
uVar4 = 0;
|
||||
uVar2 = uVar5;
|
||||
if (param_3 != 0) {
|
||||
puVar3 = ¶m_5;
|
||||
bVar8 = param_3 == 0;
|
||||
iVar1 = param_3;
|
||||
do {
|
||||
if ((bVar8 || iVar1 < 0) || ((0xb < iVar1 && (2 < iVar1 - 0xdU)))) {
|
||||
return 0x10;
|
||||
}
|
||||
iVar1 = *(int *)(puVar3 + 1);
|
||||
uVar2 = (ulonglong)((int)uVar2 + 1);
|
||||
puVar3 = puVar3 + 3;
|
||||
bVar8 = iVar1 == 0;
|
||||
} while (!bVar8);
|
||||
}
|
||||
if ((int)uVar2 == 0) {
|
||||
return 2;
|
||||
}
|
||||
_Memory = calloc(0x38,uVar2);
|
||||
if (_Memory == (void *)0x0) {
|
||||
return 0xd;
|
||||
}
|
||||
puVar3 = ¶m_5;
|
||||
bVar8 = param_3 == 0;
|
||||
if (!bVar8) {
|
||||
puVar6 = (undefined8 *)((longlong)_Memory + 8);
|
||||
uVar7 = param_5;
|
||||
do {
|
||||
if ((bVar8 || param_3 < 0) || ((0xb < param_3 && (2 < param_3 - 0xdU)))) {
|
||||
uVar2 = 0x10;
|
||||
goto LAB_140108c7f;
|
||||
}
|
||||
*(int *)(puVar6 + -1) = param_3;
|
||||
*(undefined4 *)(puVar6 + 1) = param_4;
|
||||
*puVar6 = uVar7;
|
||||
param_3 = *(int *)(puVar3 + 1);
|
||||
param_4 = *(undefined4 *)(puVar3 + 2);
|
||||
uVar7 = puVar3[3];
|
||||
puVar3 = puVar3 + 3;
|
||||
uVar4 = (int)uVar5 + 1;
|
||||
uVar5 = (ulonglong)uVar4;
|
||||
puVar6 = puVar6 + 7;
|
||||
bVar8 = param_3 == 0;
|
||||
} while (!bVar8);
|
||||
}
|
||||
uVar2 = FUN_14010ef40((longlong)_Memory,uVar4,param_1,param_2,0xd);
|
||||
uVar2 = uVar2 & 0xffffffff;
|
||||
LAB_140108c7f:
|
||||
free(_Memory);
|
||||
return uVar2;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue