/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14013ff30 FUN_14013ff30 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ int FUN_14013ff30(longlong param_1,ushort param_2,undefined8 *param_3,undefined4 *param_4) { longlong lVar1; int iVar2; undefined1 auStack_78 [32]; undefined2 local_58; undefined2 local_56; undefined8 local_54; undefined2 local_4c; undefined8 local_4a; undefined8 local_42; undefined4 local_3a; undefined4 local_36; undefined4 local_32; ulonglong local_28; local_28 = DAT_1403463c0 ^ (ulonglong)auStack_78; local_32 = param_4[2]; local_56 = 0x4f3; local_58 = 0x2a; local_4a = *param_3; local_54 = 0; local_42 = param_3[1]; local_4c = 0; local_3a = *param_4; local_36 = param_4[1]; if (param_2 < 1000) { lVar1 = *(longlong *)(*(longlong *)(param_1 + 200) + (longlong)(short)param_2 * 8); if (lVar1 != 0) { EnterCriticalSection((LPCRITICAL_SECTION)(lVar1 + 0x38)); iVar2 = FUN_1400a7630(*(undefined8 *)(lVar1 + 0x18),&local_58); if (iVar2 != 0) { ReleaseSemaphore(*(HANDLE *)(lVar1 + 0x10),1,(LPLONG)0x0); } LeaveCriticalSection((LPCRITICAL_SECTION)(lVar1 + 0x38)); return iVar2; } } else { wprintf(L"Invalid Queue Index\n"); } return 0; }