77 lines
2.5 KiB
C
77 lines
2.5 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400c0900 FUN_1400c0900
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400c0900(longlong *param_1,undefined8 param_2,ulonglong param_3,ulonglong param_4)
|
|
|
|
{
|
|
longlong lVar1;
|
|
int *piVar2;
|
|
int *piVar3;
|
|
undefined *puVar4;
|
|
undefined **ppuVar5;
|
|
wchar_t *pwVar6;
|
|
ulonglong uVar7;
|
|
ulonglong uVar8;
|
|
bool bVar9;
|
|
undefined *local_res10;
|
|
undefined *local_res18 [2];
|
|
|
|
bVar9 = (int)param_1[0x20] == 5;
|
|
uVar7 = (ulonglong)bVar9;
|
|
puVar4 = (undefined *)0x0;
|
|
if (*(longlong *)(param_1[0x21] + 0x5d8) != 0) {
|
|
puVar4 = *(undefined **)(*(longlong *)(param_1[0x21] + 0x5d8) + 0x38);
|
|
}
|
|
FUN_14003d040((int *)(puVar4 + 0x10));
|
|
lVar1 = param_1[2];
|
|
puVar4 = puVar4 + 0x10;
|
|
FUN_14003d0d0((longlong)puVar4);
|
|
uVar8 = (ulonglong)(lVar1 == 0);
|
|
if ((!bVar9) || (lVar1 != 0)) {
|
|
FUN_14003e7c0(puVar4,param_2,param_3,param_4);
|
|
local_res18[0] = PTR_DAT_14016f010;
|
|
pwVar6 = L"CNetClientManager.dtor assert fail: %d %d";
|
|
ppuVar5 = local_res18;
|
|
FUN_140029b80((longlong *)ppuVar5,L"CNetClientManager.dtor assert fail: %d %d",uVar7,uVar8);
|
|
FUN_14003e7c0(ppuVar5,pwVar6,uVar7,uVar8);
|
|
puVar4 = local_res18[0];
|
|
local_res10 = PTR_DAT_14016f010;
|
|
if (PTR_DAT_14016f010 == (undefined *)0x0) {
|
|
local_res10 = (undefined *)0x0;
|
|
}
|
|
param_3 = uVar7;
|
|
param_4 = uVar8;
|
|
if (local_res18[0] != PTR_DAT_14016f010) {
|
|
piVar2 = (int *)FUN_14003e7c0(ppuVar5,pwVar6,uVar7,uVar8);
|
|
FUN_14003d040(piVar2);
|
|
FUN_140002190((longlong *)&local_res10,pwVar6,uVar7,uVar8);
|
|
local_res10 = puVar4;
|
|
if (((puVar4 != PTR_DAT_14016f010) && (puVar4 != (undefined *)0x0)) &&
|
|
(puVar4 != (undefined *)0x8)) {
|
|
*(int *)(puVar4 + -4) = *(int *)(puVar4 + -4) + 1;
|
|
}
|
|
FUN_14003d0d0((longlong)piVar2);
|
|
param_3 = uVar7;
|
|
param_4 = uVar8;
|
|
}
|
|
ppuVar5 = &local_res10;
|
|
FUN_1400416f0((longlong *)ppuVar5,pwVar6,param_3,param_4);
|
|
if (((puVar4 != (undefined *)0x0) && (puVar4 != PTR_DAT_14016f010)) &&
|
|
(puVar4 + -8 != (undefined *)0x0)) {
|
|
piVar3 = (int *)FUN_14003e7c0(ppuVar5,pwVar6,param_3,param_4);
|
|
FUN_14003d040(piVar3);
|
|
piVar2 = (int *)(puVar4 + -4);
|
|
*piVar2 = *piVar2 + -1;
|
|
if (*piVar2 == 0) {
|
|
FUN_14003e8b0(puVar4 + -8);
|
|
}
|
|
FUN_14003d0d0((longlong)piVar3);
|
|
}
|
|
}
|
|
if ((longlong *)param_1[2] != (longlong *)0x0) {
|
|
FUN_1400bf1e0((longlong *)param_1[2],param_1,param_3,param_4);
|
|
}
|
|
return;
|
|
}
|
|
|