server-re/decomp/MessageServer_Release_x64/full/functions/0x140076c50.c

36 lines
1.1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x140076c50 FUN_140076c50
* Pseudocode, not original source. */
DWORD FUN_140076c50(longlong param_1,uint param_2,ulonglong param_3,BOOL param_4)
{
longlong lVar1;
DWORD DVar2;
DWORD DVar3;
longlong lVar4;
exception local_258 [72];
HANDLE apvStack_210 [65];
if ((int)param_2 < 0x41) {
lVar4 = 0;
if (0 < (int)param_2) {
do {
lVar1 = lVar4 * 8;
lVar4 = lVar4 + 1;
apvStack_210[lVar4] = (HANDLE)**(undefined8 **)(param_1 + lVar1);
} while (lVar4 < (int)param_2);
}
DVar2 = WaitForMultipleObjects(param_2,apvStack_210 + 1,param_4,(DWORD)param_3);
DVar3 = 0xffffffff;
if (DVar2 < param_2) {
DVar3 = DVar2;
}
return DVar3;
}
FUN_14006ba50(local_258,L"WaitForSignal에서 최대 가능한 갯수를 초과했음",param_3,
param_3 & 0xffffffff);
/* WARNING: Subroutine does not return */
_CxxThrowException(local_258,(ThrowInfo *)&DAT_1401a93e8);
}