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
204
decomp/DBCServer_Release_x64/full/functions/0x1401be4e0.c
Normal file
204
decomp/DBCServer_Release_x64/full/functions/0x1401be4e0.c
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x1401be4e0 FUN_1401be4e0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_1401be4e0(longlong param_1)
|
||||
|
||||
{
|
||||
longlong lVar1;
|
||||
int iVar2;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
int iVar5;
|
||||
undefined *puVar6;
|
||||
int *piVar7;
|
||||
uint uVar8;
|
||||
ulonglong uVar9;
|
||||
int iVar10;
|
||||
double dVar11;
|
||||
undefined1 auStack_ab8 [32];
|
||||
undefined *local_a98;
|
||||
undefined *local_a90;
|
||||
longlong local_a88;
|
||||
undefined1 local_a80;
|
||||
int local_a7c;
|
||||
longlong local_a78;
|
||||
undefined1 local_a70;
|
||||
undefined8 local_a68;
|
||||
undefined1 local_a58 [2592];
|
||||
ulonglong local_38;
|
||||
|
||||
local_a68 = 0xfffffffffffffffe;
|
||||
local_38 = DAT_1403463c0 ^ (ulonglong)auStack_ab8;
|
||||
FUN_14019ea70(local_a58);
|
||||
FUN_14019eb90(local_a58);
|
||||
if (*(char *)(param_1 + 0x1040) == '\0') {
|
||||
do {
|
||||
dVar11 = (double)FUN_1401bbd00(local_a58);
|
||||
lVar1 = param_1 + 0x28;
|
||||
iVar10 = 0;
|
||||
iVar5 = 0;
|
||||
if (dVar11 <= 0.9) {
|
||||
local_a88 = lVar1;
|
||||
local_a7c = FUN_1401be310(lVar1);
|
||||
local_a80 = 1;
|
||||
piVar7 = (int *)(param_1 + 0x80);
|
||||
iVar10 = *piVar7;
|
||||
uVar9 = 0;
|
||||
do {
|
||||
if (iVar10 != *piVar7) {
|
||||
FUN_14016d8c0();
|
||||
local_a98 = PTR_DAT_1403440a0;
|
||||
iVar4 = FUN_14016d740(&DAT_140289ae0);
|
||||
iVar10 = iVar5;
|
||||
if ((local_a98 != (undefined *)0x0) && (local_a98 != PTR_DAT_1403440a0)) {
|
||||
iVar10 = *(int *)(local_a98 + -8);
|
||||
}
|
||||
iVar2 = iVar4;
|
||||
if (((iVar4 <= iVar10) && (iVar2 = iVar5, local_a98 != (undefined *)0x0)) &&
|
||||
(local_a98 != PTR_DAT_1403440a0)) {
|
||||
iVar2 = *(int *)(local_a98 + -8);
|
||||
}
|
||||
iVar10 = 1;
|
||||
if (1 < iVar2) {
|
||||
iVar10 = iVar2;
|
||||
}
|
||||
iVar2 = iVar5;
|
||||
if ((local_a98 != (undefined *)0x0) && (local_a98 != PTR_DAT_1403440a0)) {
|
||||
iVar2 = *(int *)(local_a98 + -8);
|
||||
}
|
||||
if (iVar2 < iVar10) {
|
||||
FUN_14004e770(&local_a98);
|
||||
}
|
||||
FUN_14004e850(&local_a98);
|
||||
puVar6 = local_a98;
|
||||
if (local_a98 == (undefined *)0x0) {
|
||||
puVar6 = PTR_DAT_1403440a0;
|
||||
}
|
||||
FUN_14016d770(puVar6,&DAT_140289ae0,iVar4);
|
||||
puVar6 = local_a98;
|
||||
if (local_a98 == (undefined *)0x0) {
|
||||
puVar6 = PTR_DAT_1403440a0;
|
||||
}
|
||||
iVar4 = FUN_14016d740(puVar6);
|
||||
iVar10 = 0;
|
||||
if (0 < iVar4) {
|
||||
iVar10 = iVar4;
|
||||
}
|
||||
iVar4 = iVar5;
|
||||
if ((local_a98 != (undefined *)0x0) && (local_a98 != PTR_DAT_1403440a0)) {
|
||||
iVar4 = *(int *)(local_a98 + -8);
|
||||
}
|
||||
if ((iVar10 < iVar4) || (iVar10 = iVar5, local_a98 == (undefined *)0x0)) {
|
||||
LAB_1401be84e:
|
||||
if (((local_a98 != PTR_DAT_1403440a0) && (local_a98 != (undefined *)0x0)) &&
|
||||
((int *)(local_a98 + -8) != (int *)0x0)) {
|
||||
*(int *)(local_a98 + -8) = iVar10;
|
||||
*(undefined2 *)(local_a98 + (longlong)iVar10 * 2) = 0;
|
||||
}
|
||||
}
|
||||
else if (local_a98 != PTR_DAT_1403440a0) {
|
||||
iVar10 = *(int *)(local_a98 + -8);
|
||||
goto LAB_1401be84e;
|
||||
}
|
||||
FUN_140193bc0(*(undefined8 *)(param_1 + 0x1088),&local_a98);
|
||||
*(undefined1 *)(param_1 + 0x1040) = 1;
|
||||
FUN_1401be390(lVar1);
|
||||
goto LAB_1401be88f;
|
||||
}
|
||||
uVar9 = uVar9 + 1;
|
||||
piVar7 = piVar7 + 1;
|
||||
} while ((longlong)uVar9 < 1000);
|
||||
if (1 < local_a7c) {
|
||||
*(undefined1 *)(param_1 + 0x1080) = 1;
|
||||
}
|
||||
FUN_1401be390(lVar1);
|
||||
local_a80 = 0;
|
||||
}
|
||||
else {
|
||||
local_a78 = lVar1;
|
||||
FUN_1401be3c0();
|
||||
local_a70 = 1;
|
||||
piVar7 = (int *)(param_1 + 0x80);
|
||||
iVar4 = *piVar7;
|
||||
uVar9 = 0;
|
||||
do {
|
||||
iVar2 = *piVar7;
|
||||
*piVar7 = iVar2 + 1;
|
||||
if (iVar4 + 1 != iVar2 + 1) {
|
||||
FUN_14016d8c0();
|
||||
local_a90 = PTR_DAT_1403440a0;
|
||||
iVar2 = FUN_14016d740(&DAT_140289b50);
|
||||
iVar4 = iVar10;
|
||||
if ((local_a90 != (undefined *)0x0) && (local_a90 != PTR_DAT_1403440a0)) {
|
||||
iVar4 = *(int *)(local_a90 + -8);
|
||||
}
|
||||
iVar3 = iVar2;
|
||||
if (((iVar2 <= iVar4) && (iVar3 = iVar10, local_a90 != (undefined *)0x0)) &&
|
||||
(local_a90 != PTR_DAT_1403440a0)) {
|
||||
iVar3 = *(int *)(local_a90 + -8);
|
||||
}
|
||||
iVar10 = 1;
|
||||
if (1 < iVar3) {
|
||||
iVar10 = iVar3;
|
||||
}
|
||||
iVar4 = iVar5;
|
||||
if ((local_a90 != (undefined *)0x0) && (local_a90 != PTR_DAT_1403440a0)) {
|
||||
iVar4 = *(int *)(local_a90 + -8);
|
||||
}
|
||||
if (iVar4 < iVar10) {
|
||||
FUN_14004e770(&local_a90);
|
||||
}
|
||||
FUN_14004e850(&local_a90);
|
||||
puVar6 = local_a90;
|
||||
if (local_a90 == (undefined *)0x0) {
|
||||
puVar6 = PTR_DAT_1403440a0;
|
||||
}
|
||||
FUN_14016d770(puVar6,&DAT_140289b50,iVar2);
|
||||
puVar6 = local_a90;
|
||||
if (local_a90 == (undefined *)0x0) {
|
||||
puVar6 = PTR_DAT_1403440a0;
|
||||
}
|
||||
iVar4 = FUN_14016d740(puVar6);
|
||||
iVar10 = 0;
|
||||
if (0 < iVar4) {
|
||||
iVar10 = iVar4;
|
||||
}
|
||||
iVar4 = iVar5;
|
||||
if ((local_a90 != (undefined *)0x0) && (local_a90 != PTR_DAT_1403440a0)) {
|
||||
iVar4 = *(int *)(local_a90 + -8);
|
||||
}
|
||||
if ((iVar10 < iVar4) || (iVar10 = iVar5, local_a90 == (undefined *)0x0)) {
|
||||
LAB_1401be71d:
|
||||
if (((local_a90 != PTR_DAT_1403440a0) && (local_a90 != (undefined *)0x0)) &&
|
||||
((int *)(local_a90 + -8) != (int *)0x0)) {
|
||||
*(int *)(local_a90 + -8) = iVar10;
|
||||
*(undefined2 *)(local_a90 + (longlong)iVar10 * 2) = 0;
|
||||
}
|
||||
}
|
||||
else if (local_a90 != PTR_DAT_1403440a0) {
|
||||
iVar10 = *(int *)(local_a90 + -8);
|
||||
goto LAB_1401be71d;
|
||||
}
|
||||
FUN_140193bc0(*(undefined8 *)(param_1 + 0x1088),&local_a90);
|
||||
*(undefined1 *)(param_1 + 0x1040) = 1;
|
||||
FUN_1401be450(lVar1);
|
||||
goto LAB_1401be88f;
|
||||
}
|
||||
uVar8 = (int)uVar9 + 1;
|
||||
uVar9 = (ulonglong)uVar8;
|
||||
piVar7 = piVar7 + 1;
|
||||
} while ((int)uVar8 < 1000);
|
||||
FUN_1401be450(lVar1);
|
||||
local_a70 = 0;
|
||||
}
|
||||
Sleep(0);
|
||||
} while (*(char *)(param_1 + 0x1040) == '\0');
|
||||
}
|
||||
LAB_1401be88f:
|
||||
FUN_14019eab0(local_a58);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue