/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400d5950 FUN_1400d5950 * Pseudocode, not original source. */ ulonglong FUN_1400d5950(longlong param_1,undefined4 param_2,void *param_3,uint *param_4,int param_5, int *param_6) { uint uVar1; int iVar2; uint uVar3; uint uVar4; ulonglong uVar5; longlong local_res8; undefined8 local_28; undefined8 local_20; if (((param_1 == 0) || (param_3 == (void *)0x0)) || (param_4 == (uint *)0x0)) { return 0x10; } if (param_6 == (int *)0x0) { return 0x10; } if (param_5 == 1) { if (*param_6 != 1) { return 0xf; } } else if (param_5 != 0) { return 0x12; } uVar5 = FUN_1400da7f0(&local_res8); if ((int)uVar5 != 0) { return uVar5; } uVar1 = (*DAT_14017d520)(local_res8,param_1,param_2); uVar5 = (ulonglong)uVar1; if (uVar1 == 0) { iVar2 = (*DAT_14017d4d8)(*(undefined8 *)(param_6 + 6),local_res8); if (iVar2 == -1) { uVar5 = 0x16; } else { if (param_5 == 1) { uVar1 = (*DAT_14017d5c0)(local_res8,*(undefined8 *)(param_6 + 0xe), *(undefined8 *)(param_6 + 8),local_20); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400d5b60; uVar1 = (*DAT_14017d5c0)(local_res8,*(undefined8 *)(param_6 + 0x10), *(undefined8 *)(param_6 + 10),local_28); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400d5b60; uVar1 = (*DAT_14017d538)(local_20,local_28,local_res8); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400d5b60; uVar1 = (*DAT_14017d588)(local_res8,*(undefined8 *)(param_6 + 0xc), *(undefined8 *)(param_6 + 8),local_res8); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400d5b60; uVar1 = (*DAT_14017d548)(local_res8,*(undefined8 *)(param_6 + 10),local_res8); uVar5 = (ulonglong)uVar1; if (uVar1 != 0) goto LAB_1400d5b60; uVar1 = (*DAT_14017d528)(local_res8,local_28,local_res8); } else { uVar1 = (*DAT_14017d5c0)(local_res8,*(undefined8 *)(param_6 + 2), *(undefined8 *)(param_6 + 6),local_res8); } uVar5 = (ulonglong)uVar1; if (uVar1 == 0) { uVar1 = (*DAT_14017d510)(*(undefined8 *)(param_6 + 6)); if (*param_4 < uVar1) { *param_4 = uVar1; uVar5 = 6; } else { uVar3 = (*DAT_14017d510)(local_res8); uVar4 = (*DAT_14017d510)(*(undefined8 *)(param_6 + 6)); if (uVar4 < uVar3) { uVar5 = 1; } else { *param_4 = uVar1; FUN_1400da7d0(param_3,(ulonglong)uVar1); iVar2 = (*DAT_14017d510)(local_res8); uVar1 = (*DAT_14017d518)(local_res8,(ulonglong)(uVar1 - iVar2) + (longlong)param_3); uVar5 = (ulonglong)uVar1; } } } } } LAB_1400d5b60: FUN_1400da880(local_res8); return uVar5; }