76 lines
2.6 KiB
C
76 lines
2.6 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400ae950 FUN_1400ae950
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8
|
|
FUN_1400ae950(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,longlong param_5,
|
|
longlong param_6)
|
|
|
|
{
|
|
int *piVar1;
|
|
longlong *plVar2;
|
|
undefined8 *puVar3;
|
|
undefined8 *puVar4;
|
|
undefined8 uVar5;
|
|
undefined8 *puVar6;
|
|
undefined8 *puVar7;
|
|
longlong *local_res8;
|
|
|
|
piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))();
|
|
FUN_14006b350(piVar1);
|
|
plVar2 = FUN_1400aca90(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,*param_4);
|
|
puVar7 = (undefined8 *)0x0;
|
|
puVar6 = puVar7;
|
|
if ((undefined8 *)*plVar2 != (undefined8 *)0x0) {
|
|
puVar6 = *(undefined8 **)*plVar2;
|
|
}
|
|
if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, local_res8[1] == 0)) {
|
|
puVar4 = (undefined8 *)*local_res8;
|
|
if (puVar4 != (undefined8 *)0x0) {
|
|
(**(code **)*puVar4)(puVar4,1);
|
|
}
|
|
FUN_14006cc60(local_res8);
|
|
}
|
|
if ((((puVar6 != (undefined8 *)0x0) && (*(char *)((longlong)puVar6 + 0x684) == '\0')) &&
|
|
((longlong *)puVar6[5] != (longlong *)0x0)) && (*(longlong *)puVar6[5] != 0)) {
|
|
*(undefined4 *)(puVar6 + 0xaf) = *(undefined4 *)(param_6 + 8);
|
|
*(undefined2 *)((longlong)puVar6 + 0x57c) = *(undefined2 *)(param_6 + 0xc);
|
|
*(undefined4 *)(puVar6 + 0xb1) = *(undefined4 *)(param_5 + 8);
|
|
*(undefined2 *)((longlong)puVar6 + 0x58c) = *(undefined2 *)(param_5 + 0xc);
|
|
plVar2 = (longlong *)puVar6[5];
|
|
puVar4 = puVar7;
|
|
if (plVar2 != (longlong *)0x0) {
|
|
puVar4 = (undefined8 *)*plVar2;
|
|
}
|
|
if (puVar4[2] != 0) {
|
|
puVar4 = puVar7;
|
|
if (plVar2 != (longlong *)0x0) {
|
|
puVar4 = (undefined8 *)*plVar2;
|
|
}
|
|
if (*(int *)(puVar4[2] + 8) == 1) goto LAB_1400aeaf1;
|
|
}
|
|
puVar4 = puVar7;
|
|
if (plVar2 != (longlong *)0x0) {
|
|
puVar4 = (undefined8 *)*plVar2;
|
|
}
|
|
puVar3 = (undefined8 *)puVar4[2];
|
|
if (puVar3 != (undefined8 *)0x0) {
|
|
(**(code **)*puVar3)(puVar3,1);
|
|
}
|
|
puVar4[2] = 0;
|
|
puVar3 = operator_new(0x38);
|
|
puVar4 = puVar7;
|
|
if (puVar3 != (undefined8 *)0x0) {
|
|
puVar4 = FUN_1400a0860(puVar3);
|
|
}
|
|
*(undefined2 *)((longlong)puVar4 + 0x34) = *(undefined2 *)(param_6 + 0xc);
|
|
if ((undefined8 *)puVar6[5] != (undefined8 *)0x0) {
|
|
puVar7 = *(undefined8 **)puVar6[5];
|
|
}
|
|
puVar7[2] = puVar4;
|
|
}
|
|
LAB_1400aeaf1:
|
|
uVar5 = FUN_14006b3e0((longlong)piVar1);
|
|
return CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
|
}
|
|
|