{"name": "oggpack_writecopy", "code": "__int64 __fastcall oggpack_writecopy ( __int64 @@a1@@ , unsigned __int8 * @@a2@@ , __int64 @@a3@@ ) { return oggpack_writecopy_helper ( @@a1@@ , @@a2@@ , @@a3@@ , ( void ( __fastcall * ) ( __int64 , _QWORD , __int64 ) ) oggpack_write , Number ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r64"}]}
{"name": "oggpack_write", "code": "__int64 __fastcall oggpack_write ( __int64 @@a1@@ , __int64 @@a2@@ , int @@a3@@ ) { __int64 @@result@@ ; int @@v5@@ ; unsigned __int64 @@v6@@ ; void * @@v7@@ ; if ( @@a3@@ < Number || @@a3@@ > Number ) return oggpack_writeclear ( @@a1@@ ) ; if ( * ( _QWORD * ) @@a1@@ < * ( _QWORD * ) ( @@a1@@ + Number ) - Number L ) goto LABEL_8 ; @@result@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! @@result@@ ) return @@result@@ ; if ( * ( __int64 * ) ( @@a1@@ + Number ) > Number ) return oggpack_writeclear ( @@a1@@ ) ; @@v7@@ = realloc ( * ( void * * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; if ( ! @@v7@@ ) return oggpack_writeclear ( @@a1@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v7@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) @@a1@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ; LABEL_8 : @@v6@@ = mask [ @@a3@@ ] & @@a2@@ ; @@v5@@ = * ( _DWORD * ) ( @@a1@@ + Number ) + @@a3@@ ; * * ( _BYTE * * ) ( @@a1@@ + Number ) |= @@v6@@ << * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v5@@ > Number ) { * ( _BYTE * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = @@v6@@ >> ( Number - * ( _BYTE * ) ( @@a1@@ + Number ) ) ; if ( @@v5@@ > Number ) { * ( _BYTE * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = @@v6@@ >> ( Number - * ( _BYTE * ) ( @@a1@@ + Number ) ) ; if ( @@v5@@ > Number ) { * ( _BYTE * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = @@v6@@ >> ( Number - * ( _BYTE * ) ( @@a1@@ + Number ) ) ; if ( @@v5@@ > Number ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) * ( _BYTE * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = @@v6@@ >> ( Number - * ( _BYTE * ) ( @@a1@@ + Number ) ) ; else * ( _BYTE * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = Number ; } } } } * ( _QWORD * ) @@a1@@ += @@v5@@ / Number ; * ( _QWORD * ) ( @@a1@@ + Number ) += @@v5@@ / Number ; @@result@@ = @@a1@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v5@@ & Number ; return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s32"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v7", "t": {"T": 3, "t": "void"}, "location": "s8"}]} {"name": "oggpack_writecopy_helper", "code": "__int64 __fastcall oggpack_writecopy_helper ( __int64 @@a1@@ , unsigned __int8 * @@a2@@ , __int64 @@a3@@ , void ( __fastcall * @@a4@@ ) ( __int64 , _QWORD , __int64 ) , int @@a5@@ ) { __int64 v5 ; __int64 v6 ; __int64 @@v7@@ ; __int64 result ; __int64 v11 ; __int64 v12 ; void * @@v13@@ ; __int64 @@v14@@ ; __int64 @@n@@ ; int @@i@@ ; v11 = @@a3@@ ; v5 = @@a3@@ ; v6 = @@a3@@ + Number ; if ( v5 < Number ) v5 = v6 ; @@n@@ = v5 >> Number ; @@v7@@ = * ( int * ) ( @@a1@@ + Number ) + v11 ; @@v14@@ = @@v7@@ / Number ; v12 = v11 - Number * ( v5 >> Number ) ; if ( @@v7@@ / Number + * ( _QWORD * ) @@a1@@ >= * ( _QWORD * ) ( @@a1@@ + Number ) ) { if ( ! * ( _QWORD * ) ( @@a1@@ + Number ) ) return oggpack_writeclear ( @@a1@@ ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) > * ( _QWORD * ) @@a1@@ + @@v14@@ + Number ) return oggpack_writeclear ( @@a1@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) @@a1@@ + @@v14@@ + Number ; @@v13@@ = realloc ( * ( void * * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( ! @@v13@@ ) return oggpack_writeclear ( @@a1@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v13@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) @@a1@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { for ( @@i@@ = Number ; ; ++ @@i@@ ) { result = @@i@@ ; if ( @@n@@ <= @@i@@ ) break ; @@a4@@ ( @@a1@@ , @@a2@@ [ @@i@@ ] , Number L ) ; } } else { memmove ( * ( void * * ) ( @@a1@@ + Number ) , @@a2@@ , @@n@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) += @@n@@ ; * ( _QWORD * ) @@a1@@ += @@n@@ ; result = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _BYTE * ) result = Number ; } if ( v12 ) { if ( @@a5@@ ) result = ( ( __int64 ( __fastcall * ) ( __int64 , _QWORD , _QWORD ) ) @@a4@@ ) ( @@a1@@ , ( int ) @@a2@@ [ @@n@@ ] >> ( Number - v12 ) , ( unsigned int ) v12 ) ; else result = ( ( __int64 ( __fastcall * ) ( __int64 , _QWORD , _QWORD ) ) @@a4@@ ) ( @@a1@@ , @@a2@@ [ @@n@@ ] , ( unsigned int ) v12 ) ; } return result ; }", "source": [{"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r1280"}, {"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 9, "n": "void (__fastcall *)(__int64, _QWORD, __int64)"}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "n", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v13", "t": {"T": 3, "t": "void"}, "location": "s40"}]} {"name": "oggpackB_writecopy", "code": "__int64 __fastcall oggpackB_writecopy ( __int64 @@a1@@ , unsigned __int8 * @@a2@@ , __int64 @@a3@@ ) { return oggpack_writecopy_helper ( @@a1@@ , @@a2@@ , @@a3@@ , ( void ( __fastcall * ) ( __int64 , _QWORD , __int64 ) ) oggpackB_write , Number ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r64"}]}