129 lines
4 KiB
C
129 lines
4 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14004a550 FUN_14004a550
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14004a550(longlong param_1,int param_2,longlong param_3,longlong param_4)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
ulonglong uVar2;
|
|
longlong lVar3;
|
|
int *piVar4;
|
|
ulonglong uVar5;
|
|
undefined2 uVar6;
|
|
ulonglong uVar7;
|
|
ulonglong uVar8;
|
|
longlong lVar9;
|
|
ulonglong uVar10;
|
|
int *piVar11;
|
|
|
|
uVar5 = 0;
|
|
piVar11 = (int *)(param_1 + 0x70);
|
|
piVar4 = piVar11;
|
|
uVar7 = uVar5;
|
|
uVar10 = uVar5;
|
|
do {
|
|
if (*piVar4 == param_2) {
|
|
piVar11 = (int *)(param_1 + 0x10);
|
|
piVar4 = piVar11;
|
|
uVar7 = uVar5;
|
|
uVar2 = uVar5;
|
|
goto LAB_14004a6c0;
|
|
}
|
|
uVar7 = uVar7 + 1;
|
|
uVar10 = (ulonglong)((int)uVar10 + 1);
|
|
piVar4 = piVar4 + 0x12;
|
|
uVar2 = uVar5;
|
|
uVar8 = uVar5;
|
|
} while ((longlong)uVar7 < 2);
|
|
while (*piVar11 != 0) {
|
|
uVar2 = uVar2 + 1;
|
|
piVar11 = piVar11 + 0x12;
|
|
uVar8 = (ulonglong)((int)uVar8 + 1);
|
|
if (1 < (longlong)uVar2) {
|
|
return;
|
|
}
|
|
}
|
|
lVar3 = (longlong)(int)uVar8;
|
|
piVar11 = (int *)(param_1 + 0x10);
|
|
*(int *)(param_1 + 0x70 + lVar3 * 0x48) = param_2;
|
|
piVar4 = piVar11;
|
|
uVar7 = uVar5;
|
|
uVar10 = uVar5;
|
|
do {
|
|
if (*piVar4 == param_2) {
|
|
lVar9 = (longlong)(int)uVar10 * 0x30;
|
|
uVar1 = *(undefined4 *)(lVar9 + 0x30 + param_1);
|
|
uVar6 = *(undefined2 *)(lVar9 + 0x34 + param_1);
|
|
break;
|
|
}
|
|
uVar7 = uVar7 + 1;
|
|
uVar10 = (ulonglong)((int)uVar10 + 1);
|
|
piVar4 = piVar4 + 0xc;
|
|
uVar1 = DAT_14016f3d0;
|
|
uVar6 = DAT_14016f3d4;
|
|
} while ((longlong)uVar7 < 2);
|
|
*(undefined4 *)(param_1 + 0x80 + lVar3 * 0x48) = uVar1;
|
|
*(undefined2 *)(param_1 + 0x84 + lVar3 * 0x48) = uVar6;
|
|
uVar7 = uVar5;
|
|
do {
|
|
if (*piVar11 == param_2) {
|
|
lVar9 = (longlong)(int)uVar7 * 0x30;
|
|
uVar1 = *(undefined4 *)(lVar9 + 0x20 + param_1);
|
|
uVar6 = *(undefined2 *)(lVar9 + 0x24 + param_1);
|
|
break;
|
|
}
|
|
uVar5 = uVar5 + 1;
|
|
uVar7 = (ulonglong)((int)uVar7 + 1);
|
|
piVar11 = piVar11 + 0xc;
|
|
uVar1 = DAT_14016f3d0;
|
|
uVar6 = DAT_14016f3d4;
|
|
} while ((longlong)uVar5 < 2);
|
|
*(undefined4 *)(param_1 + 0x90 + lVar3 * 0x48) = uVar1;
|
|
*(undefined2 *)(param_1 + 0x94 + lVar3 * 0x48) = uVar6;
|
|
*(undefined4 *)(param_1 + 0xa0 + lVar3 * 0x48) = *(undefined4 *)(param_3 + 8);
|
|
*(undefined2 *)(param_1 + 0xa4 + lVar3 * 0x48) = *(undefined2 *)(param_3 + 0xc);
|
|
*(undefined4 *)(param_1 + 0xb0 + lVar3 * 0x48) = *(undefined4 *)(param_4 + 8);
|
|
*(undefined2 *)(param_1 + 0xb4 + lVar3 * 0x48) = *(undefined2 *)(param_4 + 0xc);
|
|
return;
|
|
while( true ) {
|
|
uVar7 = uVar7 + 1;
|
|
uVar2 = (ulonglong)((int)uVar2 + 1);
|
|
piVar4 = piVar4 + 0xc;
|
|
uVar1 = DAT_14016f3d0;
|
|
uVar6 = DAT_14016f3d4;
|
|
if (1 < (longlong)uVar7) break;
|
|
LAB_14004a6c0:
|
|
if (*piVar4 == param_2) {
|
|
lVar3 = (longlong)(int)uVar2 * 0x30;
|
|
uVar1 = *(undefined4 *)(lVar3 + 0x30 + param_1);
|
|
uVar6 = *(undefined2 *)(lVar3 + 0x34 + param_1);
|
|
break;
|
|
}
|
|
}
|
|
lVar3 = (longlong)(int)uVar10;
|
|
*(undefined4 *)(param_1 + 0x80 + lVar3 * 0x48) = uVar1;
|
|
*(undefined2 *)(param_1 + 0x84 + lVar3 * 0x48) = uVar6;
|
|
uVar7 = uVar5;
|
|
do {
|
|
if (*piVar11 == param_2) {
|
|
lVar9 = (longlong)(int)uVar7 * 0x30;
|
|
uVar1 = *(undefined4 *)(lVar9 + 0x20 + param_1);
|
|
uVar6 = *(undefined2 *)(lVar9 + 0x24 + param_1);
|
|
break;
|
|
}
|
|
uVar5 = uVar5 + 1;
|
|
uVar7 = (ulonglong)((int)uVar7 + 1);
|
|
piVar11 = piVar11 + 0xc;
|
|
uVar1 = DAT_14016f3d0;
|
|
uVar6 = DAT_14016f3d4;
|
|
} while ((longlong)uVar5 < 2);
|
|
*(undefined4 *)(param_1 + 0x90 + lVar3 * 0x48) = uVar1;
|
|
*(undefined2 *)(param_1 + 0x94 + lVar3 * 0x48) = uVar6;
|
|
*(undefined4 *)(param_1 + 0xa0 + lVar3 * 0x48) = *(undefined4 *)(param_3 + 8);
|
|
*(undefined2 *)(param_1 + 0xa4 + lVar3 * 0x48) = *(undefined2 *)(param_3 + 0xc);
|
|
*(undefined4 *)(param_1 + 0xb0 + lVar3 * 0x48) = *(undefined4 *)(param_4 + 8);
|
|
*(undefined2 *)(param_1 + 0xb4 + lVar3 * 0x48) = *(undefined2 *)(param_4 + 0xc);
|
|
return;
|
|
}
|
|
|