159 lines
4.3 KiB
C
159 lines
4.3 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14013c010 FUN_14013c010
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
|
|
int FUN_14013c010(longlong param_1,undefined4 param_2,ushort param_3,undefined4 param_4,
|
|
undefined8 *param_5,undefined8 *param_6,char *param_7,wchar_t *param_8,
|
|
wchar_t *param_9,undefined4 param_10,short *param_11,undefined8 param_12)
|
|
|
|
{
|
|
short sVar1;
|
|
longlong lVar2;
|
|
int iVar3;
|
|
short *psVar4;
|
|
undefined1 auStack_1a8 [32];
|
|
ushort local_188;
|
|
longlong local_180;
|
|
undefined4 local_178;
|
|
undefined4 local_174;
|
|
undefined4 local_170;
|
|
undefined2 local_16c;
|
|
undefined8 local_16a;
|
|
undefined8 local_162;
|
|
undefined8 local_15a;
|
|
undefined8 local_152;
|
|
undefined4 local_14a;
|
|
undefined8 local_146;
|
|
char local_13e [51];
|
|
wchar_t local_10b [32];
|
|
short local_cb [50];
|
|
undefined2 local_67;
|
|
ulonglong local_58;
|
|
|
|
local_58 = DAT_1403463c0 ^ (ulonglong)auStack_1a8;
|
|
local_16c = 0;
|
|
local_10b[0] = L'\0';
|
|
local_10b[1] = L'\0';
|
|
local_10b[2] = L'\0';
|
|
local_10b[3] = L'\0';
|
|
local_10b[4] = L'\0';
|
|
local_10b[5] = L'\0';
|
|
local_10b[6] = L'\0';
|
|
local_10b[7] = L'\0';
|
|
local_10b[8] = L'\0';
|
|
local_10b[9] = L'\0';
|
|
local_10b[10] = L'\0';
|
|
local_10b[0xb] = L'\0';
|
|
local_10b[0xc] = L'\0';
|
|
local_10b[0xd] = L'\0';
|
|
local_10b[0xe] = L'\0';
|
|
local_10b[0xf] = L'\0';
|
|
local_10b[0x10] = L'\0';
|
|
local_10b[0x11] = L'\0';
|
|
local_10b[0x12] = L'\0';
|
|
local_10b[0x13] = L'\0';
|
|
local_10b[0x14] = L'\0';
|
|
local_10b[0x15] = L'\0';
|
|
local_10b[0x16] = L'\0';
|
|
local_10b[0x17] = L'\0';
|
|
local_10b[0x18] = L'\0';
|
|
local_10b[0x19] = L'\0';
|
|
local_10b[0x1a] = L'\0';
|
|
local_10b[0x1b] = L'\0';
|
|
local_10b[0x1c] = L'\0';
|
|
local_10b[0x1d] = L'\0';
|
|
local_10b[0x1e] = L'\0';
|
|
local_10b[0x1f] = L'\0';
|
|
local_13e[0] = '\0';
|
|
local_13e[1] = '\0';
|
|
local_13e[2] = '\0';
|
|
local_13e[3] = '\0';
|
|
local_13e[4] = '\0';
|
|
local_13e[5] = '\0';
|
|
local_13e[6] = '\0';
|
|
local_13e[7] = '\0';
|
|
local_13e[8] = '\0';
|
|
local_13e[9] = '\0';
|
|
local_13e[10] = '\0';
|
|
local_13e[0xb] = '\0';
|
|
local_13e[0xc] = '\0';
|
|
local_13e[0xd] = '\0';
|
|
local_13e[0xe] = '\0';
|
|
local_13e[0xf] = '\0';
|
|
local_13e[0x10] = '\0';
|
|
local_13e[0x11] = '\0';
|
|
local_13e[0x12] = '\0';
|
|
local_13e[0x13] = '\0';
|
|
local_13e[0x14] = '\0';
|
|
local_13e[0x15] = '\0';
|
|
local_13e[0x16] = '\0';
|
|
local_13e[0x17] = '\0';
|
|
local_13e[0x18] = '\0';
|
|
local_13e[0x19] = '\0';
|
|
local_13e[0x1a] = '\0';
|
|
local_13e[0x1b] = '\0';
|
|
local_13e[0x1c] = '\0';
|
|
local_13e[0x1d] = '\0';
|
|
local_13e[0x1e] = '\0';
|
|
local_13e[0x1f] = '\0';
|
|
local_13e[0x20] = '\0';
|
|
local_13e[0x21] = '\0';
|
|
local_13e[0x22] = '\0';
|
|
local_13e[0x23] = '\0';
|
|
local_13e[0x24] = '\0';
|
|
local_13e[0x25] = '\0';
|
|
local_13e[0x26] = '\0';
|
|
local_13e[0x27] = '\0';
|
|
local_13e[0x28] = '\0';
|
|
local_13e[0x29] = '\0';
|
|
local_13e[0x2a] = '\0';
|
|
local_13e[0x2b] = '\0';
|
|
local_13e[0x2c] = '\0';
|
|
local_13e[0x2d] = '\0';
|
|
local_13e[0x2e] = '\0';
|
|
local_13e[0x2f] = '\0';
|
|
local_13e[0x30] = '\0';
|
|
local_13e[0x31] = '\0';
|
|
local_13e[0x32] = 0;
|
|
local_188 = param_3;
|
|
local_180 = param_1;
|
|
memset(local_cb,0,0x66);
|
|
local_16a = *param_5;
|
|
local_146 = param_12;
|
|
local_162 = param_5[1];
|
|
local_15a = *param_6;
|
|
local_152 = param_6[1];
|
|
local_178 = 0x5020113;
|
|
local_14a = param_10;
|
|
local_174 = param_4;
|
|
local_170 = param_2;
|
|
strncpy(local_13e,param_7,0x32);
|
|
wcsncpy(local_10b,param_9,0xf);
|
|
wcsncpy(local_10b + 0x10,param_8,0xf);
|
|
psVar4 = param_11;
|
|
do {
|
|
sVar1 = *psVar4;
|
|
psVar4 = psVar4 + 1;
|
|
*(short *)((longlong)local_cb + (-2 - (longlong)param_11) + (longlong)psVar4) = sVar1;
|
|
} while (sVar1 != 0);
|
|
local_67 = 0;
|
|
if (local_188 < 1000) {
|
|
lVar2 = *(longlong *)(*(longlong *)(local_180 + 200) + (longlong)(short)local_188 * 8);
|
|
if (lVar2 != 0) {
|
|
EnterCriticalSection((LPCRITICAL_SECTION)(lVar2 + 0x38));
|
|
iVar3 = FUN_1400a7630(*(undefined8 *)(lVar2 + 0x18),&local_178);
|
|
if (iVar3 != 0) {
|
|
ReleaseSemaphore(*(HANDLE *)(lVar2 + 0x10),1,(LPLONG)0x0);
|
|
}
|
|
LeaveCriticalSection((LPCRITICAL_SECTION)(lVar2 + 0x38));
|
|
return iVar3;
|
|
}
|
|
}
|
|
else {
|
|
wprintf(L"Invalid Queue Index\n");
|
|
}
|
|
return 0;
|
|
}
|
|
|