/* 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; }