/* 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; }