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
156
decomp/DBCServer_Release_x64/full/functions/0x14013cc80.c
Normal file
156
decomp/DBCServer_Release_x64/full/functions/0x14013cc80.c
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x14013cc80 FUN_14013cc80
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
int FUN_14013cc80(longlong param_1,ushort param_2,undefined4 param_3,undefined4 param_4,
|
||||
undefined8 *param_5,wchar_t *param_6,undefined2 param_7,undefined2 param_8,
|
||||
undefined4 *param_9,undefined4 param_10,char *param_11)
|
||||
|
||||
{
|
||||
wchar_t wVar1;
|
||||
int iVar2;
|
||||
longlong lVar3;
|
||||
wchar_t *pwVar4;
|
||||
undefined1 auStack_f8 [32];
|
||||
undefined2 local_d8;
|
||||
undefined2 local_d6;
|
||||
undefined4 local_d4;
|
||||
undefined4 local_d0;
|
||||
undefined2 local_cc;
|
||||
undefined8 local_ca;
|
||||
undefined8 local_c2;
|
||||
char local_ba [48];
|
||||
ushort local_8a;
|
||||
wchar_t local_88 [12];
|
||||
ulonglong local_70;
|
||||
undefined4 local_68;
|
||||
undefined4 local_64;
|
||||
undefined4 local_60;
|
||||
undefined4 local_5c;
|
||||
undefined4 local_58;
|
||||
undefined4 local_54;
|
||||
ulonglong local_48;
|
||||
|
||||
local_48 = DAT_1403463c0 ^ (ulonglong)auStack_f8;
|
||||
if (param_6 == (wchar_t *)0x0) {
|
||||
iVar2 = 0;
|
||||
}
|
||||
else {
|
||||
lVar3 = -1;
|
||||
pwVar4 = param_6;
|
||||
do {
|
||||
if (lVar3 == 0) break;
|
||||
lVar3 = lVar3 + -1;
|
||||
wVar1 = *pwVar4;
|
||||
pwVar4 = pwVar4 + 1;
|
||||
} while (wVar1 != L'\0');
|
||||
iVar2 = 0;
|
||||
if (lVar3 != -2) {
|
||||
iVar2 = 0;
|
||||
local_64 = 0;
|
||||
local_60 = 0;
|
||||
local_5c = 0;
|
||||
local_cc = 0;
|
||||
local_58 = 0;
|
||||
local_68 = 0;
|
||||
local_ba[0] = '\0';
|
||||
local_ba[1] = '\0';
|
||||
local_ba[2] = '\0';
|
||||
local_ba[3] = '\0';
|
||||
local_ba[4] = '\0';
|
||||
local_ba[5] = '\0';
|
||||
local_ba[6] = '\0';
|
||||
local_ba[7] = '\0';
|
||||
local_ba[8] = '\0';
|
||||
local_ba[9] = '\0';
|
||||
local_ba[10] = '\0';
|
||||
local_ba[0xb] = '\0';
|
||||
local_ba[0xc] = '\0';
|
||||
local_ba[0xd] = '\0';
|
||||
local_ba[0xe] = '\0';
|
||||
local_ba[0xf] = '\0';
|
||||
local_ba[0x10] = '\0';
|
||||
local_ba[0x11] = '\0';
|
||||
local_ba[0x12] = '\0';
|
||||
local_ba[0x13] = '\0';
|
||||
local_ba[0x14] = '\0';
|
||||
local_ba[0x15] = '\0';
|
||||
local_ba[0x16] = '\0';
|
||||
local_ba[0x17] = '\0';
|
||||
local_ba[0x18] = '\0';
|
||||
local_ba[0x19] = '\0';
|
||||
local_ba[0x1a] = '\0';
|
||||
local_ba[0x1b] = '\0';
|
||||
local_ba[0x1c] = '\0';
|
||||
local_ba[0x1d] = '\0';
|
||||
local_ba[0x1e] = '\0';
|
||||
local_ba[0x1f] = '\0';
|
||||
local_ba[0x20] = '\0';
|
||||
local_ba[0x21] = '\0';
|
||||
local_ba[0x22] = '\0';
|
||||
local_ba[0x23] = '\0';
|
||||
local_ba[0x24] = '\0';
|
||||
local_ba[0x25] = '\0';
|
||||
local_ba[0x26] = '\0';
|
||||
local_ba[0x27] = '\0';
|
||||
local_ba[0x28] = '\0';
|
||||
local_ba[0x29] = '\0';
|
||||
local_ba[0x2a] = '\0';
|
||||
local_ba[0x2b] = '\0';
|
||||
local_ba[0x2c] = '\0';
|
||||
local_ba[0x2d] = '\0';
|
||||
local_ba[0x2e] = '\0';
|
||||
local_ba[0x2f] = '\0';
|
||||
local_8a = 0;
|
||||
local_88[0] = L'\0';
|
||||
local_88[1] = L'\0';
|
||||
local_88[2] = L'\0';
|
||||
local_88[3] = L'\0';
|
||||
local_88[4] = L'\0';
|
||||
local_88[5] = L'\0';
|
||||
local_88[6] = L'\0';
|
||||
local_88[7] = L'\0';
|
||||
local_88[8] = L'\0';
|
||||
local_88[9] = L'\0';
|
||||
local_88[10] = L'\0';
|
||||
local_88[0xb] = L'\0';
|
||||
local_70 = 0;
|
||||
local_d6 = 0x3ee;
|
||||
local_54 = 0;
|
||||
local_d8 = 0x88;
|
||||
local_ca = *param_5;
|
||||
local_c2 = param_5[1];
|
||||
local_d4 = param_4;
|
||||
local_d0 = param_3;
|
||||
wcsncpy(local_88,param_6,0xf);
|
||||
local_70 = local_70 & 0xffffffffffff;
|
||||
strncpy(local_ba,param_11,0x31);
|
||||
local_8a = local_8a & 0xff;
|
||||
local_68 = CONCAT22(param_8,param_7);
|
||||
local_64 = *param_9;
|
||||
local_60 = param_9[1];
|
||||
local_5c = param_9[2];
|
||||
local_58 = param_9[3];
|
||||
local_54 = param_10;
|
||||
if (param_2 < 1000) {
|
||||
lVar3 = *(longlong *)(*(longlong *)(param_1 + 200) + (longlong)(short)param_2 * 8);
|
||||
iVar2 = 0;
|
||||
if (lVar3 != 0) {
|
||||
EnterCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x38));
|
||||
iVar2 = FUN_1400a7630(*(undefined8 *)(lVar3 + 0x18),&local_d8);
|
||||
if (iVar2 != 0) {
|
||||
ReleaseSemaphore(*(HANDLE *)(lVar3 + 0x10),1,(LPLONG)0x0);
|
||||
}
|
||||
LeaveCriticalSection((LPCRITICAL_SECTION)(lVar3 + 0x38));
|
||||
}
|
||||
}
|
||||
else {
|
||||
wprintf(L"Invalid Queue Index\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
return iVar2;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue