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

63 lines
2.1 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x1400b9fa0 FUN_1400b9fa0
* Pseudocode, not original source. */
ulonglong FUN_1400b9fa0(void *param_1,uint param_2,undefined1 *param_3,uint *param_4,byte *param_5,
undefined4 param_6,ulonglong param_7,uint param_8,uint param_9,int param_10,
longlong param_11)
{
uint uVar1;
uint uVar2;
int iVar3;
ulonglong uVar4;
uint local_res8 [2];
uint local_res10;
undefined8 in_stack_ffffffffffffff98;
undefined4 uVar6;
ulonglong uVar5;
uVar6 = (undefined4)((ulonglong)in_stack_ffffffffffffff98 >> 0x20);
if (((param_1 != (void *)0x0) && (param_3 != (undefined1 *)0x0)) && (param_4 != (uint *)0x0)) {
if (param_11 != 0) {
if ((param_10 == 1) || (param_10 == 2)) {
local_res10 = param_2;
uVar4 = FUN_1400d58f0(param_8);
if (((int)uVar4 == 0) &&
((param_10 != 2 || (uVar4 = FUN_1400db770(param_9), (int)uVar4 == 0)))) {
uVar1 = (*DAT_14017d4e8)(*(undefined8 *)(param_11 + 0x18));
uVar2 = (*DAT_14017d510)(*(undefined8 *)(param_11 + 0x18));
local_res8[0] = *param_4;
if (local_res8[0] < uVar2) {
*param_4 = uVar2;
uVar4 = 6;
}
else {
if (param_10 == 2) {
uVar5 = CONCAT44(uVar6,uVar1);
uVar4 = FUN_1400db3e0(param_1,local_res10,param_5,param_6,uVar1,param_7,param_8,
param_9,param_3,local_res8);
iVar3 = (int)uVar4;
}
else {
uVar4 = FUN_1400db210(param_1,local_res10,2,uVar1,param_7,param_8,param_3,local_res8);
iVar3 = (int)uVar4;
uVar5 = param_7;
}
if (iVar3 == 0) {
uVar4 = (*DAT_14017d600)(param_3,local_res8[0],param_3,param_4,
uVar5 & 0xffffffff00000000,param_11);
}
}
}
}
else {
uVar4 = 0x18;
}
return uVar4;
}
return 0x10;
}
return 0x10;
}