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

53 lines
1.5 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401bc950 FUN_1401bc950
* Pseudocode, not original source. */
void FUN_1401bc950(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
char cVar1;
longlong lVar2;
longlong lVar3;
undefined8 uVar4;
undefined1 uVar5;
undefined8 local_30;
undefined **local_28;
undefined4 local_20;
undefined2 local_1c;
undefined4 local_18;
uVar4 = 0xfffffffffffffffe;
lVar3 = param_1 + 0x30;
lVar2 = lVar3;
FUN_14016db50(lVar3);
uVar5 = 1;
*(undefined1 *)(param_1 + 0x80) = 1;
FUN_140199740(param_1 + 0x88);
if ((*(longlong **)(param_1 + 0x10) != (longlong *)0x0) && (**(longlong **)(param_1 + 0x10) != 0))
{
FUN_14019c630();
lVar3 = lVar2;
while( true ) {
local_28 = Proud::AddrPort::vftable;
local_18 = 0;
local_30 = 0;
local_20 = DAT_140344450;
local_1c = DAT_140344454;
lVar2 = 0;
if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) {
lVar2 = **(longlong **)(param_1 + 0x10);
}
if (*(char *)(lVar2 + 0x280) == '\0') break;
lVar2 = 0;
if (*(longlong **)(param_1 + 0x10) != (longlong *)0x0) {
lVar2 = **(longlong **)(param_1 + 0x10);
}
cVar1 = FUN_14019c560(lVar2,0,&local_30,param_4,uVar4,lVar3,uVar5);
if ((cVar1 != '\0') || (DAT_14034c8c0 != '\0')) break;
Sleep(10);
}
}
FUN_14016dbe0(lVar3);
return;
}