server-re/decomp/DBCServer_Release_x64/full/functions/0x14019dbe0.c

48 lines
1.5 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14019dbe0 FUN_14019dbe0
* Pseudocode, not original source. */
int FUN_14019dbe0(longlong param_1,longlong param_2)
{
undefined4 uVar1;
int iVar2;
undefined8 uVar3;
undefined *local_res8;
if (*(char *)(param_1 + 0x100) != '\0') {
FUN_14016d8c0();
local_res8 = PTR_DAT_1403440a0;
uVar1 = FUN_14016d740(L"WARNING: AcceptEx is duplicated!");
uVar3 = FUN_14004e940(&local_res8,uVar1);
FUN_14016d770(uVar3,L"WARNING: AcceptEx is duplicated!",uVar1);
FUN_14004e560(&local_res8);
(**(code **)(**(longlong **)(param_1 + 0x18) + 8))
(*(longlong **)(param_1 + 0x18),param_1,&local_res8);
}
if (DAT_14034d3c0 == (code *)0x0) {
FUN_14019bd70(param_1);
}
*(undefined1 *)(param_1 + 0x100) = 0;
FUN_14004f0e0(param_1 + 0x140,0x40);
*(undefined1 *)(param_1 + 0x100) = 1;
if (*(int *)(param_1 + 0x158) == 0) {
uVar3 = 0;
}
else {
uVar3 = *(undefined8 *)(param_1 + 0x150);
}
iVar2 = (*DAT_14034d3c0)(*(undefined8 *)(param_1 + 0x3d0),*(undefined8 *)(param_2 + 0x3d0),uVar3,0
,0x20,0x20,param_1 + 0x168,param_1 + 0xc0);
if (iVar2 == 0) {
iVar2 = Ordinal_111();
if (((iVar2 != 0x2733) && (iVar2 != 0x3e5)) &&
((*(char *)(param_1 + 0x314) == '\0' || (iVar2 != 0x2736)))) {
*(undefined1 *)(param_1 + 0x100) = 0;
FUN_14019ce80(param_1,iVar2,L"Proud::CFastSocket::AcceptEx");
return iVar2;
}
}
return 0;
}