{"name": "Process_Image", "code": "char * __fastcall Process_Image ( __int64 @@a1@@ , __int64 @@a2@@ ) { __m128i v2 ; float v3 ; float v4 ; _DWORD * v5 ; _DWORD * v6 ; _DWORD * v7 ; float @@v9@@ ; float @@v10@@ ; int @@v11@@ ; int @@v12@@ ; int @@v13@@ ; int @@v14@@ ; float @@v15@@ ; float @@v16@@ ; int @@v17@@ ; float @@v18@@ ; float @@v19@@ ; _DWORD * @@v20@@ ; float * @@v21@@ ; _DWORD * @@v22@@ ; float * @@v23@@ ; char * @@ptr@@ ; char * @@v25@@ ; int i ; int k ; int ii ; int j ; int l ; int jj ; int @@m@@ ; int @@n@@ ; float v34 ; float v35 ; v34 = Number ; @@v19@@ = ( float ) ( ( float ) ( * ( float * ) ( @@a1@@ + Number ) + * ( float * ) ( @@a1@@ + Number ) ) + Number ) * ( float ) ( ( float ) * ( int * ) ( @@a2@@ + Number ) / ( float ) * ( int * ) @@a1@@ ) ; @@v18@@ = Number * ( float ) ( ( float ) * ( int * ) ( @@a2@@ + Number ) / ( float ) * ( int * ) @@a1@@ ) ; @@v17@@ = RoundUp ( Number * @@v19@@ ) ; @@v16@@ = ( float ) ( ( float ) ( * ( float * ) ( @@a1@@ + Number ) + * ( float * ) ( @@a1@@ + Number ) ) + Number ) * ( float ) ( ( float ) * ( int * ) ( @@a2@@ + Number ) / ( float ) * ( int * ) ( @@a1@@ + Number ) ) ; @@v15@@ = Number * ( float ) ( ( float ) * ( int * ) ( @@a2@@ + Number ) / ( float ) * ( int * ) ( @@a1@@ + Number ) ) ; v2 = ( __m128i ) Number ; @@v14@@ = RoundUp ( Number * @@v16@@ ) ; if ( verbose ) { * ( double * ) v2 . m128i_i64 = @@v19@@ ; fprintf ( stderr , String String String String String String String String String , ( unsigned int ) @@v17@@ , ( unsigned int ) @@v14@@ , @@v19@@ , @@v18@@ , @@v16@@ , @@v15@@ ) ; } @@v11@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v12@@ = * ( _DWORD * ) ( @@a1@@ + Number ) + @@v11@@ ; @@v13@@ = * ( _DWORD * ) ( @@a1@@ + Number ) + @@v12@@ ; @@v25@@ = Create_matrix ( ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v13@@ ) * * ( _DWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) @@a1@@ ) ; @@v23@@ = ( float * ) Create_vector ( @@v17@@ ) ; @@v22@@ = Create_vector ( @@v17@@ ) ; @@v21@@ = ( float * ) Create_vector ( @@v14@@ ) ; @@v20@@ = Create_vector ( @@v14@@ ) ; @@ptr@@ = Create_matrix ( @@v14@@ , @@v17@@ ) ; for ( i = Number ; i < @@v17@@ ; ++ i ) { v3 = ( Number / ( double ) @@v17@@ + ( float ) ( ( float ) i / ( float ) @@v17@@ ) - Number ) * @@v19@@ ; @@v23@@ [ i ] = v3 ; v2 = _mm_cvtsi32_si128 ( LODWORD ( @@v23@@ [ i ] ) ) ; * ( float * ) v2 . m128i_i32 = Func_filter ( * ( _BYTE * ) ( @@a1@@ + Number ) , * ( float * ) v2 . m128i_i32 , Number , @@v19@@ ) ; @@v22@@ [ i ] = _mm_cvtsi128_si32 ( v2 ) ; } for ( j = Number ; j < @@v14@@ ; ++ j ) { v4 = ( Number / ( double ) @@v14@@ + ( float ) ( ( float ) j / ( float ) @@v14@@ ) - Number ) * @@v16@@ ; @@v21@@ [ j ] = v4 ; v2 = _mm_cvtsi32_si128 ( LODWORD ( @@v21@@ [ j ] ) ) ; * ( float * ) v2 . m128i_i32 = Func_filter ( * ( _BYTE * ) ( @@a1@@ + Number ) , * ( float * ) v2 . m128i_i32 , Number , @@v16@@ ) ; @@v20@@ [ j ] = _mm_cvtsi128_si32 ( v2 ) ; } for ( k = Number ; k < @@v17@@ ; ++ k ) { for ( l = Number ; l < @@v14@@ ; ++ l ) { v2 = ( __m128i ) ( unsigned int ) @@v22@@ [ k ] ; v34 = ( float ) ( * ( float * ) v2 . m128i_i32 * * ( float * ) & @@v20@@ [ l ] ) + v34 ; } } v35 = ( float ) * ( unsigned __int8 * ) ( @@a2@@ + Number ) * v34 ; for ( @@m@@ = Number ; @@m@@ < * ( _DWORD * ) @@a1@@ ; ++ @@m@@ ) { for ( @@n@@ = Number ; @@n@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ; ++ @@n@@ ) { for ( ii = Number ; ii < @@v17@@ ; ++ ii ) { @@v10@@ = ( float ) ( ( float ) ( Number * @@m@@ + Number ) * @@v18@@ ) + @@v23@@ [ ii ] ; for ( jj = Number ; jj < @@v14@@ ; ++ jj ) { @@v9@@ = ( float ) ( ( float ) ( Number * @@n@@ + Number ) * @@v15@@ ) + @@v21@@ [ jj ] ; if ( @@v10@@ >= Number && @@v10@@ < ( float ) * ( int * ) ( @@a2@@ + Number ) && @@v9@@ >= Number && @@v9@@ < ( float ) * ( int * ) ( @@a2@@ + Number ) ) { v2 = ( __m128i ) LODWORD ( @@v10@@ ) ; * ( float * ) ( Number L * ii + * ( _QWORD * ) & @@ptr@@ [ Number * jj ] ) = ( float ) ( * ( unsigned __int8 * ) ( @@a2@@ + Number ) - * ( unsigned __int8 * ) ( * ( _QWORD * ) ( Number L * ( int ) @@v9@@ + * ( _QWORD * ) @@a2@@ ) + ( int ) @@v10@@ ) ) ; } else { v2 = Number L ; * ( _DWORD * ) ( Number L * ii + * ( _QWORD * ) & @@ptr@@ [ Number * jj ] ) = Number ; } } } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) * ( float * ) ( Number L * @@m@@ + * ( _QWORD * ) & @@v25@@ [ Number * @@n@@ ] ) = ( float ) ( sum_grey_level ( ( __int64 ) @@ptr@@ , ( __int64 ) @@v20@@ , ( __int64 ) @@v22@@ , @@v14@@ , @@v17@@ ) * Number ) / v35 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { v5 = ( _DWORD * ) ( * ( _QWORD * ) & @@v25@@ [ Number * @@v11@@ * * ( _DWORD * ) ( @@a1@@ + Number ) + Number * @@n@@ ] + Number L * @@m@@ ) ; * ( float * ) v2 . m128i_i32 = Derivate ( ( __int64 ) @@ptr@@ , @@v14@@ , @@v17@@ , ( __int64 ) @@v23@@ , ( __int64 ) @@v22@@ , * ( unsigned __int8 * ) ( @@a2@@ + Number ) , Number ) ; * v5 = _mm_cvtsi128_si32 ( v2 ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { v6 = ( _DWORD * ) ( * ( _QWORD * ) & @@v25@@ [ Number * @@v12@@ * * ( _DWORD * ) ( @@a1@@ + Number ) + Number * @@n@@ ] + Number L * @@m@@ ) ; * ( float * ) v2 . m128i_i32 = Derivate ( ( __int64 ) @@ptr@@ , @@v14@@ , @@v17@@ , ( __int64 ) @@v21@@ , ( __int64 ) @@v20@@ , * ( unsigned __int8 * ) ( @@a2@@ + Number ) , Number ) ; * v6 = _mm_cvtsi128_si32 ( v2 ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { v7 = ( _DWORD * ) ( * ( _QWORD * ) & @@v25@@ [ Number * @@v13@@ * * ( _DWORD * ) ( @@a1@@ + Number ) + Number * @@n@@ ] + Number L * @@m@@ ) ; * ( float * ) v2 . m128i_i32 = LocalSlope ( ( __int64 ) @@ptr@@ , @@v14@@ , @@v17@@ , ( __int64 ) @@v21@@ , ( __int64 ) @@v23@@ , ( __int64 ) @@v20@@ , ( __int64 ) @@v22@@ , * ( unsigned __int8 * ) ( @@a2@@ + Number ) ) ; * v7 = _mm_cvtsi128_si32 ( v2 ) ; } } } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) Thining_for_LocalSlope ( ( __int64 ) & @@v25@@ [ Number * @@v13@@ * * ( _DWORD * ) ( @@a1@@ + Number ) ] , * ( _DWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) @@a1@@ ) ; if ( verbose ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) Draw_Grey ( ( __int64 ) @@v25@@ , * ( _DWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) @@a1@@ , * ( unsigned __int8 * ) ( @@a2@@ + Number ) ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) Draw_Der ( ( __int64 ) & @@v25@@ [ Number * @@v11@@ * * ( _DWORD * ) ( @@a1@@ + Number ) ] , * ( _DWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) @@a1@@ , * ( unsigned __int8 * ) ( @@a2@@ + Number ) , Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) Draw_Der ( ( __int64 ) & @@v25@@ [ Number * @@v12@@ * * ( _DWORD * ) ( @@a1@@ + Number ) ] , * ( _DWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) @@a1@@ , * ( unsigned __int8 * ) ( @@a2@@ + Number ) , Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) Draw_Local_slope ( ( __int64 ) & @@v25@@ [ Number * @@v13@@ * * ( _DWORD * ) ( @@a1@@ + Number ) ] , * ( _DWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) @@a1@@ , @@v16@@ , @@v19@@ , @@v16@@ / Number , @@v19@@ / Number ) ; } free ( @@ptr@@ ) ; free ( @@v23@@ ) ; free ( @@v21@@ ) ; free ( @@v22@@ ) ; free ( @@v20@@ ) ; return @@v25@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v17", "t": {"T": 1, "n": "int", "s": 4}, "location": "s100"}, {"n": "v16", "t": {"T": 1, "n": "float", "s": 4}, "location": "s104"}, {"n": "v15", "t": {"T": 1, "n": "float", "s": 4}, "location": "s108"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s112"}, {"n": "v13", "t": {"T": 1, "n": "int", "s": 4}, "location": "s120"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s124"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s128"}, {"n": "v10", "t": {"T": 1, "n": "float", "s": 4}, "location": "s132"}, {"n": "v9", "t": {"T": 1, "n": "float", "s": 4}, "location": "s136"}, {"n": "n", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "m", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v25", "t": {"T": 3, "t": "char"}, "location": "s48"}, {"n": "ptr", "t": {"T": 3, "t": "char"}, "location": "s56"}, {"n": "v23", "t": {"T": 3, "t": "float"}, "location": "s64"}, {"n": "v22", "t": {"T": 3, "t": "_DWORD"}, "location": "s72"}, {"n": "v21", "t": {"T": 3, "t": "float"}, "location": "s80"}, {"n": "v20", "t": {"T": 3, "t": "_DWORD"}, "location": "s88"}, {"n": "v19", "t": {"T": 1, "n": "float", "s": 4}, "location": "s92"}, {"n": "v18", "t": {"T": 1, "n": "float", "s": 4}, "location": "s96"}]}