{"name": "crypthead", "code": "__int64 __fastcall crypthead ( char * @@a1@@ , __int64 @@a2@@ , int @@a3@@ , _QWORD * @@a4@@ , __int64 @@a5@@ , int @@a6@@ ) { int v7 ; int v8 ; int v9 ; __int16 @@v10@@ ; char @@v13@@ [ Number ] ; unsigned int @@v14@@ ; int @@v15@@ ; int @@i@@ ; @@v10@@ = HIWORD ( @@a6@@ ) ; if ( @@a3@@ <= Number ) return Number L ; if ( ++ calls_4335 == Number ) { v7 = time ( Number L ) ; srand ( v7 ^ Number ) ; } init_keys ( @@a1@@ , @@a4@@ , @@a5@@ ) ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { @@v14@@ = ( unsigned __int8 ) ( rand ( ) >> Number ) ; @@v15@@ = decrypt_byte ( ( __int64 ) @@a4@@ ) ; update_keys ( @@a4@@ , @@a5@@ , @@v14@@ ) ; @@v13@@ [ @@i@@ ] = @@v15@@ ^ @@v14@@ ; } init_keys ( @@a1@@ , @@a4@@ , @@a5@@ ) ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { @@v15@@ = decrypt_byte ( ( __int64 ) @@a4@@ ) ; update_keys ( @@a4@@ , @@a5@@ , ( unsigned __int8 ) @@v13@@ [ @@i@@ ] ) ; * ( _BYTE * ) ( @@i@@ + @@a2@@ ) = @@v13@@ [ @@i@@ ] ^ @@v15@@ ; } @@v15@@ = decrypt_byte ( ( __int64 ) @@a4@@ ) ; update_keys ( @@a4@@ , @@a5@@ , ( unsigned __int8 ) @@v10@@ ) ; v8 = @@i@@ ++ ; * ( _BYTE * ) ( v8 + @@a2@@ ) = @@v10@@ ^ @@v15@@ ; @@v15@@ = decrypt_byte ( ( __int64 ) @@a4@@ ) ; update_keys ( @@a4@@ , @@a5@@ , HIBYTE ( @@v10@@ ) ) ; v9 = @@i@@ ++ ; * ( _BYTE * ) ( v9 + @@a2@@ ) = HIBYTE ( @@v10@@ ) ^ @@v15@@ ; return ( unsigned int ) @@i@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "_QWORD"}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "char"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "int", "s": 4}, "location": "r80"}, {"n": "v14", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v13", "t": {"T": 2, "n": 10, "s": 1, "t": "char"}, "location": "s22"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v10", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s78"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}