/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401de5e0 FUN_1401de5e0 * Pseudocode, not original source. */ undefined8 FUN_1401de5e0(longlong param_1,undefined8 param_2,undefined8 param_3,int *param_4,int *param_5, longlong param_6,longlong param_7,longlong param_8,longlong param_9) { int iVar1; undefined4 uVar2; undefined8 *puVar3; undefined8 uVar4; longlong *plVar5; longlong lVar6; int iVar7; undefined4 uVar8; undefined2 uVar9; undefined4 uVar10; undefined2 uVar11; undefined4 local_138 [2]; undefined8 local_130; undefined8 local_120; undefined8 local_118; undefined **local_110; undefined8 local_108; undefined8 local_100; undefined8 local_f8; undefined8 local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; int local_c8; undefined **local_c0; undefined8 local_b8; undefined8 local_b0; undefined8 local_a8; undefined8 local_a0; undefined **local_90; undefined4 local_88; undefined2 local_84; undefined **local_78; undefined8 local_70; undefined8 local_68; undefined8 local_60; undefined8 local_58; undefined8 local_48; local_48 = 0xfffffffffffffffe; iVar7 = *param_4; iVar1 = *param_5; uVar2 = *(undefined4 *)(param_6 + 8); param_5._0_2_ = *(undefined2 *)(param_6 + 0xc); uVar8 = *(undefined4 *)(param_7 + 8); uVar9 = *(undefined2 *)(param_7 + 0xc); uVar10 = *(undefined4 *)(param_8 + 8); uVar11 = *(undefined2 *)(param_8 + 0xc); param_7._0_4_ = *(undefined4 *)(param_9 + 8); param_6 = CONCAT62(param_6._2_6_,*(undefined2 *)(param_9 + 0xc)); uVar4 = (**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); FUN_14016db50(uVar4); if (*(int *)(*(longlong *)(param_1 + 0x20) + 0x1578) != iVar1) { iVar7 = iVar1; uVar8 = (undefined4)param_7; uVar9 = (undefined2)param_6; uVar10 = uVar2; uVar11 = param_5._0_2_; } plVar5 = (longlong *)FUN_1401d2620(*(longlong *)(param_1 + 0x20),¶m_5,iVar7); lVar6 = 0; if ((longlong *)*plVar5 != (longlong *)0x0) { lVar6 = *(longlong *)*plVar5; } if ((CONCAT62(param_5._2_6_,param_5._0_2_) != 0) && (plVar5 = (longlong *)(CONCAT62(param_5._2_6_,param_5._0_2_) + 8), *plVar5 = *plVar5 + -1, *(longlong *)(CONCAT62(param_5._2_6_,param_5._0_2_) + 8) == 0)) { plVar5 = (longlong *)CONCAT62(param_5._2_6_,param_5._0_2_); puVar3 = (undefined8 *)*plVar5; if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } FUN_14016d970(plVar5); } if ((lVar6 != 0) && (*(char *)(lVar6 + 0x684) == '\0')) { *(undefined4 *)(lVar6 + 0x598) = uVar10; *(undefined2 *)(lVar6 + 0x59c) = uVar11; *(undefined4 *)(lVar6 + 0x5a8) = uVar8; *(undefined2 *)(lVar6 + 0x5ac) = uVar9; FUN_1401fa330(lVar6,0); param_6 = 0; FUN_1401d3e30(lVar6 + 0x28,¶m_6); local_130 = 0; local_120 = 0; local_118 = 0; local_108 = 0; local_100 = 0; local_f8 = 0; local_f0 = 0; local_110 = Proud::ByteArray::vftable; local_d8 = 0; local_e0 = 0; local_e8 = 0; local_b8 = 0; local_b0 = 0; local_a8 = 0; local_a0 = 0; local_c0 = Proud::ByteArray::vftable; local_90 = Proud::AddrPort::vftable; local_88 = 0; local_84 = 0; local_70 = 0; local_68 = 0; local_60 = 0; local_58 = 0; local_78 = Proud::ByteArray::vftable; local_138[0] = 10; local_c8 = iVar7; FUN_1401dcb50(*(undefined8 *)(param_1 + 0x20),local_138); FUN_14018ba10(local_138); } FUN_14016dbe0(uVar4); return 1; }