sub_14061BF94

INT64 __fastcall sub_14061BF94(INT64 *a1){
  __int16 *v1; 
  __int16 *v2; 
  int v3; 
  __int64 v4; 
  __int64 v5; 
  int v6; 
  int v7; 
  __int64 v8; 
  __int64 v9; 
  int v10; 
  int v11; 
  int v12; 
  int v13; 
  int v14; 
  INT64 result; 
  INT64 v17; 
  INT64 v18; 
  v1 = &word_140D2CB8E;
  v2 = &word_140D2CB6E;
  v3 = (unsigned __int8)*a1;
  v18 = *a1;
  v4 = 30i64;
  v5 = 16i64;
  v6 = BYTE3(v18) | ((BYTE2(v18) | ((BYTE1(v18) | (v3 << 8)) << 8)) << 8);
  v17 = qword_140D2C320;
  v7 = HIBYTE(v18) | ((BYTE6(v18) | ((BYTE5(v18) | (BYTE4(v18) << 8)) << 8)) << 8);
  do
  {
    v8 = *((unsigned __int8 *)v1 + 1);
    if( (unsigned __int8)v8 < 0x1Fu )
      v7 ^= funcs_1405F5698[v8](
              v4 + 1,
              *((unsigned __int8 *)v2 - 2),
              *((unsigned __int8 *)v2 - 1),
              *(unsigned __int8 *)v2,
              *((unsigned __int8 *)v2 + 1),
              (INT64)&v17,
              v6);
    v9 = *(unsigned __int8 *)v1;
    if( (unsigned __int8)v9 < 0x1Fu )
      v6 ^= funcs_1405F5698[v9](
              v4,
              *((unsigned __int8 *)v2 - 6),
              *((unsigned __int8 *)v2 - 5),
              *((unsigned __int8 *)v2 - 4),
              *((unsigned __int8 *)v2 - 3),
              (INT64)&v17,
              v7);
    v4 -= 2i64;
    --v1;
    v2 -= 4;
    --v5;
  }
  while( v5 );
  v10 = ~v7;
  BYTE3(v18) = v6;
  v11 = __ROR4__(v6, 8);
  HIBYTE(v18) = v10;
  v12 = __ROR4__(v10, 8);
  BYTE2(v18) = v11;
  v13 = __ROR4__(v11, 8);
  BYTE6(v18) = v12;
  v14 = __ROR4__(v12, 8);
  BYTE1(v18) = v13;
  BYTE5(v18) = v14;
  BYTE4(v18) = __ROR4__(v14, 8);
  LOBYTE(v18) = __ROR4__(v13, 8);
  result = v18;
  *a1 = v18;
  return result;
}

Referenced by:

sub_14061BF48