80 lines
2.2 KiB
C
80 lines
2.2 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x140070ae0 FUN_140070ae0
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
|
|
longlong * FUN_140070ae0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
int *piVar1;
|
|
uint uVar2;
|
|
undefined *puVar3;
|
|
int *piVar4;
|
|
short **ppsVar5;
|
|
short *psVar6;
|
|
int *piVar7;
|
|
short *psVar8;
|
|
undefined8 uVar9;
|
|
ulonglong uVar10;
|
|
ulonglong uVar11;
|
|
undefined1 auStack_188 [32];
|
|
undefined4 local_168;
|
|
int *local_160;
|
|
undefined1 local_158;
|
|
undefined8 local_150;
|
|
longlong *local_148;
|
|
short *local_138;
|
|
short local_130 [132];
|
|
ulonglong local_28;
|
|
|
|
local_150 = 0xfffffffffffffffe;
|
|
local_28 = DAT_1401ac5a0 ^ (ulonglong)auStack_188;
|
|
local_168 = 0;
|
|
local_148 = param_2;
|
|
FUN_14006cb70(param_1,param_2,param_3,param_4);
|
|
local_160 = (int *)PTR_DAT_1401ac008;
|
|
puVar3 = (undefined *)*param_1;
|
|
if ((undefined *)*param_1 == (undefined *)0x0) {
|
|
puVar3 = PTR_DAT_1401ac008;
|
|
}
|
|
uVar11 = (ulonglong)*(ushort *)(param_1 + 1);
|
|
FUN_14006e800((longlong *)&local_160,"%s:%d",puVar3,uVar11);
|
|
piVar1 = local_160;
|
|
piVar7 = local_160;
|
|
if (local_160 == (int *)0x0) {
|
|
piVar7 = (int *)PTR_DAT_1401ac008;
|
|
}
|
|
local_138 = local_130;
|
|
uVar9 = 3;
|
|
ppsVar5 = &local_138;
|
|
FUN_1400626b0((longlong *)ppsVar5,(LPCSTR)piVar7,3);
|
|
psVar8 = local_138;
|
|
FUN_14006cb70(ppsVar5,piVar7,uVar9,uVar11);
|
|
*param_2 = (longlong)PTR_DAT_1401ac010;
|
|
uVar2 = FUN_14006c9f0(psVar8);
|
|
puVar3 = FUN_140002f30(param_2,uVar2);
|
|
uVar10 = (ulonglong)uVar2;
|
|
FUN_14006ca20(puVar3,psVar8,uVar2);
|
|
FUN_140003010(param_2);
|
|
local_168 = 1;
|
|
psVar6 = local_138;
|
|
if (local_138 != local_130) {
|
|
free(local_138);
|
|
}
|
|
if (((piVar1 != (int *)0x0) && (piVar1 != (int *)PTR_DAT_1401ac008)) &&
|
|
(piVar1 + -2 != (int *)0x0)) {
|
|
piVar4 = (int *)FUN_14006cb70(psVar6,psVar8,uVar10,uVar11);
|
|
local_160 = piVar4;
|
|
FUN_14006b350(piVar4);
|
|
local_158 = 1;
|
|
piVar7 = piVar1 + -1;
|
|
*piVar7 = *piVar7 + -1;
|
|
if (*piVar7 == 0) {
|
|
FUN_14006cc60(piVar1 + -2);
|
|
}
|
|
FUN_14006b3e0((longlong)piVar4);
|
|
}
|
|
return param_2;
|
|
}
|
|
|