decomp DBCServer_Release and inspect/document database
This commit is contained in:
parent
4b267cbe05
commit
7834b98bf0
28222 changed files with 843300 additions and 144 deletions
70
decomp/DBCServer_Release_x64/full/functions/0x1401aee60.c
Normal file
70
decomp/DBCServer_Release_x64/full/functions/0x1401aee60.c
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
||||
* Ghidra 12.1.2 decompiler output for 0x1401aee60 FUN_1401aee60
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
undefined8 FUN_1401aee60(char *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
char *pcVar1;
|
||||
DWORD DVar2;
|
||||
DWORD DVar3;
|
||||
longlong lVar4;
|
||||
longlong lVar5;
|
||||
int iVar6;
|
||||
undefined8 uVar7;
|
||||
char *pcVar8;
|
||||
undefined1 local_50 [72];
|
||||
|
||||
uVar7 = 0xfffffffffffffffe;
|
||||
if (*param_1 != '\0') {
|
||||
FUN_14016d300(local_50,L"ServerSocketPool is already destructed!");
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_50,(ThrowInfo *)&DAT_1403417f8);
|
||||
}
|
||||
DVar2 = GetTickCount();
|
||||
DVar3 = GetTickCount();
|
||||
if (DVar3 - DVar2 < 10000) {
|
||||
pcVar1 = param_1 + 0x30;
|
||||
do {
|
||||
pcVar8 = pcVar1;
|
||||
FUN_14016db50(pcVar1);
|
||||
if (0 < *(int *)(param_1 + 0x80)) {
|
||||
lVar4 = FUN_14016d940(0x400);
|
||||
if (lVar4 == 0) {
|
||||
uVar7 = 0;
|
||||
}
|
||||
else {
|
||||
iVar6 = *(int *)(param_1 + 0x80) + -1;
|
||||
if ((iVar6 < 0) || (*(int *)(param_1 + 0x80) <= iVar6)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14016d6e0();
|
||||
}
|
||||
uVar7 = FUN_14019ccf0(lVar4,*(undefined8 *)
|
||||
(*(longlong *)(param_1 + 0x78) + (longlong)iVar6 * 8),param_2
|
||||
,param_4,uVar7,pcVar8);
|
||||
}
|
||||
FUN_1401aedb0(param_1 + 0x68,*(int *)(param_1 + 0x80) + -1,1);
|
||||
FUN_14016dbe0(pcVar1);
|
||||
return uVar7;
|
||||
}
|
||||
FUN_14016dbe0(pcVar1);
|
||||
Sleep(1);
|
||||
DVar3 = GetTickCount();
|
||||
} while (DVar3 - DVar2 < 10000);
|
||||
}
|
||||
lVar4 = Ordinal_23(2,1,6);
|
||||
if (lVar4 == -1) {
|
||||
uVar7 = 0;
|
||||
}
|
||||
else {
|
||||
lVar5 = FUN_14016d940(0x400);
|
||||
if (lVar5 == 0) {
|
||||
uVar7 = 0;
|
||||
}
|
||||
else {
|
||||
uVar7 = FUN_14019ccf0(lVar5,lVar4,param_2);
|
||||
}
|
||||
}
|
||||
return uVar7;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue