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
609
decomp/DBCServer_Release_x64/full/functions/0x1400ea420.c
Normal file
609
decomp/DBCServer_Release_x64/full/functions/0x1400ea420.c
Normal file
|
|
@ -0,0 +1,609 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400ea420 FUN_1400ea420
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
IID * FUN_1400ea420(undefined8 *param_1,undefined8 *param_2)
|
||||
|
||||
{
|
||||
uchar *puVar1;
|
||||
undefined4 *puVar2;
|
||||
IUnknown *pIVar3;
|
||||
undefined6 uVar4;
|
||||
IUnknown *This;
|
||||
int iVar5;
|
||||
HRESULT HVar6;
|
||||
ULONG UVar7;
|
||||
undefined8 *puVar8;
|
||||
IID *pIVar9;
|
||||
longlong lVar10;
|
||||
longlong *plVar11;
|
||||
undefined8 uVar12;
|
||||
undefined8 uVar13;
|
||||
IID *pIVar14;
|
||||
char *riid;
|
||||
IID *pIVar15;
|
||||
char *ppvObject;
|
||||
uint uVar16;
|
||||
undefined1 auStackY_328 [32];
|
||||
char local_2e8 [4];
|
||||
int local_2e4;
|
||||
uint local_2e0;
|
||||
short local_2dc;
|
||||
short local_2d8;
|
||||
longlong *local_2d0;
|
||||
int local_2c8;
|
||||
undefined8 local_2c0;
|
||||
undefined4 local_2b8;
|
||||
undefined2 uStack_2b4;
|
||||
undefined2 uStack_2b2;
|
||||
undefined6 uStack_2b0;
|
||||
undefined2 uStack_2aa;
|
||||
undefined6 uStack_2a8;
|
||||
short local_2a2;
|
||||
IID *local_2a0;
|
||||
undefined8 *local_298;
|
||||
IID *local_290;
|
||||
LPUNKNOWN local_288;
|
||||
longlong *local_280;
|
||||
IUnknown *local_278;
|
||||
longlong *local_270;
|
||||
undefined4 local_268;
|
||||
undefined1 local_258 [24];
|
||||
undefined1 local_240 [24];
|
||||
undefined4 local_228;
|
||||
undefined1 *local_220;
|
||||
undefined4 local_218;
|
||||
undefined8 local_210;
|
||||
undefined1 *local_208;
|
||||
undefined8 *local_1f8;
|
||||
IID *local_1f0;
|
||||
longlong *local_1e8;
|
||||
undefined8 local_1e0;
|
||||
undefined1 local_1d8;
|
||||
undefined8 local_1d0;
|
||||
undefined1 local_1c8;
|
||||
undefined8 local_1c0;
|
||||
undefined1 local_1b8;
|
||||
undefined8 local_1b0;
|
||||
undefined1 local_1a8;
|
||||
undefined8 local_1a0;
|
||||
undefined1 local_198;
|
||||
undefined8 local_190;
|
||||
undefined1 local_188;
|
||||
undefined8 local_180;
|
||||
undefined1 local_178;
|
||||
undefined8 local_170;
|
||||
undefined1 local_168;
|
||||
IID *local_160 [2];
|
||||
undefined4 local_150;
|
||||
undefined4 uStack_14c;
|
||||
undefined4 uStack_148;
|
||||
undefined4 uStack_144;
|
||||
undefined1 local_140 [8];
|
||||
undefined8 local_138;
|
||||
undefined4 local_128;
|
||||
undefined4 uStack_124;
|
||||
undefined4 uStack_120;
|
||||
undefined4 uStack_11c;
|
||||
undefined1 local_110 [24];
|
||||
undefined1 local_f8 [24];
|
||||
undefined1 local_e0 [24];
|
||||
longlong local_c8 [3];
|
||||
undefined1 local_b0 [24];
|
||||
undefined8 local_98;
|
||||
undefined8 uStack_90;
|
||||
undefined4 local_88;
|
||||
undefined4 uStack_84;
|
||||
undefined8 uStack_80;
|
||||
undefined8 local_78;
|
||||
undefined8 uStack_70;
|
||||
undefined8 local_68;
|
||||
ushort uStack_60;
|
||||
undefined2 uStack_5e;
|
||||
undefined4 uStack_5c;
|
||||
undefined4 uStack_58;
|
||||
undefined8 uStack_54;
|
||||
undefined4 uStack_4c;
|
||||
undefined4 uStack_48;
|
||||
undefined4 local_44;
|
||||
ushort uStack_40;
|
||||
undefined2 uStack_3e;
|
||||
ulonglong local_38;
|
||||
|
||||
local_138 = 0xfffffffffffffffe;
|
||||
local_38 = DAT_1403463c0 ^ (ulonglong)auStackY_328;
|
||||
pIVar15 = (IID *)0x0;
|
||||
local_2d0 = (longlong *)0x0;
|
||||
local_298 = param_1;
|
||||
local_1f8 = param_2;
|
||||
iVar5 = FUN_140001990(&local_2d0);
|
||||
if ((iVar5 < 0) && (iVar5 != -0x7fffbffe)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(iVar5);
|
||||
}
|
||||
local_278 = (IUnknown *)0x0;
|
||||
local_270 = (longlong *)0x0;
|
||||
Ordinal_8(local_258);
|
||||
Ordinal_8(local_240);
|
||||
pIVar3 = local_278;
|
||||
if ((local_278 != (IUnknown *)0x0) && (local_278 = (IUnknown *)0x0, pIVar3 != (IUnknown *)0x0)) {
|
||||
(*pIVar3->lpVtbl->Release)(pIVar3);
|
||||
}
|
||||
local_208 = &DAT_14029e010;
|
||||
local_220 = &DAT_14029e010;
|
||||
local_218 = 0;
|
||||
local_210 = 0;
|
||||
if (local_278 != (IUnknown *)0x0) {
|
||||
(*local_278->lpVtbl->Release)(local_278);
|
||||
}
|
||||
HVar6 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0,
|
||||
&local_288);
|
||||
if (HVar6 < 0) {
|
||||
LAB_1400ea599:
|
||||
local_278 = (IUnknown *)0x0;
|
||||
}
|
||||
else {
|
||||
HVar6 = OleRun(local_288);
|
||||
if (-1 < HVar6) {
|
||||
HVar6 = (*local_288->lpVtbl->QueryInterface)(local_288,(IID *)&DAT_14029e078,&local_278);
|
||||
}
|
||||
(*local_288->lpVtbl->Release)(local_288);
|
||||
if (HVar6 < 0) goto LAB_1400ea599;
|
||||
}
|
||||
local_228 = 2;
|
||||
local_268 = 1;
|
||||
local_2e8[0] = '\x01';
|
||||
local_2b8 = *(undefined4 *)(param_2 + 1);
|
||||
local_2c0._4_4_ = (undefined4)((ulonglong)*param_2 >> 0x20);
|
||||
local_2c0._0_4_ = CONCAT22(0x23c8,(short)*param_2);
|
||||
uStack_2b4 = 0x85;
|
||||
uStack_2b2 = (undefined2)*(undefined8 *)((longlong)param_2 + 0xe);
|
||||
uStack_2b0 = (undefined6)((ulonglong)*(undefined8 *)((longlong)param_2 + 0xe) >> 0x10);
|
||||
uStack_2aa = (undefined2)*(undefined8 *)((longlong)param_2 + 0x16);
|
||||
uStack_2a8 = (undefined6)((ulonglong)*(undefined8 *)((longlong)param_2 + 0x16) >> 0x10);
|
||||
local_2e4 = 0;
|
||||
local_2a2 = 0;
|
||||
uVar16 = 0x20;
|
||||
local_2e0 = 0x20;
|
||||
pIVar3 = *(IUnknown **)*param_1;
|
||||
if (pIVar3 != (IUnknown *)0x0) {
|
||||
local_2c8 = 0;
|
||||
UVar7 = (*pIVar3->lpVtbl[0xb].AddRef)(pIVar3);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar3,(_GUID *)&DAT_14029e018);
|
||||
}
|
||||
if (local_2c8 != 0) goto LAB_1400ea798;
|
||||
}
|
||||
iVar5 = FUN_1400a80c0(param_1);
|
||||
if (iVar5 == 0) {
|
||||
FUN_1400a8040(param_1,param_2,0);
|
||||
pIVar3 = local_278;
|
||||
if (local_278 != (IUnknown *)0x0) {
|
||||
local_2e4 = 0;
|
||||
UVar7 = (*local_278->lpVtbl[0x12].AddRef)(local_278);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar3,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
pIVar3 = local_278;
|
||||
if (local_2e4 != 0) {
|
||||
if (local_278 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
UVar7 = (*local_278->lpVtbl[10].Release)(local_278);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar3,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
}
|
||||
if (local_278 != (IUnknown *)0x0) {
|
||||
(*local_278->lpVtbl->Release)(local_278);
|
||||
local_278 = (IUnknown *)0x0;
|
||||
}
|
||||
}
|
||||
local_210 = 0;
|
||||
local_208 = &DAT_14029e010;
|
||||
local_220 = &DAT_14029e010;
|
||||
local_218 = 0;
|
||||
local_228 = 0;
|
||||
Ordinal_9(local_240);
|
||||
Ordinal_9(local_258);
|
||||
if (local_270 != (longlong *)0x0) {
|
||||
(**(code **)(*local_270 + 0x10))();
|
||||
}
|
||||
if (local_278 != (IUnknown *)0x0) {
|
||||
(*local_278->lpVtbl->Release)(local_278);
|
||||
}
|
||||
if (local_2d0 != (longlong *)0x0) {
|
||||
(**(code **)(*local_2d0 + 0x10))();
|
||||
}
|
||||
return (IID *)0x0;
|
||||
}
|
||||
LAB_1400ea798:
|
||||
puVar8 = (undefined8 *)FUN_140001f40(*param_1,&local_1e8);
|
||||
FUN_140001700(&local_2d0,*puVar8,"dbo.up_get_guild_increase_exp");
|
||||
if (local_1e8 != (longlong *)0x0) {
|
||||
(**(code **)(*local_1e8 + 0x10))();
|
||||
}
|
||||
local_280 = local_c8;
|
||||
local_128 = *(undefined4 *)((longlong)param_2 + 0xe);
|
||||
uStack_124 = *(undefined4 *)((longlong)param_2 + 0x12);
|
||||
uStack_120 = *(undefined4 *)((longlong)param_2 + 0x16);
|
||||
uStack_11c = *(undefined4 *)((longlong)param_2 + 0x1a);
|
||||
FUN_140063820(local_c8,&local_128);
|
||||
pIVar9 = operator_new(0x18);
|
||||
local_160[0] = pIVar15;
|
||||
local_1f0 = pIVar9;
|
||||
if (pIVar9 != (IID *)0x0) {
|
||||
pIVar9->Data4[0] = '\0';
|
||||
pIVar9->Data4[1] = '\0';
|
||||
pIVar9->Data4[2] = '\0';
|
||||
pIVar9->Data4[3] = '\0';
|
||||
pIVar9->Data4[4] = '\0';
|
||||
pIVar9->Data4[5] = '\0';
|
||||
pIVar9->Data4[6] = '\0';
|
||||
pIVar9->Data4[7] = '\0';
|
||||
pIVar9[1].Data1 = 1;
|
||||
lVar10 = FUN_1402182d0("guild_id");
|
||||
pIVar9->Data1 = (int)lVar10;
|
||||
pIVar9->Data2 = (short)((ulonglong)lVar10 >> 0x20);
|
||||
pIVar9->Data3 = (short)((ulonglong)lVar10 >> 0x30);
|
||||
local_160[0] = pIVar9;
|
||||
}
|
||||
if (local_160[0] == (IID *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x8007000e);
|
||||
}
|
||||
plVar11 = (longlong *)FUN_140001870(&local_2d0,local_140,local_160,0xca);
|
||||
local_280 = plVar11;
|
||||
if (local_2d0 == (longlong *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
puVar8 = (undefined8 *)FUN_140001650(local_2d0,&local_1f0);
|
||||
pIVar3 = (IUnknown *)*puVar8;
|
||||
if (pIVar3 != (IUnknown *)0x0) {
|
||||
UVar7 = (*pIVar3->lpVtbl[3].AddRef)(pIVar3);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar3,(_GUID *)&DAT_14029dfc0);
|
||||
}
|
||||
if (local_1f0 != (IID *)0x0) {
|
||||
(**(code **)(*(longlong *)local_1f0 + 0x10))();
|
||||
}
|
||||
if ((longlong *)*plVar11 != (longlong *)0x0) {
|
||||
(**(code **)(*(longlong *)*plVar11 + 0x10))();
|
||||
}
|
||||
puVar8 = (undefined8 *)FUN_1400016c0(&local_2d0,&local_280);
|
||||
This = local_278;
|
||||
pIVar3 = (IUnknown *)*puVar8;
|
||||
if (local_278 != pIVar3) {
|
||||
local_278 = pIVar3;
|
||||
if (pIVar3 != (IUnknown *)0x0) {
|
||||
(*pIVar3->lpVtbl->AddRef)(pIVar3);
|
||||
}
|
||||
if (This != (IUnknown *)0x0) {
|
||||
(*This->lpVtbl->Release)(This);
|
||||
}
|
||||
}
|
||||
if (local_280 != (longlong *)0x0) {
|
||||
(**(code **)(*local_280 + 0x10))();
|
||||
}
|
||||
pIVar3 = local_278;
|
||||
if (local_278 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
local_2d8 = 0;
|
||||
UVar7 = (*local_278->lpVtbl[6].Release)(local_278);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar3,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
if (local_2d8 == -1) {
|
||||
uStack_2b4 = 0x86;
|
||||
pIVar15 = (IID *)0x0;
|
||||
}
|
||||
else {
|
||||
while( true ) {
|
||||
pIVar3 = local_278;
|
||||
if (local_278 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
local_2dc = 0;
|
||||
UVar7 = (*local_278->lpVtbl[6].Release)(local_278);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar3,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
if (local_2dc == -1) break;
|
||||
local_98 = 0;
|
||||
uStack_90 = 0;
|
||||
local_88 = 0;
|
||||
memset(&uStack_84,0,0x28);
|
||||
uStack_5c = 0;
|
||||
uStack_58 = 0;
|
||||
uStack_54 = 0;
|
||||
uStack_4c = 0;
|
||||
uStack_48 = 0;
|
||||
local_44 = 0;
|
||||
uStack_40 = 0;
|
||||
uStack_3e = 0;
|
||||
uVar12 = FUN_140002290(&local_278,local_f8,"character_id",local_2e8);
|
||||
FUN_140063b70(uVar12,&local_150);
|
||||
local_98 = CONCAT44(uStack_14c,local_150);
|
||||
uStack_90 = CONCAT44(uStack_144,uStack_148);
|
||||
Ordinal_9(local_f8);
|
||||
uVar12 = FUN_140002290(&local_278,local_110,&DAT_1402ab9d0,local_2e8);
|
||||
FUN_140199590(uVar12);
|
||||
local_88 = FUN_140063af0(uVar12);
|
||||
Ordinal_9(local_110);
|
||||
uVar12 = FUN_140002290(&local_278,local_e0,&DAT_1402a5b5c,local_2e8);
|
||||
FUN_140063de0(uVar12,&local_2a0);
|
||||
FUN_14016d8c0();
|
||||
pIVar9 = (IID *)PTR_DAT_1403440a0;
|
||||
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
|
||||
pIVar9 = pIVar15;
|
||||
}
|
||||
if (local_2a0 != (IID *)PTR_DAT_1403440a0) {
|
||||
uVar12 = FUN_14016d8c0();
|
||||
local_188 = 0;
|
||||
local_190 = uVar12;
|
||||
FUN_14016db50(uVar12);
|
||||
local_188 = 1;
|
||||
if (((pIVar9 != (IID *)0x0) && (pIVar9 != (IID *)PTR_DAT_1403440a0)) &&
|
||||
(pIVar9[-1].Data4 != (uchar *)0x0)) {
|
||||
uVar13 = FUN_14016d8c0();
|
||||
local_1c8 = 0;
|
||||
local_1d0 = uVar13;
|
||||
FUN_14016db50(uVar13);
|
||||
local_1c8 = 1;
|
||||
puVar1 = pIVar9[-1].Data4 + 4;
|
||||
*(int *)puVar1 = *(int *)puVar1 + -1;
|
||||
if (*(int *)puVar1 == 0) {
|
||||
FUN_14016d970(pIVar9[-1].Data4);
|
||||
}
|
||||
FUN_14016dbe0(uVar13);
|
||||
local_1c8 = 0;
|
||||
}
|
||||
pIVar9 = local_2a0;
|
||||
if (((local_2a0 != (IID *)PTR_DAT_1403440a0) && (local_2a0 != (IID *)0x0)) &&
|
||||
(local_2a0 != (IID *)0x8)) {
|
||||
*(int *)(local_2a0[-1].Data4 + 4) = *(int *)(local_2a0[-1].Data4 + 4) + 1;
|
||||
}
|
||||
FUN_14016dbe0(uVar12);
|
||||
local_188 = 0;
|
||||
}
|
||||
pIVar14 = pIVar9;
|
||||
if (pIVar9 == (IID *)0x0) {
|
||||
pIVar14 = (IID *)PTR_DAT_1403440a0;
|
||||
}
|
||||
wcsncpy((wchar_t *)&uStack_84,(wchar_t *)pIVar14,0x13);
|
||||
if (((pIVar9 != (IID *)0x0) && (pIVar9 != (IID *)PTR_DAT_1403440a0)) &&
|
||||
(pIVar9[-1].Data4 != (uchar *)0x0)) {
|
||||
uVar12 = FUN_14016d8c0();
|
||||
local_1a8 = 0;
|
||||
local_1b0 = uVar12;
|
||||
FUN_14016db50(uVar12);
|
||||
local_1a8 = 1;
|
||||
puVar1 = pIVar9[-1].Data4 + 4;
|
||||
*(int *)puVar1 = *(int *)puVar1 + -1;
|
||||
if (*(int *)puVar1 == 0) {
|
||||
FUN_14016d970(pIVar9[-1].Data4);
|
||||
}
|
||||
FUN_14016dbe0(uVar12);
|
||||
local_1a8 = 0;
|
||||
}
|
||||
pIVar9 = local_2a0;
|
||||
if (((local_2a0 != (IID *)0x0) && (local_2a0 != (IID *)PTR_DAT_1403440a0)) &&
|
||||
(pIVar14 = local_2a0 + -1, pIVar14->Data4 != (uchar *)0x0)) {
|
||||
uVar12 = FUN_14016d8c0();
|
||||
local_168 = 0;
|
||||
local_170 = uVar12;
|
||||
FUN_14016db50(uVar12);
|
||||
local_168 = 1;
|
||||
puVar1 = pIVar9[-1].Data4 + 4;
|
||||
*(int *)puVar1 = *(int *)puVar1 + -1;
|
||||
if (*(int *)puVar1 == 0) {
|
||||
FUN_14016d970(pIVar14->Data4);
|
||||
}
|
||||
FUN_14016dbe0(uVar12);
|
||||
local_168 = 0;
|
||||
}
|
||||
local_2a0 = (IID *)PTR_DAT_1403440a0;
|
||||
Ordinal_9(local_e0);
|
||||
uVar12 = FUN_140002290(&local_278,local_b0,"character_name",local_2e8);
|
||||
FUN_140063de0(uVar12,&local_290);
|
||||
FUN_14016d8c0();
|
||||
pIVar9 = (IID *)PTR_DAT_1403440a0;
|
||||
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
|
||||
pIVar9 = pIVar15;
|
||||
}
|
||||
if (local_290 != (IID *)PTR_DAT_1403440a0) {
|
||||
uVar12 = FUN_14016d8c0();
|
||||
local_1b8 = 0;
|
||||
local_1c0 = uVar12;
|
||||
FUN_14016db50(uVar12);
|
||||
local_1b8 = 1;
|
||||
if (((pIVar9 != (IID *)0x0) && (pIVar9 != (IID *)PTR_DAT_1403440a0)) &&
|
||||
(pIVar9[-1].Data4 != (uchar *)0x0)) {
|
||||
uVar13 = FUN_14016d8c0();
|
||||
local_1d8 = 0;
|
||||
local_1e0 = uVar13;
|
||||
FUN_14016db50(uVar13);
|
||||
local_1d8 = 1;
|
||||
puVar1 = pIVar9[-1].Data4 + 4;
|
||||
*(int *)puVar1 = *(int *)puVar1 + -1;
|
||||
if (*(int *)puVar1 == 0) {
|
||||
FUN_14016d970(pIVar9[-1].Data4);
|
||||
}
|
||||
FUN_14016dbe0(uVar13);
|
||||
local_1d8 = 0;
|
||||
}
|
||||
pIVar9 = local_290;
|
||||
if (((local_290 != (IID *)PTR_DAT_1403440a0) && (local_290 != (IID *)0x0)) &&
|
||||
(local_290 != (IID *)0x8)) {
|
||||
*(int *)(local_290[-1].Data4 + 4) = *(int *)(local_290[-1].Data4 + 4) + 1;
|
||||
}
|
||||
FUN_14016dbe0(uVar12);
|
||||
local_1b8 = 0;
|
||||
}
|
||||
riid = (char *)pIVar9;
|
||||
if (pIVar9 == (IID *)0x0) {
|
||||
riid = PTR_DAT_1403440a0;
|
||||
}
|
||||
ppvObject = (char *)0xf;
|
||||
wcsncpy((wchar_t *)&uStack_5c,(wchar_t *)riid,0xf);
|
||||
if (((pIVar9 != (IID *)0x0) && (pIVar9 != (IID *)PTR_DAT_1403440a0)) &&
|
||||
(pIVar9[-1].Data4 != (uchar *)0x0)) {
|
||||
uVar12 = FUN_14016d8c0();
|
||||
local_198 = 0;
|
||||
local_1a0 = uVar12;
|
||||
FUN_14016db50(uVar12);
|
||||
local_198 = 1;
|
||||
puVar1 = pIVar9[-1].Data4 + 4;
|
||||
*(int *)puVar1 = *(int *)puVar1 + -1;
|
||||
if (*(int *)puVar1 == 0) {
|
||||
FUN_14016d970(pIVar9[-1].Data4);
|
||||
}
|
||||
FUN_14016dbe0(uVar12);
|
||||
local_198 = 0;
|
||||
}
|
||||
pIVar9 = local_290;
|
||||
if (((local_290 != (IID *)0x0) && (local_290 != (IID *)PTR_DAT_1403440a0)) &&
|
||||
(pIVar14 = local_290 + -1, pIVar14->Data4 != (uchar *)0x0)) {
|
||||
uVar12 = FUN_14016d8c0();
|
||||
local_178 = 0;
|
||||
local_180 = uVar12;
|
||||
FUN_14016db50(uVar12);
|
||||
local_178 = 1;
|
||||
puVar1 = pIVar9[-1].Data4 + 4;
|
||||
*(int *)puVar1 = *(int *)puVar1 + -1;
|
||||
if (*(int *)puVar1 == 0) {
|
||||
FUN_14016d970(pIVar14->Data4);
|
||||
}
|
||||
FUN_14016dbe0(uVar12);
|
||||
local_178 = 0;
|
||||
}
|
||||
local_290 = (IID *)PTR_DAT_1403440a0;
|
||||
Ordinal_9(local_b0);
|
||||
uStack_5e = 0;
|
||||
uStack_3e = 0;
|
||||
lVar10 = (longlong)(int)uVar16;
|
||||
puVar8 = (undefined8 *)(lVar10 + 0x130 + (longlong)param_1);
|
||||
*puVar8 = local_98;
|
||||
puVar8[1] = uStack_90;
|
||||
puVar8 = (undefined8 *)(lVar10 + 0x140 + (longlong)param_1);
|
||||
*puVar8 = CONCAT44(uStack_84,local_88);
|
||||
puVar8[1] = uStack_80;
|
||||
puVar8 = (undefined8 *)(lVar10 + 0x150 + (longlong)param_1);
|
||||
*puVar8 = local_78;
|
||||
puVar8[1] = uStack_70;
|
||||
puVar8 = (undefined8 *)(lVar10 + 0x160 + (longlong)param_1);
|
||||
*puVar8 = local_68;
|
||||
puVar8[1] = CONCAT44(uStack_5c,(uint)uStack_60);
|
||||
puVar2 = (undefined4 *)(lVar10 + 0x170 + (longlong)param_1);
|
||||
*puVar2 = uStack_58;
|
||||
puVar2[1] = (undefined4)uStack_54;
|
||||
puVar2[2] = uStack_54._4_4_;
|
||||
puVar2[3] = uStack_4c;
|
||||
*(ulonglong *)(lVar10 + 0x180 + (longlong)param_1) = CONCAT44(local_44,uStack_48);
|
||||
*(uint *)(lVar10 + 0x188 + (longlong)param_1) = (uint)uStack_40;
|
||||
local_2e0 = uVar16 + 0x5c;
|
||||
local_2a2 = (short)local_2e4 + 1;
|
||||
local_2e4 = CONCAT22((short)((uint)local_2e4 >> 0x10),local_2a2);
|
||||
if (50000 < local_2e0) {
|
||||
uVar4 = local_2c0._2_6_;
|
||||
local_2c0 = CONCAT62(local_2c0._2_6_,(short)local_2e0);
|
||||
uVar12 = local_2c0;
|
||||
riid = (char *)(param_1 + 0x26);
|
||||
local_2c0._4_2_ = SUB62(uVar4,2);
|
||||
local_2c0._6_2_ = SUB62(uVar4,4);
|
||||
((IID *)riid)->Data1 = (undefined4)local_2c0;
|
||||
((IID *)riid)->Data2 = local_2c0._4_2_;
|
||||
((IID *)riid)->Data3 = local_2c0._6_2_;
|
||||
param_1[0x27] = CONCAT26(uStack_2b2,CONCAT24(uStack_2b4,local_2b8));
|
||||
param_1[0x28] = CONCAT26(uStack_2aa,uStack_2b0);
|
||||
param_1[0x29] = CONCAT26(local_2a2,uStack_2a8);
|
||||
local_2c0 = uVar12;
|
||||
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]);
|
||||
}
|
||||
local_2e0 = 0x20;
|
||||
local_2e4 = 0;
|
||||
local_2a2 = 0;
|
||||
}
|
||||
pIVar3 = local_278;
|
||||
uVar16 = local_2e0;
|
||||
if (local_278 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
HVar6 = (*local_278->lpVtbl[0xc].QueryInterface)(local_278,(IID *)riid,(void **)ppvObject);
|
||||
if (HVar6 < 0) {
|
||||
_com_issue_errorex(HVar6,pIVar3,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
}
|
||||
if (local_2e8[0] == '\0') {
|
||||
uStack_2b4 = 0x87;
|
||||
}
|
||||
else {
|
||||
pIVar15 = (IID *)0x1;
|
||||
}
|
||||
}
|
||||
local_2c0 = CONCAT62(local_2c0._2_6_,(short)uVar16);
|
||||
param_1[0x26] = local_2c0;
|
||||
param_1[0x27] = CONCAT26(uStack_2b2,CONCAT24(uStack_2b4,local_2b8));
|
||||
param_1[0x28] = CONCAT26(uStack_2aa,uStack_2b0);
|
||||
param_1[0x29] = CONCAT26(local_2a2,uStack_2a8);
|
||||
iVar5 = FUN_1400a7630(*(undefined8 *)(param_1[0x22] + 0xf0));
|
||||
if (iVar5 == 0) {
|
||||
FUN_1400a6d80(param_1[0x23],"DBResultQueue_Error.Log","DB Result Queue push error");
|
||||
}
|
||||
pIVar3 = local_278;
|
||||
if (local_278 != (IUnknown *)0x0) {
|
||||
local_2e0 = 0;
|
||||
UVar7 = (*local_278->lpVtbl[0x12].AddRef)(local_278);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar3,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
pIVar3 = local_278;
|
||||
if (local_2e0 != 0) {
|
||||
if (local_278 == (IUnknown *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
UVar7 = (*local_278->lpVtbl[10].Release)(local_278);
|
||||
if ((int)UVar7 < 0) {
|
||||
_com_issue_errorex(UVar7,pIVar3,(_GUID *)&DAT_14029e038);
|
||||
}
|
||||
}
|
||||
if (local_278 != (IUnknown *)0x0) {
|
||||
(*local_278->lpVtbl->Release)(local_278);
|
||||
local_278 = (IUnknown *)0x0;
|
||||
}
|
||||
}
|
||||
local_210 = 0;
|
||||
local_208 = &DAT_14029e010;
|
||||
local_220 = &DAT_14029e010;
|
||||
local_218 = 0;
|
||||
local_228 = 0;
|
||||
Ordinal_9(local_240);
|
||||
Ordinal_9(local_258);
|
||||
if (local_270 != (longlong *)0x0) {
|
||||
(**(code **)(*local_270 + 0x10))();
|
||||
}
|
||||
if (local_278 != (IUnknown *)0x0) {
|
||||
(*local_278->lpVtbl->Release)(local_278);
|
||||
}
|
||||
if (local_2d0 != (longlong *)0x0) {
|
||||
(**(code **)(*local_2d0 + 0x10))();
|
||||
}
|
||||
return pIVar15;
|
||||
}
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140218220(0x80004003);
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue