server-re/decomp/AgentManager_Release_x64/full/functions/0x14004a550.c
2026-10-15 09:58:24 -04:00

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;
}