/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1400f6bb0 FUN_1400f6bb0 * Pseudocode, not original source. */ /* WARNING: Removing unreachable block (ram,0x0001400f6df7) */ /* WARNING: Removing unreachable block (ram,0x0001400f6e01) */ /* WARNING: Removing unreachable block (ram,0x0001400f6e0c) */ /* WARNING: Removing unreachable block (ram,0x0001400f6e1c) */ longlong * FUN_1400f6bb0(undefined8 *param_1,undefined8 *param_2) { undefined2 uVar1; IUnknown *pIVar2; IUnknown *This; int iVar3; HRESULT HVar4; ULONG UVar5; undefined4 uVar6; undefined8 *puVar7; longlong *plVar8; longlong lVar9; undefined8 uVar10; longlong *plVar11; char local_res18 [8]; longlong *local_res20; longlong *local_158; undefined8 local_150; undefined4 local_148; undefined2 uStack_144; undefined2 uStack_142; undefined2 uStack_140; int local_138; int local_134; LPUNKNOWN local_130; IUnknown *local_128; longlong *local_120; undefined4 local_118; undefined1 local_108 [24]; undefined1 local_f0 [24]; undefined4 local_d8; undefined1 *local_d0; undefined4 local_c8; undefined8 local_c0; undefined1 *local_b8; longlong *local_a8; short local_a0 [4]; undefined2 local_98; longlong *local_88; longlong *local_80; longlong *local_78 [3]; undefined8 local_60; undefined1 local_58 [8]; undefined1 local_50 [24]; local_60 = 0xfffffffffffffffe; local_res18[0] = '\x01'; plVar11 = (longlong *)0x0; local_158 = (longlong *)0x0; iVar3 = FUN_140001990(&local_158); if ((iVar3 < 0) && (iVar3 != -0x7fffbffe)) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar3); } local_128 = (IUnknown *)0x0; local_120 = (longlong *)0x0; Ordinal_8(local_108); Ordinal_8(local_f0); pIVar2 = local_128; if ((local_128 != (IUnknown *)0x0) && (local_128 = (IUnknown *)0x0, pIVar2 != (IUnknown *)0x0)) { (*pIVar2->lpVtbl->Release)(pIVar2); } local_b8 = &DAT_14029e010; local_d0 = &DAT_14029e010; local_c8 = 0; local_c0 = 0; if (local_128 != (IUnknown *)0x0) { (*local_128->lpVtbl->Release)(local_128); } HVar4 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0, &local_130); if (HVar4 < 0) { LAB_1400f6cf1: local_128 = (IUnknown *)0x0; } else { HVar4 = OleRun(local_130); if (-1 < HVar4) { HVar4 = (*local_130->lpVtbl->QueryInterface)(local_130,(IID *)&DAT_14029e078,&local_128); } (*local_130->lpVtbl->Release)(local_130); if (HVar4 < 0) goto LAB_1400f6cf1; } local_d8 = 2; local_118 = 1; uStack_142 = 0; uStack_140 = 0; local_148 = *(undefined4 *)(param_2 + 1); local_150 = CONCAT44((int)((ulonglong)*param_2 >> 0x20),0x24500000); uStack_144 = 0x15d; local_150 = CONCAT62(local_150._2_6_,0x12); pIVar2 = *(IUnknown **)*param_1; if (pIVar2 != (IUnknown *)0x0) { local_134 = 0; UVar5 = (*pIVar2->lpVtbl[0xb].AddRef)(pIVar2); if ((int)UVar5 < 0) { _com_issue_errorex(UVar5,pIVar2,(_GUID *)&DAT_14029e018); } if (local_134 != 0) goto LAB_1400f6ebf; } iVar3 = FUN_1400a80c0(param_1); if (iVar3 == 0) { FUN_1400a8040(param_1,param_2,0); pIVar2 = local_128; if (local_128 != (IUnknown *)0x0) { UVar5 = (*local_128->lpVtbl[0x12].AddRef)(local_128); if ((int)UVar5 < 0) { _com_issue_errorex(UVar5,pIVar2,(_GUID *)&DAT_14029e038); } if (local_128 != (IUnknown *)0x0) { (*local_128->lpVtbl->Release)(local_128); local_128 = (IUnknown *)0x0; } } local_c0 = 0; local_b8 = &DAT_14029e010; local_d0 = &DAT_14029e010; local_c8 = 0; local_d8 = 0; Ordinal_9(local_f0); Ordinal_9(local_108); if (local_120 != (longlong *)0x0) { (**(code **)(*local_120 + 0x10))(); } if (local_128 != (IUnknown *)0x0) { (*local_128->lpVtbl->Release)(local_128); } if (local_158 != (longlong *)0x0) { (**(code **)(*local_158 + 0x10))(); } return (longlong *)0x0; } LAB_1400f6ebf: puVar7 = (undefined8 *)FUN_140001f40(*param_1,&local_88); FUN_140001700(&local_158,*puVar7,"dbo.up_get_guild_total_count"); if (local_88 != (longlong *)0x0) { (**(code **)(*local_88 + 0x10))(); } local_res20 = (longlong *)local_a0; uVar1 = *(undefined2 *)((longlong)param_2 + 0xe); Ordinal_8(local_a0); if (local_a0[0] != 0x12) { iVar3 = Ordinal_9(local_a0); if (iVar3 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar3); } local_a0[0] = 0x12; } local_98 = uVar1; plVar8 = operator_new(0x18); local_80 = plVar11; local_a8 = plVar8; if (plVar8 != (longlong *)0x0) { plVar8[1] = 0; *(undefined4 *)(plVar8 + 2) = 1; lVar9 = FUN_1402182d0("server"); *plVar8 = lVar9; local_80 = plVar8; } if (local_80 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar8 = (longlong *)FUN_140001870(&local_158,local_58,&local_80,2,1,2,local_a0); local_res20 = plVar8; if (local_158 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar7 = (undefined8 *)FUN_140001650(local_158,local_78); pIVar2 = (IUnknown *)*puVar7; if (pIVar2 != (IUnknown *)0x0) { UVar5 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar5 < 0) { _com_issue_errorex(UVar5,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_78[0] != (longlong *)0x0) { (**(code **)(*local_78[0] + 0x10))(); } if ((longlong *)*plVar8 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar8 + 0x10))(); } puVar7 = (undefined8 *)FUN_1400016c0(&local_158,&local_a8); This = local_128; pIVar2 = (IUnknown *)*puVar7; if (local_128 != pIVar2) { local_128 = pIVar2; if (pIVar2 != (IUnknown *)0x0) { (*pIVar2->lpVtbl->AddRef)(pIVar2); } if (This != (IUnknown *)0x0) { (*This->lpVtbl->Release)(This); } } if (local_a8 != (longlong *)0x0) { (**(code **)(*local_a8 + 0x10))(); } pIVar2 = local_128; if (local_128 != (IUnknown *)0x0) { local_res20 = (longlong *)((ulonglong)local_res20 & 0xffffffffffff0000); UVar5 = (*local_128->lpVtbl[6].Release)(local_128); if ((int)UVar5 < 0) { _com_issue_errorex(UVar5,pIVar2,(_GUID *)&DAT_14029e038); } if ((short)local_res20 == -1) { uStack_144 = 0x15e; plVar8 = plVar11; } else { uVar10 = FUN_140002290(&local_128,local_50,"total_cnt",local_res18); FUN_140199590(uVar10); uVar6 = FUN_1400dc990(uVar10); uStack_142 = (undefined2)uVar6; uStack_140 = (undefined2)((uint)uVar6 >> 0x10); Ordinal_9(local_50); plVar8 = (longlong *)0x1; if (local_res18[0] == '\0') { uStack_144 = 0x15f; plVar8 = plVar11; } } param_1[0x26] = local_150; param_1[0x27] = CONCAT26(uStack_142,CONCAT24(uStack_144,local_148)); *(undefined2 *)(param_1 + 0x28) = uStack_140; iVar3 = FUN_1400a7630(*(undefined8 *)(param_1[0x22] + 0xf0)); if (iVar3 == 0) { FUN_1400a6d80(param_1[0x23],"DBResultQueue_Error.Log","DB Result Queue push error"); } pIVar2 = local_128; if (local_128 != (IUnknown *)0x0) { local_138 = 0; UVar5 = (*local_128->lpVtbl[0x12].AddRef)(local_128); if ((int)UVar5 < 0) { _com_issue_errorex(UVar5,pIVar2,(_GUID *)&DAT_14029e038); } pIVar2 = local_128; if (local_138 != 0) { if (local_128 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar5 = (*local_128->lpVtbl[10].Release)(local_128); if ((int)UVar5 < 0) { _com_issue_errorex(UVar5,pIVar2,(_GUID *)&DAT_14029e038); } } if (local_128 != (IUnknown *)0x0) { (*local_128->lpVtbl->Release)(local_128); local_128 = (IUnknown *)0x0; } } local_c0 = 0; local_b8 = &DAT_14029e010; local_d0 = &DAT_14029e010; local_c8 = 0; local_d8 = 0; Ordinal_9(local_f0); Ordinal_9(local_108); if (local_120 != (longlong *)0x0) { (**(code **)(*local_120 + 0x10))(); } if (local_128 != (IUnknown *)0x0) { (*local_128->lpVtbl->Release)(local_128); } if (local_158 != (longlong *)0x0) { (**(code **)(*local_158 + 0x10))(); } return plVar8; } /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); }