L L4D2node

MD5Transform

0x002454a0 · 1713 bytes · __regparm3

_ZL12MD5TransformPjPKj

Decompiled

undefined (2 params)

/* MD5Transform(unsigned int*, unsigned int const*) */

void __regparm3 MD5Transform(uint *param_1,uint *param_2)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  uint uVar24;
  
  uVar1 = param_1[2];
  uVar2 = param_1[3];
  uVar9 = *param_2;
  uVar3 = param_1[1];
  uVar4 = ((uVar2 ^ uVar1) & uVar3 ^ uVar2) + *param_1 + 0xd76aa478 + uVar9;
  uVar14 = param_2[1];
  uVar5 = (uVar4 >> 0x19 | uVar4 * 0x80) + uVar3;
  uVar15 = uVar2 + 0xe8c7b756 + uVar14 + ((uVar1 ^ uVar3) & uVar5 ^ uVar1);
  uVar4 = param_2[2];
  uVar16 = (uVar15 >> 0x14 | uVar15 * 0x1000) + uVar5;
  uVar10 = ((uVar3 ^ uVar5) & uVar16 ^ uVar3) + uVar1 + 0x242070db + uVar4;
  uVar15 = param_2[3];
  uVar11 = (uVar10 >> 0xf | uVar10 * 0x20000) + uVar16;
  uVar20 = ((uVar16 ^ uVar5) & uVar11 ^ uVar5) + uVar3 + 0xc1bdceee + uVar15;
  uVar10 = param_2[4];
  uVar21 = (uVar20 >> 10 | uVar20 * 0x400000) + uVar11;
  uVar20 = ((uVar11 ^ uVar16) & uVar21 ^ uVar16) + uVar5 + 0xf57c0faf + uVar10;
  uVar5 = param_2[5];
  uVar6 = (uVar20 >> 0x19 | uVar20 * 0x80) + uVar21;
  uVar16 = ((uVar21 ^ uVar11) & uVar6 ^ uVar11) + uVar16 + 0x4787c62a + uVar5;
  uVar20 = param_2[6];
  uVar17 = (uVar16 >> 0x14 | uVar16 * 0x1000) + uVar6;
  uVar16 = ((uVar6 ^ uVar21) & uVar17 ^ uVar21) + uVar11 + 0xa8304613 + uVar20;
  uVar11 = param_2[7];
  uVar12 = (uVar16 >> 0xf | uVar16 * 0x20000) + uVar17;
  uVar21 = ((uVar17 ^ uVar6) & uVar12 ^ uVar6) + uVar21 + 0xfd469501 + uVar11;
  uVar16 = param_2[8];
  uVar22 = (uVar21 >> 10 | uVar21 * 0x400000) + uVar12;
  uVar21 = ((uVar12 ^ uVar17) & uVar22 ^ uVar17) + uVar6 + 0x698098d8 + uVar16;
  uVar6 = param_2[9];
  uVar7 = (uVar21 >> 0x19 | uVar21 * 0x80) + uVar22;
  uVar17 = ((uVar22 ^ uVar12) & uVar7 ^ uVar12) + uVar17 + 0x8b44f7af + uVar6;
  uVar21 = param_2[10];
  uVar18 = (uVar17 >> 0x14 | uVar17 * 0x1000) + uVar7;
  uVar17 = ((uVar7 ^ uVar22) & uVar18 ^ uVar22) + (uVar12 - 0xa44f) + uVar21;
  uVar12 = param_2[0xb];
  uVar13 = (uVar17 >> 0xf | uVar17 * 0x20000) + uVar18;
  uVar22 = ((uVar18 ^ uVar7) & uVar13 ^ uVar7) + uVar22 + 0x895cd7be + uVar12;
  uVar17 = param_2[0xc];
  uVar23 = (uVar22 >> 10 | uVar22 * 0x400000) + uVar13;
  uVar22 = ((uVar13 ^ uVar18) & uVar23 ^ uVar18) + uVar7 + 0x6b901122 + uVar17;
  uVar7 = param_2[0xd];
  uVar8 = (uVar22 >> 0x19 | uVar22 * 0x80) + uVar23;
  uVar18 = ((uVar23 ^ uVar13) & uVar8 ^ uVar13) + uVar18 + 0xfd987193 + uVar7;
  uVar22 = param_2[0xe];
  uVar19 = (uVar18 >> 0x14 | uVar18 * 0x1000) + uVar8;
  uVar18 = ((uVar8 ^ uVar23) & uVar19 ^ uVar23) + uVar13 + 0xa679438e + uVar22;
  uVar13 = param_2[0xf];
  uVar18 = (uVar18 >> 0xf | uVar18 * 0x20000) + uVar19;
  uVar23 = ((uVar19 ^ uVar8) & uVar18 ^ uVar8) + uVar23 + 0x49b40821 + uVar13;
  uVar23 = (uVar23 >> 10 | uVar23 * 0x400000) + uVar18;
  uVar8 = ((uVar23 ^ uVar18) & uVar19 ^ uVar18) + uVar14 + 0xf61e2562 + uVar8;
  uVar8 = (uVar8 >> 0x1b | uVar8 * 0x20) + uVar23;
  uVar19 = ((uVar8 ^ uVar23) & uVar18 ^ uVar23) + uVar20 + 0xc040b340 + uVar19;
  uVar19 = (uVar19 >> 0x17 | uVar19 * 0x200) + uVar8;
  uVar18 = ((uVar19 ^ uVar8) & uVar23 ^ uVar8) + uVar12 + 0x265e5a51 + uVar18;
  uVar18 = (uVar18 >> 0x12 | uVar18 * 0x4000) + uVar19;
  uVar23 = ((uVar18 ^ uVar19) & uVar8 ^ uVar19) + uVar9 + 0xe9b6c7aa + uVar23;
  uVar23 = (uVar23 >> 0xc | uVar23 * 0x100000) + uVar18;
  uVar8 = ((uVar23 ^ uVar18) & uVar19 ^ uVar18) + uVar5 + 0xd62f105d + uVar8;
  uVar8 = (uVar8 >> 0x1b | uVar8 * 0x20) + uVar23;
  uVar19 = ((uVar8 ^ uVar23) & uVar18 ^ uVar23) + uVar21 + 0x2441453 + uVar19;
  uVar19 = (uVar19 >> 0x17 | uVar19 * 0x200) + uVar8;
  uVar18 = ((uVar19 ^ uVar8) & uVar23 ^ uVar8) + uVar13 + 0xd8a1e681 + uVar18;
  uVar18 = (uVar18 >> 0x12 | uVar18 * 0x4000) + uVar19;
  uVar23 = ((uVar18 ^ uVar19) & uVar8 ^ uVar19) + uVar10 + 0xe7d3fbc8 + uVar23;
  uVar23 = (uVar23 >> 0xc | uVar23 * 0x100000) + uVar18;
  uVar8 = ((uVar23 ^ uVar18) & uVar19 ^ uVar18) + uVar6 + 0x21e1cde6 + uVar8;
  uVar8 = (uVar8 >> 0x1b | uVar8 * 0x20) + uVar23;
  uVar19 = ((uVar8 ^ uVar23) & uVar18 ^ uVar23) + uVar22 + 0xc33707d6 + uVar19;
  uVar19 = (uVar19 >> 0x17 | uVar19 * 0x200) + uVar8;
  uVar18 = ((uVar19 ^ uVar8) & uVar23 ^ uVar8) + uVar15 + 0xf4d50d87 + uVar18;
  uVar18 = (uVar18 >> 0x12 | uVar18 * 0x4000) + uVar19;
  uVar23 = ((uVar18 ^ uVar19) & uVar8 ^ uVar19) + uVar16 + 0x455a14ed + uVar23;
  uVar23 = (uVar23 >> 0xc | uVar23 * 0x100000) + uVar18;
  uVar8 = ((uVar23 ^ uVar18) & uVar19 ^ uVar18) + uVar7 + 0xa9e3e905 + uVar8;
  uVar8 = (uVar8 >> 0x1b | uVar8 * 0x20) + uVar23;
  uVar19 = ((uVar8 ^ uVar23) & uVar18 ^ uVar23) + uVar4 + 0xfcefa3f8 + uVar19;
  uVar19 = (uVar19 >> 0x17 | uVar19 * 0x200) + uVar8;
  uVar18 = ((uVar19 ^ uVar8) & uVar23 ^ uVar8) + uVar11 + 0x676f02d9 + uVar18;
  uVar18 = (uVar18 >> 0x12 | uVar18 * 0x4000) + uVar19;
  uVar23 = ((uVar18 ^ uVar19) & uVar8 ^ uVar19) + uVar17 + 0x8d2a4c8a + uVar23;
  uVar23 = (uVar23 >> 0xc | uVar23 * 0x100000) + uVar18;
  uVar8 = (uVar18 ^ uVar19 ^ uVar23) + (uVar5 - 0x5c6be) + uVar8;
  uVar24 = (uVar8 >> 0x1c | uVar8 * 0x10) + uVar23;
  uVar8 = uVar16 + 0x8771f681 + uVar19 + (uVar23 ^ uVar18 ^ uVar24);
  uVar19 = (uVar8 >> 0x15 | uVar8 * 0x800) + uVar24;
  uVar8 = uVar12 + 0x6d9d6122 + uVar18 + (uVar23 ^ uVar24 ^ uVar19);
  uVar18 = (uVar8 >> 0x10 | uVar8 * 0x10000) + uVar19;
  uVar8 = uVar22 + 0xfde5380c + uVar23 + (uVar19 ^ uVar24 ^ uVar18);
  uVar23 = (uVar8 >> 9 | uVar8 * 0x800000) + uVar18;
  uVar8 = (uVar18 ^ uVar19 ^ uVar23) + uVar14 + 0xa4beea44 + uVar24;
  uVar8 = (uVar8 >> 0x1c | uVar8 * 0x10) + uVar23;
  uVar19 = (uVar23 ^ uVar18 ^ uVar8) + uVar10 + 0x4bdecfa9 + uVar19;
  uVar19 = (uVar19 >> 0x15 | uVar19 * 0x800) + uVar8;
  uVar18 = (uVar8 ^ uVar23 ^ uVar19) + uVar11 + 0xf6bb4b60 + uVar18;
  uVar18 = (uVar18 >> 0x10 | uVar18 * 0x10000) + uVar19;
  uVar23 = (uVar19 ^ uVar8 ^ uVar18) + uVar21 + 0xbebfbc70 + uVar23;
  uVar23 = (uVar23 >> 9 | uVar23 * 0x800000) + uVar18;
  uVar8 = uVar7 + 0x289b7ec6 + uVar8 + (uVar18 ^ uVar19 ^ uVar23);
  uVar24 = (uVar8 >> 0x1c | uVar8 * 0x10) + uVar23;
  uVar8 = uVar9 + 0xeaa127fa + uVar19 + (uVar23 ^ uVar18 ^ uVar24);
  uVar19 = (uVar8 >> 0x15 | uVar8 * 0x800) + uVar24;
  uVar8 = (uVar24 ^ uVar23 ^ uVar19) + uVar15 + 0xd4ef3085 + uVar18;
  uVar8 = (uVar8 >> 0x10 | uVar8 * 0x10000) + uVar19;
  uVar18 = uVar20 + 0x4881d05 + uVar23 + (uVar19 ^ uVar24 ^ uVar8);
  uVar18 = (uVar18 >> 9 | uVar18 * 0x800000) + uVar8;
  uVar23 = uVar6 + 0xd9d4d039 + uVar24 + (uVar8 ^ uVar19 ^ uVar18);
  uVar24 = (uVar23 >> 0x1c | uVar23 * 0x10) + uVar18;
  uVar23 = (uVar18 ^ uVar8 ^ uVar24) + uVar17 + 0xe6db99e5 + uVar19;
  uVar23 = (uVar23 >> 0x15 | uVar23 * 0x800) + uVar24;
  uVar8 = uVar13 + 0x1fa27cf8 + uVar8 + (uVar24 ^ uVar18 ^ uVar23);
  uVar19 = (uVar8 >> 0x10 | uVar8 * 0x10000) + uVar23;
  uVar8 = uVar4 + 0xc4ac5665 + uVar18 + (uVar23 ^ uVar24 ^ uVar19);
  uVar8 = (uVar8 >> 9 | uVar8 * 0x800000) + uVar19;
  uVar9 = ((~uVar23 | uVar8) ^ uVar19) + uVar9 + 0xf4292244 + uVar24;
  uVar9 = (uVar9 >> 0x1a | uVar9 * 0x40) + uVar8;
  uVar11 = ((~uVar19 | uVar9) ^ uVar8) + uVar11 + 0x432aff97 + uVar23;
  uVar11 = (uVar11 >> 0x16 | uVar11 * 0x400) + uVar9;
  uVar22 = ((~uVar8 | uVar11) ^ uVar9) + uVar22 + 0xab9423a7 + uVar19;
  uVar22 = (uVar22 >> 0x11 | uVar22 * 0x8000) + uVar11;
  uVar5 = ((~uVar9 | uVar22) ^ uVar11) + uVar5 + 0xfc93a039 + uVar8;
  uVar5 = (uVar5 >> 0xb | uVar5 * 0x200000) + uVar22;
  uVar9 = uVar17 + 0x655b59c3 + uVar9 + ((~uVar11 | uVar5) ^ uVar22);
  uVar17 = (uVar9 >> 0x1a | uVar9 * 0x40) + uVar5;
  uVar9 = uVar15 + 0x8f0ccc92 + uVar11 + ((~uVar22 | uVar17) ^ uVar5);
  uVar15 = (uVar9 >> 0x16 | uVar9 * 0x400) + uVar17;
  uVar9 = (uVar21 - 0x100b83) + uVar22 + ((~uVar5 | uVar15) ^ uVar17);
  uVar11 = (uVar9 >> 0x11 | uVar9 * 0x8000) + uVar15;
  uVar9 = ((~uVar17 | uVar11) ^ uVar15) + uVar14 + 0x85845dd1 + uVar5;
  uVar9 = (uVar9 >> 0xb | uVar9 * 0x200000) + uVar11;
  uVar14 = ((~uVar15 | uVar9) ^ uVar11) + uVar16 + 0x6fa87e4f + uVar17;
  uVar14 = (uVar14 >> 0x1a | uVar14 * 0x40) + uVar9;
  uVar15 = ((~uVar11 | uVar14) ^ uVar9) + uVar13 + 0xfe2ce6e0 + uVar15;
  uVar15 = (uVar15 >> 0x16 | uVar15 * 0x400) + uVar14;
  uVar5 = ((~uVar9 | uVar15) ^ uVar14) + uVar20 + 0xa3014314 + uVar11;
  uVar5 = (uVar5 >> 0x11 | uVar5 * 0x8000) + uVar15;
  uVar9 = ((~uVar14 | uVar5) ^ uVar15) + uVar7 + 0x4e0811a1 + uVar9;
  uVar9 = (uVar9 >> 0xb | uVar9 * 0x200000) + uVar5;
  uVar14 = ((~uVar15 | uVar9) ^ uVar5) + uVar10 + 0xf7537e82 + uVar14;
  uVar14 = (uVar14 >> 0x1a | uVar14 * 0x40) + uVar9;
  uVar15 = uVar12 + 0xbd3af235 + uVar15 + ((~uVar5 | uVar14) ^ uVar9);
  uVar15 = (uVar15 >> 0x16 | uVar15 * 0x400) + uVar14;
  uVar4 = ((~uVar9 | uVar15) ^ uVar14) + uVar4 + 0x2ad7d2bb + uVar5;
  uVar4 = (uVar4 >> 0x11 | uVar4 * 0x8000) + uVar15;
  *param_1 = uVar14 + *param_1;
  uVar9 = ((~uVar14 | uVar4) ^ uVar15) + uVar6 + 0xeb86d391 + uVar9;
  param_1[1] = (uVar9 >> 0xb | uVar9 * 0x200000) + uVar4 + uVar3;
  param_1[3] = uVar15 + uVar2;
  param_1[2] = uVar4 + uVar1;
  return;
}

SourceMod gamedata

paste into addons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)

Just a Signatures{} block, ready to drop into a gamedata file. Wire it up in your plugin however you like - SDKCall, DHooks, raw memory ops, or anything else.



        

        

          

Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.

Return-type handling cheatsheet (DHookReturn)