58 lines
1.6 KiB
C
58 lines
1.6 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400ea9f0 FUN_1400ea9f0
|
|
* Pseudocode, not original source. */
|
|
|
|
longlong * FUN_1400ea9f0(longlong *param_1,longlong *param_2,int param_3,uint param_4)
|
|
|
|
{
|
|
ulonglong uVar1;
|
|
undefined *puVar2;
|
|
uint uVar3;
|
|
uint uVar5;
|
|
ulonglong uVar4;
|
|
|
|
uVar3 = 0;
|
|
uVar4 = 0;
|
|
puVar2 = (undefined *)*param_1;
|
|
if (param_3 < 0) {
|
|
param_3 = uVar3;
|
|
}
|
|
if ((int)param_4 < 0) {
|
|
param_4 = uVar3;
|
|
}
|
|
uVar1 = 0;
|
|
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac008)) {
|
|
uVar1 = (ulonglong)*(uint *)(puVar2 + -8);
|
|
}
|
|
if ((int)uVar1 < (int)(param_3 + param_4)) {
|
|
uVar5 = uVar3;
|
|
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac008)) {
|
|
uVar5 = *(uint *)(puVar2 + -8);
|
|
}
|
|
param_4 = uVar5 - param_3;
|
|
}
|
|
uVar5 = uVar3;
|
|
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac008)) {
|
|
uVar5 = *(uint *)(puVar2 + -8);
|
|
}
|
|
if ((int)uVar5 < param_3) {
|
|
param_4 = uVar3;
|
|
}
|
|
if (param_3 == 0) {
|
|
if ((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1401ac008)) {
|
|
uVar4 = (ulonglong)*(uint *)(puVar2 + -8);
|
|
}
|
|
if (param_4 == (uint)uVar4) {
|
|
FUN_14006cb70(uVar1,PTR_DAT_1401ac008,puVar2,uVar4);
|
|
*param_2 = (longlong)PTR_DAT_1401ac008;
|
|
FUN_1400083a0(param_2,param_1,puVar2,uVar4);
|
|
return param_2;
|
|
}
|
|
}
|
|
if (puVar2 == (undefined *)0x0) {
|
|
puVar2 = PTR_DAT_1401ac008;
|
|
}
|
|
FUN_140054090(param_2,puVar2 + param_3,(ulonglong)param_4,uVar4);
|
|
return param_2;
|
|
}
|
|
|