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,83 @@
|
|||
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400ac180 FUN_1400ac180
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
ulonglong *
|
||||
FUN_1400ac180(ulonglong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
int iVar1;
|
||||
undefined8 *puVar2;
|
||||
int *piVar3;
|
||||
ulonglong uVar4;
|
||||
int **ppiVar5;
|
||||
undefined1 uVar6;
|
||||
undefined7 uVar7;
|
||||
bool bVar8;
|
||||
int *local_res10;
|
||||
|
||||
uVar6 = (undefined1)param_3;
|
||||
uVar7 = (undefined7)((ulonglong)param_3 >> 8);
|
||||
LOCK();
|
||||
bVar8 = DAT_1401b6340 == 0;
|
||||
if (bVar8) {
|
||||
DAT_1401b6340 = 1;
|
||||
}
|
||||
UNLOCK();
|
||||
if (bVar8) {
|
||||
puVar2 = (undefined8 *)FUN_14006cbf0(0x2c0);
|
||||
if (puVar2 == (undefined8 *)0x0) {
|
||||
puVar2 = (undefined8 *)0x0;
|
||||
}
|
||||
else {
|
||||
puVar2 = FUN_1400e8b00(puVar2,param_2,CONCAT71(uVar7,uVar6),param_4);
|
||||
}
|
||||
if (puVar2 == (undefined8 *)0x0) {
|
||||
local_res10 = (int *)0x0;
|
||||
}
|
||||
else {
|
||||
piVar3 = (int *)FUN_14006cbf0(0x48);
|
||||
if (piVar3 != (int *)0x0) {
|
||||
local_res10 = piVar3;
|
||||
uVar4 = FUN_140079250();
|
||||
uVar6 = 1;
|
||||
FUN_14006b270(piVar3,uVar4 & 0xffffffff,CONCAT71(uVar7,1),param_4);
|
||||
}
|
||||
local_res10 = piVar3;
|
||||
FUN_14006b350(piVar3);
|
||||
piVar3[0x10] = 1;
|
||||
piVar3[0x11] = 0;
|
||||
*(undefined8 **)(piVar3 + 0xe) = puVar2;
|
||||
FUN_14006b3e0((longlong)piVar3);
|
||||
}
|
||||
ppiVar5 = &local_res10;
|
||||
FUN_1400a28b0((ulonglong *)&DAT_1401b6348,(ulonglong *)ppiVar5,CONCAT71(uVar7,uVar6),param_4);
|
||||
FUN_1400a25f0((longlong *)&local_res10,ppiVar5,CONCAT71(uVar7,uVar6),param_4);
|
||||
LOCK();
|
||||
UNLOCK();
|
||||
DAT_1401b6340 = 2;
|
||||
}
|
||||
else {
|
||||
LOCK();
|
||||
iVar1 = DAT_1401b6340;
|
||||
if (DAT_1401b6340 == 9999) {
|
||||
DAT_1401b6340 = 999;
|
||||
iVar1 = 9999;
|
||||
}
|
||||
UNLOCK();
|
||||
while (iVar1 != 2) {
|
||||
Sleep(5);
|
||||
LOCK();
|
||||
iVar1 = DAT_1401b6340;
|
||||
if (DAT_1401b6340 == 9999) {
|
||||
DAT_1401b6340 = 999;
|
||||
iVar1 = 9999;
|
||||
}
|
||||
UNLOCK();
|
||||
}
|
||||
}
|
||||
*param_1 = 0;
|
||||
FUN_1400a28b0(param_1,(ulonglong *)&DAT_1401b6348,CONCAT71(uVar7,uVar6),param_4);
|
||||
return param_1;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue