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

84 lines
2.2 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14019cad0 FUN_14019cad0
* Pseudocode, not original source. */
undefined8 * FUN_14019cad0(undefined8 *param_1,int param_2,undefined8 param_3)
{
undefined4 uVar1;
undefined8 uVar2;
undefined8 uVar3;
undefined1 local_50 [72];
uVar3 = 0xfffffffffffffffe;
*param_1 = 0;
param_1[1] = 0;
param_1[2] = 0;
uVar1 = FUN_140171510();
FUN_14016da70(param_1 + 5,uVar1,1);
param_1[0x18] = 0;
param_1[0x19] = 0;
param_1[0x1a] = 0;
param_1[0x1b] = 0;
*(undefined1 *)(param_1 + 0x20) = 0;
param_1[0x29] = 0;
param_1[0x2a] = 0;
param_1[0x2b] = 0;
*(undefined4 *)(param_1 + 0x2c) = 0;
param_1[0x28] = Proud::CSocketBuffer::vftable;
*(undefined4 *)((longlong)param_1 + 0x164) = 1;
param_1[0x30] = 0;
param_1[0x31] = 0;
param_1[0x32] = 0;
param_1[0x33] = 0;
*(undefined1 *)(param_1 + 0x38) = 0;
param_1[0x41] = 0;
param_1[0x42] = 0;
param_1[0x43] = 0;
*(undefined4 *)(param_1 + 0x44) = 0;
param_1[0x40] = Proud::CSocketBuffer::vftable;
*(undefined4 *)((longlong)param_1 + 0x224) = 1;
param_1[0x48] = 0;
param_1[0x49] = 0;
param_1[0x4a] = 0;
param_1[0x4b] = 0;
*(undefined1 *)(param_1 + 0x50) = 0;
param_1[0x59] = 0;
param_1[0x5a] = 0;
param_1[0x5b] = 0;
*(undefined4 *)(param_1 + 0x5c) = 0;
param_1[0x58] = Proud::CSocketBuffer::vftable;
*(undefined4 *)((longlong)param_1 + 0x2e4) = 1;
param_1[0x68] = 0;
param_1[0x69] = 0;
param_1[0x6a] = 0;
param_1[0x6b] = 0;
*(undefined1 *)(param_1 + 0x70) = 0;
*(undefined1 *)(param_1 + 4) = 0;
param_1[3] = param_3;
FUN_14019c940(param_1);
if (param_2 == 0) {
uVar2 = 1;
}
else if (param_2 == 1) {
uVar2 = 2;
}
else {
if (param_2 != 2) {
FUN_14016f090(L"Invalid Parameter in Socket ctor!");
goto LAB_14019cc94;
}
uVar2 = 3;
}
uVar3 = WSASocketW(2,uVar2,0,0,0,1,uVar3);
param_1[0x7a] = uVar3;
LAB_14019cc94:
if (param_1[0x7a] != -1) {
return param_1;
}
uVar1 = Ordinal_111();
FUN_14016d300(local_50,&DAT_140280218,uVar1);
/* WARNING: Subroutine does not return */
_CxxThrowException(local_50,(ThrowInfo *)&DAT_1403417f8);
}