/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14009ce30 FUN_14009ce30 * Pseudocode, not original source. */ ulonglong FUN_14009ce30(longlong *param_1,undefined1 *param_2) { longlong lVar1; longlong *plVar2; ulonglong uVar3; longlong *plVar4; longlong *plVar5; short sVar6; int iVar7; short sVar8; int iVar9; undefined1 local_res8 [8]; local_res8[0] = 0; uVar3 = (**(code **)(*param_1 + 0x108))(param_1,local_res8); if ((int)uVar3 == 2) { plVar4 = (longlong *)param_1[0x296]; plVar5 = (longlong *)0x0; iVar7 = DAT_14016f3d0; sVar6 = DAT_14016f3d4; if ((((((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) && (plVar4 != (longlong *)0x0)) && ((*plVar4 != 0 && (*plVar4 != 0x40)))) && ((plVar4 = (longlong *)param_1[0x296], iVar7 = iRam0000000000000140, sVar6 = sRam0000000000000144, plVar4 != (longlong *)0x0 && ((*plVar4 != 0 && (plVar4 != (longlong *)0x0)))))) && (lVar1 = *plVar4, lVar1 != 0)) { iVar7 = *(int *)(lVar1 + 0x100); sVar6 = *(short *)(lVar1 + 0x104); } plVar4 = (longlong *)param_1[0x296]; iVar9 = DAT_14016f3d0; sVar8 = DAT_14016f3d4; if (((plVar4 != (longlong *)0x0) && (*plVar4 != 0)) && (plVar4 != (longlong *)0x0)) { lVar1 = *plVar4; plVar4 = (longlong *)0x0; if ((lVar1 != 0) && (plVar4 = (longlong *)0x0, lVar1 != 0x40)) { plVar2 = (longlong *)param_1[0x296]; plVar4 = plVar5; if (((plVar2 != (longlong *)0x0) && ((*plVar2 != 0 && (plVar2 != (longlong *)0x0)))) && (*plVar2 != 0)) { plVar4 = (longlong *)(*plVar2 + -0x40); } iVar9 = (int)plVar4[0x26]; sVar8 = *(short *)((longlong)plVar4 + 0x134); } } if ((iVar9 != iVar7) || (sVar8 != sVar6)) { plVar5 = (longlong *)0x1; } *param_2 = (char)plVar5; return CONCAT71((int7)((ulonglong)plVar4 >> 8),1); } return uVar3 & 0xffffffffffffff00; }