/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14013a6e0 FUN_14013a6e0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ int FUN_14013a6e0(longlong param_1,short param_2,char *param_3,wchar_t *param_4,undefined4 param_5, char *param_6,char *param_7,char *param_8) { int iVar1; longlong lVar2; undefined1 auStack_118 [32]; undefined2 local_f8; undefined2 local_f6; undefined8 local_f4; undefined2 local_ec; char local_ea [105]; wchar_t local_81 [16]; undefined4 local_61; ulonglong local_58; local_58 = DAT_1403463c0 ^ (ulonglong)auStack_118; iVar1 = 0; local_ea[0] = '\0'; local_ea[1] = '\0'; local_ea[2] = '\0'; local_ea[3] = '\0'; local_ea[4] = '\0'; local_ea[5] = '\0'; local_ea[6] = '\0'; local_ea[7] = '\0'; local_ea[8] = '\0'; local_ea[9] = '\0'; local_ea[10] = '\0'; local_ea[0xb] = '\0'; local_ea[0xc] = '\0'; local_ea[0xd] = '\0'; local_ea[0xe] = '\0'; local_ea[0xf] = '\0'; local_ea[0x10] = '\0'; local_ea[0x11] = '\0'; local_ea[0x12] = '\0'; local_ea[0x13] = '\0'; local_ea[0x14] = '\0'; local_ea[0x15] = '\0'; local_ea[0x16] = '\0'; local_ea[0x17] = '\0'; local_ea[0x18] = '\0'; local_ea[0x19] = '\0'; local_ea[0x1a] = '\0'; local_ea[0x1b] = '\0'; local_ea[0x1c] = '\0'; local_ea[0x1d] = '\0'; local_ea[0x1e] = '\0'; local_ea[0x1f] = '\0'; local_ea[0x20] = '\0'; local_ea[0x21] = '\0'; local_ea[0x22] = '\0'; local_ea[0x23] = '\0'; local_ea[0x24] = '\0'; local_ea[0x25] = '\0'; local_ea[0x26] = '\0'; local_ea[0x27] = '\0'; local_ea[0x28] = '\0'; local_ea[0x29] = '\0'; local_ea[0x2a] = '\0'; local_ea[0x2b] = '\0'; local_ea[0x2c] = '\0'; local_ea[0x2d] = '\0'; local_ea[0x2e] = '\0'; local_ea[0x2f] = '\0'; local_ea[0x30] = '\0'; local_ea[0x31] = '\0'; local_ea[0x32] = 0; local_ea[0x33] = '\0'; local_ea[0x34] = '\0'; local_ea[0x35] = '\0'; local_ea[0x36] = '\0'; local_ea[0x37] = '\0'; local_ea[0x38] = '\0'; local_ea[0x39] = '\0'; local_ea[0x3a] = '\0'; local_ea[0x3b] = '\0'; local_ea[0x3c] = '\0'; local_ea[0x3d] = '\0'; local_ea[0x3e] = '\0'; local_ea[0x3f] = '\0'; local_ea[0x40] = '\0'; local_ea[0x41] = '\0'; local_ea[0x42] = '\0'; local_ea[0x43] = '\0'; local_ea[0x44] = '\0'; local_ea[0x45] = '\0'; local_ea[0x46] = '\0'; local_ea[0x47] = '\0'; local_ea[0x48] = '\0'; local_ea[0x49] = '\0'; local_ea[0x4a] = '\0'; local_ea[0x4b] = '\0'; local_ea[0x4c] = '\0'; local_ea[0x4d] = '\0'; local_ea[0x4e] = '\0'; local_ea[0x4f] = '\0'; local_ea[0x50] = '\0'; local_ea[0x51] = '\0'; local_ea[0x52] = '\0'; local_ea[0x53] = '\0'; local_ea[0x54] = '\0'; local_ea[0x55] = '\0'; local_ea[0x56] = '\0'; local_ea[0x57] = '\0'; local_ea[0x58] = '\0'; local_ea[0x59] = '\0'; local_ea[0x5a] = '\0'; local_ea[0x5b] = '\0'; local_ea[0x5c] = '\0'; local_ea[0x5d] = '\0'; local_ea[0x5e] = '\0'; local_ea[0x5f] = '\0'; local_ea[0x60] = '\0'; local_ea[0x61] = '\0'; local_ea[0x62] = '\0'; local_ea[99] = '\0'; local_ea[100] = '\0'; local_ea[0x65] = '\0'; local_ea[0x66] = '\0'; local_ea[0x67] = '\0'; local_ea[0x68] = '\0'; local_81[0] = L'\0'; local_81[1] = L'\0'; local_81[2] = L'\0'; local_81[3] = L'\0'; local_81[4] = L'\0'; local_81[5] = L'\0'; local_81[6] = L'\0'; local_81[7] = L'\0'; local_81[8] = L'\0'; local_81[9] = L'\0'; local_81[10] = L'\0'; local_81[0xb] = L'\0'; local_81[0xc] = L'\0'; local_81[0xd] = L'\0'; local_81[0xe] = L'\0'; local_81[0xf] = L'\0'; local_f6 = 0x523; local_f8 = 0x9b; local_ec = 0; local_61 = 0; local_f4 = 0; strncpy(local_ea,param_3,0x32); strncpy(local_ea + 0x33,param_6,0x12); strncpy(local_ea + 0x45,param_7,0x12); strncpy(local_ea + 0x57,param_8,0x12); wcsncpy(local_81,param_4,0x10); local_61 = param_5; if (*(longlong *)(DAT_140353190 + 0x118) == 0) { lVar2 = *(longlong *)(param_1 + 200); } else { lVar2 = *(longlong *)(param_1 + 0xd8); } if ((param_2 < 0) || (999 < param_2)) { wprintf(L"Invalid Queue Index\n"); } else { lVar2 = *(longlong *)(lVar2 + (longlong)param_2 * 8); if (lVar2 != 0) { EnterCriticalSection((LPCRITICAL_SECTION)(lVar2 + 0x38)); iVar1 = FUN_1400a7630(*(undefined8 *)(lVar2 + 0x18),&local_f8); if (iVar1 != 0) { ReleaseSemaphore(*(HANDLE *)(lVar2 + 0x10),1,(LPLONG)0x0); } LeaveCriticalSection((LPCRITICAL_SECTION)(lVar2 + 0x38)); } } return iVar1; }