{"name": "targa_encode_rle", "code": "__int64 __fastcall targa_encode_rle ( __int64 @@a1@@ , unsigned int @@a2@@ , __int64 @@a3@@ , unsigned int @@a4@@ , unsigned int @@a5@@ , int @@a6@@ ) { int @@v12@@ ; __int64 @@v13@@ ; int @@i@@ ; @@v13@@ = @@a1@@ ; for ( @@i@@ = Number ; @@i@@ < @@a6@@ ; ++ @@i@@ ) { @@v12@@ = ff_rle_encode ( @@v13@@ , @@a2@@ , * ( _QWORD * ) @@a3@@ + @@i@@ * * ( _DWORD * ) ( @@a3@@ + Number ) , @@a4@@ , @@a5@@ , Number L , Number L , Number , Number L ) ; if ( @@v12@@ == Number ) return Number ; @@v13@@ += @@v12@@ ; @@a2@@ -= @@v12@@ ; } return @@v13@@ - @@a1@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "int", "s": 4}, "location": "r80"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}]}
{"name": "targa_encode_frame", "code": "__int64 __fastcall targa_encode_frame ( _DWORD * @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , _DWORD * @@a4@@ ) { char v5 ; __int64 v6 ; int v7 ; const char * v8 ; int @@v11@@ ; int @@v12@@ ; unsigned int @@v13@@ ; int @@v14@@ ; char * dest ; char * desta ; int i ; int j ; int @@v19@@ ; @@v19@@ = Number ; if ( ( int ) @@a1@@ [ Number ] > Number || ( int ) @@a1@@ [ Number ] > Number ) { av_log ( @@a1@@ , Number L , String ) ; return Number L ; } @@v13@@ = avpicture_get_size ( ( unsigned int ) @@a1@@ [ Number ] , ( unsigned int ) @@a1@@ [ Number ] , ( unsigned int ) @@a1@@ [ Number ] ) ; @@v12@@ = ff_alloc_packet2 ( @@a1@@ , @@a2@@ , ( int ) ( @@v13@@ + Number ) ) ; if ( @@v12@@ < Number ) return ( unsigned int ) @@v12@@ ; memset ( * ( void * * ) ( @@a2@@ + Number ) , Number , Number ) ; * ( _WORD * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = @@a1@@ [ Number ] ; * ( _WORD * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = @@a1@@ [ Number ] ; if ( @@a1@@ [ Number ] == Number ) v5 = Number ; else v5 = Number ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = v5 ; dest = ( char * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) ; v6 = av_pix_fmt_desc_get ( ( unsigned int ) @@a1@@ [ Number ] ) ; @@a1@@ [ Number ] = av_get_bits_per_pixel ( v6 ) ; v7 = @@a1@@ [ Number ] ; if ( v7 == Number ) { * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; @@a1@@ [ Number ] = Number ; } else { if ( v7 > Number ) goto LABEL_34 ; if ( v7 == Number ) { * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; goto LABEL_35 ; } if ( v7 > Number ) goto LABEL_34 ; if ( v7 == Number ) { @@v14@@ = Number ; for ( i = Number ; i <= Number ; ++ i ) { if ( HIBYTE ( * ( _DWORD * ) ( * ( _QWORD * ) ( @@a3@@ + Number ) + Number * i ) ) != Number ) { @@v14@@ = Number ; break ; } } * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = @@v14@@ ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; for ( j = Number ; j <= Number ; ++ j ) { if ( @@v14@@ == Number ) { * ( _DWORD * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number * j + Number L ) = * ( _DWORD * ) ( * ( _QWORD * ) ( @@a3@@ + Number ) + Number * j ) ; } else { * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number * j + Number L ) = * ( _DWORD * ) ( * ( _QWORD * ) ( @@a3@@ + Number ) + Number * j ) ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number * j + Number L ) = BYTE1 ( * ( _DWORD * ) ( * ( _QWORD * ) ( @@a3@@ + Number ) + Number * j ) ) ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number * j + Number L ) = BYTE2 ( * ( _DWORD * ) ( * ( _QWORD * ) ( @@a3@@ + Number ) + Number * j ) ) ; } } dest += Number * @@v14@@ ; goto LABEL_35 ; } if ( v7 > Number ) { LABEL_34 : v8 = ( const char * ) av_get_pix_fmt_name ( ( unsigned int ) @@a1@@ [ Number ] ) ; av_log ( @@a1@@ , Number L , String , v8 ) ; return Number L ; } if ( v7 == Number ) { * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; } else { if ( v7 != Number ) goto LABEL_34 ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; @@a1@@ [ Number ] = Number ; * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) = Number ; } } LABEL_35 : @@v11@@ = * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) >> Number ; if ( @@a1@@ [ Number ] != Number ) @@v19@@ = targa_encode_rle ( ( __int64 ) dest , @@v13@@ , @@a3@@ , @@v11@@ , @@a1@@ [ Number ] , @@a1@@ [ Number ] ) ; if ( @@v19@@ < Number ) @@v19@@ = ( unsigned int ) targa_encode_normal ( dest , ( char * * ) @@a3@@ , @@v11@@ , @@a1@@ [ Number ] , @@a1@@ [ Number ] ) ; else * ( _BYTE * ) ( * ( _QWORD * ) ( @@a2@@ + Number ) + Number L ) |= Number ; desta = & dest [ @@v19@@ ] ; memcpy ( desta , & unk_8B2 , Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) = ( _DWORD ) desta + Number - * ( _QWORD * ) ( @@a2@@ + Number ) ; * ( _DWORD * ) ( @@a2@@ + Number ) |= Number ; * @@a4@@ = Number ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "_DWORD"}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v19", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v13", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s32"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}]}