Created
June 3, 2020 18:10
-
-
Save gquere/df4edf8f862d7e622502d1d8452cefa3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#include <stdint.h> | |
#include <string.h> | |
void ripemd(int *output, int *input) | |
{ | |
uint iVar1; | |
uint iVar2; | |
uint iVar3; | |
uint iVar4; | |
uint iVar5; | |
uint iVar6; | |
uint iVar7; | |
uint iVar8; | |
uint iVar9; | |
uint iVar10; | |
uint iVar11; | |
uint iVar12; | |
uint iVar13; | |
uint iVar14; | |
uint iVar15; | |
uint iVar16; | |
uint uVar17; | |
uint uVar18; | |
uint uVar19; | |
uint iVar20; | |
uint uVar21; | |
uint uVar22; | |
uint uVar23; | |
uint uVar24; | |
uint uVar25; | |
uint uVar26; | |
uint uVar27; | |
uint uVar28; | |
iVar16 = *input; | |
iVar14 = input[1]; | |
iVar1 = input[2]; | |
iVar2 = input[3]; | |
iVar3 = input[4]; | |
iVar4 = input[5]; | |
iVar5 = input[6]; | |
iVar6 = input[7]; | |
iVar7 = input[8]; | |
iVar8 = input[9]; | |
iVar9 = input[10]; | |
iVar10 = input[0xb]; | |
iVar11 = input[0xc]; | |
iVar12 = input[0xd]; | |
iVar15 = input[0xe]; | |
iVar13 = input[0xf]; | |
uVar18 = output[3]; | |
uVar19 = output[4]; | |
uVar23 = output[5]; | |
iVar20 = output[6]; | |
// iVar16 = X[0] | |
// uVar17 = aa = 0x67452301UL | |
// uVar18 = bb = 0xefcdab89UL | |
// uVar19 = cc = MDbuf[2] = 0x98badcfeUL | |
// uVar23 = dd = 0x10325476UL | |
// iVar20 = ee = MDbuf[4] = 0xc3d2e1f0UL | |
uVar17 = output[2] + (uVar18 ^ uVar19 ^ uVar23) + iVar16; | |
uVar17 = (uVar17 * 0x800 | uVar17 >> 0x15) + iVar20; // aa = ROL11(aa) + ee | |
uVar25 = uVar19 << 10 | uVar19 >> 0x16; // cc = ROL10(cc) | |
uVar19 = output[2] + 0x50a28be6 + (uVar18 ^ (uVar19 | ~uVar23)) + iVar4; | |
uVar27 = (uVar19 * 0x100 | uVar19 >> 0x18) + iVar20; | |
uVar19 = iVar20 + (uVar17 ^ uVar18 ^ uVar25) + iVar14; | |
uVar19 = (uVar19 * 0x4000 | uVar19 >> 0x12) + uVar23; | |
uVar22 = uVar18 << 10 | uVar18 >> 0x16; | |
uVar18 = iVar20 + 0x50a28be6 + (uVar27 ^ (uVar18 | ~uVar25)) + iVar15; | |
uVar21 = (uVar18 * 0x200 | uVar18 >> 0x17) + uVar23; | |
uVar18 = uVar23 + (uVar19 ^ uVar17 ^ uVar22) + iVar1; | |
uVar18 = (uVar18 * 0x8000 | uVar18 >> 0x11) + uVar25; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar23 = uVar23 + 0x50a28be6 + (uVar21 ^ (uVar27 | ~uVar22)) + iVar6; | |
uVar24 = (uVar23 * 0x200 | uVar23 >> 0x17) + uVar25; | |
uVar28 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar23 = uVar25 + (uVar18 ^ uVar19 ^ uVar17) + iVar2; | |
uVar26 = (uVar23 * 0x1000 | uVar23 >> 0x14) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar23 = uVar25 + 0x50a28be6 + (uVar24 ^ (uVar21 | ~uVar28)) + iVar16; | |
uVar25 = (uVar23 * 0x800 | uVar23 >> 0x15) + uVar22; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar23 = uVar22 + (uVar26 ^ uVar18 ^ uVar19) + iVar3; | |
uVar27 = (uVar23 * 0x20 | uVar23 >> 0x1b) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar22 + 0x50a28be6 + (uVar25 ^ (uVar24 | ~uVar21)) + iVar8; | |
uVar23 = (uVar23 * 0x2000 | uVar23 >> 0x13) + uVar28; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar17 = uVar17 + (uVar27 ^ uVar26 ^ uVar18) + iVar4; | |
uVar17 = (uVar17 * 0x100 | uVar17 >> 0x18) + uVar19; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar22 = uVar28 + 0x50a28be6 + (uVar23 ^ (uVar25 | ~uVar24)) + iVar1; | |
uVar28 = (uVar22 * 0x8000 | uVar22 >> 0x11) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + (uVar17 ^ uVar27 ^ uVar26) + iVar5; | |
uVar19 = (uVar19 * 0x80 | uVar19 >> 0x19) + uVar18; | |
uVar22 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar21 = uVar21 + 0x50a28be6 + (uVar28 ^ (uVar23 | ~uVar25)) + iVar10; | |
uVar21 = (uVar21 * 0x8000 | uVar21 >> 0x11) + uVar24; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + (uVar19 ^ uVar17 ^ uVar22) + iVar6; | |
uVar18 = (uVar18 * 0x200 | uVar18 >> 0x17) + uVar26; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar24 + 0x50a28be6 + (uVar21 ^ (uVar28 | ~uVar23)) + iVar3; | |
uVar27 = (uVar27 * 0x20 | uVar27 >> 0x1b) + uVar25; | |
uVar28 = uVar28 * 0x400 | uVar28 >> 0x16; | |
uVar26 = uVar26 + (uVar18 ^ uVar19 ^ uVar17) + iVar7; | |
uVar24 = (uVar26 * 0x800 | uVar26 >> 0x15) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x50a28be6 + (uVar27 ^ (uVar21 | ~uVar28)) + iVar12; | |
uVar25 = (uVar25 * 0x80 | uVar25 >> 0x19) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + (uVar24 ^ uVar18 ^ uVar19) + iVar8; | |
uVar22 = (uVar22 * 0x2000 | uVar22 >> 0x13) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x50a28be6 + (uVar25 ^ (uVar27 | ~uVar21)) + iVar5; | |
uVar23 = (uVar23 * 0x80 | uVar23 >> 0x19) + uVar28; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + (uVar22 ^ uVar24 ^ uVar18) + iVar9; | |
uVar17 = (uVar17 * 0x4000 | uVar17 >> 0x12) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar28 + 0x50a28be6 + (uVar23 ^ (uVar25 | ~uVar27)) + iVar13; | |
uVar26 = (uVar26 * 0x100 | uVar26 >> 0x18) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + (uVar17 ^ uVar22 ^ uVar24) + iVar10; | |
uVar19 = (uVar19 * 0x8000 | uVar19 >> 0x11) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x50a28be6 + (uVar26 ^ (uVar23 | ~uVar25)) + iVar7; | |
uVar21 = (uVar21 * 0x800 | uVar21 >> 0x15) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + (uVar19 ^ uVar17 ^ uVar22) + iVar11; | |
uVar18 = (uVar18 * 0x40 | uVar18 >> 0x1a) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x50a28be6 + (uVar21 ^ (uVar26 | ~uVar23)) + iVar14; | |
uVar27 = (uVar27 * 0x4000 | uVar27 >> 0x12) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + (uVar18 ^ uVar19 ^ uVar17) + iVar12; | |
uVar24 = (uVar24 * 0x80 | uVar24 >> 0x19) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x50a28be6 + (uVar27 ^ (uVar21 | ~uVar26)) + iVar9; | |
uVar25 = (uVar25 * 0x4000 | uVar25 >> 0x12) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + (uVar24 ^ uVar18 ^ uVar19) + iVar15; | |
uVar22 = (uVar22 * 0x200 | uVar22 >> 0x17) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x50a28be6 + (uVar25 ^ (uVar27 | ~uVar21)) + iVar2; | |
uVar23 = (uVar23 * 0x1000 | uVar23 >> 0x14) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + (uVar22 ^ uVar24 ^ uVar18) + iVar13; | |
uVar17 = (uVar17 * 0x100 | uVar17 >> 0x18) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x50a28be6 + (uVar23 ^ (uVar25 | ~uVar27)) + iVar11; | |
uVar26 = (uVar26 * 0x40 | uVar26 >> 0x1a) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x5a827999 + (uVar17 & uVar22 | ~uVar17 & uVar24) + iVar6; | |
uVar19 = (uVar19 * 0x80 | uVar19 >> 0x19) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x5c4dd124 + (uVar26 & uVar25 | uVar23 & ~uVar25) + iVar5; | |
uVar21 = (uVar21 * 0x200 | uVar21 >> 0x17) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x5a827999 + (uVar19 & uVar17 | ~uVar19 & uVar22) + iVar3; | |
uVar18 = (uVar18 * 0x40 | uVar18 >> 0x1a) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x5c4dd124 + (uVar21 & uVar23 | uVar26 & ~uVar23) + iVar10; | |
uVar27 = (uVar27 * 0x2000 | uVar27 >> 0x13) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x5a827999 + (uVar18 & uVar19 | ~uVar18 & uVar17) + iVar12; | |
uVar24 = (uVar24 * 0x100 | uVar24 >> 0x18) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x5c4dd124 + (uVar27 & uVar26 | uVar21 & ~uVar26) + iVar2; | |
uVar25 = (uVar25 * 0x8000 | uVar25 >> 0x11) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x5a827999 + (uVar24 & uVar18 | ~uVar24 & uVar19) + iVar14; | |
uVar22 = (uVar22 * 0x2000 | uVar22 >> 0x13) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x5c4dd124 + (uVar25 & uVar21 | uVar27 & ~uVar21) + iVar6; | |
uVar23 = (uVar23 * 0x80 | uVar23 >> 0x19) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x5a827999 + (uVar22 & uVar24 | ~uVar22 & uVar18) + iVar9; | |
uVar17 = (uVar17 * 0x800 | uVar17 >> 0x15) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x5c4dd124 + (uVar23 & uVar27 | uVar25 & ~uVar27) + iVar16; | |
uVar26 = (uVar26 * 0x1000 | uVar26 >> 0x14) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x5a827999 + (uVar17 & uVar22 | ~uVar17 & uVar24) + iVar5; | |
uVar19 = (uVar19 * 0x200 | uVar19 >> 0x17) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x5c4dd124 + (uVar26 & uVar25 | uVar23 & ~uVar25) + iVar12; | |
uVar21 = (uVar21 * 0x100 | uVar21 >> 0x18) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x5a827999 + (uVar19 & uVar17 | ~uVar19 & uVar22) + iVar13; | |
uVar18 = (uVar18 * 0x80 | uVar18 >> 0x19) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x5c4dd124 + (uVar21 & uVar23 | uVar26 & ~uVar23) + iVar4; | |
uVar27 = (uVar27 * 0x200 | uVar27 >> 0x17) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x5a827999 + (uVar18 & uVar19 | ~uVar18 & uVar17) + iVar2; | |
uVar24 = (uVar24 * 0x8000 | uVar24 >> 0x11) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x5c4dd124 + (uVar27 & uVar26 | uVar21 & ~uVar26) + iVar9; | |
uVar25 = (uVar25 * 0x800 | uVar25 >> 0x15) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x5a827999 + (uVar24 & uVar18 | ~uVar24 & uVar19) + iVar11; | |
uVar22 = (uVar22 * 0x80 | uVar22 >> 0x19) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x5c4dd124 + (uVar25 & uVar21 | uVar27 & ~uVar21) + iVar15; | |
uVar23 = (uVar23 * 0x80 | uVar23 >> 0x19) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x5a827999 + (uVar22 & uVar24 | ~uVar22 & uVar18) + iVar16; | |
uVar17 = (uVar17 * 0x1000 | uVar17 >> 0x14) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x5c4dd124 + (uVar23 & uVar27 | uVar25 & ~uVar27) + iVar13; | |
uVar26 = (uVar26 * 0x80 | uVar26 >> 0x19) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x5a827999 + (uVar17 & uVar22 | ~uVar17 & uVar24) + iVar8; | |
uVar19 = (uVar19 * 0x8000 | uVar19 >> 0x11) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x5c4dd124 + (uVar26 & uVar25 | uVar23 & ~uVar25) + iVar7; | |
uVar21 = (uVar21 * 0x1000 | uVar21 >> 0x14) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x5a827999 + (uVar19 & uVar17 | ~uVar19 & uVar22) + iVar4; | |
uVar18 = (uVar18 * 0x200 | uVar18 >> 0x17) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x5c4dd124 + (uVar21 & uVar23 | uVar26 & ~uVar23) + iVar11; | |
uVar27 = (uVar27 * 0x80 | uVar27 >> 0x19) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x5a827999 + (uVar18 & uVar19 | ~uVar18 & uVar17) + iVar1; | |
uVar24 = (uVar24 * 0x800 | uVar24 >> 0x15) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x5c4dd124 + (uVar27 & uVar26 | uVar21 & ~uVar26) + iVar3; | |
uVar25 = (uVar25 * 0x40 | uVar25 >> 0x1a) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x5a827999 + (uVar24 & uVar18 | ~uVar24 & uVar19) + iVar15; | |
uVar22 = (uVar22 * 0x80 | uVar22 >> 0x19) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x5c4dd124 + (uVar25 & uVar21 | uVar27 & ~uVar21) + iVar8; | |
uVar23 = (uVar23 * 0x8000 | uVar23 >> 0x11) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x5a827999 + (uVar22 & uVar24 | ~uVar22 & uVar18) + iVar10; | |
uVar17 = (uVar17 * 0x2000 | uVar17 >> 0x13) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x5c4dd124 + (uVar23 & uVar27 | uVar25 & ~uVar27) + iVar14; | |
uVar26 = (uVar26 * 0x2000 | uVar26 >> 0x13) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x5a827999 + (uVar17 & uVar22 | ~uVar17 & uVar24) + iVar7; | |
uVar19 = (uVar19 * 0x1000 | uVar19 >> 0x14) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x5c4dd124 + (uVar26 & uVar25 | uVar23 & ~uVar25) + iVar1; | |
uVar21 = (uVar21 * 0x800 | uVar21 >> 0x15) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x6ed9eba1 + ((uVar19 | ~uVar17) ^ uVar22) + iVar2; | |
uVar18 = (uVar18 * 0x800 | uVar18 >> 0x15) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x6d703ef3 + ((uVar21 | ~uVar26) ^ uVar23) + iVar13; | |
uVar27 = (uVar27 * 0x200 | uVar27 >> 0x17) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x6ed9eba1 + ((uVar18 | ~uVar19) ^ uVar17) + iVar9; | |
uVar24 = (uVar24 * 0x2000 | uVar24 >> 0x13) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x6d703ef3 + ((uVar27 | ~uVar21) ^ uVar26) + iVar4; | |
uVar25 = (uVar25 * 0x80 | uVar25 >> 0x19) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x6ed9eba1 + ((uVar24 | ~uVar18) ^ uVar19) + iVar15; | |
uVar22 = (uVar22 * 0x40 | uVar22 >> 0x1a) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x6d703ef3 + ((uVar25 | ~uVar27) ^ uVar21) + iVar14; | |
uVar23 = (uVar23 * 0x8000 | uVar23 >> 0x11) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x6ed9eba1 + ((uVar22 | ~uVar24) ^ uVar18) + iVar3; | |
uVar17 = (uVar17 * 0x80 | uVar17 >> 0x19) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x6d703ef3 + ((uVar23 | ~uVar25) ^ uVar27) + iVar2; | |
uVar26 = (uVar26 * 0x800 | uVar26 >> 0x15) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x6ed9eba1 + ((uVar17 | ~uVar22) ^ uVar24) + iVar8; | |
uVar19 = (uVar19 * 0x4000 | uVar19 >> 0x12) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x6d703ef3 + ((uVar26 | ~uVar23) ^ uVar25) + iVar6; | |
uVar21 = (uVar21 * 0x100 | uVar21 >> 0x18) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x6ed9eba1 + ((uVar19 | ~uVar17) ^ uVar22) + iVar13; | |
uVar18 = (uVar18 * 0x200 | uVar18 >> 0x17) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x6d703ef3 + ((uVar21 | ~uVar26) ^ uVar23) + iVar15; | |
uVar27 = (uVar27 * 0x40 | uVar27 >> 0x1a) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x6ed9eba1 + ((uVar18 | ~uVar19) ^ uVar17) + iVar7; | |
uVar24 = (uVar24 * 0x2000 | uVar24 >> 0x13) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x6d703ef3 + ((uVar27 | ~uVar21) ^ uVar26) + iVar5; | |
uVar25 = (uVar25 * 0x40 | uVar25 >> 0x1a) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x6ed9eba1 + ((uVar24 | ~uVar18) ^ uVar19) + iVar14; | |
uVar22 = (uVar22 * 0x8000 | uVar22 >> 0x11) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x6d703ef3 + ((uVar25 | ~uVar27) ^ uVar21) + iVar8; | |
uVar23 = (uVar23 * 0x4000 | uVar23 >> 0x12) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x6ed9eba1 + ((uVar22 | ~uVar24) ^ uVar18) + iVar1; | |
uVar17 = (uVar17 * 0x4000 | uVar17 >> 0x12) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x6d703ef3 + ((uVar23 | ~uVar25) ^ uVar27) + iVar10; | |
uVar26 = (uVar26 * 0x1000 | uVar26 >> 0x14) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x6ed9eba1 + ((uVar17 | ~uVar22) ^ uVar24) + iVar6; | |
uVar19 = (uVar19 * 0x100 | uVar19 >> 0x18) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x6d703ef3 + ((uVar26 | ~uVar23) ^ uVar25) + iVar7; | |
uVar21 = (uVar21 * 0x2000 | uVar21 >> 0x13) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x6ed9eba1 + ((uVar19 | ~uVar17) ^ uVar22) + iVar16; | |
uVar18 = (uVar18 * 0x2000 | uVar18 >> 0x13) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x6d703ef3 + ((uVar21 | ~uVar26) ^ uVar23) + iVar11; | |
uVar27 = (uVar27 * 0x20 | uVar27 >> 0x1b) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x6ed9eba1 + ((uVar18 | ~uVar19) ^ uVar17) + iVar5; | |
uVar24 = (uVar24 * 0x40 | uVar24 >> 0x1a) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x6d703ef3 + ((uVar27 | ~uVar21) ^ uVar26) + iVar1; | |
uVar25 = (uVar25 * 0x4000 | uVar25 >> 0x12) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x6ed9eba1 + ((uVar24 | ~uVar18) ^ uVar19) + iVar12; | |
uVar22 = (uVar22 * 0x20 | uVar22 >> 0x1b) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x6d703ef3 + ((uVar25 | ~uVar27) ^ uVar21) + iVar9; | |
uVar23 = (uVar23 * 0x2000 | uVar23 >> 0x13) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x6ed9eba1 + ((uVar22 | ~uVar24) ^ uVar18) + iVar10; | |
uVar17 = (uVar17 * 0x1000 | uVar17 >> 0x14) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x6d703ef3 + ((uVar23 | ~uVar25) ^ uVar27) + iVar16; | |
uVar26 = (uVar26 * 0x2000 | uVar26 >> 0x13) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x6ed9eba1 + ((uVar17 | ~uVar22) ^ uVar24) + iVar4; | |
uVar19 = (uVar19 * 0x80 | uVar19 >> 0x19) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x6d703ef3 + ((uVar26 | ~uVar23) ^ uVar25) + iVar3; | |
uVar21 = (uVar21 * 0x80 | uVar21 >> 0x19) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x6ed9eba1 + ((uVar19 | ~uVar17) ^ uVar22) + iVar11; | |
uVar18 = (uVar18 * 0x20 | uVar18 >> 0x1b) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x6d703ef3 + ((uVar21 | ~uVar26) ^ uVar23) + iVar12; | |
uVar27 = (uVar27 * 0x20 | uVar27 >> 0x1b) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x8f1bbcdc + (uVar18 & uVar17 | uVar19 & ~uVar17) + iVar14; | |
uVar24 = (uVar24 * 0x800 | uVar24 >> 0x15) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x7a6d76e9 + (uVar27 & uVar21 | ~uVar27 & uVar26) + iVar7; | |
uVar25 = (uVar25 * 0x8000 | uVar25 >> 0x11) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x8f1bbcdc + (uVar24 & uVar19 | uVar18 & ~uVar19) + iVar8; | |
uVar22 = (uVar22 * 0x1000 | uVar22 >> 0x14) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x7a6d76e9 + (uVar25 & uVar27 | ~uVar25 & uVar21) + iVar5; | |
uVar23 = (uVar23 * 0x20 | uVar23 >> 0x1b) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x8f1bbcdc + (uVar22 & uVar18 | uVar24 & ~uVar18) + iVar10; | |
uVar17 = (uVar17 * 0x4000 | uVar17 >> 0x12) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x7a6d76e9 + (uVar23 & uVar25 | ~uVar23 & uVar27) + iVar3; | |
uVar26 = (uVar26 * 0x100 | uVar26 >> 0x18) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x8f1bbcdc + (uVar17 & uVar24 | uVar22 & ~uVar24) + iVar9; | |
uVar19 = (uVar19 * 0x8000 | uVar19 >> 0x11) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x7a6d76e9 + (uVar26 & uVar23 | ~uVar26 & uVar25) + iVar14; | |
uVar21 = (uVar21 * 0x800 | uVar21 >> 0x15) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x8f1bbcdc + (uVar19 & uVar22 | uVar17 & ~uVar22) + iVar16; | |
uVar18 = (uVar18 * 0x4000 | uVar18 >> 0x12) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x7a6d76e9 + (uVar21 & uVar26 | ~uVar21 & uVar23) + iVar2; | |
uVar27 = (uVar27 * 0x4000 | uVar27 >> 0x12) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x8f1bbcdc + (uVar18 & uVar17 | uVar19 & ~uVar17) + iVar7; | |
uVar24 = (uVar24 * 0x8000 | uVar24 >> 0x11) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x7a6d76e9 + (uVar27 & uVar21 | ~uVar27 & uVar26) + iVar10; | |
uVar25 = (uVar25 * 0x4000 | uVar25 >> 0x12) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x8f1bbcdc + (uVar24 & uVar19 | uVar18 & ~uVar19) + iVar11; | |
uVar22 = (uVar22 * 0x200 | uVar22 >> 0x17) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x7a6d76e9 + (uVar25 & uVar27 | ~uVar25 & uVar21) + iVar13; | |
uVar23 = (uVar23 * 0x40 | uVar23 >> 0x1a) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x8f1bbcdc + (uVar22 & uVar18 | uVar24 & ~uVar18) + iVar3; | |
uVar17 = (uVar17 * 0x100 | uVar17 >> 0x18) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x7a6d76e9 + (uVar23 & uVar25 | ~uVar23 & uVar27) + iVar16; | |
uVar26 = (uVar26 * 0x4000 | uVar26 >> 0x12) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x8f1bbcdc + (uVar17 & uVar24 | uVar22 & ~uVar24) + iVar12; | |
uVar19 = (uVar19 * 0x200 | uVar19 >> 0x17) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x7a6d76e9 + (uVar26 & uVar23 | ~uVar26 & uVar25) + iVar4; | |
uVar21 = (uVar21 * 0x40 | uVar21 >> 0x1a) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x8f1bbcdc + (uVar19 & uVar22 | uVar17 & ~uVar22) + iVar2; | |
uVar18 = (uVar18 * 0x4000 | uVar18 >> 0x12) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x7a6d76e9 + (uVar21 & uVar26 | ~uVar21 & uVar23) + iVar11; | |
uVar27 = (uVar27 * 0x200 | uVar27 >> 0x17) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x8f1bbcdc + (uVar18 & uVar17 | uVar19 & ~uVar17) + iVar6; | |
uVar24 = (uVar24 * 0x20 | uVar24 >> 0x1b) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x7a6d76e9 + (uVar27 & uVar21 | ~uVar27 & uVar26) + iVar1; | |
uVar25 = (uVar25 * 0x1000 | uVar25 >> 0x14) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0x8f1bbcdc + (uVar24 & uVar19 | uVar18 & ~uVar19) + iVar13; | |
uVar22 = (uVar22 * 0x40 | uVar22 >> 0x1a) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + 0x7a6d76e9 + (uVar25 & uVar27 | ~uVar25 & uVar21) + iVar12; | |
uVar23 = (uVar23 * 0x200 | uVar23 >> 0x17) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0x8f1bbcdc + (uVar22 & uVar18 | uVar24 & ~uVar18) + iVar15; | |
uVar17 = (uVar17 * 0x100 | uVar17 >> 0x18) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + 0x7a6d76e9 + (uVar23 & uVar25 | ~uVar23 & uVar27) + iVar8; | |
uVar26 = (uVar26 * 0x1000 | uVar26 >> 0x14) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0x8f1bbcdc + (uVar17 & uVar24 | uVar22 & ~uVar24) + iVar4; | |
uVar19 = (uVar19 * 0x40 | uVar19 >> 0x1a) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + 0x7a6d76e9 + (uVar26 & uVar23 | ~uVar26 & uVar25) + iVar6; | |
uVar21 = (uVar21 * 0x20 | uVar21 >> 0x1b) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0x8f1bbcdc + (uVar19 & uVar22 | uVar17 & ~uVar22) + iVar5; | |
uVar18 = (uVar18 * 0x20 | uVar18 >> 0x1b) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + 0x7a6d76e9 + (uVar21 & uVar26 | ~uVar21 & uVar23) + iVar9; | |
uVar27 = (uVar27 * 0x8000 | uVar27 >> 0x11) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0x8f1bbcdc + (uVar18 & uVar17 | uVar19 & ~uVar17) + iVar1; | |
uVar24 = (uVar24 * 0x1000 | uVar24 >> 0x14) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + 0x7a6d76e9 + (uVar27 & uVar21 | ~uVar27 & uVar26) + iVar15; | |
uVar25 = (uVar25 * 0x100 | uVar25 >> 0x18) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0xa953fd4e + (uVar24 ^ (uVar18 | ~uVar19)) + iVar3; | |
uVar22 = (uVar22 * 0x200 | uVar22 >> 0x17) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + (uVar25 ^ uVar27 ^ uVar21) + iVar11; | |
uVar23 = (uVar23 * 0x100 | uVar23 >> 0x18) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0xa953fd4e + (uVar22 ^ (uVar24 | ~uVar18)) + iVar16; | |
uVar17 = (uVar17 * 0x8000 | uVar17 >> 0x11) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + (uVar23 ^ uVar25 ^ uVar27) + iVar13; | |
uVar26 = (uVar26 * 0x20 | uVar26 >> 0x1b) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0xa953fd4e + (uVar17 ^ (uVar22 | ~uVar24)) + iVar4; | |
uVar19 = (uVar19 * 0x20 | uVar19 >> 0x1b) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + (uVar26 ^ uVar23 ^ uVar25) + iVar9; | |
uVar21 = (uVar21 * 0x1000 | uVar21 >> 0x14) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0xa953fd4e + (uVar19 ^ (uVar17 | ~uVar22)) + iVar8; | |
uVar18 = (uVar18 * 0x800 | uVar18 >> 0x15) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + (uVar21 ^ uVar26 ^ uVar23) + iVar3; | |
uVar27 = (uVar27 * 0x200 | uVar27 >> 0x17) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0xa953fd4e + (uVar18 ^ (uVar19 | ~uVar17)) + iVar6; | |
uVar24 = (uVar24 * 0x40 | uVar24 >> 0x1a) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + (uVar27 ^ uVar21 ^ uVar26) + iVar14; | |
uVar25 = (uVar25 * 0x1000 | uVar25 >> 0x14) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0xa953fd4e + (uVar24 ^ (uVar18 | ~uVar19)) + iVar11; | |
uVar22 = (uVar22 * 0x100 | uVar22 >> 0x18) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + (uVar25 ^ uVar27 ^ uVar21) + iVar4; | |
uVar23 = (uVar23 * 0x20 | uVar23 >> 0x1b) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0xa953fd4e + (uVar22 ^ (uVar24 | ~uVar18)) + iVar1; | |
uVar17 = (uVar17 * 0x2000 | uVar17 >> 0x13) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + (uVar23 ^ uVar25 ^ uVar27) + iVar7; | |
uVar26 = (uVar26 * 0x4000 | uVar26 >> 0x12) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0xa953fd4e + (uVar17 ^ (uVar22 | ~uVar24)) + iVar9; | |
uVar19 = (uVar19 * 0x1000 | uVar19 >> 0x14) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + (uVar26 ^ uVar23 ^ uVar25) + iVar6; | |
uVar21 = (uVar21 * 0x40 | uVar21 >> 0x1a) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0xa953fd4e + (uVar19 ^ (uVar17 | ~uVar22)) + iVar15; | |
uVar18 = (uVar18 * 0x20 | uVar18 >> 0x1b) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + (uVar21 ^ uVar26 ^ uVar23) + iVar5; | |
uVar27 = (uVar27 * 0x100 | uVar27 >> 0x18) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0xa953fd4e + (uVar18 ^ (uVar19 | ~uVar17)) + iVar14; | |
uVar24 = (uVar24 * 0x1000 | uVar24 >> 0x14) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + (uVar27 ^ uVar21 ^ uVar26) + iVar1; | |
uVar25 = (uVar25 * 0x2000 | uVar25 >> 0x13) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0xa953fd4e + (uVar24 ^ (uVar18 | ~uVar19)) + iVar2; | |
uVar22 = (uVar22 * 0x2000 | uVar22 >> 0x13) + uVar17; | |
uVar18 = uVar18 * 0x400 | uVar18 >> 0x16; | |
uVar23 = uVar23 + (uVar25 ^ uVar27 ^ uVar21) + iVar12; | |
uVar23 = (uVar23 * 0x40 | uVar23 >> 0x1a) + uVar26; | |
uVar27 = uVar27 * 0x400 | uVar27 >> 0x16; | |
uVar17 = uVar17 + 0xa953fd4e + (uVar22 ^ (uVar24 | ~uVar18)) + iVar7; | |
uVar17 = (uVar17 * 0x4000 | uVar17 >> 0x12) + uVar19; | |
uVar24 = uVar24 * 0x400 | uVar24 >> 0x16; | |
uVar26 = uVar26 + (uVar23 ^ uVar25 ^ uVar27) + iVar15; | |
uVar26 = (uVar26 * 0x20 | uVar26 >> 0x1b) + uVar21; | |
uVar25 = uVar25 * 0x400 | uVar25 >> 0x16; | |
uVar19 = uVar19 + 0xa953fd4e + (uVar17 ^ (uVar22 | ~uVar24)) + iVar10; | |
uVar19 = (uVar19 * 0x800 | uVar19 >> 0x15) + uVar18; | |
uVar22 = uVar22 * 0x400 | uVar22 >> 0x16; | |
uVar21 = uVar21 + (uVar26 ^ uVar23 ^ uVar25) + iVar16; | |
uVar21 = (uVar21 * 0x8000 | uVar21 >> 0x11) + uVar27; | |
uVar23 = uVar23 * 0x400 | uVar23 >> 0x16; | |
uVar18 = uVar18 + 0xa953fd4e + (uVar19 ^ (uVar17 | ~uVar22)) + iVar5; | |
uVar18 = (uVar18 * 0x100 | uVar18 >> 0x18) + uVar24; | |
uVar17 = uVar17 * 0x400 | uVar17 >> 0x16; | |
uVar27 = uVar27 + (uVar21 ^ uVar26 ^ uVar23) + iVar2; | |
uVar27 = (uVar27 * 0x2000 | uVar27 >> 0x13) + uVar25; | |
uVar26 = uVar26 * 0x400 | uVar26 >> 0x16; | |
uVar24 = uVar24 + 0xa953fd4e + (uVar18 ^ (uVar19 | ~uVar17)) + iVar13; | |
uVar24 = (uVar24 * 0x20 | uVar24 >> 0x1b) + uVar22; | |
uVar19 = uVar19 * 0x400 | uVar19 >> 0x16; | |
uVar25 = uVar25 + (uVar27 ^ uVar21 ^ uVar26) + iVar8; | |
uVar25 = (uVar25 * 0x800 | uVar25 >> 0x15) + uVar23; | |
uVar21 = uVar21 * 0x400 | uVar21 >> 0x16; | |
uVar22 = uVar22 + 0xa953fd4e + (uVar24 ^ (uVar18 | ~uVar19)) + iVar12; | |
uVar23 = uVar23 + (uVar25 ^ uVar27 ^ uVar21) + iVar10; | |
iVar16 = output[3]; | |
output[3] = (uVar18 * 0x400 | uVar18 >> 0x16) + output[4] + uVar21; | |
output[4] = uVar19 + output[5] + uVar26; | |
output[5] = uVar17 + output[6] + (uVar23 * 0x800 | uVar23 >> 0x15) + uVar26; | |
output[6] = (uVar22 * 0x40 | uVar22 >> 0x1a) + uVar17 + output[2] + uVar25; | |
output[2] = uVar24 + iVar16 + (uVar27 * 0x400 | uVar27 >> 0x16); | |
return; | |
} | |
void hash(uint8_t a0, uint8_t a1, uint8_t a2, uint8_t a3, uint8_t a4, uint8_t a5, uint8_t a6, uint8_t a7) | |
{ | |
uint8_t MDbuf1[7 * 4] = {0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, 0xF0, 0xE1, 0xD2, 0xC3}; | |
uint8_t block1[16 * 4] = {0xA1, 0xBD, 0xBD, 0xB9, 0xBA, 0xF3, 0xE6, 0xE6, 0xBE, 0xBE, 0xBE, 0xE7, 0xB0, 0xA6, 0xBC, 0xBD, 0xBC, 0xAB, 0xAC, 0xE7, 0xAA, 0xA6, 0xA4, 0xE6, 0xBE, 0xA8, 0xBD, 0xAA, 0xA1, 0xF6, 0xBF, 0xF4, 0x8A, 0xA2, 0xBF, 0x9C, 0x88, 0xA5, 0xFE, 0x90, 0xFD, 0xA4, 0xBE, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}; | |
uint8_t block2[16 * 4] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; | |
uint8_t MDbuf2[7 * 4] = {0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF, 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10, 0xF0, 0xE1, 0xD2, 0xC3}; | |
uint8_t block3[16 * 4] = {0xCB, 0xD7, 0xD7, 0xD3, 0xD0, 0x99, 0x8C, 0x8C, 0xD4, 0xD4, 0xD4, 0x8D, 0xDA, 0xCC, 0xD6, 0xD7, 0xD6, 0xC1, 0xC6, 0x8D, 0xC0, 0xCC, 0xCE, 0x8C, 0xD4, 0xC2, 0xD7, 0xC0, 0xCB, 0x9C, 0xD5, 0x9E, 0xE0, 0xC8, 0xD5, 0xF6, 0xE2, 0xCF, 0x94, 0xFA, 0x97, 0xCE, 0xD4, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C}; | |
uint8_t block4[16 * 4] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; | |
uint8_t map[4] = {0x7A, 0x78, 0x64, 0x73}; | |
block2[0] = map[a0]; | |
block2[1] = map[a1]; | |
block2[2] = map[a2]; | |
block2[3] = map[a3]; | |
block2[4] = map[a4]; | |
block2[5] = map[a5]; | |
block2[6] = map[a6]; | |
block2[7] = map[a7]; | |
ripemd((int *)MDbuf1, (int *)block1); | |
ripemd((int *)MDbuf1, (int *)block2); | |
memcpy(block4, MDbuf1 + 8, 5 * 4); | |
ripemd((int *)MDbuf2, (int *)block3); | |
ripemd((int *)MDbuf2, (int *)block4); | |
printf("$HEX["); | |
for (int i = 2 * 4; i < 7 * 4; i++) { | |
printf("%02x", MDbuf2[i]); | |
} | |
printf("]\n"); | |
} | |
int main(void) | |
{ | |
uint8_t a0, a1, a2, a3, a4, a5, a6, a7; | |
for (a0 = 0; a0 < 4; a0++) { | |
for (a1 = 0; a1 < 4; a1++) { | |
for (a2 = 0; a2 < 4; a2++) { | |
for (a3 = 0; a3 < 4; a3++) { | |
for (a4 = 0; a4 < 4; a4++) { | |
for (a5 = 0; a5 < 4; a5++) { | |
for (a6 = 0; a6 < 4; a6++) { | |
for (a7 = 0; a7 < 4; a7++){ | |
printf("%02x %02x %02x %02x %02x %02x %02x %02x\n"); | |
hash(a0,a1,a2,a3,a4,a5,a6,a7); | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment