61 lines
1.8 KiB
C
61 lines
1.8 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14000dcb0 FUN_14000dcb0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14000dcb0(longlong param_1,int param_2)
|
|
|
|
{
|
|
ulonglong *puVar1;
|
|
longlong lVar2;
|
|
longlong *plVar3;
|
|
longlong *plVar4;
|
|
bool bVar5;
|
|
ulonglong uVar6;
|
|
longlong *plVar7;
|
|
longlong *plVar8;
|
|
longlong *local_28;
|
|
|
|
if (*(longlong *)(param_1 + 0x58) != 0) {
|
|
uVar6 = (ulonglong)(longlong)param_2 % *(ulonglong *)(param_1 + 0x40);
|
|
local_28 = (longlong *)(*(longlong *)(param_1 + 0x38) + uVar6 * 8);
|
|
for (plVar7 = *(longlong **)(*(longlong *)(param_1 + 0x38) + uVar6 * 8);
|
|
plVar7 != (longlong *)0x0; plVar7 = (longlong *)*plVar7) {
|
|
if (param_2 == (int)plVar7[1]) {
|
|
if (plVar7 != (longlong *)0x0) goto LAB_14000dcfb;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
plVar7 = (longlong *)0x0;
|
|
local_28 = (longlong *)0x0;
|
|
LAB_14000dcfb:
|
|
if ((plVar7 != (longlong *)0x0) && (puVar1 = (ulonglong *)plVar7[2], puVar1 != (ulonglong *)0x0))
|
|
{
|
|
FUN_14003d040((int *)(param_1 + 0x78));
|
|
bVar5 = FUN_14000df80(param_1 + 8,(ulonglong)puVar1);
|
|
if (bVar5) {
|
|
FUN_14000e040((undefined8 *)(param_1 + 8),puVar1);
|
|
}
|
|
lVar2 = *plVar7;
|
|
plVar8 = local_28;
|
|
while (lVar2 == 0) {
|
|
plVar8 = plVar8 + 1;
|
|
lVar2 = *plVar8;
|
|
}
|
|
*(longlong *)(param_1 + 0x58) = *(longlong *)(param_1 + 0x58) + -1;
|
|
plVar3 = (longlong *)*local_28;
|
|
plVar4 = local_28;
|
|
while (plVar3 != plVar7) {
|
|
plVar4 = (longlong *)*plVar4;
|
|
plVar3 = (longlong *)*plVar4;
|
|
}
|
|
*plVar4 = *plVar7;
|
|
operator_delete(plVar7);
|
|
if ((local_28 == *(longlong **)(param_1 + 0x68)) && (*local_28 == 0)) {
|
|
*(longlong **)(param_1 + 0x68) = plVar8;
|
|
}
|
|
FUN_14003d0d0(param_1 + 0x78);
|
|
}
|
|
return;
|
|
}
|
|
|