/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400e8780 FUN_1400e8780 * Pseudocode, not original source. */ void FUN_1400e8780(IMAGE_DOS_HEADER *param_1,undefined8 param_2,undefined **param_3, undefined ***param_4) { uint uVar1; longlong lVar2; ulonglong uVar3; double dVar4; uVar1 = *(uint *)(param_1 + 2); uVar3 = (ulonglong)uVar1; if (uVar1 == 0) { FUN_1400e5160((longlong)param_1,0,(undefined *)param_3,param_4); } else { uVar3 = (ulonglong)(uVar1 - 1); if (uVar1 - 1 == 0) { FUN_1400e1030((longlong)param_1,0,(uint *)param_3,param_4); } else { uVar3 = (ulonglong)(uVar1 - 2); if (uVar1 - 2 == 0) { FUN_1400e02b0((longlong)param_1,0,param_3,param_4); } else { uVar3 = (ulonglong)(uVar1 - 3); if (uVar1 - 3 == 0) { FUN_1400e8640(param_1,(longlong *)0x0,(wchar_t *)param_3,param_4); } else { uVar3 = (ulonglong)(uVar1 - 4); if (uVar1 - 4 == 0) { FUN_1400e20e0((longlong)param_1,0,(SIZE_T)param_3,(undefined *)param_4); } } } } } FUN_1400a3060(*(longlong **)¶m_1[2].e_cparhdr,uVar3,(SIZE_T)param_3,(undefined *)param_4); lVar2._0_2_ = param_1[2].e_cparhdr; lVar2._2_2_ = param_1[2].e_minalloc; lVar2._4_2_ = param_1[2].e_maxalloc; lVar2._6_2_ = param_1[2].e_ss; dVar4 = (double)FUN_1400a0d20(lVar2); FUN_1400f4540((double *)(*(longlong *)¶m_1[2].e_cparhdr + 0x1878),dVar4); if ((char)(*(longlong **)¶m_1[2].e_cparhdr)[0x311] != '\0') { FUN_1400a3590(*(longlong **)¶m_1[2].e_cparhdr,uVar3,param_3,param_4); } return; }