/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401ec5b0 FUN_1401ec5b0 * Pseudocode, not original source. */ undefined8 FUN_1401ec5b0(undefined8 param_1,undefined8 param_2,undefined8 param_3) { char cVar1; undefined8 uVar2; longlong *local_res18; undefined **local_a8; undefined8 local_a0; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined1 local_78 [4]; undefined4 local_74; longlong local_70; longlong local_68; undefined4 local_60; int local_5c; undefined4 local_50; undefined **local_48; undefined4 local_40; undefined2 local_3c; undefined1 local_38; undefined8 local_28; local_28 = 0xfffffffffffffffe; local_a0 = 0; local_98 = 0; local_90 = 0; local_88 = 0; local_a8 = Proud::ByteArray::vftable; cVar1 = FUN_14016ba10(param_3,&local_res18); if (((cVar1 == '\0') || ((int)local_res18 < 0)) || (DAT_140344d70 < (int)local_res18)) { LAB_1401ec737: FUN_14019a9e0(&local_a8); return 0; } FUN_14004f0e0(&local_a8,(ulonglong)local_res18 & 0xffffffff); uVar2 = local_98; if ((int)local_90 == 0) { uVar2 = 0; } cVar1 = FUN_14016b370(param_3,uVar2,(ulonglong)local_res18 & 0xffffffff); if (cVar1 == '\0') goto LAB_1401ec737; FUN_14016b440(local_78); local_48 = Proud::AddrPort::vftable; local_38 = 0; local_40 = DAT_140344450; local_3c = DAT_140344454; local_50 = 1; FUN_14016abe0(local_78); if ((int)local_90 < 1) { /* WARNING: Subroutine does not return */ FUN_14016d6e0(); } local_74 = 0; if (local_70 == 0) { if (local_68 == 0) { /* WARNING: Subroutine does not return */ FUN_14016d1e0(); } } else if (local_68 == 0) { if (local_70 == 0) { /* WARNING: Subroutine does not return */ FUN_14016d1e0(); } FUN_14004f200(local_70,local_98); goto LAB_1401ec6dc; } FUN_14004efd0(&local_68,local_98); LAB_1401ec6dc: FUN_14004f270(local_78); local_38 = 1; FUN_1401f17a0(param_1,param_2,local_78); local_res18 = &local_70; FUN_14016d0e0(&local_70); if (local_68 != 0) { if (local_5c < 0) { /* WARNING: Subroutine does not return */ FUN_14016d6b0(); } local_60 = 0; } FUN_14019a9e0(&local_a8); return 1; }