65 lines
2 KiB
C
65 lines
2 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x14004a610 FUN_14004a610
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8
|
|
FUN_14004a610(longlong param_1,wchar_t *param_2,longlong param_3,uint *param_4,longlong *param_5)
|
|
|
|
{
|
|
int *piVar1;
|
|
short *psVar2;
|
|
int *piVar3;
|
|
int *piVar4;
|
|
undefined8 uVar5;
|
|
longlong *plVar6;
|
|
longlong lVar7;
|
|
wchar_t *pwVar8;
|
|
ulonglong uVar9;
|
|
short *psVar10;
|
|
uint *puVar11;
|
|
undefined *puVar12;
|
|
short *local_res8;
|
|
|
|
pwVar8 = param_2;
|
|
puVar11 = param_4;
|
|
piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))();
|
|
FUN_14002e6e0(piVar3);
|
|
plVar6 = *(longlong **)(param_1 + 0x20);
|
|
if (DAT_14015bfcf != '\0') {
|
|
param_3 = *plVar6;
|
|
pwVar8 = L"Proud::CNetServerImpl::C2SStub::NotifyLog";
|
|
(**(code **)(param_3 + 200))();
|
|
}
|
|
if (*(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0) != 0) {
|
|
FUN_140030200(plVar6,pwVar8,param_3,puVar11);
|
|
local_res8 = (short *)PTR_DAT_140155010;
|
|
puVar12 = (undefined *)*param_5;
|
|
if ((undefined *)*param_5 == (undefined *)0x0) {
|
|
puVar12 = PTR_DAT_140155010;
|
|
}
|
|
FUN_14001b7a0((longlong *)&local_res8,L"[Client %d] %s",(ulonglong)param_2 & 0xffffffff,puVar12)
|
|
;
|
|
psVar2 = local_res8;
|
|
psVar10 = local_res8;
|
|
if (local_res8 == (short *)0x0) {
|
|
psVar10 = (short *)PTR_DAT_140155010;
|
|
}
|
|
uVar9 = (ulonglong)*param_4;
|
|
lVar7 = *(longlong *)(*(longlong *)(param_1 + 0x20) + 0x17f0);
|
|
FUN_14008f2e0(lVar7,uVar9,psVar10,puVar12);
|
|
if (((psVar2 != (short *)0x0) && (psVar2 != (short *)PTR_DAT_140155010)) &&
|
|
(psVar2 + -4 != (short *)0x0)) {
|
|
piVar4 = (int *)FUN_140030200(lVar7,uVar9,psVar10,puVar12);
|
|
FUN_14002e6e0(piVar4);
|
|
piVar1 = (int *)(psVar2 + -2);
|
|
*piVar1 = *piVar1 + -1;
|
|
if (*piVar1 == 0) {
|
|
FUN_1400302f0(psVar2 + -4);
|
|
}
|
|
FUN_14002e770((longlong)piVar4);
|
|
}
|
|
}
|
|
uVar5 = FUN_14002e770((longlong)piVar3);
|
|
return CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
|
|
}
|
|
|