server-re/decomp/DBCServer_Release_x64/full/functions/0x1400acbb0.c

1114 lines
38 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1400acbb0 FUN_1400acbb0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
wchar_t * FUN_1400acbb0(undefined8 *param_1,undefined8 *param_2)
{
undefined2 uVar1;
undefined4 uVar2;
IUnknown *pIVar3;
IUnknown *This;
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_988 [32];
char local_948 [8];
longlong *local_940;
short local_938;
undefined8 *local_930;
int local_928;
IUnknown *local_918;
longlong *local_910;
undefined4 local_908;
undefined1 local_8f8 [24];
undefined1 local_8e0 [24];
undefined4 local_8c8;
undefined1 *local_8c0;
undefined4 local_8b8;
undefined8 local_8b0;
undefined1 *local_8a8;
wchar_t *local_898;
wchar_t *local_890;
wchar_t *local_888;
wchar_t *local_880;
wchar_t *local_878;
wchar_t *local_870;
wchar_t local_868 [4];
wchar_t *local_860;
LPUNKNOWN local_858;
wchar_t *local_850;
wchar_t local_848 [4];
wchar_t *local_840;
undefined8 *local_838;
wchar_t *local_830;
longlong *local_828;
undefined4 local_820;
undefined4 local_81c;
undefined4 local_818;
undefined4 local_814;
wchar_t local_810 [4];
undefined2 local_808;
wchar_t local_7f8 [4];
undefined2 local_7f0;
wchar_t *local_7e0;
longlong *local_7d8;
longlong *local_7d0;
wchar_t *local_7c8;
longlong *local_7c0;
longlong *local_7b8;
longlong *local_7b0;
wchar_t *local_7a8;
wchar_t *local_7a0;
longlong *local_798;
wchar_t *local_790;
longlong *local_788;
wchar_t *local_780;
wchar_t *local_778;
undefined8 local_770;
undefined1 local_768;
undefined8 local_760;
undefined1 local_758;
undefined8 local_750;
undefined1 local_748;
undefined8 local_740;
undefined1 local_738;
undefined8 local_730;
undefined1 local_728;
undefined8 local_720;
undefined1 local_718;
undefined8 local_710;
undefined1 local_708;
undefined8 local_700;
undefined1 local_6f8;
undefined8 local_6f0;
undefined1 local_6e8;
undefined8 local_6e0;
undefined1 local_6d8;
undefined8 local_6d0;
undefined1 local_6c8;
undefined8 local_6c0;
undefined1 local_6b8;
longlong local_6b0 [3];
short local_698 [12];
undefined4 local_680;
undefined4 uStack_67c;
undefined4 uStack_678;
undefined4 uStack_674;
undefined4 local_668;
undefined4 uStack_664;
undefined4 uStack_660;
undefined4 uStack_65c;
undefined8 local_658;
undefined4 local_648;
undefined4 uStack_644;
undefined4 uStack_640;
undefined4 uStack_63c;
undefined1 local_638 [8];
undefined4 local_630;
undefined4 uStack_62c;
undefined4 uStack_628;
undefined4 uStack_624;
undefined1 local_620 [24];
undefined1 local_608 [24];
wchar_t local_5f0 [12];
undefined1 local_5d8 [24];
wchar_t local_5c0 [12];
undefined1 local_5a8 [24];
undefined1 local_590 [24];
undefined1 local_578 [24];
undefined1 local_560 [24];
undefined1 local_548 [24];
undefined1 local_530 [24];
undefined1 local_518 [24];
undefined1 local_500 [24];
undefined1 local_4e8 [24];
undefined1 local_4d0 [24];
undefined1 local_4b8 [24];
undefined1 local_4a0 [24];
undefined1 local_488 [24];
undefined1 local_470 [24];
undefined1 local_458 [24];
undefined1 local_440 [24];
undefined1 local_428 [24];
undefined1 local_410 [24];
undefined1 local_3f8 [24];
wchar_t local_3e0 [12];
undefined1 local_3c8 [24];
wchar_t local_3b0 [12];
undefined1 local_398 [24];
undefined1 local_380 [24];
undefined1 local_368 [24];
undefined1 local_350 [24];
undefined1 local_338 [24];
undefined1 local_320 [24];
undefined1 local_308 [24];
undefined1 local_2f0 [24];
undefined1 local_2d8 [24];
undefined1 local_2c0 [24];
undefined1 local_2a8 [24];
undefined1 local_290 [24];
undefined1 local_278 [24];
undefined1 local_260 [24];
undefined1 local_248 [24];
undefined1 local_230 [24];
undefined1 local_218 [24];
undefined1 local_200 [24];
undefined1 local_1e8 [24];
undefined1 local_1d0 [24];
undefined1 local_1b8 [32];
undefined4 local_198;
undefined4 uStack_194;
undefined4 local_190;
undefined2 local_18c;
short local_18a;
undefined4 local_188;
undefined4 uStack_184;
undefined4 uStack_180;
undefined4 uStack_17c;
undefined4 local_178;
undefined4 uStack_174;
undefined4 uStack_170;
undefined4 uStack_16c;
undefined2 local_168;
wchar_t local_166 [15];
undefined2 local_148;
undefined2 local_146;
undefined2 local_144;
undefined2 local_142;
undefined8 local_140;
undefined4 local_138;
undefined4 local_134;
undefined4 local_130;
undefined2 local_12c;
undefined4 local_12a;
undefined2 local_126;
undefined4 local_124;
undefined4 local_120;
undefined4 local_11c;
undefined4 local_118;
undefined4 local_114;
undefined4 local_110;
undefined2 local_10c;
undefined2 local_10a;
undefined2 local_108;
undefined2 local_106;
undefined4 local_104;
undefined2 local_100;
undefined4 local_fe;
undefined2 local_fa;
undefined1 local_f8;
undefined1 local_f7;
undefined8 local_f5;
undefined4 local_ed;
undefined1 local_e9;
undefined1 local_e8;
undefined1 local_e7;
undefined2 local_e2;
undefined2 local_e0;
undefined2 local_de;
undefined2 local_dc;
undefined2 local_da;
undefined2 local_d8;
undefined2 local_d6;
undefined2 local_d4;
undefined4 local_d2;
undefined4 local_ce;
undefined2 local_ca;
undefined8 local_be;
undefined8 local_66;
undefined8 local_5e;
undefined1 local_48 [16];
ulonglong local_38;
local_658 = 0xfffffffffffffffe;
local_38 = DAT_1403463c0 ^ (ulonglong)auStackY_988;
pIVar3 = *(IUnknown **)*param_1;
pwVar15 = (wchar_t *)0x0;
local_930 = param_1;
local_838 = param_2;
if (pIVar3 == (IUnknown *)0x0) {
LAB_1400acc47:
iVar5 = FUN_1400a80c0(param_1);
if (iVar5 == 0) {
FUN_1400a8040(param_1,param_2,0);
return (wchar_t *)0x0;
}
}
else {
local_928 = 0;
UVar4 = (*pIVar3->lpVtbl[0xb].AddRef)(pIVar3);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029e018);
}
if (local_928 == 0) goto LAB_1400acc47;
}
local_940 = (longlong *)0x0;
iVar5 = FUN_140001990(&local_940);
if ((iVar5 < 0) && (iVar5 != -0x7fffbffe)) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar5);
}
local_918 = (IUnknown *)0x0;
local_910 = (longlong *)0x0;
Ordinal_8(local_8f8);
Ordinal_8(local_8e0);
pIVar3 = local_918;
if ((local_918 != (IUnknown *)0x0) && (local_918 = (IUnknown *)0x0, pIVar3 != (IUnknown *)0x0)) {
(*pIVar3->lpVtbl->Release)(pIVar3);
}
local_8a8 = &DAT_14029e010;
local_8c0 = &DAT_14029e010;
local_8b8 = 0;
local_8b0 = 0;
if (local_918 != (IUnknown *)0x0) {
(*local_918->lpVtbl->Release)(local_918);
}
HVar6 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0,
&local_858);
if (-1 < HVar6) {
HVar6 = OleRun(local_858);
if (-1 < HVar6) {
HVar6 = (*local_858->lpVtbl->QueryInterface)(local_858,(IID *)&DAT_14029e078,&local_918);
}
(*local_858->lpVtbl->Release)(local_858);
if (-1 < HVar6) goto LAB_1400acd7d;
}
local_918 = (IUnknown *)0x0;
LAB_1400acd7d:
local_8c8 = 2;
local_908 = 1;
local_948[0] = '\x01';
local_18a = 0;
FUN_14004e3a0(&local_188);
local_190 = *(undefined4 *)(param_2 + 1);
_local_198 = CONCAT44((int)((ulonglong)*param_2 >> 0x20),0x232e0000);
local_18c = 0x8b;
_local_198 = CONCAT62(stack0xfffffffffffffe6a,0x142);
local_66 = *(undefined8 *)((longlong)param_2 + 0x74);
local_5e = *(undefined8 *)((longlong)param_2 + 0x7c);
puVar7 = (undefined8 *)FUN_140001f40(*param_1,&local_798);
FUN_140001700(&local_940,*puVar7,"dbo.up_create_character");
if (local_798 != (longlong *)0x0) {
(**(code **)(*local_798 + 0x10))();
}
local_890 = local_3e0;
FUN_14006be90(local_3e0,(longlong)param_2 + 0x1e);
pwVar8 = operator_new(0x18);
local_7a0 = 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("bcust_id");
*(longlong *)pwVar8 = lVar9;
local_7a0 = pwVar8;
}
if (local_7a0 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
pwVar8 = (wchar_t *)FUN_140001870(&local_940,&local_878,&local_7a0,0xca);
local_890 = pwVar8;
if (local_940 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar7 = (undefined8 *)FUN_140001650(local_940,&local_7c0);
pIVar3 = (IUnknown *)*puVar7;
if (pIVar3 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar4 = (*pIVar3->lpVtbl[3].AddRef)(pIVar3);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029dfc0);
}
if (local_7c0 != (longlong *)0x0) {
(**(code **)(*local_7c0 + 0x10))();
}
if (*(longlong **)pwVar8 != (longlong *)0x0) {
(**(code **)(**(longlong **)pwVar8 + 0x10))();
}
local_878 = local_5f0;
local_648 = *(undefined4 *)((longlong)param_2 + 0xe);
uStack_644 = *(undefined4 *)((longlong)param_2 + 0x12);
uStack_640 = *(undefined4 *)((longlong)param_2 + 0x16);
uStack_63c = *(undefined4 *)((longlong)param_2 + 0x1a);
FUN_140063820(local_5f0,&local_648);
pwVar8 = operator_new(0x18);
local_780 = pwVar15;
local_890 = 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("auth_id");
*(longlong *)pwVar8 = lVar9;
local_780 = pwVar8;
}
if (local_780 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
pwVar8 = (wchar_t *)FUN_140001870(&local_940,&local_870,&local_780,0xca);
local_878 = pwVar8;
if (local_940 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar7 = (undefined8 *)FUN_140001650(local_940,&local_7b0);
pIVar3 = (IUnknown *)*puVar7;
if (pIVar3 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar4 = (*pIVar3->lpVtbl[3].AddRef)(pIVar3);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029dfc0);
}
if (local_7b0 != (longlong *)0x0) {
(**(code **)(*local_7b0 + 0x10))();
}
if (*(longlong **)pwVar8 != (longlong *)0x0) {
(**(code **)(**(longlong **)pwVar8 + 0x10))();
}
local_870 = local_3b0;
puVar10 = (undefined4 *)FUN_140199840(local_48);
local_668 = *puVar10;
uStack_664 = puVar10[1];
uStack_660 = puVar10[2];
uStack_65c = puVar10[3];
FUN_140063530(local_3b0,&local_668);
pwVar8 = operator_new(0x18);
local_790 = pwVar15;
local_878 = 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("char_id");
*(longlong *)pwVar8 = lVar9;
local_790 = pwVar8;
}
if (local_790 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
pwVar8 = (wchar_t *)FUN_140001870(&local_940,&local_860,&local_790,0xca);
local_870 = pwVar8;
if (local_940 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar7 = (undefined8 *)FUN_140001650(local_940,&local_7d8);
pIVar3 = (IUnknown *)*puVar7;
if (pIVar3 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar4 = (*pIVar3->lpVtbl[3].AddRef)(pIVar3);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029dfc0);
}
if (local_7d8 != (longlong *)0x0) {
(**(code **)(*local_7d8 + 0x10))();
}
if (*(longlong **)pwVar8 != (longlong *)0x0) {
(**(code **)(**(longlong **)pwVar8 + 0x10))();
}
local_860 = local_5c0;
FUN_140063990(local_5c0,param_2 + 10);
pwVar8 = operator_new(0x18);
local_7c8 = pwVar15;
local_870 = 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(&DAT_1402a5b74);
*(longlong *)pwVar8 = lVar9;
local_7c8 = pwVar8;
}
if (local_7c8 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
pwVar8 = (wchar_t *)FUN_140001870(&local_940,&local_850,&local_7c8,0xca);
local_860 = pwVar8;
if (local_940 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar7 = (undefined8 *)FUN_140001650(local_940,&local_7b8);
pIVar3 = (IUnknown *)*puVar7;
if (pIVar3 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar4 = (*pIVar3->lpVtbl[3].AddRef)(pIVar3);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029dfc0);
}
if (local_7b8 != (longlong *)0x0) {
(**(code **)(*local_7b8 + 0x10))();
}
if (*(longlong **)pwVar8 != (longlong *)0x0) {
(**(code **)(**(longlong **)pwVar8 + 0x10))();
}
local_850 = local_7f8;
uVar1 = *(undefined2 *)(param_2 + 0xe);
Ordinal_8(local_7f8);
if (local_7f8[0] != L'\x12') {
iVar5 = Ordinal_9(local_7f8);
if (iVar5 < 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar5);
}
local_7f8[0] = L'\x12';
}
local_7f0 = uVar1;
pwVar8 = operator_new(0x18);
local_7a8 = pwVar15;
local_860 = 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("class");
*(longlong *)pwVar8 = lVar9;
local_7a8 = pwVar8;
}
if (local_7a8 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
pwVar8 = (wchar_t *)FUN_140001870(&local_940,&local_840,&local_7a8,3);
local_850 = pwVar8;
if (local_940 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar7 = (undefined8 *)FUN_140001650(local_940,&local_788);
pIVar3 = (IUnknown *)*puVar7;
if (pIVar3 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar4 = (*pIVar3->lpVtbl[3].AddRef)(pIVar3);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029dfc0);
}
if (local_788 != (longlong *)0x0) {
(**(code **)(*local_788 + 0x10))();
}
if (*(longlong **)pwVar8 != (longlong *)0x0) {
(**(code **)(**(longlong **)pwVar8 + 0x10))();
}
local_840 = local_810;
uVar1 = *(undefined2 *)((longlong)param_2 + 0x72);
Ordinal_8(local_810);
if (local_810[0] != L'\x12') {
iVar5 = Ordinal_9(local_810);
if (iVar5 < 0) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar5);
}
local_810[0] = L'\x12';
}
local_808 = uVar1;
pwVar8 = operator_new(0x18);
local_778 = 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("server");
*(longlong *)pwVar8 = lVar9;
local_778 = pwVar8;
}
if (local_778 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
pwVar8 = (wchar_t *)FUN_140001870(&local_940,&local_828,&local_778,2);
local_840 = pwVar8;
if (local_940 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar7 = (undefined8 *)FUN_140001650(local_940,&local_7d0);
pIVar3 = (IUnknown *)*puVar7;
if (pIVar3 != (IUnknown *)0x0) {
UVar4 = (*pIVar3->lpVtbl[3].AddRef)(pIVar3);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029dfc0);
}
if (local_7d0 != (longlong *)0x0) {
(**(code **)(*local_7d0 + 0x10))();
}
if (*(longlong **)pwVar8 != (longlong *)0x0) {
(**(code **)(**(longlong **)pwVar8 + 0x10))();
}
local_828 = local_6b0;
uVar2 = *(undefined4 *)((longlong)param_2 + 0x84);
Ordinal_8(local_6b0);
FUN_140063620(local_6b0,uVar2);
pwVar8 = operator_new(0x18);
local_7e0 = 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("lobby_id");
*(longlong *)pwVar8 = lVar9;
local_7e0 = pwVar8;
}
if (local_7e0 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar11 = (longlong *)FUN_140001870(&local_940,local_638,&local_7e0,3);
local_828 = plVar11;
if (local_940 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar7 = (undefined8 *)FUN_140001650(local_940,&local_830);
pIVar3 = (IUnknown *)*puVar7;
if (pIVar3 != (IUnknown *)0x0) {
UVar4 = (*pIVar3->lpVtbl[3].AddRef)(pIVar3);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029dfc0);
}
if (local_830 != (wchar_t *)0x0) {
(**(code **)(*(longlong *)local_830 + 0x10))();
}
if ((longlong *)*plVar11 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar11 + 0x10))();
}
puVar7 = (undefined8 *)FUN_1400016c0(&local_940,&local_890);
This = local_918;
pIVar3 = (IUnknown *)*puVar7;
if (local_918 != pIVar3) {
local_918 = pIVar3;
if (pIVar3 != (IUnknown *)0x0) {
(*pIVar3->lpVtbl->AddRef)(pIVar3);
}
if (This != (IUnknown *)0x0) {
(*This->lpVtbl->Release)(This);
}
}
if (local_890 != (wchar_t *)0x0) {
(**(code **)(*(longlong *)local_890 + 0x10))();
}
pIVar3 = local_918;
if (local_918 != (IUnknown *)0x0) {
local_938 = 0;
UVar4 = (*local_918->lpVtbl[6].Release)(local_918);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029e038);
}
pwVar8 = pwVar15;
if (local_938 == -1) {
local_18c = 0x8f;
}
else {
uVar12 = FUN_140002290(&local_918,local_230,"FIRST_CHARACTER",local_948);
FUN_140199590(uVar12);
local_18a = FUN_140063af0(uVar12);
Ordinal_9(local_230);
if (local_18a < 0) {
if (local_18a == -1) {
local_18c = 0x8e;
}
}
else {
uVar12 = FUN_140002290(&local_918,local_590,"character_id",local_948);
FUN_140063b70(uVar12,&local_630);
local_188 = local_630;
uStack_184 = uStack_62c;
uStack_180 = uStack_628;
uStack_17c = uStack_624;
Ordinal_9(local_590);
uVar12 = FUN_140002290(&local_918,local_380,"AuthID",local_948);
FUN_140063b70(uVar12,&local_680);
local_178 = local_680;
uStack_174 = uStack_67c;
uStack_170 = uStack_678;
uStack_16c = uStack_674;
Ordinal_9(local_380);
uVar12 = FUN_140002290(&local_918,local_560,"server",local_948);
FUN_140199590(uVar12);
local_168 = FUN_140063af0(uVar12);
Ordinal_9(local_560);
uVar12 = FUN_140002290(&local_918,local_290,&DAT_1402a6218,local_948);
FUN_140063de0(uVar12,&local_888);
FUN_14016d8c0();
pwVar8 = (wchar_t *)PTR_DAT_1403440a0;
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
pwVar8 = pwVar15;
}
if (local_888 != (wchar_t *)PTR_DAT_1403440a0) {
uVar12 = FUN_14016d8c0();
local_6d8 = 0;
local_6e0 = uVar12;
FUN_14016db50(uVar12);
local_6d8 = 1;
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar8 + -4 != (wchar_t *)0x0)) {
uVar13 = FUN_14016d8c0();
local_718 = 0;
local_720 = uVar13;
FUN_14016db50(uVar13);
local_718 = 1;
pwVar14 = pwVar8 + -2;
*(int *)pwVar14 = *(int *)pwVar14 + -1;
if (*(int *)pwVar14 == 0) {
FUN_14016d970(pwVar8 + -4);
}
FUN_14016dbe0(uVar13);
}
pwVar8 = local_888;
if (((local_888 != (wchar_t *)PTR_DAT_1403440a0) && (local_888 != (wchar_t *)0x0)) &&
(local_888 != (wchar_t *)0x8)) {
*(int *)(local_888 + -2) = *(int *)(local_888 + -2) + 1;
}
FUN_14016dbe0(uVar12);
}
pwVar14 = pwVar8;
if (pwVar8 == (wchar_t *)0x0) {
pwVar14 = (wchar_t *)PTR_DAT_1403440a0;
}
wcsncpy(local_166,pwVar14,0xf);
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar8 + -4 != (wchar_t *)0x0)) {
uVar12 = FUN_14016d8c0();
local_6f8 = 0;
local_700 = uVar12;
FUN_14016db50(uVar12);
local_6f8 = 1;
pwVar14 = pwVar8 + -2;
*(int *)pwVar14 = *(int *)pwVar14 + -1;
if (*(int *)pwVar14 == 0) {
FUN_14016d970(pwVar8 + -4);
}
FUN_14016dbe0(uVar12);
}
if (((local_888 != (wchar_t *)0x0) && (local_888 != (wchar_t *)PTR_DAT_1403440a0)) &&
(local_888 + -4 != (wchar_t *)0x0)) {
uVar12 = FUN_14016d8c0();
local_768 = 0;
local_770 = uVar12;
FUN_14016db50(uVar12);
local_768 = 1;
pwVar8 = local_888 + -2;
*(int *)pwVar8 = *(int *)pwVar8 + -1;
if (*(int *)pwVar8 == 0) {
FUN_14016d970(local_888 + -4);
}
FUN_14016dbe0(uVar12);
}
local_888 = (wchar_t *)PTR_DAT_1403440a0;
Ordinal_9(local_290);
local_148 = 0;
uVar12 = FUN_140002290(&local_918,local_530,"Class",local_948);
FUN_140199590(uVar12);
local_146 = FUN_140063af0(uVar12);
Ordinal_9(local_530);
uVar12 = FUN_140002290(&local_918,local_350,&DAT_1402a72cc,local_948);
FUN_140199590(uVar12);
local_144 = FUN_140063af0(uVar12);
Ordinal_9(local_350);
uVar12 = FUN_140002290(&local_918,local_500,"Level",local_948);
FUN_140199590(uVar12);
local_142 = FUN_140063af0(uVar12);
Ordinal_9(local_500);
uVar12 = FUN_140002290(&local_918,local_1d0,"Experience",local_948);
FUN_140199590(uVar12);
local_140 = FUN_140199670(uVar12);
Ordinal_9(local_1d0);
uVar12 = FUN_140002290(&local_918,local_4d0,"Stamina",local_948);
FUN_140199590(uVar12);
local_138 = FUN_140063af0(uVar12);
Ordinal_9(local_4d0);
uVar12 = FUN_140002290(&local_918,local_320,&DAT_1402a8c40,local_948);
FUN_140199590(uVar12);
local_134 = FUN_140063af0(uVar12);
Ordinal_9(local_320);
uVar12 = FUN_140002290(&local_918,local_4a0,"Total_SP",local_948);
FUN_140199590(uVar12);
local_130 = FUN_140063af0(uVar12);
Ordinal_9(local_4a0);
uVar12 = FUN_140002290(&local_918,local_260,"Fatigue",local_948);
FUN_140199590(uVar12);
local_12c = FUN_140063af0(uVar12);
Ordinal_9(local_260);
uVar12 = FUN_140002290(&local_918,local_470,"LobbyID",local_948);
FUN_140199590(uVar12);
local_12a = FUN_140063af0(uVar12);
Ordinal_9(local_470);
uVar12 = FUN_140002290(&local_918,local_2f0,"StartPoint",local_948);
FUN_140199590(uVar12);
local_126 = FUN_140063af0(uVar12);
Ordinal_9(local_2f0);
uVar12 = FUN_140002290(&local_918,local_440,&DAT_1402a8c74,local_948);
FUN_140199590(uVar12);
local_124 = FUN_140063af0(uVar12);
Ordinal_9(local_440);
uVar12 = FUN_140002290(&local_918,local_200,"individual_roomID",local_948);
FUN_140199590(uVar12);
local_120 = FUN_140063af0(uVar12);
Ordinal_9(local_200);
FUN_140002290(&local_918,local_698,"GuildID",local_948);
if (local_698[0] == 1) {
local_11c = 0;
local_118 = 0;
local_114 = 0;
local_814 = 0;
}
else {
FUN_140063b70(local_698,&local_820);
local_11c = local_820;
local_118 = local_81c;
local_114 = local_818;
}
local_110 = local_814;
uVar12 = FUN_140002290(&local_918,local_620,"Hearts",local_948);
FUN_140199590(uVar12);
local_10c = FUN_140063af0(uVar12);
Ordinal_9(local_620);
uVar12 = FUN_140002290(&local_918,local_410,"Fortune",local_948);
FUN_140199590(uVar12);
local_10a = FUN_140063af0(uVar12);
Ordinal_9(local_410);
uVar12 = FUN_140002290(&local_918,local_3f8,"first_login",local_948);
FUN_140199590(uVar12);
local_108 = FUN_140063af0(uVar12);
Ordinal_9(local_3f8);
uVar12 = FUN_140002290(&local_918,local_2c0,"tutorial",local_948);
FUN_140199590(uVar12);
local_106 = FUN_140063af0(uVar12);
Ordinal_9(local_2c0);
uVar12 = FUN_140002290(&local_918,local_608,"give_up",local_948);
FUN_140199590(uVar12);
local_104 = FUN_140063af0(uVar12);
Ordinal_9(local_608);
uVar12 = FUN_140002290(&local_918,local_5d8,"Block_Type",local_948);
FUN_140199590(uVar12);
local_100 = FUN_140063af0(uVar12);
Ordinal_9(local_5d8);
uVar12 = FUN_140002290(&local_918,local_5a8,"storage_gold",local_948);
FUN_140199590(uVar12);
local_fe = FUN_140063af0(uVar12);
Ordinal_9(local_5a8);
uVar12 = FUN_140002290(&local_918,local_578,"storage_count",local_948);
FUN_140199590(uVar12);
local_fa = FUN_140063af0(uVar12);
Ordinal_9(local_578);
uVar12 = FUN_140002290(&local_918,local_548,"CreateTime",local_948);
FUN_140199590(uVar12);
local_f5 = FUN_14009f050(uVar12);
Ordinal_9(local_548);
uVar12 = FUN_140002290(&local_918,local_518,"LastLogin",local_948);
FUN_140199590(uVar12);
local_be = FUN_14009f050(uVar12);
Ordinal_9(local_518);
uVar12 = FUN_140002290(&local_918,local_4e8,"Expire_Time",local_948);
FUN_140199590(uVar12);
local_ed = FUN_140063af0(uVar12);
Ordinal_9(local_4e8);
uVar12 = FUN_140002290(&local_918,local_4b8,"event_fatigue",local_948);
FUN_140199590(uVar12);
local_e9 = FUN_140063a70(uVar12);
Ordinal_9(local_4b8);
uVar12 = FUN_140002290(&local_918,local_488,"event_hearts",local_948);
FUN_140199590(uVar12);
local_e8 = FUN_140063a70(uVar12);
Ordinal_9(local_488);
uVar12 = FUN_140002290(&local_918,local_458,"event_fortune",local_948);
FUN_140199590(uVar12);
local_e7 = FUN_140063a70(uVar12);
Ordinal_9(local_458);
uVar12 = FUN_140002290(&local_918,local_428,"dice_point",local_948);
FUN_140199590(uVar12);
local_e2 = FUN_140063af0(uVar12);
Ordinal_9(local_428);
uVar12 = FUN_140002290(&local_918,local_3c8,"Addition_HP",local_948);
FUN_140199590(uVar12);
local_e0 = FUN_140063af0(uVar12);
Ordinal_9(local_3c8);
uVar12 = FUN_140002290(&local_918,local_398,"Addition_MP",local_948);
FUN_140199590(uVar12);
local_de = FUN_140063af0(uVar12);
Ordinal_9(local_398);
uVar12 = FUN_140002290(&local_918,local_368,"Addition_Physic_Attack",local_948);
FUN_140199590(uVar12);
local_dc = FUN_140063af0(uVar12);
Ordinal_9(local_368);
uVar12 = FUN_140002290(&local_918,local_338,"Addition_Physic_Defense",local_948);
FUN_140199590(uVar12);
local_da = FUN_140063af0(uVar12);
Ordinal_9(local_338);
uVar12 = FUN_140002290(&local_918,local_308,"Addition_Magic_Attack",local_948);
FUN_140199590(uVar12);
local_d8 = FUN_140063af0(uVar12);
Ordinal_9(local_308);
uVar12 = FUN_140002290(&local_918,local_2d8,"Addition_Magic_Defense",local_948);
FUN_140199590(uVar12);
local_d6 = FUN_140063af0(uVar12);
Ordinal_9(local_2d8);
uVar12 = FUN_140002290(&local_918,local_2a8,"Permission",local_948);
FUN_140199590(uVar12);
local_d4 = FUN_140063af0(uVar12);
Ordinal_9(local_2a8);
uVar12 = FUN_140002290(&local_918,local_278,"FatigueStorage",local_948);
FUN_140199590(uVar12);
local_d2 = FUN_140063af0(uVar12);
Ordinal_9(local_278);
uVar12 = FUN_140002290(&local_918,local_248,"DayAttachGold",local_948);
FUN_140199590(uVar12);
local_ce = FUN_140063af0(uVar12);
Ordinal_9(local_248);
uVar12 = FUN_140002290(&local_918,local_218,"DayAttachItem",local_948);
FUN_140199590(uVar12);
local_ca = FUN_140063af0(uVar12);
Ordinal_9(local_218);
uVar12 = FUN_140002290(&local_918,local_1e8,"IsTradeEnable",local_948);
FUN_140063de0(uVar12,&local_898);
FUN_14016d8c0();
pwVar8 = (wchar_t *)PTR_DAT_1403440a0;
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
pwVar8 = pwVar15;
}
if (local_898 != (wchar_t *)PTR_DAT_1403440a0) {
uVar12 = FUN_14016d8c0();
local_748 = 0;
local_750 = uVar12;
FUN_14016db50(uVar12);
local_748 = 1;
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar8 + -4 != (wchar_t *)0x0)) {
uVar13 = FUN_14016d8c0();
local_6e8 = 0;
local_6f0 = uVar13;
FUN_14016db50(uVar13);
local_6e8 = 1;
pwVar14 = pwVar8 + -2;
*(int *)pwVar14 = *(int *)pwVar14 + -1;
if (*(int *)pwVar14 == 0) {
FUN_14016d970(pwVar8 + -4);
}
FUN_14016dbe0(uVar13);
}
pwVar8 = local_898;
if (((local_898 != (wchar_t *)PTR_DAT_1403440a0) && (local_898 != (wchar_t *)0x0)) &&
(local_898 != (wchar_t *)0x8)) {
*(int *)(local_898 + -2) = *(int *)(local_898 + -2) + 1;
}
FUN_14016dbe0(uVar12);
}
pwVar14 = pwVar8;
if (pwVar8 == (wchar_t *)0x0) {
pwVar14 = (wchar_t *)PTR_DAT_1403440a0;
}
wcsncpy(local_868,pwVar14,1);
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar8 + -4 != (wchar_t *)0x0)) {
uVar12 = FUN_14016d8c0();
local_728 = 0;
local_730 = uVar12;
FUN_14016db50(uVar12);
local_728 = 1;
pwVar14 = pwVar8 + -2;
*(int *)pwVar14 = *(int *)pwVar14 + -1;
if (*(int *)pwVar14 == 0) {
FUN_14016d970(pwVar8 + -4);
}
FUN_14016dbe0(uVar12);
}
if (((local_898 != (wchar_t *)0x0) && (local_898 != (wchar_t *)PTR_DAT_1403440a0)) &&
(local_898 + -4 != (wchar_t *)0x0)) {
uVar12 = FUN_14016d8c0();
local_6b8 = 0;
local_6c0 = uVar12;
FUN_14016db50(uVar12);
local_6b8 = 1;
pwVar8 = local_898 + -2;
*(int *)pwVar8 = *(int *)pwVar8 + -1;
if (*(int *)pwVar8 == 0) {
FUN_14016d970(local_898 + -4);
}
FUN_14016dbe0(uVar12);
}
local_898 = (wchar_t *)PTR_DAT_1403440a0;
Ordinal_9(local_1e8);
local_f8 = local_868[0] == L'Y';
uVar12 = FUN_140002290(&local_918,local_1b8,"IsMoveEnable",local_948);
FUN_140063de0(uVar12,&local_880);
FUN_14016d8c0();
pwVar8 = (wchar_t *)PTR_DAT_1403440a0;
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
pwVar8 = pwVar15;
}
if (local_880 != (wchar_t *)PTR_DAT_1403440a0) {
uVar12 = FUN_14016d8c0();
local_708 = 0;
local_710 = uVar12;
FUN_14016db50(uVar12);
local_708 = 1;
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar8 + -4 != (wchar_t *)0x0)) {
uVar13 = FUN_14016d8c0();
local_6c8 = 0;
local_6d0 = uVar13;
FUN_14016db50(uVar13);
local_6c8 = 1;
pwVar14 = pwVar8 + -2;
*(int *)pwVar14 = *(int *)pwVar14 + -1;
if (*(int *)pwVar14 == 0) {
FUN_14016d970(pwVar8 + -4);
}
FUN_14016dbe0(uVar13);
}
pwVar8 = local_880;
if (((local_880 != (wchar_t *)PTR_DAT_1403440a0) && (local_880 != (wchar_t *)0x0)) &&
(local_880 != (wchar_t *)0x8)) {
*(int *)(local_880 + -2) = *(int *)(local_880 + -2) + 1;
}
FUN_14016dbe0(uVar12);
}
pwVar14 = pwVar8;
if (pwVar8 == (wchar_t *)0x0) {
pwVar14 = (wchar_t *)PTR_DAT_1403440a0;
}
wcsncpy(local_848,pwVar14,1);
if (((pwVar8 != (wchar_t *)0x0) && (pwVar8 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar8 + -4 != (wchar_t *)0x0)) {
uVar12 = FUN_14016d8c0();
local_758 = 0;
local_760 = uVar12;
FUN_14016db50(uVar12);
local_758 = 1;
pwVar14 = pwVar8 + -2;
*(int *)pwVar14 = *(int *)pwVar14 + -1;
if (*(int *)pwVar14 == 0) {
FUN_14016d970(pwVar8 + -4);
}
FUN_14016dbe0(uVar12);
}
if (((local_880 != (wchar_t *)0x0) && (local_880 != (wchar_t *)PTR_DAT_1403440a0)) &&
(local_880 + -4 != (wchar_t *)0x0)) {
uVar12 = FUN_14016d8c0();
local_738 = 0;
local_740 = uVar12;
FUN_14016db50(uVar12);
local_738 = 1;
pwVar8 = local_880 + -2;
*(int *)pwVar8 = *(int *)pwVar8 + -1;
if (*(int *)pwVar8 == 0) {
FUN_14016d970(local_880 + -4);
}
FUN_14016dbe0(uVar12);
}
local_880 = (wchar_t *)PTR_DAT_1403440a0;
Ordinal_9(local_1b8);
local_f7 = local_848[0] == L'Y';
Ordinal_9(local_698);
pwVar8 = (wchar_t *)0x1;
if (local_948[0] == '\0') {
local_18c = 0x8c;
pwVar8 = pwVar15;
}
}
}
iVar5 = FUN_1400a7630(*(undefined8 *)(param_1[0x22] + 0xf0),&local_198);
if (iVar5 == 0) {
FUN_1400a6d80(param_1[0x23],"DBResultQueue_Error.Log","DB Result Queue push error");
}
pIVar3 = local_918;
if (local_918 != (IUnknown *)0x0) {
local_930 = (undefined8 *)((ulonglong)local_930 & 0xffffffff00000000);
UVar4 = (*local_918->lpVtbl[0x12].AddRef)(local_918);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029e038);
}
pIVar3 = local_918;
if ((int)local_930 != 0) {
if (local_918 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar4 = (*local_918->lpVtbl[10].Release)(local_918);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar3,(_GUID *)&DAT_14029e038);
}
}
if (local_918 != (IUnknown *)0x0) {
(*local_918->lpVtbl->Release)(local_918);
local_918 = (IUnknown *)0x0;
}
}
local_8b0 = 0;
local_8a8 = &DAT_14029e010;
local_8c0 = &DAT_14029e010;
local_8b8 = 0;
local_8c8 = 0;
Ordinal_9(local_8e0);
Ordinal_9(local_8f8);
if (local_910 != (longlong *)0x0) {
(**(code **)(*local_910 + 0x10))();
}
if (local_918 != (IUnknown *)0x0) {
(*local_918->lpVtbl->Release)(local_918);
}
if (local_940 != (longlong *)0x0) {
(**(code **)(*local_940 + 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);
}