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
75
decomp/DBCServer_Release_x64/full/functions/0x140001d50.c
Normal file
75
decomp/DBCServer_Release_x64/full/functions/0x140001d50.c
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x140001d50 FUN_140001d50
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
uint FUN_140001d50(longlong *param_1,char *param_2)
|
||||
|
||||
{
|
||||
char cVar1;
|
||||
IUnknown *pIVar2;
|
||||
ULONG UVar3;
|
||||
int iVar4;
|
||||
undefined8 uVar5;
|
||||
undefined8 uVar6;
|
||||
undefined8 uVar7;
|
||||
longlong lVar8;
|
||||
char *pcVar9;
|
||||
int local_res10 [2];
|
||||
undefined1 local_res18 [8];
|
||||
undefined1 local_res20 [8];
|
||||
undefined8 uVar10;
|
||||
int *piVar11;
|
||||
undefined1 *puVar12;
|
||||
undefined1 *puVar13;
|
||||
|
||||
uVar10 = 0xfffffffffffffffe;
|
||||
if (param_2 != (char *)0x0) {
|
||||
pIVar2 = (IUnknown *)*param_1;
|
||||
if (pIVar2 != (IUnknown *)0x0) {
|
||||
local_res10[0] = 0;
|
||||
UVar3 = (*pIVar2->lpVtbl[0xb].AddRef)(pIVar2);
|
||||
if ((int)UVar3 < 0) {
|
||||
_com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029e018);
|
||||
}
|
||||
if (local_res10[0] != 0) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
lVar8 = -1;
|
||||
pcVar9 = param_2;
|
||||
do {
|
||||
if (lVar8 == 0) break;
|
||||
lVar8 = lVar8 + -1;
|
||||
cVar1 = *pcVar9;
|
||||
pcVar9 = pcVar9 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
if (lVar8 != -2) {
|
||||
param_1[1] = (longlong)param_2;
|
||||
piVar11 = local_res10;
|
||||
puVar12 = local_res18;
|
||||
puVar13 = local_res20;
|
||||
uVar5 = FUN_140001000(local_res10,&DAT_14029e010);
|
||||
uVar6 = FUN_140001000(local_res18,&DAT_14029e010);
|
||||
uVar7 = FUN_140001000(local_res20,param_1[1]);
|
||||
if (*param_1 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
iVar4 = FUN_140001be0(*param_1,uVar7,uVar6,uVar5,uVar10,piVar11,puVar12,puVar13);
|
||||
if (iVar4 == 0) {
|
||||
pIVar2 = (IUnknown *)*param_1;
|
||||
if (pIVar2 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
UVar3 = (*pIVar2->lpVtbl[9].Release)(pIVar2);
|
||||
if ((int)UVar3 < 0) {
|
||||
_com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029e018);
|
||||
}
|
||||
}
|
||||
return -(uint)(iVar4 != 0) & 0xfffffffe;
|
||||
}
|
||||
}
|
||||
return 0xffffffff;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue