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

62 lines
1.9 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14008a030 FUN_14008a030
* Pseudocode, not original source. */
undefined1
FUN_14008a030(longlong *param_1,undefined8 param_2,SIZE_T param_3,longlong param_4,uint *param_5)
{
undefined1 uVar1;
int iVar2;
undefined4 *puVar3;
ulonglong uVar4;
ulonglong uVar5;
uint uVar6;
SIZE_T SVar8;
longlong lVar9;
undefined4 local_res10 [2];
undefined4 local_40 [2];
longlong local_38;
longlong local_30;
int local_24;
ulonglong uVar7;
local_res10[0] = (undefined4)param_2;
SVar8 = param_3;
lVar9 = param_4;
FUN_140074fb0(local_40);
FUN_140074a40((longlong)local_40,param_2,SVar8,lVar9);
FUN_14002a2d0((longlong)local_40,0x3ea,SVar8,lVar9);
uVar4 = (ulonglong)*(uint *)(param_4 + 0x18);
puVar3 = local_40;
FUN_140029e60((longlong)puVar3,uVar4,SVar8,lVar9);
uVar5 = 0;
iVar2 = *(int *)(param_4 + 0x18);
uVar7 = uVar5;
if (0 < iVar2) {
do {
if (((longlong)uVar5 < 0) || (iVar2 <= (int)uVar7)) {
/* WARNING: Subroutine does not return */
FUN_14003def0(puVar3,uVar4,SVar8,lVar9);
}
uVar4 = (ulonglong)*(uint *)(*(longlong *)(param_4 + 0x10) + uVar5 * 4);
puVar3 = local_40;
FUN_140029e60((longlong)puVar3,uVar4,SVar8,lVar9);
uVar6 = (int)uVar7 + 1;
uVar7 = (ulonglong)uVar6;
uVar5 = uVar5 + 1;
iVar2 = *(int *)(param_4 + 0x18);
} while ((int)uVar6 < iVar2);
}
FUN_14009b610((longlong)local_40,param_5,SVar8,lVar9);
uVar1 = (**(code **)(*param_1 + 0x18))
(param_1,local_res10,1,param_3,local_40,PTR_u_NotifyCommon_SendRmi_1401703b8,
0x3ea);
FUN_14008a320(&local_38);
if ((local_30 != 0) && (local_24 < 0)) {
/* WARNING: Subroutine does not return */
FUN_14003dec0();
}
return uVar1;
}