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
114
decomp/DBCServer_Release_x64/full/functions/0x14004f8c0.c
Normal file
114
decomp/DBCServer_Release_x64/full/functions/0x14004f8c0.c
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x14004f8c0 FUN_14004f8c0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_14004f8c0(longlong param_1,longlong param_2)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
undefined8 *puVar2;
|
||||
longlong *plVar3;
|
||||
undefined8 *puVar4;
|
||||
undefined8 uVar5;
|
||||
undefined8 *puVar6;
|
||||
undefined *puVar7;
|
||||
undefined2 local_res8 [4];
|
||||
undefined8 *local_res10;
|
||||
undefined *local_50 [2];
|
||||
undefined8 local_40;
|
||||
undefined1 local_38;
|
||||
longlong local_30;
|
||||
undefined1 local_28;
|
||||
|
||||
local_30 = param_1 + 0x150;
|
||||
FUN_14016db50();
|
||||
local_28 = 1;
|
||||
puVar2 = operator_new(0xc);
|
||||
puVar6 = (undefined8 *)0x0;
|
||||
if (puVar2 == (undefined8 *)0x0) {
|
||||
local_res10 = (undefined8 *)0x0;
|
||||
}
|
||||
else {
|
||||
*puVar2 = 0;
|
||||
*(undefined4 *)(puVar2 + 1) = 0;
|
||||
local_res10 = (undefined8 *)FUN_14016d940(0x10);
|
||||
local_res10[1] = 1;
|
||||
*local_res10 = puVar2;
|
||||
}
|
||||
puVar2 = local_res10;
|
||||
puVar4 = puVar6;
|
||||
if (local_res10 != (undefined8 *)0x0) {
|
||||
puVar4 = (undefined8 *)*local_res10;
|
||||
}
|
||||
*(undefined4 *)puVar4 = *(undefined4 *)(param_2 + 0x30);
|
||||
puVar4 = puVar6;
|
||||
if (local_res10 != (undefined8 *)0x0) {
|
||||
puVar4 = (undefined8 *)*local_res10;
|
||||
}
|
||||
plVar3 = (longlong *)FUN_140055ad0(param_1 + 0xf8,puVar4);
|
||||
if (puVar2 != (undefined8 *)*plVar3) {
|
||||
if (puVar2 != (undefined8 *)0x0) {
|
||||
puVar2[1] = puVar2[1] + 1;
|
||||
puVar2 = local_res10;
|
||||
}
|
||||
puVar4 = puVar6;
|
||||
if ((*plVar3 != 0) &&
|
||||
(*(longlong *)(*plVar3 + 8) = *(longlong *)(*plVar3 + 8) + -1, puVar2 = local_res10,
|
||||
*(longlong *)(*plVar3 + 8) == 0)) {
|
||||
puVar4 = (undefined8 *)*plVar3;
|
||||
}
|
||||
*plVar3 = (longlong)puVar2;
|
||||
if (puVar4 != (undefined8 *)0x0) {
|
||||
if ((void *)*puVar4 != (void *)0x0) {
|
||||
operator_delete((void *)*puVar4);
|
||||
}
|
||||
FUN_14016d970(puVar4);
|
||||
}
|
||||
}
|
||||
FUN_140170990(local_50,param_2);
|
||||
puVar7 = local_50[0];
|
||||
if (local_50[0] == (undefined *)0x0) {
|
||||
puVar7 = PTR_DAT_140344098;
|
||||
}
|
||||
puVar4 = puVar6;
|
||||
if (puVar2 != (undefined8 *)0x0) {
|
||||
puVar4 = (undefined8 *)*puVar2;
|
||||
}
|
||||
FUN_1400a6b90("Server Join [%d][%s]\n",*(undefined4 *)puVar4,puVar7);
|
||||
*(int *)(param_1 + 0x62c) = *(int *)(param_1 + 0x62c) + 1;
|
||||
local_res8[0] = *(undefined2 *)(param_1 + 0xd0);
|
||||
if (puVar2 != (undefined8 *)0x0) {
|
||||
puVar6 = (undefined8 *)*puVar2;
|
||||
}
|
||||
(**(code **)(*(longlong *)(param_1 + 0xa8) + 0x240))
|
||||
((longlong *)(param_1 + 0xa8),*(undefined4 *)puVar6,&DAT_1403440f0,local_res8);
|
||||
if (((local_50[0] != (undefined *)0x0) && (local_50[0] != PTR_DAT_140344098)) &&
|
||||
(local_50[0] + -8 != (undefined *)0x0)) {
|
||||
uVar5 = FUN_14016d8c0();
|
||||
local_40 = uVar5;
|
||||
FUN_14016db50(uVar5);
|
||||
local_38 = 1;
|
||||
piVar1 = (int *)(local_50[0] + -4);
|
||||
*piVar1 = *piVar1 + -1;
|
||||
if (*piVar1 == 0) {
|
||||
FUN_14016d970(local_50[0] + -8);
|
||||
}
|
||||
FUN_14016dbe0(uVar5);
|
||||
local_38 = 0;
|
||||
}
|
||||
puVar6 = local_res10;
|
||||
local_50[0] = PTR_DAT_140344098;
|
||||
if (puVar2 != (undefined8 *)0x0) {
|
||||
plVar3 = puVar2 + 1;
|
||||
*plVar3 = *plVar3 + -1;
|
||||
if (*plVar3 == 0) {
|
||||
if ((void *)*local_res10 != (void *)0x0) {
|
||||
operator_delete((void *)*local_res10);
|
||||
}
|
||||
FUN_14016d970(puVar6);
|
||||
}
|
||||
}
|
||||
FUN_14016dbe0(local_30);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue