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
103
decomp/DBCServer_Release_x64/full/functions/0x14004c050.c
Normal file
103
decomp/DBCServer_Release_x64/full/functions/0x14004c050.c
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x14004c050 FUN_14004c050
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
longlong * FUN_14004c050(longlong *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
undefined *puVar2;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
undefined *puVar5;
|
||||
int iVar6;
|
||||
undefined *puVar7;
|
||||
undefined *local_res8;
|
||||
undefined8 uVar8;
|
||||
|
||||
uVar8 = 0xfffffffffffffffe;
|
||||
FUN_14016d8c0();
|
||||
puVar2 = PTR_DAT_1403440a0;
|
||||
local_res8 = PTR_DAT_1403440a0;
|
||||
iVar3 = FUN_14016d740(param_2);
|
||||
iVar6 = 0;
|
||||
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1403440a0)) {
|
||||
iVar6 = *(int *)(puVar2 + -8);
|
||||
}
|
||||
iVar4 = iVar3;
|
||||
if (((iVar3 <= iVar6) && (iVar4 = 0, puVar2 != (undefined *)0x0)) && (puVar2 != PTR_DAT_1403440a0)
|
||||
) {
|
||||
iVar4 = *(int *)(puVar2 + -8);
|
||||
}
|
||||
iVar6 = 1;
|
||||
if (1 < iVar4) {
|
||||
iVar6 = iVar4;
|
||||
}
|
||||
iVar4 = 0;
|
||||
if ((puVar2 != (undefined *)0x0) && (iVar4 = 0, puVar2 != PTR_DAT_1403440a0)) {
|
||||
iVar4 = *(int *)(puVar2 + -8);
|
||||
}
|
||||
if (iVar4 < iVar6) {
|
||||
FUN_14004e770(&local_res8);
|
||||
}
|
||||
FUN_14004e850(&local_res8);
|
||||
puVar2 = local_res8;
|
||||
puVar7 = local_res8;
|
||||
if (local_res8 == (undefined *)0x0) {
|
||||
puVar7 = PTR_DAT_1403440a0;
|
||||
}
|
||||
FUN_14016d770(puVar7,param_2,iVar3,param_4,uVar8);
|
||||
puVar7 = puVar2;
|
||||
if (puVar2 == (undefined *)0x0) {
|
||||
puVar7 = PTR_DAT_1403440a0;
|
||||
}
|
||||
iVar3 = FUN_14016d740(puVar7);
|
||||
puVar7 = PTR_DAT_1403440a0;
|
||||
iVar6 = 0;
|
||||
if (0 < iVar3) {
|
||||
iVar6 = iVar3;
|
||||
}
|
||||
iVar3 = 0;
|
||||
if ((puVar2 != (undefined *)0x0) && (iVar3 = 0, puVar2 != PTR_DAT_1403440a0)) {
|
||||
iVar3 = *(int *)(puVar2 + -8);
|
||||
}
|
||||
if ((iVar3 <= iVar6) && (iVar6 = 0, puVar2 != (undefined *)0x0)) {
|
||||
if (puVar2 == PTR_DAT_1403440a0) goto LAB_14004c170;
|
||||
iVar6 = *(int *)(puVar2 + -8);
|
||||
}
|
||||
if (((puVar2 != PTR_DAT_1403440a0) && (puVar2 != (undefined *)0x0)) &&
|
||||
((int *)(puVar2 + -8) != (int *)0x0)) {
|
||||
*(int *)(puVar2 + -8) = iVar6;
|
||||
*(undefined2 *)(puVar2 + (longlong)iVar6 * 2) = 0;
|
||||
}
|
||||
LAB_14004c170:
|
||||
puVar5 = (undefined *)*param_1;
|
||||
if ((undefined *)*param_1 == (undefined *)0x0) {
|
||||
puVar5 = puVar7;
|
||||
}
|
||||
*param_1 = (longlong)puVar5;
|
||||
if (puVar2 != puVar5) {
|
||||
uVar8 = FUN_14016d8c0();
|
||||
FUN_14016db50(uVar8);
|
||||
FUN_14004eb70(param_1);
|
||||
*param_1 = (longlong)puVar2;
|
||||
if (((puVar2 != PTR_DAT_1403440a0) && (puVar2 != (undefined *)0x0)) &&
|
||||
(puVar2 != (undefined *)0x8)) {
|
||||
*(int *)(puVar2 + -4) = *(int *)(puVar2 + -4) + 1;
|
||||
}
|
||||
FUN_14016dbe0(uVar8);
|
||||
puVar7 = PTR_DAT_1403440a0;
|
||||
}
|
||||
if (((puVar2 != (undefined *)0x0) && (puVar2 != puVar7)) && (puVar2 + -8 != (undefined *)0x0)) {
|
||||
uVar8 = FUN_14016d8c0();
|
||||
FUN_14016db50(uVar8);
|
||||
piVar1 = (int *)(puVar2 + -4);
|
||||
*piVar1 = *piVar1 + -1;
|
||||
if (*piVar1 == 0) {
|
||||
FUN_14016d970(puVar2 + -8);
|
||||
}
|
||||
FUN_14016dbe0(uVar8);
|
||||
}
|
||||
return param_1;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue