2022-01-12

消失的岛屿

题目来源: 2019_看雪CTF_晋级赛Q2
题目描述:flag{xxxxxxxxxxxx} 本题考查了修改过编码table的base64算法,重点在于单个字符的变换强度。真实的编码table从头到尾不会在内存中显示。所以攻击者需要先将断点设置在charEncrypt处,找出编码的变换规则,然后找到修改过后的编码table,根据变换规则推导出真正的编码table。

附件是一个,额,exe
在这里插入图片描述

看来是和re结合的题
用IDA32位打开,F5进入主程序
在这里插入图片描述
base64_encode

int __cdecl base64_encode(const uint8_t *bindata, char *base64, int binlength)
{
  int v3; // eax@2
  char *v4; // ebx@2
  int v5; // eax@3
  int v6; // ST0C_4@3
  char *v7; // ebx@3
  int v8; // eax@3
  int v9; // eax@4
  char *v10; // ebx@4
  int v11; // eax@5
  int v12; // eax@6
  char *v13; // ebx@6
  uint8_t current; // [sp+Bh] [bp-Dh]@2
  uint8_t currenta; // [sp+Bh] [bp-Dh]@4
  int j; // [sp+Ch] [bp-Ch]@1
  int ja; // [sp+Ch] [bp-Ch]@2
  int jb; // [sp+Ch] [bp-Ch]@4
  int i; // [sp+10h] [bp-8h]@1

  i = 0;
  j = 0;
  while ( i < binlength )
  {
    v3 = j;
    ja = j + 1;
    v4 = &base64[v3];
    *v4 = charEncrypt((bindata[i] >> 2) & 0x3F);
    current = 16 * bindata[i] & 0x30;
    if ( i + 1 >= binlength )
    {
      v5 = ja;
      v6 = ja + 1;
      v7 = &base64[v5];
      *v7 = charEncrypt(current);
      base64[v6] = 61;
      v8 = v6 + 1;
      j = v6 + 2;
      base64[v8] = 61;
      break;
    }
    v9 = ja;
    jb = ja + 1;
    v10 = &base64[v9];
    *v10 = charEncrypt((bindata[i + 1] >> 4) | current);
    currenta = 4 * bindata[i + 1] & 0x3C;
    if ( i + 2 >= binlength )
    {
      base64[jb] = charEncrypt(currenta);
      v11 = jb + 1;
      j = jb + 2;
      base64[v11] = 61;
      break;
    }
    base64[jb] = charEncrypt((bindata[i + 2] >> 6) | currenta);
    v12 = jb + 1;
    j = jb + 2;
    v13 = &base64[v12];
    *v13 = charEncrypt(bindata[i + 2] & 0x3F);
    i += 3;
  }
  base64[j] = 0;
  return j;
}

charEncrypt

int __cdecl charEncrypt(int data)
{
  int result; // eax@3
  int dataa; // [sp+18h] [bp+8h]@1

  dataa = aTuvwxtulmnopqr[data];
  if ( dataa <= 64 || dataa > 90 )
  {
    if ( dataa <= 96 || dataa > 122 )
    {
      if ( dataa <= 47 || dataa > 57 )
      {
        if ( dataa == 43 )
        {
          result = 119;
        }
        else
        {
          if ( dataa == 47 )
            dataa = 121;
          result = dataa;
        }
      }
      else
      {
        result = dataa + 50;
      }
    }
    else
    {
      result = dataa - 64;
    }
  }
  else
  {
    result = 155 - dataa;
  }
  return result;
}

可以看出来 是Base加密,但是
在这里插入图片描述
但是这里加密表依旧不是这里的tuvwxTUlmnopqrs7YZabcdefghij8yz0123456VWXkABCDEFGHIJKLMNOPQRS9+/
而是在这个基础上通过函数进行了一些变化,也就是charEncrypt函数
通过读代码我们可以推断出

加密表是45678GF,-./0123iBA!"#$%&'()*j9:bcdefghEDC+ZYXWVUTSRQPONMLKJIHkwy

并不是base64标准的ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

所以我们需要将密文!NGV%,$h1f4S3%2P(hkQ94==解密
得到KanXue2019ctf_st

达芬奇密码

题目描述:恭喜你成功进入金字塔,但这并不是结束。一阵冷风慢慢的由脚底爬到背后,让人不由得一哆嗦,映入眼帘的是两排高耸的圆形柱子,柱子上刻着古埃及的种种神话与传说。空气中弥漫着寂静的味道,只能听到你的脚步声和火把上火苗孜孜爆裂的声音。
沿着这排柱子走去,看到了道路那头坐着一扇长方形的门。门上刻着一串古埃及文字:“open the door”,下方是一串密密麻麻的数字和符号…能量宝石就藏在门后,只有破解这些密码,才能打开这扇门,成功获取能量宝石。

附件打开是.exe文件
在这里插入图片描述
IDA打开
并没有找到main函数
字符也没有查到flag等词语
尝试动态调试
在这里插入图片描述
由于运行程序里有check,点击会出现Wrong!
在这里插入图片描述
查找Wrong
我依旧没找到,换OD
在这里插入图片描述

再返回IDA,按地址就可以找到了
在这里插入图片描述
进入函数
在这里插入图片描述

int __thiscall sub_531EA0(CWnd *this)
{
  CWnd *v1; // esi@1
  int v2; // eax@2
  WCHAR String; // [sp+Ch] [bp-310h]@1
  char v5; // [sp+Eh] [bp-30Eh]@1
  char v6; // [sp+20Ch] [bp-110h]@1
  char v7; // [sp+20Dh] [bp-10Fh]@1
  DWORD v8; // [sp+30Ch] [bp-10h]@5
  CWnd *v9; // [sp+310h] [bp-Ch]@1
  int v10; // [sp+314h] [bp-8h]@7
  DWORD flOldProtect; // [sp+318h] [bp-4h]@5

  v1 = this;
  v9 = this;
  String = 0;
  memset(&v5, 0, 0x1FEu);
  v6 = 0;
  memset(&v7, 0, 0xFFu);
  CWnd::GetDlgItemTextW(v1, 1000, &String, 20);
  if ( wcslen(&String) == 16 )
  {
    v2 = 0;
    while ( !(*(&String + v2) & 0xFF00) )
    {
      *(&v6 + v2) = *((_BYTE *)&String + 2 * v2);
      if ( ++v2 >= 16 )
      {
        v8 = 64;
        flOldProtect = 0;
        VirtualProtect(sub_5310E0, 0xD17u, 0x40u, &flOldProtect);
        if ( GetLastError() )
          return CWnd::MessageBoxW(v1, L"Wrong!", 0, 0);
        qmemcpy(sub_5310E0, &byte_6947B8, 0x330u);
        VirtualProtect(sub_5310E0, 0xD17u, flOldProtect, &v8);
        if ( !GetLastError() )
        {
          v10 = 0;
          v10 = sub_5310E0(&v6);
          if ( v10 == 1 )
            return CWnd::MessageBoxW(v9, L"Congratulations! You are right!", 0, 0);
        }
        v1 = v9;
        return CWnd::MessageBoxW(v1, L"Wrong!", 0, 0);
      }
    }
  }
  return CWnd::MessageBoxW(v1, L"Wrong!", 0, 0);
}

读代码
发现
要求输入字符串长度为16、是ascii码
之后会将wchar转换为char并存储到另一个字符串中,之后操作的都是char类型的字符串
然后就用到函数为sub_5310E0,大小为0xD17u

通过查找sub_5310E0的引用,发现sub_5310E0起始的大小为0x330的数据之前在函数sub_5310E0中

打开sub_5310E0

signed int sub_5310E0()
{
  __int16 v0; // bx@1
  __int16 v1; // bx@1
  __int16 v2; // dx@1
  unsigned __int8 v3; // ST14_1@1
  char v4; // al@1
  __int16 v5; // bx@1
  __int16 v6; // dx@1
  unsigned __int8 v7; // ST14_1@1
  char v8; // al@1
  __int16 v9; // dx@1
  __int16 v10; // dx@1
  __int16 v11; // dx@1
  __int16 v12; // dx@1
  __int16 v13; // dx@1
  unsigned __int8 v14; // ST14_1@1
  char v15; // al@1
  __int16 v16; // dx@1
  __int16 v17; // dx@1
  __int16 v18; // dx@1
  __int16 v19; // dx@1
  unsigned __int8 v20; // ST14_1@1
  char v21; // al@1
  __int16 v22; // dx@1
  __int16 v23; // dx@1
  __int16 v24; // dx@1
  __int16 v25; // dx@1
  unsigned __int8 v26; // ST14_1@1
  char v27; // al@1
  __int16 v28; // dx@1
  __int16 v29; // dx@1
  __int16 v30; // dx@1
  __int16 v31; // dx@1
  unsigned __int8 v32; // ST14_1@1
  char v33; // al@1
  __int16 v34; // dx@1
  __int16 v35; // dx@1
  __int16 v36; // dx@1
  __int16 v37; // dx@1
  unsigned __int8 v38; // ST14_1@1
  char v39; // al@1
  __int16 v40; // dx@1
  __int16 v41; // dx@1
  __int16 v42; // dx@1
  __int16 v43; // dx@1
  unsigned __int8 v44; // ST14_1@1
  char v45; // al@1
  __int16 v46; // dx@1
  __int16 v47; // dx@1
  __int16 v48; // dx@1
  __int16 v49; // dx@1
  unsigned __int8 v50; // ST14_1@1
  char v51; // al@1
  __int16 v52; // bx@1
  __int16 v53; // dx@1
  __int16 v54; // dx@1
  __int16 v55; // dx@1
  unsigned __int8 v56; // ST14_1@1
  char v57; // al@1
  __int16 v58; // dx@1
  __int16 v59; // dx@1
  __int16 v60; // dx@1
  __int16 v61; // dx@1
  __int16 v62; // dx@1
  unsigned __int8 v63; // ST14_1@1
  char v64; // al@1
  __int16 v65; // dx@1
  __int16 v66; // dx@1
  __int16 v67; // dx@1
  __int16 v68; // dx@1
  __int16 v69; // dx@1
  unsigned __int8 v70; // ST14_1@1
  char v71; // al@1
  __int16 v72; // dx@1
  __int16 v73; // dx@1
  __int16 v74; // dx@1
  __int16 v75; // dx@1
  __int16 v76; // ST14_2@1
  __int16 v77; // dx@1
  __int16 v78; // cx@1
  __int16 v79; // cx@1
  __int16 v80; // cx@1
  __int16 v81; // cx@1
  int v82; // eax@1
  int v83; // eax@4
  int v85; // [sp+18h] [bp-44h]@1
  int v86; // [sp+1Ch] [bp-40h]@1
  int v87; // [sp+20h] [bp-3Ch]@1
  int v88; // [sp+24h] [bp-38h]@1
  char v89; // [sp+28h] [bp-34h]@1
  unsigned __int8 v90[12]; // [sp+29h] [bp-33h]@1
  int v91; // [sp+31h] [bp-2Bh]@1
  int v92; // [sp+35h] [bp-27h]@1
  int v93; // [sp+3Ch] [bp-20h]@1
  int v94; // [sp+40h] [bp-1Ch]@1
  int v95; // [sp+44h] [bp-18h]@1
  int v96; // [sp+48h] [bp-14h]@1
  int v97; // [sp+4Ch] [bp-10h]@1
  int v98; // [sp+50h] [bp-Ch]@1
  int v99; // [sp+54h] [bp-8h]@1
  int v100; // [sp+58h] [bp-4h]@1

  v93 = 50462976;
  v97 = 0;
  v98 = 0;
  v99 = 0;
  v100 = 0;
  v91 = 0;
  v92 = 0;
  v87 = 50462976;
  v94 = 117835012;
  v95 = 185207048;
  v88 = 117835012;
  v85 = 185207048;
  v96 = 252579084;
  v86 = 252579084;
  v0 = (unsigned __int8)(BYTE1(v86)
                       + BYTE1(v86)
                       + BYTE1(v88)
                       + ((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                                                   + 12) >> 8)
                                                               + 14) >> 8)
                                           + 16) >> 8)
                       + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                 + 14) >> 8)
                                                             + 16)
                                           + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                 + 14)
                                                               + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12)
                                                                                   + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                   + 10) >> 8)
                                                               + 11) >> 8)
                                           + 12) >> 8));
  *(_DWORD *)&v90[4] = (unsigned __int8)(BYTE1(v86)
                                       + v0
                                       + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                                 + 14) >> 8)
                                                                             + 16
                                                                             + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14)
                                                                                                 + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                                 + 11) >> 8)
                                                                             + 12)
                                                           + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                                 + 14
                                                                                                 + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                                 + 11)
                                                                               + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                               + 11) >> 8)
                                                           + 12) >> 8));
  v1 = (char)((unsigned __int16)(BYTE1(v86)
                               + v0
                               + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                         + 14) >> 8)
                                                                     + 16
                                                                     + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14)
                                                                                         + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                         + 11) >> 8)
                                                                     + 12)
                                                   + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                         + 14
                                                                                         + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                         + 11)
                                                                       + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10)
                                                                                           + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                           + 10) >> 8)
                                                                       + 11) >> 8)
                                                   + 12) >> 8)) >> 8);
  v2 = (unsigned __int8)(((unsigned __int16)(BYTE1(v86)
                                           + BYTE1(v88)
                                           + ((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                   + 14) >> 8)
                                                               + 16) >> 8)) >> 8)
                       + 20
                       + ((unsigned __int16)(BYTE1(v86)
                                           + (unsigned __int8)(BYTE1(v86)
                                                             + BYTE1(v88)
                                                             + ((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14) >> 8)
                                                                                 + 16) >> 8))
                                           + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14) >> 8)
                                                                                 + 16)
                                                               + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14)
                                                                                   + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                   + 11) >> 8)
                                                               + 12) >> 8)) >> 8)
                       + 14)
     + v1
     + 14;
  v3 = ((unsigned __int16)(BYTE1(v86)
                         + BYTE1(v88)
                         + ((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                                                     + 12) >> 8)
                                                                 + 14) >> 8)
                                             + 16) >> 8)) >> 8)
     + 20
     + ((unsigned __int16)(BYTE1(v86)
                         + (unsigned __int8)(BYTE1(v86)
                                           + BYTE1(v88)
                                           + ((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                   + 14) >> 8)
                                                               + 16) >> 8))
                         + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                   + 14) >> 8)
                                                               + 16)
                                             + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                   + 14)
                                                                 + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12)
                                                                                     + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                     + 10) >> 8)
                                                                 + 11) >> 8)
                                             + 12) >> 8)) >> 8)
     + 14
     + v1
     + 14;
  v4 = HIBYTE(v2)
     + 15
     + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v86)
                                                               + BYTE1(v88)
                                                               + ((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14) >> 8)
                                                                                   + 16) >> 8)) >> 8)
                                           + 20)
                         + ((unsigned __int16)(BYTE1(v86)
                                             + (unsigned __int8)(BYTE1(v86)
                                                               + BYTE1(v88)
                                                               + ((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14) >> 8)
                                                                                   + 16) >> 8))
                                             + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14) >> 8)
                                                                                   + 16)
                                                                 + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8) + 14)
                                                                                     + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                     + 11) >> 8)
                                                                 + 12) >> 8)) >> 8)
                         + 14) >> 8)
     + 15
     + ((unsigned __int16)(((unsigned __int16)(BYTE1(v86)
                                             + BYTE1(v88)
                                             + ((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                     + 14) >> 8)
                                                                 + 16) >> 8)) >> 8)
                         + 20) >> 8)
     + 22;
  v5 = (unsigned __int8)(((unsigned __int16)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                           + 14) >> 8)
                       + 16
                       + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                                                 + 12) >> 8)
                                                             + 14)
                                           + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                                                 + 12)
                                                               + ((unsigned __int16)(BYTE1(v85)
                                                                                   + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                               + 10) >> 8)
                                           + 11) >> 8)
                       + 12
                       + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                                                 + 12) >> 8)
                                                             + 14
                                                             + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12)
                                                                                 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                 + 10) >> 8)
                                                             + 11)
                                           + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                                                 + 12
                                                                                 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                 + 10)
                                                               + ((unsigned __int16)(BYTE1(v85)
                                                                                   + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                               + 10) >> 8)
                                           + 11) >> 8)
                       + 12);
  v6 = v3
     + ((unsigned __int16)(BYTE1(v86)
                         + v90[4]
                         + ((unsigned __int16)(v5
                                             + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                   + 14
                                                                                   + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                   + 11
                                                                                   + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                   + 11)
                                                                 + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8) + 10)
                                                                                     + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                     + 10) >> 8)
                                                                 + 11) >> 8)
                                             + 12) >> 8)) >> 8)
     + 14;
  v7 = v3
     + ((unsigned __int16)(BYTE1(v86)
                         + v90[4]
                         + ((unsigned __int16)(v5
                                             + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                   + 14
                                                                                   + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                   + 11
                                                                                   + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                   + 11)
                                                                 + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8) + 10)
                                                                                     + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                     + 10) >> 8)
                                                                 + 11) >> 8)
                                             + 12) >> 8)) >> 8)
     + 14;
  v8 = HIBYTE(v6) + 15 + v4;
  v9 = (char)((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                 + 12
                                                 + ((unsigned __int16)(BYTE1(v85)
                                                                     + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                 + 10
                                                 + ((unsigned __int16)(BYTE1(v85)
                                                                     + (unsigned __int8)(BYTE1(v85)
                                                                                       + BYTE1(v85)
                                                                                       + BYTE1(v87))) >> 8)
                                                 + 10
                                                 + ((unsigned __int16)(BYTE1(v85)
                                                                     + (unsigned __int8)(BYTE1(v85)
                                                                                       + BYTE1(v85)
                                                                                       + BYTE1(v85)
                                                                                       + BYTE1(v87))) >> 8)
                                                 + 10)
                               + ((unsigned __int16)(BYTE1(v85)
                                                   + (unsigned __int8)(BYTE1(v85)
                                                                     + BYTE1(v85)
                                                                     + BYTE1(v85)
                                                                     + BYTE1(v85)
                                                                     + BYTE1(v87))) >> 8)
                               + 10) >> 8);
  v10 = (unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                        + 14
                        + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12)
                                            + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10) >> 8)
                        + 11
                        + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                              + 12
                                                              + ((unsigned __int16)(BYTE1(v85)
                                                                                  + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                              + 10)
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10) >> 8)
                        + 11
                        + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                              + 12
                                                              + ((unsigned __int16)(BYTE1(v85)
                                                                                  + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                              + 10
                                                              + ((unsigned __int16)(BYTE1(v85)
                                                                                  + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                              + 10)
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10) >> 8)
                        + 11)
      + v9
      + 11;
  v90[2] = v10;
  v11 = (unsigned __int8)(v5
                        + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                                                  + 12) >> 8)
                                                              + 14
                                                              + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12)
                                                                                  + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                  + 10) >> 8)
                                                              + 11
                                                              + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10)
                                                                                  + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                  + 10) >> 8)
                                                              + 11)
                                            + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                                                  + 12
                                                                                  + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                  + 10
                                                                                  + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                  + 10)
                                                                + ((unsigned __int16)(BYTE1(v85)
                                                                                    + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                + 10) >> 8)
                                            + 11) >> 8)
                        + 12)
      + SHIBYTE(v10)
      + 12;
  v90[3] = v11;
  v12 = BYTE1(v86)
      + (unsigned __int8)(BYTE1(v86)
                        + v90[4]
                        + ((unsigned __int16)(v5
                                            + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) >> 8)
                                                                                  + 14
                                                                                  + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                  + 11
                                                                                  + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10) + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8) + 10) >> 8)
                                                                                  + 11)
                                                                + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8) + 12 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8) + 10 + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8) + 10)
                                                                                    + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                                                                    + 10) >> 8)
                                                                + 11) >> 8)
                                            + 12) >> 8))
      + SHIBYTE(v11);
  v90[4] = v12;
  v13 = v7 + SHIBYTE(v12) + 14;
  v14 = v13;
  v15 = HIBYTE(v13) + 15 + v8;
  v16 = v90[2]
      + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                            + 12
                                            + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10)
                          + ((unsigned __int16)(BYTE1(v85)
                                              + (unsigned __int8)(BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v87))) >> 8)
                          + 10) >> 8)
      + 11;
  v90[2] += ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                + 12
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10)
                              + ((unsigned __int16)(BYTE1(v85)
                                                  + (unsigned __int8)(BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v87))) >> 8)
                              + 10) >> 8)
          + 11;
  v17 = v90[3] + SHIBYTE(v16) + 12;
  v90[3] = v17;
  v18 = BYTE1(v86) + v90[4] + SHIBYTE(v17);
  v90[4] = v18;
  v19 = v14 + SHIBYTE(v18) + 14;
  v20 = v19;
  v21 = HIBYTE(v19) + 15 + v15;
  v22 = v90[2]
      + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                            + 12
                                            + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10)
                          + ((unsigned __int16)(BYTE1(v85)
                                              + (unsigned __int8)(BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v87))) >> 8)
                          + 10) >> 8)
      + 11;
  v90[2] += ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                + 12
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10)
                              + ((unsigned __int16)(BYTE1(v85)
                                                  + (unsigned __int8)(BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v87))) >> 8)
                              + 10) >> 8)
          + 11;
  v23 = v90[3] + SHIBYTE(v22) + 12;
  v90[3] = v23;
  v24 = BYTE1(v86) + v90[4] + SHIBYTE(v23);
  v90[4] = v24;
  v25 = v20 + SHIBYTE(v24) + 14;
  v26 = v25;
  v27 = HIBYTE(v25) + 15 + v21;
  v28 = v90[2]
      + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                            + 12
                                            + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10)
                          + ((unsigned __int16)(BYTE1(v85)
                                              + (unsigned __int8)(BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v87))) >> 8)
                          + 10) >> 8)
      + 11;
  v90[2] += ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                + 12
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10)
                              + ((unsigned __int16)(BYTE1(v85)
                                                  + (unsigned __int8)(BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v87))) >> 8)
                              + 10) >> 8)
          + 11;
  v29 = v90[3] + SHIBYTE(v28) + 12;
  v90[3] = v29;
  v30 = BYTE1(v86) + v90[4] + SHIBYTE(v29);
  v90[4] = v30;
  v31 = v26 + SHIBYTE(v30) + 14;
  v32 = v31;
  v33 = HIBYTE(v31) + 15 + v27;
  v34 = v90[2]
      + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                            + 12
                                            + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10)
                          + ((unsigned __int16)(BYTE1(v85)
                                              + (unsigned __int8)(BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v87))) >> 8)
                          + 10) >> 8)
      + 11;
  v90[2] += ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                + 12
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10)
                              + ((unsigned __int16)(BYTE1(v85)
                                                  + (unsigned __int8)(BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v87))) >> 8)
                              + 10) >> 8)
          + 11;
  v35 = v90[3] + SHIBYTE(v34) + 12;
  v90[3] = v35;
  v36 = BYTE1(v86) + v90[4] + SHIBYTE(v35);
  v90[4] = v36;
  v37 = v32 + SHIBYTE(v36) + 14;
  v38 = v37;
  v39 = HIBYTE(v37) + 15 + v33;
  v40 = v90[2]
      + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                            + 12
                                            + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10)
                          + ((unsigned __int16)(BYTE1(v85)
                                              + (unsigned __int8)(BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v87))) >> 8)
                          + 10) >> 8)
      + 11;
  v90[2] += ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                + 12
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10)
                              + ((unsigned __int16)(BYTE1(v85)
                                                  + (unsigned __int8)(BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v87))) >> 8)
                              + 10) >> 8)
          + 11;
  v41 = v90[3] + SHIBYTE(v40) + 12;
  v90[3] = v41;
  v42 = BYTE1(v86) + v90[4] + SHIBYTE(v41);
  v90[4] = v42;
  v43 = v38 + SHIBYTE(v42) + 14;
  v44 = v43;
  v45 = HIBYTE(v43) + 15 + v39;
  v46 = v90[2]
      + ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                            + 12
                                            + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10)
                          + ((unsigned __int16)(BYTE1(v85)
                                              + (unsigned __int8)(BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v85)
                                                                + BYTE1(v87))) >> 8)
                          + 10) >> 8)
      + 11;
  v90[2] += ((unsigned __int16)((unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                                                + 12
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10
                                                + ((unsigned __int16)(BYTE1(v85)
                                                                    + (unsigned __int8)(BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v85)
                                                                                      + BYTE1(v87))) >> 8)
                                                + 10)
                              + ((unsigned __int16)(BYTE1(v85)
                                                  + (unsigned __int8)(BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v85)
                                                                    + BYTE1(v87))) >> 8)
                              + 10) >> 8)
          + 11;
  v47 = v90[3] + SHIBYTE(v46) + 12;
  v90[3] = v47;
  v48 = BYTE1(v86) + v90[4] + SHIBYTE(v47);
  v90[4] = v48;
  v49 = v44 + SHIBYTE(v48) + 14;
  v50 = v49;
  v51 = HIBYTE(v49) + 15 + v45;
  v52 = (unsigned __int8)(((unsigned __int16)(BYTE1(v85) + BYTE1(v87)) >> 8)
                        + 12
                        + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85) + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85)
                                            + (unsigned __int8)(BYTE1(v85) + BYTE1(v85) + BYTE1(v85) + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85)
                                            + (unsigned __int8)(BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85)
                                            + (unsigned __int8)(BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85)
                                            + (unsigned __int8)(BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85)
                                            + (unsigned __int8)(BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85)
                                            + (unsigned __int8)(BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85)
                                            + (unsigned __int8)(BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v87))) >> 8)
                        + 10
                        + ((unsigned __int16)(BYTE1(v85)
                                            + (unsigned __int8)(BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v85)
                                                              + BYTE1(v87))) >> 8)
                        + 10);
  v90[1] = v52
         + ((unsigned __int16)(BYTE1(v85)
                             + (unsigned __int8)(BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v85)
                                               + BYTE1(v87))) >> 8)
         + 10;
  v53 = v90[3]
      + ((unsigned __int16)(v90[2]
                          + ((unsigned __int16)(v52
                                              + ((unsigned __int16)(BYTE1(v85)
                                                                  + (unsigned __int8)(BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v85)
                                                                                    + BYTE1(v87))) >> 8)
                                              + 10) >> 8)
                          + 11) >> 8)
      + 12;
  v90[3] += ((unsigned __int16)(v90[2]
                              + ((unsigned __int16)(v52
                                                  + ((unsigned __int16)(BYTE1(v85)
                                                                      + (unsigned __int8)(BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v85)
                                                                                        + BYTE1(v87))) >> 8)
                                                  + 10) >> 8)
                              + 11) >> 8)
          + 12;
  v54 = BYTE1(v86) + v90[4] + SHIBYTE(v53);
  v90[4] = v54;
  v55 = v50 + SHIBYTE(v54) + 14;
  v56 = v55;
  v57 = HIBYTE(v55) + 15 + v51;
  v58 = v90[1]
      + ((unsigned __int16)(BYTE1(v85)
                          + (unsigned __int8)(BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v87))) >> 8)
      + 10;
  v90[1] += ((unsigned __int16)(BYTE1(v85)
                              + (unsigned __int8)(BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v87))) >> 8)
          + 10;
  v59 = (unsigned __int8)(v90[2]
                        + ((unsigned __int16)(v52
                                            + ((unsigned __int16)(BYTE1(v85)
                                                                + (unsigned __int8)(BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v85)
                                                                                  + BYTE1(v87))) >> 8)
                                            + 10) >> 8)
                        + 11)
      + SHIBYTE(v58)
      + 11;
  v90[2] = v59;
  v60 = v90[3] + SHIBYTE(v59) + 12;
  v90[3] = v60;
  v61 = BYTE1(v86) + v90[4] + SHIBYTE(v60);
  v90[4] = v61;
  v62 = v56 + SHIBYTE(v61) + 14;
  v63 = v62;
  v64 = HIBYTE(v62) + 15 + v57;
  v65 = v90[1]
      + ((unsigned __int16)(BYTE1(v85)
                          + (unsigned __int8)(BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v87))) >> 8)
      + 10;
  v90[1] += ((unsigned __int16)(BYTE1(v85)
                              + (unsigned __int8)(BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v87))) >> 8)
          + 10;
  v66 = v90[2] + SHIBYTE(v65) + 11;
  v90[2] = v66;
  v67 = v90[3] + SHIBYTE(v66) + 12;
  v90[3] = v67;
  v68 = BYTE1(v86) + v90[4] + SHIBYTE(v67);
  v90[4] = v68;
  v69 = v63 + SHIBYTE(v68) + 14;
  v70 = v69;
  v71 = HIBYTE(v69) + 15 + v64;
  v72 = v90[1]
      + ((unsigned __int16)(BYTE1(v85)
                          + (unsigned __int8)(BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v87))) >> 8)
      + 10;
  v90[1] += ((unsigned __int16)(BYTE1(v85)
                              + (unsigned __int8)(BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v87))) >> 8)
          + 10;
  v73 = v90[2] + SHIBYTE(v72) + 11;
  v90[2] = v73;
  v74 = v90[3] + SHIBYTE(v73) + 12;
  v90[3] = v74;
  v75 = BYTE1(v86) + v90[4] + SHIBYTE(v74);
  v90[4] = v75;
  v76 = v70 + SHIBYTE(v75) + 14;
  v89 = -128;
  v90[0] = BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v85)
         + BYTE1(v87);
  v77 = v90[1]
      + ((unsigned __int16)(BYTE1(v85)
                          + (unsigned __int8)(BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v85)
                                            + BYTE1(v87))) >> 8)
      + 10;
  v90[1] += ((unsigned __int16)(BYTE1(v85)
                              + (unsigned __int8)(BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v85)
                                                + BYTE1(v87))) >> 8)
          + 10;
  v78 = v90[2] + SHIBYTE(v77) + 11;
  v90[2] += HIBYTE(v77) + 11;
  v79 = v90[3] + SHIBYTE(v78) + 12;
  v90[3] = v79;
  v80 = BYTE1(v86) + v90[4] + SHIBYTE(v79);
  v90[4] = v80;
  v81 = (unsigned __int8)v76 + SHIBYTE(v80) + 14;
  v90[5] = v81;
  v90[6] = HIBYTE(v81) + 15 + HIBYTE(v76) + 15 + v71;
  v82 = 0;
  while ( *(&v89 + v82) == *((_BYTE *)&v94 + v82) )
  {
    if ( ++v82 >= 8 )
    {
      v83 = 0;
      while ( *((_BYTE *)&v87 + v83) == *((_BYTE *)&v85 + v83) )
      {
        if ( ++v83 >= 8 )
          return 0;
      }
      return -1;
    }
  }
  return -1;
}

读程序
发现代码实现了2**128以内的大数运算,有乘法、减法、判断等

大佬非常简练的描述出来

p,q为正整数
(p*p) - (q*q*7) == 8
p >= 2**56
p < 2**60
q >= 2**56
q < 2**64

佩尔方程有一种递推解的方法,可以用一组特解产生多组解
在这里插入图片描述
以上,取d=7,k=8,式1特解a=8,b=3,式3特解x3=6,y3=2,带入式4迭代14次即可。

p=385044246406735194
q=145533045678356702

然后从p,q逆推回去,细心一点,注册码为L3mZ2k9aZ0a36DMM
在这里插入图片描述

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值