/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400b25d0 FUN_1400b25d0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ /* WARNING: Removing unreachable block (ram,0x0001400b2908) */ /* WARNING: Removing unreachable block (ram,0x0001400b2809) */ /* WARNING: Removing unreachable block (ram,0x0001400b2819) */ /* WARNING: Removing unreachable block (ram,0x0001400b2913) */ /* WARNING: Removing unreachable block (ram,0x0001400b282d) */ /* WARNING: Removing unreachable block (ram,0x0001400b2835) */ /* WARNING: Removing unreachable block (ram,0x0001400b283f) */ /* WARNING: Removing unreachable block (ram,0x0001400b28fd) */ void FUN_1400b25d0(longlong param_1,char param_2,SIZE_T param_3,undefined8 param_4) { longlong *plVar1; int *piVar2; longlong *plVar3; longlong *plVar4; undefined8 *puVar5; int *piVar6; double *pdVar7; longlong lVar8; longlong *plVar9; undefined8 uVar10; longlong lVar11; double dVar12; undefined1 auStack_1a8 [40]; longlong local_180; longlong *local_178; longlong local_170 [5]; int *local_148; undefined1 local_140; undefined8 local_138; undefined4 local_100; uint uStack_fc; undefined4 local_f8; uint uStack_f4; double local_f0 [3]; double local_d8 [3]; undefined4 local_c0 [14]; undefined *local_88 [4]; undefined8 local_68 [6]; ulonglong local_38; local_138 = 0xfffffffffffffffe; local_38 = DAT_14016f5a0 ^ (ulonglong)auStack_1a8; (**(code **)(*(longlong *)(param_1 + 0x78) + 0x10))(); lVar11 = 0; local_170[3] = 0; FUN_14009d7e0((longlong *)(param_1 + 0x1570),local_170 + 3); if ((*(longlong **)(param_1 + 0x15d8) != (longlong *)0x0) && (lVar8 = **(longlong **)(param_1 + 0x15d8), lVar8 != 0)) { if (*(char *)(lVar8 + 0x40) == '\0') { lVar8 = lVar11; if (*(longlong **)(param_1 + 0x15d8) != (longlong *)0x0) { lVar8 = **(longlong **)(param_1 + 0x15d8); } if (*(char *)(lVar8 + 0x80) == '\0') goto LAB_1400b26ab; } local_170[0] = 0; FUN_14009d860(local_170,(longlong *)(param_1 + 0x15d8)); lVar8 = lVar11; if (*(longlong *)(param_1 + 0x5d8) != 0) { lVar8 = *(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38); } FUN_1400c4c60(lVar8,local_170); } LAB_1400b26ab: if ((*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) && (lVar8 = **(longlong **)(param_1 + 0x1520), lVar8 != 0)) { if (*(char *)(lVar8 + 0x40) == '\0') { lVar8 = lVar11; if (*(longlong **)(param_1 + 0x1520) != (longlong *)0x0) { lVar8 = **(longlong **)(param_1 + 0x1520); } if (*(char *)(lVar8 + 0x80) == '\0') goto LAB_1400b271f; } local_170[1] = 0; FUN_14009d860(local_170 + 1,(longlong *)(param_1 + 0x1520)); lVar8 = lVar11; if (*(longlong *)(param_1 + 0x5d8) != 0) { lVar8 = *(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38); } FUN_1400c4c60(lVar8,local_170 + 1); } LAB_1400b271f: local_170[4] = 0; FUN_14009d860((longlong *)(param_1 + 0x15d8),local_170 + 4); local_170[2] = 0; plVar9 = local_170 + 2; FUN_14009d860((longlong *)(param_1 + 0x1520),plVar9); FUN_1400ad8e0(param_1); plVar3 = *(longlong **)(param_1 + 0x1708); do { if (plVar3 == (longlong *)0x0) { FUN_1400a91d0((longlong *)(param_1 + 0x1700)); if (param_2 != '\0') { FUN_1400b0a90((longlong *)(param_1 + 0x15e0),plVar9,param_3,param_4); } FUN_140086090(param_1 + 0xd8); uVar10 = 0; FUN_14002a050(param_1 + 0x4a8,0,param_3); *(undefined4 *)(param_1 + 0x4d8) = 0; *(undefined1 *)(param_1 + 0x4e8) = 0; *(undefined4 *)(param_1 + 0x4ec) = 0; *(undefined8 *)(param_1 + 0x4f0) = 0; *(undefined8 *)(param_1 + 0x4f8) = 0; *(undefined8 *)(param_1 + 0x500) = 0; *(undefined8 *)(param_1 + 0x5c8) = 0; FUN_1400b04c0((char *)(param_1 + 0x5e0)); dVar12 = FUN_14003e970(); *(double *)(param_1 + 0x640) = dVar12; *(undefined8 *)(param_1 + 0x648) = DAT_14016f090; *(undefined8 *)(param_1 + 0x510) = DAT_14016f100; *(undefined1 *)(param_1 + 0x650) = 0; uStack_fc = uStack_fc & 0xffffff00; local_100 = 0; local_f8 = 0; *(undefined8 *)(param_1 + 0x658) = 0; *(undefined8 *)(param_1 + 0x660) = 0; *(undefined8 *)(param_1 + 0x668) = 0; *(undefined8 *)(param_1 + 0x670) = 0; *(undefined8 *)(param_1 + 0x678) = 0; *(undefined8 *)(param_1 + 0x680) = 0; *(ulonglong *)(param_1 + 0x688) = (ulonglong)uStack_fc << 0x20; *(ulonglong *)(param_1 + 0x690) = (ulonglong)uStack_f4 << 0x20; *(undefined4 *)(param_1 + 0x698) = DAT_14016f110; puVar5 = (undefined8 *)FUN_1400979a0(local_c0); *(undefined8 *)(param_1 + 0x6a0) = *puVar5; *(undefined8 *)(param_1 + 0x6a8) = puVar5[1]; *(undefined8 *)(param_1 + 0x6b0) = puVar5[2]; *(undefined8 *)(param_1 + 0x6b8) = puVar5[3]; *(undefined8 *)(param_1 + 0x6c0) = puVar5[4]; *(undefined8 *)(param_1 + 0x6c8) = puVar5[5]; *(undefined4 *)(param_1 + 0x6d0) = 0; *(undefined4 *)(param_1 + 0x6d4) = 0; *(undefined4 *)(param_1 + 0x6d8) = 0; *(undefined4 *)(param_1 + 0x6dc) = 0; FUN_1400a93a0((longlong *)(param_1 + 0x6e0)); *(undefined4 *)(param_1 + 0x700) = 0; *(undefined1 *)(param_1 + 0x1528) = 0; FUN_1400a93a0((longlong *)(param_1 + 0x1530)); *(undefined4 *)(param_1 + 0x1578) = 0; plVar9 = FUN_140049bd0(local_88,uVar10,param_3,param_4); FUN_14009db30((longlong *)(param_1 + 0x1588),plVar9,param_3,param_4); puVar5 = local_68; FUN_140049e40(puVar5); if (((local_88[0] != (undefined *)0x0) && (local_88[0] != PTR_DAT_14016f010)) && (local_88[0] + -8 != (undefined *)0x0)) { piVar6 = (int *)FUN_14003e7c0(puVar5,plVar9,param_3,param_4); local_148 = piVar6; FUN_14003d040(piVar6); local_140 = 1; piVar2 = (int *)(local_88[0] + -4); *piVar2 = *piVar2 + -1; if (*piVar2 == 0) { FUN_14003e8b0(local_88[0] + -8); } FUN_14003d0d0((longlong)piVar6); local_140 = 0; } local_88[0] = PTR_DAT_14016f010; FUN_1400b0a90((longlong *)(param_1 + 0x1600),plVar9,param_3,param_4); FUN_140048920((char *)(param_1 + 0x1620)); *(undefined8 *)(param_1 + 0x1648) = 0; FUN_1400aad70((char *)(param_1 + 0x1650)); FUN_1400aad70((char *)(param_1 + 0x16a8)); pdVar7 = FUN_14009aa10(local_f0,DAT_14016f180); *(double *)(param_1 + 0x1778) = *pdVar7; *(double *)(param_1 + 0x1780) = pdVar7[1]; *(double *)(param_1 + 0x1788) = pdVar7[2]; pdVar7 = FUN_14009aa10(local_d8,DAT_14016f1a0); *(double *)(param_1 + 0x1878) = *pdVar7; *(double *)(param_1 + 0x1880) = pdVar7[1]; *(double *)(param_1 + 0x1888) = pdVar7[2]; *(undefined8 *)(param_1 + 0x1798) = 0x3ff0000000000000; *(undefined8 *)(param_1 + 0x1890) = 0; *(undefined8 *)(param_1 + 0x18c0) = 0; *(undefined2 *)(param_1 + 0x18c8) = 0; *(undefined1 *)(param_1 + 0x18ca) = 0; *(undefined8 *)(param_1 + 0x1870) = 0; *(undefined8 *)(param_1 + 0x17a0) = 0; *(undefined8 *)(param_1 + 0x17a8) = 0; *(undefined8 *)(param_1 + 0xd0) = 0; return; } local_178 = (longlong *)0x0; if (plVar3[2] != 0) { *(longlong *)(plVar3[2] + 8) = *(longlong *)(plVar3[2] + 8) + 1; local_178 = (longlong *)plVar3[2]; } lVar8 = lVar11; if (local_178 != (longlong *)0x0) { lVar8 = *local_178; } if (*(char *)(lVar8 + 0x40) == '\0') { lVar8 = lVar11; if (local_178 != (longlong *)0x0) { lVar8 = *local_178; } if (*(char *)(lVar8 + 0x80) != '\0') goto code_r0x0001400b27df; } else { code_r0x0001400b27df: local_180 = 0; if (plVar3[2] != 0) { *(longlong *)(plVar3[2] + 8) = *(longlong *)(plVar3[2] + 8) + 1; local_180 = plVar3[2]; } lVar8 = lVar11; if (*(longlong *)(param_1 + 0x5d8) != 0) { lVar8 = *(longlong *)(*(longlong *)(param_1 + 0x5d8) + 0x38); } FUN_1400c4c60(lVar8,&local_180); } if (plVar3 == *(longlong **)(param_1 + 0x1708)) { *(longlong *)(param_1 + 0x1708) = *plVar3; } else { *(longlong *)plVar3[1] = *plVar3; } if (plVar3 == *(longlong **)(param_1 + 0x1710)) { *(longlong *)(param_1 + 0x1710) = plVar3[1]; } else { *(longlong *)(*plVar3 + 8) = plVar3[1]; } plVar9 = plVar3; FUN_1400a7390((longlong *)(param_1 + 0x1700),plVar3); plVar4 = local_178; if (local_178 != (longlong *)0x0) { plVar1 = local_178 + 1; *plVar1 = *plVar1 + -1; if (*plVar1 == 0) { if ((undefined8 *)*local_178 != (undefined8 *)0x0) { plVar9 = (longlong *)0x1; (*(code *)**(undefined8 **)*local_178)(); } FUN_14003e8b0(plVar4); } } } while( true ); }