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

73 lines
2.2 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400e1670 FUN_1400e1670
* Pseudocode, not original source. */
ulonglong FUN_1400e1670(uint *param_1,uint *param_2,undefined4 *param_3)
{
int iVar1;
uint uVar2;
uint uVar3;
int iVar4;
ulonglong uVar5;
undefined8 uVar6;
ulonglong uVar7;
uint local_68 [6];
uint local_50 [6];
uint local_38 [8];
*param_3 = 0;
iVar1 = FUN_1400d5e20((int *)param_2,1);
if (iVar1 != 1) {
return 0xfffffffd;
}
uVar5 = FUN_1400ddfa0(local_50,param_1);
if ((int)uVar5 != 0) {
return uVar5;
}
uVar5 = FUN_1400d6520((int *)local_50,1,(int *)local_50);
uVar7 = uVar5 & 0xffffffff;
if ((int)uVar5 != 0) goto LAB_1400e1802;
uVar2 = FUN_1400ddfa0(local_38,local_50);
uVar7 = (ulonglong)uVar2;
if (uVar2 != 0) goto LAB_1400e1802;
uVar2 = FUN_1400d5e80((int *)local_38);
uVar5 = FUN_1400ddfd0(local_38,uVar2,local_38,(undefined8 *)0x0);
uVar7 = uVar5 & 0xffffffff;
if ((int)uVar5 == 0) {
uVar5 = FUN_1400d5ba0(local_68);
uVar7 = uVar5 & 0xffffffff;
if ((int)uVar5 == 0) {
uVar3 = FUN_1400d74b0(param_2,local_38,param_1,(undefined8 *)local_68);
uVar7 = (ulonglong)uVar3;
if (uVar3 == 0) {
iVar1 = FUN_1400d5e20((int *)local_68,1);
if ((iVar1 != 0) &&
(uVar6 = FUN_1400d5df0((int *)local_68,(int *)local_50), (int)uVar6 != 0)) {
iVar1 = 1;
if (0 < (int)(uVar2 - 1)) {
do {
uVar6 = FUN_1400d5df0((int *)local_68,(int *)local_50);
if ((int)uVar6 == 0) break;
uVar5 = FUN_1400d7170(local_68,param_1,local_68);
uVar7 = uVar5 & 0xffffffff;
if (((int)uVar5 != 0) || (iVar4 = FUN_1400d5e20((int *)local_68,1), iVar4 == 0))
goto LAB_1400e17e8;
iVar1 = iVar1 + 1;
} while (iVar1 <= (int)(uVar2 - 1));
}
uVar6 = FUN_1400d5df0((int *)local_68,(int *)local_50);
if ((int)uVar6 != 0) goto LAB_1400e17e8;
}
*param_3 = 1;
}
LAB_1400e17e8:
FUN_1400d5c00((int *)local_68);
}
}
FUN_1400d5c00((int *)local_38);
LAB_1400e1802:
FUN_1400d5c00((int *)local_50);
return uVar7;
}