976 lines
33 KiB
C
976 lines
33 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1400df560 FUN_1400df560
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
|
|
wchar_t * FUN_1400df560(undefined8 *param_1,undefined8 *param_2)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
IUnknown *pIVar2;
|
|
IUnknown *This;
|
|
undefined2 uVar3;
|
|
ULONG UVar4;
|
|
int iVar5;
|
|
HRESULT HVar6;
|
|
undefined8 *puVar7;
|
|
wchar_t *pwVar8;
|
|
longlong lVar9;
|
|
undefined4 *puVar10;
|
|
longlong *plVar11;
|
|
undefined8 uVar12;
|
|
undefined8 uVar13;
|
|
wchar_t *pwVar14;
|
|
wchar_t *pwVar15;
|
|
undefined1 auStackY_8c8 [32];
|
|
char local_888 [8];
|
|
longlong *local_880;
|
|
short local_878;
|
|
int local_874;
|
|
wchar_t *local_870;
|
|
wchar_t *local_868;
|
|
undefined8 *local_860;
|
|
wchar_t *local_858;
|
|
wchar_t *local_850;
|
|
wchar_t *local_848;
|
|
wchar_t *local_840;
|
|
wchar_t *local_838;
|
|
wchar_t *local_830;
|
|
wchar_t *local_828;
|
|
LPUNKNOWN local_820;
|
|
wchar_t *local_818 [2];
|
|
IUnknown *local_808;
|
|
longlong *local_800;
|
|
undefined4 local_7f8;
|
|
undefined1 local_7e8 [24];
|
|
undefined1 local_7d0 [24];
|
|
undefined4 local_7b8;
|
|
undefined1 *local_7b0;
|
|
undefined4 local_7a8;
|
|
undefined8 local_7a0;
|
|
undefined1 *local_798;
|
|
undefined8 *local_788;
|
|
undefined8 *local_780;
|
|
wchar_t *local_778;
|
|
longlong *local_770;
|
|
longlong local_768;
|
|
undefined2 local_760;
|
|
wchar_t local_750 [4];
|
|
undefined2 local_748;
|
|
longlong *local_738;
|
|
wchar_t *local_730;
|
|
wchar_t *local_728;
|
|
longlong *local_720;
|
|
wchar_t *local_718;
|
|
wchar_t *local_710;
|
|
longlong *local_708;
|
|
longlong *local_700;
|
|
longlong *local_6f8;
|
|
wchar_t *local_6f0;
|
|
wchar_t *local_6e8;
|
|
longlong *local_6e0;
|
|
longlong *local_6d8;
|
|
wchar_t *local_6d0;
|
|
wchar_t *local_6c8;
|
|
longlong *local_6c0;
|
|
undefined8 local_6b8;
|
|
undefined1 local_6b0;
|
|
undefined8 local_6a8;
|
|
undefined1 local_6a0;
|
|
undefined8 local_698;
|
|
undefined1 local_690;
|
|
undefined8 local_688;
|
|
undefined1 local_680;
|
|
undefined8 local_678;
|
|
undefined1 local_670;
|
|
undefined8 local_668;
|
|
undefined1 local_660;
|
|
undefined8 local_658;
|
|
undefined1 local_650;
|
|
undefined8 local_648;
|
|
undefined1 local_640;
|
|
undefined8 local_638;
|
|
undefined1 local_630;
|
|
undefined8 local_628;
|
|
undefined1 local_620;
|
|
undefined8 local_618;
|
|
undefined1 local_610;
|
|
undefined8 local_608;
|
|
undefined1 local_600;
|
|
undefined8 local_5f8;
|
|
undefined8 local_5f0;
|
|
undefined8 local_5e8;
|
|
undefined8 local_5e0;
|
|
wchar_t local_5d8 [12];
|
|
wchar_t local_5c0 [16];
|
|
undefined8 local_5a0;
|
|
undefined1 local_598 [16];
|
|
undefined4 local_588;
|
|
undefined4 uStack_584;
|
|
undefined4 uStack_580;
|
|
undefined4 uStack_57c;
|
|
undefined4 local_568;
|
|
undefined4 uStack_564;
|
|
undefined4 uStack_560;
|
|
undefined4 uStack_55c;
|
|
wchar_t local_558 [12];
|
|
undefined1 local_540 [24];
|
|
wchar_t local_528 [12];
|
|
undefined1 local_510 [24];
|
|
wchar_t local_4f8 [12];
|
|
undefined1 local_4e0 [24];
|
|
undefined1 local_4c8 [24];
|
|
undefined1 local_4b0 [24];
|
|
undefined1 local_498 [24];
|
|
undefined1 local_480 [24];
|
|
undefined1 local_468 [24];
|
|
undefined1 local_450 [24];
|
|
wchar_t local_438 [12];
|
|
undefined1 local_420 [24];
|
|
undefined1 local_408 [24];
|
|
undefined1 local_3f0 [24];
|
|
undefined1 local_3d8 [24];
|
|
undefined1 local_3c0 [24];
|
|
undefined1 local_3a8 [24];
|
|
undefined1 local_390 [24];
|
|
undefined4 local_378;
|
|
undefined4 uStack_374;
|
|
undefined4 local_370;
|
|
undefined2 local_36c;
|
|
undefined8 local_36a;
|
|
undefined8 local_362;
|
|
wchar_t local_35a [19];
|
|
undefined2 local_334;
|
|
undefined8 local_332;
|
|
undefined8 local_32a;
|
|
undefined8 local_322;
|
|
undefined4 local_31a;
|
|
undefined4 local_316;
|
|
undefined2 local_312;
|
|
wchar_t local_310 [99];
|
|
undefined2 local_24a;
|
|
wchar_t local_248 [199];
|
|
undefined2 local_ba;
|
|
undefined2 auStack_b8 [8];
|
|
undefined2 local_a8;
|
|
undefined2 local_a6;
|
|
undefined2 local_a4;
|
|
undefined1 local_a2;
|
|
undefined4 local_a1;
|
|
wchar_t local_9d [12];
|
|
ulonglong local_85;
|
|
undefined4 local_7d;
|
|
char local_78 [64];
|
|
ulonglong local_38;
|
|
|
|
local_5a0 = 0xfffffffffffffffe;
|
|
local_38 = DAT_1403463c0 ^ (ulonglong)auStackY_8c8;
|
|
pIVar2 = *(IUnknown **)*param_1;
|
|
pwVar15 = (wchar_t *)0x0;
|
|
local_860 = param_1;
|
|
local_788 = param_2;
|
|
local_780 = param_1;
|
|
if (pIVar2 == (IUnknown *)0x0) {
|
|
LAB_1400df5ff:
|
|
iVar5 = FUN_1400a80c0(param_1);
|
|
if (iVar5 == 0) {
|
|
FUN_1400a8040(param_1,param_2,0);
|
|
return (wchar_t *)0x0;
|
|
}
|
|
}
|
|
else {
|
|
local_874 = 0;
|
|
UVar4 = (*pIVar2->lpVtbl[0xb].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029e018);
|
|
}
|
|
if (local_874 == 0) goto LAB_1400df5ff;
|
|
}
|
|
local_880 = (longlong *)0x0;
|
|
iVar5 = FUN_140001990(&local_880);
|
|
if ((iVar5 < 0) && (iVar5 != -0x7fffbffe)) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(iVar5);
|
|
}
|
|
local_808 = (IUnknown *)0x0;
|
|
local_800 = (longlong *)0x0;
|
|
Ordinal_8(local_7e8);
|
|
Ordinal_8(local_7d0);
|
|
pIVar2 = local_808;
|
|
if ((local_808 != (IUnknown *)0x0) && (local_808 = (IUnknown *)0x0, pIVar2 != (IUnknown *)0x0)) {
|
|
(*pIVar2->lpVtbl->Release)(pIVar2);
|
|
}
|
|
local_798 = &DAT_14029e010;
|
|
local_7b0 = &DAT_14029e010;
|
|
local_7a8 = 0;
|
|
local_7a0 = 0;
|
|
if (local_808 != (IUnknown *)0x0) {
|
|
(*local_808->lpVtbl->Release)(local_808);
|
|
}
|
|
HVar6 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0,
|
|
&local_820);
|
|
if (-1 < HVar6) {
|
|
HVar6 = OleRun(local_820);
|
|
if (-1 < HVar6) {
|
|
HVar6 = (*local_820->lpVtbl->QueryInterface)(local_820,(IID *)&DAT_14029e078,&local_808);
|
|
}
|
|
(*local_820->lpVtbl->Release)(local_820);
|
|
if (-1 < HVar6) goto LAB_1400df74a;
|
|
}
|
|
local_808 = (IUnknown *)0x0;
|
|
LAB_1400df74a:
|
|
local_7b8 = 2;
|
|
local_7f8 = 1;
|
|
local_888[0] = '\x01';
|
|
FUN_14004e2f0(&local_36a);
|
|
local_7d = 0;
|
|
local_9d[0] = L'\0';
|
|
local_9d[1] = L'\0';
|
|
local_9d[2] = L'\0';
|
|
local_9d[3] = L'\0';
|
|
local_9d[4] = L'\0';
|
|
local_9d[5] = L'\0';
|
|
local_9d[6] = L'\0';
|
|
local_9d[7] = L'\0';
|
|
local_9d[8] = L'\0';
|
|
local_9d[9] = L'\0';
|
|
local_9d[10] = L'\0';
|
|
local_9d[0xb] = L'\0';
|
|
local_85 = 0;
|
|
local_370 = *(undefined4 *)(param_2 + 1);
|
|
_local_378 = CONCAT44((int)((ulonglong)*param_2 >> 0x20),0x23300000);
|
|
local_36c = 0xbb;
|
|
_local_378 = CONCAT62(stack0xfffffffffffffc8a,0x2ff);
|
|
local_a1 = *(undefined4 *)((longlong)param_2 + 0x72);
|
|
wcsncpy(local_9d,(wchar_t *)((longlong)param_2 + 0x3a),0xf);
|
|
local_85 = local_85 & 0xffffffffffff;
|
|
local_7d = *(undefined4 *)((longlong)param_2 + 0x76);
|
|
puVar7 = (undefined8 *)FUN_140001f40(*param_1,&local_700);
|
|
FUN_140001700(&local_880,*puVar7,"dbo.up_create_guild");
|
|
if (local_700 != (longlong *)0x0) {
|
|
(**(code **)(*local_700 + 0x10))();
|
|
}
|
|
local_850 = local_558;
|
|
FUN_140063990(local_558,(longlong)param_2 + 0x12);
|
|
pwVar8 = operator_new(0x18);
|
|
local_6e8 = pwVar15;
|
|
local_778 = pwVar8;
|
|
if (pwVar8 != (wchar_t *)0x0) {
|
|
pwVar8[4] = L'\0';
|
|
pwVar8[5] = L'\0';
|
|
pwVar8[6] = L'\0';
|
|
pwVar8[7] = L'\0';
|
|
pwVar8[8] = L'\x01';
|
|
pwVar8[9] = L'\0';
|
|
lVar9 = FUN_1402182d0("guild_name");
|
|
*(longlong *)pwVar8 = lVar9;
|
|
local_6e8 = pwVar8;
|
|
}
|
|
if (local_6e8 == (wchar_t *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x8007000e);
|
|
}
|
|
pwVar8 = (wchar_t *)FUN_140001870(&local_880,&local_848,&local_6e8,0xca);
|
|
local_850 = pwVar8;
|
|
if (local_880 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
puVar7 = (undefined8 *)FUN_140001650(local_880,&local_708);
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (pIVar2 == (IUnknown *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
UVar4 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029dfc0);
|
|
}
|
|
if (local_708 != (longlong *)0x0) {
|
|
(**(code **)(*local_708 + 0x10))();
|
|
}
|
|
if (*(longlong **)pwVar8 != (longlong *)0x0) {
|
|
(**(code **)(**(longlong **)pwVar8 + 0x10))();
|
|
}
|
|
local_848 = local_528;
|
|
local_588 = *(undefined4 *)((longlong)param_2 + 0x5a);
|
|
uStack_584 = *(undefined4 *)((longlong)param_2 + 0x5e);
|
|
uStack_580 = *(undefined4 *)((longlong)param_2 + 0x62);
|
|
uStack_57c = *(undefined4 *)((longlong)param_2 + 0x66);
|
|
FUN_140063820(local_528,&local_588);
|
|
pwVar8 = operator_new(0x18);
|
|
local_6c8 = pwVar15;
|
|
local_850 = pwVar8;
|
|
if (pwVar8 != (wchar_t *)0x0) {
|
|
pwVar8[4] = L'\0';
|
|
pwVar8[5] = L'\0';
|
|
pwVar8[6] = L'\0';
|
|
pwVar8[7] = L'\0';
|
|
pwVar8[8] = L'\x01';
|
|
pwVar8[9] = L'\0';
|
|
lVar9 = FUN_1402182d0("character_id");
|
|
*(longlong *)pwVar8 = lVar9;
|
|
local_6c8 = pwVar8;
|
|
}
|
|
if (local_6c8 == (wchar_t *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x8007000e);
|
|
}
|
|
pwVar8 = (wchar_t *)FUN_140001870(&local_880,&local_830,&local_6c8,0xca);
|
|
local_848 = pwVar8;
|
|
if (local_880 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
puVar7 = (undefined8 *)FUN_140001650(local_880,&local_6f8);
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (pIVar2 == (IUnknown *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
UVar4 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029dfc0);
|
|
}
|
|
if (local_6f8 != (longlong *)0x0) {
|
|
(**(code **)(*local_6f8 + 0x10))();
|
|
}
|
|
if (*(longlong **)pwVar8 != (longlong *)0x0) {
|
|
(**(code **)(**(longlong **)pwVar8 + 0x10))();
|
|
}
|
|
local_830 = local_438;
|
|
puVar10 = (undefined4 *)FUN_140199840(local_390);
|
|
local_568 = *puVar10;
|
|
uStack_564 = puVar10[1];
|
|
uStack_560 = puVar10[2];
|
|
uStack_55c = puVar10[3];
|
|
FUN_140063530(local_438,&local_568);
|
|
pwVar8 = operator_new(0x18);
|
|
local_730 = pwVar15;
|
|
local_848 = pwVar8;
|
|
if (pwVar8 != (wchar_t *)0x0) {
|
|
pwVar8[4] = L'\0';
|
|
pwVar8[5] = L'\0';
|
|
pwVar8[6] = L'\0';
|
|
pwVar8[7] = L'\0';
|
|
pwVar8[8] = L'\x01';
|
|
pwVar8[9] = L'\0';
|
|
lVar9 = FUN_1402182d0("guild_id");
|
|
*(longlong *)pwVar8 = lVar9;
|
|
local_730 = pwVar8;
|
|
}
|
|
if (local_730 == (wchar_t *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x8007000e);
|
|
}
|
|
pwVar8 = (wchar_t *)FUN_140001870(&local_880,&local_840,&local_730,0xca);
|
|
local_830 = pwVar8;
|
|
if (local_880 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
puVar7 = (undefined8 *)FUN_140001650(local_880,&local_720);
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (pIVar2 == (IUnknown *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
UVar4 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029dfc0);
|
|
}
|
|
if (local_720 != (longlong *)0x0) {
|
|
(**(code **)(*local_720 + 0x10))();
|
|
}
|
|
if (*(longlong **)pwVar8 != (longlong *)0x0) {
|
|
(**(code **)(**(longlong **)pwVar8 + 0x10))();
|
|
}
|
|
local_840 = local_4f8;
|
|
FUN_140063990(local_4f8,(longlong)param_2 + 0x3a);
|
|
pwVar8 = operator_new(0x18);
|
|
local_710 = pwVar15;
|
|
local_830 = pwVar8;
|
|
if (pwVar8 != (wchar_t *)0x0) {
|
|
pwVar8[4] = L'\0';
|
|
pwVar8[5] = L'\0';
|
|
pwVar8[6] = L'\0';
|
|
pwVar8[7] = L'\0';
|
|
pwVar8[8] = L'\x01';
|
|
pwVar8[9] = L'\0';
|
|
lVar9 = FUN_1402182d0("master_name");
|
|
*(longlong *)pwVar8 = lVar9;
|
|
local_710 = pwVar8;
|
|
}
|
|
if (local_710 == (wchar_t *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x8007000e);
|
|
}
|
|
pwVar8 = (wchar_t *)FUN_140001870(&local_880,&local_838,&local_710,0xca);
|
|
local_840 = pwVar8;
|
|
if (local_880 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
puVar7 = (undefined8 *)FUN_140001650(local_880,&local_738);
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (pIVar2 != (IUnknown *)0x0) {
|
|
UVar4 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029dfc0);
|
|
}
|
|
if (local_738 != (longlong *)0x0) {
|
|
(**(code **)(*local_738 + 0x10))();
|
|
}
|
|
if (*(longlong **)pwVar8 != (longlong *)0x0) {
|
|
(**(code **)(**(longlong **)pwVar8 + 0x10))();
|
|
}
|
|
local_838 = local_5d8;
|
|
uVar1 = *(undefined4 *)((longlong)param_2 + 0x6a);
|
|
Ordinal_8(local_5d8);
|
|
FUN_140063620(local_5d8,uVar1);
|
|
pwVar8 = operator_new(0x18);
|
|
local_6f0 = pwVar15;
|
|
local_840 = pwVar8;
|
|
if (pwVar8 != (wchar_t *)0x0) {
|
|
pwVar8[4] = L'\0';
|
|
pwVar8[5] = L'\0';
|
|
pwVar8[6] = L'\0';
|
|
pwVar8[7] = L'\0';
|
|
pwVar8[8] = L'\x01';
|
|
pwVar8[9] = L'\0';
|
|
lVar9 = FUN_1402182d0("cost_money");
|
|
*(longlong *)pwVar8 = lVar9;
|
|
local_6f0 = pwVar8;
|
|
}
|
|
if (local_6f0 == (wchar_t *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x8007000e);
|
|
}
|
|
pwVar8 = (wchar_t *)FUN_140001870(&local_880,&local_828,&local_6f0,3);
|
|
local_838 = pwVar8;
|
|
if (local_880 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
puVar7 = (undefined8 *)FUN_140001650(local_880,&local_6e0);
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (pIVar2 == (IUnknown *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
UVar4 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029dfc0);
|
|
}
|
|
if (local_6e0 != (longlong *)0x0) {
|
|
(**(code **)(*local_6e0 + 0x10))();
|
|
}
|
|
if (*(longlong **)pwVar8 != (longlong *)0x0) {
|
|
(**(code **)(**(longlong **)pwVar8 + 0x10))();
|
|
}
|
|
local_828 = local_750;
|
|
uVar3 = *(undefined2 *)(param_2 + 2);
|
|
Ordinal_8(local_750);
|
|
if (local_750[0] != L'\x12') {
|
|
iVar5 = Ordinal_9(local_750);
|
|
if (iVar5 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(iVar5);
|
|
}
|
|
local_750[0] = L'\x12';
|
|
}
|
|
local_748 = uVar3;
|
|
pwVar8 = operator_new(0x18);
|
|
local_6d0 = pwVar15;
|
|
local_838 = pwVar8;
|
|
if (pwVar8 != (wchar_t *)0x0) {
|
|
pwVar8[4] = L'\0';
|
|
pwVar8[5] = L'\0';
|
|
pwVar8[6] = L'\0';
|
|
pwVar8[7] = L'\0';
|
|
pwVar8[8] = L'\x01';
|
|
pwVar8[9] = L'\0';
|
|
lVar9 = FUN_1402182d0("server");
|
|
*(longlong *)pwVar8 = lVar9;
|
|
local_6d0 = pwVar8;
|
|
}
|
|
if (local_6d0 == (wchar_t *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x8007000e);
|
|
}
|
|
pwVar8 = (wchar_t *)FUN_140001870(&local_880,local_818,&local_6d0,2);
|
|
local_828 = pwVar8;
|
|
if (local_880 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
puVar7 = (undefined8 *)FUN_140001650(local_880,&local_6c0);
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (pIVar2 != (IUnknown *)0x0) {
|
|
UVar4 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029dfc0);
|
|
}
|
|
if (local_6c0 != (longlong *)0x0) {
|
|
(**(code **)(*local_6c0 + 0x10))();
|
|
}
|
|
if (*(longlong **)pwVar8 != (longlong *)0x0) {
|
|
(**(code **)(**(longlong **)pwVar8 + 0x10))();
|
|
}
|
|
local_818[0] = local_5c0;
|
|
uVar1 = *(undefined4 *)((longlong)param_2 + 0x6e);
|
|
Ordinal_8(local_5c0);
|
|
FUN_140063620(local_5c0,uVar1);
|
|
pwVar8 = operator_new(0x18);
|
|
local_728 = pwVar15;
|
|
local_828 = pwVar8;
|
|
if (pwVar8 != (wchar_t *)0x0) {
|
|
pwVar8[4] = L'\0';
|
|
pwVar8[5] = L'\0';
|
|
pwVar8[6] = L'\0';
|
|
pwVar8[7] = L'\0';
|
|
pwVar8[8] = L'\x01';
|
|
pwVar8[9] = L'\0';
|
|
lVar9 = FUN_1402182d0("max_member");
|
|
*(longlong *)pwVar8 = lVar9;
|
|
local_728 = pwVar8;
|
|
}
|
|
if (local_728 == (wchar_t *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x8007000e);
|
|
}
|
|
pwVar8 = (wchar_t *)FUN_140001870(&local_880,&local_770,&local_728,3);
|
|
local_818[0] = pwVar8;
|
|
if (local_880 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
puVar7 = (undefined8 *)FUN_140001650(local_880,&local_6d8);
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (pIVar2 == (IUnknown *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
UVar4 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029dfc0);
|
|
}
|
|
if (local_6d8 != (longlong *)0x0) {
|
|
(**(code **)(*local_6d8 + 0x10))();
|
|
}
|
|
if (*(longlong **)pwVar8 != (longlong *)0x0) {
|
|
(**(code **)(**(longlong **)pwVar8 + 0x10))();
|
|
}
|
|
local_770 = &local_768;
|
|
uVar3 = *(undefined2 *)((longlong)param_2 + 0xe);
|
|
Ordinal_8(&local_768);
|
|
if ((short)local_768 != 0x12) {
|
|
iVar5 = Ordinal_9(&local_768);
|
|
if (iVar5 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(iVar5);
|
|
}
|
|
local_768._0_2_ = 0x12;
|
|
}
|
|
local_760 = uVar3;
|
|
pwVar8 = operator_new(0x18);
|
|
local_718 = pwVar15;
|
|
local_818[0] = pwVar8;
|
|
if (pwVar8 != (wchar_t *)0x0) {
|
|
pwVar8[4] = L'\0';
|
|
pwVar8[5] = L'\0';
|
|
pwVar8[6] = L'\0';
|
|
pwVar8[7] = L'\0';
|
|
pwVar8[8] = L'\x01';
|
|
pwVar8[9] = L'\0';
|
|
lVar9 = FUN_1402182d0("group_id");
|
|
*(longlong *)pwVar8 = lVar9;
|
|
local_718 = pwVar8;
|
|
}
|
|
if (local_718 == (wchar_t *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x8007000e);
|
|
}
|
|
plVar11 = (longlong *)FUN_140001870(&local_880,local_598,&local_718,2);
|
|
local_770 = plVar11;
|
|
if (local_880 == (longlong *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
puVar7 = (undefined8 *)FUN_140001650(local_880,&local_778);
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (pIVar2 != (IUnknown *)0x0) {
|
|
UVar4 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029dfc0);
|
|
}
|
|
if (local_778 != (wchar_t *)0x0) {
|
|
(**(code **)(*(longlong *)local_778 + 0x10))();
|
|
}
|
|
if ((longlong *)*plVar11 != (longlong *)0x0) {
|
|
(**(code **)(*(longlong *)*plVar11 + 0x10))();
|
|
}
|
|
puVar7 = (undefined8 *)FUN_1400016c0(&local_880,&local_850);
|
|
This = local_808;
|
|
pIVar2 = (IUnknown *)*puVar7;
|
|
if (local_808 != pIVar2) {
|
|
local_808 = pIVar2;
|
|
if (pIVar2 != (IUnknown *)0x0) {
|
|
(*pIVar2->lpVtbl->AddRef)(pIVar2);
|
|
}
|
|
if (This != (IUnknown *)0x0) {
|
|
(*This->lpVtbl->Release)(This);
|
|
}
|
|
}
|
|
if (local_850 != (wchar_t *)0x0) {
|
|
(**(code **)(*(longlong *)local_850 + 0x10))();
|
|
}
|
|
pIVar2 = local_808;
|
|
if (local_808 != (IUnknown *)0x0) {
|
|
local_878 = 0;
|
|
UVar4 = (*local_808->lpVtbl[6].Release)(local_808);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029e038);
|
|
}
|
|
pwVar8 = pwVar15;
|
|
if (local_878 == -1) {
|
|
local_36c = 0xbd;
|
|
}
|
|
else {
|
|
uVar12 = FUN_140002290(&local_808,local_3c0,"ERROR_CODE",local_888);
|
|
FUN_140199590(uVar12);
|
|
iVar5 = FUN_140063af0(uVar12);
|
|
Ordinal_9(local_3c0);
|
|
if (iVar5 == 1) {
|
|
uVar12 = FUN_140002290(&local_808,local_4c8,"guild_id",local_888);
|
|
FUN_140063b70(uVar12,&local_5f8);
|
|
local_36a = local_5f8;
|
|
local_362 = local_5f0;
|
|
Ordinal_9(local_4c8);
|
|
uVar12 = FUN_140002290(&local_808,local_408,&DAT_1402a5b74,local_888);
|
|
FUN_140063de0(uVar12,&local_858);
|
|
FUN_14016d8c0();
|
|
pwVar8 = (wchar_t *)PTR_DAT_1403440a0;
|
|
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
|
|
pwVar8 = pwVar15;
|
|
}
|
|
if (local_858 != (wchar_t *)PTR_DAT_1403440a0) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_6b0 = 0;
|
|
local_6b8 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_6b0 = 1;
|
|
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(pwVar8 + -4 != (wchar_t *)0x0)) {
|
|
uVar13 = FUN_14016d8c0();
|
|
local_670 = 0;
|
|
local_678 = uVar13;
|
|
FUN_14016db50(uVar13);
|
|
local_670 = 1;
|
|
pwVar14 = pwVar8 + -2;
|
|
*(int *)pwVar14 = *(int *)pwVar14 + -1;
|
|
if (*(int *)pwVar14 == 0) {
|
|
FUN_14016d970(pwVar8 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar13);
|
|
}
|
|
pwVar8 = local_858;
|
|
if (((local_858 != (wchar_t *)PTR_DAT_1403440a0) && (local_858 != (wchar_t *)0x0))
|
|
&& (local_858 != (wchar_t *)0x8)) {
|
|
*(int *)(local_858 + -2) = *(int *)(local_858 + -2) + 1;
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
pwVar14 = pwVar8;
|
|
if (pwVar8 == (wchar_t *)0x0) {
|
|
pwVar14 = (wchar_t *)PTR_DAT_1403440a0;
|
|
}
|
|
wcsncpy(local_35a,pwVar14,0x13);
|
|
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(pwVar8 + -4 != (wchar_t *)0x0)) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_610 = 0;
|
|
local_618 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_610 = 1;
|
|
pwVar14 = pwVar8 + -2;
|
|
*(int *)pwVar14 = *(int *)pwVar14 + -1;
|
|
if (*(int *)pwVar14 == 0) {
|
|
FUN_14016d970(pwVar8 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
if (((local_858 != (wchar_t *)0x0) && (local_858 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(local_858 + -4 != (wchar_t *)0x0)) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_650 = 0;
|
|
local_658 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_650 = 1;
|
|
pwVar8 = local_858 + -2;
|
|
*(int *)pwVar8 = *(int *)pwVar8 + -1;
|
|
if (*(int *)pwVar8 == 0) {
|
|
FUN_14016d970(local_858 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
local_858 = (wchar_t *)PTR_DAT_1403440a0;
|
|
Ordinal_9(local_408);
|
|
local_334 = 0;
|
|
uVar12 = FUN_140002290(&local_808,local_498,"master_id",local_888);
|
|
FUN_140063b70(uVar12,&local_5e8);
|
|
local_332 = local_5e8;
|
|
local_32a = local_5e0;
|
|
Ordinal_9(local_498);
|
|
uVar12 = FUN_140002290(&local_808,local_3a8,"experience",local_888);
|
|
FUN_140199590(uVar12);
|
|
local_322 = FUN_140199670(uVar12);
|
|
Ordinal_9(local_3a8);
|
|
uVar12 = FUN_140002290(&local_808,local_468,"point",local_888);
|
|
FUN_140199590(uVar12);
|
|
local_31a = FUN_140063af0(uVar12);
|
|
Ordinal_9(local_468);
|
|
uVar12 = FUN_140002290(&local_808,local_3d8,"room_id",local_888);
|
|
FUN_140199590(uVar12);
|
|
local_316 = FUN_140063af0(uVar12);
|
|
Ordinal_9(local_3d8);
|
|
uVar12 = FUN_140002290(&local_808,local_540,"max_member",local_888);
|
|
FUN_140199590(uVar12);
|
|
local_312 = FUN_140063af0(uVar12);
|
|
Ordinal_9(local_540);
|
|
uVar12 = FUN_140002290(&local_808,local_510,"group_id",local_888);
|
|
FUN_140199590(uVar12);
|
|
local_a6 = FUN_140063af0(uVar12);
|
|
Ordinal_9(local_510);
|
|
uVar12 = FUN_140002290(&local_808,local_4e0,"server",local_888);
|
|
FUN_140199590(uVar12);
|
|
local_a4 = FUN_140063af0(uVar12);
|
|
Ordinal_9(local_4e0);
|
|
uVar12 = FUN_140002290(&local_808,local_4b0,"notice",local_888);
|
|
FUN_140063de0(uVar12,&local_868);
|
|
FUN_14016d8c0();
|
|
pwVar8 = (wchar_t *)PTR_DAT_1403440a0;
|
|
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
|
|
pwVar8 = pwVar15;
|
|
}
|
|
if (local_868 != (wchar_t *)PTR_DAT_1403440a0) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_630 = 0;
|
|
local_638 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_630 = 1;
|
|
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(pwVar8 + -4 != (wchar_t *)0x0)) {
|
|
uVar13 = FUN_14016d8c0();
|
|
local_690 = 0;
|
|
local_698 = uVar13;
|
|
FUN_14016db50(uVar13);
|
|
local_690 = 1;
|
|
pwVar14 = pwVar8 + -2;
|
|
*(int *)pwVar14 = *(int *)pwVar14 + -1;
|
|
if (*(int *)pwVar14 == 0) {
|
|
FUN_14016d970(pwVar8 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar13);
|
|
}
|
|
pwVar8 = local_868;
|
|
if (((local_868 != (wchar_t *)PTR_DAT_1403440a0) && (local_868 != (wchar_t *)0x0))
|
|
&& (local_868 != (wchar_t *)0x8)) {
|
|
*(int *)(local_868 + -2) = *(int *)(local_868 + -2) + 1;
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
pwVar14 = pwVar8;
|
|
if (pwVar8 == (wchar_t *)0x0) {
|
|
pwVar14 = (wchar_t *)PTR_DAT_1403440a0;
|
|
}
|
|
wcsncpy(local_310,pwVar14,99);
|
|
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(pwVar8 + -4 != (wchar_t *)0x0)) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_680 = 0;
|
|
local_688 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_680 = 1;
|
|
pwVar14 = pwVar8 + -2;
|
|
*(int *)pwVar14 = *(int *)pwVar14 + -1;
|
|
if (*(int *)pwVar14 == 0) {
|
|
FUN_14016d970(pwVar8 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
if (((local_868 != (wchar_t *)0x0) && (local_868 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(local_868 + -4 != (wchar_t *)0x0)) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_660 = 0;
|
|
local_668 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_660 = 1;
|
|
pwVar8 = local_868 + -2;
|
|
*(int *)pwVar8 = *(int *)pwVar8 + -1;
|
|
if (*(int *)pwVar8 == 0) {
|
|
FUN_14016d970(local_868 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
local_868 = (wchar_t *)PTR_DAT_1403440a0;
|
|
Ordinal_9(local_4b0);
|
|
uVar12 = FUN_140002290(&local_808,local_480,&DAT_1402ab3b4,local_888);
|
|
FUN_140063de0(uVar12,&local_870);
|
|
FUN_14016d8c0();
|
|
pwVar8 = (wchar_t *)PTR_DAT_1403440a0;
|
|
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
|
|
pwVar8 = pwVar15;
|
|
}
|
|
if (local_870 != (wchar_t *)PTR_DAT_1403440a0) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_6a0 = 0;
|
|
local_6a8 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_6a0 = 1;
|
|
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(pwVar8 + -4 != (wchar_t *)0x0)) {
|
|
uVar13 = FUN_14016d8c0();
|
|
local_640 = 0;
|
|
local_648 = uVar13;
|
|
FUN_14016db50(uVar13);
|
|
local_640 = 1;
|
|
pwVar14 = pwVar8 + -2;
|
|
*(int *)pwVar14 = *(int *)pwVar14 + -1;
|
|
if (*(int *)pwVar14 == 0) {
|
|
FUN_14016d970(pwVar8 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar13);
|
|
}
|
|
pwVar8 = local_870;
|
|
if (((local_870 != (wchar_t *)PTR_DAT_1403440a0) && (local_870 != (wchar_t *)0x0))
|
|
&& (local_870 != (wchar_t *)0x8)) {
|
|
*(int *)(local_870 + -2) = *(int *)(local_870 + -2) + 1;
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
pwVar14 = pwVar8;
|
|
if (pwVar8 == (wchar_t *)0x0) {
|
|
pwVar14 = (wchar_t *)PTR_DAT_1403440a0;
|
|
}
|
|
wcsncpy(local_248,pwVar14,199);
|
|
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(pwVar8 + -4 != (wchar_t *)0x0)) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_620 = 0;
|
|
local_628 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_620 = 1;
|
|
pwVar14 = pwVar8 + -2;
|
|
*(int *)pwVar14 = *(int *)pwVar14 + -1;
|
|
if (*(int *)pwVar14 == 0) {
|
|
FUN_14016d970(pwVar8 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
if (((local_870 != (wchar_t *)0x0) && (local_870 != (wchar_t *)PTR_DAT_1403440a0)) &&
|
|
(local_870 + -4 != (wchar_t *)0x0)) {
|
|
uVar12 = FUN_14016d8c0();
|
|
local_600 = 0;
|
|
local_608 = uVar12;
|
|
FUN_14016db50(uVar12);
|
|
local_600 = 1;
|
|
pwVar8 = local_870 + -2;
|
|
*(int *)pwVar8 = *(int *)pwVar8 + -1;
|
|
if (*(int *)pwVar8 == 0) {
|
|
FUN_14016d970(local_870 + -4);
|
|
}
|
|
FUN_14016dbe0(uVar12);
|
|
}
|
|
local_870 = (wchar_t *)PTR_DAT_1403440a0;
|
|
Ordinal_9(local_480);
|
|
local_24a = 0;
|
|
local_ba = 0;
|
|
pwVar8 = pwVar15;
|
|
while (iVar5 = (int)pwVar8, iVar5 < 8) {
|
|
sprintf(local_78,"permission%02d",(ulonglong)(iVar5 + 1));
|
|
uVar12 = FUN_140002290(&local_808,local_450,local_78,local_888);
|
|
FUN_140199590(uVar12);
|
|
uVar3 = FUN_140063af0(uVar12);
|
|
auStack_b8[iVar5] = uVar3;
|
|
Ordinal_9(local_450);
|
|
pwVar8 = (wchar_t *)(ulonglong)(iVar5 + 1);
|
|
}
|
|
uVar12 = FUN_140002290(&local_808,local_420,"level",local_888);
|
|
FUN_140199590(uVar12);
|
|
local_a8 = FUN_140063af0(uVar12);
|
|
Ordinal_9(local_420);
|
|
uVar12 = FUN_140002290(&local_808,local_3f0,"Storage",local_888);
|
|
FUN_140199590(uVar12);
|
|
local_a2 = FUN_140063a70(uVar12);
|
|
Ordinal_9(local_3f0);
|
|
pwVar8 = (wchar_t *)0x1;
|
|
}
|
|
else {
|
|
local_36c = 0xbc;
|
|
}
|
|
if (local_888[0] == '\0') {
|
|
local_36c = 0xbe;
|
|
pwVar8 = pwVar15;
|
|
}
|
|
}
|
|
puVar7 = local_860;
|
|
iVar5 = FUN_1400a7630(*(undefined8 *)(local_860[0x22] + 0xf0),&local_378);
|
|
if (iVar5 == 0) {
|
|
FUN_1400a6d80(puVar7[0x23],"DBResultQueue_Error.Log","DB Result Queue push error");
|
|
}
|
|
pIVar2 = local_808;
|
|
if (local_808 != (IUnknown *)0x0) {
|
|
local_860 = (undefined8 *)((ulonglong)local_860 & 0xffffffff00000000);
|
|
UVar4 = (*local_808->lpVtbl[0x12].AddRef)(local_808);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029e038);
|
|
}
|
|
pIVar2 = local_808;
|
|
if ((int)local_860 != 0) {
|
|
if (local_808 == (IUnknown *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
UVar4 = (*local_808->lpVtbl[10].Release)(local_808);
|
|
if ((int)UVar4 < 0) {
|
|
_com_issue_errorex(UVar4,pIVar2,(_GUID *)&DAT_14029e038);
|
|
}
|
|
}
|
|
if (local_808 != (IUnknown *)0x0) {
|
|
(*local_808->lpVtbl->Release)(local_808);
|
|
local_808 = (IUnknown *)0x0;
|
|
}
|
|
}
|
|
local_7a0 = 0;
|
|
local_798 = &DAT_14029e010;
|
|
local_7b0 = &DAT_14029e010;
|
|
local_7a8 = 0;
|
|
local_7b8 = 0;
|
|
Ordinal_9(local_7d0);
|
|
Ordinal_9(local_7e8);
|
|
if (local_800 != (longlong *)0x0) {
|
|
(**(code **)(*local_800 + 0x10))();
|
|
}
|
|
if (local_808 != (IUnknown *)0x0) {
|
|
(*local_808->lpVtbl->Release)(local_808);
|
|
}
|
|
if (local_880 != (longlong *)0x0) {
|
|
(**(code **)(*local_880 + 0x10))();
|
|
}
|
|
return pwVar8;
|
|
}
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_140218220(0x80004003);
|
|
}
|
|
|