36 lines
1.1 KiB
C
36 lines
1.1 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x140002630 FUN_140002630
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_140002630(undefined8 *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined2 local_res8 [4];
|
|
|
|
*param_1 = CmdQueue::vftable;
|
|
if (param_1[1] != 0) {
|
|
local_res8[0] = 0;
|
|
EnterCriticalSection((LPCRITICAL_SECTION)(param_1 + 7));
|
|
iVar1 = FUN_1400a7630(param_1[3],local_res8);
|
|
if (iVar1 != 0) {
|
|
ReleaseSemaphore((HANDLE)param_1[2],1,(LPLONG)0x0);
|
|
}
|
|
LeaveCriticalSection((LPCRITICAL_SECTION)(param_1 + 7));
|
|
WaitForSingleObject((HANDLE)param_1[1],0xffffffff);
|
|
CloseHandle((HANDLE)param_1[1]);
|
|
printf("command thread end!\n");
|
|
}
|
|
if ((HANDLE)param_1[2] != (HANDLE)0x0) {
|
|
CloseHandle((HANDLE)param_1[2]);
|
|
}
|
|
if (param_1[3] != 0) {
|
|
FUN_1400026f0();
|
|
param_1[3] = 0;
|
|
}
|
|
/* WARNING: Could not recover jumptable at 0x0001400026e7. Too many branches */
|
|
/* WARNING: Treating indirect jump as call */
|
|
DeleteCriticalSection((LPCRITICAL_SECTION)(param_1 + 7));
|
|
return;
|
|
}
|
|
|