{"name": "oggpack_read1", "code": "__int64 __fastcall oggpack_read1 ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@v2@@ ; if ( * ( _QWORD * ) @@a1@@ >= * ( _QWORD * ) ( @@a1@@ + Number ) ) { * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _QWORD * ) @@a1@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; @@result@@ = Number ; } else { @@v2@@ = ( ( int ) * * ( unsigned __int8 * * ) ( @@a1@@ + Number ) >> ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ++ ) & Number ; if ( * ( int * ) ( @@a1@@ + Number ) > Number ) { * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; ++ * ( _QWORD * ) ( @@a1@@ + Number ) ; ++ * ( _QWORD * ) @@a1@@ ; } @@result@@ = @@v2@@ ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "oggpack_read", "code": "__int64 __fastcall oggpack_read ( __int64 @@a1@@ , int @@a2@@ ) { int @@v3@@ ; int @@v4@@ ; unsigned __int64 v5 ; __int64 v6 ; if ( @@a2@@ < Number || @@a2@@ > Number ) goto LABEL_16 ; @@v4@@ = * ( _DWORD * ) ( @@a1@@ + Number ) + @@a2@@ ; if ( * ( _QWORD * ) @@a1@@ >= * ( _QWORD * ) ( @@a1@@ + Number ) - Number L ) { if ( * ( _QWORD * ) @@a1@@ <= * ( _QWORD * ) ( @@a1@@ + Number ) - ( ( @@v4@@ + Number ) >> Number ) ) { if ( ! @@v4@@ ) return Number L ; goto LABEL_7 ; } LABEL_16 : * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _QWORD * ) @@a1@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; return Number ; } LABEL_7 : v5 = ( int ) * * ( unsigned __int8 * * ) ( @@a1@@ + Number ) >> * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v4@@ > Number ) { v5 |= * ( unsigned __int8 * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) << ( Number - * ( _BYTE * ) ( @@a1@@ + Number ) ) ; if ( @@v4@@ > Number ) { v5 |= * ( unsigned __int8 * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) << ( Number - * ( _BYTE * ) ( @@a1@@ + Number ) ) ; if ( @@v4@@ > Number ) { v5 |= * ( unsigned __int8 * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) << ( Number - * ( _BYTE * ) ( @@a1@@ + Number ) ) ; if ( @@v4@@ > Number ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) v5 |= * ( unsigned __int8 * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) << ( Number - * ( _BYTE * ) ( @@a1@@ + Number ) ) ; } } } } v6 = mask [ @@a2@@ ] & v5 ; @@v3@@ = * ( _DWORD * ) ( @@a1@@ + Number ) + @@a2@@ ; if ( @@v4@@ < Number ) @@v3@@ = @@v4@@ + Number ; * ( _QWORD * ) ( @@a1@@ + Number ) += @@v3@@ >> Number ; * ( _QWORD * ) @@a1@@ += @@v4@@ / Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v4@@ & Number ; return v6 ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}]}