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