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
163
decomp/DBCServer_Release_x64/full/functions/0x1401bd190.c
Normal file
163
decomp/DBCServer_Release_x64/full/functions/0x1401bd190.c
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x1401bd190 FUN_1401bd190
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1401bd190(int *param_1,undefined8 param_2)
|
||||
|
||||
{
|
||||
int *piVar1;
|
||||
undefined *puVar2;
|
||||
char cVar3;
|
||||
DWORD DVar4;
|
||||
int iVar5;
|
||||
int iVar6;
|
||||
int *piVar7;
|
||||
undefined8 uVar8;
|
||||
LPCWSTR pWVar9;
|
||||
LPCWSTR pWVar10;
|
||||
int iVar11;
|
||||
LPCWSTR local_res8;
|
||||
|
||||
piVar1 = param_1 + 0xc;
|
||||
cVar3 = FUN_14016dbf0(piVar1);
|
||||
if (cVar3 == '\0') {
|
||||
return;
|
||||
}
|
||||
FUN_14016db50(piVar1);
|
||||
puVar2 = *(undefined **)(param_1 + 2);
|
||||
if ((((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1403440a0)) &&
|
||||
(*(int *)(puVar2 + -8) != 0)) ||
|
||||
((*param_1 != 3 || (DVar4 = GetTickCount(), DVar4 - param_1[1] < 0x7531)))) goto LAB_1401bd451;
|
||||
FUN_14004e6d0(param_1 + 2,param_2);
|
||||
*param_1 = 0;
|
||||
DVar4 = GetTickCount();
|
||||
param_1[1] = DVar4;
|
||||
FUN_14016d8c0();
|
||||
pWVar10 = (LPCWSTR)PTR_DAT_1403440a0;
|
||||
local_res8 = (LPCWSTR)PTR_DAT_1403440a0;
|
||||
iVar5 = FUN_14016d740(L"**ErrorReport** ");
|
||||
iVar11 = 0;
|
||||
if ((pWVar10 != (LPCWSTR)0x0) && (pWVar10 != (LPCWSTR)PTR_DAT_1403440a0)) {
|
||||
iVar11 = *(int *)((longlong)pWVar10 + -8);
|
||||
}
|
||||
iVar6 = iVar5;
|
||||
if (iVar5 <= iVar11) {
|
||||
iVar6 = 0;
|
||||
if ((pWVar10 != (LPCWSTR)0x0) && (iVar6 = 0, pWVar10 != (LPCWSTR)PTR_DAT_1403440a0)) {
|
||||
iVar6 = *(int *)((longlong)pWVar10 + -8);
|
||||
}
|
||||
}
|
||||
iVar11 = 1;
|
||||
if (1 < iVar6) {
|
||||
iVar11 = iVar6;
|
||||
}
|
||||
iVar6 = 0;
|
||||
if ((pWVar10 != (LPCWSTR)0x0) && (pWVar10 != (LPCWSTR)PTR_DAT_1403440a0)) {
|
||||
iVar6 = *(int *)((longlong)pWVar10 + -8);
|
||||
}
|
||||
if (iVar6 < iVar11) {
|
||||
if (pWVar10 == (LPCWSTR)0x0) {
|
||||
pWVar10 = (LPCWSTR)PTR_DAT_1403440a0;
|
||||
}
|
||||
local_res8 = pWVar10;
|
||||
if (iVar11 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14016d6b0();
|
||||
}
|
||||
if (iVar11 == 0) {
|
||||
FUN_14004eb70(&local_res8);
|
||||
}
|
||||
else {
|
||||
iVar6 = 0;
|
||||
if ((pWVar10 != (LPCWSTR)0x0) && (iVar6 = 0, pWVar10 != (LPCWSTR)PTR_DAT_1403440a0)) {
|
||||
iVar6 = *(int *)(pWVar10 + -4);
|
||||
}
|
||||
if (iVar11 != iVar6) {
|
||||
piVar7 = (int *)FUN_14016d940((longlong)iVar11 * 2 + 10);
|
||||
if (piVar7 != (int *)0x0) {
|
||||
*piVar7 = 0;
|
||||
piVar7[1] = 1;
|
||||
}
|
||||
*piVar7 = iVar11;
|
||||
iVar6 = 0;
|
||||
if ((pWVar10 != (LPCWSTR)0x0) && (iVar6 = 0, pWVar10 != (LPCWSTR)PTR_DAT_1403440a0)) {
|
||||
iVar6 = *(int *)(pWVar10 + -4);
|
||||
}
|
||||
pWVar9 = (LPCWSTR)PTR_DAT_1403440a0;
|
||||
if (iVar11 < iVar6) {
|
||||
LAB_1401bd321:
|
||||
if (pWVar10 != (LPCWSTR)0x0) {
|
||||
pWVar9 = pWVar10;
|
||||
}
|
||||
}
|
||||
else {
|
||||
iVar11 = 0;
|
||||
if (pWVar10 != (LPCWSTR)0x0) {
|
||||
if (pWVar10 != (LPCWSTR)PTR_DAT_1403440a0) {
|
||||
iVar11 = *(int *)(pWVar10 + -4);
|
||||
}
|
||||
goto LAB_1401bd321;
|
||||
}
|
||||
}
|
||||
FUN_14016d770(piVar7 + 2,pWVar9,iVar11);
|
||||
FUN_14004eb70(&local_res8);
|
||||
local_res8 = (LPCWSTR)(piVar7 + 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
FUN_14004e850(&local_res8);
|
||||
pWVar10 = local_res8;
|
||||
pWVar9 = local_res8;
|
||||
if (local_res8 == (LPCWSTR)0x0) {
|
||||
pWVar9 = (LPCWSTR)PTR_DAT_1403440a0;
|
||||
}
|
||||
FUN_14016d770(pWVar9,L"**ErrorReport** ",iVar5);
|
||||
pWVar9 = pWVar10;
|
||||
if (pWVar10 == (LPCWSTR)0x0) {
|
||||
pWVar9 = (LPCWSTR)PTR_DAT_1403440a0;
|
||||
}
|
||||
iVar5 = FUN_14016d740(pWVar9);
|
||||
iVar11 = 0;
|
||||
if (0 < iVar5) {
|
||||
iVar11 = iVar5;
|
||||
}
|
||||
iVar5 = 0;
|
||||
if ((pWVar10 != (LPCWSTR)0x0) && (pWVar10 != (LPCWSTR)PTR_DAT_1403440a0)) {
|
||||
iVar5 = *(int *)(pWVar10 + -4);
|
||||
}
|
||||
if ((iVar11 < iVar5) || (iVar11 = 0, pWVar10 == (LPCWSTR)0x0)) {
|
||||
LAB_1401bd3b9:
|
||||
if (((pWVar10 != (LPCWSTR)PTR_DAT_1403440a0) && (pWVar10 != (LPCWSTR)0x0)) &&
|
||||
(pWVar10 + -4 != (LPCWSTR)0x0)) {
|
||||
*(int *)(pWVar10 + -4) = iVar11;
|
||||
pWVar10[iVar11] = L'\0';
|
||||
}
|
||||
}
|
||||
else if (pWVar10 != (LPCWSTR)PTR_DAT_1403440a0) {
|
||||
iVar11 = *(int *)(pWVar10 + -4);
|
||||
goto LAB_1401bd3b9;
|
||||
}
|
||||
FUN_14004be20(&local_res8,param_2);
|
||||
FUN_14004ea20(&local_res8,&DAT_1402b0a94);
|
||||
pWVar10 = local_res8;
|
||||
pWVar9 = local_res8;
|
||||
if (local_res8 == (LPCWSTR)0x0) {
|
||||
pWVar9 = (LPCWSTR)PTR_DAT_1403440a0;
|
||||
}
|
||||
OutputDebugStringW(pWVar9);
|
||||
if (((pWVar10 != (LPCWSTR)0x0) && (pWVar10 != (LPCWSTR)PTR_DAT_1403440a0)) &&
|
||||
(pWVar10 + -4 != (LPCWSTR)0x0)) {
|
||||
uVar8 = FUN_14016d8c0();
|
||||
FUN_14016db50(uVar8);
|
||||
pWVar9 = pWVar10 + -2;
|
||||
*(int *)pWVar9 = *(int *)pWVar9 + -1;
|
||||
if (*(int *)pWVar9 == 0) {
|
||||
FUN_14016d970(pWVar10 + -4);
|
||||
}
|
||||
FUN_14016dbe0(uVar8);
|
||||
}
|
||||
LAB_1401bd451:
|
||||
FUN_14016dbe0(piVar1);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue