server-re/decomp/MessageServer_Release_x64/full/functions/0x1400e8780.c

55 lines
1.7 KiB
C

/* 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 **)&param_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 *)&param_1[2].e_cparhdr + 0x1878),dVar4);
if ((char)(*(longlong **)&param_1[2].e_cparhdr)[0x311] != '\0') {
FUN_1400a3590(*(longlong **)&param_1[2].e_cparhdr,uVar3,param_3,param_4);
}
return;
}