/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401eb540 FUN_1401eb540 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_1401eb540(longlong param_1,undefined8 param_2) { undefined8 *puVar1; char cVar2; longlong *plVar3; longlong lVar4; undefined1 auStack_a8 [32]; undefined4 local_88; undefined4 local_78 [2]; longlong *local_70; undefined **local_68; undefined4 local_60; undefined2 local_5c; undefined **local_58; undefined4 local_50; undefined2 local_4c; undefined4 local_48; undefined4 uStack_44; undefined4 uStack_40; undefined4 uStack_3c; undefined4 local_38; undefined4 uStack_34; undefined4 uStack_30; undefined4 uStack_2c; ulonglong local_28; local_28 = DAT_1403463c0 ^ (ulonglong)auStack_a8; lVar4 = 0; local_60 = 0; local_38 = 0; uStack_34 = 0; uStack_30 = 0; uStack_2c = 0; local_68 = Proud::AddrPort::vftable; local_5c = 0; cVar2 = FUN_14016b370(param_2,&local_38,0x10); if (cVar2 != '\0') { cVar2 = FUN_14016bda0(param_2,&local_68); if (cVar2 != '\0') { cVar2 = FUN_14016be00(param_2,local_78); if (cVar2 != '\0') { plVar3 = (longlong *)FUN_1401d2620(*(undefined8 *)(param_1 + 0x108),&local_70,local_78[0]); if ((longlong *)*plVar3 != (longlong *)0x0) { lVar4 = *(longlong *)*plVar3; } if ((local_70 != (longlong *)0x0) && (local_70[1] = local_70[1] + -1, local_70[1] == 0)) { puVar1 = (undefined8 *)*local_70; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_14016d970(local_70); } if ((((lVar4 != 0) && (*(char *)(lVar4 + 0x684) == '\0')) && (plVar3 = *(longlong **)(lVar4 + 0x28), plVar3 != (longlong *)0x0)) && (*plVar3 != 0)) { local_58 = Proud::AddrPort::vftable; local_50 = local_60; local_48 = local_38; uStack_44 = uStack_34; uStack_40 = uStack_30; uStack_3c = uStack_2c; local_4c = local_5c; local_88 = local_78[0]; FUN_1401fa820(*plVar3,param_2,&local_48,&local_58); } } } } return; }