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

46 lines
1.6 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14019ded0 FUN_14019ded0
* Pseudocode, not original source. */
ulonglong FUN_14019ded0(longlong param_1,longlong param_2)
{
int iVar1;
undefined4 uVar2;
undefined8 uVar3;
ulonglong uVar4;
wchar_t *pwVar5;
undefined *local_res10 [3];
iVar1 = *(int *)(param_2 + 8);
if (iVar1 == -1) {
FUN_14016d8c0();
local_res10[0] = PTR_DAT_1403440a0;
uVar2 = FUN_14016d740(L"Sending to 255.255.255.255 is not permitted!");
uVar3 = FUN_14004e940(local_res10,uVar2);
pwVar5 = L"Sending to 255.255.255.255 is not permitted!";
}
else if ((*(short *)(param_2 + 0xc) == -1) || (*(short *)(param_2 + 0xc) == 0)) {
FUN_14016d8c0();
local_res10[0] = PTR_DAT_1403440a0;
uVar2 = FUN_14016d740(L"Sending to prohibited port is not permitted!");
uVar3 = FUN_14004e940(local_res10,uVar2);
pwVar5 = L"Sending to prohibited port is not permitted!";
}
else {
if (iVar1 != 0) {
return CONCAT71((uint7)(uint3)((uint)iVar1 >> 8),1);
}
FUN_14016d8c0();
local_res10[0] = PTR_DAT_1403440a0;
uVar2 = FUN_14016d740(L"Sending to 0.0.0.0 is not permitted!");
uVar3 = FUN_14004e940(local_res10,uVar2);
pwVar5 = L"Sending to 0.0.0.0 is not permitted!";
}
FUN_14016d770(uVar3,pwVar5,uVar2);
FUN_14004e560(local_res10);
uVar4 = (**(code **)(**(longlong **)(param_1 + 0x18) + 8))
(*(longlong **)(param_1 + 0x18),param_1,local_res10);
return uVar4 & 0xffffffffffffff00;
}