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
608
decomp/DBCServer_Release_x64/full/functions/0x1400ceb70.c
Normal file
608
decomp/DBCServer_Release_x64/full/functions/0x1400ceb70.c
Normal file
|
|
@ -0,0 +1,608 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400ceb70 FUN_1400ceb70
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfa2c) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfa3a) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfa41) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfa46) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfa50) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfa85) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfaa0) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfac4) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfade) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfaef) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfafb) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfb08) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfb13) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfb23) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfb34) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfb41) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfb4f) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfba2) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfba9) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfbb6) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfbbd) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfbc7) */
|
||||
/* WARNING: Removing unreachable block (ram,0x0001400cfbcf) */
|
||||
|
||||
undefined4 FUN_1400ceb70(undefined8 *param_1,undefined8 *param_2)
|
||||
|
||||
{
|
||||
undefined4 uVar1;
|
||||
IUnknown *pIVar2;
|
||||
undefined6 uVar3;
|
||||
IUnknown *This;
|
||||
undefined1 uVar4;
|
||||
int iVar5;
|
||||
HRESULT HVar6;
|
||||
ULONG UVar7;
|
||||
undefined8 *puVar8;
|
||||
undefined8 uVar9;
|
||||
undefined8 uVar10;
|
||||
wchar_t *pwVar11;
|
||||
char *riid;
|
||||
wchar_t *pwVar12;
|
||||
char *ppvObject;
|
||||
wchar_t *pwVar13;
|
||||
uint uVar14;
|
||||
ushort uVar15;
|
||||
wchar_t *pwVar16;
|
||||
undefined1 auStackY_628 [32];
|
||||
char local_5f8 [4];
|
||||
undefined8 local_5e8;
|
||||
longlong *local_5d0;
|
||||
int local_5c4;
|
||||
wchar_t *local_5c0;
|
||||
wchar_t *local_5b8;
|
||||
wchar_t *local_5b0;
|
||||
LPUNKNOWN local_5a8 [2];
|
||||
IUnknown *local_598;
|
||||
longlong *local_590;
|
||||
undefined4 local_588;
|
||||
undefined1 local_578 [24];
|
||||
undefined1 local_560 [24];
|
||||
undefined4 local_548;
|
||||
undefined1 *local_540;
|
||||
undefined4 local_538;
|
||||
undefined8 local_530;
|
||||
undefined1 *local_528;
|
||||
undefined8 *local_518;
|
||||
undefined8 *local_510;
|
||||
undefined4 local_508;
|
||||
undefined4 local_504;
|
||||
undefined4 local_500;
|
||||
undefined4 local_4fc;
|
||||
undefined4 local_4f8;
|
||||
uchar local_4f4 [4];
|
||||
uchar local_4f0 [4];
|
||||
undefined4 local_4ec;
|
||||
undefined8 local_4e8;
|
||||
undefined1 local_4e0;
|
||||
undefined8 local_4d8;
|
||||
undefined1 local_4d0;
|
||||
longlong *local_4c8;
|
||||
undefined8 local_4c0;
|
||||
undefined1 local_4b8;
|
||||
undefined8 local_4b0;
|
||||
undefined1 local_4a8;
|
||||
undefined8 local_4a0;
|
||||
undefined1 local_498;
|
||||
undefined8 local_490;
|
||||
undefined1 local_488;
|
||||
undefined8 local_480;
|
||||
undefined1 local_478;
|
||||
undefined8 local_470;
|
||||
undefined1 local_468;
|
||||
undefined8 local_460;
|
||||
undefined1 local_458;
|
||||
undefined8 local_450;
|
||||
undefined1 local_448;
|
||||
undefined8 local_440;
|
||||
undefined1 local_438;
|
||||
longlong *local_430;
|
||||
undefined8 local_428;
|
||||
undefined1 local_420;
|
||||
undefined8 local_418;
|
||||
undefined1 local_400 [24];
|
||||
undefined1 local_3e8 [24];
|
||||
undefined1 local_3d0 [24];
|
||||
undefined1 local_3b8 [24];
|
||||
undefined1 local_3a0 [24];
|
||||
undefined1 local_388 [24];
|
||||
undefined1 local_370 [24];
|
||||
undefined1 local_358 [24];
|
||||
undefined1 local_340 [24];
|
||||
undefined1 local_328 [32];
|
||||
IID local_308;
|
||||
undefined4 local_2f8;
|
||||
undefined4 local_2f4;
|
||||
undefined4 local_2f0;
|
||||
undefined4 local_2ec;
|
||||
undefined4 local_2e8;
|
||||
undefined2 local_2e4;
|
||||
undefined1 local_2e2;
|
||||
wchar_t local_2e1 [12];
|
||||
ulonglong local_2c9;
|
||||
wchar_t local_2c1 [49];
|
||||
undefined2 local_25f;
|
||||
wchar_t local_25d [254];
|
||||
undefined2 local_61;
|
||||
undefined8 local_5f;
|
||||
ulonglong local_48;
|
||||
|
||||
local_418 = 0xfffffffffffffffe;
|
||||
local_48 = DAT_1403463c0 ^ (ulonglong)auStackY_628;
|
||||
pwVar13 = (wchar_t *)0x0;
|
||||
local_5d0 = (longlong *)0x0;
|
||||
local_518 = param_2;
|
||||
local_510 = param_1;
|
||||
iVar5 = FUN_140001990(&local_5d0);
|
||||
if ((iVar5 < 0) && (iVar5 != -0x7fffbffe)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(iVar5);
|
||||
}
|
||||
local_598 = (IUnknown *)0x0;
|
||||
local_590 = (longlong *)0x0;
|
||||
Ordinal_8(local_578);
|
||||
Ordinal_8(local_560);
|
||||
pIVar2 = local_598;
|
||||
if ((local_598 != (IUnknown *)0x0) && (local_598 = (IUnknown *)0x0, pIVar2 != (IUnknown *)0x0)) {
|
||||
(*pIVar2->lpVtbl->Release)(pIVar2);
|
||||
}
|
||||
local_528 = &DAT_14029e010;
|
||||
local_540 = &DAT_14029e010;
|
||||
local_538 = 0;
|
||||
local_530 = 0;
|
||||
if (local_598 != (IUnknown *)0x0) {
|
||||
(*local_598->lpVtbl->Release)(local_598);
|
||||
}
|
||||
HVar6 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0,local_5a8
|
||||
);
|
||||
if (-1 < HVar6) {
|
||||
HVar6 = OleRun(local_5a8[0]);
|
||||
if (-1 < HVar6) {
|
||||
HVar6 = (*local_5a8[0]->lpVtbl->QueryInterface)(local_5a8[0],(IID *)&DAT_14029e078,&local_598)
|
||||
;
|
||||
}
|
||||
(*local_5a8[0]->lpVtbl->Release)(local_5a8[0]);
|
||||
if (-1 < HVar6) goto LAB_1400cecf0;
|
||||
}
|
||||
local_598 = (IUnknown *)0x0;
|
||||
LAB_1400cecf0:
|
||||
local_548 = 2;
|
||||
local_588 = 1;
|
||||
local_5f8[0] = '\x01';
|
||||
pwVar16 = (wchar_t *)0x0;
|
||||
uVar1 = *(undefined4 *)(param_2 + 1);
|
||||
local_5e8 = CONCAT44((int)((ulonglong)*param_2 >> 0x20),0x24010000);
|
||||
uVar14 = 0x10;
|
||||
pIVar2 = *(IUnknown **)*param_1;
|
||||
if ((pIVar2 != (IUnknown *)0x0) && (UVar7 = (*pIVar2->lpVtbl[0xb].AddRef)(pIVar2), (int)UVar7 < 0)
|
||||
) {
|
||||
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e018);
|
||||
}
|
||||
iVar5 = FUN_1400a80c0(param_1);
|
||||
if (iVar5 != 0) {
|
||||
puVar8 = (undefined8 *)FUN_140001f40(*param_1,&local_4c8);
|
||||
FUN_140001700(&local_5d0,*puVar8,"dbo.up_read_Inquiry");
|
||||
if (local_4c8 != (longlong *)0x0) {
|
||||
(**(code **)(*local_4c8 + 0x10))();
|
||||
}
|
||||
puVar8 = (undefined8 *)FUN_1400016c0(&local_5d0,&local_430);
|
||||
This = local_598;
|
||||
pIVar2 = (IUnknown *)*puVar8;
|
||||
if (local_598 != pIVar2) {
|
||||
local_598 = pIVar2;
|
||||
if (pIVar2 != (IUnknown *)0x0) {
|
||||
(*pIVar2->lpVtbl->AddRef)(pIVar2);
|
||||
}
|
||||
if (This != (IUnknown *)0x0) {
|
||||
(*This->lpVtbl->Release)(This);
|
||||
}
|
||||
}
|
||||
if (local_430 != (longlong *)0x0) {
|
||||
(**(code **)(*local_430 + 0x10))();
|
||||
}
|
||||
pIVar2 = local_598;
|
||||
if (local_598 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
UVar7 = (*local_598->lpVtbl[6].Release)(local_598);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
while( true ) {
|
||||
pIVar2 = local_598;
|
||||
if (local_598 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
UVar7 = (*local_598->lpVtbl[6].Release)(local_598);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
local_308.Data1 = 0;
|
||||
local_308.Data2 = 0;
|
||||
local_308.Data3 = 0;
|
||||
local_308.Data4[0] = '\0';
|
||||
local_308.Data4[1] = '\0';
|
||||
local_308.Data4[2] = '\0';
|
||||
local_308.Data4[3] = '\0';
|
||||
local_308.Data4[4] = '\0';
|
||||
local_308.Data4[5] = '\0';
|
||||
local_308.Data4[6] = '\0';
|
||||
local_308.Data4[7] = '\0';
|
||||
local_2f8 = 0;
|
||||
local_2f4 = 0;
|
||||
local_2f0 = 0;
|
||||
local_2ec = 0;
|
||||
local_2e8 = 0;
|
||||
local_2e4 = 0;
|
||||
local_2e2 = 0;
|
||||
local_5f = 0;
|
||||
local_2e1[0] = L'\0';
|
||||
local_2e1[1] = L'\0';
|
||||
local_2e1[2] = L'\0';
|
||||
local_2e1[3] = L'\0';
|
||||
local_2e1[4] = L'\0';
|
||||
local_2e1[5] = L'\0';
|
||||
local_2e1[6] = L'\0';
|
||||
local_2e1[7] = L'\0';
|
||||
local_2e1[8] = L'\0';
|
||||
local_2e1[9] = L'\0';
|
||||
local_2e1[10] = L'\0';
|
||||
local_2e1[0xb] = L'\0';
|
||||
local_2c9 = 0;
|
||||
memset(local_2c1,0,100);
|
||||
memset(local_25d,0,0x1fe);
|
||||
uVar9 = FUN_140002290(&local_598,local_388,"inquiry_id",local_5f8);
|
||||
FUN_140199590(uVar9);
|
||||
local_308.Data1 = FUN_1400dc990(uVar9);
|
||||
Ordinal_9(local_388);
|
||||
uVar9 = FUN_140002290(&local_598,local_340,"auth_id",local_5f8);
|
||||
FUN_140063b70(uVar9,&local_4f8);
|
||||
local_308.Data2 = (ushort)local_4f8;
|
||||
local_308.Data3 = local_4f8._2_2_;
|
||||
local_308.Data4[0] = local_4f4[0];
|
||||
local_308.Data4[1] = local_4f4[1];
|
||||
local_308.Data4[2] = local_4f4[2];
|
||||
local_308.Data4[3] = local_4f4[3];
|
||||
local_308.Data4[4] = local_4f0[0];
|
||||
local_308.Data4[5] = local_4f0[1];
|
||||
local_308.Data4[6] = local_4f0[2];
|
||||
local_308.Data4[7] = local_4f0[3];
|
||||
local_2f8 = local_4ec;
|
||||
Ordinal_9(local_340);
|
||||
uVar9 = FUN_140002290(&local_598,local_328,"character_id",local_5f8);
|
||||
FUN_140063b70(uVar9,&local_508);
|
||||
local_2f4 = local_508;
|
||||
local_2f0 = local_504;
|
||||
local_2ec = local_500;
|
||||
local_2e8 = local_4fc;
|
||||
Ordinal_9(local_328);
|
||||
uVar9 = FUN_140002290(&local_598,local_3b8,&DAT_1402aa2b4,local_5f8);
|
||||
FUN_140199590(uVar9);
|
||||
uVar4 = FUN_140063a70(uVar9);
|
||||
local_2e4 = CONCAT11(local_2e4._1_1_,uVar4);
|
||||
Ordinal_9(local_3b8);
|
||||
uVar9 = FUN_140002290(&local_598,local_358,"count",local_5f8);
|
||||
FUN_140199590(uVar9);
|
||||
uVar4 = FUN_140063a70(uVar9);
|
||||
local_2e4 = CONCAT11(uVar4,(undefined1)local_2e4);
|
||||
Ordinal_9(local_358);
|
||||
uVar9 = FUN_140002290(&local_598,local_400,"compulsion",local_5f8);
|
||||
FUN_140199590(uVar9);
|
||||
local_2e2 = FUN_140063a70(uVar9);
|
||||
Ordinal_9(local_400);
|
||||
uVar9 = FUN_140002290(&local_598,local_3e8,&DAT_1402a6210,local_5f8);
|
||||
FUN_140199590(uVar9);
|
||||
local_5f = FUN_14009f050(uVar9);
|
||||
Ordinal_9(local_3e8);
|
||||
uVar9 = FUN_140002290(&local_598,local_3d0,"character_name",local_5f8);
|
||||
FUN_140063de0(uVar9,&local_5c0);
|
||||
FUN_14016d8c0();
|
||||
pwVar12 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
|
||||
pwVar12 = pwVar13;
|
||||
}
|
||||
if (local_5c0 != (wchar_t *)PTR_DAT_1403440a0) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_488 = 0;
|
||||
local_490 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_488 = 1;
|
||||
if (((pwVar12 != (wchar_t *)0x0) && (pwVar12 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar12 + -4 != (wchar_t *)0x0)) {
|
||||
uVar10 = FUN_14016d8c0();
|
||||
local_4e0 = 0;
|
||||
local_4e8 = uVar10;
|
||||
FUN_14016db50(uVar10);
|
||||
local_4e0 = 1;
|
||||
pwVar11 = pwVar12 + -2;
|
||||
*(int *)pwVar11 = *(int *)pwVar11 + -1;
|
||||
if (*(int *)pwVar11 == 0) {
|
||||
FUN_14016d970(pwVar12 + -4);
|
||||
}
|
||||
FUN_14016dbe0(uVar10);
|
||||
local_4e0 = 0;
|
||||
}
|
||||
pwVar12 = local_5c0;
|
||||
if (((local_5c0 != (wchar_t *)PTR_DAT_1403440a0) && (local_5c0 != (wchar_t *)0x0)) &&
|
||||
(local_5c0 != (wchar_t *)0x8)) {
|
||||
*(int *)(local_5c0 + -2) = *(int *)(local_5c0 + -2) + 1;
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_488 = 0;
|
||||
}
|
||||
pwVar11 = pwVar12;
|
||||
if (pwVar12 == (wchar_t *)0x0) {
|
||||
pwVar11 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcsncpy(local_2e1,pwVar11,0xf);
|
||||
if (((pwVar12 != (wchar_t *)0x0) && (pwVar12 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar12 + -4 != (wchar_t *)0x0)) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_448 = 0;
|
||||
local_450 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_448 = 1;
|
||||
pwVar11 = pwVar12 + -2;
|
||||
*(int *)pwVar11 = *(int *)pwVar11 + -1;
|
||||
if (*(int *)pwVar11 == 0) {
|
||||
FUN_14016d970(pwVar12 + -4);
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_448 = 0;
|
||||
}
|
||||
pwVar12 = local_5c0;
|
||||
if (((local_5c0 != (wchar_t *)0x0) && (local_5c0 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar11 = local_5c0 + -4, pwVar11 != (wchar_t *)0x0)) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_468 = 0;
|
||||
local_470 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_468 = 1;
|
||||
pwVar12 = pwVar12 + -2;
|
||||
*(int *)pwVar12 = *(int *)pwVar12 + -1;
|
||||
if (*(int *)pwVar12 == 0) {
|
||||
FUN_14016d970(pwVar11);
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_468 = 0;
|
||||
}
|
||||
local_5c0 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
Ordinal_9(local_3d0);
|
||||
uVar9 = FUN_140002290(&local_598,local_3a0,"bcust_id",local_5f8);
|
||||
FUN_140063de0(uVar9,&local_5b0);
|
||||
FUN_14016d8c0();
|
||||
pwVar12 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
|
||||
pwVar12 = pwVar13;
|
||||
}
|
||||
if (local_5b0 != (wchar_t *)PTR_DAT_1403440a0) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_498 = 0;
|
||||
local_4a0 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_498 = 1;
|
||||
if (((pwVar12 != (wchar_t *)0x0) && (pwVar12 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar12 + -4 != (wchar_t *)0x0)) {
|
||||
uVar10 = FUN_14016d8c0();
|
||||
local_4a8 = 0;
|
||||
local_4b0 = uVar10;
|
||||
FUN_14016db50(uVar10);
|
||||
local_4a8 = 1;
|
||||
pwVar11 = pwVar12 + -2;
|
||||
*(int *)pwVar11 = *(int *)pwVar11 + -1;
|
||||
if (*(int *)pwVar11 == 0) {
|
||||
FUN_14016d970(pwVar12 + -4);
|
||||
}
|
||||
FUN_14016dbe0(uVar10);
|
||||
local_4a8 = 0;
|
||||
}
|
||||
pwVar12 = local_5b0;
|
||||
if (((local_5b0 != (wchar_t *)PTR_DAT_1403440a0) && (local_5b0 != (wchar_t *)0x0)) &&
|
||||
(local_5b0 != (wchar_t *)0x8)) {
|
||||
*(int *)(local_5b0 + -2) = *(int *)(local_5b0 + -2) + 1;
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_498 = 0;
|
||||
}
|
||||
pwVar11 = pwVar12;
|
||||
if (pwVar12 == (wchar_t *)0x0) {
|
||||
pwVar11 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcsncpy(local_2c1,pwVar11,0x31);
|
||||
if (((pwVar12 != (wchar_t *)0x0) && (pwVar12 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar12 + -4 != (wchar_t *)0x0)) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_478 = 0;
|
||||
local_480 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_478 = 1;
|
||||
pwVar11 = pwVar12 + -2;
|
||||
*(int *)pwVar11 = *(int *)pwVar11 + -1;
|
||||
if (*(int *)pwVar11 == 0) {
|
||||
FUN_14016d970(pwVar12 + -4);
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_478 = 0;
|
||||
}
|
||||
pwVar12 = local_5b0;
|
||||
if (((local_5b0 != (wchar_t *)0x0) && (local_5b0 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar11 = local_5b0 + -4, pwVar11 != (wchar_t *)0x0)) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_458 = 0;
|
||||
local_460 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_458 = 1;
|
||||
pwVar12 = pwVar12 + -2;
|
||||
*(int *)pwVar12 = *(int *)pwVar12 + -1;
|
||||
if (*(int *)pwVar12 == 0) {
|
||||
FUN_14016d970(pwVar11);
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_458 = 0;
|
||||
}
|
||||
local_5b0 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
Ordinal_9(local_3a0);
|
||||
uVar9 = FUN_140002290(&local_598,local_370,&DAT_1402aa6c8,local_5f8);
|
||||
FUN_140063de0(uVar9,&local_5b8);
|
||||
FUN_14016d8c0();
|
||||
pwVar12 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
|
||||
pwVar12 = pwVar13;
|
||||
}
|
||||
if (local_5b8 != (wchar_t *)PTR_DAT_1403440a0) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_420 = 0;
|
||||
local_428 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_420 = 1;
|
||||
if (((pwVar12 != (wchar_t *)0x0) && (pwVar12 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar12 + -4 != (wchar_t *)0x0)) {
|
||||
uVar10 = FUN_14016d8c0();
|
||||
local_438 = 0;
|
||||
local_440 = uVar10;
|
||||
FUN_14016db50(uVar10);
|
||||
local_438 = 1;
|
||||
pwVar11 = pwVar12 + -2;
|
||||
*(int *)pwVar11 = *(int *)pwVar11 + -1;
|
||||
if (*(int *)pwVar11 == 0) {
|
||||
FUN_14016d970(pwVar12 + -4);
|
||||
}
|
||||
FUN_14016dbe0(uVar10);
|
||||
local_438 = 0;
|
||||
}
|
||||
pwVar12 = local_5b8;
|
||||
if (((local_5b8 != (wchar_t *)PTR_DAT_1403440a0) && (local_5b8 != (wchar_t *)0x0)) &&
|
||||
(local_5b8 != (wchar_t *)0x8)) {
|
||||
*(int *)(local_5b8 + -2) = *(int *)(local_5b8 + -2) + 1;
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_420 = 0;
|
||||
}
|
||||
pwVar11 = pwVar12;
|
||||
if (pwVar12 == (wchar_t *)0x0) {
|
||||
pwVar11 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcsncpy(local_25d,pwVar11,0xfe);
|
||||
if (((pwVar12 != (wchar_t *)0x0) && (pwVar12 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar12 + -4 != (wchar_t *)0x0)) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_4d0 = 0;
|
||||
local_4d8 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_4d0 = 1;
|
||||
pwVar11 = pwVar12 + -2;
|
||||
*(int *)pwVar11 = *(int *)pwVar11 + -1;
|
||||
if (*(int *)pwVar11 == 0) {
|
||||
FUN_14016d970(pwVar12 + -4);
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_4d0 = 0;
|
||||
}
|
||||
pwVar12 = local_5b8;
|
||||
if (((local_5b8 != (wchar_t *)0x0) && (local_5b8 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
||||
(pwVar11 = local_5b8 + -4, pwVar11 != (wchar_t *)0x0)) {
|
||||
uVar9 = FUN_14016d8c0();
|
||||
local_4b8 = 0;
|
||||
local_4c0 = uVar9;
|
||||
FUN_14016db50(uVar9);
|
||||
local_4b8 = 1;
|
||||
pwVar12 = pwVar12 + -2;
|
||||
*(int *)pwVar12 = *(int *)pwVar12 + -1;
|
||||
if (*(int *)pwVar12 == 0) {
|
||||
FUN_14016d970(pwVar11);
|
||||
}
|
||||
FUN_14016dbe0(uVar9);
|
||||
local_4b8 = 0;
|
||||
}
|
||||
local_5b8 = (wchar_t *)PTR_DAT_1403440a0;
|
||||
Ordinal_9(local_370);
|
||||
local_2c9 = local_2c9 & 0xffffffffffff;
|
||||
local_25f = 0;
|
||||
local_61 = 0;
|
||||
riid = (char *)&local_308;
|
||||
ppvObject = (char *)0x2b1;
|
||||
memcpy((void *)((longlong)(int)uVar14 + 0x130 + (longlong)param_1),riid,0x2b1);
|
||||
uVar14 = uVar14 + 0x2b1;
|
||||
uVar15 = (short)pwVar16 + 1;
|
||||
pwVar16 = (wchar_t *)(ulonglong)uVar15;
|
||||
if (50000 < uVar14) {
|
||||
uVar3 = local_5e8._2_6_;
|
||||
local_5e8 = CONCAT62(local_5e8._2_6_,(short)uVar14);
|
||||
uVar9 = local_5e8;
|
||||
riid = (char *)(param_1 + 0x26);
|
||||
local_5e8._4_2_ = SUB62(uVar3,2);
|
||||
local_5e8._6_2_ = SUB62(uVar3,4);
|
||||
((IID *)riid)->Data1 = (undefined4)local_5e8;
|
||||
((IID *)riid)->Data2 = local_5e8._4_2_;
|
||||
((IID *)riid)->Data3 = local_5e8._6_2_;
|
||||
param_1[0x27] = CONCAT26(uVar15,CONCAT24(0x11e,uVar1));
|
||||
iVar5 = FUN_1400a7630(*(undefined8 *)(param_1[0x22] + 0xf0));
|
||||
if (iVar5 == 0) {
|
||||
ppvObject = "DB Result Queue push error";
|
||||
riid = "DBResultQueue_Error.Log";
|
||||
FUN_1400a6d80(param_1[0x23]);
|
||||
}
|
||||
uVar14 = 0x10;
|
||||
pwVar16 = pwVar13;
|
||||
local_5e8 = uVar9;
|
||||
}
|
||||
pIVar2 = local_598;
|
||||
if (local_598 == (IUnknown *)0x0) break;
|
||||
HVar6 = (*local_598->lpVtbl[0xc].QueryInterface)(local_598,(IID *)riid,(void **)ppvObject);
|
||||
if (HVar6 < 0) {
|
||||
_com_issue_errorex(HVar6,pIVar2,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
}
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
FUN_1400a8040(param_1,param_2,0);
|
||||
pIVar2 = local_598;
|
||||
if (local_598 != (IUnknown *)0x0) {
|
||||
local_5c4 = 0;
|
||||
UVar7 = (*local_598->lpVtbl[0x12].AddRef)(local_598);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
pIVar2 = local_598;
|
||||
if (local_5c4 != 0) {
|
||||
if (local_598 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
UVar7 = (*local_598->lpVtbl[10].Release)(local_598);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
}
|
||||
if (local_598 != (IUnknown *)0x0) {
|
||||
(*local_598->lpVtbl->Release)(local_598);
|
||||
local_598 = (IUnknown *)0x0;
|
||||
}
|
||||
}
|
||||
local_530 = 0;
|
||||
local_528 = &DAT_14029e010;
|
||||
local_540 = &DAT_14029e010;
|
||||
local_538 = 0;
|
||||
local_548 = 0;
|
||||
Ordinal_9(local_560);
|
||||
Ordinal_9(local_578);
|
||||
if (local_590 != (longlong *)0x0) {
|
||||
(**(code **)(*local_590 + 0x10))();
|
||||
}
|
||||
if (local_598 != (IUnknown *)0x0) {
|
||||
(*local_598->lpVtbl->Release)(local_598);
|
||||
}
|
||||
if (local_5d0 != (longlong *)0x0) {
|
||||
(**(code **)(*local_5d0 + 0x10))();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue