/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400b83a0 FUN_1400b83a0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ undefined8 FUN_1400b83a0(longlong param_1,longlong param_2) { uint uVar1; undefined1 uVar2; undefined1 uVar3; uint uVar4; uint uVar5; uint uVar6; longlong lVar7; uint *puVar8; int *piVar9; uint uVar10; uint uVar11; uint uVar12; uint uVar13; undefined1 *puVar14; undefined1 *puVar15; uint uVar16; uint uVar17; longlong lVar18; undefined1 auStack_17a [2]; undefined1 local_178 [4]; undefined1 local_174 [4]; undefined1 local_170 [4]; uint local_16c [37]; int local_d8 [20]; int local_88 [20]; ulonglong local_38; local_38 = DAT_14016f5a0 ^ (ulonglong)local_178; lVar18 = 4; lVar7 = 4; puVar14 = (undefined1 *)(param_2 + 2); do { puVar15 = puVar14 + 0x10; uVar2 = puVar14[3]; *(uint *)(puVar15 + (longlong)local_16c + (-0x1e - param_2)) = CONCAT31(CONCAT21(CONCAT11(puVar14[-2],puVar14[-1]),*puVar14),puVar14[1]); uVar3 = puVar14[7]; *(uint *)(puVar15 + (longlong)local_16c + (-0x1a - param_2)) = CONCAT31(CONCAT21(CONCAT11(puVar14[2],uVar2),puVar14[4]),puVar14[5]); uVar2 = puVar14[0xb]; *(uint *)(puVar15 + (longlong)local_16c + (-0x16 - param_2)) = CONCAT31(CONCAT21(CONCAT11(puVar14[6],uVar3),puVar14[8]),puVar14[9]); lVar7 = lVar7 + -1; *(uint *)(puVar15 + (longlong)local_16c + (-0x12 - param_2)) = CONCAT31(CONCAT21(CONCAT11(puVar14[10],uVar2),puVar14[0xc]),puVar14[0xd]); puVar14 = puVar15; } while (lVar7 != 0); uVar4 = *(uint *)(param_1 + 8); uVar5 = *(uint *)(param_1 + 0xc); uVar16 = *(uint *)(param_1 + 0x10); uVar17 = *(uint *)(param_1 + 0x14); uVar10 = *(uint *)(param_1 + 0x18); lVar7 = 0x10; puVar8 = local_16c + 5; do { uVar13 = puVar8[-8] ^ puVar8[5] ^ puVar8[-6] ^ *puVar8; uVar6 = puVar8[-7] ^ puVar8[6] ^ puVar8[1] ^ puVar8[-5]; uVar13 = uVar13 << 1 | (uint)((int)uVar13 < 0); puVar8[8] = uVar13; puVar8[9] = uVar6 << 1 | (uint)((int)uVar6 < 0); uVar6 = puVar8[7] ^ puVar8[-4] ^ puVar8[2] ^ puVar8[-6]; puVar8[10] = uVar6 << 1 | (uint)((int)uVar6 < 0); uVar6 = puVar8[-3] ^ puVar8[3] ^ uVar13 ^ puVar8[-5]; lVar7 = lVar7 + -1; puVar8[0xb] = uVar6 << 1 | (uint)((int)uVar6 < 0); puVar8 = puVar8 + 4; } while (lVar7 != 0); lVar7 = 4; piVar9 = (int *)local_178; uVar13 = uVar4; uVar6 = uVar5; do { uVar12 = uVar6 << 0x1e | uVar6 >> 2; uVar6 = uVar10 + 0x5a827999 + (uVar13 << 5 | uVar13 >> 0x1b) + ((uVar17 ^ uVar16) & uVar6 ^ uVar17) + *piVar9; uVar11 = uVar13 << 0x1e | uVar13 >> 2; uVar13 = uVar17 + 0x5a827999 + (uVar6 * 0x20 | uVar6 >> 0x1b) + ((uVar16 ^ uVar12) & uVar13 ^ uVar16) + piVar9[1]; uVar10 = uVar6 * 0x40000000 | uVar6 >> 2; uVar1 = uVar16 + 0x5a827999 + (uVar13 * 0x20 | uVar13 >> 0x1b) + ((uVar12 ^ uVar11) & uVar6 ^ uVar12) + piVar9[2]; uVar17 = uVar13 * 0x40000000 | uVar13 >> 2; uVar6 = uVar12 + 0x5a827999 + (uVar1 * 0x20 | uVar1 >> 0x1b) + ((uVar10 ^ uVar11) & uVar13 ^ uVar11) + piVar9[3]; uVar16 = uVar1 * 0x40000000 | uVar1 >> 2; lVar7 = lVar7 + -1; uVar13 = uVar11 + 0x5a827999 + (uVar6 * 0x20 | uVar6 >> 0x1b) + ((uVar10 ^ uVar17) & uVar1 ^ uVar10) + piVar9[4]; piVar9 = piVar9 + 5; } while (lVar7 != 0); lVar7 = 4; puVar8 = local_16c + 0x11; do { uVar12 = uVar6 << 0x1e | uVar6 >> 2; uVar6 = uVar10 + 0x6ed9eba1 + (uVar13 << 5 | uVar13 >> 0x1b) + (uVar17 ^ uVar16 ^ uVar6) + *puVar8; uVar11 = uVar13 << 0x1e | uVar13 >> 2; uVar13 = uVar17 + 0x6ed9eba1 + (uVar6 * 0x20 | uVar6 >> 0x1b) + (uVar16 ^ uVar12 ^ uVar13) + puVar8[1]; uVar10 = uVar6 * 0x40000000 | uVar6 >> 2; uVar1 = uVar16 + 0x6ed9eba1 + (uVar13 * 0x20 | uVar13 >> 0x1b) + (uVar6 ^ uVar12 ^ uVar11) + puVar8[2]; uVar17 = uVar13 * 0x40000000 | uVar13 >> 2; uVar6 = uVar12 + 0x6ed9eba1 + (uVar1 * 0x20 | uVar1 >> 0x1b) + (uVar10 ^ uVar13 ^ uVar11) + puVar8[3]; uVar16 = uVar1 * 0x40000000 | uVar1 >> 2; lVar7 = lVar7 + -1; uVar13 = uVar11 + 0x6ed9eba1 + (uVar6 * 0x20 | uVar6 >> 0x1b) + (uVar10 ^ uVar17 ^ uVar1) + puVar8[4]; puVar8 = puVar8 + 5; } while (lVar7 != 0); lVar7 = 4; piVar9 = local_d8; do { uVar12 = uVar6 << 0x1e | uVar6 >> 2; uVar6 = ((uVar16 | uVar6) & uVar17 | uVar16 & uVar6) + *piVar9 + uVar10 + -0x70e44324 + (uVar13 << 5 | uVar13 >> 0x1b); uVar11 = uVar13 << 0x1e | uVar13 >> 2; uVar13 = ((uVar12 | uVar13) & uVar16 | uVar12 & uVar13) + piVar9[1] + uVar17 + -0x70e44324 + (uVar6 * 0x20 | uVar6 >> 0x1b); uVar10 = uVar6 * 0x40000000 | uVar6 >> 2; uVar1 = ((uVar6 | uVar11) & uVar12 | uVar6 & uVar11) + piVar9[2] + uVar16 + -0x70e44324 + (uVar13 * 0x20 | uVar13 >> 0x1b); uVar17 = uVar13 * 0x40000000 | uVar13 >> 2; uVar6 = ((uVar10 | uVar13) & uVar11 | uVar10 & uVar13) + piVar9[3] + uVar12 + -0x70e44324 + (uVar1 * 0x20 | uVar1 >> 0x1b); uVar16 = uVar1 * 0x40000000 | uVar1 >> 2; lVar7 = lVar7 + -1; uVar13 = ((uVar17 | uVar1) & uVar10 | uVar17 & uVar1) + piVar9[4] + uVar11 + -0x70e44324 + (uVar6 * 0x20 | uVar6 >> 0x1b); piVar9 = piVar9 + 5; } while (lVar7 != 0); piVar9 = local_88; do { uVar12 = uVar6 << 0x1e | uVar6 >> 2; uVar6 = (uVar17 ^ uVar16 ^ uVar6) + *piVar9 + uVar10 + -0x359d3e2a + (uVar13 << 5 | uVar13 >> 0x1b); uVar11 = uVar13 << 0x1e | uVar13 >> 2; uVar13 = (uVar16 ^ uVar12 ^ uVar13) + piVar9[1] + uVar17 + -0x359d3e2a + (uVar6 * 0x20 | uVar6 >> 0x1b); uVar10 = uVar6 * 0x40000000 | uVar6 >> 2; uVar1 = (uVar6 ^ uVar12 ^ uVar11) + piVar9[2] + uVar16 + -0x359d3e2a + (uVar13 * 0x20 | uVar13 >> 0x1b); uVar17 = uVar13 * 0x40000000 | uVar13 >> 2; uVar6 = (uVar10 ^ uVar13 ^ uVar11) + piVar9[3] + uVar12 + -0x359d3e2a + (uVar1 * 0x20 | uVar1 >> 0x1b); uVar16 = uVar1 * 0x40000000 | uVar1 >> 2; lVar18 = lVar18 + -1; uVar13 = (uVar10 ^ uVar17 ^ uVar1) + piVar9[4] + uVar11 + -0x359d3e2a + (uVar6 * 0x20 | uVar6 >> 0x1b); piVar9 = piVar9 + 5; } while (lVar18 != 0); *(uint *)(param_1 + 8) = uVar4 + uVar13; *(uint *)(param_1 + 0xc) = uVar5 + uVar6; *(uint *)(param_1 + 0x10) = *(int *)(param_1 + 0x10) + uVar16; *(uint *)(param_1 + 0x14) = *(int *)(param_1 + 0x14) + uVar17; *(uint *)(param_1 + 0x18) = *(int *)(param_1 + 0x18) + uVar10; return 0; }