/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14016d120 FUN_14016d120 * Pseudocode, not original source. */ undefined2 * FUN_14016d120(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined2 *puVar2; undefined2 *puVar3; undefined8 uVar4; undefined *puVar5; undefined1 uVar6; uVar4 = 0xfffffffffffffffe; puVar5 = &DAT_14034c430; FUN_14016db50(); puVar3 = DAT_14034c468; uVar6 = 1; if (DAT_14034c468 == (undefined2 *)0x0) { puVar2 = (undefined2 *)FUN_14016d940(); puVar3 = (undefined2 *)0x0; if (puVar2 != (undefined2 *)0x0) { *(undefined8 *)(puVar2 + 8) = 0; *(undefined8 *)(puVar2 + 0xc) = 0; *(undefined8 *)(puVar2 + 0x10) = 0; *(undefined8 *)(puVar2 + 0x14) = 0; *(undefined ***)(puVar2 + 4) = Proud::ByteArray::vftable; *(undefined8 *)(puVar2 + 0x18) = 0; *puVar2 = 0x1de6; *(undefined8 *)(puVar2 + 0x1c) = 0; puVar3 = puVar2; } } else { puVar1 = (undefined8 *)(DAT_14034c468 + 0x1c); DAT_14034c468 = *(undefined2 **)(DAT_14034c468 + 0x1c); *puVar1 = 0; } FUN_14004f0e0(puVar3 + 4,0,param_3,param_4,uVar4,puVar5,uVar6); FUN_14016dbe0(&DAT_14034c430); return puVar3 + 4; }