{"name": "write_frame_header", "code": "int * __fastcall write_frame_header ( __int64 @@a1@@ ) { __int64 @@v1@@ ; __int64 @@v2@@ ; __int64 @@v3@@ ; unsigned int @@v5@@ ; put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , Number ) ; put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; else put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , * ( _DWORD * ) ( @@a1@@ + Number ) - Number ) ; put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , Number ) ; put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , Number ) ; write_utf8 ( ( int * ) ( @@a1@@ + Number ) , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; } else if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; } else if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; } flush_put_bits ( @@a1@@ + Number ) ; @@v1@@ = ( int ) put_bits_count ( @@a1@@ + Number ) >> Number ; @@v2@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v3@@ = av_crc_get_table ( Number L ) ; @@v5@@ = av_crc ( @@v3@@ , Number L , @@v2@@ , @@v1@@ ) ; return put_bits ( ( int * ) ( @@a1@@ + Number ) , Number , @@v5@@ ) ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r48"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}]}
{"name": "put_bits_count", "code": "__int64 __fastcall put_bits_count ( __int64 @@a1@@ ) { return Number * ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) + Number ) - * ( _DWORD * ) ( @@a1@@ + Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "flush_put_bits", "code": "__int64 __fastcall flush_put_bits ( __int64 @@a1@@ ) { int @@v1@@ ; _BYTE * v2 ; __int64 result ; if ( * ( int * ) ( @@a1@@ + Number ) <= Number ) * ( _DWORD * ) @@a1@@ <<= * ( _DWORD * ) ( @@a1@@ + Number ) ; while ( * ( int * ) ( @@a1@@ + Number ) <= Number ) { @@v1@@ = HIBYTE ( * ( _DWORD * ) @@a1@@ ) ; v2 = * ( _BYTE * * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v2 + Number ; * v2 = @@v1@@ ; * ( _DWORD * ) @@a1@@ <<= Number ; * ( _DWORD * ) ( @@a1@@ + Number ) += Number ; } * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; result = @@a1@@ ; * ( _DWORD * ) @@a1@@ = Number ; return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}]} {"name": "put_bits", "code": "int * __fastcall put_bits ( int * @@a1@@ , int @@a2@@ , unsigned int @@a3@@ ) { int * @@result@@ ; int v4 ; int v5 ; int v6 ; int v7 ; v6 = * @@a1@@ ; v4 = @@a1@@ [ Number ] ; if ( @@a2@@ >= v4 ) { * * ( ( _DWORD * * ) @@a1@@ + Number ) = ( ( ( unsigned __int16 ) ( ( ( unsigned __int16 ) ( @@a3@@ >> ( @@a2@@ - v4 ) ) | ( unsigned __int16 ) ( ( _WORD ) v6 << v4 ) ) << Number ) | ( unsigned __int8 ) ( ( unsigned __int16 ) ( ( @@a3@@ >> ( @@a2@@ - v4 ) ) | ( ( _WORD ) v6 << v4 ) ) >> Number ) ) << Number ) | ( ( ( @@a3@@ >> ( @@a2@@ - v4 ) ) | ( v6 << v4 ) ) >> Number ) | ( unsigned __int16 ) ( ( ( @@a3@@ >> ( @@a2@@ - v4 ) ) | ( v6 << v4 ) ) >> Number << Number ) ; * ( ( _QWORD * ) @@a1@@ + Number ) += Number L ; v5 = Number - @@a2@@ + v4 ; v7 = @@a3@@ ; } else { v7 = @@a3@@ | ( v6 << @@a2@@ ) ; v5 = v4 - @@a2@@ ; } * @@a1@@ = v7 ; @@result@@ = @@a1@@ ; @@a1@@ [ Number ] = v5 ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "int"}, "location": "r8"}]} {"name": "write_utf8", "code": "int * __fastcall write_utf8 ( int * @@a1@@ , unsigned int @@a2@@ ) { int * result ; unsigned int v3 ; int @@v4@@ ; int @@v5@@ ; if ( @@a2@@ <= Number ) return put_bits ( @@a1@@ , Number , ( unsigned __int8 ) @@a2@@ ) ; _BitScanReverse ( & v3 , @@a2@@ | Number ) ; @@v4@@ = ( int ) ( Number - ( v3 ^ Number ) ) / Number ; @@v5@@ = Number * ( @@v4@@ - Number ) ; result = put_bits ( @@a1@@ , Number , ( unsigned __int8 ) ( - ( Number >> @@v4@@ ) | ( @@a2@@ >> ( Number * ( @@v4@@ - Number ) ) ) ) ) ; while ( @@v5@@ > Number ) { @@v5@@ -= Number ; result = put_bits ( @@a1@@ , Number , ( @@a2@@ >> @@v5@@ ) & Number | Number ) ; } return result ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "int"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"name": "write_frame", "code": "__int64 __fastcall write_frame ( _DWORD * @@a1@@ , __int64 @@a2@@ , int @@a3@@ ) { init_put_bits ( ( __int64 ) ( @@a1@@ + Number ) , @@a2@@ , @@a3@@ ) ; write_frame_header ( ( __int64 ) @@a1@@ ) ; write_subframes ( @@a1@@ ) ; write_frame_footer ( ( __int64 ) @@a1@@ ) ; return ( unsigned int ) ( ( int ) put_bits_count ( ( __int64 ) ( @@a1@@ + Number ) ) >> Number ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}